\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(\left(J \cdot -2\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(U \cdot \frac{1}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\right)^2}^*double f(double J, double K, double U) {
double r17788127 = -2.0;
double r17788128 = J;
double r17788129 = r17788127 * r17788128;
double r17788130 = K;
double r17788131 = 2.0;
double r17788132 = r17788130 / r17788131;
double r17788133 = cos(r17788132);
double r17788134 = r17788129 * r17788133;
double r17788135 = 1.0;
double r17788136 = U;
double r17788137 = r17788131 * r17788128;
double r17788138 = r17788137 * r17788133;
double r17788139 = r17788136 / r17788138;
double r17788140 = pow(r17788139, r17788131);
double r17788141 = r17788135 + r17788140;
double r17788142 = sqrt(r17788141);
double r17788143 = r17788134 * r17788142;
return r17788143;
}
double f(double J, double K, double U) {
double r17788144 = J;
double r17788145 = -2.0;
double r17788146 = r17788144 * r17788145;
double r17788147 = K;
double r17788148 = 2.0;
double r17788149 = r17788147 / r17788148;
double r17788150 = cos(r17788149);
double r17788151 = r17788146 * r17788150;
double r17788152 = 1.0;
double r17788153 = U;
double r17788154 = r17788150 * r17788148;
double r17788155 = r17788154 * r17788144;
double r17788156 = r17788152 / r17788155;
double r17788157 = r17788153 * r17788156;
double r17788158 = hypot(r17788152, r17788157);
double r17788159 = r17788151 * r17788158;
return r17788159;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
Initial program 17.1
Simplified7.6
rmApplied div-inv7.7
Final simplification7.7
herbie shell --seed 2019119 +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)))))