\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 r116080 = -2.0;
double r116081 = J;
double r116082 = r116080 * r116081;
double r116083 = K;
double r116084 = 2.0;
double r116085 = r116083 / r116084;
double r116086 = cos(r116085);
double r116087 = r116082 * r116086;
double r116088 = 1.0;
double r116089 = U;
double r116090 = r116084 * r116081;
double r116091 = r116090 * r116086;
double r116092 = r116089 / r116091;
double r116093 = pow(r116092, r116084);
double r116094 = r116088 + r116093;
double r116095 = sqrt(r116094);
double r116096 = r116087 * r116095;
return r116096;
}
double f(double J, double K, double U) {
double r116097 = 1.0;
double r116098 = sqrt(r116097);
double r116099 = U;
double r116100 = J;
double r116101 = 2.0;
double r116102 = r116100 * r116101;
double r116103 = K;
double r116104 = r116103 / r116101;
double r116105 = cos(r116104);
double r116106 = r116102 * r116105;
double r116107 = r116099 / r116106;
double r116108 = 2.0;
double r116109 = r116101 / r116108;
double r116110 = pow(r116107, r116109);
double r116111 = hypot(r116098, r116110);
double r116112 = -2.0;
double r116113 = r116112 * r116100;
double r116114 = r116105 * r116113;
double r116115 = r116111 * r116114;
return r116115;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.7
rmApplied sqr-pow17.7
Applied add-sqr-sqrt17.7
Applied hypot-def7.8
Final simplification7.8
herbie shell --seed 2019194 +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)))))