\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.747196773397988555579189242829971406162 \cdot 10^{-277}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}} \cdot \sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}}\\
\mathbf{elif}\;U \le 4.23622323501100973617753573159479706023 \cdot 10^{-287}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(U - U*\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3838921 = 2.0;
double r3838922 = n;
double r3838923 = r3838921 * r3838922;
double r3838924 = U;
double r3838925 = r3838923 * r3838924;
double r3838926 = t;
double r3838927 = l;
double r3838928 = r3838927 * r3838927;
double r3838929 = Om;
double r3838930 = r3838928 / r3838929;
double r3838931 = r3838921 * r3838930;
double r3838932 = r3838926 - r3838931;
double r3838933 = r3838927 / r3838929;
double r3838934 = pow(r3838933, r3838921);
double r3838935 = r3838922 * r3838934;
double r3838936 = U_;
double r3838937 = r3838924 - r3838936;
double r3838938 = r3838935 * r3838937;
double r3838939 = r3838932 - r3838938;
double r3838940 = r3838925 * r3838939;
double r3838941 = sqrt(r3838940);
return r3838941;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3838942 = U;
double r3838943 = -2.7471967733979886e-277;
bool r3838944 = r3838942 <= r3838943;
double r3838945 = n;
double r3838946 = t;
double r3838947 = l;
double r3838948 = Om;
double r3838949 = r3838947 / r3838948;
double r3838950 = 2.0;
double r3838951 = r3838950 * r3838947;
double r3838952 = 2.0;
double r3838953 = r3838950 / r3838952;
double r3838954 = pow(r3838949, r3838953);
double r3838955 = r3838954 * r3838945;
double r3838956 = r3838955 * r3838954;
double r3838957 = U_;
double r3838958 = r3838942 - r3838957;
double r3838959 = r3838956 * r3838958;
double r3838960 = fma(r3838949, r3838951, r3838959);
double r3838961 = r3838946 - r3838960;
double r3838962 = r3838945 * r3838961;
double r3838963 = r3838962 * r3838950;
double r3838964 = r3838963 * r3838942;
double r3838965 = sqrt(r3838964);
double r3838966 = sqrt(r3838965);
double r3838967 = r3838966 * r3838966;
double r3838968 = 4.23622323501101e-287;
bool r3838969 = r3838942 <= r3838968;
double r3838970 = r3838950 * r3838945;
double r3838971 = r3838942 * r3838970;
double r3838972 = r3838947 * r3838947;
double r3838973 = r3838972 / r3838948;
double r3838974 = r3838950 * r3838973;
double r3838975 = r3838946 - r3838974;
double r3838976 = pow(r3838949, r3838950);
double r3838977 = r3838976 * r3838945;
double r3838978 = r3838958 * r3838977;
double r3838979 = r3838975 - r3838978;
double r3838980 = r3838971 * r3838979;
double r3838981 = sqrt(r3838980);
double r3838982 = sqrt(r3838942);
double r3838983 = sqrt(r3838963);
double r3838984 = r3838982 * r3838983;
double r3838985 = r3838969 ? r3838981 : r3838984;
double r3838986 = r3838944 ? r3838967 : r3838985;
return r3838986;
}



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.7471967733979886e-277Initial program 33.8
Simplified30.8
rmApplied sqr-pow30.8
Applied associate-*r*29.6
rmApplied add-sqr-sqrt29.8
if -2.7471967733979886e-277 < U < 4.23622323501101e-287Initial program 42.2
if 4.23622323501101e-287 < U Initial program 34.4
Simplified31.8
rmApplied sqr-pow31.8
Applied associate-*r*30.7
rmApplied sqrt-prod24.1
Final simplification27.8
herbie shell --seed 2019169 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))