Average Error: 16.9 → 15.8
Time: 2.6m
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 -2.997120789423979 \cdot 10^{-202}:\\ \;\;\;\;J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right)\right)\\ \mathbf{elif}\;J \le 7.002272025436746 \cdot 10^{-191}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right)\\ \end{array}\]
double f(double J, double K, double U) {
        double r27276914 = -2.0;
        double r27276915 = J;
        double r27276916 = r27276914 * r27276915;
        double r27276917 = K;
        double r27276918 = 2.0;
        double r27276919 = r27276917 / r27276918;
        double r27276920 = cos(r27276919);
        double r27276921 = r27276916 * r27276920;
        double r27276922 = 1.0;
        double r27276923 = U;
        double r27276924 = r27276918 * r27276915;
        double r27276925 = r27276924 * r27276920;
        double r27276926 = r27276923 / r27276925;
        double r27276927 = pow(r27276926, r27276918);
        double r27276928 = r27276922 + r27276927;
        double r27276929 = sqrt(r27276928);
        double r27276930 = r27276921 * r27276929;
        return r27276930;
}

double f(double J, double K, double U) {
        double r27276931 = J;
        double r27276932 = -2.997120789423979e-202;
        bool r27276933 = r27276931 <= r27276932;
        double r27276934 = K;
        double r27276935 = 2.0;
        double r27276936 = r27276934 / r27276935;
        double r27276937 = cos(r27276936);
        double r27276938 = -2.0;
        double r27276939 = 1.0;
        double r27276940 = U;
        double r27276941 = r27276937 * r27276931;
        double r27276942 = r27276935 * r27276941;
        double r27276943 = r27276940 / r27276942;
        double r27276944 = r27276943 * r27276943;
        double r27276945 = r27276939 + r27276944;
        double r27276946 = sqrt(r27276945);
        double r27276947 = r27276938 * r27276946;
        double r27276948 = r27276937 * r27276947;
        double r27276949 = r27276931 * r27276948;
        double r27276950 = 7.002272025436746e-191;
        bool r27276951 = r27276931 <= r27276950;
        double r27276952 = -r27276940;
        double r27276953 = r27276941 * r27276947;
        double r27276954 = r27276951 ? r27276952 : r27276953;
        double r27276955 = r27276933 ? r27276949 : r27276954;
        return r27276955;
}

\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 -2.997120789423979 \cdot 10^{-202}:\\
\;\;\;\;J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot \sqrt{1 + \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}}\right)\right)\\

\mathbf{elif}\;J \le 7.002272025436746 \cdot 10^{-191}:\\
\;\;\;\;-U\\

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

\end{array}

Error

Bits error versus J

Bits error versus K

Bits error versus U

Derivation

  1. Split input into 3 regimes
  2. if J < -2.997120789423979e-202

    1. Initial program 12.0

      \[\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. Simplified12.0

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

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

    if -2.997120789423979e-202 < J < 7.002272025436746e-191

    1. Initial program 40.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. Simplified40.3

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

      \[\leadsto \color{blue}{-1 \cdot U}\]
    4. Simplified34.2

      \[\leadsto \color{blue}{-U}\]

    if 7.002272025436746e-191 < J

    1. Initial program 11.7

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

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

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

Reproduce

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