\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 1.0665921477558243 \cdot 10^{304}\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 r123343 = -2.0;
double r123344 = J;
double r123345 = r123343 * r123344;
double r123346 = K;
double r123347 = 2.0;
double r123348 = r123346 / r123347;
double r123349 = cos(r123348);
double r123350 = r123345 * r123349;
double r123351 = 1.0;
double r123352 = U;
double r123353 = r123347 * r123344;
double r123354 = r123353 * r123349;
double r123355 = r123352 / r123354;
double r123356 = pow(r123355, r123347);
double r123357 = r123351 + r123356;
double r123358 = sqrt(r123357);
double r123359 = r123350 * r123358;
return r123359;
}
double f(double J, double K, double U) {
double r123360 = -2.0;
double r123361 = J;
double r123362 = r123360 * r123361;
double r123363 = K;
double r123364 = 2.0;
double r123365 = r123363 / r123364;
double r123366 = cos(r123365);
double r123367 = r123362 * r123366;
double r123368 = 1.0;
double r123369 = U;
double r123370 = r123364 * r123361;
double r123371 = r123370 * r123366;
double r123372 = r123369 / r123371;
double r123373 = pow(r123372, r123364);
double r123374 = r123368 + r123373;
double r123375 = sqrt(r123374);
double r123376 = r123367 * r123375;
double r123377 = -inf.0;
bool r123378 = r123376 <= r123377;
double r123379 = 1.0665921477558243e+304;
bool r123380 = r123376 <= r123379;
double r123381 = !r123380;
bool r123382 = r123378 || r123381;
double r123383 = 0.25;
double r123384 = sqrt(r123383);
double r123385 = r123384 * r123369;
double r123386 = 0.5;
double r123387 = r123386 * r123363;
double r123388 = cos(r123387);
double r123389 = r123361 * r123388;
double r123390 = r123385 / r123389;
double r123391 = r123367 * r123390;
double r123392 = r123382 ? r123391 : r123376;
return r123392;
}



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 1.0665921477558243e+304 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 62.7
Taylor expanded around inf 45.6
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 1.0665921477558243e+304Initial program 0.1
Final simplification12.7
herbie shell --seed 2020047
(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)))))