\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 11096816485837592842858507119229692542980:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \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)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r98999 = 2.0;
double r99000 = n;
double r99001 = r98999 * r99000;
double r99002 = U;
double r99003 = r99001 * r99002;
double r99004 = t;
double r99005 = l;
double r99006 = r99005 * r99005;
double r99007 = Om;
double r99008 = r99006 / r99007;
double r99009 = r98999 * r99008;
double r99010 = r99004 - r99009;
double r99011 = r99005 / r99007;
double r99012 = pow(r99011, r98999);
double r99013 = r99000 * r99012;
double r99014 = U_;
double r99015 = r99002 - r99014;
double r99016 = r99013 * r99015;
double r99017 = r99010 - r99016;
double r99018 = r99003 * r99017;
double r99019 = sqrt(r99018);
return r99019;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r99020 = t;
double r99021 = 1.1096816485837593e+40;
bool r99022 = r99020 <= r99021;
double r99023 = 2.0;
double r99024 = l;
double r99025 = Om;
double r99026 = r99024 / r99025;
double r99027 = r99024 * r99026;
double r99028 = n;
double r99029 = 2.0;
double r99030 = r99023 / r99029;
double r99031 = pow(r99026, r99030);
double r99032 = r99028 * r99031;
double r99033 = U;
double r99034 = U_;
double r99035 = r99033 - r99034;
double r99036 = r99031 * r99035;
double r99037 = r99032 * r99036;
double r99038 = fma(r99023, r99027, r99037);
double r99039 = r99020 - r99038;
double r99040 = r99023 * r99028;
double r99041 = r99040 * r99033;
double r99042 = r99039 * r99041;
double r99043 = sqrt(r99042);
double r99044 = r99029 * r99030;
double r99045 = pow(r99026, r99044);
double r99046 = r99028 * r99045;
double r99047 = r99035 * r99046;
double r99048 = fma(r99023, r99027, r99047);
double r99049 = r99020 - r99048;
double r99050 = sqrt(r99049);
double r99051 = sqrt(r99041);
double r99052 = r99050 * r99051;
double r99053 = r99022 ? r99043 : r99052;
return r99053;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if t < 1.1096816485837593e+40Initial program 34.1
Simplified34.1
rmApplied *-un-lft-identity34.1
Applied times-frac31.4
Simplified31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
rmApplied associate-*l*30.4
if 1.1096816485837593e+40 < t Initial program 34.5
Simplified34.5
rmApplied *-un-lft-identity34.5
Applied times-frac31.7
Simplified31.7
rmApplied sqr-pow31.7
Applied associate-*r*31.4
rmApplied sqrt-prod25.5
Simplified25.7
Final simplification29.3
herbie shell --seed 2019304 +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*))))))