\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 3.823360998351127193476059713026580272921 \cdot 10^{304}\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(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\left|\sqrt[3]{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\right| \cdot \sqrt{\sqrt[3]{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}}}\right) \cdot \sqrt{\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 r178063 = -2.0;
double r178064 = J;
double r178065 = r178063 * r178064;
double r178066 = K;
double r178067 = 2.0;
double r178068 = r178066 / r178067;
double r178069 = cos(r178068);
double r178070 = r178065 * r178069;
double r178071 = 1.0;
double r178072 = U;
double r178073 = r178067 * r178064;
double r178074 = r178073 * r178069;
double r178075 = r178072 / r178074;
double r178076 = pow(r178075, r178067);
double r178077 = r178071 + r178076;
double r178078 = sqrt(r178077);
double r178079 = r178070 * r178078;
return r178079;
}
double f(double J, double K, double U) {
double r178080 = -2.0;
double r178081 = J;
double r178082 = r178080 * r178081;
double r178083 = K;
double r178084 = 2.0;
double r178085 = r178083 / r178084;
double r178086 = cos(r178085);
double r178087 = r178082 * r178086;
double r178088 = 1.0;
double r178089 = U;
double r178090 = r178084 * r178081;
double r178091 = r178090 * r178086;
double r178092 = r178089 / r178091;
double r178093 = pow(r178092, r178084);
double r178094 = r178088 + r178093;
double r178095 = sqrt(r178094);
double r178096 = r178087 * r178095;
double r178097 = -inf.0;
bool r178098 = r178096 <= r178097;
double r178099 = 3.823360998351127e+304;
bool r178100 = r178096 <= r178099;
double r178101 = !r178100;
bool r178102 = r178098 || r178101;
double r178103 = 0.25;
double r178104 = sqrt(r178103);
double r178105 = r178104 * r178089;
double r178106 = 0.5;
double r178107 = r178106 * r178083;
double r178108 = cos(r178107);
double r178109 = r178081 * r178108;
double r178110 = r178105 / r178109;
double r178111 = r178087 * r178110;
double r178112 = cbrt(r178094);
double r178113 = fabs(r178112);
double r178114 = sqrt(r178112);
double r178115 = r178113 * r178114;
double r178116 = sqrt(r178115);
double r178117 = r178087 * r178116;
double r178118 = sqrt(r178095);
double r178119 = r178117 * r178118;
double r178120 = r178102 ? r178111 : r178119;
return r178120;
}



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 3.823360998351127e+304 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.1
Taylor expanded around inf 46.0
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 3.823360998351127e+304Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.3
Applied associate-*r*0.3
rmApplied add-cube-cbrt0.3
Applied sqrt-prod0.3
Simplified0.3
Final simplification13.3
herbie shell --seed 2019352
(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)))))