\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.56376693799834257 \cdot 10^{-130}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \left(\sqrt[3]{n} \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;U \le 8.6898223191579737 \cdot 10^{-140}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \left(-\mathsf{fma}\left(U - U*, n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}} \cdot \sqrt[3]{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}}\right) \cdot \sqrt[3]{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r268003 = 2.0;
double r268004 = n;
double r268005 = r268003 * r268004;
double r268006 = U;
double r268007 = r268005 * r268006;
double r268008 = t;
double r268009 = l;
double r268010 = r268009 * r268009;
double r268011 = Om;
double r268012 = r268010 / r268011;
double r268013 = r268003 * r268012;
double r268014 = r268008 - r268013;
double r268015 = r268009 / r268011;
double r268016 = pow(r268015, r268003);
double r268017 = r268004 * r268016;
double r268018 = U_;
double r268019 = r268006 - r268018;
double r268020 = r268017 * r268019;
double r268021 = r268014 - r268020;
double r268022 = r268007 * r268021;
double r268023 = sqrt(r268022);
return r268023;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r268024 = U;
double r268025 = -2.5637669379983426e-130;
bool r268026 = r268024 <= r268025;
double r268027 = 2.0;
double r268028 = n;
double r268029 = r268027 * r268028;
double r268030 = r268029 * r268024;
double r268031 = t;
double r268032 = l;
double r268033 = Om;
double r268034 = r268032 / r268033;
double r268035 = r268032 * r268034;
double r268036 = r268027 * r268035;
double r268037 = r268031 - r268036;
double r268038 = cbrt(r268028);
double r268039 = r268038 * r268038;
double r268040 = pow(r268034, r268027);
double r268041 = r268038 * r268040;
double r268042 = r268039 * r268041;
double r268043 = U_;
double r268044 = r268024 - r268043;
double r268045 = r268042 * r268044;
double r268046 = r268037 - r268045;
double r268047 = r268030 * r268046;
double r268048 = sqrt(r268047);
double r268049 = 8.689822319157974e-140;
bool r268050 = r268024 <= r268049;
double r268051 = 2.0;
double r268052 = r268027 / r268051;
double r268053 = r268051 * r268052;
double r268054 = pow(r268034, r268053);
double r268055 = r268028 * r268054;
double r268056 = fma(r268044, r268055, r268036);
double r268057 = -r268056;
double r268058 = r268031 + r268057;
double r268059 = r268024 * r268058;
double r268060 = r268029 * r268059;
double r268061 = sqrt(r268060);
double r268062 = pow(r268034, r268052);
double r268063 = r268028 * r268062;
double r268064 = r268063 * r268062;
double r268065 = r268064 * r268044;
double r268066 = r268037 - r268065;
double r268067 = r268030 * r268066;
double r268068 = sqrt(r268067);
double r268069 = cbrt(r268068);
double r268070 = r268069 * r268069;
double r268071 = r268070 * r268069;
double r268072 = r268050 ? r268061 : r268071;
double r268073 = r268026 ? r268048 : r268072;
return r268073;
}



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.5637669379983426e-130Initial program 30.0
rmApplied *-un-lft-identity30.0
Applied times-frac27.3
Simplified27.3
rmApplied add-cube-cbrt27.3
Applied associate-*l*27.3
if -2.5637669379983426e-130 < U < 8.689822319157974e-140Initial program 41.0
rmApplied *-un-lft-identity41.0
Applied times-frac39.0
Simplified39.0
rmApplied sqr-pow39.0
Applied associate-*r*38.4
rmApplied associate-*l*32.7
Simplified33.9
if 8.689822319157974e-140 < U Initial program 30.8
rmApplied *-un-lft-identity30.8
Applied times-frac27.9
Simplified27.9
rmApplied sqr-pow27.9
Applied associate-*r*27.0
rmApplied add-cube-cbrt27.7
Final simplification29.9
herbie shell --seed 2020036 +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*))))))