\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}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\
\;\;\;\;-U\\
\mathbf{elif}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 1.4084612662889073 \cdot 10^{+294}:\\
\;\;\;\;\left(-2 \cdot J\right) \cdot \left(\sqrt{1 + \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)} \cdot \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}} \cdot \cos \left(\frac{K}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-U\\
\end{array}double f(double J, double K, double U) {
double r4755202 = -2.0;
double r4755203 = J;
double r4755204 = r4755202 * r4755203;
double r4755205 = K;
double r4755206 = 2.0;
double r4755207 = r4755205 / r4755206;
double r4755208 = cos(r4755207);
double r4755209 = r4755204 * r4755208;
double r4755210 = 1.0;
double r4755211 = U;
double r4755212 = r4755206 * r4755203;
double r4755213 = r4755212 * r4755208;
double r4755214 = r4755211 / r4755213;
double r4755215 = pow(r4755214, r4755206);
double r4755216 = r4755210 + r4755215;
double r4755217 = sqrt(r4755216);
double r4755218 = r4755209 * r4755217;
return r4755218;
}
double f(double J, double K, double U) {
double r4755219 = U;
double r4755220 = J;
double r4755221 = 2.0;
double r4755222 = r4755220 * r4755221;
double r4755223 = K;
double r4755224 = r4755223 / r4755221;
double r4755225 = cos(r4755224);
double r4755226 = r4755222 * r4755225;
double r4755227 = r4755219 / r4755226;
double r4755228 = pow(r4755227, r4755221);
double r4755229 = 1.0;
double r4755230 = r4755228 + r4755229;
double r4755231 = sqrt(r4755230);
double r4755232 = -2.0;
double r4755233 = r4755232 * r4755220;
double r4755234 = r4755225 * r4755233;
double r4755235 = r4755231 * r4755234;
double r4755236 = -inf.0;
bool r4755237 = r4755235 <= r4755236;
double r4755238 = -r4755219;
double r4755239 = 1.4084612662889073e+294;
bool r4755240 = r4755235 <= r4755239;
double r4755241 = r4755225 * r4755221;
double r4755242 = r4755220 * r4755241;
double r4755243 = r4755219 / r4755242;
double r4755244 = r4755243 * r4755243;
double r4755245 = r4755229 + r4755244;
double r4755246 = sqrt(r4755245);
double r4755247 = r4755246 * r4755225;
double r4755248 = r4755233 * r4755247;
double r4755249 = r4755240 ? r4755248 : r4755238;
double r4755250 = r4755237 ? r4755238 : r4755249;
return r4755250;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < -inf.0 or 1.4084612662889073e+294 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) Initial program 57.4
rmApplied associate-*l*57.4
Simplified57.4
Taylor expanded around 0 33.1
Simplified33.1
if -inf.0 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < 1.4084612662889073e+294Initial program 0.1
rmApplied associate-*l*0.2
Simplified0.2
Final simplification9.7
herbie shell --seed 2019163
(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)))))