\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 -4.4451804611309516 \cdot 10^{+70}:\\
\;\;\;\;\sqrt{\left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \frac{\left(n \cdot \ell\right) \cdot \frac{\ell}{Om}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{U - U*}{\sqrt[3]{Om}}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;U \le -3.1769776407334526 \cdot 10^{-289}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(\ell \cdot 2, \frac{\ell}{Om}, \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot \left(2 \cdot n\right)}\\
\mathbf{elif}\;U \le 3.336337607476201 \cdot 10^{-207}:\\
\;\;\;\;\sqrt{\left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \frac{\left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \ell\right)}{Om}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;U \le 3.2878796761193827 \cdot 10^{+96}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(\ell \cdot 2, \frac{\ell}{Om}, \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot \left(2 \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\mathsf{fma}\left(\frac{\ell \cdot \ell}{Om}, -2, t\right) - \left(\frac{\frac{\ell \cdot \ell}{Om}}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r927514 = 2.0;
double r927515 = n;
double r927516 = r927514 * r927515;
double r927517 = U;
double r927518 = r927516 * r927517;
double r927519 = t;
double r927520 = l;
double r927521 = r927520 * r927520;
double r927522 = Om;
double r927523 = r927521 / r927522;
double r927524 = r927514 * r927523;
double r927525 = r927519 - r927524;
double r927526 = r927520 / r927522;
double r927527 = pow(r927526, r927514);
double r927528 = r927515 * r927527;
double r927529 = U_;
double r927530 = r927517 - r927529;
double r927531 = r927528 * r927530;
double r927532 = r927525 - r927531;
double r927533 = r927518 * r927532;
double r927534 = sqrt(r927533);
return r927534;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r927535 = U;
double r927536 = -4.4451804611309516e+70;
bool r927537 = r927535 <= r927536;
double r927538 = t;
double r927539 = 2.0;
double r927540 = l;
double r927541 = Om;
double r927542 = r927540 / r927541;
double r927543 = r927540 * r927542;
double r927544 = r927539 * r927543;
double r927545 = r927538 - r927544;
double r927546 = n;
double r927547 = r927546 * r927540;
double r927548 = r927547 * r927542;
double r927549 = cbrt(r927541);
double r927550 = r927549 * r927549;
double r927551 = r927548 / r927550;
double r927552 = U_;
double r927553 = r927535 - r927552;
double r927554 = r927553 / r927549;
double r927555 = r927551 * r927554;
double r927556 = r927545 - r927555;
double r927557 = r927539 * r927546;
double r927558 = r927557 * r927535;
double r927559 = r927556 * r927558;
double r927560 = sqrt(r927559);
double r927561 = -3.1769776407334526e-289;
bool r927562 = r927535 <= r927561;
double r927563 = r927540 * r927539;
double r927564 = r927546 * r927542;
double r927565 = r927542 * r927564;
double r927566 = r927565 * r927553;
double r927567 = fma(r927563, r927542, r927566);
double r927568 = r927538 - r927567;
double r927569 = r927535 * r927568;
double r927570 = r927569 * r927557;
double r927571 = sqrt(r927570);
double r927572 = 3.336337607476201e-207;
bool r927573 = r927535 <= r927572;
double r927574 = r927553 * r927542;
double r927575 = r927574 * r927547;
double r927576 = r927575 / r927541;
double r927577 = r927545 - r927576;
double r927578 = r927577 * r927558;
double r927579 = sqrt(r927578);
double r927580 = 3.2878796761193827e+96;
bool r927581 = r927535 <= r927580;
double r927582 = r927540 * r927540;
double r927583 = r927582 / r927541;
double r927584 = -2.0;
double r927585 = fma(r927583, r927584, r927538);
double r927586 = r927583 / r927541;
double r927587 = r927586 * r927546;
double r927588 = r927587 * r927553;
double r927589 = r927585 - r927588;
double r927590 = r927558 * r927589;
double r927591 = sqrt(r927590);
double r927592 = r927581 ? r927571 : r927591;
double r927593 = r927573 ? r927579 : r927592;
double r927594 = r927562 ? r927571 : r927593;
double r927595 = r927537 ? r927560 : r927594;
return r927595;
}



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 < -4.4451804611309516e+70Initial program 27.5
rmApplied *-un-lft-identity27.5
Applied times-frac24.8
Simplified24.8
rmApplied unpow224.8
Applied associate-*r*24.4
rmApplied associate-*r/24.7
Applied associate-*l/24.8
Applied associate-*l/24.9
rmApplied add-cube-cbrt24.9
Applied times-frac25.7
if -4.4451804611309516e+70 < U < -3.1769776407334526e-289 or 3.336337607476201e-207 < U < 3.2878796761193827e+96Initial program 33.1
rmApplied *-un-lft-identity33.1
Applied times-frac30.3
Simplified30.3
rmApplied unpow230.3
Applied associate-*r*29.2
rmApplied associate-*l*26.9
Simplified26.9
if -3.1769776407334526e-289 < U < 3.336337607476201e-207Initial program 42.8
rmApplied *-un-lft-identity42.8
Applied times-frac41.6
Simplified41.6
rmApplied unpow241.6
Applied associate-*r*40.7
rmApplied associate-*r/41.7
Applied associate-*l/41.9
Applied associate-*l/41.6
rmApplied associate-*l*41.1
if 3.2878796761193827e+96 < U Initial program 26.1
Simplified26.6
Final simplification28.6
herbie shell --seed 2019155 +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*))))))