\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 2.53242417465238 \cdot 10^{-11}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(-\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot U + U \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(n \cdot U\right) \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \frac{\frac{n}{\frac{Om}{\ell}} \cdot \left(U - U*\right)}{\frac{Om}{\ell}}\right)\right) \cdot 2}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r13154941 = 2.0;
double r13154942 = n;
double r13154943 = r13154941 * r13154942;
double r13154944 = U;
double r13154945 = r13154943 * r13154944;
double r13154946 = t;
double r13154947 = l;
double r13154948 = r13154947 * r13154947;
double r13154949 = Om;
double r13154950 = r13154948 / r13154949;
double r13154951 = r13154941 * r13154950;
double r13154952 = r13154946 - r13154951;
double r13154953 = r13154947 / r13154949;
double r13154954 = pow(r13154953, r13154941);
double r13154955 = r13154942 * r13154954;
double r13154956 = U_;
double r13154957 = r13154944 - r13154956;
double r13154958 = r13154955 * r13154957;
double r13154959 = r13154952 - r13154958;
double r13154960 = r13154945 * r13154959;
double r13154961 = sqrt(r13154960);
return r13154961;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r13154962 = U_;
double r13154963 = 2.53242417465238e-11;
bool r13154964 = r13154962 <= r13154963;
double r13154965 = 2.0;
double r13154966 = n;
double r13154967 = l;
double r13154968 = Om;
double r13154969 = r13154967 / r13154968;
double r13154970 = r13154966 * r13154969;
double r13154971 = r13154970 * r13154970;
double r13154972 = U;
double r13154973 = r13154972 - r13154962;
double r13154974 = r13154971 * r13154973;
double r13154975 = -r13154974;
double r13154976 = r13154975 * r13154972;
double r13154977 = r13154968 / r13154967;
double r13154978 = r13154967 / r13154977;
double r13154979 = -2.0;
double r13154980 = t;
double r13154981 = fma(r13154978, r13154979, r13154980);
double r13154982 = r13154981 * r13154966;
double r13154983 = r13154972 * r13154982;
double r13154984 = r13154976 + r13154983;
double r13154985 = r13154965 * r13154984;
double r13154986 = sqrt(r13154985);
double r13154987 = r13154966 * r13154972;
double r13154988 = r13154966 / r13154977;
double r13154989 = r13154988 * r13154973;
double r13154990 = r13154989 / r13154977;
double r13154991 = r13154981 - r13154990;
double r13154992 = r13154987 * r13154991;
double r13154993 = r13154992 * r13154965;
double r13154994 = sqrt(r13154993);
double r13154995 = r13154964 ? r13154986 : r13154994;
return r13154995;
}



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* < 2.53242417465238e-11Initial program 32.4
Simplified33.7
rmApplied associate-/l*31.0
rmApplied associate-*r*30.0
rmApplied sub-neg30.0
Applied distribute-rgt-in30.0
Applied distribute-rgt-in30.0
Simplified28.9
if 2.53242417465238e-11 < U* Initial program 34.2
Simplified35.6
rmApplied associate-/l*33.6
rmApplied associate-*r*31.9
rmApplied associate-*r*32.1
Simplified31.0
Final simplification29.4
herbie shell --seed 2019119 +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*))))))