\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\left(\left(-t1\right) \cdot \frac{v}{t1 + u}\right) \cdot \frac{1}{t1 + u}double f(double u, double v, double t1) {
double r22031 = t1;
double r22032 = -r22031;
double r22033 = v;
double r22034 = r22032 * r22033;
double r22035 = u;
double r22036 = r22031 + r22035;
double r22037 = r22036 * r22036;
double r22038 = r22034 / r22037;
return r22038;
}
double f(double u, double v, double t1) {
double r22039 = t1;
double r22040 = -r22039;
double r22041 = v;
double r22042 = u;
double r22043 = r22039 + r22042;
double r22044 = r22041 / r22043;
double r22045 = r22040 * r22044;
double r22046 = 1.0;
double r22047 = r22046 / r22043;
double r22048 = r22045 * r22047;
return r22048;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.5
rmApplied associate-/r*11.7
Simplified1.4
rmApplied div-inv1.5
Final simplification1.5
herbie shell --seed 2020047 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))