\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{t1}{t1 + u} \cdot \frac{\frac{-1}{t1 + u}}{\frac{1}{v}}double f(double u, double v, double t1) {
double r559420 = t1;
double r559421 = -r559420;
double r559422 = v;
double r559423 = r559421 * r559422;
double r559424 = u;
double r559425 = r559420 + r559424;
double r559426 = r559425 * r559425;
double r559427 = r559423 / r559426;
return r559427;
}
double f(double u, double v, double t1) {
double r559428 = t1;
double r559429 = u;
double r559430 = r559428 + r559429;
double r559431 = r559428 / r559430;
double r559432 = -1.0;
double r559433 = r559432 / r559430;
double r559434 = 1.0;
double r559435 = v;
double r559436 = r559434 / r559435;
double r559437 = r559433 / r559436;
double r559438 = r559431 * r559437;
return r559438;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 17.5
rmApplied times-frac1.4
rmApplied clear-num1.8
rmApplied div-inv1.8
Applied associate-/r*1.6
Final simplification1.6
herbie shell --seed 2019152 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))