Average Error: 17.2 → 7.8
Time: 21.0s
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}}\]
\[\mathsf{hypot}\left(1, \left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\right)\right) \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)\]
\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}}
\mathsf{hypot}\left(1, \left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\right)\right) \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)
double f(double J, double K, double U) {
        double r2812107 = -2.0;
        double r2812108 = J;
        double r2812109 = r2812107 * r2812108;
        double r2812110 = K;
        double r2812111 = 2.0;
        double r2812112 = r2812110 / r2812111;
        double r2812113 = cos(r2812112);
        double r2812114 = r2812109 * r2812113;
        double r2812115 = 1.0;
        double r2812116 = U;
        double r2812117 = r2812111 * r2812108;
        double r2812118 = r2812117 * r2812113;
        double r2812119 = r2812116 / r2812118;
        double r2812120 = pow(r2812119, r2812111);
        double r2812121 = r2812115 + r2812120;
        double r2812122 = sqrt(r2812121);
        double r2812123 = r2812114 * r2812122;
        return r2812123;
}

double f(double J, double K, double U) {
        double r2812124 = 1.0;
        double r2812125 = U;
        double r2812126 = K;
        double r2812127 = 2.0;
        double r2812128 = r2812126 / r2812127;
        double r2812129 = cos(r2812128);
        double r2812130 = r2812129 * r2812127;
        double r2812131 = J;
        double r2812132 = r2812130 * r2812131;
        double r2812133 = r2812125 / r2812132;
        double r2812134 = hypot(r2812124, r2812133);
        double r2812135 = -2.0;
        double r2812136 = r2812135 * r2812131;
        double r2812137 = r2812136 * r2812129;
        double r2812138 = r2812134 * r2812137;
        return r2812138;
}

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

    \[\leadsto \color{blue}{\mathsf{hypot}\left(1, \left(\frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}\right)\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)}\]
  3. Final simplification7.8

    \[\leadsto \mathsf{hypot}\left(1, \left(\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\right)\right) \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)\]

Reproduce

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