\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 r634996 = t1;
double r634997 = -r634996;
double r634998 = v;
double r634999 = r634997 * r634998;
double r635000 = u;
double r635001 = r634996 + r635000;
double r635002 = r635001 * r635001;
double r635003 = r634999 / r635002;
return r635003;
}
double f(double u, double v, double t1) {
double r635004 = t1;
double r635005 = u;
double r635006 = r635004 + r635005;
double r635007 = r635004 / r635006;
double r635008 = v;
double r635009 = r635007 * r635008;
double r635010 = -1.0;
double r635011 = r635010 / r635006;
double r635012 = r635009 * r635011;
return r635012;
}



Bits error versus u



Bits error versus v



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