\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 -68231462109834568877910167388160:\\
\;\;\;\;\sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;U \le 7.799350112209916646945365547200910218866 \cdot 10^{54}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt[3]{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\sqrt[3]{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \sqrt[3]{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2862861 = 2.0;
double r2862862 = n;
double r2862863 = r2862861 * r2862862;
double r2862864 = U;
double r2862865 = r2862863 * r2862864;
double r2862866 = t;
double r2862867 = l;
double r2862868 = r2862867 * r2862867;
double r2862869 = Om;
double r2862870 = r2862868 / r2862869;
double r2862871 = r2862861 * r2862870;
double r2862872 = r2862866 - r2862871;
double r2862873 = r2862867 / r2862869;
double r2862874 = pow(r2862873, r2862861);
double r2862875 = r2862862 * r2862874;
double r2862876 = U_;
double r2862877 = r2862864 - r2862876;
double r2862878 = r2862875 * r2862877;
double r2862879 = r2862872 - r2862878;
double r2862880 = r2862865 * r2862879;
double r2862881 = sqrt(r2862880);
return r2862881;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2862882 = U;
double r2862883 = -6.823146210983457e+31;
bool r2862884 = r2862882 <= r2862883;
double r2862885 = t;
double r2862886 = 2.0;
double r2862887 = l;
double r2862888 = Om;
double r2862889 = r2862888 / r2862887;
double r2862890 = r2862887 / r2862889;
double r2862891 = r2862886 * r2862890;
double r2862892 = r2862885 - r2862891;
double r2862893 = n;
double r2862894 = r2862886 * r2862893;
double r2862895 = r2862894 * r2862882;
double r2862896 = r2862892 * r2862895;
double r2862897 = sqrt(r2862896);
double r2862898 = 7.799350112209917e+54;
bool r2862899 = r2862882 <= r2862898;
double r2862900 = U_;
double r2862901 = r2862882 - r2862900;
double r2862902 = r2862887 / r2862888;
double r2862903 = 2.0;
double r2862904 = r2862886 / r2862903;
double r2862905 = pow(r2862902, r2862904);
double r2862906 = r2862905 * r2862893;
double r2862907 = r2862906 * r2862905;
double r2862908 = r2862901 * r2862907;
double r2862909 = r2862892 - r2862908;
double r2862910 = r2862909 * r2862882;
double r2862911 = r2862894 * r2862910;
double r2862912 = sqrt(r2862911);
double r2862913 = cbrt(r2862909);
double r2862914 = r2862913 * r2862913;
double r2862915 = r2862895 * r2862914;
double r2862916 = r2862913 * r2862915;
double r2862917 = sqrt(r2862916);
double r2862918 = r2862899 ? r2862912 : r2862917;
double r2862919 = r2862884 ? r2862897 : r2862918;
return r2862919;
}



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 < -6.823146210983457e+31Initial program 30.6
rmApplied associate-/l*27.5
rmApplied sqr-pow27.5
Applied associate-*r*27.1
Taylor expanded around 0 29.0
if -6.823146210983457e+31 < U < 7.799350112209917e+54Initial program 36.5
rmApplied associate-/l*33.9
rmApplied sqr-pow33.9
Applied associate-*r*33.0
rmApplied associate-*l*29.3
if 7.799350112209917e+54 < U Initial program 31.2
rmApplied associate-/l*28.6
rmApplied sqr-pow28.6
Applied associate-*r*28.3
rmApplied add-cube-cbrt28.7
Applied associate-*r*28.7
Final simplification29.1
herbie shell --seed 2019170
(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*))))))