\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 r2184121 = -2.0;
double r2184122 = J;
double r2184123 = r2184121 * r2184122;
double r2184124 = K;
double r2184125 = 2.0;
double r2184126 = r2184124 / r2184125;
double r2184127 = cos(r2184126);
double r2184128 = r2184123 * r2184127;
double r2184129 = 1.0;
double r2184130 = U;
double r2184131 = r2184125 * r2184122;
double r2184132 = r2184131 * r2184127;
double r2184133 = r2184130 / r2184132;
double r2184134 = pow(r2184133, r2184125);
double r2184135 = r2184129 + r2184134;
double r2184136 = sqrt(r2184135);
double r2184137 = r2184128 * r2184136;
return r2184137;
}
double f(double J, double K, double U) {
double r2184138 = 1.0;
double r2184139 = U;
double r2184140 = K;
double r2184141 = 2.0;
double r2184142 = r2184140 / r2184141;
double r2184143 = cos(r2184142);
double r2184144 = J;
double r2184145 = r2184141 * r2184144;
double r2184146 = r2184143 * r2184145;
double r2184147 = r2184139 / r2184146;
double r2184148 = hypot(r2184138, r2184147);
double r2184149 = -2.0;
double r2184150 = r2184144 * r2184149;
double r2184151 = r2184150 * r2184143;
double r2184152 = r2184148 * r2184151;
return r2184152;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.9
Simplified8.0
Final simplification8.0
herbie shell --seed 2019156 +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)))))