\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}}\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot -2\right)\right)double f(double J, double K, double U) {
double r2057926 = -2.0;
double r2057927 = J;
double r2057928 = r2057926 * r2057927;
double r2057929 = K;
double r2057930 = 2.0;
double r2057931 = r2057929 / r2057930;
double r2057932 = cos(r2057931);
double r2057933 = r2057928 * r2057932;
double r2057934 = 1.0;
double r2057935 = U;
double r2057936 = r2057930 * r2057927;
double r2057937 = r2057936 * r2057932;
double r2057938 = r2057935 / r2057937;
double r2057939 = pow(r2057938, r2057930);
double r2057940 = r2057934 + r2057939;
double r2057941 = sqrt(r2057940);
double r2057942 = r2057933 * r2057941;
return r2057942;
}
double f(double J, double K, double U) {
double r2057943 = U;
double r2057944 = 2.0;
double r2057945 = J;
double r2057946 = r2057944 * r2057945;
double r2057947 = K;
double r2057948 = r2057947 / r2057944;
double r2057949 = cos(r2057948);
double r2057950 = r2057946 * r2057949;
double r2057951 = r2057943 / r2057950;
double r2057952 = r2057951 * r2057951;
double r2057953 = 1.0;
double r2057954 = r2057952 + r2057953;
double r2057955 = sqrt(r2057954);
double r2057956 = -2.0;
double r2057957 = r2057949 * r2057956;
double r2057958 = r2057945 * r2057957;
double r2057959 = r2057955 * r2057958;
return r2057959;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.2
Simplified17.2
Final simplification17.2
herbie shell --seed 2019152
(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)))))