\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}\;J \le -1.8622634159485164 \cdot 10^{-81}:\\
\;\;\;\;\left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right) \cdot \left(J \cdot \cos \left(K \cdot \frac{1}{2}\right)\right)\\
\mathbf{elif}\;J \le -1.4500358620564907 \cdot 10^{-118}:\\
\;\;\;\;-U\\
\mathbf{elif}\;J \le -8.009114838767967 \cdot 10^{-253}:\\
\;\;\;\;\left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right) \cdot \left(J \cdot \cos \left(K \cdot \frac{1}{2}\right)\right)\\
\mathbf{elif}\;J \le 1.2255617439239017 \cdot 10^{-166}:\\
\;\;\;\;-U\\
\mathbf{else}:\\
\;\;\;\;\left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right) \cdot \left(J \cdot \cos \left(K \cdot \frac{1}{2}\right)\right)\\
\end{array}double f(double J, double K, double U) {
double r29704376 = -2.0;
double r29704377 = J;
double r29704378 = r29704376 * r29704377;
double r29704379 = K;
double r29704380 = 2.0;
double r29704381 = r29704379 / r29704380;
double r29704382 = cos(r29704381);
double r29704383 = r29704378 * r29704382;
double r29704384 = 1.0;
double r29704385 = U;
double r29704386 = r29704380 * r29704377;
double r29704387 = r29704386 * r29704382;
double r29704388 = r29704385 / r29704387;
double r29704389 = pow(r29704388, r29704380);
double r29704390 = r29704384 + r29704389;
double r29704391 = sqrt(r29704390);
double r29704392 = r29704383 * r29704391;
return r29704392;
}
double f(double J, double K, double U) {
double r29704393 = J;
double r29704394 = -1.8622634159485164e-81;
bool r29704395 = r29704393 <= r29704394;
double r29704396 = -2.0;
double r29704397 = 1.0;
double r29704398 = U;
double r29704399 = 2.0;
double r29704400 = K;
double r29704401 = r29704400 / r29704399;
double r29704402 = cos(r29704401);
double r29704403 = r29704402 * r29704393;
double r29704404 = r29704399 * r29704403;
double r29704405 = r29704398 / r29704404;
double r29704406 = r29704405 * r29704405;
double r29704407 = r29704397 + r29704406;
double r29704408 = sqrt(r29704407);
double r29704409 = r29704396 * r29704408;
double r29704410 = 0.5;
double r29704411 = r29704400 * r29704410;
double r29704412 = cos(r29704411);
double r29704413 = r29704393 * r29704412;
double r29704414 = r29704409 * r29704413;
double r29704415 = -1.4500358620564907e-118;
bool r29704416 = r29704393 <= r29704415;
double r29704417 = -r29704398;
double r29704418 = -8.009114838767967e-253;
bool r29704419 = r29704393 <= r29704418;
double r29704420 = 1.2255617439239017e-166;
bool r29704421 = r29704393 <= r29704420;
double r29704422 = r29704421 ? r29704417 : r29704414;
double r29704423 = r29704419 ? r29704414 : r29704422;
double r29704424 = r29704416 ? r29704417 : r29704423;
double r29704425 = r29704395 ? r29704414 : r29704424;
return r29704425;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < -1.8622634159485164e-81 or -1.4500358620564907e-118 < J < -8.009114838767967e-253 or 1.2255617439239017e-166 < J Initial program 12.3
Simplified12.3
Taylor expanded around -inf 12.3
if -1.8622634159485164e-81 < J < -1.4500358620564907e-118 or -8.009114838767967e-253 < J < 1.2255617439239017e-166Initial program 38.5
Simplified38.5
rmApplied add-cube-cbrt39.0
Taylor expanded around inf 35.5
Simplified35.5
Final simplification16.7
herbie shell --seed 2019124
(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)))))