double f(double J, double K, double U) {
double r27276914 = -2.0;
double r27276915 = J;
double r27276916 = r27276914 * r27276915;
double r27276917 = K;
double r27276918 = 2.0;
double r27276919 = r27276917 / r27276918;
double r27276920 = cos(r27276919);
double r27276921 = r27276916 * r27276920;
double r27276922 = 1.0;
double r27276923 = U;
double r27276924 = r27276918 * r27276915;
double r27276925 = r27276924 * r27276920;
double r27276926 = r27276923 / r27276925;
double r27276927 = pow(r27276926, r27276918);
double r27276928 = r27276922 + r27276927;
double r27276929 = sqrt(r27276928);
double r27276930 = r27276921 * r27276929;
return r27276930;
}
double f(double J, double K, double U) {
double r27276931 = J;
double r27276932 = -2.997120789423979e-202;
bool r27276933 = r27276931 <= r27276932;
double r27276934 = K;
double r27276935 = 2.0;
double r27276936 = r27276934 / r27276935;
double r27276937 = cos(r27276936);
double r27276938 = -2.0;
double r27276939 = 1.0;
double r27276940 = U;
double r27276941 = r27276937 * r27276931;
double r27276942 = r27276935 * r27276941;
double r27276943 = r27276940 / r27276942;
double r27276944 = r27276943 * r27276943;
double r27276945 = r27276939 + r27276944;
double r27276946 = sqrt(r27276945);
double r27276947 = r27276938 * r27276946;
double r27276948 = r27276937 * r27276947;
double r27276949 = r27276931 * r27276948;
double r27276950 = 7.002272025436746e-191;
bool r27276951 = r27276931 <= r27276950;
double r27276952 = -r27276940;
double r27276953 = r27276941 * r27276947;
double r27276954 = r27276951 ? r27276952 : r27276953;
double r27276955 = r27276933 ? r27276949 : r27276954;
return r27276955;
}
\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 -2.997120789423979 \cdot 10^{-202}:\\
\;\;\;\;J \cdot \left(\cos \left(\frac{K}{2}\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)\right)\\
\mathbf{elif}\;J \le 7.002272025436746 \cdot 10^{-191}:\\
\;\;\;\;-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}


Bits error versus J



Bits error versus K



Bits error versus U
if J < -2.997120789423979e-202Initial program 12.0
Simplified12.0
rmApplied associate-*r*12.0
if -2.997120789423979e-202 < J < 7.002272025436746e-191Initial program 40.3
Simplified40.3
Taylor expanded around -inf 34.2
Simplified34.2
if 7.002272025436746e-191 < J Initial program 11.7
Simplified11.6
Final simplification15.8
herbie shell --seed 2019101
(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)))))