Average Error: 18.0 → 8.2
Time: 32.0s
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 -7.162239869679763003503637235692728069393 \cdot 10^{262}:\\ \;\;\;\;-2 \cdot \left(\sqrt{0.25} \cdot U\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{hypot}\left({\left(\frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}\right)}^{\left(\frac{2}{2}\right)}, \sqrt{1}\right) \cdot \left(-2 \cdot \left(\cos \left(\frac{K}{2}\right) \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}\;U \le -7.162239869679763003503637235692728069393 \cdot 10^{262}:\\
\;\;\;\;-2 \cdot \left(\sqrt{0.25} \cdot U\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{hypot}\left({\left(\frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}\right)}^{\left(\frac{2}{2}\right)}, \sqrt{1}\right) \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 r7670759 = -2.0;
        double r7670760 = J;
        double r7670761 = r7670759 * r7670760;
        double r7670762 = K;
        double r7670763 = 2.0;
        double r7670764 = r7670762 / r7670763;
        double r7670765 = cos(r7670764);
        double r7670766 = r7670761 * r7670765;
        double r7670767 = 1.0;
        double r7670768 = U;
        double r7670769 = r7670763 * r7670760;
        double r7670770 = r7670769 * r7670765;
        double r7670771 = r7670768 / r7670770;
        double r7670772 = pow(r7670771, r7670763);
        double r7670773 = r7670767 + r7670772;
        double r7670774 = sqrt(r7670773);
        double r7670775 = r7670766 * r7670774;
        return r7670775;
}

double f(double J, double K, double U) {
        double r7670776 = U;
        double r7670777 = -7.162239869679763e+262;
        bool r7670778 = r7670776 <= r7670777;
        double r7670779 = -2.0;
        double r7670780 = 0.25;
        double r7670781 = sqrt(r7670780);
        double r7670782 = r7670781 * r7670776;
        double r7670783 = r7670779 * r7670782;
        double r7670784 = 2.0;
        double r7670785 = K;
        double r7670786 = r7670785 / r7670784;
        double r7670787 = cos(r7670786);
        double r7670788 = J;
        double r7670789 = r7670787 * r7670788;
        double r7670790 = r7670784 * r7670789;
        double r7670791 = r7670776 / r7670790;
        double r7670792 = 2.0;
        double r7670793 = r7670784 / r7670792;
        double r7670794 = pow(r7670791, r7670793);
        double r7670795 = 1.0;
        double r7670796 = sqrt(r7670795);
        double r7670797 = hypot(r7670794, r7670796);
        double r7670798 = r7670779 * r7670789;
        double r7670799 = r7670797 * r7670798;
        double r7670800 = r7670778 ? r7670783 : r7670799;
        return r7670800;
}

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 < -7.162239869679763e+262

    1. Initial program 42.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. Simplified42.4

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

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

    if -7.162239869679763e+262 < U

    1. Initial program 17.1

      \[\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.1

      \[\leadsto \color{blue}{\sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + 1} \cdot \left(\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot -2\right)}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt17.1

      \[\leadsto \sqrt{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{2} + \color{blue}{\sqrt{1} \cdot \sqrt{1}}} \cdot \left(\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot -2\right)\]
    5. Applied sqr-pow17.1

      \[\leadsto \sqrt{\color{blue}{{\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2}\right)}^{\left(\frac{2}{2}\right)}} + \sqrt{1} \cdot \sqrt{1}} \cdot \left(\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot -2\right)\]
    6. Applied hypot-def7.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -7.162239869679763003503637235692728069393 \cdot 10^{262}:\\ \;\;\;\;-2 \cdot \left(\sqrt{0.25} \cdot U\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{hypot}\left({\left(\frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}\right)}^{\left(\frac{2}{2}\right)}, \sqrt{1}\right) \cdot \left(-2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019172 +o rules:numerics
(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)))))