\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 -7.011733841081500777334264329602193954177 \cdot 10^{54}:\\
\;\;\;\;\sqrt{\sqrt{\mathsf{fma}\left(\left(U* - U\right) \cdot n, {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(\left(U* - U\right) \cdot n, {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)}}\\
\mathbf{elif}\;U \le 1.714350869156095708205362740940600427368 \cdot 10^{62}:\\
\;\;\;\;\sqrt{\left(\left({\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2} \cdot \left(n \cdot \left(U \cdot 2\right)\right)\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(\left(U* - U\right) \cdot n\right) + \left(\mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right) \cdot U\right) \cdot \left(n \cdot 2\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot U\right)} \cdot \sqrt{\mathsf{fma}\left(\left(U* - U\right) \cdot n, {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r115891 = 2.0;
double r115892 = n;
double r115893 = r115891 * r115892;
double r115894 = U;
double r115895 = r115893 * r115894;
double r115896 = t;
double r115897 = l;
double r115898 = r115897 * r115897;
double r115899 = Om;
double r115900 = r115898 / r115899;
double r115901 = r115891 * r115900;
double r115902 = r115896 - r115901;
double r115903 = r115897 / r115899;
double r115904 = pow(r115903, r115891);
double r115905 = r115892 * r115904;
double r115906 = U_;
double r115907 = r115894 - r115906;
double r115908 = r115905 * r115907;
double r115909 = r115902 - r115908;
double r115910 = r115895 * r115909;
double r115911 = sqrt(r115910);
return r115911;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r115912 = U;
double r115913 = -7.011733841081501e+54;
bool r115914 = r115912 <= r115913;
double r115915 = U_;
double r115916 = r115915 - r115912;
double r115917 = n;
double r115918 = r115916 * r115917;
double r115919 = l;
double r115920 = Om;
double r115921 = r115919 / r115920;
double r115922 = 2.0;
double r115923 = pow(r115921, r115922);
double r115924 = -r115922;
double r115925 = r115924 * r115919;
double r115926 = t;
double r115927 = fma(r115921, r115925, r115926);
double r115928 = fma(r115918, r115923, r115927);
double r115929 = r115917 * r115912;
double r115930 = r115922 * r115929;
double r115931 = r115928 * r115930;
double r115932 = sqrt(r115931);
double r115933 = sqrt(r115932);
double r115934 = r115933 * r115933;
double r115935 = 1.7143508691560957e+62;
bool r115936 = r115912 <= r115935;
double r115937 = cbrt(r115921);
double r115938 = pow(r115937, r115922);
double r115939 = r115912 * r115922;
double r115940 = r115917 * r115939;
double r115941 = r115938 * r115940;
double r115942 = r115937 * r115937;
double r115943 = pow(r115942, r115922);
double r115944 = r115941 * r115943;
double r115945 = r115944 * r115918;
double r115946 = r115927 * r115912;
double r115947 = r115917 * r115922;
double r115948 = r115946 * r115947;
double r115949 = r115945 + r115948;
double r115950 = sqrt(r115949);
double r115951 = sqrt(r115930);
double r115952 = sqrt(r115928);
double r115953 = r115951 * r115952;
double r115954 = r115936 ? r115950 : r115953;
double r115955 = r115914 ? r115934 : r115954;
return r115955;
}



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 < -7.011733841081501e+54Initial program 29.1
Simplified26.1
rmApplied add-sqr-sqrt26.3
Simplified27.2
Simplified27.1
if -7.011733841081501e+54 < U < 1.7143508691560957e+62Initial program 36.1
Simplified33.2
rmApplied fma-udef33.2
Applied distribute-lft-in33.2
Simplified34.9
Simplified32.1
rmApplied add-cube-cbrt32.2
Applied unpow-prod-down32.1
Applied associate-*l*31.0
Simplified31.0
if 1.7143508691560957e+62 < U Initial program 31.3
Simplified28.0
rmApplied sqrt-prod42.1
Simplified42.1
Simplified42.6
Final simplification32.0
herbie shell --seed 2019194 +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*))))))