\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.001562925985640633791519882580915703665 \cdot 10^{297}\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 r172398 = -2.0;
double r172399 = J;
double r172400 = r172398 * r172399;
double r172401 = K;
double r172402 = 2.0;
double r172403 = r172401 / r172402;
double r172404 = cos(r172403);
double r172405 = r172400 * r172404;
double r172406 = 1.0;
double r172407 = U;
double r172408 = r172402 * r172399;
double r172409 = r172408 * r172404;
double r172410 = r172407 / r172409;
double r172411 = pow(r172410, r172402);
double r172412 = r172406 + r172411;
double r172413 = sqrt(r172412);
double r172414 = r172405 * r172413;
return r172414;
}
double f(double J, double K, double U) {
double r172415 = -2.0;
double r172416 = J;
double r172417 = r172415 * r172416;
double r172418 = K;
double r172419 = 2.0;
double r172420 = r172418 / r172419;
double r172421 = cos(r172420);
double r172422 = r172417 * r172421;
double r172423 = 1.0;
double r172424 = U;
double r172425 = r172419 * r172416;
double r172426 = r172425 * r172421;
double r172427 = r172424 / r172426;
double r172428 = pow(r172427, r172419);
double r172429 = r172423 + r172428;
double r172430 = sqrt(r172429);
double r172431 = r172422 * r172430;
double r172432 = -inf.0;
bool r172433 = r172431 <= r172432;
double r172434 = 2.0015629259856406e+297;
bool r172435 = r172431 <= r172434;
double r172436 = !r172435;
bool r172437 = r172433 || r172436;
double r172438 = 0.25;
double r172439 = sqrt(r172438);
double r172440 = r172439 * r172424;
double r172441 = 0.5;
double r172442 = r172441 * r172418;
double r172443 = cos(r172442);
double r172444 = r172416 * r172443;
double r172445 = r172440 / r172444;
double r172446 = r172422 * r172445;
double r172447 = r172437 ? r172446 : r172431;
return r172447;
}



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.0015629259856406e+297 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 61.8
Taylor expanded around inf 45.7
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.0015629259856406e+297Initial program 0.1
Final simplification13.4
herbie shell --seed 2019356
(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)))))