\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 -7.7186020624409743 \cdot 10^{211}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - 0 \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;t \le -4.4828637577847008 \cdot 10^{49}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\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{elif}\;t \le 2.85659231871301485 \cdot 10^{41}:\\
\;\;\;\;\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(\sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}} \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}}\right) \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{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 r172036 = 2.0;
double r172037 = n;
double r172038 = r172036 * r172037;
double r172039 = U;
double r172040 = r172038 * r172039;
double r172041 = t;
double r172042 = l;
double r172043 = r172042 * r172042;
double r172044 = Om;
double r172045 = r172043 / r172044;
double r172046 = r172036 * r172045;
double r172047 = r172041 - r172046;
double r172048 = r172042 / r172044;
double r172049 = pow(r172048, r172036);
double r172050 = r172037 * r172049;
double r172051 = U_;
double r172052 = r172039 - r172051;
double r172053 = r172050 * r172052;
double r172054 = r172047 - r172053;
double r172055 = r172040 * r172054;
double r172056 = sqrt(r172055);
return r172056;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r172057 = t;
double r172058 = -7.718602062440974e+211;
bool r172059 = r172057 <= r172058;
double r172060 = 2.0;
double r172061 = n;
double r172062 = r172060 * r172061;
double r172063 = U;
double r172064 = r172062 * r172063;
double r172065 = l;
double r172066 = Om;
double r172067 = r172065 / r172066;
double r172068 = r172065 * r172067;
double r172069 = r172060 * r172068;
double r172070 = r172057 - r172069;
double r172071 = 0.0;
double r172072 = U_;
double r172073 = r172063 - r172072;
double r172074 = r172071 * r172073;
double r172075 = r172070 - r172074;
double r172076 = r172064 * r172075;
double r172077 = sqrt(r172076);
double r172078 = -4.482863757784701e+49;
bool r172079 = r172057 <= r172078;
double r172080 = 2.0;
double r172081 = r172060 / r172080;
double r172082 = r172080 * r172081;
double r172083 = pow(r172067, r172082);
double r172084 = r172061 * r172083;
double r172085 = r172073 * r172084;
double r172086 = r172070 - r172085;
double r172087 = r172063 * r172086;
double r172088 = r172062 * r172087;
double r172089 = sqrt(r172088);
double r172090 = 2.856592318713015e+41;
bool r172091 = r172057 <= r172090;
double r172092 = pow(r172067, r172081);
double r172093 = r172061 * r172092;
double r172094 = cbrt(r172093);
double r172095 = r172094 * r172094;
double r172096 = r172095 * r172094;
double r172097 = r172092 * r172073;
double r172098 = r172096 * r172097;
double r172099 = r172070 - r172098;
double r172100 = r172064 * r172099;
double r172101 = sqrt(r172100);
double r172102 = sqrt(r172064);
double r172103 = pow(r172067, r172060);
double r172104 = r172061 * r172103;
double r172105 = r172104 * r172073;
double r172106 = r172070 - r172105;
double r172107 = sqrt(r172106);
double r172108 = r172102 * r172107;
double r172109 = r172091 ? r172101 : r172108;
double r172110 = r172079 ? r172089 : r172109;
double r172111 = r172059 ? r172077 : r172110;
return r172111;
}



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 < -7.718602062440974e+211Initial program 40.3
rmApplied *-un-lft-identity40.3
Applied times-frac37.1
Simplified37.1
Taylor expanded around 0 36.3
if -7.718602062440974e+211 < t < -4.482863757784701e+49Initial program 33.8
rmApplied *-un-lft-identity33.8
Applied times-frac30.7
Simplified30.7
rmApplied sqr-pow30.7
Applied associate-*r*30.4
rmApplied associate-*l*30.4
Simplified31.0
if -4.482863757784701e+49 < t < 2.856592318713015e+41Initial program 33.4
rmApplied *-un-lft-identity33.4
Applied times-frac30.7
Simplified30.7
rmApplied sqr-pow30.7
Applied associate-*r*29.4
rmApplied associate-*l*29.1
rmApplied add-cube-cbrt29.1
if 2.856592318713015e+41 < t Initial program 35.2
rmApplied *-un-lft-identity35.2
Applied times-frac32.3
Simplified32.3
rmApplied sqrt-prod24.6
Final simplification28.9
herbie shell --seed 2020046 +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*))))))