\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 -8.761276549602833524386767464963015900073 \cdot 10^{-54}:\\
\;\;\;\;\sqrt{\left(\left(\left(\left(U* - U\right) \cdot \left(\left(\left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right) + t\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\\
\mathbf{elif}\;U \le 1.188289134364555924225184345803502950244 \cdot 10^{-207}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t + \left(\left(U* - U\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t + \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U* - U\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right)\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2599713 = 2.0;
double r2599714 = n;
double r2599715 = r2599713 * r2599714;
double r2599716 = U;
double r2599717 = r2599715 * r2599716;
double r2599718 = t;
double r2599719 = l;
double r2599720 = r2599719 * r2599719;
double r2599721 = Om;
double r2599722 = r2599720 / r2599721;
double r2599723 = r2599713 * r2599722;
double r2599724 = r2599718 - r2599723;
double r2599725 = r2599719 / r2599721;
double r2599726 = pow(r2599725, r2599713);
double r2599727 = r2599714 * r2599726;
double r2599728 = U_;
double r2599729 = r2599716 - r2599728;
double r2599730 = r2599727 * r2599729;
double r2599731 = r2599724 - r2599730;
double r2599732 = r2599717 * r2599731;
double r2599733 = sqrt(r2599732);
return r2599733;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2599734 = U;
double r2599735 = -8.761276549602834e-54;
bool r2599736 = r2599734 <= r2599735;
double r2599737 = U_;
double r2599738 = r2599737 - r2599734;
double r2599739 = n;
double r2599740 = l;
double r2599741 = 2.0;
double r2599742 = 2.0;
double r2599743 = r2599741 / r2599742;
double r2599744 = pow(r2599740, r2599743);
double r2599745 = r2599739 * r2599744;
double r2599746 = 1.0;
double r2599747 = Om;
double r2599748 = r2599746 / r2599747;
double r2599749 = pow(r2599748, r2599743);
double r2599750 = r2599745 * r2599749;
double r2599751 = r2599740 / r2599747;
double r2599752 = pow(r2599751, r2599743);
double r2599753 = r2599750 * r2599752;
double r2599754 = r2599738 * r2599753;
double r2599755 = r2599741 * r2599740;
double r2599756 = r2599751 * r2599755;
double r2599757 = r2599754 - r2599756;
double r2599758 = t;
double r2599759 = r2599757 + r2599758;
double r2599760 = r2599741 * r2599739;
double r2599761 = r2599759 * r2599760;
double r2599762 = r2599761 * r2599734;
double r2599763 = sqrt(r2599762);
double r2599764 = 1.188289134364556e-207;
bool r2599765 = r2599734 <= r2599764;
double r2599766 = r2599739 * r2599752;
double r2599767 = r2599752 * r2599766;
double r2599768 = r2599738 * r2599767;
double r2599769 = r2599768 - r2599756;
double r2599770 = r2599758 + r2599769;
double r2599771 = r2599770 * r2599734;
double r2599772 = r2599760 * r2599771;
double r2599773 = sqrt(r2599772);
double r2599774 = pow(r2599751, r2599741);
double r2599775 = r2599739 * r2599774;
double r2599776 = r2599775 * r2599738;
double r2599777 = r2599776 - r2599756;
double r2599778 = r2599758 + r2599777;
double r2599779 = r2599778 * r2599760;
double r2599780 = sqrt(r2599779);
double r2599781 = sqrt(r2599734);
double r2599782 = r2599780 * r2599781;
double r2599783 = r2599765 ? r2599773 : r2599782;
double r2599784 = r2599736 ? r2599763 : r2599783;
return r2599784;
}



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 < -8.761276549602834e-54Initial program 28.9
Simplified27.1
rmApplied sqr-pow27.1
Applied associate-*r*26.4
rmApplied div-inv26.4
Applied unpow-prod-down26.4
Applied associate-*r*26.9
if -8.761276549602834e-54 < U < 1.188289134364556e-207Initial program 40.5
Simplified37.1
rmApplied sqr-pow37.1
Applied associate-*r*35.7
rmApplied associate-*l*31.4
if 1.188289134364556e-207 < U Initial program 31.0
Simplified29.1
rmApplied sqrt-prod23.4
Final simplification27.2
herbie shell --seed 2019192
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))