\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.0665921477558243 \cdot 10^{304}\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 r193527 = -2.0;
double r193528 = J;
double r193529 = r193527 * r193528;
double r193530 = K;
double r193531 = 2.0;
double r193532 = r193530 / r193531;
double r193533 = cos(r193532);
double r193534 = r193529 * r193533;
double r193535 = 1.0;
double r193536 = U;
double r193537 = r193531 * r193528;
double r193538 = r193537 * r193533;
double r193539 = r193536 / r193538;
double r193540 = pow(r193539, r193531);
double r193541 = r193535 + r193540;
double r193542 = sqrt(r193541);
double r193543 = r193534 * r193542;
return r193543;
}
double f(double J, double K, double U) {
double r193544 = -2.0;
double r193545 = J;
double r193546 = r193544 * r193545;
double r193547 = K;
double r193548 = 2.0;
double r193549 = r193547 / r193548;
double r193550 = cos(r193549);
double r193551 = r193546 * r193550;
double r193552 = 1.0;
double r193553 = U;
double r193554 = r193548 * r193545;
double r193555 = r193554 * r193550;
double r193556 = r193553 / r193555;
double r193557 = pow(r193556, r193548);
double r193558 = r193552 + r193557;
double r193559 = sqrt(r193558);
double r193560 = r193551 * r193559;
double r193561 = -inf.0;
bool r193562 = r193560 <= r193561;
double r193563 = 1.0665921477558243e+304;
bool r193564 = r193560 <= r193563;
double r193565 = !r193564;
bool r193566 = r193562 || r193565;
double r193567 = 0.25;
double r193568 = sqrt(r193567);
double r193569 = r193568 * r193553;
double r193570 = 0.5;
double r193571 = r193570 * r193547;
double r193572 = cos(r193571);
double r193573 = r193545 * r193572;
double r193574 = r193569 / r193573;
double r193575 = r193551 * r193574;
double r193576 = r193566 ? r193575 : r193560;
return r193576;
}



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.0665921477558243e+304 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 62.7
Taylor expanded around inf 45.6
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.0665921477558243e+304Initial program 0.1
Final simplification12.7
herbie shell --seed 2020047
(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)))))