\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\begin{array}{l}
\mathbf{if}\;u \le -3.377507021608042 \cdot 10^{-46}:\\
\;\;\;\;\frac{\frac{-t1}{\frac{t1 + u}{v}}}{t1 + u}\\
\mathbf{elif}\;u \le 1.80210471963447 \cdot 10^{-68}:\\
\;\;\;\;\left(-\frac{\frac{t1}{t1 + u}}{t1 + u}\right) \cdot v\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-t1}{\frac{t1 + u}{v}}}{t1 + u}\\
\end{array}double f(double u, double v, double t1) {
double r1412267 = t1;
double r1412268 = -r1412267;
double r1412269 = v;
double r1412270 = r1412268 * r1412269;
double r1412271 = u;
double r1412272 = r1412267 + r1412271;
double r1412273 = r1412272 * r1412272;
double r1412274 = r1412270 / r1412273;
return r1412274;
}
double f(double u, double v, double t1) {
double r1412275 = u;
double r1412276 = -3.377507021608042e-46;
bool r1412277 = r1412275 <= r1412276;
double r1412278 = t1;
double r1412279 = -r1412278;
double r1412280 = r1412278 + r1412275;
double r1412281 = v;
double r1412282 = r1412280 / r1412281;
double r1412283 = r1412279 / r1412282;
double r1412284 = r1412283 / r1412280;
double r1412285 = 1.80210471963447e-68;
bool r1412286 = r1412275 <= r1412285;
double r1412287 = r1412278 / r1412280;
double r1412288 = r1412287 / r1412280;
double r1412289 = -r1412288;
double r1412290 = r1412289 * r1412281;
double r1412291 = r1412286 ? r1412290 : r1412284;
double r1412292 = r1412277 ? r1412284 : r1412291;
return r1412292;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
if u < -3.377507021608042e-46 or 1.80210471963447e-68 < u Initial program 14.3
rmApplied times-frac1.3
rmApplied clear-num1.6
rmApplied associate-*l/0.7
Simplified0.6
if -3.377507021608042e-46 < u < 1.80210471963447e-68Initial program 23.9
rmApplied times-frac1.9
rmApplied clear-num2.3
rmApplied associate-/r/2.1
Applied associate-*r*0.3
Simplified0.2
Final simplification0.5
herbie shell --seed 2019168
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))