\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 r3568184 = -2.0;
double r3568185 = J;
double r3568186 = r3568184 * r3568185;
double r3568187 = K;
double r3568188 = 2.0;
double r3568189 = r3568187 / r3568188;
double r3568190 = cos(r3568189);
double r3568191 = r3568186 * r3568190;
double r3568192 = 1.0;
double r3568193 = U;
double r3568194 = r3568188 * r3568185;
double r3568195 = r3568194 * r3568190;
double r3568196 = r3568193 / r3568195;
double r3568197 = pow(r3568196, r3568188);
double r3568198 = r3568192 + r3568197;
double r3568199 = sqrt(r3568198);
double r3568200 = r3568191 * r3568199;
return r3568200;
}
double f(double J, double K, double U) {
double r3568201 = 1.0;
double r3568202 = U;
double r3568203 = K;
double r3568204 = 2.0;
double r3568205 = r3568203 / r3568204;
double r3568206 = cos(r3568205);
double r3568207 = J;
double r3568208 = r3568207 * r3568204;
double r3568209 = r3568206 * r3568208;
double r3568210 = r3568202 / r3568209;
double r3568211 = hypot(r3568201, r3568210);
double r3568212 = -2.0;
double r3568213 = r3568212 * r3568207;
double r3568214 = r3568213 * r3568206;
double r3568215 = r3568211 * r3568214;
return r3568215;
}



Bits error versus J



Bits error versus K



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