\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 1.045516202577843853923853185368686409598 \cdot 10^{-37}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot \left(U - U*\right)\right)\right) + n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\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 r86895 = 2.0;
double r86896 = n;
double r86897 = r86895 * r86896;
double r86898 = U;
double r86899 = r86897 * r86898;
double r86900 = t;
double r86901 = l;
double r86902 = r86901 * r86901;
double r86903 = Om;
double r86904 = r86902 / r86903;
double r86905 = r86895 * r86904;
double r86906 = r86900 - r86905;
double r86907 = r86901 / r86903;
double r86908 = pow(r86907, r86895);
double r86909 = r86896 * r86908;
double r86910 = U_;
double r86911 = r86898 - r86910;
double r86912 = r86909 * r86911;
double r86913 = r86906 - r86912;
double r86914 = r86899 * r86913;
double r86915 = sqrt(r86914);
return r86915;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r86916 = t;
double r86917 = 1.0455162025778439e-37;
bool r86918 = r86916 <= r86917;
double r86919 = 2.0;
double r86920 = l;
double r86921 = Om;
double r86922 = r86921 / r86920;
double r86923 = r86920 / r86922;
double r86924 = r86920 / r86921;
double r86925 = 2.0;
double r86926 = r86919 / r86925;
double r86927 = pow(r86924, r86926);
double r86928 = n;
double r86929 = U;
double r86930 = U_;
double r86931 = r86929 - r86930;
double r86932 = r86928 * r86931;
double r86933 = r86927 * r86932;
double r86934 = r86927 * r86933;
double r86935 = pow(r86924, r86919);
double r86936 = -r86930;
double r86937 = r86930 + r86936;
double r86938 = r86935 * r86937;
double r86939 = r86928 * r86938;
double r86940 = r86934 + r86939;
double r86941 = fma(r86919, r86923, r86940);
double r86942 = r86916 - r86941;
double r86943 = r86919 * r86928;
double r86944 = r86943 * r86929;
double r86945 = r86942 * r86944;
double r86946 = sqrt(r86945);
double r86947 = r86928 * r86935;
double r86948 = r86947 * r86931;
double r86949 = fma(r86919, r86923, r86948);
double r86950 = r86916 - r86949;
double r86951 = sqrt(r86950);
double r86952 = sqrt(r86944);
double r86953 = r86951 * r86952;
double r86954 = r86918 ? r86946 : r86953;
return r86954;
}



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.0455162025778439e-37Initial program 34.2
Simplified34.2
rmApplied associate-/l*31.3
rmApplied add-cube-cbrt31.3
Applied add-sqr-sqrt47.9
Applied prod-diff47.9
Applied distribute-lft-in47.9
Simplified32.9
Simplified32.7
rmApplied sqr-pow32.7
Applied associate-*l*32.5
if 1.0455162025778439e-37 < t Initial program 32.7
Simplified32.7
rmApplied associate-/l*30.0
rmApplied sqrt-prod26.0
Final simplification30.6
herbie shell --seed 2019209 +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*))))))