Average Error: 17.4 → 7.7
Time: 32.9s
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 r3568184 = -2.0;
        double r3568185 = J;
        double r3568186 = r3568184 * r3568185;
        double r3568187 = K;
        double r3568188 = 2.0;
        double r3568189 = r3568187 / r3568188;
        double r3568190 = cos(r3568189);
        double r3568191 = r3568186 * r3568190;
        double r3568192 = 1.0;
        double r3568193 = U;
        double r3568194 = r3568188 * r3568185;
        double r3568195 = r3568194 * r3568190;
        double r3568196 = r3568193 / r3568195;
        double r3568197 = pow(r3568196, r3568188);
        double r3568198 = r3568192 + r3568197;
        double r3568199 = sqrt(r3568198);
        double r3568200 = r3568191 * r3568199;
        return r3568200;
}

double f(double J, double K, double U) {
        double r3568201 = 1.0;
        double r3568202 = U;
        double r3568203 = K;
        double r3568204 = 2.0;
        double r3568205 = r3568203 / r3568204;
        double r3568206 = cos(r3568205);
        double r3568207 = J;
        double r3568208 = r3568207 * r3568204;
        double r3568209 = r3568206 * r3568208;
        double r3568210 = r3568202 / r3568209;
        double r3568211 = hypot(r3568201, r3568210);
        double r3568212 = -2.0;
        double r3568213 = r3568212 * r3568207;
        double r3568214 = r3568213 * r3568206;
        double r3568215 = r3568211 * r3568214;
        return r3568215;
}

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

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

    \[\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 2019141 +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)))))