\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 6.764951864053771205513636676802769491028 \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(\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 r210891 = -2.0;
double r210892 = J;
double r210893 = r210891 * r210892;
double r210894 = K;
double r210895 = 2.0;
double r210896 = r210894 / r210895;
double r210897 = cos(r210896);
double r210898 = r210893 * r210897;
double r210899 = 1.0;
double r210900 = U;
double r210901 = r210895 * r210892;
double r210902 = r210901 * r210897;
double r210903 = r210900 / r210902;
double r210904 = pow(r210903, r210895);
double r210905 = r210899 + r210904;
double r210906 = sqrt(r210905);
double r210907 = r210898 * r210906;
return r210907;
}
double f(double J, double K, double U) {
double r210908 = -2.0;
double r210909 = J;
double r210910 = r210908 * r210909;
double r210911 = K;
double r210912 = 2.0;
double r210913 = r210911 / r210912;
double r210914 = cos(r210913);
double r210915 = r210910 * r210914;
double r210916 = 1.0;
double r210917 = U;
double r210918 = r210912 * r210909;
double r210919 = r210918 * r210914;
double r210920 = r210917 / r210919;
double r210921 = pow(r210920, r210912);
double r210922 = r210916 + r210921;
double r210923 = sqrt(r210922);
double r210924 = r210915 * r210923;
double r210925 = -inf.0;
bool r210926 = r210924 <= r210925;
double r210927 = 6.764951864053771e+307;
bool r210928 = r210924 <= r210927;
double r210929 = !r210928;
bool r210930 = r210926 || r210929;
double r210931 = 0.25;
double r210932 = sqrt(r210931);
double r210933 = r210932 * r210917;
double r210934 = 0.5;
double r210935 = r210934 * r210911;
double r210936 = cos(r210935);
double r210937 = r210909 * r210936;
double r210938 = r210933 / r210937;
double r210939 = r210915 * r210938;
double r210940 = r210930 ? r210939 : r210924;
return r210940;
}



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 6.764951864053771e+307 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 64.0
Taylor expanded around inf 46.9
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 6.764951864053771e+307Initial program 0.1
Final simplification13.4
herbie shell --seed 2019322
(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)))))