\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 -2.0815983574246957 \cdot 10^{-139}:\\
\;\;\;\;\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 -6.0596639631783474 \cdot 10^{-291}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} + \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\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{t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} + \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r170179 = 2.0;
double r170180 = n;
double r170181 = r170179 * r170180;
double r170182 = U;
double r170183 = r170181 * r170182;
double r170184 = t;
double r170185 = l;
double r170186 = r170185 * r170185;
double r170187 = Om;
double r170188 = r170186 / r170187;
double r170189 = r170179 * r170188;
double r170190 = r170184 - r170189;
double r170191 = r170185 / r170187;
double r170192 = pow(r170191, r170179);
double r170193 = r170180 * r170192;
double r170194 = U_;
double r170195 = r170182 - r170194;
double r170196 = r170193 * r170195;
double r170197 = r170190 - r170196;
double r170198 = r170183 * r170197;
double r170199 = sqrt(r170198);
return r170199;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170200 = n;
double r170201 = -2.0815983574246957e-139;
bool r170202 = r170200 <= r170201;
double r170203 = 2.0;
double r170204 = r170203 * r170200;
double r170205 = U;
double r170206 = r170204 * r170205;
double r170207 = t;
double r170208 = l;
double r170209 = Om;
double r170210 = r170209 / r170208;
double r170211 = r170208 / r170210;
double r170212 = r170203 * r170211;
double r170213 = r170207 - r170212;
double r170214 = r170208 / r170209;
double r170215 = 2.0;
double r170216 = r170203 / r170215;
double r170217 = pow(r170214, r170216);
double r170218 = r170200 * r170217;
double r170219 = U_;
double r170220 = r170205 - r170219;
double r170221 = r170217 * r170220;
double r170222 = r170218 * r170221;
double r170223 = r170213 - r170222;
double r170224 = r170206 * r170223;
double r170225 = sqrt(r170224);
double r170226 = -6.0596639631783474e-291;
bool r170227 = r170200 <= r170226;
double r170228 = r170215 * r170216;
double r170229 = pow(r170214, r170228);
double r170230 = r170200 * r170229;
double r170231 = r170230 * r170220;
double r170232 = r170212 + r170231;
double r170233 = r170207 - r170232;
double r170234 = r170205 * r170233;
double r170235 = r170204 * r170234;
double r170236 = sqrt(r170235);
double r170237 = 1.1504183261425661e-17;
bool r170238 = r170200 <= r170237;
double r170239 = 5.849773459839704e+38;
bool r170240 = r170200 <= r170239;
double r170241 = !r170240;
bool r170242 = r170238 || r170241;
double r170243 = sqrt(r170206);
double r170244 = sqrt(r170233);
double r170245 = r170243 * r170244;
double r170246 = r170242 ? r170225 : r170245;
double r170247 = r170227 ? r170236 : r170246;
double r170248 = r170202 ? r170225 : r170247;
return r170248;
}



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 < -2.0815983574246957e-139 or -6.0596639631783474e-291 < n < 1.1504183261425661e-17 or 5.849773459839704e+38 < n Initial program 34.4
rmApplied associate-/l*31.9
rmApplied sqr-pow31.9
Applied associate-*r*31.0
rmApplied associate-*l*30.6
if -2.0815983574246957e-139 < n < -6.0596639631783474e-291Initial program 38.3
rmApplied associate-/l*34.9
rmApplied sqr-pow34.9
Applied associate-*r*33.8
rmApplied associate-*l*30.5
Simplified32.5
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 sqrt-prod38.1
Simplified38.2
Final simplification31.2
herbie shell --seed 2020047
(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*))))))