\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 2.15209761261892705 \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}{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 r169295 = -2.0;
double r169296 = J;
double r169297 = r169295 * r169296;
double r169298 = K;
double r169299 = 2.0;
double r169300 = r169298 / r169299;
double r169301 = cos(r169300);
double r169302 = r169297 * r169301;
double r169303 = 1.0;
double r169304 = U;
double r169305 = r169299 * r169296;
double r169306 = r169305 * r169301;
double r169307 = r169304 / r169306;
double r169308 = pow(r169307, r169299);
double r169309 = r169303 + r169308;
double r169310 = sqrt(r169309);
double r169311 = r169302 * r169310;
return r169311;
}
double f(double J, double K, double U) {
double r169312 = -2.0;
double r169313 = J;
double r169314 = r169312 * r169313;
double r169315 = K;
double r169316 = 2.0;
double r169317 = r169315 / r169316;
double r169318 = cos(r169317);
double r169319 = r169314 * r169318;
double r169320 = 1.0;
double r169321 = U;
double r169322 = r169316 * r169313;
double r169323 = r169322 * r169318;
double r169324 = r169321 / r169323;
double r169325 = pow(r169324, r169316);
double r169326 = r169320 + r169325;
double r169327 = sqrt(r169326);
double r169328 = r169319 * r169327;
double r169329 = -inf.0;
bool r169330 = r169328 <= r169329;
double r169331 = 2.152097612618927e+306;
bool r169332 = r169328 <= r169331;
double r169333 = !r169332;
bool r169334 = r169330 || r169333;
double r169335 = 0.25;
double r169336 = sqrt(r169335);
double r169337 = r169336 * r169321;
double r169338 = 0.5;
double r169339 = r169338 * r169315;
double r169340 = cos(r169339);
double r169341 = r169313 * r169340;
double r169342 = r169337 / r169341;
double r169343 = r169319 * r169342;
double r169344 = r169334 ? r169343 : r169328;
return r169344;
}



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 2.152097612618927e+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.8
Taylor expanded around inf 45.7
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 2.152097612618927e+306Initial program 0.1
Final simplification12.4
herbie shell --seed 2020062
(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)))))