\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(J \cdot 2\right)}\right) \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double K, double U) {
double r4635103 = -2.0;
double r4635104 = J;
double r4635105 = r4635103 * r4635104;
double r4635106 = K;
double r4635107 = 2.0;
double r4635108 = r4635106 / r4635107;
double r4635109 = cos(r4635108);
double r4635110 = r4635105 * r4635109;
double r4635111 = 1.0;
double r4635112 = U;
double r4635113 = r4635107 * r4635104;
double r4635114 = r4635113 * r4635109;
double r4635115 = r4635112 / r4635114;
double r4635116 = pow(r4635115, r4635107);
double r4635117 = r4635111 + r4635116;
double r4635118 = sqrt(r4635117);
double r4635119 = r4635110 * r4635118;
return r4635119;
}
double f(double J, double K, double U) {
double r4635120 = 1.0;
double r4635121 = U;
double r4635122 = K;
double r4635123 = 2.0;
double r4635124 = r4635122 / r4635123;
double r4635125 = cos(r4635124);
double r4635126 = J;
double r4635127 = r4635126 * r4635123;
double r4635128 = r4635125 * r4635127;
double r4635129 = r4635121 / r4635128;
double r4635130 = hypot(r4635120, r4635129);
double r4635131 = -2.0;
double r4635132 = r4635131 * r4635126;
double r4635133 = r4635132 * r4635125;
double r4635134 = r4635130 * r4635133;
return r4635134;
}



Bits error versus J



Bits error versus K



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