\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}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\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 r2907134 = -2.0;
double r2907135 = J;
double r2907136 = r2907134 * r2907135;
double r2907137 = K;
double r2907138 = 2.0;
double r2907139 = r2907137 / r2907138;
double r2907140 = cos(r2907139);
double r2907141 = r2907136 * r2907140;
double r2907142 = 1.0;
double r2907143 = U;
double r2907144 = r2907138 * r2907135;
double r2907145 = r2907144 * r2907140;
double r2907146 = r2907143 / r2907145;
double r2907147 = pow(r2907146, r2907138);
double r2907148 = r2907142 + r2907147;
double r2907149 = sqrt(r2907148);
double r2907150 = r2907141 * r2907149;
return r2907150;
}
double f(double J, double K, double U) {
double r2907151 = 1.0;
double r2907152 = U;
double r2907153 = K;
double r2907154 = 2.0;
double r2907155 = r2907153 / r2907154;
double r2907156 = cos(r2907155);
double r2907157 = r2907156 * r2907154;
double r2907158 = J;
double r2907159 = r2907157 * r2907158;
double r2907160 = r2907152 / r2907159;
double r2907161 = hypot(r2907151, r2907160);
double r2907162 = -2.0;
double r2907163 = r2907162 * r2907158;
double r2907164 = r2907163 * r2907156;
double r2907165 = r2907161 * r2907164;
return r2907165;
}



Bits error versus J



Bits error versus K



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