\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\left(v \cdot \frac{t1}{t1 + u}\right) \cdot \frac{-1}{t1 + u}double f(double u, double v, double t1) {
double r1043558 = t1;
double r1043559 = -r1043558;
double r1043560 = v;
double r1043561 = r1043559 * r1043560;
double r1043562 = u;
double r1043563 = r1043558 + r1043562;
double r1043564 = r1043563 * r1043563;
double r1043565 = r1043561 / r1043564;
return r1043565;
}
double f(double u, double v, double t1) {
double r1043566 = v;
double r1043567 = t1;
double r1043568 = u;
double r1043569 = r1043567 + r1043568;
double r1043570 = r1043567 / r1043569;
double r1043571 = r1043566 * r1043570;
double r1043572 = -1.0;
double r1043573 = r1043572 / r1043569;
double r1043574 = r1043571 * r1043573;
return r1043574;
}



Bits error versus u



Bits error versus v



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