\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\frac{-t1}{t1 + u} \cdot v}{t1 + u}double f(double u, double v, double t1) {
double r19371 = t1;
double r19372 = -r19371;
double r19373 = v;
double r19374 = r19372 * r19373;
double r19375 = u;
double r19376 = r19371 + r19375;
double r19377 = r19376 * r19376;
double r19378 = r19374 / r19377;
return r19378;
}
double f(double u, double v, double t1) {
double r19379 = t1;
double r19380 = -r19379;
double r19381 = u;
double r19382 = r19379 + r19381;
double r19383 = r19380 / r19382;
double r19384 = v;
double r19385 = r19383 * r19384;
double r19386 = r19385 / r19382;
return r19386;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
if t1 < 7.1991848030990155e-298Initial program 18.1
rmApplied times-frac1.6
rmApplied div-inv1.7
if 7.1991848030990155e-298 < t1 < 3.1086359510031426e-85Initial program 11.2
rmApplied associate-/r*7.0
if 3.1086359510031426e-85 < t1 Initial program 20.7
rmApplied times-frac0.1
rmApplied associate-*r/0.1
Final simplification1.3
herbie shell --seed 2019291
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))