\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 -8.793677279707616483357998085298165644322 \cdot 10^{-69}:\\
\;\;\;\;\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 -7.496155157232238258900223489995841630596 \cdot 10^{-180}:\\
\;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\
\mathbf{elif}\;J \le -2.185755027344584049365129282325313290485 \cdot 10^{-254}:\\
\;\;\;\;\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 9.044065113033606576274056251320451028479 \cdot 10^{-176}:\\
\;\;\;\;\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 r6729524 = -2.0;
double r6729525 = J;
double r6729526 = r6729524 * r6729525;
double r6729527 = K;
double r6729528 = 2.0;
double r6729529 = r6729527 / r6729528;
double r6729530 = cos(r6729529);
double r6729531 = r6729526 * r6729530;
double r6729532 = 1.0;
double r6729533 = U;
double r6729534 = r6729528 * r6729525;
double r6729535 = r6729534 * r6729530;
double r6729536 = r6729533 / r6729535;
double r6729537 = pow(r6729536, r6729528);
double r6729538 = r6729532 + r6729537;
double r6729539 = sqrt(r6729538);
double r6729540 = r6729531 * r6729539;
return r6729540;
}
double f(double J, double K, double U) {
double r6729541 = J;
double r6729542 = -8.793677279707616e-69;
bool r6729543 = r6729541 <= r6729542;
double r6729544 = 1.0;
double r6729545 = U;
double r6729546 = K;
double r6729547 = 2.0;
double r6729548 = r6729546 / r6729547;
double r6729549 = cos(r6729548);
double r6729550 = r6729549 * r6729541;
double r6729551 = r6729550 * r6729547;
double r6729552 = r6729545 / r6729551;
double r6729553 = pow(r6729552, r6729547);
double r6729554 = r6729544 + r6729553;
double r6729555 = sqrt(r6729554);
double r6729556 = -2.0;
double r6729557 = r6729556 * r6729550;
double r6729558 = r6729555 * r6729557;
double r6729559 = -7.496155157232238e-180;
bool r6729560 = r6729541 <= r6729559;
double r6729561 = 0.25;
double r6729562 = sqrt(r6729561);
double r6729563 = r6729562 * r6729545;
double r6729564 = r6729563 * r6729556;
double r6729565 = -2.185755027344584e-254;
bool r6729566 = r6729541 <= r6729565;
double r6729567 = 9.044065113033607e-176;
bool r6729568 = r6729541 <= r6729567;
double r6729569 = r6729568 ? r6729564 : r6729558;
double r6729570 = r6729566 ? r6729558 : r6729569;
double r6729571 = r6729560 ? r6729564 : r6729570;
double r6729572 = r6729543 ? r6729558 : r6729571;
return r6729572;
}



Bits error versus J



Bits error versus K



Bits error versus U
Results
if J < -8.793677279707616e-69 or -7.496155157232238e-180 < J < -2.185755027344584e-254 or 9.044065113033607e-176 < J Initial program 11.9
Simplified11.9
if -8.793677279707616e-69 < J < -7.496155157232238e-180 or -2.185755027344584e-254 < J < 9.044065113033607e-176Initial program 37.8
Simplified37.8
Taylor expanded around inf 35.1
Final simplification17.3
herbie shell --seed 2019169
(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)))))