\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 -5.85228649109029279 \cdot 10^{-126}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(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{elif}\;n \le 5.7542881375349792 \cdot 10^{-186}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(\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)\right)\right)}\\
\mathbf{elif}\;n \le 1.1504183261425661 \cdot 10^{-17} \lor \neg \left(n \le 5.84977345983970428 \cdot 10^{38}\right):\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(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 \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r238073 = 2.0;
double r238074 = n;
double r238075 = r238073 * r238074;
double r238076 = U;
double r238077 = r238075 * r238076;
double r238078 = t;
double r238079 = l;
double r238080 = r238079 * r238079;
double r238081 = Om;
double r238082 = r238080 / r238081;
double r238083 = r238073 * r238082;
double r238084 = r238078 - r238083;
double r238085 = r238079 / r238081;
double r238086 = pow(r238085, r238073);
double r238087 = r238074 * r238086;
double r238088 = U_;
double r238089 = r238076 - r238088;
double r238090 = r238087 * r238089;
double r238091 = r238084 - r238090;
double r238092 = r238077 * r238091;
double r238093 = sqrt(r238092);
return r238093;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r238094 = n;
double r238095 = -5.852286491090293e-126;
bool r238096 = r238094 <= r238095;
double r238097 = 2.0;
double r238098 = r238097 * r238094;
double r238099 = U;
double r238100 = r238098 * r238099;
double r238101 = t;
double r238102 = l;
double r238103 = Om;
double r238104 = r238103 / r238102;
double r238105 = r238102 / r238104;
double r238106 = r238097 * r238105;
double r238107 = r238101 - r238106;
double r238108 = r238102 / r238103;
double r238109 = 2.0;
double r238110 = r238097 / r238109;
double r238111 = pow(r238108, r238110);
double r238112 = r238094 * r238111;
double r238113 = U_;
double r238114 = r238099 - r238113;
double r238115 = r238111 * r238114;
double r238116 = r238112 * r238115;
double r238117 = r238107 - r238116;
double r238118 = r238100 * r238117;
double r238119 = sqrt(r238118);
double r238120 = 5.754288137534979e-186;
bool r238121 = r238094 <= r238120;
double r238122 = pow(r238108, r238097);
double r238123 = r238094 * r238122;
double r238124 = r238123 * r238114;
double r238125 = r238107 - r238124;
double r238126 = r238098 * r238125;
double r238127 = r238099 * r238126;
double r238128 = sqrt(r238127);
double r238129 = 1.1504183261425661e-17;
bool r238130 = r238094 <= r238129;
double r238131 = 5.849773459839704e+38;
bool r238132 = r238094 <= r238131;
double r238133 = !r238132;
bool r238134 = r238130 || r238133;
double r238135 = sqrt(r238100);
double r238136 = r238109 * r238110;
double r238137 = pow(r238108, r238136);
double r238138 = r238114 * r238137;
double r238139 = r238138 * r238094;
double r238140 = r238107 - r238139;
double r238141 = sqrt(r238140);
double r238142 = r238135 * r238141;
double r238143 = r238134 ? r238119 : r238142;
double r238144 = r238121 ? r238128 : r238143;
double r238145 = r238096 ? r238119 : r238144;
return r238145;
}



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 < -5.852286491090293e-126 or 5.754288137534979e-186 < n < 1.1504183261425661e-17 or 5.849773459839704e+38 < n Initial program 33.0
rmApplied associate-/l*30.4
rmApplied sqr-pow30.4
Applied associate-*r*29.6
rmApplied associate-*l*28.7
if -5.852286491090293e-126 < n < 5.754288137534979e-186Initial program 39.0
rmApplied associate-/l*36.2
rmApplied pow136.2
Applied pow136.2
Applied pow136.2
Applied pow136.2
Applied pow-prod-down36.2
Applied pow-prod-down36.2
Applied pow-prod-down36.2
Simplified31.3
if 1.1504183261425661e-17 < n < 5.849773459839704e+38Initial program 32.5
rmApplied associate-/l*28.0
rmApplied sqr-pow28.0
Applied associate-*r*27.9
rmApplied associate-*l*26.6
rmApplied sqrt-prod37.1
Simplified38.1
Final simplification30.0
herbie shell --seed 2020047 +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*))))))