\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{v \cdot \left(t1 \cdot \frac{-1}{t1 + u}\right)}{t1 + u}double f(double u, double v, double t1) {
double r21647 = t1;
double r21648 = -r21647;
double r21649 = v;
double r21650 = r21648 * r21649;
double r21651 = u;
double r21652 = r21647 + r21651;
double r21653 = r21652 * r21652;
double r21654 = r21650 / r21653;
return r21654;
}
double f(double u, double v, double t1) {
double r21655 = v;
double r21656 = t1;
double r21657 = -1.0;
double r21658 = u;
double r21659 = r21656 + r21658;
double r21660 = r21657 / r21659;
double r21661 = r21656 * r21660;
double r21662 = r21655 * r21661;
double r21663 = r21662 / r21659;
return r21663;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.8
Simplified16.6
rmApplied distribute-rgt-neg-out16.6
Simplified1.1
rmApplied div-inv1.2
Final simplification1.2
herbie shell --seed 2019196 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))