\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 r6853966 = -2.0;
double r6853967 = J;
double r6853968 = r6853966 * r6853967;
double r6853969 = K;
double r6853970 = 2.0;
double r6853971 = r6853969 / r6853970;
double r6853972 = cos(r6853971);
double r6853973 = r6853968 * r6853972;
double r6853974 = 1.0;
double r6853975 = U;
double r6853976 = r6853970 * r6853967;
double r6853977 = r6853976 * r6853972;
double r6853978 = r6853975 / r6853977;
double r6853979 = pow(r6853978, r6853970);
double r6853980 = r6853974 + r6853979;
double r6853981 = sqrt(r6853980);
double r6853982 = r6853973 * r6853981;
return r6853982;
}
double f(double J, double K, double U) {
double r6853983 = J;
double r6853984 = -7.908075647023875e-176;
bool r6853985 = r6853983 <= r6853984;
double r6853986 = 1.0;
double r6853987 = U;
double r6853988 = K;
double r6853989 = 2.0;
double r6853990 = r6853988 / r6853989;
double r6853991 = cos(r6853990);
double r6853992 = r6853991 * r6853983;
double r6853993 = r6853992 * r6853989;
double r6853994 = r6853987 / r6853993;
double r6853995 = pow(r6853994, r6853989);
double r6853996 = r6853986 + r6853995;
double r6853997 = sqrt(r6853996);
double r6853998 = -2.0;
double r6853999 = r6853998 * r6853992;
double r6854000 = r6853997 * r6853999;
double r6854001 = -2.8007159683758795e-209;
bool r6854002 = r6853983 <= r6854001;
double r6854003 = 0.25;
double r6854004 = sqrt(r6854003);
double r6854005 = r6854004 * r6853987;
double r6854006 = r6854005 * r6853998;
double r6854007 = -7.824563913217024e-247;
bool r6854008 = r6853983 <= r6854007;
double r6854009 = 6.115053720002469e-136;
bool r6854010 = r6853983 <= r6854009;
double r6854011 = r6854010 ? r6854006 : r6854000;
double r6854012 = r6854008 ? r6854000 : r6854011;
double r6854013 = r6854002 ? r6854006 : r6854012;
double r6854014 = r6853985 ? r6854000 : r6854013;
return r6854014;
}



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)))))