\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 -6.13327481764505281 \cdot 10^{57}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-\left(U - U*\right)\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right)\right)}\\
\mathbf{elif}\;t \le -1.45324359345592405 \cdot 10^{-302}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(\left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\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(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r161467 = 2.0;
double r161468 = n;
double r161469 = r161467 * r161468;
double r161470 = U;
double r161471 = r161469 * r161470;
double r161472 = t;
double r161473 = l;
double r161474 = r161473 * r161473;
double r161475 = Om;
double r161476 = r161474 / r161475;
double r161477 = r161467 * r161476;
double r161478 = r161472 - r161477;
double r161479 = r161473 / r161475;
double r161480 = pow(r161479, r161467);
double r161481 = r161468 * r161480;
double r161482 = U_;
double r161483 = r161470 - r161482;
double r161484 = r161481 * r161483;
double r161485 = r161478 - r161484;
double r161486 = r161471 * r161485;
double r161487 = sqrt(r161486);
return r161487;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r161488 = t;
double r161489 = -6.133274817645053e+57;
bool r161490 = r161488 <= r161489;
double r161491 = 2.0;
double r161492 = n;
double r161493 = r161491 * r161492;
double r161494 = U;
double r161495 = l;
double r161496 = Om;
double r161497 = r161496 / r161495;
double r161498 = r161495 / r161497;
double r161499 = r161491 * r161498;
double r161500 = U_;
double r161501 = r161494 - r161500;
double r161502 = -r161501;
double r161503 = r161495 / r161496;
double r161504 = 2.0;
double r161505 = r161491 / r161504;
double r161506 = r161504 * r161505;
double r161507 = pow(r161503, r161506);
double r161508 = r161492 * r161507;
double r161509 = r161502 * r161508;
double r161510 = r161499 - r161509;
double r161511 = r161488 - r161510;
double r161512 = r161494 * r161511;
double r161513 = r161493 * r161512;
double r161514 = sqrt(r161513);
double r161515 = -1.453243593455924e-302;
bool r161516 = r161488 <= r161515;
double r161517 = r161493 * r161494;
double r161518 = r161488 - r161499;
double r161519 = pow(r161495, r161505);
double r161520 = r161492 * r161519;
double r161521 = 1.0;
double r161522 = r161521 / r161496;
double r161523 = pow(r161522, r161505);
double r161524 = r161520 * r161523;
double r161525 = pow(r161503, r161505);
double r161526 = r161524 * r161525;
double r161527 = r161526 * r161501;
double r161528 = r161518 - r161527;
double r161529 = r161517 * r161528;
double r161530 = sqrt(r161529);
double r161531 = sqrt(r161517);
double r161532 = r161492 * r161525;
double r161533 = r161532 * r161525;
double r161534 = r161533 * r161501;
double r161535 = r161518 - r161534;
double r161536 = sqrt(r161535);
double r161537 = r161531 * r161536;
double r161538 = r161516 ? r161530 : r161537;
double r161539 = r161490 ? r161514 : r161538;
return r161539;
}



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 < -6.133274817645053e+57Initial program 35.3
rmApplied associate-/l*32.9
rmApplied sqr-pow32.9
Applied associate-*r*32.5
rmApplied associate-*l*32.0
Simplified32.6
if -6.133274817645053e+57 < t < -1.453243593455924e-302Initial program 33.4
rmApplied associate-/l*30.8
rmApplied sqr-pow30.8
Applied associate-*r*29.5
rmApplied div-inv29.5
Applied unpow-prod-down29.5
Applied associate-*r*30.9
if -1.453243593455924e-302 < t Initial program 34.4
rmApplied associate-/l*31.7
rmApplied sqr-pow31.7
Applied associate-*r*31.0
rmApplied sqrt-prod29.3
Final simplification30.5
herbie shell --seed 2020027 +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*))))))