\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 9.45868186603080652 \cdot 10^{305}\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 r225867 = -2.0;
double r225868 = J;
double r225869 = r225867 * r225868;
double r225870 = K;
double r225871 = 2.0;
double r225872 = r225870 / r225871;
double r225873 = cos(r225872);
double r225874 = r225869 * r225873;
double r225875 = 1.0;
double r225876 = U;
double r225877 = r225871 * r225868;
double r225878 = r225877 * r225873;
double r225879 = r225876 / r225878;
double r225880 = pow(r225879, r225871);
double r225881 = r225875 + r225880;
double r225882 = sqrt(r225881);
double r225883 = r225874 * r225882;
return r225883;
}
double f(double J, double K, double U) {
double r225884 = -2.0;
double r225885 = J;
double r225886 = r225884 * r225885;
double r225887 = K;
double r225888 = 2.0;
double r225889 = r225887 / r225888;
double r225890 = cos(r225889);
double r225891 = r225886 * r225890;
double r225892 = 1.0;
double r225893 = U;
double r225894 = r225888 * r225885;
double r225895 = r225894 * r225890;
double r225896 = r225893 / r225895;
double r225897 = pow(r225896, r225888);
double r225898 = r225892 + r225897;
double r225899 = sqrt(r225898);
double r225900 = r225891 * r225899;
double r225901 = -inf.0;
bool r225902 = r225900 <= r225901;
double r225903 = 9.458681866030807e+305;
bool r225904 = r225900 <= r225903;
double r225905 = !r225904;
bool r225906 = r225902 || r225905;
double r225907 = 0.25;
double r225908 = sqrt(r225907);
double r225909 = r225908 * r225893;
double r225910 = 0.5;
double r225911 = r225910 * r225887;
double r225912 = cos(r225911);
double r225913 = r225885 * r225912;
double r225914 = r225909 / r225913;
double r225915 = r225891 * r225914;
double r225916 = r225906 ? r225915 : r225900;
return r225916;
}



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 9.458681866030807e+305 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.5
Taylor expanded around inf 46.2
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 9.458681866030807e+305Initial program 0.1
Final simplification12.9
herbie shell --seed 2020018
(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)))))