\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 -7.908075647023875060283125531595430593243 \cdot 10^{-176}:\\
\;\;\;\;\sqrt{1 + {\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2}} \cdot \left(-2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\right)\\
\mathbf{elif}\;J \le -2.800715968375879535014234380361844667664 \cdot 10^{-209}:\\
\;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\
\mathbf{elif}\;J \le -7.824563913217023929991402146280037731628 \cdot 10^{-247}:\\
\;\;\;\;\sqrt{1 + {\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2}} \cdot \left(-2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\right)\\
\mathbf{elif}\;J \le 6.115053720002468780874666790854832103914 \cdot 10^{-136}:\\
\;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\
\mathbf{else}:\\
\;\;\;\;\sqrt{1 + {\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2}} \cdot \left(-2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\right)\\
\end{array}double f(double J, double K, double U) {
double r7031112 = -2.0;
double r7031113 = J;
double r7031114 = r7031112 * r7031113;
double r7031115 = K;
double r7031116 = 2.0;
double r7031117 = r7031115 / r7031116;
double r7031118 = cos(r7031117);
double r7031119 = r7031114 * r7031118;
double r7031120 = 1.0;
double r7031121 = U;
double r7031122 = r7031116 * r7031113;
double r7031123 = r7031122 * r7031118;
double r7031124 = r7031121 / r7031123;
double r7031125 = pow(r7031124, r7031116);
double r7031126 = r7031120 + r7031125;
double r7031127 = sqrt(r7031126);
double r7031128 = r7031119 * r7031127;
return r7031128;
}
double f(double J, double K, double U) {
double r7031129 = J;
double r7031130 = -7.908075647023875e-176;
bool r7031131 = r7031129 <= r7031130;
double r7031132 = 1.0;
double r7031133 = U;
double r7031134 = K;
double r7031135 = 2.0;
double r7031136 = r7031134 / r7031135;
double r7031137 = cos(r7031136);
double r7031138 = r7031137 * r7031129;
double r7031139 = r7031138 * r7031135;
double r7031140 = r7031133 / r7031139;
double r7031141 = pow(r7031140, r7031135);
double r7031142 = r7031132 + r7031141;
double r7031143 = sqrt(r7031142);
double r7031144 = -2.0;
double r7031145 = r7031144 * r7031138;
double r7031146 = r7031143 * r7031145;
double r7031147 = -2.8007159683758795e-209;
bool r7031148 = r7031129 <= r7031147;
double r7031149 = 0.25;
double r7031150 = sqrt(r7031149);
double r7031151 = r7031150 * r7031133;
double r7031152 = r7031151 * r7031144;
double r7031153 = -7.824563913217024e-247;
bool r7031154 = r7031129 <= r7031153;
double r7031155 = 6.115053720002469e-136;
bool r7031156 = r7031129 <= r7031155;
double r7031157 = r7031156 ? r7031152 : r7031146;
double r7031158 = r7031154 ? r7031146 : r7031157;
double r7031159 = r7031148 ? r7031152 : r7031158;
double r7031160 = r7031131 ? r7031146 : r7031159;
return r7031160;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < -7.908075647023875e-176 or -2.8007159683758795e-209 < J < -7.824563913217024e-247 or 6.115053720002469e-136 < J Initial program 11.8
Simplified11.8
if -7.908075647023875e-176 < J < -2.8007159683758795e-209 or -7.824563913217024e-247 < J < 6.115053720002469e-136Initial program 40.6
Simplified40.6
Taylor expanded around inf 34.5
Final simplification16.7
herbie shell --seed 2019172
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))