Average Error: 16.9 → 7.6
Time: 24.1s
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.424674344764941 \cdot 10^{+239}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right) \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}\;U \le -1.424674344764941 \cdot 10^{+239}:\\
\;\;\;\;-U\\

\mathbf{else}:\\
\;\;\;\;\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right) \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 r2176370 = -2.0;
        double r2176371 = J;
        double r2176372 = r2176370 * r2176371;
        double r2176373 = K;
        double r2176374 = 2.0;
        double r2176375 = r2176373 / r2176374;
        double r2176376 = cos(r2176375);
        double r2176377 = r2176372 * r2176376;
        double r2176378 = 1.0;
        double r2176379 = U;
        double r2176380 = r2176374 * r2176371;
        double r2176381 = r2176380 * r2176376;
        double r2176382 = r2176379 / r2176381;
        double r2176383 = pow(r2176382, r2176374);
        double r2176384 = r2176378 + r2176383;
        double r2176385 = sqrt(r2176384);
        double r2176386 = r2176377 * r2176385;
        return r2176386;
}

double f(double J, double K, double U) {
        double r2176387 = U;
        double r2176388 = -1.424674344764941e+239;
        bool r2176389 = r2176387 <= r2176388;
        double r2176390 = -r2176387;
        double r2176391 = 1.0;
        double r2176392 = 2.0;
        double r2176393 = J;
        double r2176394 = r2176392 * r2176393;
        double r2176395 = K;
        double r2176396 = r2176395 / r2176392;
        double r2176397 = cos(r2176396);
        double r2176398 = r2176394 * r2176397;
        double r2176399 = r2176387 / r2176398;
        double r2176400 = hypot(r2176391, r2176399);
        double r2176401 = -2.0;
        double r2176402 = r2176401 * r2176393;
        double r2176403 = r2176397 * r2176402;
        double r2176404 = r2176400 * r2176403;
        double r2176405 = r2176389 ? r2176390 : r2176404;
        return r2176405;
}

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.424674344764941e+239

    1. Initial program 39.5

      \[\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. Simplified24.2

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

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

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

    if -1.424674344764941e+239 < U

    1. Initial program 15.5

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

      \[\leadsto \color{blue}{\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\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 simplification7.6

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

Reproduce

herbie shell --seed 2019155 +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)))))