\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 2.899712396149546300799194134562288074485 \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 r126962 = -2.0;
double r126963 = J;
double r126964 = r126962 * r126963;
double r126965 = K;
double r126966 = 2.0;
double r126967 = r126965 / r126966;
double r126968 = cos(r126967);
double r126969 = r126964 * r126968;
double r126970 = 1.0;
double r126971 = U;
double r126972 = r126966 * r126963;
double r126973 = r126972 * r126968;
double r126974 = r126971 / r126973;
double r126975 = pow(r126974, r126966);
double r126976 = r126970 + r126975;
double r126977 = sqrt(r126976);
double r126978 = r126969 * r126977;
return r126978;
}
double f(double J, double K, double U) {
double r126979 = -2.0;
double r126980 = J;
double r126981 = r126979 * r126980;
double r126982 = K;
double r126983 = 2.0;
double r126984 = r126982 / r126983;
double r126985 = cos(r126984);
double r126986 = r126981 * r126985;
double r126987 = 1.0;
double r126988 = U;
double r126989 = r126983 * r126980;
double r126990 = r126989 * r126985;
double r126991 = r126988 / r126990;
double r126992 = pow(r126991, r126983);
double r126993 = r126987 + r126992;
double r126994 = sqrt(r126993);
double r126995 = r126986 * r126994;
double r126996 = -inf.0;
bool r126997 = r126995 <= r126996;
double r126998 = 2.8997123961495463e+307;
bool r126999 = r126995 <= r126998;
double r127000 = !r126999;
bool r127001 = r126997 || r127000;
double r127002 = 0.25;
double r127003 = sqrt(r127002);
double r127004 = r127003 * r126988;
double r127005 = 0.5;
double r127006 = r127005 * r126982;
double r127007 = cos(r127006);
double r127008 = r126980 * r127007;
double r127009 = r127004 / r127008;
double r127010 = r126986 * r127009;
double r127011 = r127001 ? r127010 : r126995;
return r127011;
}



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.8997123961495463e+307 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.9
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)))) < 2.8997123961495463e+307Initial program 0.1
Final simplification12.8
herbie shell --seed 2019208
(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)))))