\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.064045024786499322154870069223006884111 \cdot 10^{294}\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 r92553 = -2.0;
double r92554 = J;
double r92555 = r92553 * r92554;
double r92556 = K;
double r92557 = 2.0;
double r92558 = r92556 / r92557;
double r92559 = cos(r92558);
double r92560 = r92555 * r92559;
double r92561 = 1.0;
double r92562 = U;
double r92563 = r92557 * r92554;
double r92564 = r92563 * r92559;
double r92565 = r92562 / r92564;
double r92566 = pow(r92565, r92557);
double r92567 = r92561 + r92566;
double r92568 = sqrt(r92567);
double r92569 = r92560 * r92568;
return r92569;
}
double f(double J, double K, double U) {
double r92570 = -2.0;
double r92571 = J;
double r92572 = r92570 * r92571;
double r92573 = K;
double r92574 = 2.0;
double r92575 = r92573 / r92574;
double r92576 = cos(r92575);
double r92577 = r92572 * r92576;
double r92578 = 1.0;
double r92579 = U;
double r92580 = r92574 * r92571;
double r92581 = r92580 * r92576;
double r92582 = r92579 / r92581;
double r92583 = pow(r92582, r92574);
double r92584 = r92578 + r92583;
double r92585 = sqrt(r92584);
double r92586 = r92577 * r92585;
double r92587 = -inf.0;
bool r92588 = r92586 <= r92587;
double r92589 = 1.0640450247864993e+294;
bool r92590 = r92586 <= r92589;
double r92591 = !r92590;
bool r92592 = r92588 || r92591;
double r92593 = 0.25;
double r92594 = sqrt(r92593);
double r92595 = r92594 * r92579;
double r92596 = 0.5;
double r92597 = r92596 * r92573;
double r92598 = cos(r92597);
double r92599 = r92571 * r92598;
double r92600 = r92595 / r92599;
double r92601 = r92577 * r92600;
double r92602 = r92592 ? r92601 : r92586;
return r92602;
}



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.0640450247864993e+294 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 60.8
Taylor expanded around inf 45.7
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.0640450247864993e+294Initial program 0.1
Final simplification13.6
herbie shell --seed 2019304
(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)))))