\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\frac{v}{u + t1} \cdot \left(-t1\right)}{u + t1}double f(double u, double v, double t1) {
double r1086037 = t1;
double r1086038 = -r1086037;
double r1086039 = v;
double r1086040 = r1086038 * r1086039;
double r1086041 = u;
double r1086042 = r1086037 + r1086041;
double r1086043 = r1086042 * r1086042;
double r1086044 = r1086040 / r1086043;
return r1086044;
}
double f(double u, double v, double t1) {
double r1086045 = v;
double r1086046 = u;
double r1086047 = t1;
double r1086048 = r1086046 + r1086047;
double r1086049 = r1086045 / r1086048;
double r1086050 = -r1086047;
double r1086051 = r1086049 * r1086050;
double r1086052 = r1086051 / r1086048;
return r1086052;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.4
rmApplied times-frac1.2
rmApplied associate-*l/1.3
Final simplification1.3
herbie shell --seed 2019170 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))