\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.383333103266368684310126222919843222529 \cdot 10^{306}\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 r110452 = -2.0;
double r110453 = J;
double r110454 = r110452 * r110453;
double r110455 = K;
double r110456 = 2.0;
double r110457 = r110455 / r110456;
double r110458 = cos(r110457);
double r110459 = r110454 * r110458;
double r110460 = 1.0;
double r110461 = U;
double r110462 = r110456 * r110453;
double r110463 = r110462 * r110458;
double r110464 = r110461 / r110463;
double r110465 = pow(r110464, r110456);
double r110466 = r110460 + r110465;
double r110467 = sqrt(r110466);
double r110468 = r110459 * r110467;
return r110468;
}
double f(double J, double K, double U) {
double r110469 = -2.0;
double r110470 = J;
double r110471 = r110469 * r110470;
double r110472 = K;
double r110473 = 2.0;
double r110474 = r110472 / r110473;
double r110475 = cos(r110474);
double r110476 = r110471 * r110475;
double r110477 = 1.0;
double r110478 = U;
double r110479 = r110473 * r110470;
double r110480 = r110479 * r110475;
double r110481 = r110478 / r110480;
double r110482 = pow(r110481, r110473);
double r110483 = r110477 + r110482;
double r110484 = sqrt(r110483);
double r110485 = r110476 * r110484;
double r110486 = -inf.0;
bool r110487 = r110485 <= r110486;
double r110488 = 6.383333103266369e+306;
bool r110489 = r110485 <= r110488;
double r110490 = !r110489;
bool r110491 = r110487 || r110490;
double r110492 = 0.25;
double r110493 = sqrt(r110492);
double r110494 = r110493 * r110478;
double r110495 = 0.5;
double r110496 = r110495 * r110472;
double r110497 = cos(r110496);
double r110498 = r110470 * r110497;
double r110499 = r110494 / r110498;
double r110500 = r110476 * r110499;
double r110501 = r110491 ? r110500 : r110485;
return r110501;
}



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.383333103266369e+306 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.7
Taylor expanded around inf 46.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)))) < 6.383333103266369e+306Initial program 0.1
Final simplification12.9
herbie shell --seed 2019212
(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)))))