\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 r2322697 = 2.0;
double r2322698 = n;
double r2322699 = r2322697 * r2322698;
double r2322700 = U;
double r2322701 = r2322699 * r2322700;
double r2322702 = t;
double r2322703 = l;
double r2322704 = r2322703 * r2322703;
double r2322705 = Om;
double r2322706 = r2322704 / r2322705;
double r2322707 = r2322697 * r2322706;
double r2322708 = r2322702 - r2322707;
double r2322709 = r2322703 / r2322705;
double r2322710 = pow(r2322709, r2322697);
double r2322711 = r2322698 * r2322710;
double r2322712 = U_;
double r2322713 = r2322700 - r2322712;
double r2322714 = r2322711 * r2322713;
double r2322715 = r2322708 - r2322714;
double r2322716 = r2322701 * r2322715;
double r2322717 = sqrt(r2322716);
return r2322717;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2322718 = U;
double r2322719 = -2.404830641220725e-23;
bool r2322720 = r2322718 <= r2322719;
double r2322721 = 2.0;
double r2322722 = n;
double r2322723 = r2322721 * r2322722;
double r2322724 = r2322723 * r2322718;
double r2322725 = t;
double r2322726 = l;
double r2322727 = Om;
double r2322728 = r2322727 / r2322726;
double r2322729 = r2322726 / r2322728;
double r2322730 = r2322726 / r2322727;
double r2322731 = r2322722 * r2322730;
double r2322732 = r2322731 * r2322730;
double r2322733 = U_;
double r2322734 = r2322718 - r2322733;
double r2322735 = r2322732 * r2322734;
double r2322736 = fma(r2322721, r2322729, r2322735);
double r2322737 = r2322725 - r2322736;
double r2322738 = r2322724 * r2322737;
double r2322739 = sqrt(r2322738);
double r2322740 = 2.988294289994973e+33;
bool r2322741 = r2322718 <= r2322740;
double r2322742 = cbrt(r2322722);
double r2322743 = r2322742 * r2322742;
double r2322744 = r2322742 * r2322730;
double r2322745 = r2322743 * r2322744;
double r2322746 = r2322745 * r2322730;
double r2322747 = r2322746 * r2322734;
double r2322748 = fma(r2322721, r2322729, r2322747);
double r2322749 = r2322725 - r2322748;
double r2322750 = r2322749 * r2322718;
double r2322751 = r2322723 * r2322750;
double r2322752 = sqrt(r2322751);
double r2322753 = r2322741 ? r2322752 : r2322739;
double r2322754 = r2322720 ? r2322739 : r2322753;
return r2322754;
}



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*))))))