\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.569821859298618806925582301780582570703 \cdot 10^{303}\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 r101563 = -2.0;
double r101564 = J;
double r101565 = r101563 * r101564;
double r101566 = K;
double r101567 = 2.0;
double r101568 = r101566 / r101567;
double r101569 = cos(r101568);
double r101570 = r101565 * r101569;
double r101571 = 1.0;
double r101572 = U;
double r101573 = r101567 * r101564;
double r101574 = r101573 * r101569;
double r101575 = r101572 / r101574;
double r101576 = pow(r101575, r101567);
double r101577 = r101571 + r101576;
double r101578 = sqrt(r101577);
double r101579 = r101570 * r101578;
return r101579;
}
double f(double J, double K, double U) {
double r101580 = -2.0;
double r101581 = J;
double r101582 = r101580 * r101581;
double r101583 = K;
double r101584 = 2.0;
double r101585 = r101583 / r101584;
double r101586 = cos(r101585);
double r101587 = r101582 * r101586;
double r101588 = 1.0;
double r101589 = U;
double r101590 = r101584 * r101581;
double r101591 = r101590 * r101586;
double r101592 = r101589 / r101591;
double r101593 = pow(r101592, r101584);
double r101594 = r101588 + r101593;
double r101595 = sqrt(r101594);
double r101596 = r101587 * r101595;
double r101597 = -inf.0;
bool r101598 = r101596 <= r101597;
double r101599 = 1.5698218592986188e+303;
bool r101600 = r101596 <= r101599;
double r101601 = !r101600;
bool r101602 = r101598 || r101601;
double r101603 = 0.25;
double r101604 = sqrt(r101603);
double r101605 = r101604 * r101589;
double r101606 = 0.5;
double r101607 = r101606 * r101583;
double r101608 = cos(r101607);
double r101609 = r101581 * r101608;
double r101610 = r101605 / r101609;
double r101611 = r101587 * r101610;
double r101612 = r101602 ? r101611 : r101596;
return r101612;
}



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.5698218592986188e+303 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 62.8
Taylor expanded around inf 45.6
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.5698218592986188e+303Initial program 0.1
Final simplification13.4
herbie shell --seed 2019303
(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)))))