\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\begin{array}{l}
\mathbf{if}\;u \le -1.6542974870370844 \cdot 10^{+86}:\\
\;\;\;\;\frac{-t1 \cdot \frac{v}{t1 + u}}{t1 + u}\\
\mathbf{elif}\;u \le 2.572520919019641 \cdot 10^{-34}:\\
\;\;\;\;\frac{-v}{\frac{t1 + u}{t1} \cdot \left(t1 + u\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-t1 \cdot \frac{v}{t1 + u}}{t1 + u}\\
\end{array}double f(double u, double v, double t1) {
double r2631349 = t1;
double r2631350 = -r2631349;
double r2631351 = v;
double r2631352 = r2631350 * r2631351;
double r2631353 = u;
double r2631354 = r2631349 + r2631353;
double r2631355 = r2631354 * r2631354;
double r2631356 = r2631352 / r2631355;
return r2631356;
}
double f(double u, double v, double t1) {
double r2631357 = u;
double r2631358 = -1.6542974870370844e+86;
bool r2631359 = r2631357 <= r2631358;
double r2631360 = t1;
double r2631361 = v;
double r2631362 = r2631360 + r2631357;
double r2631363 = r2631361 / r2631362;
double r2631364 = r2631360 * r2631363;
double r2631365 = -r2631364;
double r2631366 = r2631365 / r2631362;
double r2631367 = 2.572520919019641e-34;
bool r2631368 = r2631357 <= r2631367;
double r2631369 = -r2631361;
double r2631370 = r2631362 / r2631360;
double r2631371 = r2631370 * r2631362;
double r2631372 = r2631369 / r2631371;
double r2631373 = r2631368 ? r2631372 : r2631366;
double r2631374 = r2631359 ? r2631366 : r2631373;
return r2631374;
}



Bits error versus u



Bits error versus v



Bits error versus t1
Results
if u < -1.6542974870370844e+86 or 2.572520919019641e-34 < u Initial program 14.4
rmApplied times-frac1.3
rmApplied associate-*l/0.2
if -1.6542974870370844e+86 < u < 2.572520919019641e-34Initial program 21.4
rmApplied times-frac1.3
rmApplied neg-mul-11.3
Applied associate-/l*1.4
rmApplied frac-times0.6
Simplified0.6
Final simplification0.4
herbie shell --seed 2019119
(FPCore (u v t1)
:name "Rosa's DopplerBench"
(/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))