\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 4.3741401722821851 \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}{\cos \left(0.5 \cdot K\right) \cdot J}\\
\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 r121451 = -2.0;
double r121452 = J;
double r121453 = r121451 * r121452;
double r121454 = K;
double r121455 = 2.0;
double r121456 = r121454 / r121455;
double r121457 = cos(r121456);
double r121458 = r121453 * r121457;
double r121459 = 1.0;
double r121460 = U;
double r121461 = r121455 * r121452;
double r121462 = r121461 * r121457;
double r121463 = r121460 / r121462;
double r121464 = pow(r121463, r121455);
double r121465 = r121459 + r121464;
double r121466 = sqrt(r121465);
double r121467 = r121458 * r121466;
return r121467;
}
double f(double J, double K, double U) {
double r121468 = -2.0;
double r121469 = J;
double r121470 = r121468 * r121469;
double r121471 = K;
double r121472 = 2.0;
double r121473 = r121471 / r121472;
double r121474 = cos(r121473);
double r121475 = r121470 * r121474;
double r121476 = 1.0;
double r121477 = U;
double r121478 = r121472 * r121469;
double r121479 = r121478 * r121474;
double r121480 = r121477 / r121479;
double r121481 = pow(r121480, r121472);
double r121482 = r121476 + r121481;
double r121483 = sqrt(r121482);
double r121484 = r121475 * r121483;
double r121485 = -inf.0;
bool r121486 = r121484 <= r121485;
double r121487 = 4.374140172282185e+306;
bool r121488 = r121484 <= r121487;
double r121489 = !r121488;
bool r121490 = r121486 || r121489;
double r121491 = 0.25;
double r121492 = sqrt(r121491);
double r121493 = r121492 * r121477;
double r121494 = 0.5;
double r121495 = r121494 * r121471;
double r121496 = cos(r121495);
double r121497 = r121496 * r121469;
double r121498 = r121493 / r121497;
double r121499 = r121475 * r121498;
double r121500 = r121490 ? r121499 : r121484;
return r121500;
}



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 4.374140172282185e+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.7
Taylor expanded around inf 46.2
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 4.374140172282185e+306Initial program 0.1
Final simplification12.8
herbie shell --seed 2019195
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))