\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.066692860799506 \cdot 10^{-198}:\\
\;\;\;\;\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 4.456321288592876 \cdot 10^{-133}:\\
\;\;\;\;-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 r31840153 = -2.0;
double r31840154 = J;
double r31840155 = r31840153 * r31840154;
double r31840156 = K;
double r31840157 = 2.0;
double r31840158 = r31840156 / r31840157;
double r31840159 = cos(r31840158);
double r31840160 = r31840155 * r31840159;
double r31840161 = 1.0;
double r31840162 = U;
double r31840163 = r31840157 * r31840154;
double r31840164 = r31840163 * r31840159;
double r31840165 = r31840162 / r31840164;
double r31840166 = pow(r31840165, r31840157);
double r31840167 = r31840161 + r31840166;
double r31840168 = sqrt(r31840167);
double r31840169 = r31840160 * r31840168;
return r31840169;
}
double f(double J, double K, double U) {
double r31840170 = J;
double r31840171 = -3.066692860799506e-198;
bool r31840172 = r31840170 <= r31840171;
double r31840173 = K;
double r31840174 = 2.0;
double r31840175 = r31840173 / r31840174;
double r31840176 = cos(r31840175);
double r31840177 = r31840176 * r31840170;
double r31840178 = -2.0;
double r31840179 = 1.0;
double r31840180 = U;
double r31840181 = r31840174 * r31840177;
double r31840182 = r31840180 / r31840181;
double r31840183 = r31840182 * r31840182;
double r31840184 = r31840179 + r31840183;
double r31840185 = sqrt(r31840184);
double r31840186 = r31840178 * r31840185;
double r31840187 = r31840177 * r31840186;
double r31840188 = 4.456321288592876e-133;
bool r31840189 = r31840170 <= r31840188;
double r31840190 = -r31840180;
double r31840191 = r31840189 ? r31840190 : r31840187;
double r31840192 = r31840172 ? r31840187 : r31840191;
return r31840192;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < -3.066692860799506e-198 or 4.456321288592876e-133 < J Initial program 10.9
Simplified10.9
if -3.066692860799506e-198 < J < 4.456321288592876e-133Initial program 38.8
Simplified38.8
rmApplied add-cube-cbrt39.3
Applied associate-*r*39.3
Taylor expanded around inf 34.5
Simplified34.5
Final simplification16.5
herbie shell --seed 2019121
(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)))))