Average Error: 17.2 → 7.3
Time: 25.3s
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, \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(J \cdot 2\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, \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(J \cdot 2\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 r3664154 = -2.0;
        double r3664155 = J;
        double r3664156 = r3664154 * r3664155;
        double r3664157 = K;
        double r3664158 = 2.0;
        double r3664159 = r3664157 / r3664158;
        double r3664160 = cos(r3664159);
        double r3664161 = r3664156 * r3664160;
        double r3664162 = 1.0;
        double r3664163 = U;
        double r3664164 = r3664158 * r3664155;
        double r3664165 = r3664164 * r3664160;
        double r3664166 = r3664163 / r3664165;
        double r3664167 = pow(r3664166, r3664158);
        double r3664168 = r3664162 + r3664167;
        double r3664169 = sqrt(r3664168);
        double r3664170 = r3664161 * r3664169;
        return r3664170;
}

double f(double J, double K, double U) {
        double r3664171 = 1.0;
        double r3664172 = U;
        double r3664173 = K;
        double r3664174 = 2.0;
        double r3664175 = r3664173 / r3664174;
        double r3664176 = cos(r3664175);
        double r3664177 = J;
        double r3664178 = r3664177 * r3664174;
        double r3664179 = r3664176 * r3664178;
        double r3664180 = r3664172 / r3664179;
        double r3664181 = hypot(r3664171, r3664180);
        double r3664182 = -2.0;
        double r3664183 = r3664182 * r3664177;
        double r3664184 = r3664183 * r3664176;
        double r3664185 = r3664181 * r3664184;
        return r3664185;
}

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

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

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

Reproduce

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