\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 3322031569387475435520:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r99782 = 2.0;
double r99783 = n;
double r99784 = r99782 * r99783;
double r99785 = U;
double r99786 = r99784 * r99785;
double r99787 = t;
double r99788 = l;
double r99789 = r99788 * r99788;
double r99790 = Om;
double r99791 = r99789 / r99790;
double r99792 = r99782 * r99791;
double r99793 = r99787 - r99792;
double r99794 = r99788 / r99790;
double r99795 = pow(r99794, r99782);
double r99796 = r99783 * r99795;
double r99797 = U_;
double r99798 = r99785 - r99797;
double r99799 = r99796 * r99798;
double r99800 = r99793 - r99799;
double r99801 = r99786 * r99800;
double r99802 = sqrt(r99801);
return r99802;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r99803 = t;
double r99804 = 3.3220315693874754e+21;
bool r99805 = r99803 <= r99804;
double r99806 = 2.0;
double r99807 = l;
double r99808 = Om;
double r99809 = r99807 / r99808;
double r99810 = r99807 * r99809;
double r99811 = n;
double r99812 = pow(r99809, r99806);
double r99813 = r99811 * r99812;
double r99814 = U;
double r99815 = U_;
double r99816 = r99814 - r99815;
double r99817 = r99813 * r99816;
double r99818 = fma(r99806, r99810, r99817);
double r99819 = r99803 - r99818;
double r99820 = r99806 * r99811;
double r99821 = r99820 * r99814;
double r99822 = r99819 * r99821;
double r99823 = sqrt(r99822);
double r99824 = r99808 / r99807;
double r99825 = r99807 / r99824;
double r99826 = fma(r99806, r99825, r99817);
double r99827 = r99803 - r99826;
double r99828 = sqrt(r99827);
double r99829 = sqrt(r99821);
double r99830 = r99828 * r99829;
double r99831 = r99805 ? r99823 : r99830;
return r99831;
}



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.3220315693874754e+21Initial program 34.4
Simplified34.4
rmApplied *-un-lft-identity34.4
Applied times-frac31.7
Simplified31.7
if 3.3220315693874754e+21 < t Initial program 35.8
Simplified35.8
rmApplied associate-/l*33.3
rmApplied sqrt-prod27.2
Final simplification30.6
herbie shell --seed 2019326 +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*))))))