\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 5.921596680002772760806493524139888367658 \cdot 10^{-305} \lor \neg \left(t \le 1.070028174441901986804731946878056420476 \cdot 10^{-172} \lor \neg \left(t \le 2.724465956200713647886827411142398031389 \cdot 10^{192}\right)\right):\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \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{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r198530 = 2.0;
double r198531 = n;
double r198532 = r198530 * r198531;
double r198533 = U;
double r198534 = r198532 * r198533;
double r198535 = t;
double r198536 = l;
double r198537 = r198536 * r198536;
double r198538 = Om;
double r198539 = r198537 / r198538;
double r198540 = r198530 * r198539;
double r198541 = r198535 - r198540;
double r198542 = r198536 / r198538;
double r198543 = pow(r198542, r198530);
double r198544 = r198531 * r198543;
double r198545 = U_;
double r198546 = r198533 - r198545;
double r198547 = r198544 * r198546;
double r198548 = r198541 - r198547;
double r198549 = r198534 * r198548;
double r198550 = sqrt(r198549);
return r198550;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r198551 = t;
double r198552 = 5.921596680002773e-305;
bool r198553 = r198551 <= r198552;
double r198554 = 1.070028174441902e-172;
bool r198555 = r198551 <= r198554;
double r198556 = 2.7244659562007136e+192;
bool r198557 = r198551 <= r198556;
double r198558 = !r198557;
bool r198559 = r198555 || r198558;
double r198560 = !r198559;
bool r198561 = r198553 || r198560;
double r198562 = 2.0;
double r198563 = n;
double r198564 = r198562 * r198563;
double r198565 = U;
double r198566 = l;
double r198567 = Om;
double r198568 = r198567 / r198566;
double r198569 = r198566 / r198568;
double r198570 = r198562 * r198569;
double r198571 = r198551 - r198570;
double r198572 = r198566 / r198567;
double r198573 = pow(r198572, r198562);
double r198574 = r198563 * r198573;
double r198575 = U_;
double r198576 = r198565 - r198575;
double r198577 = r198574 * r198576;
double r198578 = r198571 - r198577;
double r198579 = r198565 * r198578;
double r198580 = r198564 * r198579;
double r198581 = sqrt(r198580);
double r198582 = r198564 * r198565;
double r198583 = sqrt(r198582);
double r198584 = sqrt(r198578);
double r198585 = r198583 * r198584;
double r198586 = r198561 ? r198581 : r198585;
return r198586;
}



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 < 5.921596680002773e-305 or 1.070028174441902e-172 < t < 2.7244659562007136e+192Initial program 33.9
rmApplied associate-/l*31.2
rmApplied associate-*l*31.1
if 5.921596680002773e-305 < t < 1.070028174441902e-172 or 2.7244659562007136e+192 < t Initial program 37.9
rmApplied associate-/l*34.5
rmApplied sqrt-prod28.0
Final simplification30.5
herbie shell --seed 2019353
(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*))))))