\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 8.48078266481481385711732205638014053282 \cdot 10^{128}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, n \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r192829 = 2.0;
double r192830 = n;
double r192831 = r192829 * r192830;
double r192832 = U;
double r192833 = r192831 * r192832;
double r192834 = t;
double r192835 = l;
double r192836 = r192835 * r192835;
double r192837 = Om;
double r192838 = r192836 / r192837;
double r192839 = r192829 * r192838;
double r192840 = r192834 - r192839;
double r192841 = r192835 / r192837;
double r192842 = pow(r192841, r192829);
double r192843 = r192830 * r192842;
double r192844 = U_;
double r192845 = r192832 - r192844;
double r192846 = r192843 * r192845;
double r192847 = r192840 - r192846;
double r192848 = r192833 * r192847;
double r192849 = sqrt(r192848);
return r192849;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r192850 = t;
double r192851 = 8.480782664814814e+128;
bool r192852 = r192850 <= r192851;
double r192853 = 2.0;
double r192854 = n;
double r192855 = r192853 * r192854;
double r192856 = l;
double r192857 = Om;
double r192858 = r192857 / r192856;
double r192859 = r192856 / r192858;
double r192860 = U;
double r192861 = U_;
double r192862 = r192860 - r192861;
double r192863 = r192856 / r192857;
double r192864 = 2.0;
double r192865 = r192853 / r192864;
double r192866 = r192864 * r192865;
double r192867 = pow(r192863, r192866);
double r192868 = r192854 * r192867;
double r192869 = r192862 * r192868;
double r192870 = fma(r192853, r192859, r192869);
double r192871 = r192850 - r192870;
double r192872 = r192871 * r192860;
double r192873 = r192855 * r192872;
double r192874 = sqrt(r192873);
double r192875 = r192855 * r192860;
double r192876 = sqrt(r192875);
double r192877 = pow(r192863, r192853);
double r192878 = r192862 * r192877;
double r192879 = r192854 * r192878;
double r192880 = fma(r192853, r192859, r192879);
double r192881 = r192850 - r192880;
double r192882 = sqrt(r192881);
double r192883 = r192876 * r192882;
double r192884 = r192852 ? r192874 : r192883;
return r192884;
}



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 < 8.480782664814814e+128Initial program 34.1
rmApplied associate-/l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.4
rmApplied associate-*l*29.9
Simplified31.0
if 8.480782664814814e+128 < t Initial program 37.9
rmApplied associate-/l*35.2
rmApplied sqrt-prod23.4
Simplified24.3
Final simplification30.0
herbie shell --seed 2019325 +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*))))))