\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\left(\frac{t1}{u + t1} \cdot v\right) \cdot \frac{-1}{u + t1}double f(double u, double v, double t1) {
double r1102463 = t1;
double r1102464 = -r1102463;
double r1102465 = v;
double r1102466 = r1102464 * r1102465;
double r1102467 = u;
double r1102468 = r1102463 + r1102467;
double r1102469 = r1102468 * r1102468;
double r1102470 = r1102466 / r1102469;
return r1102470;
}
double f(double u, double v, double t1) {
double r1102471 = t1;
double r1102472 = u;
double r1102473 = r1102472 + r1102471;
double r1102474 = r1102471 / r1102473;
double r1102475 = v;
double r1102476 = r1102474 * r1102475;
double r1102477 = -1.0;
double r1102478 = r1102477 / r1102473;
double r1102479 = r1102476 * r1102478;
return r1102479;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.3
rmApplied times-frac1.1
rmApplied div-inv1.3
Applied associate-*r*1.3
Final simplification1.3
herbie shell --seed 2019200 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))