\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\frac{-v}{t1 + u}}{\frac{t1 + u}{t1}}double f(double u, double v, double t1) {
double r26839 = t1;
double r26840 = -r26839;
double r26841 = v;
double r26842 = r26840 * r26841;
double r26843 = u;
double r26844 = r26839 + r26843;
double r26845 = r26844 * r26844;
double r26846 = r26842 / r26845;
return r26846;
}
double f(double u, double v, double t1) {
double r26847 = v;
double r26848 = -r26847;
double r26849 = t1;
double r26850 = u;
double r26851 = r26849 + r26850;
double r26852 = r26848 / r26851;
double r26853 = r26851 / r26849;
double r26854 = r26852 / r26853;
return r26854;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.5
rmApplied times-frac1.3
rmApplied neg-mul-11.3
Applied associate-/l*1.4
rmApplied *-un-lft-identity1.4
Applied *-un-lft-identity1.4
Applied times-frac1.4
Applied *-un-lft-identity1.4
Applied times-frac1.4
Applied associate-*l*1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2019326 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))