\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\left(-t1\right) \cdot \frac{v}{t1 + u}}{t1 + u}double f(double u, double v, double t1) {
double r20637 = t1;
double r20638 = -r20637;
double r20639 = v;
double r20640 = r20638 * r20639;
double r20641 = u;
double r20642 = r20637 + r20641;
double r20643 = r20642 * r20642;
double r20644 = r20640 / r20643;
return r20644;
}
double f(double u, double v, double t1) {
double r20645 = t1;
double r20646 = -r20645;
double r20647 = v;
double r20648 = u;
double r20649 = r20645 + r20648;
double r20650 = r20647 / r20649;
double r20651 = r20646 * r20650;
double r20652 = r20651 / r20649;
return r20652;
}



Bits error versus u



Bits error versus v



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