\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.060066890954713680905695378128061767254 \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 r104431 = -2.0;
double r104432 = J;
double r104433 = r104431 * r104432;
double r104434 = K;
double r104435 = 2.0;
double r104436 = r104434 / r104435;
double r104437 = cos(r104436);
double r104438 = r104433 * r104437;
double r104439 = 1.0;
double r104440 = U;
double r104441 = r104435 * r104432;
double r104442 = r104441 * r104437;
double r104443 = r104440 / r104442;
double r104444 = pow(r104443, r104435);
double r104445 = r104439 + r104444;
double r104446 = sqrt(r104445);
double r104447 = r104438 * r104446;
return r104447;
}
double f(double J, double K, double U) {
double r104448 = -2.0;
double r104449 = J;
double r104450 = r104448 * r104449;
double r104451 = K;
double r104452 = 2.0;
double r104453 = r104451 / r104452;
double r104454 = cos(r104453);
double r104455 = r104450 * r104454;
double r104456 = 1.0;
double r104457 = U;
double r104458 = r104452 * r104449;
double r104459 = r104458 * r104454;
double r104460 = r104457 / r104459;
double r104461 = pow(r104460, r104452);
double r104462 = r104456 + r104461;
double r104463 = sqrt(r104462);
double r104464 = r104455 * r104463;
double r104465 = -inf.0;
bool r104466 = r104464 <= r104465;
double r104467 = 2.0600668909547137e+306;
bool r104468 = r104464 <= r104467;
double r104469 = !r104468;
bool r104470 = r104466 || r104469;
double r104471 = 0.25;
double r104472 = sqrt(r104471);
double r104473 = r104472 * r104457;
double r104474 = 0.5;
double r104475 = r104474 * r104451;
double r104476 = cos(r104475);
double r104477 = r104449 * r104476;
double r104478 = r104473 / r104477;
double r104479 = r104455 * r104478;
double r104480 = r104470 ? r104479 : r104464;
return r104480;
}



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.0600668909547137e+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.6
Taylor expanded around inf 45.8
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.0600668909547137e+306Initial program 0.1
Final simplification13.0
herbie shell --seed 2019323
(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)))))