\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(\cos \left(\frac{K}{2}\right) \cdot \mathsf{hypot}\left(1, \frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)\right) \cdot \left(J \cdot -2\right)double f(double J, double K, double U) {
double r2017313 = -2.0;
double r2017314 = J;
double r2017315 = r2017313 * r2017314;
double r2017316 = K;
double r2017317 = 2.0;
double r2017318 = r2017316 / r2017317;
double r2017319 = cos(r2017318);
double r2017320 = r2017315 * r2017319;
double r2017321 = 1.0;
double r2017322 = U;
double r2017323 = r2017317 * r2017314;
double r2017324 = r2017323 * r2017319;
double r2017325 = r2017322 / r2017324;
double r2017326 = pow(r2017325, r2017317);
double r2017327 = r2017321 + r2017326;
double r2017328 = sqrt(r2017327);
double r2017329 = r2017320 * r2017328;
return r2017329;
}
double f(double J, double K, double U) {
double r2017330 = K;
double r2017331 = 2.0;
double r2017332 = r2017330 / r2017331;
double r2017333 = cos(r2017332);
double r2017334 = 1.0;
double r2017335 = U;
double r2017336 = r2017335 / r2017331;
double r2017337 = J;
double r2017338 = r2017336 / r2017337;
double r2017339 = r2017338 / r2017333;
double r2017340 = hypot(r2017334, r2017339);
double r2017341 = r2017333 * r2017340;
double r2017342 = -2.0;
double r2017343 = r2017337 * r2017342;
double r2017344 = r2017341 * r2017343;
return r2017344;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.5
Simplified7.7
rmApplied associate-*r*7.8
rmApplied *-un-lft-identity7.8
Applied associate-*r*7.8
Simplified7.7
Final simplification7.7
herbie shell --seed 2019151 +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)))))