\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, \left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\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 r3360363 = -2.0;
double r3360364 = J;
double r3360365 = r3360363 * r3360364;
double r3360366 = K;
double r3360367 = 2.0;
double r3360368 = r3360366 / r3360367;
double r3360369 = cos(r3360368);
double r3360370 = r3360365 * r3360369;
double r3360371 = 1.0;
double r3360372 = U;
double r3360373 = r3360367 * r3360364;
double r3360374 = r3360373 * r3360369;
double r3360375 = r3360372 / r3360374;
double r3360376 = pow(r3360375, r3360367);
double r3360377 = r3360371 + r3360376;
double r3360378 = sqrt(r3360377);
double r3360379 = r3360370 * r3360378;
return r3360379;
}
double f(double J, double K, double U) {
double r3360380 = 1.0;
double r3360381 = U;
double r3360382 = K;
double r3360383 = 2.0;
double r3360384 = r3360382 / r3360383;
double r3360385 = cos(r3360384);
double r3360386 = r3360385 * r3360383;
double r3360387 = J;
double r3360388 = r3360386 * r3360387;
double r3360389 = r3360381 / r3360388;
double r3360390 = hypot(r3360380, r3360389);
double r3360391 = -2.0;
double r3360392 = r3360391 * r3360387;
double r3360393 = r3360392 * r3360385;
double r3360394 = r3360390 * r3360393;
return r3360394;
}



Bits error versus J



Bits error versus K



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