\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 -2.404830641220725 \cdot 10^{-23}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;U \le 2.988294289994973 \cdot 10^{+33}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1606670 = 2.0;
double r1606671 = n;
double r1606672 = r1606670 * r1606671;
double r1606673 = U;
double r1606674 = r1606672 * r1606673;
double r1606675 = t;
double r1606676 = l;
double r1606677 = r1606676 * r1606676;
double r1606678 = Om;
double r1606679 = r1606677 / r1606678;
double r1606680 = r1606670 * r1606679;
double r1606681 = r1606675 - r1606680;
double r1606682 = r1606676 / r1606678;
double r1606683 = pow(r1606682, r1606670);
double r1606684 = r1606671 * r1606683;
double r1606685 = U_;
double r1606686 = r1606673 - r1606685;
double r1606687 = r1606684 * r1606686;
double r1606688 = r1606681 - r1606687;
double r1606689 = r1606674 * r1606688;
double r1606690 = sqrt(r1606689);
return r1606690;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1606691 = U;
double r1606692 = -2.404830641220725e-23;
bool r1606693 = r1606691 <= r1606692;
double r1606694 = 2.0;
double r1606695 = n;
double r1606696 = r1606694 * r1606695;
double r1606697 = r1606696 * r1606691;
double r1606698 = t;
double r1606699 = l;
double r1606700 = Om;
double r1606701 = r1606700 / r1606699;
double r1606702 = r1606699 / r1606701;
double r1606703 = r1606699 / r1606700;
double r1606704 = r1606695 * r1606703;
double r1606705 = r1606704 * r1606703;
double r1606706 = U_;
double r1606707 = r1606691 - r1606706;
double r1606708 = r1606705 * r1606707;
double r1606709 = fma(r1606694, r1606702, r1606708);
double r1606710 = r1606698 - r1606709;
double r1606711 = r1606697 * r1606710;
double r1606712 = sqrt(r1606711);
double r1606713 = 2.988294289994973e+33;
bool r1606714 = r1606691 <= r1606713;
double r1606715 = cbrt(r1606695);
double r1606716 = r1606715 * r1606715;
double r1606717 = r1606715 * r1606703;
double r1606718 = r1606716 * r1606717;
double r1606719 = r1606718 * r1606703;
double r1606720 = r1606719 * r1606707;
double r1606721 = fma(r1606694, r1606702, r1606720);
double r1606722 = r1606698 - r1606721;
double r1606723 = r1606722 * r1606691;
double r1606724 = r1606696 * r1606723;
double r1606725 = sqrt(r1606724);
double r1606726 = r1606714 ? r1606725 : r1606712;
double r1606727 = r1606693 ? r1606712 : r1606726;
return r1606727;
}



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 < -2.404830641220725e-23 or 2.988294289994973e+33 < U Initial program 27.5
rmApplied associate-*l*33.0
Simplified31.8
rmApplied associate-*r*31.4
rmApplied associate-*r*23.8
if -2.404830641220725e-23 < U < 2.988294289994973e+33Initial program 36.7
rmApplied associate-*l*33.3
Simplified30.0
rmApplied associate-*r*28.5
rmApplied add-cube-cbrt28.5
Applied associate-*l*28.5
Final simplification26.8
herbie shell --seed 2019135 +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*))))))