\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}-\frac{\frac{t1}{u + t1} \cdot \frac{v}{t1 - u}}{\frac{u + t1}{t1 - u}}double f(double u, double v, double t1) {
double r24391 = t1;
double r24392 = -r24391;
double r24393 = v;
double r24394 = r24392 * r24393;
double r24395 = u;
double r24396 = r24391 + r24395;
double r24397 = r24396 * r24396;
double r24398 = r24394 / r24397;
return r24398;
}
double f(double u, double v, double t1) {
double r24399 = t1;
double r24400 = u;
double r24401 = r24400 + r24399;
double r24402 = r24399 / r24401;
double r24403 = v;
double r24404 = r24399 - r24400;
double r24405 = r24403 / r24404;
double r24406 = r24402 * r24405;
double r24407 = r24401 / r24404;
double r24408 = r24406 / r24407;
double r24409 = -r24408;
return r24409;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.4
Simplified16.2
rmApplied distribute-rgt-neg-out16.2
Simplified1.2
rmApplied flip-+17.7
Applied associate-/r/18.6
Applied associate-*r*18.6
Simplified2.1
rmApplied associate-/l*1.6
Final simplification1.6
herbie shell --seed 2019195 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))