\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}}\mathsf{hypot}\left(\sqrt{1}, {\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)double f(double J, double K, double U) {
double r5571917 = -2.0;
double r5571918 = J;
double r5571919 = r5571917 * r5571918;
double r5571920 = K;
double r5571921 = 2.0;
double r5571922 = r5571920 / r5571921;
double r5571923 = cos(r5571922);
double r5571924 = r5571919 * r5571923;
double r5571925 = 1.0;
double r5571926 = U;
double r5571927 = r5571921 * r5571918;
double r5571928 = r5571927 * r5571923;
double r5571929 = r5571926 / r5571928;
double r5571930 = pow(r5571929, r5571921);
double r5571931 = r5571925 + r5571930;
double r5571932 = sqrt(r5571931);
double r5571933 = r5571924 * r5571932;
return r5571933;
}
double f(double J, double K, double U) {
double r5571934 = 1.0;
double r5571935 = sqrt(r5571934);
double r5571936 = U;
double r5571937 = J;
double r5571938 = 2.0;
double r5571939 = r5571937 * r5571938;
double r5571940 = K;
double r5571941 = r5571940 / r5571938;
double r5571942 = cos(r5571941);
double r5571943 = r5571939 * r5571942;
double r5571944 = r5571936 / r5571943;
double r5571945 = 2.0;
double r5571946 = r5571938 / r5571945;
double r5571947 = pow(r5571944, r5571946);
double r5571948 = hypot(r5571935, r5571947);
double r5571949 = -2.0;
double r5571950 = r5571949 * r5571937;
double r5571951 = r5571942 * r5571950;
double r5571952 = r5571948 * r5571951;
return r5571952;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 18.0
rmApplied sqr-pow18.0
Applied add-sqr-sqrt18.0
Applied hypot-def8.1
Final simplification8.1
herbie shell --seed 2019171 +o rules:numerics
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))