\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\frac{v}{u + t1} \cdot \left(-t1\right)}{u + t1}double f(double u, double v, double t1) {
double r410247 = t1;
double r410248 = -r410247;
double r410249 = v;
double r410250 = r410248 * r410249;
double r410251 = u;
double r410252 = r410247 + r410251;
double r410253 = r410252 * r410252;
double r410254 = r410250 / r410253;
return r410254;
}
double f(double u, double v, double t1) {
double r410255 = v;
double r410256 = u;
double r410257 = t1;
double r410258 = r410256 + r410257;
double r410259 = r410255 / r410258;
double r410260 = -r410257;
double r410261 = r410259 * r410260;
double r410262 = r410261 / r410258;
return r410262;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.8
rmApplied times-frac1.2
rmApplied associate-*l/1.3
Final simplification1.3
herbie shell --seed 2019128 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))