\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 -1.77082420255664932142459979130796319176 \cdot 10^{-147}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot \left(U \cdot \left(\sqrt[3]{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt[3]{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\right)\right)}\right)\right)\right) \cdot \sqrt[3]{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}}\\
\mathbf{elif}\;t \le 3.19389681298425902451773616259157226606 \cdot 10^{84}:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \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 r178696 = 2.0;
double r178697 = n;
double r178698 = r178696 * r178697;
double r178699 = U;
double r178700 = r178698 * r178699;
double r178701 = t;
double r178702 = l;
double r178703 = r178702 * r178702;
double r178704 = Om;
double r178705 = r178703 / r178704;
double r178706 = r178696 * r178705;
double r178707 = r178701 - r178706;
double r178708 = r178702 / r178704;
double r178709 = pow(r178708, r178696);
double r178710 = r178697 * r178709;
double r178711 = U_;
double r178712 = r178699 - r178711;
double r178713 = r178710 * r178712;
double r178714 = r178707 - r178713;
double r178715 = r178700 * r178714;
double r178716 = sqrt(r178715);
return r178716;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r178717 = t;
double r178718 = -1.7708242025566493e-147;
bool r178719 = r178717 <= r178718;
double r178720 = 2.0;
double r178721 = n;
double r178722 = r178720 * r178721;
double r178723 = U;
double r178724 = l;
double r178725 = Om;
double r178726 = r178724 / r178725;
double r178727 = r178724 * r178726;
double r178728 = 2.0;
double r178729 = r178720 / r178728;
double r178730 = r178728 * r178729;
double r178731 = pow(r178726, r178730);
double r178732 = r178731 * r178721;
double r178733 = U_;
double r178734 = r178723 - r178733;
double r178735 = r178732 * r178734;
double r178736 = fma(r178720, r178727, r178735);
double r178737 = r178717 - r178736;
double r178738 = cbrt(r178737);
double r178739 = r178738 * r178738;
double r178740 = r178723 * r178739;
double r178741 = r178722 * r178740;
double r178742 = r178720 * r178727;
double r178743 = r178717 - r178742;
double r178744 = pow(r178726, r178729);
double r178745 = r178721 * r178744;
double r178746 = r178734 * r178744;
double r178747 = r178745 * r178746;
double r178748 = r178743 - r178747;
double r178749 = cbrt(r178748);
double r178750 = r178741 * r178749;
double r178751 = sqrt(r178750);
double r178752 = 3.193896812984259e+84;
bool r178753 = r178717 <= r178752;
double r178754 = r178722 * r178723;
double r178755 = r178745 * r178744;
double r178756 = r178755 * r178734;
double r178757 = r178743 - r178756;
double r178758 = r178754 * r178757;
double r178759 = sqrt(r178758);
double r178760 = sqrt(r178754);
double r178761 = sqrt(r178737);
double r178762 = r178760 * r178761;
double r178763 = r178753 ? r178759 : r178762;
double r178764 = r178719 ? r178751 : r178763;
return r178764;
}



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 < -1.7708242025566493e-147Initial program 33.8
rmApplied *-un-lft-identity33.8
Applied times-frac30.6
Simplified30.6
rmApplied sqr-pow30.6
Applied associate-*r*30.0
rmApplied associate-*l*30.1
Simplified30.1
rmApplied add-cube-cbrt30.4
Applied associate-*r*30.4
Simplified30.2
if -1.7708242025566493e-147 < t < 3.193896812984259e+84Initial program 35.0
rmApplied *-un-lft-identity35.0
Applied times-frac32.3
Simplified32.3
rmApplied sqr-pow32.3
Applied associate-*r*31.2
if 3.193896812984259e+84 < t Initial program 36.8
rmApplied *-un-lft-identity36.8
Applied times-frac34.2
Simplified34.2
rmApplied sqr-pow34.2
Applied associate-*r*33.7
rmApplied associate-*l*34.0
Simplified34.0
rmApplied sqrt-prod25.7
Simplified25.7
Final simplification29.7
herbie shell --seed 2019323 +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*))))))