\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}\;U \le 2.6727218722636747 \cdot 10^{+230}:\\
\;\;\;\;\left(\left(J \cdot -2\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(\frac{U}{J \cdot \left(2 \cdot \cos \left(\frac{K}{2}\right)\right)}\right)^2}^*\\
\mathbf{else}:\\
\;\;\;\;-U\\
\end{array}double f(double J, double K, double U) {
double r21785544 = -2.0;
double r21785545 = J;
double r21785546 = r21785544 * r21785545;
double r21785547 = K;
double r21785548 = 2.0;
double r21785549 = r21785547 / r21785548;
double r21785550 = cos(r21785549);
double r21785551 = r21785546 * r21785550;
double r21785552 = 1.0;
double r21785553 = U;
double r21785554 = r21785548 * r21785545;
double r21785555 = r21785554 * r21785550;
double r21785556 = r21785553 / r21785555;
double r21785557 = pow(r21785556, r21785548);
double r21785558 = r21785552 + r21785557;
double r21785559 = sqrt(r21785558);
double r21785560 = r21785551 * r21785559;
return r21785560;
}
double f(double J, double K, double U) {
double r21785561 = U;
double r21785562 = 2.6727218722636747e+230;
bool r21785563 = r21785561 <= r21785562;
double r21785564 = J;
double r21785565 = -2.0;
double r21785566 = r21785564 * r21785565;
double r21785567 = K;
double r21785568 = 2.0;
double r21785569 = r21785567 / r21785568;
double r21785570 = cos(r21785569);
double r21785571 = r21785566 * r21785570;
double r21785572 = 1.0;
double r21785573 = r21785568 * r21785570;
double r21785574 = r21785564 * r21785573;
double r21785575 = r21785561 / r21785574;
double r21785576 = hypot(r21785572, r21785575);
double r21785577 = r21785571 * r21785576;
double r21785578 = -r21785561;
double r21785579 = r21785563 ? r21785577 : r21785578;
return r21785579;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if U < 2.6727218722636747e+230Initial program 15.3
Simplified6.7
if 2.6727218722636747e+230 < U Initial program 41.5
Simplified26.4
rmApplied add-cube-cbrt26.7
Applied associate-*l*26.7
rmApplied add-cbrt-cube26.7
Taylor expanded around -inf 36.1
Simplified36.1
Final simplification8.6
herbie shell --seed 2019112 +o rules:numerics
(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)))))