\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 5.7089587767209985 \cdot 10^{306}\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 r365 = -2.0;
double r366 = J;
double r367 = r365 * r366;
double r368 = K;
double r369 = 2.0;
double r370 = r368 / r369;
double r371 = cos(r370);
double r372 = r367 * r371;
double r373 = 1.0;
double r374 = U;
double r375 = r369 * r366;
double r376 = r375 * r371;
double r377 = r374 / r376;
double r378 = pow(r377, r369);
double r379 = r373 + r378;
double r380 = sqrt(r379);
double r381 = r372 * r380;
return r381;
}
double f(double J, double K, double U) {
double r382 = -2.0;
double r383 = J;
double r384 = r382 * r383;
double r385 = K;
double r386 = 2.0;
double r387 = r385 / r386;
double r388 = cos(r387);
double r389 = r384 * r388;
double r390 = 1.0;
double r391 = U;
double r392 = r386 * r383;
double r393 = r392 * r388;
double r394 = r391 / r393;
double r395 = pow(r394, r386);
double r396 = r390 + r395;
double r397 = sqrt(r396);
double r398 = r389 * r397;
double r399 = -inf.0;
bool r400 = r398 <= r399;
double r401 = 5.708958776720999e+306;
bool r402 = r398 <= r401;
double r403 = !r402;
bool r404 = r400 || r403;
double r405 = 0.25;
double r406 = sqrt(r405);
double r407 = r406 * r391;
double r408 = 0.5;
double r409 = r408 * r385;
double r410 = cos(r409);
double r411 = r383 * r410;
double r412 = r407 / r411;
double r413 = r389 * r412;
double r414 = r404 ? r413 : r398;
return r414;
}



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 5.708958776720999e+306 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.5
Taylor expanded around inf 45.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)))) < 5.708958776720999e+306Initial program 0.1
Final simplification12.9
herbie shell --seed 2020025
(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)))))