\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\begin{array}{l}
\mathbf{if}\;U \le -1.1626446501105 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1359534 = 2.0;
double r1359535 = n;
double r1359536 = r1359534 * r1359535;
double r1359537 = U;
double r1359538 = r1359536 * r1359537;
double r1359539 = t;
double r1359540 = l;
double r1359541 = r1359540 * r1359540;
double r1359542 = Om;
double r1359543 = r1359541 / r1359542;
double r1359544 = r1359534 * r1359543;
double r1359545 = r1359539 - r1359544;
double r1359546 = r1359540 / r1359542;
double r1359547 = pow(r1359546, r1359534);
double r1359548 = r1359535 * r1359547;
double r1359549 = U_;
double r1359550 = r1359537 - r1359549;
double r1359551 = r1359548 * r1359550;
double r1359552 = r1359545 - r1359551;
double r1359553 = r1359538 * r1359552;
double r1359554 = sqrt(r1359553);
return r1359554;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1359555 = U;
double r1359556 = -1.1626446501105e-310;
bool r1359557 = r1359555 <= r1359556;
double r1359558 = 2.0;
double r1359559 = r1359558 * r1359555;
double r1359560 = n;
double r1359561 = t;
double r1359562 = l;
double r1359563 = Om;
double r1359564 = r1359562 / r1359563;
double r1359565 = r1359558 * r1359564;
double r1359566 = r1359562 * r1359565;
double r1359567 = r1359560 * r1359564;
double r1359568 = r1359564 * r1359567;
double r1359569 = U_;
double r1359570 = r1359555 - r1359569;
double r1359571 = r1359568 * r1359570;
double r1359572 = r1359566 + r1359571;
double r1359573 = r1359561 - r1359572;
double r1359574 = r1359560 * r1359573;
double r1359575 = r1359559 * r1359574;
double r1359576 = sqrt(r1359575);
double r1359577 = sqrt(r1359574);
double r1359578 = sqrt(r1359559);
double r1359579 = r1359577 * r1359578;
double r1359580 = r1359557 ? r1359576 : r1359579;
return r1359580;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if U < -1.1626446501105e-310Initial program 33.2
Simplified29.5
rmApplied *-commutative29.5
if -1.1626446501105e-310 < U Initial program 33.0
Simplified28.9
rmApplied sqrt-prod21.2
Final simplification25.4
herbie shell --seed 2019154
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))