\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 r3664154 = -2.0;
double r3664155 = J;
double r3664156 = r3664154 * r3664155;
double r3664157 = K;
double r3664158 = 2.0;
double r3664159 = r3664157 / r3664158;
double r3664160 = cos(r3664159);
double r3664161 = r3664156 * r3664160;
double r3664162 = 1.0;
double r3664163 = U;
double r3664164 = r3664158 * r3664155;
double r3664165 = r3664164 * r3664160;
double r3664166 = r3664163 / r3664165;
double r3664167 = pow(r3664166, r3664158);
double r3664168 = r3664162 + r3664167;
double r3664169 = sqrt(r3664168);
double r3664170 = r3664161 * r3664169;
return r3664170;
}
double f(double J, double K, double U) {
double r3664171 = 1.0;
double r3664172 = U;
double r3664173 = K;
double r3664174 = 2.0;
double r3664175 = r3664173 / r3664174;
double r3664176 = cos(r3664175);
double r3664177 = J;
double r3664178 = r3664177 * r3664174;
double r3664179 = r3664176 * r3664178;
double r3664180 = r3664172 / r3664179;
double r3664181 = hypot(r3664171, r3664180);
double r3664182 = -2.0;
double r3664183 = r3664182 * r3664177;
double r3664184 = r3664183 * r3664176;
double r3664185 = r3664181 * r3664184;
return r3664185;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.2
Simplified7.3
Final simplification7.3
herbie shell --seed 2019152 +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)))))