\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\begin{array}{l}
\mathbf{if}\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}} = -\infty \lor \neg \left(\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}} \le 3.105488730220186402056720813098952291362 \cdot 10^{304}\right):\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \frac{\sqrt{0.25} \cdot U}{J \cdot \cos \left(0.5 \cdot K\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\\
\end{array}double f(double J, double K, double U) {
double r103698 = -2.0;
double r103699 = J;
double r103700 = r103698 * r103699;
double r103701 = K;
double r103702 = 2.0;
double r103703 = r103701 / r103702;
double r103704 = cos(r103703);
double r103705 = r103700 * r103704;
double r103706 = 1.0;
double r103707 = U;
double r103708 = r103702 * r103699;
double r103709 = r103708 * r103704;
double r103710 = r103707 / r103709;
double r103711 = pow(r103710, r103702);
double r103712 = r103706 + r103711;
double r103713 = sqrt(r103712);
double r103714 = r103705 * r103713;
return r103714;
}
double f(double J, double K, double U) {
double r103715 = -2.0;
double r103716 = J;
double r103717 = r103715 * r103716;
double r103718 = K;
double r103719 = 2.0;
double r103720 = r103718 / r103719;
double r103721 = cos(r103720);
double r103722 = r103717 * r103721;
double r103723 = 1.0;
double r103724 = U;
double r103725 = r103719 * r103716;
double r103726 = r103725 * r103721;
double r103727 = r103724 / r103726;
double r103728 = pow(r103727, r103719);
double r103729 = r103723 + r103728;
double r103730 = sqrt(r103729);
double r103731 = r103722 * r103730;
double r103732 = -inf.0;
bool r103733 = r103731 <= r103732;
double r103734 = 3.1054887302201864e+304;
bool r103735 = r103731 <= r103734;
double r103736 = !r103735;
bool r103737 = r103733 || r103736;
double r103738 = 0.25;
double r103739 = sqrt(r103738);
double r103740 = r103739 * r103724;
double r103741 = 0.5;
double r103742 = r103741 * r103718;
double r103743 = cos(r103742);
double r103744 = r103716 * r103743;
double r103745 = r103740 / r103744;
double r103746 = r103722 * r103745;
double r103747 = r103737 ? r103746 : r103731;
return r103747;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < -inf.0 or 3.1054887302201864e+304 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.4
Taylor expanded around inf 45.7
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 3.1054887302201864e+304Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.3
Applied associate-*r*0.3
Final simplification13.1
herbie shell --seed 2019291
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
:precision binary64
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))