double f(double J, double K, double U) {
double r11755165 = -2.0;
double r11755166 = J;
double r11755167 = r11755165 * r11755166;
double r11755168 = K;
double r11755169 = 2.0;
double r11755170 = r11755168 / r11755169;
double r11755171 = cos(r11755170);
double r11755172 = r11755167 * r11755171;
double r11755173 = 1.0;
double r11755174 = U;
double r11755175 = r11755169 * r11755166;
double r11755176 = r11755175 * r11755171;
double r11755177 = r11755174 / r11755176;
double r11755178 = pow(r11755177, r11755169);
double r11755179 = r11755173 + r11755178;
double r11755180 = sqrt(r11755179);
double r11755181 = r11755172 * r11755180;
return r11755181;
}
double f(double J, double K, double U) {
double r11755182 = 1.0;
double r11755183 = U;
double r11755184 = K;
double r11755185 = 2.0;
double r11755186 = r11755184 / r11755185;
double r11755187 = cos(r11755186);
double r11755188 = r11755187 * r11755185;
double r11755189 = J;
double r11755190 = r11755188 * r11755189;
double r11755191 = r11755183 / r11755190;
double r11755192 = hypot(r11755182, r11755191);
double r11755193 = -2.0;
double r11755194 = r11755193 * r11755189;
double r11755195 = r11755194 * r11755187;
double r11755196 = r11755192 * r11755195;
return r11755196;
}
\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}}\sqrt{1^2 + \left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\right)^2}^* \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)


Bits error versus J



Bits error versus K



Bits error versus U
Initial program 16.9
Simplified7.0
Final simplification7.0
herbie shell --seed 2019101 +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)))))