\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 3.4326890653531773 \cdot 10^{-209}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;U \le 4.01065547685328 \cdot 10^{-153}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\
\mathbf{elif}\;U \le 4.409850644311801 \cdot 10^{+95}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1291543 = 2.0;
double r1291544 = n;
double r1291545 = r1291543 * r1291544;
double r1291546 = U;
double r1291547 = r1291545 * r1291546;
double r1291548 = t;
double r1291549 = l;
double r1291550 = r1291549 * r1291549;
double r1291551 = Om;
double r1291552 = r1291550 / r1291551;
double r1291553 = r1291543 * r1291552;
double r1291554 = r1291548 - r1291553;
double r1291555 = r1291549 / r1291551;
double r1291556 = pow(r1291555, r1291543);
double r1291557 = r1291544 * r1291556;
double r1291558 = U_;
double r1291559 = r1291546 - r1291558;
double r1291560 = r1291557 * r1291559;
double r1291561 = r1291554 - r1291560;
double r1291562 = r1291547 * r1291561;
double r1291563 = sqrt(r1291562);
return r1291563;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1291564 = U;
double r1291565 = 3.4326890653531773e-209;
bool r1291566 = r1291564 <= r1291565;
double r1291567 = t;
double r1291568 = l;
double r1291569 = Om;
double r1291570 = r1291568 / r1291569;
double r1291571 = 2.0;
double r1291572 = r1291568 * r1291571;
double r1291573 = n;
double r1291574 = cbrt(r1291564);
double r1291575 = r1291574 * r1291574;
double r1291576 = U_;
double r1291577 = -r1291576;
double r1291578 = fma(r1291575, r1291574, r1291577);
double r1291579 = r1291578 * r1291570;
double r1291580 = r1291573 * r1291579;
double r1291581 = r1291580 * r1291570;
double r1291582 = 1.0;
double r1291583 = fma(r1291577, r1291582, r1291576);
double r1291584 = r1291570 * r1291583;
double r1291585 = r1291573 * r1291570;
double r1291586 = r1291584 * r1291585;
double r1291587 = r1291581 + r1291586;
double r1291588 = fma(r1291570, r1291572, r1291587);
double r1291589 = r1291567 - r1291588;
double r1291590 = r1291571 * r1291573;
double r1291591 = r1291590 * r1291564;
double r1291592 = r1291589 * r1291591;
double r1291593 = sqrt(r1291592);
double r1291594 = 4.01065547685328e-153;
bool r1291595 = r1291564 <= r1291594;
double r1291596 = sqrt(r1291564);
double r1291597 = r1291564 - r1291576;
double r1291598 = r1291570 * r1291570;
double r1291599 = r1291597 * r1291598;
double r1291600 = r1291599 * r1291573;
double r1291601 = fma(r1291570, r1291572, r1291600);
double r1291602 = r1291567 - r1291601;
double r1291603 = r1291590 * r1291602;
double r1291604 = sqrt(r1291603);
double r1291605 = r1291596 * r1291604;
double r1291606 = 4.409850644311801e+95;
bool r1291607 = r1291564 <= r1291606;
double r1291608 = r1291607 ? r1291593 : r1291605;
double r1291609 = r1291595 ? r1291605 : r1291608;
double r1291610 = r1291566 ? r1291593 : r1291609;
return r1291610;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if U < 3.4326890653531773e-209 or 4.01065547685328e-153 < U < 4.409850644311801e+95Initial program 33.3
Simplified32.1
rmApplied associate-*r*31.3
rmApplied associate-*l*30.6
rmApplied *-un-lft-identity30.6
Applied add-cube-cbrt30.6
Applied prod-diff30.6
Applied distribute-lft-in30.6
Applied distribute-lft-in30.6
Applied distribute-rgt-in30.6
Simplified29.8
Simplified29.9
if 3.4326890653531773e-209 < U < 4.01065547685328e-153 or 4.409850644311801e+95 < U Initial program 31.6
Simplified31.9
rmApplied sqrt-prod22.6
Final simplification28.6
herbie shell --seed 2019128 +o rules:numerics
(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*))))))