\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 5.3087767675532778 \cdot 10^{-246}:\\
\;\;\;\;\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{elif}\;t \le 3.5853438188507749 \cdot 10^{-68} \lor \neg \left(t \le 1.1743060886816904 \cdot 10^{137}\right):\\
\;\;\;\;\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(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)}\\
\mathbf{else}:\\
\;\;\;\;\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r209959 = 2.0;
double r209960 = n;
double r209961 = r209959 * r209960;
double r209962 = U;
double r209963 = r209961 * r209962;
double r209964 = t;
double r209965 = l;
double r209966 = r209965 * r209965;
double r209967 = Om;
double r209968 = r209966 / r209967;
double r209969 = r209959 * r209968;
double r209970 = r209964 - r209969;
double r209971 = r209965 / r209967;
double r209972 = pow(r209971, r209959);
double r209973 = r209960 * r209972;
double r209974 = U_;
double r209975 = r209962 - r209974;
double r209976 = r209973 * r209975;
double r209977 = r209970 - r209976;
double r209978 = r209963 * r209977;
double r209979 = sqrt(r209978);
return r209979;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r209980 = t;
double r209981 = 5.308776767553278e-246;
bool r209982 = r209980 <= r209981;
double r209983 = 2.0;
double r209984 = n;
double r209985 = r209983 * r209984;
double r209986 = U;
double r209987 = r209985 * r209986;
double r209988 = l;
double r209989 = Om;
double r209990 = r209989 / r209988;
double r209991 = r209988 / r209990;
double r209992 = r209983 * r209991;
double r209993 = r209980 - r209992;
double r209994 = r209984 * r209988;
double r209995 = 1.0;
double r209996 = 1.0;
double r209997 = pow(r209989, r209996);
double r209998 = r209995 / r209997;
double r209999 = pow(r209998, r209996);
double r210000 = r209994 * r209999;
double r210001 = r209988 / r209989;
double r210002 = 2.0;
double r210003 = r209983 / r210002;
double r210004 = pow(r210001, r210003);
double r210005 = r210000 * r210004;
double r210006 = U_;
double r210007 = r209986 - r210006;
double r210008 = r210005 * r210007;
double r210009 = r209993 - r210008;
double r210010 = r209987 * r210009;
double r210011 = sqrt(r210010);
double r210012 = 3.585343818850775e-68;
bool r210013 = r209980 <= r210012;
double r210014 = 1.1743060886816904e+137;
bool r210015 = r209980 <= r210014;
double r210016 = !r210015;
bool r210017 = r210013 || r210016;
double r210018 = sqrt(r209987);
double r210019 = r210002 * r210003;
double r210020 = pow(r210001, r210019);
double r210021 = r209984 * r210020;
double r210022 = r210021 * r210007;
double r210023 = r209993 - r210022;
double r210024 = sqrt(r210023);
double r210025 = r210018 * r210024;
double r210026 = pow(r210001, r209983);
double r210027 = r209984 * r210026;
double r210028 = r210027 * r210007;
double r210029 = r209993 - r210028;
double r210030 = r209986 * r210029;
double r210031 = r209985 * r210030;
double r210032 = sqrt(r210031);
double r210033 = r210017 ? r210025 : r210032;
double r210034 = r209982 ? r210011 : r210033;
return r210034;
}



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 < 5.308776767553278e-246Initial program 35.2
rmApplied associate-/l*32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.2
Taylor expanded around 0 32.4
if 5.308776767553278e-246 < t < 3.585343818850775e-68 or 1.1743060886816904e+137 < t Initial program 37.0
rmApplied associate-/l*34.3
rmApplied sqr-pow34.3
Applied associate-*r*33.1
rmApplied sqrt-prod28.8
Simplified29.6
if 3.585343818850775e-68 < t < 1.1743060886816904e+137Initial program 30.8
rmApplied associate-/l*28.1
rmApplied associate-*l*27.3
Final simplification30.7
herbie shell --seed 2020042
(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*))))))