\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}}\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(\sqrt{1}, {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right)double f(double J, double K, double U) {
double r123872 = -2.0;
double r123873 = J;
double r123874 = r123872 * r123873;
double r123875 = K;
double r123876 = 2.0;
double r123877 = r123875 / r123876;
double r123878 = cos(r123877);
double r123879 = r123874 * r123878;
double r123880 = 1.0;
double r123881 = U;
double r123882 = r123876 * r123873;
double r123883 = r123882 * r123878;
double r123884 = r123881 / r123883;
double r123885 = pow(r123884, r123876);
double r123886 = r123880 + r123885;
double r123887 = sqrt(r123886);
double r123888 = r123879 * r123887;
return r123888;
}
double f(double J, double K, double U) {
double r123889 = -2.0;
double r123890 = J;
double r123891 = r123889 * r123890;
double r123892 = K;
double r123893 = 2.0;
double r123894 = r123892 / r123893;
double r123895 = cos(r123894);
double r123896 = r123891 * r123895;
double r123897 = 1.0;
double r123898 = sqrt(r123897);
double r123899 = U;
double r123900 = r123893 * r123890;
double r123901 = r123900 * r123895;
double r123902 = r123899 / r123901;
double r123903 = 2.0;
double r123904 = r123893 / r123903;
double r123905 = pow(r123902, r123904);
double r123906 = hypot(r123898, r123905);
double r123907 = r123896 * r123906;
return r123907;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.5
rmApplied sqr-pow17.5
Applied add-sqr-sqrt17.5
Applied hypot-def8.0
Final simplification8.0
herbie shell --seed 2019195 +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)))))