double f(double J, double K, double U) {
double r26466745 = -2.0;
double r26466746 = J;
double r26466747 = r26466745 * r26466746;
double r26466748 = K;
double r26466749 = 2.0;
double r26466750 = r26466748 / r26466749;
double r26466751 = cos(r26466750);
double r26466752 = r26466747 * r26466751;
double r26466753 = 1.0;
double r26466754 = U;
double r26466755 = r26466749 * r26466746;
double r26466756 = r26466755 * r26466751;
double r26466757 = r26466754 / r26466756;
double r26466758 = pow(r26466757, r26466749);
double r26466759 = r26466753 + r26466758;
double r26466760 = sqrt(r26466759);
double r26466761 = r26466752 * r26466760;
return r26466761;
}
double f(double J, double K, double U) {
double r26466762 = J;
double r26466763 = -3.6227052960490716e-308;
bool r26466764 = r26466762 <= r26466763;
double r26466765 = -2.0;
double r26466766 = r26466765 * r26466762;
double r26466767 = K;
double r26466768 = 2.0;
double r26466769 = r26466767 / r26466768;
double r26466770 = cos(r26466769);
double r26466771 = r26466766 * r26466770;
double r26466772 = 1.0;
double r26466773 = U;
double r26466774 = r26466768 * r26466770;
double r26466775 = r26466774 * r26466762;
double r26466776 = r26466773 / r26466775;
double r26466777 = hypot(r26466772, r26466776);
double r26466778 = r26466771 * r26466777;
double r26466779 = 1.5022382566110874e-238;
bool r26466780 = r26466762 <= r26466779;
double r26466781 = -r26466773;
double r26466782 = r26466780 ? r26466781 : r26466778;
double r26466783 = r26466764 ? r26466778 : r26466782;
return r26466783;
}
\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 -3.6227052960490716 \cdot 10^{-308}:\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(\frac{U}{\left(2 \cdot \cos \left(\frac{K}{2}\right)\right) \cdot J}\right)^2}^*\\
\mathbf{elif}\;J \le 1.5022382566110874 \cdot 10^{-238}:\\
\;\;\;\;-U\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(\frac{U}{\left(2 \cdot \cos \left(\frac{K}{2}\right)\right) \cdot J}\right)^2}^*\\
\end{array}


Bits error versus J



Bits error versus K



Bits error versus U
if J < -3.6227052960490716e-308 or 1.5022382566110874e-238 < J Initial program 15.0
Simplified6.1
if -3.6227052960490716e-308 < J < 1.5022382566110874e-238Initial program 41.5
Simplified26.2
rmApplied add-sqr-sqrt26.4
Applied associate-*l*26.4
Taylor expanded around -inf 33.7
Simplified33.7
Final simplification7.9
herbie shell --seed 2019102 +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)))))