Average Error: 17.6 → 8.2
Time: 28.9s
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 -6.5450850664377556 \cdot 10^{+243}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\mathsf{hypot}\left(1, \frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\right) \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\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 -6.5450850664377556 \cdot 10^{+243}:\\
\;\;\;\;-U\\

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

\end{array}
double f(double J, double K, double U) {
        double r4829895 = -2.0;
        double r4829896 = J;
        double r4829897 = r4829895 * r4829896;
        double r4829898 = K;
        double r4829899 = 2.0;
        double r4829900 = r4829898 / r4829899;
        double r4829901 = cos(r4829900);
        double r4829902 = r4829897 * r4829901;
        double r4829903 = 1.0;
        double r4829904 = U;
        double r4829905 = r4829899 * r4829896;
        double r4829906 = r4829905 * r4829901;
        double r4829907 = r4829904 / r4829906;
        double r4829908 = pow(r4829907, r4829899);
        double r4829909 = r4829903 + r4829908;
        double r4829910 = sqrt(r4829909);
        double r4829911 = r4829902 * r4829910;
        return r4829911;
}

double f(double J, double K, double U) {
        double r4829912 = U;
        double r4829913 = -6.5450850664377556e+243;
        bool r4829914 = r4829912 <= r4829913;
        double r4829915 = -r4829912;
        double r4829916 = 1.0;
        double r4829917 = K;
        double r4829918 = 2.0;
        double r4829919 = r4829917 / r4829918;
        double r4829920 = cos(r4829919);
        double r4829921 = r4829920 * r4829918;
        double r4829922 = J;
        double r4829923 = r4829921 * r4829922;
        double r4829924 = r4829912 / r4829923;
        double r4829925 = hypot(r4829916, r4829924);
        double r4829926 = -2.0;
        double r4829927 = r4829926 * r4829922;
        double r4829928 = r4829927 * r4829920;
        double r4829929 = r4829925 * r4829928;
        double r4829930 = r4829914 ? r4829915 : r4829929;
        return r4829930;
}

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 < -6.5450850664377556e+243

    1. Initial program 41.8

      \[\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. Simplified27.5

      \[\leadsto \color{blue}{\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot \cos \left(\frac{K}{2}\right)\right) \cdot J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)}\]
    3. Taylor expanded around inf 34.3

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

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

    if -6.5450850664377556e+243 < U

    1. Initial program 16.2

      \[\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. Simplified6.8

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

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

Reproduce

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