\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(1, \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(J \cdot 2\right)}\right) \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double K, double U) {
double r3786834 = -2.0;
double r3786835 = J;
double r3786836 = r3786834 * r3786835;
double r3786837 = K;
double r3786838 = 2.0;
double r3786839 = r3786837 / r3786838;
double r3786840 = cos(r3786839);
double r3786841 = r3786836 * r3786840;
double r3786842 = 1.0;
double r3786843 = U;
double r3786844 = r3786838 * r3786835;
double r3786845 = r3786844 * r3786840;
double r3786846 = r3786843 / r3786845;
double r3786847 = pow(r3786846, r3786838);
double r3786848 = r3786842 + r3786847;
double r3786849 = sqrt(r3786848);
double r3786850 = r3786841 * r3786849;
return r3786850;
}
double f(double J, double K, double U) {
double r3786851 = 1.0;
double r3786852 = U;
double r3786853 = K;
double r3786854 = 2.0;
double r3786855 = r3786853 / r3786854;
double r3786856 = cos(r3786855);
double r3786857 = J;
double r3786858 = r3786857 * r3786854;
double r3786859 = r3786856 * r3786858;
double r3786860 = r3786852 / r3786859;
double r3786861 = hypot(r3786851, r3786860);
double r3786862 = -2.0;
double r3786863 = r3786862 * r3786857;
double r3786864 = r3786863 * r3786856;
double r3786865 = r3786861 * r3786864;
return r3786865;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.5
Simplified7.7
Final simplification7.7
herbie shell --seed 2019146 +o rules:numerics
(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)))))