double f(double n, double U, double t, double l, double Om, double U_) {
double r16726675 = 2.0;
double r16726676 = n;
double r16726677 = r16726675 * r16726676;
double r16726678 = U;
double r16726679 = r16726677 * r16726678;
double r16726680 = t;
double r16726681 = l;
double r16726682 = r16726681 * r16726681;
double r16726683 = Om;
double r16726684 = r16726682 / r16726683;
double r16726685 = r16726675 * r16726684;
double r16726686 = r16726680 - r16726685;
double r16726687 = r16726681 / r16726683;
double r16726688 = pow(r16726687, r16726675);
double r16726689 = r16726676 * r16726688;
double r16726690 = U_;
double r16726691 = r16726678 - r16726690;
double r16726692 = r16726689 * r16726691;
double r16726693 = r16726686 - r16726692;
double r16726694 = r16726679 * r16726693;
double r16726695 = sqrt(r16726694);
return r16726695;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r16726696 = n;
double r16726697 = -3.718468025429329e+78;
bool r16726698 = r16726696 <= r16726697;
double r16726699 = 2.0;
double r16726700 = U;
double r16726701 = r16726700 * r16726696;
double r16726702 = l;
double r16726703 = Om;
double r16726704 = r16726702 / r16726703;
double r16726705 = r16726702 * r16726704;
double r16726706 = -2.0;
double r16726707 = t;
double r16726708 = fma(r16726705, r16726706, r16726707);
double r16726709 = r16726704 * r16726704;
double r16726710 = U_;
double r16726711 = r16726700 - r16726710;
double r16726712 = r16726709 * r16726711;
double r16726713 = r16726696 * r16726712;
double r16726714 = r16726708 - r16726713;
double r16726715 = r16726701 * r16726714;
double r16726716 = r16726699 * r16726715;
double r16726717 = sqrt(r16726716);
double r16726718 = r16726708 * r16726696;
double r16726719 = r16726696 * r16726704;
double r16726720 = r16726719 * r16726719;
double r16726721 = r16726720 * r16726711;
double r16726722 = r16726718 - r16726721;
double r16726723 = r16726722 * r16726699;
double r16726724 = r16726723 * r16726700;
double r16726725 = 0.5;
double r16726726 = pow(r16726724, r16726725);
double r16726727 = r16726698 ? r16726717 : r16726726;
return r16726727;
}
\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 -3.718468025429329 \cdot 10^{+78}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot \left((\left(\ell \cdot \frac{\ell}{Om}\right) \cdot -2 + t)_* - n \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\left(\left((\left(\ell \cdot \frac{\ell}{Om}\right) \cdot -2 + t)_* \cdot n - \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot 2\right) \cdot U\right)}^{\frac{1}{2}}\\
\end{array}


Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if n < -3.718468025429329e+78Initial program 34.5
Simplified39.6
rmApplied *-un-lft-identity39.6
Applied times-frac39.2
Simplified39.2
rmApplied associate-*r*31.7
if -3.718468025429329e+78 < n Initial program 33.5
Simplified33.9
rmApplied *-un-lft-identity33.9
Applied times-frac31.0
Simplified31.0
rmApplied associate-*r*29.6
rmApplied sub-neg29.6
Applied distribute-rgt-in29.6
Applied distribute-rgt-in29.6
Simplified28.3
rmApplied pow128.3
Applied sqrt-pow128.3
Simplified28.3
Final simplification28.8
herbie shell --seed 2019101 +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*))))))