\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 3.86423528566713933 \cdot 10^{291}\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 r297328 = -2.0;
double r297329 = J;
double r297330 = r297328 * r297329;
double r297331 = K;
double r297332 = 2.0;
double r297333 = r297331 / r297332;
double r297334 = cos(r297333);
double r297335 = r297330 * r297334;
double r297336 = 1.0;
double r297337 = U;
double r297338 = r297332 * r297329;
double r297339 = r297338 * r297334;
double r297340 = r297337 / r297339;
double r297341 = pow(r297340, r297332);
double r297342 = r297336 + r297341;
double r297343 = sqrt(r297342);
double r297344 = r297335 * r297343;
return r297344;
}
double f(double J, double K, double U) {
double r297345 = -2.0;
double r297346 = J;
double r297347 = r297345 * r297346;
double r297348 = K;
double r297349 = 2.0;
double r297350 = r297348 / r297349;
double r297351 = cos(r297350);
double r297352 = r297347 * r297351;
double r297353 = 1.0;
double r297354 = U;
double r297355 = r297349 * r297346;
double r297356 = r297355 * r297351;
double r297357 = r297354 / r297356;
double r297358 = pow(r297357, r297349);
double r297359 = r297353 + r297358;
double r297360 = sqrt(r297359);
double r297361 = r297352 * r297360;
double r297362 = -inf.0;
bool r297363 = r297361 <= r297362;
double r297364 = 3.8642352856671393e+291;
bool r297365 = r297361 <= r297364;
double r297366 = !r297365;
bool r297367 = r297363 || r297366;
double r297368 = 0.25;
double r297369 = sqrt(r297368);
double r297370 = r297369 * r297354;
double r297371 = 0.5;
double r297372 = r297371 * r297348;
double r297373 = cos(r297372);
double r297374 = r297346 * r297373;
double r297375 = r297370 / r297374;
double r297376 = r297352 * r297375;
double r297377 = r297367 ? r297376 : r297361;
return r297377;
}



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 3.8642352856671393e+291 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 60.5
Taylor expanded around inf 47.5
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 3.8642352856671393e+291Initial program 0.1
Final simplification13.7
herbie shell --seed 2020045
(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)))))