\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 r26926 = t1;
double r26927 = -r26926;
double r26928 = v;
double r26929 = r26927 * r26928;
double r26930 = u;
double r26931 = r26926 + r26930;
double r26932 = r26931 * r26931;
double r26933 = r26929 / r26932;
return r26933;
}
double f(double u, double v, double t1) {
double r26934 = t1;
double r26935 = u;
double r26936 = r26934 + r26935;
double r26937 = r26934 / r26936;
double r26938 = v;
double r26939 = r26936 / r26938;
double r26940 = r26937 / r26939;
double r26941 = -r26940;
return r26941;
}



Bits error versus u



Bits error versus v



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