\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 -2.91138552679685006846860711181604876416 \cdot 10^{178}:\\
\;\;\;\;\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)}\\
\mathbf{elif}\;t \le -2.99207439904474513830909419640009574747 \cdot 10^{97}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)}} \cdot \sqrt{\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)}}\\
\mathbf{elif}\;t \le 1.664268146426151312546296416098443579856 \cdot 10^{-294}:\\
\;\;\;\;\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)}\\
\mathbf{elif}\;t \le 2.6537513056737148695584217694138294538 \cdot 10^{-145} \lor \neg \left(t \le 1.248295602955021596545459106660652670584 \cdot 10^{-8}\right):\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - 2 \cdot \frac{{\ell}^{2}}{Om}\right)\right) + \left(U - U*\right) \cdot \left(\left(-{\left(\sqrt[3]{n}\right)}^{3} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r204981 = 2.0;
double r204982 = n;
double r204983 = r204981 * r204982;
double r204984 = U;
double r204985 = r204983 * r204984;
double r204986 = t;
double r204987 = l;
double r204988 = r204987 * r204987;
double r204989 = Om;
double r204990 = r204988 / r204989;
double r204991 = r204981 * r204990;
double r204992 = r204986 - r204991;
double r204993 = r204987 / r204989;
double r204994 = pow(r204993, r204981);
double r204995 = r204982 * r204994;
double r204996 = U_;
double r204997 = r204984 - r204996;
double r204998 = r204995 * r204997;
double r204999 = r204992 - r204998;
double r205000 = r204985 * r204999;
double r205001 = sqrt(r205000);
return r205001;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r205002 = t;
double r205003 = -2.91138552679685e+178;
bool r205004 = r205002 <= r205003;
double r205005 = 2.0;
double r205006 = n;
double r205007 = r205005 * r205006;
double r205008 = U;
double r205009 = r205007 * r205008;
double r205010 = l;
double r205011 = Om;
double r205012 = r205010 / r205011;
double r205013 = r205010 * r205012;
double r205014 = r205005 * r205013;
double r205015 = r205002 - r205014;
double r205016 = 2.0;
double r205017 = r205005 / r205016;
double r205018 = pow(r205012, r205017);
double r205019 = r205006 * r205018;
double r205020 = r205019 * r205018;
double r205021 = U_;
double r205022 = r205008 - r205021;
double r205023 = r205020 * r205022;
double r205024 = r205015 - r205023;
double r205025 = r205009 * r205024;
double r205026 = sqrt(r205025);
double r205027 = -2.992074399044745e+97;
bool r205028 = r205002 <= r205027;
double r205029 = r205010 * r205010;
double r205030 = r205029 / r205011;
double r205031 = pow(r205012, r205005);
double r205032 = r205031 * r205022;
double r205033 = r205032 * r205006;
double r205034 = fma(r205005, r205030, r205033);
double r205035 = r205002 - r205034;
double r205036 = r205008 * r205035;
double r205037 = r205036 * r205007;
double r205038 = sqrt(r205037);
double r205039 = sqrt(r205038);
double r205040 = r205039 * r205039;
double r205041 = 1.6642681464261513e-294;
bool r205042 = r205002 <= r205041;
double r205043 = 2.653751305673715e-145;
bool r205044 = r205002 <= r205043;
double r205045 = 1.2482956029550216e-08;
bool r205046 = r205002 <= r205045;
double r205047 = !r205046;
bool r205048 = r205044 || r205047;
double r205049 = sqrt(r205009);
double r205050 = r205005 * r205010;
double r205051 = r205016 * r205017;
double r205052 = pow(r205012, r205051);
double r205053 = r205006 * r205052;
double r205054 = r205022 * r205053;
double r205055 = fma(r205050, r205012, r205054);
double r205056 = r205002 - r205055;
double r205057 = sqrt(r205056);
double r205058 = r205049 * r205057;
double r205059 = pow(r205010, r205016);
double r205060 = r205059 / r205011;
double r205061 = r205005 * r205060;
double r205062 = r205002 - r205061;
double r205063 = r205008 * r205062;
double r205064 = r205007 * r205063;
double r205065 = cbrt(r205006);
double r205066 = 3.0;
double r205067 = pow(r205065, r205066);
double r205068 = r205067 * r205052;
double r205069 = -r205068;
double r205070 = r205069 * r205009;
double r205071 = r205022 * r205070;
double r205072 = r205064 + r205071;
double r205073 = sqrt(r205072);
double r205074 = r205048 ? r205058 : r205073;
double r205075 = r205042 ? r205026 : r205074;
double r205076 = r205028 ? r205040 : r205075;
double r205077 = r205004 ? r205026 : r205076;
return r205077;
}



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 < -2.91138552679685e+178 or -2.992074399044745e+97 < t < 1.6642681464261513e-294Initial program 34.3
rmApplied *-un-lft-identity34.3
Applied times-frac31.7
Simplified31.7
rmApplied sqr-pow31.7
Applied associate-*r*30.7
if -2.91138552679685e+178 < t < -2.992074399044745e+97Initial program 35.1
rmApplied add-sqr-sqrt35.3
Simplified39.1
Simplified34.1
if 1.6642681464261513e-294 < t < 2.653751305673715e-145 or 1.2482956029550216e-08 < t Initial program 35.8
rmApplied *-un-lft-identity35.8
Applied times-frac33.5
Simplified33.5
rmApplied sqr-pow33.5
Applied associate-*r*32.6
rmApplied sqrt-prod28.8
Simplified29.4
if 2.653751305673715e-145 < t < 1.2482956029550216e-08Initial program 31.6
rmApplied *-un-lft-identity31.6
Applied times-frac28.9
Simplified28.9
rmApplied sqr-pow28.9
Applied associate-*r*28.3
rmApplied add-cube-cbrt28.4
Applied associate-*l*28.3
rmApplied sub-neg28.3
Applied distribute-lft-in28.3
Simplified31.0
Simplified32.1
Final simplification30.6
herbie shell --seed 2019303 +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*))))))