\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}\;U \le -7122680.873158953:\\
\;\;\;\;{\left(\left(t - \left(\ell \cdot 2 + \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U \cdot \left(2 \cdot n\right)\right)\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;U \le -1.8663328166415404 \cdot 10^{-262}:\\
\;\;\;\;{\left(\left(U \cdot \left(t - (\left(\ell \cdot 2\right) \cdot \left(\frac{\ell}{Om}\right) + \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right))_*\right)\right) \cdot \left(2 \cdot n\right)\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;U \le 2.2093515262227777 \cdot 10^{-301}:\\
\;\;\;\;{\left(\left(t - \left(\ell \cdot 2 + \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot n\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U \cdot \left(2 \cdot n\right)\right)\right)}^{\frac{1}{2}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot {\left(\left(2 \cdot n\right) \cdot \left(t - (\left(\ell \cdot 2\right) \cdot \left(\frac{\ell}{Om}\right) + \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right))_*\right)\right)}^{\frac{1}{2}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r15011039 = 2.0;
double r15011040 = n;
double r15011041 = r15011039 * r15011040;
double r15011042 = U;
double r15011043 = r15011041 * r15011042;
double r15011044 = t;
double r15011045 = l;
double r15011046 = r15011045 * r15011045;
double r15011047 = Om;
double r15011048 = r15011046 / r15011047;
double r15011049 = r15011039 * r15011048;
double r15011050 = r15011044 - r15011049;
double r15011051 = r15011045 / r15011047;
double r15011052 = pow(r15011051, r15011039);
double r15011053 = r15011040 * r15011052;
double r15011054 = U_;
double r15011055 = r15011042 - r15011054;
double r15011056 = r15011053 * r15011055;
double r15011057 = r15011050 - r15011056;
double r15011058 = r15011043 * r15011057;
double r15011059 = sqrt(r15011058);
return r15011059;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r15011060 = U;
double r15011061 = -7122680.873158953;
bool r15011062 = r15011060 <= r15011061;
double r15011063 = t;
double r15011064 = l;
double r15011065 = 2.0;
double r15011066 = r15011064 * r15011065;
double r15011067 = Om;
double r15011068 = r15011064 / r15011067;
double r15011069 = U_;
double r15011070 = r15011060 - r15011069;
double r15011071 = r15011068 * r15011070;
double r15011072 = n;
double r15011073 = r15011071 * r15011072;
double r15011074 = r15011066 + r15011073;
double r15011075 = r15011074 * r15011068;
double r15011076 = r15011063 - r15011075;
double r15011077 = r15011065 * r15011072;
double r15011078 = r15011060 * r15011077;
double r15011079 = r15011076 * r15011078;
double r15011080 = 0.5;
double r15011081 = pow(r15011079, r15011080);
double r15011082 = -1.8663328166415404e-262;
bool r15011083 = r15011060 <= r15011082;
double r15011084 = r15011072 * r15011068;
double r15011085 = r15011068 * r15011084;
double r15011086 = r15011070 * r15011085;
double r15011087 = fma(r15011066, r15011068, r15011086);
double r15011088 = r15011063 - r15011087;
double r15011089 = r15011060 * r15011088;
double r15011090 = r15011089 * r15011077;
double r15011091 = pow(r15011090, r15011080);
double r15011092 = 2.2093515262227777e-301;
bool r15011093 = r15011060 <= r15011092;
double r15011094 = sqrt(r15011060);
double r15011095 = r15011077 * r15011088;
double r15011096 = pow(r15011095, r15011080);
double r15011097 = r15011094 * r15011096;
double r15011098 = r15011093 ? r15011081 : r15011097;
double r15011099 = r15011083 ? r15011091 : r15011098;
double r15011100 = r15011062 ? r15011081 : r15011099;
return r15011100;
}



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 U < -7122680.873158953 or -1.8663328166415404e-262 < U < 2.2093515262227777e-301Initial program 32.3
rmApplied *-un-lft-identity32.3
Applied times-frac29.3
Simplified29.3
rmApplied pow129.3
Applied sqrt-pow129.3
Simplified30.1
rmApplied pow130.1
Applied pow130.1
Applied pow-prod-down30.1
Applied pow130.1
Applied pow-prod-down30.1
Applied pow-pow30.1
Simplified29.2
if -7122680.873158953 < U < -1.8663328166415404e-262Initial program 34.7
rmApplied *-un-lft-identity34.7
Applied times-frac31.8
Simplified31.8
rmApplied pow131.8
Applied sqrt-pow131.8
Simplified30.4
rmApplied associate-*r*27.1
if 2.2093515262227777e-301 < U Initial program 32.8
rmApplied *-un-lft-identity32.8
Applied times-frac30.1
Simplified30.1
rmApplied pow130.1
Applied sqrt-pow130.1
Simplified29.1
rmApplied unpow-prod-down22.4
Simplified22.4
Final simplification25.3
herbie shell --seed 2019107 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))