\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\left(-t1\right) \cdot \left(v \cdot \frac{1}{t1 + u}\right)}{t1 + u}double f(double u, double v, double t1) {
double r23458 = t1;
double r23459 = -r23458;
double r23460 = v;
double r23461 = r23459 * r23460;
double r23462 = u;
double r23463 = r23458 + r23462;
double r23464 = r23463 * r23463;
double r23465 = r23461 / r23464;
return r23465;
}
double f(double u, double v, double t1) {
double r23466 = t1;
double r23467 = -r23466;
double r23468 = v;
double r23469 = 1.0;
double r23470 = u;
double r23471 = r23466 + r23470;
double r23472 = r23469 / r23471;
double r23473 = r23468 * r23472;
double r23474 = r23467 * r23473;
double r23475 = r23474 / r23471;
return r23475;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 17.9
rmApplied associate-/r*11.2
Simplified1.3
rmApplied div-inv1.4
Final simplification1.4
herbie shell --seed 2020045 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))