\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 r3859937 = 2.0;
double r3859938 = n;
double r3859939 = r3859937 * r3859938;
double r3859940 = U;
double r3859941 = r3859939 * r3859940;
double r3859942 = t;
double r3859943 = l;
double r3859944 = r3859943 * r3859943;
double r3859945 = Om;
double r3859946 = r3859944 / r3859945;
double r3859947 = r3859937 * r3859946;
double r3859948 = r3859942 - r3859947;
double r3859949 = r3859943 / r3859945;
double r3859950 = pow(r3859949, r3859937);
double r3859951 = r3859938 * r3859950;
double r3859952 = U_;
double r3859953 = r3859940 - r3859952;
double r3859954 = r3859951 * r3859953;
double r3859955 = r3859948 - r3859954;
double r3859956 = r3859941 * r3859955;
double r3859957 = sqrt(r3859956);
return r3859957;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3859958 = U;
double r3859959 = -6.823146210983457e+31;
bool r3859960 = r3859958 <= r3859959;
double r3859961 = t;
double r3859962 = 2.0;
double r3859963 = l;
double r3859964 = Om;
double r3859965 = r3859964 / r3859963;
double r3859966 = r3859963 / r3859965;
double r3859967 = r3859962 * r3859966;
double r3859968 = r3859961 - r3859967;
double r3859969 = n;
double r3859970 = r3859962 * r3859969;
double r3859971 = r3859970 * r3859958;
double r3859972 = r3859968 * r3859971;
double r3859973 = sqrt(r3859972);
double r3859974 = 7.799350112209917e+54;
bool r3859975 = r3859958 <= r3859974;
double r3859976 = U_;
double r3859977 = r3859958 - r3859976;
double r3859978 = r3859963 / r3859964;
double r3859979 = 2.0;
double r3859980 = r3859962 / r3859979;
double r3859981 = pow(r3859978, r3859980);
double r3859982 = r3859981 * r3859969;
double r3859983 = r3859982 * r3859981;
double r3859984 = r3859977 * r3859983;
double r3859985 = r3859968 - r3859984;
double r3859986 = r3859985 * r3859958;
double r3859987 = r3859970 * r3859986;
double r3859988 = sqrt(r3859987);
double r3859989 = cbrt(r3859985);
double r3859990 = r3859989 * r3859989;
double r3859991 = r3859971 * r3859990;
double r3859992 = r3859989 * r3859991;
double r3859993 = sqrt(r3859992);
double r3859994 = r3859975 ? r3859988 : r3859993;
double r3859995 = r3859960 ? r3859973 : r3859994;
return r3859995;
}



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*))))))