\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.03645849232025607 \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 r120638 = -2.0;
double r120639 = J;
double r120640 = r120638 * r120639;
double r120641 = K;
double r120642 = 2.0;
double r120643 = r120641 / r120642;
double r120644 = cos(r120643);
double r120645 = r120640 * r120644;
double r120646 = 1.0;
double r120647 = U;
double r120648 = r120642 * r120639;
double r120649 = r120648 * r120644;
double r120650 = r120647 / r120649;
double r120651 = pow(r120650, r120642);
double r120652 = r120646 + r120651;
double r120653 = sqrt(r120652);
double r120654 = r120645 * r120653;
return r120654;
}
double f(double J, double K, double U) {
double r120655 = -2.0;
double r120656 = J;
double r120657 = r120655 * r120656;
double r120658 = K;
double r120659 = 2.0;
double r120660 = r120658 / r120659;
double r120661 = cos(r120660);
double r120662 = r120657 * r120661;
double r120663 = 1.0;
double r120664 = U;
double r120665 = r120659 * r120656;
double r120666 = r120665 * r120661;
double r120667 = r120664 / r120666;
double r120668 = pow(r120667, r120659);
double r120669 = r120663 + r120668;
double r120670 = sqrt(r120669);
double r120671 = r120662 * r120670;
double r120672 = -inf.0;
bool r120673 = r120671 <= r120672;
double r120674 = 3.036458492320256e+304;
bool r120675 = r120671 <= r120674;
double r120676 = !r120675;
bool r120677 = r120673 || r120676;
double r120678 = 0.25;
double r120679 = sqrt(r120678);
double r120680 = r120679 * r120664;
double r120681 = 0.5;
double r120682 = r120681 * r120658;
double r120683 = cos(r120682);
double r120684 = r120656 * r120683;
double r120685 = r120680 / r120684;
double r120686 = r120662 * r120685;
double r120687 = r120677 ? r120686 : r120671;
return r120687;
}



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.036458492320256e+304 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.5
Taylor expanded around inf 45.8
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.036458492320256e+304Initial program 0.1
Final simplification13.0
herbie shell --seed 2020060
(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)))))