\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}-\frac{\frac{t1}{t1 + u}}{\frac{t1 + u}{v}}double f(double u, double v, double t1) {
double r22421 = t1;
double r22422 = -r22421;
double r22423 = v;
double r22424 = r22422 * r22423;
double r22425 = u;
double r22426 = r22421 + r22425;
double r22427 = r22426 * r22426;
double r22428 = r22424 / r22427;
return r22428;
}
double f(double u, double v, double t1) {
double r22429 = t1;
double r22430 = u;
double r22431 = r22429 + r22430;
double r22432 = r22429 / r22431;
double r22433 = v;
double r22434 = r22431 / r22433;
double r22435 = r22432 / r22434;
double r22436 = -r22435;
return r22436;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.1
rmApplied times-frac1.3
rmApplied associate-*r/1.3
Simplified1.2
rmApplied clear-num1.6
rmApplied distribute-lft-neg-out1.6
Applied distribute-frac-neg1.6
Simplified1.5
Final simplification1.5
herbie shell --seed 2020056
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))