\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 3.4326890653531773 \cdot 10^{-209}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;U \le 4.01065547685328 \cdot 10^{-153}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\
\mathbf{elif}\;U \le 4.409850644311801 \cdot 10^{+95}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1724392 = 2.0;
double r1724393 = n;
double r1724394 = r1724392 * r1724393;
double r1724395 = U;
double r1724396 = r1724394 * r1724395;
double r1724397 = t;
double r1724398 = l;
double r1724399 = r1724398 * r1724398;
double r1724400 = Om;
double r1724401 = r1724399 / r1724400;
double r1724402 = r1724392 * r1724401;
double r1724403 = r1724397 - r1724402;
double r1724404 = r1724398 / r1724400;
double r1724405 = pow(r1724404, r1724392);
double r1724406 = r1724393 * r1724405;
double r1724407 = U_;
double r1724408 = r1724395 - r1724407;
double r1724409 = r1724406 * r1724408;
double r1724410 = r1724403 - r1724409;
double r1724411 = r1724396 * r1724410;
double r1724412 = sqrt(r1724411);
return r1724412;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1724413 = U;
double r1724414 = 3.4326890653531773e-209;
bool r1724415 = r1724413 <= r1724414;
double r1724416 = t;
double r1724417 = l;
double r1724418 = Om;
double r1724419 = r1724417 / r1724418;
double r1724420 = 2.0;
double r1724421 = r1724417 * r1724420;
double r1724422 = n;
double r1724423 = cbrt(r1724413);
double r1724424 = r1724423 * r1724423;
double r1724425 = U_;
double r1724426 = -r1724425;
double r1724427 = fma(r1724424, r1724423, r1724426);
double r1724428 = r1724427 * r1724419;
double r1724429 = r1724422 * r1724428;
double r1724430 = r1724429 * r1724419;
double r1724431 = 1.0;
double r1724432 = fma(r1724426, r1724431, r1724425);
double r1724433 = r1724419 * r1724432;
double r1724434 = r1724422 * r1724419;
double r1724435 = r1724433 * r1724434;
double r1724436 = r1724430 + r1724435;
double r1724437 = fma(r1724419, r1724421, r1724436);
double r1724438 = r1724416 - r1724437;
double r1724439 = r1724420 * r1724422;
double r1724440 = r1724439 * r1724413;
double r1724441 = r1724438 * r1724440;
double r1724442 = sqrt(r1724441);
double r1724443 = 4.01065547685328e-153;
bool r1724444 = r1724413 <= r1724443;
double r1724445 = sqrt(r1724413);
double r1724446 = r1724413 - r1724425;
double r1724447 = r1724419 * r1724419;
double r1724448 = r1724446 * r1724447;
double r1724449 = r1724448 * r1724422;
double r1724450 = fma(r1724419, r1724421, r1724449);
double r1724451 = r1724416 - r1724450;
double r1724452 = r1724439 * r1724451;
double r1724453 = sqrt(r1724452);
double r1724454 = r1724445 * r1724453;
double r1724455 = 4.409850644311801e+95;
bool r1724456 = r1724413 <= r1724455;
double r1724457 = r1724456 ? r1724442 : r1724454;
double r1724458 = r1724444 ? r1724454 : r1724457;
double r1724459 = r1724415 ? r1724442 : r1724458;
return r1724459;
}



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 < 3.4326890653531773e-209 or 4.01065547685328e-153 < U < 4.409850644311801e+95Initial program 33.3
Simplified32.1
rmApplied associate-*r*31.3
rmApplied associate-*l*30.6
rmApplied *-un-lft-identity30.6
Applied add-cube-cbrt30.6
Applied prod-diff30.6
Applied distribute-lft-in30.6
Applied distribute-lft-in30.6
Applied distribute-rgt-in30.6
Simplified29.8
Simplified29.9
if 3.4326890653531773e-209 < U < 4.01065547685328e-153 or 4.409850644311801e+95 < U Initial program 31.6
Simplified31.9
rmApplied sqrt-prod22.6
Final simplification28.6
herbie shell --seed 2019128 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))