\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 -2.91138552679685006846860711181604876416 \cdot 10^{178}:\\
\;\;\;\;\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(\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)}\\
\mathbf{elif}\;t \le -2.99207439904474513830909419640009574747 \cdot 10^{97}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)}} \cdot \sqrt{\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)}}\\
\mathbf{elif}\;t \le 1.664268146426151312546296416098443579856 \cdot 10^{-294}:\\
\;\;\;\;\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(\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)}\\
\mathbf{elif}\;t \le 2.6537513056737148695584217694138294538 \cdot 10^{-145} \lor \neg \left(t \le 1.248295602955021596545459106660652670584 \cdot 10^{-8}\right):\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2 \cdot \ell, \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)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - 2 \cdot \frac{{\ell}^{2}}{Om}\right)\right) + \left(U - U*\right) \cdot \left(\left(-{\left(\sqrt[3]{n}\right)}^{3} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r206526 = 2.0;
double r206527 = n;
double r206528 = r206526 * r206527;
double r206529 = U;
double r206530 = r206528 * r206529;
double r206531 = t;
double r206532 = l;
double r206533 = r206532 * r206532;
double r206534 = Om;
double r206535 = r206533 / r206534;
double r206536 = r206526 * r206535;
double r206537 = r206531 - r206536;
double r206538 = r206532 / r206534;
double r206539 = pow(r206538, r206526);
double r206540 = r206527 * r206539;
double r206541 = U_;
double r206542 = r206529 - r206541;
double r206543 = r206540 * r206542;
double r206544 = r206537 - r206543;
double r206545 = r206530 * r206544;
double r206546 = sqrt(r206545);
return r206546;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r206547 = t;
double r206548 = -2.91138552679685e+178;
bool r206549 = r206547 <= r206548;
double r206550 = 2.0;
double r206551 = n;
double r206552 = r206550 * r206551;
double r206553 = U;
double r206554 = r206552 * r206553;
double r206555 = l;
double r206556 = Om;
double r206557 = r206555 / r206556;
double r206558 = r206555 * r206557;
double r206559 = r206550 * r206558;
double r206560 = r206547 - r206559;
double r206561 = 2.0;
double r206562 = r206550 / r206561;
double r206563 = pow(r206557, r206562);
double r206564 = r206551 * r206563;
double r206565 = r206564 * r206563;
double r206566 = U_;
double r206567 = r206553 - r206566;
double r206568 = r206565 * r206567;
double r206569 = r206560 - r206568;
double r206570 = r206554 * r206569;
double r206571 = sqrt(r206570);
double r206572 = -2.992074399044745e+97;
bool r206573 = r206547 <= r206572;
double r206574 = r206555 * r206555;
double r206575 = r206574 / r206556;
double r206576 = pow(r206557, r206550);
double r206577 = r206576 * r206567;
double r206578 = r206577 * r206551;
double r206579 = fma(r206550, r206575, r206578);
double r206580 = r206547 - r206579;
double r206581 = r206553 * r206580;
double r206582 = r206581 * r206552;
double r206583 = sqrt(r206582);
double r206584 = sqrt(r206583);
double r206585 = r206584 * r206584;
double r206586 = 1.6642681464261513e-294;
bool r206587 = r206547 <= r206586;
double r206588 = 2.653751305673715e-145;
bool r206589 = r206547 <= r206588;
double r206590 = 1.2482956029550216e-08;
bool r206591 = r206547 <= r206590;
double r206592 = !r206591;
bool r206593 = r206589 || r206592;
double r206594 = sqrt(r206554);
double r206595 = r206550 * r206555;
double r206596 = r206561 * r206562;
double r206597 = pow(r206557, r206596);
double r206598 = r206551 * r206597;
double r206599 = r206567 * r206598;
double r206600 = fma(r206595, r206557, r206599);
double r206601 = r206547 - r206600;
double r206602 = sqrt(r206601);
double r206603 = r206594 * r206602;
double r206604 = pow(r206555, r206561);
double r206605 = r206604 / r206556;
double r206606 = r206550 * r206605;
double r206607 = r206547 - r206606;
double r206608 = r206553 * r206607;
double r206609 = r206552 * r206608;
double r206610 = cbrt(r206551);
double r206611 = 3.0;
double r206612 = pow(r206610, r206611);
double r206613 = r206612 * r206597;
double r206614 = -r206613;
double r206615 = r206614 * r206554;
double r206616 = r206567 * r206615;
double r206617 = r206609 + r206616;
double r206618 = sqrt(r206617);
double r206619 = r206593 ? r206603 : r206618;
double r206620 = r206587 ? r206571 : r206619;
double r206621 = r206573 ? r206585 : r206620;
double r206622 = r206549 ? r206571 : r206621;
return r206622;
}



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 < -2.91138552679685e+178 or -2.992074399044745e+97 < t < 1.6642681464261513e-294Initial program 34.3
rmApplied *-un-lft-identity34.3
Applied times-frac31.7
Simplified31.7
rmApplied sqr-pow31.7
Applied associate-*r*30.7
if -2.91138552679685e+178 < t < -2.992074399044745e+97Initial program 35.1
rmApplied add-sqr-sqrt35.3
Simplified39.1
Simplified34.1
if 1.6642681464261513e-294 < t < 2.653751305673715e-145 or 1.2482956029550216e-08 < t Initial program 35.8
rmApplied *-un-lft-identity35.8
Applied times-frac33.5
Simplified33.5
rmApplied sqr-pow33.5
Applied associate-*r*32.6
rmApplied sqrt-prod28.8
Simplified29.4
if 2.653751305673715e-145 < t < 1.2482956029550216e-08Initial program 31.6
rmApplied *-un-lft-identity31.6
Applied times-frac28.9
Simplified28.9
rmApplied sqr-pow28.9
Applied associate-*r*28.3
rmApplied add-cube-cbrt28.4
Applied associate-*l*28.3
rmApplied sub-neg28.3
Applied distribute-lft-in28.3
Simplified31.0
Simplified32.1
Final simplification30.6
herbie shell --seed 2019303 +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*))))))