\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)}^{2}\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 r170926 = 2.0;
double r170927 = n;
double r170928 = r170926 * r170927;
double r170929 = U;
double r170930 = r170928 * r170929;
double r170931 = t;
double r170932 = l;
double r170933 = r170932 * r170932;
double r170934 = Om;
double r170935 = r170933 / r170934;
double r170936 = r170926 * r170935;
double r170937 = r170931 - r170936;
double r170938 = r170932 / r170934;
double r170939 = pow(r170938, r170926);
double r170940 = r170927 * r170939;
double r170941 = U_;
double r170942 = r170929 - r170941;
double r170943 = r170940 * r170942;
double r170944 = r170937 - r170943;
double r170945 = r170930 * r170944;
double r170946 = sqrt(r170945);
return r170946;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170947 = t;
double r170948 = 5.308776767553278e-246;
bool r170949 = r170947 <= r170948;
double r170950 = 2.0;
double r170951 = n;
double r170952 = r170950 * r170951;
double r170953 = U;
double r170954 = r170952 * r170953;
double r170955 = l;
double r170956 = Om;
double r170957 = r170956 / r170955;
double r170958 = r170955 / r170957;
double r170959 = r170950 * r170958;
double r170960 = r170947 - r170959;
double r170961 = r170951 * r170955;
double r170962 = 1.0;
double r170963 = 1.0;
double r170964 = pow(r170956, r170963);
double r170965 = r170962 / r170964;
double r170966 = pow(r170965, r170963);
double r170967 = r170961 * r170966;
double r170968 = r170955 / r170956;
double r170969 = 2.0;
double r170970 = r170950 / r170969;
double r170971 = pow(r170968, r170970);
double r170972 = r170967 * r170971;
double r170973 = U_;
double r170974 = r170953 - r170973;
double r170975 = r170972 * r170974;
double r170976 = r170960 - r170975;
double r170977 = r170954 * r170976;
double r170978 = sqrt(r170977);
double r170979 = 3.585343818850775e-68;
bool r170980 = r170947 <= r170979;
double r170981 = 1.1743060886816904e+137;
bool r170982 = r170947 <= r170981;
double r170983 = !r170982;
bool r170984 = r170980 || r170983;
double r170985 = sqrt(r170954);
double r170986 = pow(r170968, r170950);
double r170987 = r170951 * r170986;
double r170988 = r170987 * r170974;
double r170989 = r170960 - r170988;
double r170990 = sqrt(r170989);
double r170991 = r170985 * r170990;
double r170992 = r170953 * r170989;
double r170993 = r170952 * r170992;
double r170994 = sqrt(r170993);
double r170995 = r170984 ? r170991 : r170994;
double r170996 = r170949 ? r170978 : r170995;
return r170996;
}



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 sqrt-prod29.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*))))))