Average Error: 17.9 → 8.0
Time: 23.8s
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 -5.000305540524894 \cdot 10^{-282}:\\ \;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(1, \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)}\right)\\ \mathbf{elif}\;J \le -1.2687631742535287 \cdot 10^{-307}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(1, \frac{U}{\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}\;J \le -5.000305540524894 \cdot 10^{-282}:\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(1, \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)}\right)\\

\mathbf{elif}\;J \le -1.2687631742535287 \cdot 10^{-307}:\\
\;\;\;\;-U\\

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

\end{array}
double f(double J, double K, double U) {
        double r2232122 = -2.0;
        double r2232123 = J;
        double r2232124 = r2232122 * r2232123;
        double r2232125 = K;
        double r2232126 = 2.0;
        double r2232127 = r2232125 / r2232126;
        double r2232128 = cos(r2232127);
        double r2232129 = r2232124 * r2232128;
        double r2232130 = 1.0;
        double r2232131 = U;
        double r2232132 = r2232126 * r2232123;
        double r2232133 = r2232132 * r2232128;
        double r2232134 = r2232131 / r2232133;
        double r2232135 = pow(r2232134, r2232126);
        double r2232136 = r2232130 + r2232135;
        double r2232137 = sqrt(r2232136);
        double r2232138 = r2232129 * r2232137;
        return r2232138;
}

double f(double J, double K, double U) {
        double r2232139 = J;
        double r2232140 = -5.000305540524894e-282;
        bool r2232141 = r2232139 <= r2232140;
        double r2232142 = -2.0;
        double r2232143 = r2232142 * r2232139;
        double r2232144 = K;
        double r2232145 = 2.0;
        double r2232146 = r2232144 / r2232145;
        double r2232147 = cos(r2232146);
        double r2232148 = r2232143 * r2232147;
        double r2232149 = 1.0;
        double r2232150 = U;
        double r2232151 = r2232145 * r2232139;
        double r2232152 = r2232147 * r2232151;
        double r2232153 = r2232150 / r2232152;
        double r2232154 = hypot(r2232149, r2232153);
        double r2232155 = r2232148 * r2232154;
        double r2232156 = -1.2687631742535287e-307;
        bool r2232157 = r2232139 <= r2232156;
        double r2232158 = -r2232150;
        double r2232159 = r2232157 ? r2232158 : r2232155;
        double r2232160 = r2232141 ? r2232155 : r2232159;
        return r2232160;
}

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 J < -5.000305540524894e-282 or -1.2687631742535287e-307 < J

    1. Initial program 17.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. Simplified7.6

      \[\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)}\]

    if -5.000305540524894e-282 < J < -1.2687631742535287e-307

    1. Initial program 46.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. Simplified31.5

      \[\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. Using strategy rm
    4. Applied add-cube-cbrt31.7

      \[\leadsto \mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right) \cdot \left(\color{blue}{\left(\left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right) \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right)} \cdot \left(-2 \cdot J\right)\right)\]
    5. Applied associate-*l*31.7

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

      \[\leadsto \color{blue}{-1 \cdot U}\]
    7. Simplified23.7

      \[\leadsto \color{blue}{-U}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification8.0

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

Reproduce

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