\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 r27308 = t1;
double r27309 = -r27308;
double r27310 = v;
double r27311 = r27309 * r27310;
double r27312 = u;
double r27313 = r27308 + r27312;
double r27314 = r27313 * r27313;
double r27315 = r27311 / r27314;
return r27315;
}
double f(double u, double v, double t1) {
double r27316 = t1;
double r27317 = u;
double r27318 = r27316 + r27317;
double r27319 = r27316 / r27318;
double r27320 = v;
double r27321 = r27319 * r27320;
double r27322 = r27321 / r27318;
double r27323 = -r27322;
return r27323;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.3
rmApplied times-frac1.4
rmApplied pow11.4
rmApplied *-un-lft-identity1.4
Applied *-un-lft-identity1.4
Applied distribute-lft-neg-in1.4
Applied times-frac1.4
Applied unpow-prod-down1.4
Applied associate-*l*1.4
Simplified1.3
Final simplification1.3
herbie shell --seed 2020060 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))