\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(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \mathsf{hypot}\left(\sqrt{1}, {\left(\frac{\frac{U}{2 \cdot J}}{\cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right)\right)double f(double J, double K, double U) {
double r167074 = -2.0;
double r167075 = J;
double r167076 = r167074 * r167075;
double r167077 = K;
double r167078 = 2.0;
double r167079 = r167077 / r167078;
double r167080 = cos(r167079);
double r167081 = r167076 * r167080;
double r167082 = 1.0;
double r167083 = U;
double r167084 = r167078 * r167075;
double r167085 = r167084 * r167080;
double r167086 = r167083 / r167085;
double r167087 = pow(r167086, r167078);
double r167088 = r167082 + r167087;
double r167089 = sqrt(r167088);
double r167090 = r167081 * r167089;
return r167090;
}
double f(double J, double K, double U) {
double r167091 = -2.0;
double r167092 = J;
double r167093 = r167091 * r167092;
double r167094 = K;
double r167095 = 2.0;
double r167096 = r167094 / r167095;
double r167097 = cos(r167096);
double r167098 = 1.0;
double r167099 = sqrt(r167098);
double r167100 = U;
double r167101 = r167095 * r167092;
double r167102 = r167100 / r167101;
double r167103 = r167102 / r167097;
double r167104 = 2.0;
double r167105 = r167095 / r167104;
double r167106 = pow(r167103, r167105);
double r167107 = hypot(r167099, r167106);
double r167108 = r167097 * r167107;
double r167109 = r167093 * r167108;
return r167109;
}



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-def7.9
rmApplied associate-*l*8.0
rmApplied associate-/r*7.9
Final simplification7.9
herbie shell --seed 2020056 +o rules:numerics
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
:precision binary64
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))