\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 4.13888460885937489 \cdot 10^{300}\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 r106799 = -2.0;
double r106800 = J;
double r106801 = r106799 * r106800;
double r106802 = K;
double r106803 = 2.0;
double r106804 = r106802 / r106803;
double r106805 = cos(r106804);
double r106806 = r106801 * r106805;
double r106807 = 1.0;
double r106808 = U;
double r106809 = r106803 * r106800;
double r106810 = r106809 * r106805;
double r106811 = r106808 / r106810;
double r106812 = pow(r106811, r106803);
double r106813 = r106807 + r106812;
double r106814 = sqrt(r106813);
double r106815 = r106806 * r106814;
return r106815;
}
double f(double J, double K, double U) {
double r106816 = -2.0;
double r106817 = J;
double r106818 = r106816 * r106817;
double r106819 = K;
double r106820 = 2.0;
double r106821 = r106819 / r106820;
double r106822 = cos(r106821);
double r106823 = r106818 * r106822;
double r106824 = 1.0;
double r106825 = U;
double r106826 = r106820 * r106817;
double r106827 = r106826 * r106822;
double r106828 = r106825 / r106827;
double r106829 = pow(r106828, r106820);
double r106830 = r106824 + r106829;
double r106831 = sqrt(r106830);
double r106832 = r106823 * r106831;
double r106833 = -inf.0;
bool r106834 = r106832 <= r106833;
double r106835 = 4.138884608859375e+300;
bool r106836 = r106832 <= r106835;
double r106837 = !r106836;
bool r106838 = r106834 || r106837;
double r106839 = 0.25;
double r106840 = sqrt(r106839);
double r106841 = r106840 * r106825;
double r106842 = 0.5;
double r106843 = r106842 * r106819;
double r106844 = cos(r106843);
double r106845 = r106817 * r106844;
double r106846 = r106841 / r106845;
double r106847 = r106823 * r106846;
double r106848 = r106838 ? r106847 : r106832;
return r106848;
}



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 4.138884608859375e+300 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 62.0
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)))) < 4.138884608859375e+300Initial program 0.1
Final simplification13.5
herbie shell --seed 2020057
(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)))))