\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 -1.07671029838720178 \cdot 10^{-93}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(\sqrt[3]{t} \cdot \sqrt[3]{t}, \sqrt[3]{t}, -\left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\mathsf{fma}\left(-\ell \cdot \frac{\ell}{Om}, 2, \left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}} \cdot \sqrt{\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(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}}\\
\mathbf{elif}\;U \le -1.20400534993927196 \cdot 10^{-253}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 6.4394205127478837 \cdot 10^{-49}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 618493014635577:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\mathbf{else}:\\
\;\;\;\;\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 {\ell}^{2}\right) \cdot {\left(\frac{1}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r234034 = 2.0;
double r234035 = n;
double r234036 = r234034 * r234035;
double r234037 = U;
double r234038 = r234036 * r234037;
double r234039 = t;
double r234040 = l;
double r234041 = r234040 * r234040;
double r234042 = Om;
double r234043 = r234041 / r234042;
double r234044 = r234034 * r234043;
double r234045 = r234039 - r234044;
double r234046 = r234040 / r234042;
double r234047 = pow(r234046, r234034);
double r234048 = r234035 * r234047;
double r234049 = U_;
double r234050 = r234037 - r234049;
double r234051 = r234048 * r234050;
double r234052 = r234045 - r234051;
double r234053 = r234038 * r234052;
double r234054 = sqrt(r234053);
return r234054;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r234055 = U;
double r234056 = -1.0767102983872018e-93;
bool r234057 = r234055 <= r234056;
double r234058 = 2.0;
double r234059 = n;
double r234060 = r234058 * r234059;
double r234061 = r234060 * r234055;
double r234062 = t;
double r234063 = cbrt(r234062);
double r234064 = r234063 * r234063;
double r234065 = l;
double r234066 = Om;
double r234067 = r234065 / r234066;
double r234068 = r234065 * r234067;
double r234069 = r234068 * r234058;
double r234070 = -r234069;
double r234071 = fma(r234064, r234063, r234070);
double r234072 = r234061 * r234071;
double r234073 = -r234068;
double r234074 = fma(r234073, r234058, r234069);
double r234075 = pow(r234067, r234058);
double r234076 = r234059 * r234075;
double r234077 = U_;
double r234078 = r234055 - r234077;
double r234079 = r234076 * r234078;
double r234080 = r234074 - r234079;
double r234081 = r234061 * r234080;
double r234082 = r234072 + r234081;
double r234083 = sqrt(r234082);
double r234084 = sqrt(r234083);
double r234085 = r234058 * r234068;
double r234086 = r234062 - r234085;
double r234087 = r234086 - r234079;
double r234088 = r234061 * r234087;
double r234089 = sqrt(r234088);
double r234090 = sqrt(r234089);
double r234091 = r234084 * r234090;
double r234092 = -1.204005349939272e-253;
bool r234093 = r234055 <= r234092;
double r234094 = r234055 * r234087;
double r234095 = r234060 * r234094;
double r234096 = sqrt(r234095);
double r234097 = 6.439420512747884e-49;
bool r234098 = r234055 <= r234097;
double r234099 = r234075 * r234078;
double r234100 = r234059 * r234099;
double r234101 = r234086 - r234100;
double r234102 = r234061 * r234101;
double r234103 = sqrt(r234102);
double r234104 = 618493014635577.0;
bool r234105 = r234055 <= r234104;
double r234106 = sqrt(r234061);
double r234107 = sqrt(r234087);
double r234108 = r234106 * r234107;
double r234109 = pow(r234065, r234058);
double r234110 = r234059 * r234109;
double r234111 = 1.0;
double r234112 = r234111 / r234066;
double r234113 = pow(r234112, r234058);
double r234114 = r234110 * r234113;
double r234115 = r234114 * r234078;
double r234116 = r234086 - r234115;
double r234117 = r234061 * r234116;
double r234118 = sqrt(r234117);
double r234119 = r234105 ? r234108 : r234118;
double r234120 = r234098 ? r234103 : r234119;
double r234121 = r234093 ? r234096 : r234120;
double r234122 = r234057 ? r234091 : r234121;
return r234122;
}



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 < -1.0767102983872018e-93Initial program 30.6
rmApplied *-un-lft-identity30.6
Applied times-frac27.1
Simplified27.1
rmApplied add-sqr-sqrt27.3
rmApplied add-cube-cbrt27.4
Applied prod-diff27.4
Applied associate--l+27.4
Applied distribute-lft-in27.4
if -1.0767102983872018e-93 < U < -1.204005349939272e-253Initial program 38.6
rmApplied *-un-lft-identity38.6
Applied times-frac36.8
Simplified36.8
rmApplied associate-*l*32.5
if -1.204005349939272e-253 < U < 6.439420512747884e-49Initial program 39.6
rmApplied *-un-lft-identity39.6
Applied times-frac37.2
Simplified37.2
rmApplied associate-*l*36.6
if 6.439420512747884e-49 < U < 618493014635577.0Initial program 29.0
rmApplied *-un-lft-identity29.0
Applied times-frac25.3
Simplified25.3
rmApplied sqrt-prod39.2
if 618493014635577.0 < U Initial program 28.7
rmApplied *-un-lft-identity28.7
Applied times-frac26.0
Simplified26.0
rmApplied div-inv26.0
Applied unpow-prod-down31.8
Applied associate-*r*31.8
Final simplification32.7
herbie shell --seed 2020024 +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*))))))