\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.86423528566713933 \cdot 10^{291}\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 r295872 = -2.0;
double r295873 = J;
double r295874 = r295872 * r295873;
double r295875 = K;
double r295876 = 2.0;
double r295877 = r295875 / r295876;
double r295878 = cos(r295877);
double r295879 = r295874 * r295878;
double r295880 = 1.0;
double r295881 = U;
double r295882 = r295876 * r295873;
double r295883 = r295882 * r295878;
double r295884 = r295881 / r295883;
double r295885 = pow(r295884, r295876);
double r295886 = r295880 + r295885;
double r295887 = sqrt(r295886);
double r295888 = r295879 * r295887;
return r295888;
}
double f(double J, double K, double U) {
double r295889 = -2.0;
double r295890 = J;
double r295891 = r295889 * r295890;
double r295892 = K;
double r295893 = 2.0;
double r295894 = r295892 / r295893;
double r295895 = cos(r295894);
double r295896 = r295891 * r295895;
double r295897 = 1.0;
double r295898 = U;
double r295899 = r295893 * r295890;
double r295900 = r295899 * r295895;
double r295901 = r295898 / r295900;
double r295902 = pow(r295901, r295893);
double r295903 = r295897 + r295902;
double r295904 = sqrt(r295903);
double r295905 = r295896 * r295904;
double r295906 = -inf.0;
bool r295907 = r295905 <= r295906;
double r295908 = 3.8642352856671393e+291;
bool r295909 = r295905 <= r295908;
double r295910 = !r295909;
bool r295911 = r295907 || r295910;
double r295912 = 0.25;
double r295913 = sqrt(r295912);
double r295914 = r295913 * r295898;
double r295915 = 0.5;
double r295916 = r295915 * r295892;
double r295917 = cos(r295916);
double r295918 = r295890 * r295917;
double r295919 = r295914 / r295918;
double r295920 = r295896 * r295919;
double r295921 = r295911 ? r295920 : r295905;
return r295921;
}



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.8642352856671393e+291 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 60.5
Taylor expanded around inf 47.5
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.8642352856671393e+291Initial program 0.1
Final simplification13.7
herbie shell --seed 2020045
(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)))))