\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 -7.411448247083684376522735829909480721372 \cdot 10^{-46}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(\left(\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U* - U\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right) + t\right)\right)}\\
\mathbf{elif}\;U \le 2.469810196486197144576887320962391000635 \cdot 10^{-303}:\\
\;\;\;\;\sqrt{\left(\sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right)\right)} \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\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 r478771 = 2.0;
double r478772 = n;
double r478773 = r478771 * r478772;
double r478774 = U;
double r478775 = r478773 * r478774;
double r478776 = t;
double r478777 = l;
double r478778 = r478777 * r478777;
double r478779 = Om;
double r478780 = r478778 / r478779;
double r478781 = r478771 * r478780;
double r478782 = r478776 - r478781;
double r478783 = r478777 / r478779;
double r478784 = pow(r478783, r478771);
double r478785 = r478772 * r478784;
double r478786 = U_;
double r478787 = r478774 - r478786;
double r478788 = r478785 * r478787;
double r478789 = r478782 - r478788;
double r478790 = r478775 * r478789;
double r478791 = sqrt(r478790);
return r478791;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r478792 = U;
double r478793 = -7.411448247083684e-46;
bool r478794 = r478792 <= r478793;
double r478795 = 2.0;
double r478796 = n;
double r478797 = r478795 * r478796;
double r478798 = l;
double r478799 = Om;
double r478800 = r478798 / r478799;
double r478801 = 2.0;
double r478802 = r478795 / r478801;
double r478803 = pow(r478800, r478802);
double r478804 = r478796 * r478803;
double r478805 = r478804 * r478803;
double r478806 = U_;
double r478807 = r478806 - r478792;
double r478808 = r478805 * r478807;
double r478809 = r478795 * r478798;
double r478810 = r478800 * r478809;
double r478811 = r478808 - r478810;
double r478812 = t;
double r478813 = r478811 + r478812;
double r478814 = r478797 * r478813;
double r478815 = r478792 * r478814;
double r478816 = sqrt(r478815);
double r478817 = 2.469810196486197e-303;
bool r478818 = r478792 <= r478817;
double r478819 = cbrt(r478799);
double r478820 = r478798 / r478819;
double r478821 = pow(r478820, r478802);
double r478822 = r478821 * r478803;
double r478823 = 1.0;
double r478824 = r478819 * r478819;
double r478825 = r478823 / r478824;
double r478826 = pow(r478825, r478802);
double r478827 = r478796 * r478826;
double r478828 = r478822 * r478827;
double r478829 = r478828 * r478807;
double r478830 = r478810 - r478812;
double r478831 = r478829 - r478830;
double r478832 = r478792 * r478831;
double r478833 = r478797 * r478832;
double r478834 = cbrt(r478833);
double r478835 = r478834 * r478834;
double r478836 = r478835 * r478834;
double r478837 = sqrt(r478836);
double r478838 = r478831 * r478797;
double r478839 = sqrt(r478838);
double r478840 = sqrt(r478792);
double r478841 = r478839 * r478840;
double r478842 = r478818 ? r478837 : r478841;
double r478843 = r478794 ? r478816 : r478842;
return r478843;
}



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 < -7.411448247083684e-46Initial program 29.8
Simplified28.4
rmApplied sqr-pow28.4
Applied associate-*r*27.3
if -7.411448247083684e-46 < U < 2.469810196486197e-303Initial program 39.3
Simplified35.6
rmApplied sqr-pow35.6
Applied associate-*r*34.6
rmApplied add-cube-cbrt34.7
Applied *-un-lft-identity34.7
Applied times-frac34.7
Applied unpow-prod-down34.7
Applied associate-*r*34.9
Simplified34.9
rmApplied add-cube-cbrt35.1
Simplified37.2
Simplified32.9
if 2.469810196486197e-303 < U Initial program 34.2
Simplified31.3
rmApplied sqr-pow31.3
Applied associate-*r*30.2
rmApplied add-cube-cbrt30.3
Applied *-un-lft-identity30.3
Applied times-frac30.3
Applied unpow-prod-down30.3
Applied associate-*r*30.3
Simplified30.3
rmApplied sqrt-prod23.2
Simplified23.7
Final simplification27.0
herbie shell --seed 2019179
(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*))))))