\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}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\
\;\;\;\;\frac{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot J}}{2} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\mathbf{elif}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 1.137558345503528 \cdot 10^{+306}:\\
\;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot J}}{2} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\end{array}double f(double J, double K, double U) {
double r4783751 = -2.0;
double r4783752 = J;
double r4783753 = r4783751 * r4783752;
double r4783754 = K;
double r4783755 = 2.0;
double r4783756 = r4783754 / r4783755;
double r4783757 = cos(r4783756);
double r4783758 = r4783753 * r4783757;
double r4783759 = 1.0;
double r4783760 = U;
double r4783761 = r4783755 * r4783752;
double r4783762 = r4783761 * r4783757;
double r4783763 = r4783760 / r4783762;
double r4783764 = pow(r4783763, r4783755);
double r4783765 = r4783759 + r4783764;
double r4783766 = sqrt(r4783765);
double r4783767 = r4783758 * r4783766;
return r4783767;
}
double f(double J, double K, double U) {
double r4783768 = U;
double r4783769 = J;
double r4783770 = 2.0;
double r4783771 = r4783769 * r4783770;
double r4783772 = K;
double r4783773 = r4783772 / r4783770;
double r4783774 = cos(r4783773);
double r4783775 = r4783771 * r4783774;
double r4783776 = r4783768 / r4783775;
double r4783777 = pow(r4783776, r4783770);
double r4783778 = 1.0;
double r4783779 = r4783777 + r4783778;
double r4783780 = sqrt(r4783779);
double r4783781 = -2.0;
double r4783782 = r4783781 * r4783769;
double r4783783 = r4783774 * r4783782;
double r4783784 = r4783780 * r4783783;
double r4783785 = -inf.0;
bool r4783786 = r4783784 <= r4783785;
double r4783787 = r4783774 * r4783769;
double r4783788 = r4783768 / r4783787;
double r4783789 = r4783788 / r4783770;
double r4783790 = r4783789 * r4783783;
double r4783791 = 1.137558345503528e+306;
bool r4783792 = r4783784 <= r4783791;
double r4783793 = r4783792 ? r4783784 : r4783790;
double r4783794 = r4783786 ? r4783790 : r4783793;
return r4783794;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < -inf.0 or 1.137558345503528e+306 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) Initial program 60.0
Taylor expanded around inf 44.8
Simplified44.8
if -inf.0 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < 1.137558345503528e+306Initial program 0.1
Final simplification12.8
herbie shell --seed 2019158
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))