\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}}\begin{array}{l}
\mathbf{if}\;U \le 7.655526381904131 \cdot 10^{+228}:\\
\;\;\;\;\left(J \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \left(-2 \cdot \sqrt{1 + \frac{U}{\left(J \cdot \cos \left(\frac{K}{2}\right)\right) \cdot 2} \cdot \frac{U}{\left(J \cdot \cos \left(\frac{K}{2}\right)\right) \cdot 2}}\right)\\
\mathbf{else}:\\
\;\;\;\;-U\\
\end{array}double f(double J, double K, double U) {
double r26790095 = -2.0;
double r26790096 = J;
double r26790097 = r26790095 * r26790096;
double r26790098 = K;
double r26790099 = 2.0;
double r26790100 = r26790098 / r26790099;
double r26790101 = cos(r26790100);
double r26790102 = r26790097 * r26790101;
double r26790103 = 1.0;
double r26790104 = U;
double r26790105 = r26790099 * r26790096;
double r26790106 = r26790105 * r26790101;
double r26790107 = r26790104 / r26790106;
double r26790108 = pow(r26790107, r26790099);
double r26790109 = r26790103 + r26790108;
double r26790110 = sqrt(r26790109);
double r26790111 = r26790102 * r26790110;
return r26790111;
}
double f(double J, double K, double U) {
double r26790112 = U;
double r26790113 = 7.655526381904131e+228;
bool r26790114 = r26790112 <= r26790113;
double r26790115 = J;
double r26790116 = K;
double r26790117 = 2.0;
double r26790118 = r26790116 / r26790117;
double r26790119 = cos(r26790118);
double r26790120 = r26790115 * r26790119;
double r26790121 = -2.0;
double r26790122 = 1.0;
double r26790123 = r26790120 * r26790117;
double r26790124 = r26790112 / r26790123;
double r26790125 = r26790124 * r26790124;
double r26790126 = r26790122 + r26790125;
double r26790127 = sqrt(r26790126);
double r26790128 = r26790121 * r26790127;
double r26790129 = r26790120 * r26790128;
double r26790130 = -r26790112;
double r26790131 = r26790114 ? r26790129 : r26790130;
return r26790131;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if U < 7.655526381904131e+228Initial program 15.3
Simplified15.2
if 7.655526381904131e+228 < U Initial program 41.2
Simplified41.1
Taylor expanded around -inf 36.0
Simplified36.0
Final simplification16.6
herbie shell --seed 2019112
(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)))))