\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 7.498348991702614734003739977816297903715 \cdot 10^{307}\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(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\right)\\
\end{array}double f(double J, double K, double U) {
double r106646 = -2.0;
double r106647 = J;
double r106648 = r106646 * r106647;
double r106649 = K;
double r106650 = 2.0;
double r106651 = r106649 / r106650;
double r106652 = cos(r106651);
double r106653 = r106648 * r106652;
double r106654 = 1.0;
double r106655 = U;
double r106656 = r106650 * r106647;
double r106657 = r106656 * r106652;
double r106658 = r106655 / r106657;
double r106659 = pow(r106658, r106650);
double r106660 = r106654 + r106659;
double r106661 = sqrt(r106660);
double r106662 = r106653 * r106661;
return r106662;
}
double f(double J, double K, double U) {
double r106663 = -2.0;
double r106664 = J;
double r106665 = r106663 * r106664;
double r106666 = K;
double r106667 = 2.0;
double r106668 = r106666 / r106667;
double r106669 = cos(r106668);
double r106670 = r106665 * r106669;
double r106671 = 1.0;
double r106672 = U;
double r106673 = r106667 * r106664;
double r106674 = r106673 * r106669;
double r106675 = r106672 / r106674;
double r106676 = pow(r106675, r106667);
double r106677 = r106671 + r106676;
double r106678 = sqrt(r106677);
double r106679 = r106670 * r106678;
double r106680 = -inf.0;
bool r106681 = r106679 <= r106680;
double r106682 = 7.498348991702615e+307;
bool r106683 = r106679 <= r106682;
double r106684 = !r106683;
bool r106685 = r106681 || r106684;
double r106686 = 0.25;
double r106687 = sqrt(r106686);
double r106688 = r106687 * r106672;
double r106689 = 0.5;
double r106690 = r106689 * r106666;
double r106691 = cos(r106690);
double r106692 = r106664 * r106691;
double r106693 = r106688 / r106692;
double r106694 = r106670 * r106693;
double r106695 = r106669 * r106678;
double r106696 = r106665 * r106695;
double r106697 = r106685 ? r106694 : r106696;
return r106697;
}



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 7.498348991702615e+307 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.9
Taylor expanded around inf 45.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)))) < 7.498348991702615e+307Initial program 0.1
rmApplied associate-*l*0.2
Final simplification13.0
herbie shell --seed 2019326
(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)))))