\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 -1.79177120952340284 \cdot 10^{-135}:\\
\;\;\;\;\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)}^{\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)\right)}\\
\mathbf{elif}\;n \le 1.53701075221824925 \cdot 10^{-307}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \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) \cdot U\right)}^{1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\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)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r160530 = 2.0;
double r160531 = n;
double r160532 = r160530 * r160531;
double r160533 = U;
double r160534 = r160532 * r160533;
double r160535 = t;
double r160536 = l;
double r160537 = r160536 * r160536;
double r160538 = Om;
double r160539 = r160537 / r160538;
double r160540 = r160530 * r160539;
double r160541 = r160535 - r160540;
double r160542 = r160536 / r160538;
double r160543 = pow(r160542, r160530);
double r160544 = r160531 * r160543;
double r160545 = U_;
double r160546 = r160533 - r160545;
double r160547 = r160544 * r160546;
double r160548 = r160541 - r160547;
double r160549 = r160534 * r160548;
double r160550 = sqrt(r160549);
return r160550;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r160551 = n;
double r160552 = -1.7917712095234028e-135;
bool r160553 = r160551 <= r160552;
double r160554 = 2.0;
double r160555 = r160554 * r160551;
double r160556 = U;
double r160557 = t;
double r160558 = l;
double r160559 = Om;
double r160560 = r160559 / r160558;
double r160561 = r160558 / r160560;
double r160562 = r160554 * r160561;
double r160563 = r160557 - r160562;
double r160564 = r160558 / r160559;
double r160565 = 2.0;
double r160566 = r160554 / r160565;
double r160567 = pow(r160564, r160566);
double r160568 = r160551 * r160567;
double r160569 = U_;
double r160570 = r160556 - r160569;
double r160571 = r160567 * r160570;
double r160572 = r160568 * r160571;
double r160573 = r160563 - r160572;
double r160574 = r160556 * r160573;
double r160575 = r160555 * r160574;
double r160576 = sqrt(r160575);
double r160577 = 1.5370107522182492e-307;
bool r160578 = r160551 <= r160577;
double r160579 = r160565 * r160566;
double r160580 = pow(r160564, r160579);
double r160581 = r160551 * r160580;
double r160582 = -r160581;
double r160583 = r160582 * r160570;
double r160584 = r160562 - r160583;
double r160585 = r160557 - r160584;
double r160586 = r160555 * r160585;
double r160587 = r160586 * r160556;
double r160588 = 1.0;
double r160589 = pow(r160587, r160588);
double r160590 = sqrt(r160589);
double r160591 = sqrt(r160555);
double r160592 = r160568 * r160567;
double r160593 = r160592 * r160570;
double r160594 = r160563 - r160593;
double r160595 = r160556 * r160594;
double r160596 = sqrt(r160595);
double r160597 = r160591 * r160596;
double r160598 = r160578 ? r160590 : r160597;
double r160599 = r160553 ? r160576 : r160598;
return r160599;
}



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 < -1.7917712095234028e-135Initial program 33.0
rmApplied associate-*l*33.3
rmApplied associate-/l*30.9
rmApplied sqr-pow30.9
Applied associate-*r*29.7
rmApplied associate-*l*28.7
if -1.7917712095234028e-135 < n < 1.5370107522182492e-307Initial program 38.3
rmApplied associate-*l*37.4
rmApplied associate-/l*35.0
rmApplied sqr-pow35.0
Applied associate-*r*33.6
rmApplied pow133.6
Applied pow133.6
Applied pow-prod-down33.6
Applied pow133.6
Applied pow133.6
Applied pow-prod-down33.6
Applied pow-prod-down33.6
Simplified31.7
if 1.5370107522182492e-307 < n Initial program 35.0
rmApplied associate-*l*35.3
rmApplied associate-/l*32.5
rmApplied sqr-pow32.5
Applied associate-*r*31.5
rmApplied sqrt-prod23.8
Final simplification26.8
herbie shell --seed 2020018
(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*))))))