\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(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\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 r228017 = 2.0;
double r228018 = n;
double r228019 = r228017 * r228018;
double r228020 = U;
double r228021 = r228019 * r228020;
double r228022 = t;
double r228023 = l;
double r228024 = r228023 * r228023;
double r228025 = Om;
double r228026 = r228024 / r228025;
double r228027 = r228017 * r228026;
double r228028 = r228022 - r228027;
double r228029 = r228023 / r228025;
double r228030 = pow(r228029, r228017);
double r228031 = r228018 * r228030;
double r228032 = U_;
double r228033 = r228020 - r228032;
double r228034 = r228031 * r228033;
double r228035 = r228028 - r228034;
double r228036 = r228021 * r228035;
double r228037 = sqrt(r228036);
return r228037;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r228038 = t;
double r228039 = 8.480782664814814e+128;
bool r228040 = r228038 <= r228039;
double r228041 = 2.0;
double r228042 = n;
double r228043 = r228041 * r228042;
double r228044 = U;
double r228045 = l;
double r228046 = Om;
double r228047 = r228046 / r228045;
double r228048 = r228045 / r228047;
double r228049 = r228041 * r228048;
double r228050 = r228038 - r228049;
double r228051 = U_;
double r228052 = r228044 - r228051;
double r228053 = r228045 / r228046;
double r228054 = 2.0;
double r228055 = r228041 / r228054;
double r228056 = r228054 * r228055;
double r228057 = pow(r228053, r228056);
double r228058 = r228042 * r228057;
double r228059 = r228052 * r228058;
double r228060 = r228050 - r228059;
double r228061 = r228044 * r228060;
double r228062 = r228043 * r228061;
double r228063 = sqrt(r228062);
double r228064 = r228043 * r228044;
double r228065 = sqrt(r228064);
double r228066 = pow(r228053, r228041);
double r228067 = r228042 * r228066;
double r228068 = r228067 * r228052;
double r228069 = r228050 - r228068;
double r228070 = sqrt(r228069);
double r228071 = r228065 * r228070;
double r228072 = r228040 ? r228063 : r228071;
return r228072;
}



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.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
Final simplification29.9
herbie shell --seed 2019325
(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*))))))