\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\frac{\left(-\sqrt[3]{t1}\right) \cdot \sqrt[3]{t1}}{\sqrt[3]{u + t1} \cdot \sqrt[3]{u + t1}} \cdot \left(\frac{\sqrt[3]{t1}}{\sqrt[3]{u + t1}} \cdot \frac{v}{u + t1}\right)double f(double u, double v, double t1) {
double r1572779 = t1;
double r1572780 = -r1572779;
double r1572781 = v;
double r1572782 = r1572780 * r1572781;
double r1572783 = u;
double r1572784 = r1572779 + r1572783;
double r1572785 = r1572784 * r1572784;
double r1572786 = r1572782 / r1572785;
return r1572786;
}
double f(double u, double v, double t1) {
double r1572787 = t1;
double r1572788 = cbrt(r1572787);
double r1572789 = -r1572788;
double r1572790 = r1572789 * r1572788;
double r1572791 = u;
double r1572792 = r1572791 + r1572787;
double r1572793 = cbrt(r1572792);
double r1572794 = r1572793 * r1572793;
double r1572795 = r1572790 / r1572794;
double r1572796 = r1572788 / r1572793;
double r1572797 = v;
double r1572798 = r1572797 / r1572792;
double r1572799 = r1572796 * r1572798;
double r1572800 = r1572795 * r1572799;
return r1572800;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
Initial program 18.2
rmApplied times-frac1.3
rmApplied add-cube-cbrt2.1
Applied add-cube-cbrt1.6
Applied distribute-rgt-neg-in1.6
Applied times-frac1.6
Applied associate-*l*1.0
Final simplification1.0
herbie shell --seed 2019121 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))