\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 -6.91196995030997124 \cdot 10^{-112}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-\left(U - U*\right)\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{elif}\;t \le -9.9485946520639865 \cdot 10^{-278}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)\right)}}\\
\mathbf{elif}\;t \le 9.1427043924686566 \cdot 10^{-283}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\mathbf{elif}\;t \le 65976789463.483231:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\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)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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 r170425 = 2.0;
double r170426 = n;
double r170427 = r170425 * r170426;
double r170428 = U;
double r170429 = r170427 * r170428;
double r170430 = t;
double r170431 = l;
double r170432 = r170431 * r170431;
double r170433 = Om;
double r170434 = r170432 / r170433;
double r170435 = r170425 * r170434;
double r170436 = r170430 - r170435;
double r170437 = r170431 / r170433;
double r170438 = pow(r170437, r170425);
double r170439 = r170426 * r170438;
double r170440 = U_;
double r170441 = r170428 - r170440;
double r170442 = r170439 * r170441;
double r170443 = r170436 - r170442;
double r170444 = r170429 * r170443;
double r170445 = sqrt(r170444);
return r170445;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170446 = t;
double r170447 = -6.911969950309971e-112;
bool r170448 = r170446 <= r170447;
double r170449 = 2.0;
double r170450 = n;
double r170451 = r170449 * r170450;
double r170452 = l;
double r170453 = Om;
double r170454 = r170453 / r170452;
double r170455 = r170452 / r170454;
double r170456 = r170449 * r170455;
double r170457 = U;
double r170458 = U_;
double r170459 = r170457 - r170458;
double r170460 = -r170459;
double r170461 = r170452 / r170453;
double r170462 = 2.0;
double r170463 = r170449 / r170462;
double r170464 = r170462 * r170463;
double r170465 = pow(r170461, r170464);
double r170466 = r170450 * r170465;
double r170467 = r170460 * r170466;
double r170468 = r170456 - r170467;
double r170469 = r170446 - r170468;
double r170470 = r170451 * r170469;
double r170471 = r170470 * r170457;
double r170472 = 1.0;
double r170473 = pow(r170471, r170472);
double r170474 = sqrt(r170473);
double r170475 = -9.948594652063987e-278;
bool r170476 = r170446 <= r170475;
double r170477 = r170446 - r170456;
double r170478 = pow(r170461, r170463);
double r170479 = r170450 * r170478;
double r170480 = r170479 * r170478;
double r170481 = r170480 * r170459;
double r170482 = r170477 - r170481;
double r170483 = r170457 * r170482;
double r170484 = r170451 * r170483;
double r170485 = sqrt(r170484);
double r170486 = sqrt(r170485);
double r170487 = r170486 * r170486;
double r170488 = 9.142704392468657e-283;
bool r170489 = r170446 <= r170488;
double r170490 = r170451 * r170457;
double r170491 = sqrt(r170490);
double r170492 = pow(r170461, r170449);
double r170493 = r170450 * r170492;
double r170494 = r170493 * r170459;
double r170495 = r170477 - r170494;
double r170496 = sqrt(r170495);
double r170497 = r170491 * r170496;
double r170498 = 65976789463.48323;
bool r170499 = r170446 <= r170498;
double r170500 = r170478 * r170459;
double r170501 = r170479 * r170500;
double r170502 = r170477 - r170501;
double r170503 = r170457 * r170502;
double r170504 = r170451 * r170503;
double r170505 = sqrt(r170504);
double r170506 = r170499 ? r170505 : r170497;
double r170507 = r170489 ? r170497 : r170506;
double r170508 = r170476 ? r170487 : r170507;
double r170509 = r170448 ? r170474 : r170508;
return r170509;
}



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 < -6.911969950309971e-112Initial program 32.3
rmApplied associate-/l*30.1
rmApplied associate-*l*30.8
rmApplied sqr-pow30.8
Applied associate-*r*30.2
rmApplied pow130.2
Applied pow130.2
Applied pow-prod-down30.2
Applied pow130.2
Applied pow130.2
Applied pow-prod-down30.2
Applied pow-prod-down30.2
Simplified29.6
if -6.911969950309971e-112 < t < -9.948594652063987e-278Initial program 36.0
rmApplied associate-/l*33.1
rmApplied associate-*l*33.0
rmApplied sqr-pow33.0
Applied associate-*r*31.2
rmApplied add-sqr-sqrt31.3
if -9.948594652063987e-278 < t < 9.142704392468657e-283 or 65976789463.48323 < t Initial program 34.8
rmApplied associate-/l*32.2
rmApplied sqrt-prod28.8
if 9.142704392468657e-283 < t < 65976789463.48323Initial program 33.7
rmApplied associate-/l*30.6
rmApplied associate-*l*30.7
rmApplied sqr-pow30.7
Applied associate-*r*29.2
rmApplied associate-*l*29.0
Final simplification29.5
herbie shell --seed 2020039 +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*))))))