\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 r1135003 = t1;
double r1135004 = -r1135003;
double r1135005 = v;
double r1135006 = r1135004 * r1135005;
double r1135007 = u;
double r1135008 = r1135003 + r1135007;
double r1135009 = r1135008 * r1135008;
double r1135010 = r1135006 / r1135009;
return r1135010;
}
double f(double u, double v, double t1) {
double r1135011 = t1;
double r1135012 = u;
double r1135013 = r1135011 + r1135012;
double r1135014 = r1135011 / r1135013;
double r1135015 = v;
double r1135016 = r1135014 * r1135015;
double r1135017 = r1135016 / r1135013;
double r1135018 = -r1135017;
return r1135018;
}



Bits error versus u



Bits error versus v



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