\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 r28812 = t1;
double r28813 = -r28812;
double r28814 = v;
double r28815 = r28813 * r28814;
double r28816 = u;
double r28817 = r28812 + r28816;
double r28818 = r28817 * r28817;
double r28819 = r28815 / r28818;
return r28819;
}
double f(double u, double v, double t1) {
double r28820 = v;
double r28821 = t1;
double r28822 = u;
double r28823 = r28821 + r28822;
double r28824 = r28820 / r28823;
double r28825 = -r28821;
double r28826 = r28823 / r28825;
double r28827 = r28824 / r28826;
return r28827;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.5
rmApplied times-frac1.3
rmApplied *-un-lft-identity1.3
Applied distribute-lft-neg-in1.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
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))