\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 r3557420 = -2.0;
double r3557421 = J;
double r3557422 = r3557420 * r3557421;
double r3557423 = K;
double r3557424 = 2.0;
double r3557425 = r3557423 / r3557424;
double r3557426 = cos(r3557425);
double r3557427 = r3557422 * r3557426;
double r3557428 = 1.0;
double r3557429 = U;
double r3557430 = r3557424 * r3557421;
double r3557431 = r3557430 * r3557426;
double r3557432 = r3557429 / r3557431;
double r3557433 = pow(r3557432, r3557424);
double r3557434 = r3557428 + r3557433;
double r3557435 = sqrt(r3557434);
double r3557436 = r3557427 * r3557435;
return r3557436;
}
double f(double J, double K, double U) {
double r3557437 = 1.0;
double r3557438 = U;
double r3557439 = K;
double r3557440 = 2.0;
double r3557441 = r3557439 / r3557440;
double r3557442 = cos(r3557441);
double r3557443 = J;
double r3557444 = r3557443 * r3557440;
double r3557445 = r3557442 * r3557444;
double r3557446 = r3557438 / r3557445;
double r3557447 = hypot(r3557437, r3557446);
double r3557448 = -2.0;
double r3557449 = r3557448 * r3557443;
double r3557450 = r3557449 * r3557442;
double r3557451 = r3557447 * r3557450;
return r3557451;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.0
Simplified7.7
rmApplied div-inv7.8
rmApplied associate-*r/7.7
Simplified7.7
Final simplification7.7
herbie shell --seed 2019149 +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)))))