\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{\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 r169681 = 2.0;
double r169682 = n;
double r169683 = r169681 * r169682;
double r169684 = U;
double r169685 = r169683 * r169684;
double r169686 = t;
double r169687 = l;
double r169688 = r169687 * r169687;
double r169689 = Om;
double r169690 = r169688 / r169689;
double r169691 = r169681 * r169690;
double r169692 = r169686 - r169691;
double r169693 = r169687 / r169689;
double r169694 = pow(r169693, r169681);
double r169695 = r169682 * r169694;
double r169696 = U_;
double r169697 = r169684 - r169696;
double r169698 = r169695 * r169697;
double r169699 = r169692 - r169698;
double r169700 = r169685 * r169699;
double r169701 = sqrt(r169700);
return r169701;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r169702 = n;
double r169703 = -2.0815983574246957e-139;
bool r169704 = r169702 <= r169703;
double r169705 = 2.0;
double r169706 = r169705 * r169702;
double r169707 = U;
double r169708 = r169706 * r169707;
double r169709 = t;
double r169710 = l;
double r169711 = Om;
double r169712 = r169711 / r169710;
double r169713 = r169710 / r169712;
double r169714 = r169705 * r169713;
double r169715 = r169709 - r169714;
double r169716 = r169710 / r169711;
double r169717 = 2.0;
double r169718 = r169705 / r169717;
double r169719 = pow(r169716, r169718);
double r169720 = r169702 * r169719;
double r169721 = U_;
double r169722 = r169707 - r169721;
double r169723 = r169719 * r169722;
double r169724 = r169720 * r169723;
double r169725 = r169715 - r169724;
double r169726 = r169708 * r169725;
double r169727 = sqrt(r169726);
double r169728 = -6.0596639631783474e-291;
bool r169729 = r169702 <= r169728;
double r169730 = r169717 * r169718;
double r169731 = pow(r169716, r169730);
double r169732 = r169702 * r169731;
double r169733 = r169732 * r169722;
double r169734 = r169714 + r169733;
double r169735 = r169709 - r169734;
double r169736 = r169707 * r169735;
double r169737 = r169706 * r169736;
double r169738 = sqrt(r169737);
double r169739 = 1.1504183261425661e-17;
bool r169740 = r169702 <= r169739;
double r169741 = 5.849773459839704e+38;
bool r169742 = r169702 <= r169741;
double r169743 = !r169742;
bool r169744 = r169740 || r169743;
double r169745 = sqrt(r169708);
double r169746 = pow(r169716, r169705);
double r169747 = r169702 * r169746;
double r169748 = r169747 * r169722;
double r169749 = r169715 - r169748;
double r169750 = sqrt(r169749);
double r169751 = r169745 * r169750;
double r169752 = r169744 ? r169727 : r169751;
double r169753 = r169729 ? r169738 : r169752;
double r169754 = r169704 ? r169727 : r169753;
return r169754;
}



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 sqrt-prod38.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*))))))