\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 r918080 = t1;
double r918081 = -r918080;
double r918082 = v;
double r918083 = r918081 * r918082;
double r918084 = u;
double r918085 = r918080 + r918084;
double r918086 = r918085 * r918085;
double r918087 = r918083 / r918086;
return r918087;
}
double f(double u, double v, double t1) {
double r918088 = t1;
double r918089 = u;
double r918090 = r918088 + r918089;
double r918091 = r918088 / r918090;
double r918092 = v;
double r918093 = r918091 * r918092;
double r918094 = -1.0;
double r918095 = r918094 / r918090;
double r918096 = r918093 * r918095;
return r918096;
}



Bits error versus u



Bits error versus v



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