\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(2 \cdot J\right)}\right) \cdot \left(\left(J \cdot -2\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double K, double U) {
double r1696590 = -2.0;
double r1696591 = J;
double r1696592 = r1696590 * r1696591;
double r1696593 = K;
double r1696594 = 2.0;
double r1696595 = r1696593 / r1696594;
double r1696596 = cos(r1696595);
double r1696597 = r1696592 * r1696596;
double r1696598 = 1.0;
double r1696599 = U;
double r1696600 = r1696594 * r1696591;
double r1696601 = r1696600 * r1696596;
double r1696602 = r1696599 / r1696601;
double r1696603 = pow(r1696602, r1696594);
double r1696604 = r1696598 + r1696603;
double r1696605 = sqrt(r1696604);
double r1696606 = r1696597 * r1696605;
return r1696606;
}
double f(double J, double K, double U) {
double r1696607 = 1.0;
double r1696608 = U;
double r1696609 = K;
double r1696610 = 2.0;
double r1696611 = r1696609 / r1696610;
double r1696612 = cos(r1696611);
double r1696613 = J;
double r1696614 = r1696610 * r1696613;
double r1696615 = r1696612 * r1696614;
double r1696616 = r1696608 / r1696615;
double r1696617 = hypot(r1696607, r1696616);
double r1696618 = -2.0;
double r1696619 = r1696613 * r1696618;
double r1696620 = r1696619 * r1696612;
double r1696621 = r1696617 * r1696620;
return r1696621;
}



Bits error versus J



Bits error versus K



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