\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.07671029838720178 \cdot 10^{-93}:\\
\;\;\;\;\sqrt{\left(\sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\right) \cdot \left(\sqrt[3]{\left(2 \cdot n\right) \cdot U} \cdot \sqrt[3]{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\right)}\\
\mathbf{elif}\;U \le -1.20400534993927196 \cdot 10^{-253}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 6.4394205127478837 \cdot 10^{-49}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 618493014635577:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\ell}^{2}\right) \cdot {\left(\frac{1}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r243471 = 2.0;
double r243472 = n;
double r243473 = r243471 * r243472;
double r243474 = U;
double r243475 = r243473 * r243474;
double r243476 = t;
double r243477 = l;
double r243478 = r243477 * r243477;
double r243479 = Om;
double r243480 = r243478 / r243479;
double r243481 = r243471 * r243480;
double r243482 = r243476 - r243481;
double r243483 = r243477 / r243479;
double r243484 = pow(r243483, r243471);
double r243485 = r243472 * r243484;
double r243486 = U_;
double r243487 = r243474 - r243486;
double r243488 = r243485 * r243487;
double r243489 = r243482 - r243488;
double r243490 = r243475 * r243489;
double r243491 = sqrt(r243490);
return r243491;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r243492 = U;
double r243493 = -1.0767102983872018e-93;
bool r243494 = r243492 <= r243493;
double r243495 = 2.0;
double r243496 = n;
double r243497 = r243495 * r243496;
double r243498 = r243497 * r243492;
double r243499 = t;
double r243500 = l;
double r243501 = Om;
double r243502 = r243500 / r243501;
double r243503 = r243500 * r243502;
double r243504 = r243495 * r243503;
double r243505 = r243499 - r243504;
double r243506 = pow(r243502, r243495);
double r243507 = r243496 * r243506;
double r243508 = U_;
double r243509 = r243492 - r243508;
double r243510 = r243507 * r243509;
double r243511 = r243505 - r243510;
double r243512 = r243498 * r243511;
double r243513 = cbrt(r243512);
double r243514 = r243513 * r243513;
double r243515 = cbrt(r243498);
double r243516 = cbrt(r243511);
double r243517 = r243515 * r243516;
double r243518 = r243514 * r243517;
double r243519 = sqrt(r243518);
double r243520 = -1.204005349939272e-253;
bool r243521 = r243492 <= r243520;
double r243522 = r243492 * r243511;
double r243523 = r243497 * r243522;
double r243524 = sqrt(r243523);
double r243525 = 6.439420512747884e-49;
bool r243526 = r243492 <= r243525;
double r243527 = r243506 * r243509;
double r243528 = r243496 * r243527;
double r243529 = r243505 - r243528;
double r243530 = r243498 * r243529;
double r243531 = sqrt(r243530);
double r243532 = 618493014635577.0;
bool r243533 = r243492 <= r243532;
double r243534 = sqrt(r243498);
double r243535 = sqrt(r243511);
double r243536 = r243534 * r243535;
double r243537 = pow(r243500, r243495);
double r243538 = r243496 * r243537;
double r243539 = 1.0;
double r243540 = r243539 / r243501;
double r243541 = pow(r243540, r243495);
double r243542 = r243538 * r243541;
double r243543 = r243542 * r243509;
double r243544 = r243505 - r243543;
double r243545 = r243498 * r243544;
double r243546 = sqrt(r243545);
double r243547 = r243533 ? r243536 : r243546;
double r243548 = r243526 ? r243531 : r243547;
double r243549 = r243521 ? r243524 : r243548;
double r243550 = r243494 ? r243519 : r243549;
return r243550;
}



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.0767102983872018e-93Initial program 30.6
rmApplied *-un-lft-identity30.6
Applied times-frac27.1
Simplified27.1
rmApplied add-cube-cbrt27.5
rmApplied cbrt-prod27.5
if -1.0767102983872018e-93 < U < -1.204005349939272e-253Initial program 38.6
rmApplied *-un-lft-identity38.6
Applied times-frac36.8
Simplified36.8
rmApplied associate-*l*32.5
if -1.204005349939272e-253 < U < 6.439420512747884e-49Initial program 39.6
rmApplied *-un-lft-identity39.6
Applied times-frac37.2
Simplified37.2
rmApplied associate-*l*36.6
if 6.439420512747884e-49 < U < 618493014635577.0Initial program 29.0
rmApplied *-un-lft-identity29.0
Applied times-frac25.3
Simplified25.3
rmApplied sqrt-prod39.2
if 618493014635577.0 < U Initial program 28.7
rmApplied *-un-lft-identity28.7
Applied times-frac26.0
Simplified26.0
rmApplied div-inv26.0
Applied unpow-prod-down31.8
Applied associate-*r*31.8
Final simplification32.8
herbie shell --seed 2020024
(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*))))))