\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}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty \lor \neg \left(\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 2.046657204468815031699915225739490531069 \cdot 10^{296}\right):\\
\;\;\;\;\left(\frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)} \cdot \frac{U}{J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\end{array}double f(double J, double K, double U) {
double r97902 = -2.0;
double r97903 = J;
double r97904 = r97902 * r97903;
double r97905 = K;
double r97906 = 2.0;
double r97907 = r97905 / r97906;
double r97908 = cos(r97907);
double r97909 = r97904 * r97908;
double r97910 = 1.0;
double r97911 = U;
double r97912 = r97906 * r97903;
double r97913 = r97912 * r97908;
double r97914 = r97911 / r97913;
double r97915 = pow(r97914, r97906);
double r97916 = r97910 + r97915;
double r97917 = sqrt(r97916);
double r97918 = r97909 * r97917;
return r97918;
}
double f(double J, double K, double U) {
double r97919 = U;
double r97920 = J;
double r97921 = 2.0;
double r97922 = r97920 * r97921;
double r97923 = K;
double r97924 = r97923 / r97921;
double r97925 = cos(r97924);
double r97926 = r97922 * r97925;
double r97927 = r97919 / r97926;
double r97928 = pow(r97927, r97921);
double r97929 = 1.0;
double r97930 = r97928 + r97929;
double r97931 = sqrt(r97930);
double r97932 = -2.0;
double r97933 = r97932 * r97920;
double r97934 = r97925 * r97933;
double r97935 = r97931 * r97934;
double r97936 = -inf.0;
bool r97937 = r97935 <= r97936;
double r97938 = 2.046657204468815e+296;
bool r97939 = r97935 <= r97938;
double r97940 = !r97939;
bool r97941 = r97937 || r97940;
double r97942 = 0.25;
double r97943 = sqrt(r97942);
double r97944 = 0.5;
double r97945 = r97944 * r97923;
double r97946 = cos(r97945);
double r97947 = r97943 / r97946;
double r97948 = r97919 / r97920;
double r97949 = r97947 * r97948;
double r97950 = r97949 * r97934;
double r97951 = r97941 ? r97950 : r97935;
return r97951;
}



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 2.046657204468815e+296 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 61.0
Taylor expanded around inf 46.0
Simplified46.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)))) < 2.046657204468815e+296Initial program 0.1
Final simplification13.4
herbie shell --seed 2019194
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))