\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}\;n \le -5.85228649109029279 \cdot 10^{-126}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(-\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;n \le 5.7542881375349792 \cdot 10^{-186}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{elif}\;n \le 1.1504183261425661 \cdot 10^{-17}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(-\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;n \le 5.84977345983970428 \cdot 10^{38}:\\
\;\;\;\;\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(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(-\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{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 r218992 = 2.0;
double r218993 = n;
double r218994 = r218992 * r218993;
double r218995 = U;
double r218996 = r218994 * r218995;
double r218997 = t;
double r218998 = l;
double r218999 = r218998 * r218998;
double r219000 = Om;
double r219001 = r218999 / r219000;
double r219002 = r218992 * r219001;
double r219003 = r218997 - r219002;
double r219004 = r218998 / r219000;
double r219005 = pow(r219004, r218992);
double r219006 = r218993 * r219005;
double r219007 = U_;
double r219008 = r218995 - r219007;
double r219009 = r219006 * r219008;
double r219010 = r219003 - r219009;
double r219011 = r218996 * r219010;
double r219012 = sqrt(r219011);
return r219012;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r219013 = n;
double r219014 = -5.852286491090293e-126;
bool r219015 = r219013 <= r219014;
double r219016 = 2.0;
double r219017 = r219016 * r219013;
double r219018 = U;
double r219019 = r219017 * r219018;
double r219020 = t;
double r219021 = l;
double r219022 = Om;
double r219023 = r219022 / r219021;
double r219024 = r219021 / r219023;
double r219025 = r219016 * r219024;
double r219026 = r219020 - r219025;
double r219027 = r219019 * r219026;
double r219028 = r219021 / r219022;
double r219029 = 2.0;
double r219030 = r219016 / r219029;
double r219031 = pow(r219028, r219030);
double r219032 = r219013 * r219031;
double r219033 = U_;
double r219034 = r219018 - r219033;
double r219035 = r219031 * r219034;
double r219036 = r219032 * r219035;
double r219037 = -r219036;
double r219038 = r219019 * r219037;
double r219039 = r219027 + r219038;
double r219040 = sqrt(r219039);
double r219041 = 5.754288137534979e-186;
bool r219042 = r219013 <= r219041;
double r219043 = r219029 * r219030;
double r219044 = pow(r219028, r219043);
double r219045 = r219013 * r219044;
double r219046 = -r219045;
double r219047 = r219046 * r219034;
double r219048 = r219025 - r219047;
double r219049 = r219020 - r219048;
double r219050 = r219017 * r219049;
double r219051 = r219050 * r219018;
double r219052 = 1.0;
double r219053 = pow(r219051, r219052);
double r219054 = sqrt(r219053);
double r219055 = 1.1504183261425661e-17;
bool r219056 = r219013 <= r219055;
double r219057 = 5.849773459839704e+38;
bool r219058 = r219013 <= r219057;
double r219059 = sqrt(r219019);
double r219060 = r219026 - r219036;
double r219061 = sqrt(r219060);
double r219062 = r219059 * r219061;
double r219063 = r219058 ? r219062 : r219040;
double r219064 = r219056 ? r219040 : r219063;
double r219065 = r219042 ? r219054 : r219064;
double r219066 = r219015 ? r219040 : r219065;
return r219066;
}



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 n < -5.852286491090293e-126 or 5.754288137534979e-186 < n < 1.1504183261425661e-17 or 5.849773459839704e+38 < n Initial program 33.0
rmApplied associate-/l*30.4
rmApplied sqr-pow30.4
Applied associate-*r*29.6
rmApplied associate-*l*28.7
rmApplied sub-neg28.7
Applied distribute-lft-in28.7
if -5.852286491090293e-126 < n < 5.754288137534979e-186Initial program 39.0
rmApplied associate-/l*36.2
rmApplied sqr-pow36.2
Applied associate-*r*35.3
rmApplied pow135.3
Applied pow135.3
Applied pow135.3
Applied pow135.3
Applied pow-prod-down35.3
Applied pow-prod-down35.3
Applied pow-prod-down35.3
Simplified31.3
if 1.1504183261425661e-17 < n < 5.849773459839704e+38Initial program 32.5
rmApplied associate-/l*28.0
rmApplied sqr-pow28.0
Applied associate-*r*27.9
rmApplied associate-*l*26.6
rmApplied sqrt-prod37.1
Final simplification29.9
herbie shell --seed 2020047
(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*))))))