Average Error: 17.9 → 18.3
Time: 21.3s
Precision: 64
\[\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 1.32384858102125 \cdot 10^{-232}:\\ \;\;\;\;\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;J \le 6.925182500906958 \cdot 10^{-195}:\\ \;\;\;\;\cos \left(\frac{K}{2}\right) \cdot \left(-U\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]
\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 1.32384858102125 \cdot 10^{-232}:\\
\;\;\;\;\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\

\mathbf{elif}\;J \le 6.925182500906958 \cdot 10^{-195}:\\
\;\;\;\;\cos \left(\frac{K}{2}\right) \cdot \left(-U\right)\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\

\end{array}
double f(double J, double K, double U) {
        double r1937601 = -2.0;
        double r1937602 = J;
        double r1937603 = r1937601 * r1937602;
        double r1937604 = K;
        double r1937605 = 2.0;
        double r1937606 = r1937604 / r1937605;
        double r1937607 = cos(r1937606);
        double r1937608 = r1937603 * r1937607;
        double r1937609 = 1.0;
        double r1937610 = U;
        double r1937611 = r1937605 * r1937602;
        double r1937612 = r1937611 * r1937607;
        double r1937613 = r1937610 / r1937612;
        double r1937614 = pow(r1937613, r1937605);
        double r1937615 = r1937609 + r1937614;
        double r1937616 = sqrt(r1937615);
        double r1937617 = r1937608 * r1937616;
        return r1937617;
}

double f(double J, double K, double U) {
        double r1937618 = J;
        double r1937619 = 1.32384858102125e-232;
        bool r1937620 = r1937618 <= r1937619;
        double r1937621 = U;
        double r1937622 = 2.0;
        double r1937623 = r1937622 * r1937618;
        double r1937624 = K;
        double r1937625 = r1937624 / r1937622;
        double r1937626 = cos(r1937625);
        double r1937627 = r1937623 * r1937626;
        double r1937628 = r1937621 / r1937627;
        double r1937629 = r1937628 * r1937628;
        double r1937630 = 1.0;
        double r1937631 = r1937629 + r1937630;
        double r1937632 = sqrt(r1937631);
        double r1937633 = -2.0;
        double r1937634 = r1937633 * r1937618;
        double r1937635 = r1937626 * r1937634;
        double r1937636 = r1937632 * r1937635;
        double r1937637 = 6.925182500906958e-195;
        bool r1937638 = r1937618 <= r1937637;
        double r1937639 = -r1937621;
        double r1937640 = r1937626 * r1937639;
        double r1937641 = r1937638 ? r1937640 : r1937636;
        double r1937642 = r1937620 ? r1937636 : r1937641;
        return r1937642;
}

Error

Bits error versus J

Bits error versus K

Bits error versus U

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if J < 1.32384858102125e-232 or 6.925182500906958e-195 < J

    1. Initial program 17.4

      \[\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}}\]
    2. Simplified17.4

      \[\leadsto \color{blue}{\left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \cdot \sqrt{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}}\]

    if 1.32384858102125e-232 < J < 6.925182500906958e-195

    1. Initial program 34.4

      \[\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}}\]
    2. Simplified34.4

      \[\leadsto \color{blue}{\left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \cdot \sqrt{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}}\]
    3. Using strategy rm
    4. Applied associate-*l*34.4

      \[\leadsto \color{blue}{\cos \left(\frac{K}{2}\right) \cdot \left(\left(-2 \cdot J\right) \cdot \sqrt{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\right)}\]
    5. Taylor expanded around 0 46.6

      \[\leadsto \cos \left(\frac{K}{2}\right) \cdot \color{blue}{\left(-1 \cdot U\right)}\]
    6. Simplified46.6

      \[\leadsto \cos \left(\frac{K}{2}\right) \cdot \color{blue}{\left(-U\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification18.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;J \le 1.32384858102125 \cdot 10^{-232}:\\ \;\;\;\;\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;J \le 6.925182500906958 \cdot 10^{-195}:\\ \;\;\;\;\cos \left(\frac{K}{2}\right) \cdot \left(-U\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019156 
(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)))))