\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 2.424927875951081 \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 r180444 = -2.0;
double r180445 = J;
double r180446 = r180444 * r180445;
double r180447 = K;
double r180448 = 2.0;
double r180449 = r180447 / r180448;
double r180450 = cos(r180449);
double r180451 = r180446 * r180450;
double r180452 = 1.0;
double r180453 = U;
double r180454 = r180448 * r180445;
double r180455 = r180454 * r180450;
double r180456 = r180453 / r180455;
double r180457 = pow(r180456, r180448);
double r180458 = r180452 + r180457;
double r180459 = sqrt(r180458);
double r180460 = r180451 * r180459;
return r180460;
}
double f(double J, double K, double U) {
double r180461 = -2.0;
double r180462 = J;
double r180463 = r180461 * r180462;
double r180464 = K;
double r180465 = 2.0;
double r180466 = r180464 / r180465;
double r180467 = cos(r180466);
double r180468 = r180463 * r180467;
double r180469 = 1.0;
double r180470 = U;
double r180471 = r180465 * r180462;
double r180472 = r180471 * r180467;
double r180473 = r180470 / r180472;
double r180474 = pow(r180473, r180465);
double r180475 = r180469 + r180474;
double r180476 = sqrt(r180475);
double r180477 = r180468 * r180476;
double r180478 = -inf.0;
bool r180479 = r180477 <= r180478;
double r180480 = 2.424927875951081e+306;
bool r180481 = r180477 <= r180480;
double r180482 = !r180481;
bool r180483 = r180479 || r180482;
double r180484 = 0.25;
double r180485 = sqrt(r180484);
double r180486 = r180485 * r180470;
double r180487 = 0.5;
double r180488 = r180487 * r180464;
double r180489 = cos(r180488);
double r180490 = r180462 * r180489;
double r180491 = r180486 / r180490;
double r180492 = r180468 * r180491;
double r180493 = r180483 ? r180492 : r180477;
return r180493;
}



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 2.424927875951081e+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.6
Taylor expanded around inf 46.3
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 2.424927875951081e+306Initial program 0.1
Final simplification13.2
herbie shell --seed 2020046
(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)))))