\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 1.063656865642820936142211544716918494986 \cdot 10^{304}\right):\\
\;\;\;\;\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \frac{\sqrt{0.25} \cdot U}{J \cdot \cos \left(0.5 \cdot K\right)}\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 r111025 = -2.0;
double r111026 = J;
double r111027 = r111025 * r111026;
double r111028 = K;
double r111029 = 2.0;
double r111030 = r111028 / r111029;
double r111031 = cos(r111030);
double r111032 = r111027 * r111031;
double r111033 = 1.0;
double r111034 = U;
double r111035 = r111029 * r111026;
double r111036 = r111035 * r111031;
double r111037 = r111034 / r111036;
double r111038 = pow(r111037, r111029);
double r111039 = r111033 + r111038;
double r111040 = sqrt(r111039);
double r111041 = r111032 * r111040;
return r111041;
}
double f(double J, double K, double U) {
double r111042 = -2.0;
double r111043 = J;
double r111044 = r111042 * r111043;
double r111045 = K;
double r111046 = 2.0;
double r111047 = r111045 / r111046;
double r111048 = cos(r111047);
double r111049 = r111044 * r111048;
double r111050 = 1.0;
double r111051 = U;
double r111052 = r111046 * r111043;
double r111053 = r111052 * r111048;
double r111054 = r111051 / r111053;
double r111055 = pow(r111054, r111046);
double r111056 = r111050 + r111055;
double r111057 = sqrt(r111056);
double r111058 = r111049 * r111057;
double r111059 = -inf.0;
bool r111060 = r111058 <= r111059;
double r111061 = 1.0636568656428209e+304;
bool r111062 = r111058 <= r111061;
double r111063 = !r111062;
bool r111064 = r111060 || r111063;
double r111065 = 0.25;
double r111066 = sqrt(r111065);
double r111067 = r111066 * r111051;
double r111068 = 0.5;
double r111069 = r111068 * r111045;
double r111070 = cos(r111069);
double r111071 = r111043 * r111070;
double r111072 = r111067 / r111071;
double r111073 = r111048 * r111072;
double r111074 = r111044 * r111073;
double r111075 = r111064 ? r111074 : r111058;
return r111075;
}



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 1.0636568656428209e+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.2
rmApplied associate-*l*63.2
Taylor expanded around inf 45.9
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 1.0636568656428209e+304Initial program 0.1
Final simplification13.5
herbie shell --seed 2019347
(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)))))