\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.995143407100309 \cdot 10^{-199}:\\
\;\;\;\;\sqrt{1 + \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\mathbf{elif}\;J \le 3.946305958295406 \cdot 10^{-203}:\\
\;\;\;\;-U\\
\mathbf{elif}\;J \le 6.061443602231617 \cdot 10^{-146}:\\
\;\;\;\;\sqrt{1 + \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\mathbf{elif}\;J \le 6.953802795616913 \cdot 10^{-122}:\\
\;\;\;\;-U\\
\mathbf{else}:\\
\;\;\;\;\sqrt{1 + \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\
\end{array}double f(double J, double K, double U) {
double r4190842 = -2.0;
double r4190843 = J;
double r4190844 = r4190842 * r4190843;
double r4190845 = K;
double r4190846 = 2.0;
double r4190847 = r4190845 / r4190846;
double r4190848 = cos(r4190847);
double r4190849 = r4190844 * r4190848;
double r4190850 = 1.0;
double r4190851 = U;
double r4190852 = r4190846 * r4190843;
double r4190853 = r4190852 * r4190848;
double r4190854 = r4190851 / r4190853;
double r4190855 = pow(r4190854, r4190846);
double r4190856 = r4190850 + r4190855;
double r4190857 = sqrt(r4190856);
double r4190858 = r4190849 * r4190857;
return r4190858;
}
double f(double J, double K, double U) {
double r4190859 = J;
double r4190860 = -3.995143407100309e-199;
bool r4190861 = r4190859 <= r4190860;
double r4190862 = 1.0;
double r4190863 = U;
double r4190864 = K;
double r4190865 = 2.0;
double r4190866 = r4190864 / r4190865;
double r4190867 = cos(r4190866);
double r4190868 = r4190865 * r4190859;
double r4190869 = r4190867 * r4190868;
double r4190870 = r4190863 / r4190869;
double r4190871 = r4190870 * r4190870;
double r4190872 = r4190862 + r4190871;
double r4190873 = sqrt(r4190872);
double r4190874 = -2.0;
double r4190875 = r4190874 * r4190859;
double r4190876 = r4190867 * r4190875;
double r4190877 = r4190873 * r4190876;
double r4190878 = 3.946305958295406e-203;
bool r4190879 = r4190859 <= r4190878;
double r4190880 = -r4190863;
double r4190881 = 6.061443602231617e-146;
bool r4190882 = r4190859 <= r4190881;
double r4190883 = 6.953802795616913e-122;
bool r4190884 = r4190859 <= r4190883;
double r4190885 = r4190884 ? r4190880 : r4190877;
double r4190886 = r4190882 ? r4190877 : r4190885;
double r4190887 = r4190879 ? r4190880 : r4190886;
double r4190888 = r4190861 ? r4190877 : r4190887;
return r4190888;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < -3.995143407100309e-199 or 3.946305958295406e-203 < J < 6.061443602231617e-146 or 6.953802795616913e-122 < J Initial program 12.2
Simplified12.2
if -3.995143407100309e-199 < J < 3.946305958295406e-203 or 6.061443602231617e-146 < J < 6.953802795616913e-122Initial program 40.7
Simplified40.7
rmApplied associate-*r*40.8
Taylor expanded around -inf 35.2
Simplified35.2
Final simplification16.8
herbie shell --seed 2019143
(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)))))