\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\left(\left(-t1\right) \cdot \frac{1}{t1 + u}\right) \cdot \frac{v}{t1 + u}double f(double u, double v, double t1) {
double r28421 = t1;
double r28422 = -r28421;
double r28423 = v;
double r28424 = r28422 * r28423;
double r28425 = u;
double r28426 = r28421 + r28425;
double r28427 = r28426 * r28426;
double r28428 = r28424 / r28427;
return r28428;
}
double f(double u, double v, double t1) {
double r28429 = t1;
double r28430 = -r28429;
double r28431 = 1.0;
double r28432 = u;
double r28433 = r28429 + r28432;
double r28434 = r28431 / r28433;
double r28435 = r28430 * r28434;
double r28436 = v;
double r28437 = r28436 / r28433;
double r28438 = r28435 * r28437;
return r28438;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.2
rmApplied times-frac1.2
rmApplied div-inv1.3
Final simplification1.3
herbie shell --seed 2019350
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))