\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 1.01452260126819117 \cdot 10^{303}\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 r148325 = -2.0;
double r148326 = J;
double r148327 = r148325 * r148326;
double r148328 = K;
double r148329 = 2.0;
double r148330 = r148328 / r148329;
double r148331 = cos(r148330);
double r148332 = r148327 * r148331;
double r148333 = 1.0;
double r148334 = U;
double r148335 = r148329 * r148326;
double r148336 = r148335 * r148331;
double r148337 = r148334 / r148336;
double r148338 = pow(r148337, r148329);
double r148339 = r148333 + r148338;
double r148340 = sqrt(r148339);
double r148341 = r148332 * r148340;
return r148341;
}
double f(double J, double K, double U) {
double r148342 = -2.0;
double r148343 = J;
double r148344 = r148342 * r148343;
double r148345 = K;
double r148346 = 2.0;
double r148347 = r148345 / r148346;
double r148348 = cos(r148347);
double r148349 = r148344 * r148348;
double r148350 = 1.0;
double r148351 = U;
double r148352 = r148346 * r148343;
double r148353 = r148352 * r148348;
double r148354 = r148351 / r148353;
double r148355 = pow(r148354, r148346);
double r148356 = r148350 + r148355;
double r148357 = sqrt(r148356);
double r148358 = r148349 * r148357;
double r148359 = -inf.0;
bool r148360 = r148358 <= r148359;
double r148361 = 1.0145226012681912e+303;
bool r148362 = r148358 <= r148361;
double r148363 = !r148362;
bool r148364 = r148360 || r148363;
double r148365 = 0.25;
double r148366 = sqrt(r148365);
double r148367 = r148366 * r148351;
double r148368 = 0.5;
double r148369 = r148368 * r148345;
double r148370 = cos(r148369);
double r148371 = r148343 * r148370;
double r148372 = r148367 / r148371;
double r148373 = r148349 * r148372;
double r148374 = r148364 ? r148373 : r148358;
return r148374;
}



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 1.0145226012681912e+303 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 62.8
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)))) < 1.0145226012681912e+303Initial program 0.1
Final simplification13.4
herbie shell --seed 2019199
(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)))))