\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}}\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(\sqrt{1}, {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right)double f(double J, double K, double U) {
double r198657 = -2.0;
double r198658 = J;
double r198659 = r198657 * r198658;
double r198660 = K;
double r198661 = 2.0;
double r198662 = r198660 / r198661;
double r198663 = cos(r198662);
double r198664 = r198659 * r198663;
double r198665 = 1.0;
double r198666 = U;
double r198667 = r198661 * r198658;
double r198668 = r198667 * r198663;
double r198669 = r198666 / r198668;
double r198670 = pow(r198669, r198661);
double r198671 = r198665 + r198670;
double r198672 = sqrt(r198671);
double r198673 = r198664 * r198672;
return r198673;
}
double f(double J, double K, double U) {
double r198674 = -2.0;
double r198675 = J;
double r198676 = r198674 * r198675;
double r198677 = K;
double r198678 = 2.0;
double r198679 = r198677 / r198678;
double r198680 = cos(r198679);
double r198681 = r198676 * r198680;
double r198682 = 1.0;
double r198683 = sqrt(r198682);
double r198684 = U;
double r198685 = r198678 * r198675;
double r198686 = r198685 * r198680;
double r198687 = r198684 / r198686;
double r198688 = 2.0;
double r198689 = r198678 / r198688;
double r198690 = pow(r198687, r198689);
double r198691 = hypot(r198683, r198690);
double r198692 = r198681 * r198691;
return r198692;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.8
rmApplied sqr-pow17.8
Applied add-sqr-sqrt17.8
Applied hypot-def7.9
Final simplification7.9
herbie shell --seed 2020018 +o rules:numerics
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
:precision binary64
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))