\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)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r215751 = 2.0;
double r215752 = n;
double r215753 = r215751 * r215752;
double r215754 = U;
double r215755 = r215753 * r215754;
double r215756 = t;
double r215757 = l;
double r215758 = r215757 * r215757;
double r215759 = Om;
double r215760 = r215758 / r215759;
double r215761 = r215751 * r215760;
double r215762 = r215756 - r215761;
double r215763 = r215757 / r215759;
double r215764 = pow(r215763, r215751);
double r215765 = r215752 * r215764;
double r215766 = U_;
double r215767 = r215754 - r215766;
double r215768 = r215765 * r215767;
double r215769 = r215762 - r215768;
double r215770 = r215755 * r215769;
double r215771 = sqrt(r215770);
return r215771;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r215772 = t;
double r215773 = -7.529896307330419e-259;
bool r215774 = r215772 <= r215773;
double r215775 = 2.0;
double r215776 = n;
double r215777 = r215775 * r215776;
double r215778 = U;
double r215779 = l;
double r215780 = Om;
double r215781 = r215780 / r215779;
double r215782 = r215779 / r215781;
double r215783 = r215775 * r215782;
double r215784 = r215772 - r215783;
double r215785 = r215779 / r215780;
double r215786 = 2.0;
double r215787 = r215775 / r215786;
double r215788 = pow(r215785, r215787);
double r215789 = r215776 * r215788;
double r215790 = U_;
double r215791 = r215778 - r215790;
double r215792 = r215788 * r215791;
double r215793 = r215789 * r215792;
double r215794 = r215784 - r215793;
double r215795 = r215778 * r215794;
double r215796 = r215777 * r215795;
double r215797 = sqrt(r215796);
double r215798 = 6.290205096341294e+63;
bool r215799 = r215772 <= r215798;
double r215800 = r215777 * r215778;
double r215801 = r215800 * r215794;
double r215802 = sqrt(r215801);
double r215803 = sqrt(r215802);
double r215804 = r215803 * r215803;
double r215805 = sqrt(r215800);
double r215806 = pow(r215785, r215775);
double r215807 = r215776 * r215806;
double r215808 = r215807 * r215791;
double r215809 = r215784 - r215808;
double r215810 = sqrt(r215809);
double r215811 = r215805 * r215810;
double r215812 = r215799 ? r215804 : r215811;
double r215813 = r215774 ? r215797 : r215812;
return r215813;
}



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 sqrt-prod24.7
Final simplification29.1
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*))))))