\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}\;\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}} = -\infty \lor \neg \left(\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}} \le 2.060066890954713680905695378128061767254 \cdot 10^{306}\right):\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \frac{\sqrt{0.25} \cdot U}{J \cdot \cos \left(0.5 \cdot K\right)}\\
\mathbf{else}:\\
\;\;\;\;\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}}\\
\end{array}double f(double J, double K, double U) {
double r93818 = -2.0;
double r93819 = J;
double r93820 = r93818 * r93819;
double r93821 = K;
double r93822 = 2.0;
double r93823 = r93821 / r93822;
double r93824 = cos(r93823);
double r93825 = r93820 * r93824;
double r93826 = 1.0;
double r93827 = U;
double r93828 = r93822 * r93819;
double r93829 = r93828 * r93824;
double r93830 = r93827 / r93829;
double r93831 = pow(r93830, r93822);
double r93832 = r93826 + r93831;
double r93833 = sqrt(r93832);
double r93834 = r93825 * r93833;
return r93834;
}
double f(double J, double K, double U) {
double r93835 = -2.0;
double r93836 = J;
double r93837 = r93835 * r93836;
double r93838 = K;
double r93839 = 2.0;
double r93840 = r93838 / r93839;
double r93841 = cos(r93840);
double r93842 = r93837 * r93841;
double r93843 = 1.0;
double r93844 = U;
double r93845 = r93839 * r93836;
double r93846 = r93845 * r93841;
double r93847 = r93844 / r93846;
double r93848 = pow(r93847, r93839);
double r93849 = r93843 + r93848;
double r93850 = sqrt(r93849);
double r93851 = r93842 * r93850;
double r93852 = -inf.0;
bool r93853 = r93851 <= r93852;
double r93854 = 2.0600668909547137e+306;
bool r93855 = r93851 <= r93854;
double r93856 = !r93855;
bool r93857 = r93853 || r93856;
double r93858 = 0.25;
double r93859 = sqrt(r93858);
double r93860 = r93859 * r93844;
double r93861 = 0.5;
double r93862 = r93861 * r93838;
double r93863 = cos(r93862);
double r93864 = r93836 * r93863;
double r93865 = r93860 / r93864;
double r93866 = r93842 * r93865;
double r93867 = r93857 ? r93866 : r93851;
return r93867;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < -inf.0 or 2.0600668909547137e+306 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) Initial program 63.6
Taylor expanded around inf 45.8
if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 2.0600668909547137e+306Initial program 0.1
Final simplification13.0
herbie shell --seed 2019323
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
:precision binary64
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))