\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\begin{array}{l}
\mathbf{if}\;u \le -2.2057910742292809 \cdot 10^{72}:\\
\;\;\;\;\left(\frac{v}{t1 + u} \cdot \left(-\sqrt[3]{t1} \cdot \sqrt[3]{t1}\right)\right) \cdot \frac{\sqrt[3]{t1}}{t1 + u}\\
\mathbf{elif}\;u \le 2.5797567822584585 \cdot 10^{-16}:\\
\;\;\;\;\frac{-\frac{v}{1}}{\frac{t1 + u}{t1} \cdot \left(t1 + u\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{v}{t1 + u} \cdot \left(-\frac{t1}{t1 + u}\right)\\
\end{array}double code(double u, double v, double t1) {
return ((double) (((double) (((double) -(t1)) * v)) / ((double) (((double) (t1 + u)) * ((double) (t1 + u))))));
}
double code(double u, double v, double t1) {
double VAR;
if ((u <= -2.205791074229281e+72)) {
VAR = ((double) (((double) (((double) (v / ((double) (t1 + u)))) * ((double) -(((double) (((double) cbrt(t1)) * ((double) cbrt(t1)))))))) * ((double) (((double) cbrt(t1)) / ((double) (t1 + u))))));
} else {
double VAR_1;
if ((u <= 2.5797567822584585e-16)) {
VAR_1 = ((double) (((double) -(((double) (v / 1.0)))) / ((double) (((double) (((double) (t1 + u)) / t1)) * ((double) (t1 + u))))));
} else {
VAR_1 = ((double) (((double) (v / ((double) (t1 + u)))) * ((double) -(((double) (t1 / ((double) (t1 + u))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
if u < -2.205791074229281e+72Initial program 16.3
rmApplied *-commutative16.3
Applied times-frac1.4
Simplified1.4
rmApplied *-un-lft-identity1.4
Applied add-cube-cbrt1.8
Applied times-frac1.8
Applied distribute-lft-neg-in1.8
Applied associate-*r*0.5
Simplified0.5
if -2.205791074229281e+72 < u < 2.5797567822584585e-16Initial program 21.5
rmApplied *-commutative21.5
Applied times-frac1.7
Simplified1.7
rmApplied clear-num1.7
Applied distribute-neg-frac1.7
Applied associate-*r/1.7
Simplified1.7
rmApplied *-un-lft-identity1.7
Applied associate-/r*1.7
Applied distribute-neg-frac1.7
Applied associate-/l/0.5
if 2.5797567822584585e-16 < u Initial program 14.0
rmApplied *-commutative14.0
Applied times-frac1.3
Simplified1.3
Final simplification0.7
herbie shell --seed 2020113 +o rules:numerics
(FPCore (u v t1)
:name "Rosa's DopplerBench"
:precision binary64
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))