\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 3.2328584205801053 \cdot 10^{-251}:\\
\;\;\;\;\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot U - \frac{U*}{\frac{Om}{\ell}}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;t \le 4.9836541702388693 \cdot 10^{-157}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{Om} \cdot \ell, \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right)\right)}\\
\mathbf{elif}\;t \le 3.780023435277137 \cdot 10^{-09}:\\
\;\;\;\;\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot U - \frac{U*}{\frac{Om}{\ell}}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;t \le 3.750417619434724 \cdot 10^{+199}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{Om} \cdot \ell, \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right)\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{Om} \cdot \ell, \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \frac{\ell}{Om}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1183541 = 2.0;
double r1183542 = n;
double r1183543 = r1183541 * r1183542;
double r1183544 = U;
double r1183545 = r1183543 * r1183544;
double r1183546 = t;
double r1183547 = l;
double r1183548 = r1183547 * r1183547;
double r1183549 = Om;
double r1183550 = r1183548 / r1183549;
double r1183551 = r1183541 * r1183550;
double r1183552 = r1183546 - r1183551;
double r1183553 = r1183547 / r1183549;
double r1183554 = pow(r1183553, r1183541);
double r1183555 = r1183542 * r1183554;
double r1183556 = U_;
double r1183557 = r1183544 - r1183556;
double r1183558 = r1183555 * r1183557;
double r1183559 = r1183552 - r1183558;
double r1183560 = r1183545 * r1183559;
double r1183561 = sqrt(r1183560);
return r1183561;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1183562 = t;
double r1183563 = 3.2328584205801053e-251;
bool r1183564 = r1183562 <= r1183563;
double r1183565 = 2.0;
double r1183566 = l;
double r1183567 = Om;
double r1183568 = r1183567 / r1183566;
double r1183569 = r1183566 / r1183568;
double r1183570 = r1183565 * r1183569;
double r1183571 = r1183562 - r1183570;
double r1183572 = r1183566 / r1183567;
double r1183573 = n;
double r1183574 = r1183572 * r1183573;
double r1183575 = U;
double r1183576 = r1183572 * r1183575;
double r1183577 = U_;
double r1183578 = r1183577 / r1183568;
double r1183579 = r1183576 - r1183578;
double r1183580 = r1183574 * r1183579;
double r1183581 = r1183571 - r1183580;
double r1183582 = r1183565 * r1183573;
double r1183583 = r1183582 * r1183575;
double r1183584 = r1183581 * r1183583;
double r1183585 = sqrt(r1183584);
double r1183586 = 4.9836541702388693e-157;
bool r1183587 = r1183562 <= r1183586;
double r1183588 = sqrt(r1183583);
double r1183589 = r1183572 * r1183566;
double r1183590 = r1183575 - r1183577;
double r1183591 = r1183574 * r1183572;
double r1183592 = r1183590 * r1183591;
double r1183593 = fma(r1183565, r1183589, r1183592);
double r1183594 = r1183562 - r1183593;
double r1183595 = sqrt(r1183594);
double r1183596 = r1183588 * r1183595;
double r1183597 = 3.780023435277137e-09;
bool r1183598 = r1183562 <= r1183597;
double r1183599 = 3.750417619434724e+199;
bool r1183600 = r1183562 <= r1183599;
double r1183601 = r1183594 * r1183575;
double r1183602 = r1183582 * r1183601;
double r1183603 = sqrt(r1183602);
double r1183604 = r1183600 ? r1183603 : r1183596;
double r1183605 = r1183598 ? r1183585 : r1183604;
double r1183606 = r1183587 ? r1183596 : r1183605;
double r1183607 = r1183564 ? r1183585 : r1183606;
return r1183607;
}



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 < 3.2328584205801053e-251 or 4.9836541702388693e-157 < t < 3.780023435277137e-09Initial program 32.4
rmApplied associate-/l*29.9
rmApplied unpow229.9
Applied associate-*r*29.0
rmApplied associate-*l*28.9
Taylor expanded around 0 31.0
Simplified28.9
if 3.2328584205801053e-251 < t < 4.9836541702388693e-157 or 3.750417619434724e+199 < t Initial program 38.0
rmApplied associate-/l*35.9
rmApplied unpow235.9
Applied associate-*r*34.8
rmApplied associate-*l*34.7
rmApplied sqrt-prod27.5
Simplified27.2
if 3.780023435277137e-09 < t < 3.750417619434724e+199Initial program 30.2
rmApplied associate-/l*26.9
rmApplied unpow226.9
Applied associate-*r*26.6
rmApplied associate-*l*26.7
rmApplied associate-*l*26.6
Simplified26.3
Final simplification28.2
herbie shell --seed 2019156 +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*))))))