\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}double f(double u, double v, double t1) {
double r21875 = t1;
double r21876 = -r21875;
double r21877 = v;
double r21878 = r21876 * r21877;
double r21879 = u;
double r21880 = r21875 + r21879;
double r21881 = r21880 * r21880;
double r21882 = r21878 / r21881;
return r21882;
}
double f(double u, double v, double t1) {
double r21883 = t1;
double r21884 = -r21883;
double r21885 = u;
double r21886 = r21883 + r21885;
double r21887 = r21884 / r21886;
double r21888 = v;
double r21889 = r21888 / r21886;
double r21890 = r21887 * r21889;
return r21890;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.4
rmApplied times-frac1.4
rmApplied add-cube-cbrt2.1
Applied add-cube-cbrt2.3
Applied times-frac2.3
Applied associate-*r*1.6
Final simplification1.4
herbie shell --seed 2019308
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))