\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(\sqrt{1}, {\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)double f(double J, double K, double U) {
double r129750 = -2.0;
double r129751 = J;
double r129752 = r129750 * r129751;
double r129753 = K;
double r129754 = 2.0;
double r129755 = r129753 / r129754;
double r129756 = cos(r129755);
double r129757 = r129752 * r129756;
double r129758 = 1.0;
double r129759 = U;
double r129760 = r129754 * r129751;
double r129761 = r129760 * r129756;
double r129762 = r129759 / r129761;
double r129763 = pow(r129762, r129754);
double r129764 = r129758 + r129763;
double r129765 = sqrt(r129764);
double r129766 = r129757 * r129765;
return r129766;
}
double f(double J, double K, double U) {
double r129767 = 1.0;
double r129768 = sqrt(r129767);
double r129769 = U;
double r129770 = J;
double r129771 = 2.0;
double r129772 = r129770 * r129771;
double r129773 = K;
double r129774 = r129773 / r129771;
double r129775 = cos(r129774);
double r129776 = r129772 * r129775;
double r129777 = r129769 / r129776;
double r129778 = 2.0;
double r129779 = r129771 / r129778;
double r129780 = pow(r129777, r129779);
double r129781 = hypot(r129768, r129780);
double r129782 = -2.0;
double r129783 = r129782 * r129770;
double r129784 = r129775 * r129783;
double r129785 = r129781 * r129784;
return r129785;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 18.4
rmApplied sqr-pow18.4
Applied add-sqr-sqrt18.4
Applied hypot-def8.1
Final simplification8.1
herbie shell --seed 2019174 +o rules:numerics
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))