Average Error: 17.9 → 7.9
Time: 32.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, \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 r4738430 = -2.0;
        double r4738431 = J;
        double r4738432 = r4738430 * r4738431;
        double r4738433 = K;
        double r4738434 = 2.0;
        double r4738435 = r4738433 / r4738434;
        double r4738436 = cos(r4738435);
        double r4738437 = r4738432 * r4738436;
        double r4738438 = 1.0;
        double r4738439 = U;
        double r4738440 = r4738434 * r4738431;
        double r4738441 = r4738440 * r4738436;
        double r4738442 = r4738439 / r4738441;
        double r4738443 = pow(r4738442, r4738434);
        double r4738444 = r4738438 + r4738443;
        double r4738445 = sqrt(r4738444);
        double r4738446 = r4738437 * r4738445;
        return r4738446;
}

double f(double J, double K, double U) {
        double r4738447 = 1.0;
        double r4738448 = U;
        double r4738449 = K;
        double r4738450 = 2.0;
        double r4738451 = r4738449 / r4738450;
        double r4738452 = cos(r4738451);
        double r4738453 = J;
        double r4738454 = r4738453 * r4738450;
        double r4738455 = r4738452 * r4738454;
        double r4738456 = r4738448 / r4738455;
        double r4738457 = hypot(r4738447, r4738456);
        double r4738458 = -2.0;
        double r4738459 = r4738458 * r4738453;
        double r4738460 = r4738459 * r4738452;
        double r4738461 = r4738457 * r4738460;
        return r4738461;
}

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

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

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

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