\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}\;t \le -7.529896307330418723638334607719281802794 \cdot 10^{-259}:\\
\;\;\;\;\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)}^{\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)\right)}\\
\mathbf{elif}\;t \le 6.290205096341293850941454167523250774551 \cdot 10^{63}:\\
\;\;\;\;\sqrt{\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)}} \cdot \sqrt{\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) - \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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r172572 = 2.0;
double r172573 = n;
double r172574 = r172572 * r172573;
double r172575 = U;
double r172576 = r172574 * r172575;
double r172577 = t;
double r172578 = l;
double r172579 = r172578 * r172578;
double r172580 = Om;
double r172581 = r172579 / r172580;
double r172582 = r172572 * r172581;
double r172583 = r172577 - r172582;
double r172584 = r172578 / r172580;
double r172585 = pow(r172584, r172572);
double r172586 = r172573 * r172585;
double r172587 = U_;
double r172588 = r172575 - r172587;
double r172589 = r172586 * r172588;
double r172590 = r172583 - r172589;
double r172591 = r172576 * r172590;
double r172592 = sqrt(r172591);
return r172592;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r172593 = t;
double r172594 = -7.529896307330419e-259;
bool r172595 = r172593 <= r172594;
double r172596 = 2.0;
double r172597 = n;
double r172598 = r172596 * r172597;
double r172599 = U;
double r172600 = l;
double r172601 = Om;
double r172602 = r172601 / r172600;
double r172603 = r172600 / r172602;
double r172604 = r172596 * r172603;
double r172605 = r172593 - r172604;
double r172606 = r172600 / r172601;
double r172607 = 2.0;
double r172608 = r172596 / r172607;
double r172609 = pow(r172606, r172608);
double r172610 = r172597 * r172609;
double r172611 = U_;
double r172612 = r172599 - r172611;
double r172613 = r172609 * r172612;
double r172614 = r172610 * r172613;
double r172615 = r172605 - r172614;
double r172616 = r172599 * r172615;
double r172617 = r172598 * r172616;
double r172618 = sqrt(r172617);
double r172619 = 6.290205096341294e+63;
bool r172620 = r172593 <= r172619;
double r172621 = r172598 * r172599;
double r172622 = r172621 * r172615;
double r172623 = sqrt(r172622);
double r172624 = sqrt(r172623);
double r172625 = r172624 * r172624;
double r172626 = sqrt(r172621);
double r172627 = sqrt(r172615);
double r172628 = r172626 * r172627;
double r172629 = r172620 ? r172625 : r172628;
double r172630 = r172595 ? r172618 : r172629;
return r172630;
}



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 t < -7.529896307330419e-259Initial program 33.8
rmApplied associate-/l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.4
rmApplied associate-*l*30.3
rmApplied associate-*l*30.1
if -7.529896307330419e-259 < t < 6.290205096341294e+63Initial program 35.1
rmApplied associate-/l*31.8
rmApplied sqr-pow31.8
Applied associate-*r*30.6
rmApplied associate-*l*30.2
rmApplied add-sqr-sqrt30.4
if 6.290205096341294e+63 < t Initial program 34.4
rmApplied associate-/l*31.9
rmApplied sqr-pow31.9
Applied associate-*r*31.3
rmApplied associate-*l*31.3
rmApplied sqrt-prod24.3
Final simplification29.0
herbie shell --seed 2019346 +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*))))))