\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 6.9237292607862767 \cdot 10^{289}\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{1}{\frac{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}{U}}\right)}^{2}}\\
\end{array}double f(double J, double K, double U) {
double r238897 = -2.0;
double r238898 = J;
double r238899 = r238897 * r238898;
double r238900 = K;
double r238901 = 2.0;
double r238902 = r238900 / r238901;
double r238903 = cos(r238902);
double r238904 = r238899 * r238903;
double r238905 = 1.0;
double r238906 = U;
double r238907 = r238901 * r238898;
double r238908 = r238907 * r238903;
double r238909 = r238906 / r238908;
double r238910 = pow(r238909, r238901);
double r238911 = r238905 + r238910;
double r238912 = sqrt(r238911);
double r238913 = r238904 * r238912;
return r238913;
}
double f(double J, double K, double U) {
double r238914 = -2.0;
double r238915 = J;
double r238916 = r238914 * r238915;
double r238917 = K;
double r238918 = 2.0;
double r238919 = r238917 / r238918;
double r238920 = cos(r238919);
double r238921 = r238916 * r238920;
double r238922 = 1.0;
double r238923 = U;
double r238924 = r238918 * r238915;
double r238925 = r238924 * r238920;
double r238926 = r238923 / r238925;
double r238927 = pow(r238926, r238918);
double r238928 = r238922 + r238927;
double r238929 = sqrt(r238928);
double r238930 = r238921 * r238929;
double r238931 = -inf.0;
bool r238932 = r238930 <= r238931;
double r238933 = 6.923729260786277e+289;
bool r238934 = r238930 <= r238933;
double r238935 = !r238934;
bool r238936 = r238932 || r238935;
double r238937 = 0.25;
double r238938 = sqrt(r238937);
double r238939 = r238938 * r238923;
double r238940 = 0.5;
double r238941 = r238940 * r238917;
double r238942 = cos(r238941);
double r238943 = r238915 * r238942;
double r238944 = r238939 / r238943;
double r238945 = r238921 * r238944;
double r238946 = 1.0;
double r238947 = r238925 / r238923;
double r238948 = r238946 / r238947;
double r238949 = pow(r238948, r238918);
double r238950 = r238922 + r238949;
double r238951 = sqrt(r238950);
double r238952 = r238921 * r238951;
double r238953 = r238936 ? r238945 : r238952;
return r238953;
}



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 6.923729260786277e+289 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 59.7
Taylor expanded around inf 46.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)))) < 6.923729260786277e+289Initial program 0.1
rmApplied clear-num0.1
Final simplification14.1
herbie shell --seed 2020021
(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)))))