\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 r34107 = t1;
double r34108 = -r34107;
double r34109 = v;
double r34110 = r34108 * r34109;
double r34111 = u;
double r34112 = r34107 + r34111;
double r34113 = r34112 * r34112;
double r34114 = r34110 / r34113;
return r34114;
}
double f(double u, double v, double t1) {
double r34115 = t1;
double r34116 = u;
double r34117 = r34115 + r34116;
double r34118 = r34115 / r34117;
double r34119 = v;
double r34120 = r34118 * r34119;
double r34121 = r34120 / r34117;
double r34122 = -r34121;
return r34122;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.4
rmApplied times-frac1.6
rmApplied add-cube-cbrt1.9
rmApplied associate-*r/1.6
Simplified1.3
Final simplification1.3
herbie shell --seed 2020020 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))