\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(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \left(\left(-2 \cdot \left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot J\right)\right) \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right)\right) \cdot \frac{\frac{\sqrt{0.25} \cdot U}{J}}{\cos \left(0.5 \cdot K\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 r105967 = -2.0;
double r105968 = J;
double r105969 = r105967 * r105968;
double r105970 = K;
double r105971 = 2.0;
double r105972 = r105970 / r105971;
double r105973 = cos(r105972);
double r105974 = r105969 * r105973;
double r105975 = 1.0;
double r105976 = U;
double r105977 = r105971 * r105968;
double r105978 = r105977 * r105973;
double r105979 = r105976 / r105978;
double r105980 = pow(r105979, r105971);
double r105981 = r105975 + r105980;
double r105982 = sqrt(r105981);
double r105983 = r105974 * r105982;
return r105983;
}
double f(double J, double K, double U) {
double r105984 = U;
double r105985 = J;
double r105986 = 2.0;
double r105987 = r105985 * r105986;
double r105988 = K;
double r105989 = r105988 / r105986;
double r105990 = cos(r105989);
double r105991 = r105987 * r105990;
double r105992 = r105984 / r105991;
double r105993 = pow(r105992, r105986);
double r105994 = 1.0;
double r105995 = r105993 + r105994;
double r105996 = sqrt(r105995);
double r105997 = -2.0;
double r105998 = r105997 * r105985;
double r105999 = r105990 * r105998;
double r106000 = r105996 * r105999;
double r106001 = -inf.0;
bool r106002 = r106000 <= r106001;
double r106003 = 2.046657204468815e+296;
bool r106004 = r106000 <= r106003;
double r106005 = !r106004;
bool r106006 = r106002 || r106005;
double r106007 = cbrt(r105990);
double r106008 = r106007 * r105985;
double r106009 = r105997 * r106008;
double r106010 = r106009 * r106007;
double r106011 = r106007 * r106010;
double r106012 = 0.25;
double r106013 = sqrt(r106012);
double r106014 = r106013 * r105984;
double r106015 = r106014 / r105985;
double r106016 = 0.5;
double r106017 = r106016 * r105988;
double r106018 = cos(r106017);
double r106019 = r106015 / r106018;
double r106020 = r106011 * r106019;
double r106021 = r106006 ? r106020 : r106000;
return r106021;
}



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
rmApplied add-cube-cbrt61.0
Applied associate-*r*61.0
Simplified61.0
Taylor expanded around inf 46.1
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)))))