\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{t1}{-\left(u + t1\right)} \cdot \frac{\frac{1}{u + t1}}{\frac{1}{v}}double f(double u, double v, double t1) {
double r477042 = t1;
double r477043 = -r477042;
double r477044 = v;
double r477045 = r477043 * r477044;
double r477046 = u;
double r477047 = r477042 + r477046;
double r477048 = r477047 * r477047;
double r477049 = r477045 / r477048;
return r477049;
}
double f(double u, double v, double t1) {
double r477050 = t1;
double r477051 = u;
double r477052 = r477051 + r477050;
double r477053 = -r477052;
double r477054 = r477050 / r477053;
double r477055 = 1.0;
double r477056 = r477055 / r477052;
double r477057 = v;
double r477058 = r477055 / r477057;
double r477059 = r477056 / r477058;
double r477060 = r477054 * r477059;
return r477060;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 17.5
rmApplied times-frac1.4
rmApplied frac-2neg1.4
Simplified1.4
rmApplied *-un-lft-identity1.4
Applied associate-/l*1.8
rmApplied div-inv1.8
Applied associate-/r*1.6
Final simplification1.6
herbie shell --seed 2019152
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))