\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.120471958061494211765127711129383515551 \cdot 10^{92}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\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)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r177964 = 2.0;
double r177965 = n;
double r177966 = r177964 * r177965;
double r177967 = U;
double r177968 = r177966 * r177967;
double r177969 = t;
double r177970 = l;
double r177971 = r177970 * r177970;
double r177972 = Om;
double r177973 = r177971 / r177972;
double r177974 = r177964 * r177973;
double r177975 = r177969 - r177974;
double r177976 = r177970 / r177972;
double r177977 = pow(r177976, r177964);
double r177978 = r177965 * r177977;
double r177979 = U_;
double r177980 = r177967 - r177979;
double r177981 = r177978 * r177980;
double r177982 = r177975 - r177981;
double r177983 = r177968 * r177982;
double r177984 = sqrt(r177983);
return r177984;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r177985 = t;
double r177986 = 8.120471958061494e+92;
bool r177987 = r177985 <= r177986;
double r177988 = 2.0;
double r177989 = n;
double r177990 = r177988 * r177989;
double r177991 = U;
double r177992 = r177990 * r177991;
double r177993 = l;
double r177994 = Om;
double r177995 = r177994 / r177993;
double r177996 = r177993 / r177995;
double r177997 = r177988 * r177996;
double r177998 = r177985 - r177997;
double r177999 = r177993 / r177994;
double r178000 = 2.0;
double r178001 = r177988 / r178000;
double r178002 = pow(r177999, r178001);
double r178003 = r177989 * r178002;
double r178004 = r178003 * r178002;
double r178005 = U_;
double r178006 = r177991 - r178005;
double r178007 = r178004 * r178006;
double r178008 = r177998 - r178007;
double r178009 = r177992 * r178008;
double r178010 = sqrt(r178009);
double r178011 = sqrt(r177992);
double r178012 = pow(r177999, r177988);
double r178013 = r177989 * r178012;
double r178014 = r178013 * r178006;
double r178015 = r177998 - r178014;
double r178016 = sqrt(r178015);
double r178017 = r178011 * r178016;
double r178018 = r177987 ? r178010 : r178017;
return r178018;
}



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 < 8.120471958061494e+92Initial program 34.2
rmApplied associate-/l*31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
if 8.120471958061494e+92 < t Initial program 37.5
rmApplied associate-/l*35.0
rmApplied sqrt-prod26.4
Final simplification29.8
herbie shell --seed 2019326
(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*))))))