\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}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\
\;\;\;\;-U\\
\mathbf{elif}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 3.1876595894319666 \cdot 10^{+307}:\\
\;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-U\\
\end{array}double f(double J, double K, double U) {
double r3982497 = -2.0;
double r3982498 = J;
double r3982499 = r3982497 * r3982498;
double r3982500 = K;
double r3982501 = 2.0;
double r3982502 = r3982500 / r3982501;
double r3982503 = cos(r3982502);
double r3982504 = r3982499 * r3982503;
double r3982505 = 1.0;
double r3982506 = U;
double r3982507 = r3982501 * r3982498;
double r3982508 = r3982507 * r3982503;
double r3982509 = r3982506 / r3982508;
double r3982510 = pow(r3982509, r3982501);
double r3982511 = r3982505 + r3982510;
double r3982512 = sqrt(r3982511);
double r3982513 = r3982504 * r3982512;
return r3982513;
}
double f(double J, double K, double U) {
double r3982514 = U;
double r3982515 = J;
double r3982516 = 2.0;
double r3982517 = r3982515 * r3982516;
double r3982518 = K;
double r3982519 = r3982518 / r3982516;
double r3982520 = cos(r3982519);
double r3982521 = r3982517 * r3982520;
double r3982522 = r3982514 / r3982521;
double r3982523 = pow(r3982522, r3982516);
double r3982524 = 1.0;
double r3982525 = r3982523 + r3982524;
double r3982526 = sqrt(r3982525);
double r3982527 = -2.0;
double r3982528 = r3982527 * r3982515;
double r3982529 = r3982520 * r3982528;
double r3982530 = r3982526 * r3982529;
double r3982531 = -inf.0;
bool r3982532 = r3982530 <= r3982531;
double r3982533 = -r3982514;
double r3982534 = 3.1876595894319666e+307;
bool r3982535 = r3982530 <= r3982534;
double r3982536 = r3982535 ? r3982530 : r3982533;
double r3982537 = r3982532 ? r3982533 : r3982536;
return r3982537;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < -inf.0 or 3.1876595894319666e+307 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) Initial program 60.3
rmApplied associate-*l*60.3
Simplified60.3
Taylor expanded around 0 33.4
Simplified33.4
if -inf.0 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < 3.1876595894319666e+307Initial program 0.1
Final simplification9.6
herbie shell --seed 2019164
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))