\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}-\frac{\frac{t1}{t1 + u} \cdot v}{t1 + u}double f(double u, double v, double t1) {
double r948808 = t1;
double r948809 = -r948808;
double r948810 = v;
double r948811 = r948809 * r948810;
double r948812 = u;
double r948813 = r948808 + r948812;
double r948814 = r948813 * r948813;
double r948815 = r948811 / r948814;
return r948815;
}
double f(double u, double v, double t1) {
double r948816 = t1;
double r948817 = u;
double r948818 = r948816 + r948817;
double r948819 = r948816 / r948818;
double r948820 = v;
double r948821 = r948819 * r948820;
double r948822 = r948821 / r948818;
double r948823 = -r948822;
return r948823;
}



Bits error versus u



Bits error versus v



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