\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\frac{-t1}{t1 + u}}{\frac{t1 + u}{v}}double f(double u, double v, double t1) {
double r34907 = t1;
double r34908 = -r34907;
double r34909 = v;
double r34910 = r34908 * r34909;
double r34911 = u;
double r34912 = r34907 + r34911;
double r34913 = r34912 * r34912;
double r34914 = r34910 / r34913;
return r34914;
}
double f(double u, double v, double t1) {
double r34915 = t1;
double r34916 = -r34915;
double r34917 = u;
double r34918 = r34915 + r34917;
double r34919 = r34916 / r34918;
double r34920 = v;
double r34921 = r34918 / r34920;
double r34922 = r34919 / r34921;
return r34922;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 17.6
rmApplied times-frac1.2
rmApplied clear-num1.6
rmApplied *-un-lft-identity1.6
Applied *-un-lft-identity1.6
Applied times-frac1.6
Applied associate-*l*1.6
Simplified1.5
Final simplification1.5
herbie shell --seed 2020021 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))