\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 r177602 = -2.0;
double r177603 = J;
double r177604 = r177602 * r177603;
double r177605 = K;
double r177606 = 2.0;
double r177607 = r177605 / r177606;
double r177608 = cos(r177607);
double r177609 = r177604 * r177608;
double r177610 = 1.0;
double r177611 = U;
double r177612 = r177606 * r177603;
double r177613 = r177612 * r177608;
double r177614 = r177611 / r177613;
double r177615 = pow(r177614, r177606);
double r177616 = r177610 + r177615;
double r177617 = sqrt(r177616);
double r177618 = r177609 * r177617;
return r177618;
}
double f(double J, double K, double U) {
double r177619 = -2.0;
double r177620 = J;
double r177621 = r177619 * r177620;
double r177622 = K;
double r177623 = 2.0;
double r177624 = r177622 / r177623;
double r177625 = cos(r177624);
double r177626 = r177621 * r177625;
double r177627 = 1.0;
double r177628 = sqrt(r177627);
double r177629 = U;
double r177630 = r177623 * r177620;
double r177631 = r177630 * r177625;
double r177632 = r177629 / r177631;
double r177633 = 2.0;
double r177634 = r177623 / r177633;
double r177635 = pow(r177632, r177634);
double r177636 = hypot(r177628, r177635);
double r177637 = r177626 * r177636;
return r177637;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 18.1
rmApplied sqr-pow18.1
Applied add-sqr-sqrt18.1
Applied hypot-def8.3
Final simplification8.3
herbie shell --seed 2020059 +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)))))