\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.1866131181783549 \cdot 10^{-211}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{\frac{\frac{U}{J + J}}{\left(J + J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right)} + 1}\right) \cdot \left(J \cdot -2\right)\\
\mathbf{elif}\;J \le 7.984518687285712 \cdot 10^{-287}:\\
\;\;\;\;-U\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt{\frac{U}{\left(J + J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(J + J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1}} \cdot \left(\left(\left(J \cdot -2\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\sqrt{\frac{U}{\left(J + J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(J + J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1}}\right)\\
\end{array}double f(double J, double K, double U) {
double r3679688 = -2.0;
double r3679689 = J;
double r3679690 = r3679688 * r3679689;
double r3679691 = K;
double r3679692 = 2.0;
double r3679693 = r3679691 / r3679692;
double r3679694 = cos(r3679693);
double r3679695 = r3679690 * r3679694;
double r3679696 = 1.0;
double r3679697 = U;
double r3679698 = r3679692 * r3679689;
double r3679699 = r3679698 * r3679694;
double r3679700 = r3679697 / r3679699;
double r3679701 = pow(r3679700, r3679692);
double r3679702 = r3679696 + r3679701;
double r3679703 = sqrt(r3679702);
double r3679704 = r3679695 * r3679703;
return r3679704;
}
double f(double J, double K, double U) {
double r3679705 = J;
double r3679706 = -1.1866131181783549e-211;
bool r3679707 = r3679705 <= r3679706;
double r3679708 = K;
double r3679709 = 2.0;
double r3679710 = r3679708 / r3679709;
double r3679711 = cos(r3679710);
double r3679712 = U;
double r3679713 = r3679705 + r3679705;
double r3679714 = r3679712 / r3679713;
double r3679715 = r3679713 * r3679711;
double r3679716 = r3679714 / r3679715;
double r3679717 = r3679712 / r3679711;
double r3679718 = r3679716 * r3679717;
double r3679719 = 1.0;
double r3679720 = r3679718 + r3679719;
double r3679721 = sqrt(r3679720);
double r3679722 = r3679711 * r3679721;
double r3679723 = -2.0;
double r3679724 = r3679705 * r3679723;
double r3679725 = r3679722 * r3679724;
double r3679726 = 7.984518687285712e-287;
bool r3679727 = r3679705 <= r3679726;
double r3679728 = -r3679712;
double r3679729 = r3679712 / r3679715;
double r3679730 = r3679729 * r3679729;
double r3679731 = r3679730 + r3679719;
double r3679732 = sqrt(r3679731);
double r3679733 = sqrt(r3679732);
double r3679734 = r3679724 * r3679711;
double r3679735 = r3679734 * r3679733;
double r3679736 = r3679733 * r3679735;
double r3679737 = r3679727 ? r3679728 : r3679736;
double r3679738 = r3679707 ? r3679725 : r3679737;
return r3679738;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < -1.1866131181783549e-211Initial program 12.2
Simplified12.2
rmApplied associate-*r*12.2
rmApplied *-un-lft-identity12.2
Applied times-frac12.3
Applied associate-*r*12.6
Simplified12.6
if -1.1866131181783549e-211 < J < 7.984518687285712e-287Initial program 40.8
Simplified40.8
Taylor expanded around -inf 33.0
Simplified33.0
if 7.984518687285712e-287 < J Initial program 16.3
Simplified16.3
rmApplied add-sqr-sqrt16.3
Applied sqrt-prod16.4
Applied associate-*l*16.4
Final simplification16.3
herbie shell --seed 2019132
(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)))))