\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 -2.7050839287957 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot U} \cdot \sqrt{n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2663505 = 2.0;
double r2663506 = n;
double r2663507 = r2663505 * r2663506;
double r2663508 = U;
double r2663509 = r2663507 * r2663508;
double r2663510 = t;
double r2663511 = l;
double r2663512 = r2663511 * r2663511;
double r2663513 = Om;
double r2663514 = r2663512 / r2663513;
double r2663515 = r2663505 * r2663514;
double r2663516 = r2663510 - r2663515;
double r2663517 = r2663511 / r2663513;
double r2663518 = pow(r2663517, r2663505);
double r2663519 = r2663506 * r2663518;
double r2663520 = U_;
double r2663521 = r2663508 - r2663520;
double r2663522 = r2663519 * r2663521;
double r2663523 = r2663516 - r2663522;
double r2663524 = r2663509 * r2663523;
double r2663525 = sqrt(r2663524);
return r2663525;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2663526 = U;
double r2663527 = -2.7050839287957e-310;
bool r2663528 = r2663526 <= r2663527;
double r2663529 = 2.0;
double r2663530 = r2663529 * r2663526;
double r2663531 = n;
double r2663532 = t;
double r2663533 = l;
double r2663534 = Om;
double r2663535 = r2663533 / r2663534;
double r2663536 = r2663529 * r2663533;
double r2663537 = -r2663531;
double r2663538 = U_;
double r2663539 = r2663526 - r2663538;
double r2663540 = r2663537 * r2663539;
double r2663541 = r2663540 * r2663535;
double r2663542 = r2663536 - r2663541;
double r2663543 = r2663535 * r2663542;
double r2663544 = r2663532 - r2663543;
double r2663545 = r2663531 * r2663544;
double r2663546 = r2663530 * r2663545;
double r2663547 = sqrt(r2663546);
double r2663548 = sqrt(r2663547);
double r2663549 = r2663548 * r2663548;
double r2663550 = sqrt(r2663530);
double r2663551 = sqrt(r2663545);
double r2663552 = r2663550 * r2663551;
double r2663553 = r2663528 ? r2663549 : r2663552;
return r2663553;
}



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 < -2.7050839287957e-310Initial program 33.7
Simplified32.0
rmApplied add-sqr-sqrt32.1
if -2.7050839287957e-310 < U Initial program 33.6
Simplified31.2
rmApplied sqrt-prod25.4
Final simplification28.7
herbie shell --seed 2019132
(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*))))))