\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 4.212962541612979170205416594711283898702 \cdot 10^{117}:\\
\;\;\;\;\sqrt{\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 {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}} \cdot \sqrt{\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 {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r226691 = 2.0;
double r226692 = n;
double r226693 = r226691 * r226692;
double r226694 = U;
double r226695 = r226693 * r226694;
double r226696 = t;
double r226697 = l;
double r226698 = r226697 * r226697;
double r226699 = Om;
double r226700 = r226698 / r226699;
double r226701 = r226691 * r226700;
double r226702 = r226696 - r226701;
double r226703 = r226697 / r226699;
double r226704 = pow(r226703, r226691);
double r226705 = r226692 * r226704;
double r226706 = U_;
double r226707 = r226694 - r226706;
double r226708 = r226705 * r226707;
double r226709 = r226702 - r226708;
double r226710 = r226695 * r226709;
double r226711 = sqrt(r226710);
return r226711;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r226712 = t;
double r226713 = 4.212962541612979e+117;
bool r226714 = r226712 <= r226713;
double r226715 = 2.0;
double r226716 = n;
double r226717 = r226715 * r226716;
double r226718 = U;
double r226719 = r226717 * r226718;
double r226720 = l;
double r226721 = Om;
double r226722 = r226720 / r226721;
double r226723 = r226720 * r226722;
double r226724 = r226715 * r226723;
double r226725 = r226712 - r226724;
double r226726 = cbrt(r226722);
double r226727 = r226726 * r226726;
double r226728 = pow(r226727, r226715);
double r226729 = r226716 * r226728;
double r226730 = pow(r226726, r226715);
double r226731 = r226729 * r226730;
double r226732 = U_;
double r226733 = r226718 - r226732;
double r226734 = r226731 * r226733;
double r226735 = r226725 - r226734;
double r226736 = r226719 * r226735;
double r226737 = sqrt(r226736);
double r226738 = sqrt(r226737);
double r226739 = r226738 * r226738;
double r226740 = sqrt(r226719);
double r226741 = pow(r226722, r226715);
double r226742 = r226716 * r226741;
double r226743 = r226742 * r226733;
double r226744 = r226725 - r226743;
double r226745 = sqrt(r226744);
double r226746 = r226740 * r226745;
double r226747 = r226714 ? r226739 : r226746;
return r226747;
}



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 < 4.212962541612979e+117Initial program 34.4
rmApplied *-un-lft-identity34.4
Applied times-frac31.7
Simplified31.7
rmApplied add-cube-cbrt31.8
Applied unpow-prod-down31.8
Applied associate-*r*31.0
rmApplied add-sqr-sqrt31.2
if 4.212962541612979e+117 < t Initial program 37.7
rmApplied *-un-lft-identity37.7
Applied times-frac35.3
Simplified35.3
rmApplied sqrt-prod25.4
Final simplification30.2
herbie shell --seed 2019347 +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*))))))