\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.68532756159565347 \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 r112549 = -2.0;
double r112550 = J;
double r112551 = r112549 * r112550;
double r112552 = K;
double r112553 = 2.0;
double r112554 = r112552 / r112553;
double r112555 = cos(r112554);
double r112556 = r112551 * r112555;
double r112557 = 1.0;
double r112558 = U;
double r112559 = r112553 * r112550;
double r112560 = r112559 * r112555;
double r112561 = r112558 / r112560;
double r112562 = pow(r112561, r112553);
double r112563 = r112557 + r112562;
double r112564 = sqrt(r112563);
double r112565 = r112556 * r112564;
return r112565;
}
double f(double J, double K, double U) {
double r112566 = -2.0;
double r112567 = J;
double r112568 = r112566 * r112567;
double r112569 = K;
double r112570 = 2.0;
double r112571 = r112569 / r112570;
double r112572 = cos(r112571);
double r112573 = r112568 * r112572;
double r112574 = 1.0;
double r112575 = U;
double r112576 = r112570 * r112567;
double r112577 = r112576 * r112572;
double r112578 = r112575 / r112577;
double r112579 = pow(r112578, r112570);
double r112580 = r112574 + r112579;
double r112581 = sqrt(r112580);
double r112582 = r112573 * r112581;
double r112583 = -inf.0;
bool r112584 = r112582 <= r112583;
double r112585 = 1.6853275615956535e+306;
bool r112586 = r112582 <= r112585;
double r112587 = !r112586;
bool r112588 = r112584 || r112587;
double r112589 = 0.25;
double r112590 = sqrt(r112589);
double r112591 = r112590 * r112575;
double r112592 = 0.5;
double r112593 = r112592 * r112569;
double r112594 = cos(r112593);
double r112595 = r112567 * r112594;
double r112596 = r112591 / r112595;
double r112597 = r112573 * r112596;
double r112598 = r112588 ? r112597 : r112582;
return r112598;
}



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.6853275615956535e+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)))) < 1.6853275615956535e+306Initial program 0.1
Final simplification13.1
herbie shell --seed 2020056
(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)))))