\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 r27869 = t1;
double r27870 = -r27869;
double r27871 = v;
double r27872 = r27870 * r27871;
double r27873 = u;
double r27874 = r27869 + r27873;
double r27875 = r27874 * r27874;
double r27876 = r27872 / r27875;
return r27876;
}
double f(double u, double v, double t1) {
double r27877 = t1;
double r27878 = u;
double r27879 = r27877 + r27878;
double r27880 = r27877 / r27879;
double r27881 = v;
double r27882 = r27879 / r27881;
double r27883 = r27880 / r27882;
double r27884 = -r27883;
return r27884;
}



Bits error versus u



Bits error versus v



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