\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 -6.13327481764505281 \cdot 10^{57}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;t \le -1.45324359345592405 \cdot 10^{-302}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(\left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{1}{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{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r159908 = 2.0;
double r159909 = n;
double r159910 = r159908 * r159909;
double r159911 = U;
double r159912 = r159910 * r159911;
double r159913 = t;
double r159914 = l;
double r159915 = r159914 * r159914;
double r159916 = Om;
double r159917 = r159915 / r159916;
double r159918 = r159908 * r159917;
double r159919 = r159913 - r159918;
double r159920 = r159914 / r159916;
double r159921 = pow(r159920, r159908);
double r159922 = r159909 * r159921;
double r159923 = U_;
double r159924 = r159911 - r159923;
double r159925 = r159922 * r159924;
double r159926 = r159919 - r159925;
double r159927 = r159912 * r159926;
double r159928 = sqrt(r159927);
return r159928;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r159929 = t;
double r159930 = -6.133274817645053e+57;
bool r159931 = r159929 <= r159930;
double r159932 = 2.0;
double r159933 = n;
double r159934 = r159932 * r159933;
double r159935 = U;
double r159936 = l;
double r159937 = Om;
double r159938 = r159937 / r159936;
double r159939 = r159936 / r159938;
double r159940 = r159932 * r159939;
double r159941 = r159929 - r159940;
double r159942 = r159936 / r159937;
double r159943 = pow(r159942, r159932);
double r159944 = r159933 * r159943;
double r159945 = U_;
double r159946 = r159935 - r159945;
double r159947 = r159944 * r159946;
double r159948 = r159941 - r159947;
double r159949 = r159935 * r159948;
double r159950 = r159934 * r159949;
double r159951 = sqrt(r159950);
double r159952 = -1.453243593455924e-302;
bool r159953 = r159929 <= r159952;
double r159954 = r159934 * r159935;
double r159955 = 2.0;
double r159956 = r159932 / r159955;
double r159957 = pow(r159936, r159956);
double r159958 = r159933 * r159957;
double r159959 = 1.0;
double r159960 = r159959 / r159937;
double r159961 = pow(r159960, r159956);
double r159962 = r159958 * r159961;
double r159963 = pow(r159942, r159956);
double r159964 = r159962 * r159963;
double r159965 = r159964 * r159946;
double r159966 = r159941 - r159965;
double r159967 = r159954 * r159966;
double r159968 = sqrt(r159967);
double r159969 = sqrt(r159954);
double r159970 = r159933 * r159963;
double r159971 = r159970 * r159963;
double r159972 = r159971 * r159946;
double r159973 = r159941 - r159972;
double r159974 = sqrt(r159973);
double r159975 = r159969 * r159974;
double r159976 = r159953 ? r159968 : r159975;
double r159977 = r159931 ? r159951 : r159976;
return r159977;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if t < -6.133274817645053e+57Initial program 35.3
rmApplied associate-/l*32.9
rmApplied associate-*l*32.6
if -6.133274817645053e+57 < t < -1.453243593455924e-302Initial program 33.4
rmApplied associate-/l*30.8
rmApplied sqr-pow30.8
Applied associate-*r*29.5
rmApplied div-inv29.5
Applied unpow-prod-down29.5
Applied associate-*r*30.9
if -1.453243593455924e-302 < t Initial program 34.4
rmApplied associate-/l*31.7
rmApplied sqr-pow31.7
Applied associate-*r*31.0
rmApplied sqrt-prod29.3
Final simplification30.5
herbie shell --seed 2020027
(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*))))))