\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}\;U \le -9.183046660180342 \cdot 10^{-109}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{n \cdot \left(\frac{1}{\frac{Om}{\ell}} \cdot \left(U - U*\right)\right)}{\frac{Om}{\ell}}\right)}\\
\mathbf{elif}\;U \le 1.0657230548376832 \cdot 10^{+24}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\left(U - U*\right) \cdot \frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\left(U - U*\right) \cdot \frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}\right)}} \cdot \sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \frac{\left(U - U*\right) \cdot \frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}\right)}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r25640387 = 2.0;
double r25640388 = n;
double r25640389 = r25640387 * r25640388;
double r25640390 = U;
double r25640391 = r25640389 * r25640390;
double r25640392 = t;
double r25640393 = l;
double r25640394 = r25640393 * r25640393;
double r25640395 = Om;
double r25640396 = r25640394 / r25640395;
double r25640397 = r25640387 * r25640396;
double r25640398 = r25640392 - r25640397;
double r25640399 = r25640393 / r25640395;
double r25640400 = pow(r25640399, r25640387);
double r25640401 = r25640388 * r25640400;
double r25640402 = U_;
double r25640403 = r25640390 - r25640402;
double r25640404 = r25640401 * r25640403;
double r25640405 = r25640398 - r25640404;
double r25640406 = r25640391 * r25640405;
double r25640407 = sqrt(r25640406);
return r25640407;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r25640408 = U;
double r25640409 = -9.183046660180342e-109;
bool r25640410 = r25640408 <= r25640409;
double r25640411 = 2.0;
double r25640412 = n;
double r25640413 = r25640411 * r25640412;
double r25640414 = r25640413 * r25640408;
double r25640415 = t;
double r25640416 = l;
double r25640417 = Om;
double r25640418 = r25640417 / r25640416;
double r25640419 = r25640416 / r25640418;
double r25640420 = r25640411 * r25640419;
double r25640421 = r25640415 - r25640420;
double r25640422 = 1.0;
double r25640423 = r25640422 / r25640418;
double r25640424 = U_;
double r25640425 = r25640408 - r25640424;
double r25640426 = r25640423 * r25640425;
double r25640427 = r25640412 * r25640426;
double r25640428 = r25640427 / r25640418;
double r25640429 = r25640421 - r25640428;
double r25640430 = r25640414 * r25640429;
double r25640431 = sqrt(r25640430);
double r25640432 = 1.0657230548376832e+24;
bool r25640433 = r25640408 <= r25640432;
double r25640434 = r25640412 / r25640418;
double r25640435 = r25640425 * r25640434;
double r25640436 = r25640435 / r25640418;
double r25640437 = r25640421 - r25640436;
double r25640438 = r25640437 * r25640408;
double r25640439 = r25640413 * r25640438;
double r25640440 = sqrt(r25640439);
double r25640441 = r25640414 * r25640437;
double r25640442 = sqrt(r25640441);
double r25640443 = sqrt(r25640442);
double r25640444 = r25640443 * r25640443;
double r25640445 = r25640433 ? r25640440 : r25640444;
double r25640446 = r25640410 ? r25640431 : r25640445;
return r25640446;
}



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 U < -9.183046660180342e-109Initial program 28.3
rmApplied associate-/l*24.9
Taylor expanded around -inf 31.1
Simplified24.1
rmApplied associate-*l/23.6
rmApplied div-inv23.6
Applied associate-*l*24.0
if -9.183046660180342e-109 < U < 1.0657230548376832e+24Initial program 37.3
rmApplied associate-/l*34.9
Taylor expanded around -inf 41.1
Simplified33.9
rmApplied associate-*l/33.4
rmApplied associate-*l*28.6
if 1.0657230548376832e+24 < U Initial program 28.5
rmApplied associate-/l*25.9
Taylor expanded around -inf 30.9
Simplified25.2
rmApplied associate-*l/24.6
rmApplied add-sqr-sqrt24.8
Final simplification26.6
herbie shell --seed 2019124 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))