Average Error: 18.0 → 17.0
Time: 50.7s
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}\;U \le -1.695779976879255982558026234609200293772 \cdot 10^{242}:\\ \;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\ \mathbf{elif}\;U \le 8.829662133181109072663956909723817245939 \cdot 10^{179}:\\ \;\;\;\;\left(-2 \cdot \sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + 1}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\ \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}\;U \le -1.695779976879255982558026234609200293772 \cdot 10^{242}:\\
\;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\

\mathbf{elif}\;U \le 8.829662133181109072663956909723817245939 \cdot 10^{179}:\\
\;\;\;\;\left(-2 \cdot \sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + 1}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\

\end{array}
double f(double J, double K, double U) {
        double r7649603 = -2.0;
        double r7649604 = J;
        double r7649605 = r7649603 * r7649604;
        double r7649606 = K;
        double r7649607 = 2.0;
        double r7649608 = r7649606 / r7649607;
        double r7649609 = cos(r7649608);
        double r7649610 = r7649605 * r7649609;
        double r7649611 = 1.0;
        double r7649612 = U;
        double r7649613 = r7649607 * r7649604;
        double r7649614 = r7649613 * r7649609;
        double r7649615 = r7649612 / r7649614;
        double r7649616 = pow(r7649615, r7649607);
        double r7649617 = r7649611 + r7649616;
        double r7649618 = sqrt(r7649617);
        double r7649619 = r7649610 * r7649618;
        return r7649619;
}

double f(double J, double K, double U) {
        double r7649620 = U;
        double r7649621 = -1.695779976879256e+242;
        bool r7649622 = r7649620 <= r7649621;
        double r7649623 = 0.25;
        double r7649624 = sqrt(r7649623);
        double r7649625 = r7649624 * r7649620;
        double r7649626 = -2.0;
        double r7649627 = r7649625 * r7649626;
        double r7649628 = 8.829662133181109e+179;
        bool r7649629 = r7649620 <= r7649628;
        double r7649630 = K;
        double r7649631 = 2.0;
        double r7649632 = r7649630 / r7649631;
        double r7649633 = cos(r7649632);
        double r7649634 = J;
        double r7649635 = r7649633 * r7649634;
        double r7649636 = r7649635 * r7649631;
        double r7649637 = r7649620 / r7649636;
        double r7649638 = pow(r7649637, r7649631);
        double r7649639 = 1.0;
        double r7649640 = r7649638 + r7649639;
        double r7649641 = sqrt(r7649640);
        double r7649642 = r7649626 * r7649641;
        double r7649643 = r7649642 * r7649635;
        double r7649644 = r7649629 ? r7649643 : r7649627;
        double r7649645 = r7649622 ? r7649627 : r7649644;
        return r7649645;
}

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 U < -1.695779976879256e+242 or 8.829662133181109e+179 < U

    1. Initial program 42.3

      \[\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. Simplified42.3

      \[\leadsto \color{blue}{\left(\sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + 1} \cdot -2\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}\]
    3. Taylor expanded around inf 36.2

      \[\leadsto \color{blue}{-2 \cdot \left(\sqrt{0.25} \cdot U\right)}\]

    if -1.695779976879256e+242 < U < 8.829662133181109e+179

    1. Initial program 13.6

      \[\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. Simplified13.6

      \[\leadsto \color{blue}{\left(\sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + 1} \cdot -2\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification17.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -1.695779976879255982558026234609200293772 \cdot 10^{242}:\\ \;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\ \mathbf{elif}\;U \le 8.829662133181109072663956909723817245939 \cdot 10^{179}:\\ \;\;\;\;\left(-2 \cdot \sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + 1}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{0.25} \cdot U\right) \cdot -2\\ \end{array}\]

Reproduce

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