\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 -1.278855091355844422623118853737248524084 \cdot 10^{-182}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(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)\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) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{elif}\;t \le 1.709265934839956921877767494006232179476 \cdot 10^{-235}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\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{elif}\;t \le 24890222795003809792:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(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)\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) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r201014 = 2.0;
double r201015 = n;
double r201016 = r201014 * r201015;
double r201017 = U;
double r201018 = r201016 * r201017;
double r201019 = t;
double r201020 = l;
double r201021 = r201020 * r201020;
double r201022 = Om;
double r201023 = r201021 / r201022;
double r201024 = r201014 * r201023;
double r201025 = r201019 - r201024;
double r201026 = r201020 / r201022;
double r201027 = pow(r201026, r201014);
double r201028 = r201015 * r201027;
double r201029 = U_;
double r201030 = r201017 - r201029;
double r201031 = r201028 * r201030;
double r201032 = r201025 - r201031;
double r201033 = r201018 * r201032;
double r201034 = sqrt(r201033);
return r201034;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r201035 = t;
double r201036 = -1.2788550913558444e-182;
bool r201037 = r201035 <= r201036;
double r201038 = 2.0;
double r201039 = n;
double r201040 = r201038 * r201039;
double r201041 = U;
double r201042 = l;
double r201043 = Om;
double r201044 = r201042 / r201043;
double r201045 = r201042 * r201044;
double r201046 = r201038 * r201045;
double r201047 = r201035 - r201046;
double r201048 = pow(r201044, r201038);
double r201049 = r201039 * r201048;
double r201050 = U_;
double r201051 = r201041 - r201050;
double r201052 = r201049 * r201051;
double r201053 = r201047 - r201052;
double r201054 = r201041 * r201053;
double r201055 = r201040 * r201054;
double r201056 = sqrt(r201055);
double r201057 = sqrt(r201056);
double r201058 = r201057 * r201057;
double r201059 = 1.709265934839957e-235;
bool r201060 = r201035 <= r201059;
double r201061 = r201040 * r201041;
double r201062 = 2.0;
double r201063 = r201038 / r201062;
double r201064 = pow(r201044, r201063);
double r201065 = r201039 * r201064;
double r201066 = r201065 * r201064;
double r201067 = r201066 * r201051;
double r201068 = r201047 - r201067;
double r201069 = r201061 * r201068;
double r201070 = sqrt(r201069);
double r201071 = 2.489022279500381e+19;
bool r201072 = r201035 <= r201071;
double r201073 = sqrt(r201061);
double r201074 = sqrt(r201053);
double r201075 = r201073 * r201074;
double r201076 = r201072 ? r201058 : r201075;
double r201077 = r201060 ? r201070 : r201076;
double r201078 = r201037 ? r201058 : r201077;
return r201078;
}



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 < -1.2788550913558444e-182 or 1.709265934839957e-235 < t < 2.489022279500381e+19Initial program 33.4
rmApplied *-un-lft-identity33.4
Applied times-frac30.6
Simplified30.6
rmApplied associate-*l*30.7
rmApplied add-sqr-sqrt30.9
if -1.2788550913558444e-182 < t < 1.709265934839957e-235Initial program 38.2
rmApplied *-un-lft-identity38.2
Applied times-frac35.2
Simplified35.2
rmApplied sqr-pow35.2
Applied associate-*r*33.7
if 2.489022279500381e+19 < t Initial program 33.8
rmApplied *-un-lft-identity33.8
Applied times-frac30.9
Simplified30.9
rmApplied sqrt-prod25.3
Final simplification30.0
herbie shell --seed 2019318
(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*))))))