\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 r4738430 = -2.0;
double r4738431 = J;
double r4738432 = r4738430 * r4738431;
double r4738433 = K;
double r4738434 = 2.0;
double r4738435 = r4738433 / r4738434;
double r4738436 = cos(r4738435);
double r4738437 = r4738432 * r4738436;
double r4738438 = 1.0;
double r4738439 = U;
double r4738440 = r4738434 * r4738431;
double r4738441 = r4738440 * r4738436;
double r4738442 = r4738439 / r4738441;
double r4738443 = pow(r4738442, r4738434);
double r4738444 = r4738438 + r4738443;
double r4738445 = sqrt(r4738444);
double r4738446 = r4738437 * r4738445;
return r4738446;
}
double f(double J, double K, double U) {
double r4738447 = 1.0;
double r4738448 = U;
double r4738449 = K;
double r4738450 = 2.0;
double r4738451 = r4738449 / r4738450;
double r4738452 = cos(r4738451);
double r4738453 = J;
double r4738454 = r4738453 * r4738450;
double r4738455 = r4738452 * r4738454;
double r4738456 = r4738448 / r4738455;
double r4738457 = hypot(r4738447, r4738456);
double r4738458 = -2.0;
double r4738459 = r4738458 * r4738453;
double r4738460 = r4738459 * r4738452;
double r4738461 = r4738457 * r4738460;
return r4738461;
}



Bits error versus J



Bits error versus K



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