\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\left(\frac{t1}{t1 + u} \cdot v\right) \cdot \frac{-1}{t1 + u}double f(double u, double v, double t1) {
double r412694 = t1;
double r412695 = -r412694;
double r412696 = v;
double r412697 = r412695 * r412696;
double r412698 = u;
double r412699 = r412694 + r412698;
double r412700 = r412699 * r412699;
double r412701 = r412697 / r412700;
return r412701;
}
double f(double u, double v, double t1) {
double r412702 = t1;
double r412703 = u;
double r412704 = r412702 + r412703;
double r412705 = r412702 / r412704;
double r412706 = v;
double r412707 = r412705 * r412706;
double r412708 = -1.0;
double r412709 = r412708 / r412704;
double r412710 = r412707 * r412709;
return r412710;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.1
rmApplied times-frac1.3
rmApplied div-inv1.4
Applied associate-*r*1.4
Final simplification1.4
herbie shell --seed 2019153 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))