\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{\frac{U}{\cos \left(\frac{K}{2}\right)}}{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 9.772062440602805 \cdot 10^{+307}:\\
\;\;\;\;\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{\frac{U}{\cos \left(\frac{K}{2}\right)}}{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 r5290054 = -2.0;
double r5290055 = J;
double r5290056 = r5290054 * r5290055;
double r5290057 = K;
double r5290058 = 2.0;
double r5290059 = r5290057 / r5290058;
double r5290060 = cos(r5290059);
double r5290061 = r5290056 * r5290060;
double r5290062 = 1.0;
double r5290063 = U;
double r5290064 = r5290058 * r5290055;
double r5290065 = r5290064 * r5290060;
double r5290066 = r5290063 / r5290065;
double r5290067 = pow(r5290066, r5290058);
double r5290068 = r5290062 + r5290067;
double r5290069 = sqrt(r5290068);
double r5290070 = r5290061 * r5290069;
return r5290070;
}
double f(double J, double K, double U) {
double r5290071 = U;
double r5290072 = J;
double r5290073 = 2.0;
double r5290074 = r5290072 * r5290073;
double r5290075 = K;
double r5290076 = r5290075 / r5290073;
double r5290077 = cos(r5290076);
double r5290078 = r5290074 * r5290077;
double r5290079 = r5290071 / r5290078;
double r5290080 = pow(r5290079, r5290073);
double r5290081 = 1.0;
double r5290082 = r5290080 + r5290081;
double r5290083 = sqrt(r5290082);
double r5290084 = -2.0;
double r5290085 = r5290084 * r5290072;
double r5290086 = r5290077 * r5290085;
double r5290087 = r5290083 * r5290086;
double r5290088 = -inf.0;
bool r5290089 = r5290087 <= r5290088;
double r5290090 = r5290071 / r5290077;
double r5290091 = r5290090 / r5290072;
double r5290092 = r5290091 / r5290073;
double r5290093 = r5290092 * r5290086;
double r5290094 = 9.772062440602805e+307;
bool r5290095 = r5290087 <= r5290094;
double r5290096 = r5290095 ? r5290087 : r5290093;
double r5290097 = r5290089 ? r5290093 : r5290096;
return r5290097;
}



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 9.772062440602805e+307 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) Initial program 60.4
Taylor expanded around inf 45.0
Simplified45.1
if -inf.0 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < 9.772062440602805e+307Initial program 0.1
Final simplification13.1
herbie shell --seed 2019162
(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)))))