\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.484360230131543375186529749532050760457 \cdot 10^{99}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(U* - U, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, t - 2 \cdot \left(\frac{\ell}{Om} \cdot \ell\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{elif}\;U \le 8.735191805518111351193305438007398926451 \cdot 10^{-172}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \mathsf{fma}\left(U* - U, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, t - 2 \cdot \left(\frac{\ell}{Om} \cdot \ell\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(U* - U, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, t - 2 \cdot \left(\frac{\ell}{Om} \cdot \ell\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2380775 = 2.0;
double r2380776 = n;
double r2380777 = r2380775 * r2380776;
double r2380778 = U;
double r2380779 = r2380777 * r2380778;
double r2380780 = t;
double r2380781 = l;
double r2380782 = r2380781 * r2380781;
double r2380783 = Om;
double r2380784 = r2380782 / r2380783;
double r2380785 = r2380775 * r2380784;
double r2380786 = r2380780 - r2380785;
double r2380787 = r2380781 / r2380783;
double r2380788 = pow(r2380787, r2380775);
double r2380789 = r2380776 * r2380788;
double r2380790 = U_;
double r2380791 = r2380778 - r2380790;
double r2380792 = r2380789 * r2380791;
double r2380793 = r2380786 - r2380792;
double r2380794 = r2380779 * r2380793;
double r2380795 = sqrt(r2380794);
return r2380795;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2380796 = U;
double r2380797 = -2.4843602301315434e+99;
bool r2380798 = r2380796 <= r2380797;
double r2380799 = U_;
double r2380800 = r2380799 - r2380796;
double r2380801 = l;
double r2380802 = Om;
double r2380803 = r2380801 / r2380802;
double r2380804 = 2.0;
double r2380805 = 2.0;
double r2380806 = r2380804 / r2380805;
double r2380807 = pow(r2380803, r2380806);
double r2380808 = n;
double r2380809 = r2380807 * r2380808;
double r2380810 = r2380809 * r2380807;
double r2380811 = t;
double r2380812 = r2380803 * r2380801;
double r2380813 = r2380804 * r2380812;
double r2380814 = r2380811 - r2380813;
double r2380815 = fma(r2380800, r2380810, r2380814);
double r2380816 = r2380804 * r2380808;
double r2380817 = r2380816 * r2380796;
double r2380818 = r2380815 * r2380817;
double r2380819 = sqrt(r2380818);
double r2380820 = 8.735191805518111e-172;
bool r2380821 = r2380796 <= r2380820;
double r2380822 = r2380796 * r2380815;
double r2380823 = r2380816 * r2380822;
double r2380824 = sqrt(r2380823);
double r2380825 = r2380821 ? r2380824 : r2380819;
double r2380826 = r2380798 ? r2380819 : r2380825;
return r2380826;
}



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.4843602301315434e+99 or 8.735191805518111e-172 < U Initial program 30.7
Simplified27.6
rmApplied sqr-pow27.6
Applied associate-*r*26.9
rmApplied *-commutative26.9
if -2.4843602301315434e+99 < U < 8.735191805518111e-172Initial program 38.0
Simplified35.7
rmApplied sqr-pow35.7
Applied associate-*r*34.8
rmApplied associate-*l*31.1
Final simplification29.2
herbie shell --seed 2019179 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))