\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.971607601044754258030554284381095355808 \cdot 10^{301}\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 r147891 = -2.0;
double r147892 = J;
double r147893 = r147891 * r147892;
double r147894 = K;
double r147895 = 2.0;
double r147896 = r147894 / r147895;
double r147897 = cos(r147896);
double r147898 = r147893 * r147897;
double r147899 = 1.0;
double r147900 = U;
double r147901 = r147895 * r147892;
double r147902 = r147901 * r147897;
double r147903 = r147900 / r147902;
double r147904 = pow(r147903, r147895);
double r147905 = r147899 + r147904;
double r147906 = sqrt(r147905);
double r147907 = r147898 * r147906;
return r147907;
}
double f(double J, double K, double U) {
double r147908 = -2.0;
double r147909 = J;
double r147910 = r147908 * r147909;
double r147911 = K;
double r147912 = 2.0;
double r147913 = r147911 / r147912;
double r147914 = cos(r147913);
double r147915 = r147910 * r147914;
double r147916 = 1.0;
double r147917 = U;
double r147918 = r147912 * r147909;
double r147919 = r147918 * r147914;
double r147920 = r147917 / r147919;
double r147921 = pow(r147920, r147912);
double r147922 = r147916 + r147921;
double r147923 = sqrt(r147922);
double r147924 = r147915 * r147923;
double r147925 = -inf.0;
bool r147926 = r147924 <= r147925;
double r147927 = 1.9716076010447543e+301;
bool r147928 = r147924 <= r147927;
double r147929 = !r147928;
bool r147930 = r147926 || r147929;
double r147931 = 0.25;
double r147932 = sqrt(r147931);
double r147933 = r147932 * r147917;
double r147934 = 0.5;
double r147935 = r147934 * r147911;
double r147936 = cos(r147935);
double r147937 = r147909 * r147936;
double r147938 = r147933 / r147937;
double r147939 = r147915 * r147938;
double r147940 = r147914 * r147923;
double r147941 = r147910 * r147940;
double r147942 = r147930 ? r147939 : r147941;
return r147942;
}



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.9716076010447543e+301 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 62.3
Taylor expanded around inf 46.1
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.9716076010447543e+301Initial program 0.1
rmApplied associate-*l*0.2
Final simplification13.3
herbie shell --seed 2020001
(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)))))