\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}\;n \le 1.096720098972556 \cdot 10^{-309}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r180901 = 2.0;
double r180902 = n;
double r180903 = r180901 * r180902;
double r180904 = U;
double r180905 = r180903 * r180904;
double r180906 = t;
double r180907 = l;
double r180908 = r180907 * r180907;
double r180909 = Om;
double r180910 = r180908 / r180909;
double r180911 = r180901 * r180910;
double r180912 = r180906 - r180911;
double r180913 = r180907 / r180909;
double r180914 = pow(r180913, r180901);
double r180915 = r180902 * r180914;
double r180916 = U_;
double r180917 = r180904 - r180916;
double r180918 = r180915 * r180917;
double r180919 = r180912 - r180918;
double r180920 = r180905 * r180919;
double r180921 = sqrt(r180920);
return r180921;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r180922 = n;
double r180923 = 1.096720098972556e-309;
bool r180924 = r180922 <= r180923;
double r180925 = 2.0;
double r180926 = r180925 * r180922;
double r180927 = U;
double r180928 = t;
double r180929 = l;
double r180930 = Om;
double r180931 = r180929 / r180930;
double r180932 = r180929 * r180931;
double r180933 = r180925 * r180932;
double r180934 = r180928 - r180933;
double r180935 = pow(r180931, r180925);
double r180936 = U_;
double r180937 = r180927 - r180936;
double r180938 = r180935 * r180937;
double r180939 = r180922 * r180938;
double r180940 = r180934 - r180939;
double r180941 = r180927 * r180940;
double r180942 = r180926 * r180941;
double r180943 = sqrt(r180942);
double r180944 = sqrt(r180943);
double r180945 = r180944 * r180944;
double r180946 = sqrt(r180926);
double r180947 = r180922 * r180935;
double r180948 = r180947 * r180937;
double r180949 = r180934 - r180948;
double r180950 = r180927 * r180949;
double r180951 = sqrt(r180950);
double r180952 = r180946 * r180951;
double r180953 = r180924 ? r180945 : r180952;
return r180953;
}



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 n < 1.096720098972556e-309Initial program 34.8
rmApplied *-un-lft-identity34.8
Applied times-frac32.0
Simplified32.0
rmApplied associate-*l*32.4
rmApplied associate-*l*32.7
rmApplied add-sqr-sqrt32.9
if 1.096720098972556e-309 < n Initial program 35.0
rmApplied *-un-lft-identity35.0
Applied times-frac32.4
Simplified32.4
rmApplied associate-*l*32.8
rmApplied sqrt-prod25.8
Final simplification29.4
herbie shell --seed 2020060 +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*))))))