\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 1.1508118115456631 \cdot 10^{-280}:\\
\;\;\;\;\left(\sqrt[3]{\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[3]{\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)}}\right) \cdot \sqrt[3]{\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 r202843 = 2.0;
double r202844 = n;
double r202845 = r202843 * r202844;
double r202846 = U;
double r202847 = r202845 * r202846;
double r202848 = t;
double r202849 = l;
double r202850 = r202849 * r202849;
double r202851 = Om;
double r202852 = r202850 / r202851;
double r202853 = r202843 * r202852;
double r202854 = r202848 - r202853;
double r202855 = r202849 / r202851;
double r202856 = pow(r202855, r202843);
double r202857 = r202844 * r202856;
double r202858 = U_;
double r202859 = r202846 - r202858;
double r202860 = r202857 * r202859;
double r202861 = r202854 - r202860;
double r202862 = r202847 * r202861;
double r202863 = sqrt(r202862);
return r202863;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r202864 = t;
double r202865 = 1.150811811545663e-280;
bool r202866 = r202864 <= r202865;
double r202867 = 2.0;
double r202868 = n;
double r202869 = r202867 * r202868;
double r202870 = U;
double r202871 = r202869 * r202870;
double r202872 = l;
double r202873 = Om;
double r202874 = r202873 / r202872;
double r202875 = r202872 / r202874;
double r202876 = r202867 * r202875;
double r202877 = r202864 - r202876;
double r202878 = r202872 / r202873;
double r202879 = 2.0;
double r202880 = r202867 / r202879;
double r202881 = pow(r202878, r202880);
double r202882 = r202868 * r202881;
double r202883 = U_;
double r202884 = r202870 - r202883;
double r202885 = r202881 * r202884;
double r202886 = r202882 * r202885;
double r202887 = r202877 - r202886;
double r202888 = r202871 * r202887;
double r202889 = sqrt(r202888);
double r202890 = cbrt(r202889);
double r202891 = r202890 * r202890;
double r202892 = r202891 * r202890;
double r202893 = sqrt(r202871);
double r202894 = sqrt(r202887);
double r202895 = r202893 * r202894;
double r202896 = r202866 ? r202892 : r202895;
return r202896;
}



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 < 1.150811811545663e-280Initial program 34.9
rmApplied associate-/l*32.1
rmApplied sqr-pow32.1
Applied associate-*r*31.2
rmApplied associate-*l*31.0
rmApplied add-cube-cbrt31.5
if 1.150811811545663e-280 < t Initial program 34.1
rmApplied associate-/l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.2
rmApplied associate-*l*30.1
rmApplied sqrt-prod28.7
Final simplification30.2
herbie shell --seed 2020057 +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*))))))