\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.69377638721043389061730150231150526438 \cdot 10^{-278} \lor \neg \left(t \le 1.201900539256645067229719544001952040476 \cdot 10^{-58}\right) \land t \le 5.865833813155722386854733087312992545187 \cdot 10^{144}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(\left(n \cdot {\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \ell \cdot \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)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r104293 = 2.0;
double r104294 = n;
double r104295 = r104293 * r104294;
double r104296 = U;
double r104297 = r104295 * r104296;
double r104298 = t;
double r104299 = l;
double r104300 = r104299 * r104299;
double r104301 = Om;
double r104302 = r104300 / r104301;
double r104303 = r104293 * r104302;
double r104304 = r104298 - r104303;
double r104305 = r104299 / r104301;
double r104306 = pow(r104305, r104293);
double r104307 = r104294 * r104306;
double r104308 = U_;
double r104309 = r104296 - r104308;
double r104310 = r104307 * r104309;
double r104311 = r104304 - r104310;
double r104312 = r104297 * r104311;
double r104313 = sqrt(r104312);
return r104313;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r104314 = t;
double r104315 = 4.693776387210434e-278;
bool r104316 = r104314 <= r104315;
double r104317 = 1.201900539256645e-58;
bool r104318 = r104314 <= r104317;
double r104319 = !r104318;
double r104320 = 5.8658338131557224e+144;
bool r104321 = r104314 <= r104320;
bool r104322 = r104319 && r104321;
bool r104323 = r104316 || r104322;
double r104324 = 2.0;
double r104325 = l;
double r104326 = Om;
double r104327 = r104325 / r104326;
double r104328 = r104325 * r104327;
double r104329 = n;
double r104330 = cbrt(r104325);
double r104331 = r104330 * r104330;
double r104332 = 2.0;
double r104333 = r104324 / r104332;
double r104334 = pow(r104331, r104333);
double r104335 = r104329 * r104334;
double r104336 = r104330 / r104326;
double r104337 = pow(r104336, r104333);
double r104338 = r104335 * r104337;
double r104339 = pow(r104327, r104333);
double r104340 = U;
double r104341 = U_;
double r104342 = r104340 - r104341;
double r104343 = r104339 * r104342;
double r104344 = r104338 * r104343;
double r104345 = fma(r104324, r104328, r104344);
double r104346 = r104314 - r104345;
double r104347 = r104324 * r104329;
double r104348 = r104347 * r104340;
double r104349 = r104346 * r104348;
double r104350 = sqrt(r104349);
double r104351 = r104332 * r104333;
double r104352 = pow(r104327, r104351);
double r104353 = r104329 * r104352;
double r104354 = r104342 * r104353;
double r104355 = fma(r104324, r104328, r104354);
double r104356 = r104314 - r104355;
double r104357 = sqrt(r104356);
double r104358 = sqrt(r104348);
double r104359 = r104357 * r104358;
double r104360 = r104323 ? r104350 : r104359;
return r104360;
}



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 < 4.693776387210434e-278 or 1.201900539256645e-58 < t < 5.8658338131557224e+144Initial program 33.7
Simplified33.7
rmApplied *-un-lft-identity33.7
Applied times-frac31.0
Simplified31.0
rmApplied sqr-pow31.0
Applied associate-*r*30.2
rmApplied associate-*l*29.9
rmApplied *-un-lft-identity29.9
Applied add-cube-cbrt29.9
Applied times-frac29.9
Applied unpow-prod-down29.9
Applied associate-*r*30.3
Simplified30.3
if 4.693776387210434e-278 < t < 1.201900539256645e-58 or 5.8658338131557224e+144 < t Initial program 37.1
Simplified37.1
rmApplied *-un-lft-identity37.1
Applied times-frac34.7
Simplified34.7
rmApplied sqr-pow34.7
Applied associate-*r*33.9
rmApplied sqrt-prod29.6
Simplified30.1
Final simplification30.3
herbie shell --seed 2019306 +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*))))))