\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}\;n \le -2.0815983574246957 \cdot 10^{-139}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;n \le -6.0596639631783474 \cdot 10^{-291}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;n \le 1.1504183261425661 \cdot 10^{-17} \lor \neg \left(n \le 5.84977345983970428 \cdot 10^{38}\right):\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - n \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r214490 = 2.0;
double r214491 = n;
double r214492 = r214490 * r214491;
double r214493 = U;
double r214494 = r214492 * r214493;
double r214495 = t;
double r214496 = l;
double r214497 = r214496 * r214496;
double r214498 = Om;
double r214499 = r214497 / r214498;
double r214500 = r214490 * r214499;
double r214501 = r214495 - r214500;
double r214502 = r214496 / r214498;
double r214503 = pow(r214502, r214490);
double r214504 = r214491 * r214503;
double r214505 = U_;
double r214506 = r214493 - r214505;
double r214507 = r214504 * r214506;
double r214508 = r214501 - r214507;
double r214509 = r214494 * r214508;
double r214510 = sqrt(r214509);
return r214510;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r214511 = n;
double r214512 = -2.0815983574246957e-139;
bool r214513 = r214511 <= r214512;
double r214514 = 2.0;
double r214515 = r214514 * r214511;
double r214516 = U;
double r214517 = r214515 * r214516;
double r214518 = t;
double r214519 = l;
double r214520 = Om;
double r214521 = r214520 / r214519;
double r214522 = r214519 / r214521;
double r214523 = r214514 * r214522;
double r214524 = r214518 - r214523;
double r214525 = r214519 / r214520;
double r214526 = 2.0;
double r214527 = r214514 / r214526;
double r214528 = pow(r214525, r214527);
double r214529 = r214511 * r214528;
double r214530 = U_;
double r214531 = r214516 - r214530;
double r214532 = r214528 * r214531;
double r214533 = r214529 * r214532;
double r214534 = r214524 - r214533;
double r214535 = r214517 * r214534;
double r214536 = sqrt(r214535);
double r214537 = -6.0596639631783474e-291;
bool r214538 = r214511 <= r214537;
double r214539 = pow(r214525, r214514);
double r214540 = r214511 * r214539;
double r214541 = r214540 * r214531;
double r214542 = r214524 - r214541;
double r214543 = r214516 * r214542;
double r214544 = r214515 * r214543;
double r214545 = sqrt(r214544);
double r214546 = 1.1504183261425661e-17;
bool r214547 = r214511 <= r214546;
double r214548 = 5.849773459839704e+38;
bool r214549 = r214511 <= r214548;
double r214550 = !r214549;
bool r214551 = r214547 || r214550;
double r214552 = sqrt(r214517);
double r214553 = r214526 * r214527;
double r214554 = pow(r214525, r214553);
double r214555 = r214531 * r214554;
double r214556 = r214511 * r214555;
double r214557 = r214524 - r214556;
double r214558 = sqrt(r214557);
double r214559 = r214552 * r214558;
double r214560 = r214551 ? r214536 : r214559;
double r214561 = r214538 ? r214545 : r214560;
double r214562 = r214513 ? r214536 : r214561;
return r214562;
}



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 n < -2.0815983574246957e-139 or -6.0596639631783474e-291 < n < 1.1504183261425661e-17 or 5.849773459839704e+38 < n Initial program 34.4
rmApplied associate-/l*31.9
rmApplied sqr-pow31.9
Applied associate-*r*31.0
rmApplied associate-*l*30.6
if -2.0815983574246957e-139 < n < -6.0596639631783474e-291Initial program 38.3
rmApplied associate-/l*34.9
rmApplied associate-*l*32.5
if 1.1504183261425661e-17 < n < 5.849773459839704e+38Initial program 32.5
rmApplied associate-/l*28.0
rmApplied sqr-pow28.0
Applied associate-*r*27.9
rmApplied associate-*l*26.6
rmApplied sqrt-prod37.1
Simplified38.1
Final simplification31.2
herbie shell --seed 2020047 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
:precision binary64
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))