Average Error: 18.6 → 8.6
Time: 20.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}}\]
\[\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(\sqrt{1}, {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{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}}
\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \mathsf{hypot}\left(\sqrt{1}, {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right)
double f(double J, double K, double U) {
        double r197388 = -2.0;
        double r197389 = J;
        double r197390 = r197388 * r197389;
        double r197391 = K;
        double r197392 = 2.0;
        double r197393 = r197391 / r197392;
        double r197394 = cos(r197393);
        double r197395 = r197390 * r197394;
        double r197396 = 1.0;
        double r197397 = U;
        double r197398 = r197392 * r197389;
        double r197399 = r197398 * r197394;
        double r197400 = r197397 / r197399;
        double r197401 = pow(r197400, r197392);
        double r197402 = r197396 + r197401;
        double r197403 = sqrt(r197402);
        double r197404 = r197395 * r197403;
        return r197404;
}

double f(double J, double K, double U) {
        double r197405 = -2.0;
        double r197406 = J;
        double r197407 = r197405 * r197406;
        double r197408 = K;
        double r197409 = 2.0;
        double r197410 = r197408 / r197409;
        double r197411 = cos(r197410);
        double r197412 = r197407 * r197411;
        double r197413 = 1.0;
        double r197414 = sqrt(r197413);
        double r197415 = U;
        double r197416 = r197409 * r197406;
        double r197417 = r197416 * r197411;
        double r197418 = r197415 / r197417;
        double r197419 = 2.0;
        double r197420 = r197409 / r197419;
        double r197421 = pow(r197418, r197420);
        double r197422 = hypot(r197414, r197421);
        double r197423 = r197412 * r197422;
        return r197423;
}

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 18.6

    \[\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. Using strategy rm
  3. Applied sqr-pow18.6

    \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + \color{blue}{{\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}}}\]
  4. Applied add-sqr-sqrt18.6

    \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\color{blue}{\sqrt{1} \cdot \sqrt{1}} + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}}\]
  5. Applied hypot-def8.6

    \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \color{blue}{\mathsf{hypot}\left(\sqrt{1}, {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right)}\]
  6. Final simplification8.6

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

Reproduce

herbie shell --seed 2020046 +o rules:numerics
(FPCore (J K U)
  :name "Maksimov and Kolovsky, Equation (3)"
  :precision binary64
  (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))