Average Error: 16.6 → 8.1
Time: 25.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}\;U \le 1.0984957296591846 \cdot 10^{+254}:\\ \;\;\;\;\left(\sqrt{\mathsf{hypot}\left(1, \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}\right)} \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)\right) \cdot \sqrt{\mathsf{hypot}\left(1, \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}\right)}\\ \mathbf{else}:\\ \;\;\;\;-U\\ \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.0984957296591846 \cdot 10^{+254}:\\
\;\;\;\;\left(\sqrt{\mathsf{hypot}\left(1, \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}\right)} \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)\right) \cdot \sqrt{\mathsf{hypot}\left(1, \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}\right)}\\

\mathbf{else}:\\
\;\;\;\;-U\\

\end{array}
double f(double J, double K, double U) {
        double r5141126 = -2.0;
        double r5141127 = J;
        double r5141128 = r5141126 * r5141127;
        double r5141129 = K;
        double r5141130 = 2.0;
        double r5141131 = r5141129 / r5141130;
        double r5141132 = cos(r5141131);
        double r5141133 = r5141128 * r5141132;
        double r5141134 = 1.0;
        double r5141135 = U;
        double r5141136 = r5141130 * r5141127;
        double r5141137 = r5141136 * r5141132;
        double r5141138 = r5141135 / r5141137;
        double r5141139 = pow(r5141138, r5141130);
        double r5141140 = r5141134 + r5141139;
        double r5141141 = sqrt(r5141140);
        double r5141142 = r5141133 * r5141141;
        return r5141142;
}

double f(double J, double K, double U) {
        double r5141143 = U;
        double r5141144 = 1.0984957296591846e+254;
        bool r5141145 = r5141143 <= r5141144;
        double r5141146 = 1.0;
        double r5141147 = J;
        double r5141148 = K;
        double r5141149 = 2.0;
        double r5141150 = r5141148 / r5141149;
        double r5141151 = cos(r5141150);
        double r5141152 = r5141151 * r5141149;
        double r5141153 = r5141147 * r5141152;
        double r5141154 = r5141143 / r5141153;
        double r5141155 = hypot(r5141146, r5141154);
        double r5141156 = sqrt(r5141155);
        double r5141157 = -2.0;
        double r5141158 = r5141157 * r5141147;
        double r5141159 = r5141158 * r5141151;
        double r5141160 = r5141156 * r5141159;
        double r5141161 = r5141160 * r5141156;
        double r5141162 = -r5141143;
        double r5141163 = r5141145 ? r5141161 : r5141162;
        return r5141163;
}

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.0984957296591846e+254

    1. Initial program 15.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. 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. Using strategy rm
    4. Applied add-sqr-sqrt7.0

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

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

    if 1.0984957296591846e+254 < U

    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.2

      \[\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 32.4

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

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

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

Reproduce

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