\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 -6.13327481764505281 \cdot 10^{57}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;t \le -1.45324359345592405 \cdot 10^{-302}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(\left(n \cdot \ell\right) \cdot {\left(\frac{1}{{Om}^{1}}\right)}^{1}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\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(\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r196933 = 2.0;
double r196934 = n;
double r196935 = r196933 * r196934;
double r196936 = U;
double r196937 = r196935 * r196936;
double r196938 = t;
double r196939 = l;
double r196940 = r196939 * r196939;
double r196941 = Om;
double r196942 = r196940 / r196941;
double r196943 = r196933 * r196942;
double r196944 = r196938 - r196943;
double r196945 = r196939 / r196941;
double r196946 = pow(r196945, r196933);
double r196947 = r196934 * r196946;
double r196948 = U_;
double r196949 = r196936 - r196948;
double r196950 = r196947 * r196949;
double r196951 = r196944 - r196950;
double r196952 = r196937 * r196951;
double r196953 = sqrt(r196952);
return r196953;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r196954 = t;
double r196955 = -6.133274817645053e+57;
bool r196956 = r196954 <= r196955;
double r196957 = 2.0;
double r196958 = n;
double r196959 = r196957 * r196958;
double r196960 = U;
double r196961 = l;
double r196962 = Om;
double r196963 = r196962 / r196961;
double r196964 = r196961 / r196963;
double r196965 = r196957 * r196964;
double r196966 = r196954 - r196965;
double r196967 = r196961 / r196962;
double r196968 = pow(r196967, r196957);
double r196969 = r196958 * r196968;
double r196970 = U_;
double r196971 = r196960 - r196970;
double r196972 = r196969 * r196971;
double r196973 = r196966 - r196972;
double r196974 = r196960 * r196973;
double r196975 = r196959 * r196974;
double r196976 = sqrt(r196975);
double r196977 = -1.453243593455924e-302;
bool r196978 = r196954 <= r196977;
double r196979 = r196959 * r196960;
double r196980 = r196958 * r196961;
double r196981 = 1.0;
double r196982 = 1.0;
double r196983 = pow(r196962, r196982);
double r196984 = r196981 / r196983;
double r196985 = pow(r196984, r196982);
double r196986 = r196980 * r196985;
double r196987 = 2.0;
double r196988 = r196957 / r196987;
double r196989 = pow(r196967, r196988);
double r196990 = r196986 * r196989;
double r196991 = r196990 * r196971;
double r196992 = r196966 - r196991;
double r196993 = r196979 * r196992;
double r196994 = sqrt(r196993);
double r196995 = sqrt(r196979);
double r196996 = r196958 * r196989;
double r196997 = r196996 * r196989;
double r196998 = r196997 * r196971;
double r196999 = r196966 - r196998;
double r197000 = sqrt(r196999);
double r197001 = r196995 * r197000;
double r197002 = r196978 ? r196994 : r197001;
double r197003 = r196956 ? r196976 : r197002;
return r197003;
}



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 < -6.133274817645053e+57Initial program 35.3
rmApplied associate-/l*32.9
rmApplied associate-*l*32.6
if -6.133274817645053e+57 < t < -1.453243593455924e-302Initial program 33.4
rmApplied associate-/l*30.8
rmApplied sqr-pow30.8
Applied associate-*r*29.5
Taylor expanded around 0 30.9
if -1.453243593455924e-302 < t Initial program 34.4
rmApplied associate-/l*31.7
rmApplied sqr-pow31.7
Applied associate-*r*31.0
rmApplied sqrt-prod29.3
Final simplification30.5
herbie shell --seed 2020027 +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*))))))