\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.15209761261892705 \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 r175335 = -2.0;
double r175336 = J;
double r175337 = r175335 * r175336;
double r175338 = K;
double r175339 = 2.0;
double r175340 = r175338 / r175339;
double r175341 = cos(r175340);
double r175342 = r175337 * r175341;
double r175343 = 1.0;
double r175344 = U;
double r175345 = r175339 * r175336;
double r175346 = r175345 * r175341;
double r175347 = r175344 / r175346;
double r175348 = pow(r175347, r175339);
double r175349 = r175343 + r175348;
double r175350 = sqrt(r175349);
double r175351 = r175342 * r175350;
return r175351;
}
double f(double J, double K, double U) {
double r175352 = -2.0;
double r175353 = J;
double r175354 = r175352 * r175353;
double r175355 = K;
double r175356 = 2.0;
double r175357 = r175355 / r175356;
double r175358 = cos(r175357);
double r175359 = r175354 * r175358;
double r175360 = 1.0;
double r175361 = U;
double r175362 = r175356 * r175353;
double r175363 = r175362 * r175358;
double r175364 = r175361 / r175363;
double r175365 = pow(r175364, r175356);
double r175366 = r175360 + r175365;
double r175367 = sqrt(r175366);
double r175368 = r175359 * r175367;
double r175369 = -inf.0;
bool r175370 = r175368 <= r175369;
double r175371 = 2.152097612618927e+306;
bool r175372 = r175368 <= r175371;
double r175373 = !r175372;
bool r175374 = r175370 || r175373;
double r175375 = 0.25;
double r175376 = sqrt(r175375);
double r175377 = r175376 * r175361;
double r175378 = 0.5;
double r175379 = r175378 * r175355;
double r175380 = cos(r175379);
double r175381 = r175353 * r175380;
double r175382 = r175377 / r175381;
double r175383 = r175359 * r175382;
double r175384 = r175374 ? r175383 : r175368;
return r175384;
}



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.152097612618927e+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.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.152097612618927e+306Initial program 0.1
Final simplification12.4
herbie shell --seed 2020062
(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)))))