\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}\;J \le 3.6074695776793314 \cdot 10^{-267}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right)\\
\mathbf{elif}\;J \le 1.9290592883268698 \cdot 10^{-140}:\\
\;\;\;\;-U\\
\mathbf{else}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right)\\
\end{array}double f(double J, double K, double U) {
double r25084084 = -2.0;
double r25084085 = J;
double r25084086 = r25084084 * r25084085;
double r25084087 = K;
double r25084088 = 2.0;
double r25084089 = r25084087 / r25084088;
double r25084090 = cos(r25084089);
double r25084091 = r25084086 * r25084090;
double r25084092 = 1.0;
double r25084093 = U;
double r25084094 = r25084088 * r25084085;
double r25084095 = r25084094 * r25084090;
double r25084096 = r25084093 / r25084095;
double r25084097 = pow(r25084096, r25084088);
double r25084098 = r25084092 + r25084097;
double r25084099 = sqrt(r25084098);
double r25084100 = r25084091 * r25084099;
return r25084100;
}
double f(double J, double K, double U) {
double r25084101 = J;
double r25084102 = 3.6074695776793314e-267;
bool r25084103 = r25084101 <= r25084102;
double r25084104 = K;
double r25084105 = 2.0;
double r25084106 = r25084104 / r25084105;
double r25084107 = cos(r25084106);
double r25084108 = r25084107 * r25084101;
double r25084109 = -2.0;
double r25084110 = 1.0;
double r25084111 = U;
double r25084112 = r25084105 * r25084108;
double r25084113 = r25084111 / r25084112;
double r25084114 = r25084113 * r25084113;
double r25084115 = r25084110 + r25084114;
double r25084116 = sqrt(r25084115);
double r25084117 = r25084109 * r25084116;
double r25084118 = r25084108 * r25084117;
double r25084119 = 1.9290592883268698e-140;
bool r25084120 = r25084101 <= r25084119;
double r25084121 = -r25084111;
double r25084122 = r25084120 ? r25084121 : r25084118;
double r25084123 = r25084103 ? r25084118 : r25084122;
return r25084123;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < 3.6074695776793314e-267 or 1.9290592883268698e-140 < J Initial program 14.9
Simplified14.9
if 3.6074695776793314e-267 < J < 1.9290592883268698e-140Initial program 36.0
Simplified36.0
rmApplied associate-*r*36.0
Taylor expanded around inf 37.5
Simplified37.5
Final simplification17.3
herbie shell --seed 2019107
(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)))))