\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(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\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)\right)double f(double J, double K, double U) {
double r179746 = -2.0;
double r179747 = J;
double r179748 = r179746 * r179747;
double r179749 = K;
double r179750 = 2.0;
double r179751 = r179749 / r179750;
double r179752 = cos(r179751);
double r179753 = r179748 * r179752;
double r179754 = 1.0;
double r179755 = U;
double r179756 = r179750 * r179747;
double r179757 = r179756 * r179752;
double r179758 = r179755 / r179757;
double r179759 = pow(r179758, r179750);
double r179760 = r179754 + r179759;
double r179761 = sqrt(r179760);
double r179762 = r179753 * r179761;
return r179762;
}
double f(double J, double K, double U) {
double r179763 = -2.0;
double r179764 = J;
double r179765 = r179763 * r179764;
double r179766 = K;
double r179767 = 2.0;
double r179768 = r179766 / r179767;
double r179769 = cos(r179768);
double r179770 = 1.0;
double r179771 = sqrt(r179770);
double r179772 = U;
double r179773 = r179767 * r179764;
double r179774 = r179773 * r179769;
double r179775 = r179772 / r179774;
double r179776 = 2.0;
double r179777 = r179767 / r179776;
double r179778 = pow(r179775, r179777);
double r179779 = hypot(r179771, r179778);
double r179780 = r179769 * r179779;
double r179781 = r179765 * r179780;
return r179781;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 18.3
rmApplied sqr-pow18.3
Applied add-sqr-sqrt18.3
Applied hypot-def8.2
rmApplied associate-*l*8.2
Final simplification8.2
herbie shell --seed 2019326 +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)))))