\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 7.559842528369406655690046484422119915343 \cdot 10^{305}\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(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\right)\\
\end{array}double f(double J, double K, double U) {
double r156355 = -2.0;
double r156356 = J;
double r156357 = r156355 * r156356;
double r156358 = K;
double r156359 = 2.0;
double r156360 = r156358 / r156359;
double r156361 = cos(r156360);
double r156362 = r156357 * r156361;
double r156363 = 1.0;
double r156364 = U;
double r156365 = r156359 * r156356;
double r156366 = r156365 * r156361;
double r156367 = r156364 / r156366;
double r156368 = pow(r156367, r156359);
double r156369 = r156363 + r156368;
double r156370 = sqrt(r156369);
double r156371 = r156362 * r156370;
return r156371;
}
double f(double J, double K, double U) {
double r156372 = -2.0;
double r156373 = J;
double r156374 = r156372 * r156373;
double r156375 = K;
double r156376 = 2.0;
double r156377 = r156375 / r156376;
double r156378 = cos(r156377);
double r156379 = r156374 * r156378;
double r156380 = 1.0;
double r156381 = U;
double r156382 = r156376 * r156373;
double r156383 = r156382 * r156378;
double r156384 = r156381 / r156383;
double r156385 = pow(r156384, r156376);
double r156386 = r156380 + r156385;
double r156387 = sqrt(r156386);
double r156388 = r156379 * r156387;
double r156389 = -inf.0;
bool r156390 = r156388 <= r156389;
double r156391 = 7.559842528369407e+305;
bool r156392 = r156388 <= r156391;
double r156393 = !r156392;
bool r156394 = r156390 || r156393;
double r156395 = 0.25;
double r156396 = sqrt(r156395);
double r156397 = r156396 * r156381;
double r156398 = 0.5;
double r156399 = r156398 * r156375;
double r156400 = cos(r156399);
double r156401 = r156373 * r156400;
double r156402 = r156397 / r156401;
double r156403 = r156379 * r156402;
double r156404 = r156378 * r156387;
double r156405 = r156374 * r156404;
double r156406 = r156394 ? r156403 : r156405;
return r156406;
}



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 7.559842528369407e+305 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.5
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)))) < 7.559842528369407e+305Initial program 0.1
rmApplied associate-*l*0.2
Final simplification12.8
herbie shell --seed 2019350
(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)))))