\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 4.212962541612979170205416594711283898702 \cdot 10^{117}:\\
\;\;\;\;\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(\left(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\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(\left(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r169188 = 2.0;
double r169189 = n;
double r169190 = r169188 * r169189;
double r169191 = U;
double r169192 = r169190 * r169191;
double r169193 = t;
double r169194 = l;
double r169195 = r169194 * r169194;
double r169196 = Om;
double r169197 = r169195 / r169196;
double r169198 = r169188 * r169197;
double r169199 = r169193 - r169198;
double r169200 = r169194 / r169196;
double r169201 = pow(r169200, r169188);
double r169202 = r169189 * r169201;
double r169203 = U_;
double r169204 = r169191 - r169203;
double r169205 = r169202 * r169204;
double r169206 = r169199 - r169205;
double r169207 = r169192 * r169206;
double r169208 = sqrt(r169207);
return r169208;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r169209 = t;
double r169210 = 4.212962541612979e+117;
bool r169211 = r169209 <= r169210;
double r169212 = 2.0;
double r169213 = n;
double r169214 = r169212 * r169213;
double r169215 = U;
double r169216 = r169214 * r169215;
double r169217 = l;
double r169218 = Om;
double r169219 = r169217 / r169218;
double r169220 = r169217 * r169219;
double r169221 = r169212 * r169220;
double r169222 = r169209 - r169221;
double r169223 = cbrt(r169219);
double r169224 = r169223 * r169223;
double r169225 = pow(r169224, r169212);
double r169226 = r169213 * r169225;
double r169227 = pow(r169223, r169212);
double r169228 = r169226 * r169227;
double r169229 = U_;
double r169230 = r169215 - r169229;
double r169231 = r169228 * r169230;
double r169232 = r169222 - r169231;
double r169233 = r169216 * r169232;
double r169234 = sqrt(r169233);
double r169235 = sqrt(r169234);
double r169236 = r169235 * r169235;
double r169237 = sqrt(r169216);
double r169238 = pow(r169219, r169212);
double r169239 = r169213 * r169238;
double r169240 = r169239 * r169230;
double r169241 = r169222 - r169240;
double r169242 = sqrt(r169241);
double r169243 = r169237 * r169242;
double r169244 = r169211 ? r169236 : r169243;
return r169244;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if t < 4.212962541612979e+117Initial program 34.4
rmApplied *-un-lft-identity34.4
Applied times-frac31.7
Simplified31.7
rmApplied add-cube-cbrt31.8
Applied unpow-prod-down31.8
Applied associate-*r*31.0
rmApplied add-sqr-sqrt31.2
if 4.212962541612979e+117 < t Initial program 37.7
rmApplied *-un-lft-identity37.7
Applied times-frac35.3
Simplified35.3
rmApplied sqrt-prod25.4
Final simplification30.2
herbie shell --seed 2019347 +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*))))))