\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 3.92682508759082690426242431895762735703 \cdot 10^{305}\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 r109476 = -2.0;
double r109477 = J;
double r109478 = r109476 * r109477;
double r109479 = K;
double r109480 = 2.0;
double r109481 = r109479 / r109480;
double r109482 = cos(r109481);
double r109483 = r109478 * r109482;
double r109484 = 1.0;
double r109485 = U;
double r109486 = r109480 * r109477;
double r109487 = r109486 * r109482;
double r109488 = r109485 / r109487;
double r109489 = pow(r109488, r109480);
double r109490 = r109484 + r109489;
double r109491 = sqrt(r109490);
double r109492 = r109483 * r109491;
return r109492;
}
double f(double J, double K, double U) {
double r109493 = -2.0;
double r109494 = J;
double r109495 = r109493 * r109494;
double r109496 = K;
double r109497 = 2.0;
double r109498 = r109496 / r109497;
double r109499 = cos(r109498);
double r109500 = r109495 * r109499;
double r109501 = 1.0;
double r109502 = U;
double r109503 = r109497 * r109494;
double r109504 = r109503 * r109499;
double r109505 = r109502 / r109504;
double r109506 = pow(r109505, r109497);
double r109507 = r109501 + r109506;
double r109508 = sqrt(r109507);
double r109509 = r109500 * r109508;
double r109510 = -inf.0;
bool r109511 = r109509 <= r109510;
double r109512 = 3.926825087590827e+305;
bool r109513 = r109509 <= r109512;
double r109514 = !r109513;
bool r109515 = r109511 || r109514;
double r109516 = 0.25;
double r109517 = sqrt(r109516);
double r109518 = r109517 * r109502;
double r109519 = 0.5;
double r109520 = r109519 * r109496;
double r109521 = cos(r109520);
double r109522 = r109494 * r109521;
double r109523 = r109518 / r109522;
double r109524 = r109500 * r109523;
double r109525 = r109515 ? r109524 : r109509;
return r109525;
}



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 3.926825087590827e+305 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.6
Taylor expanded around inf 46.0
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 3.926825087590827e+305Initial program 0.1
Final simplification13.1
herbie shell --seed 2019305
(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)))))