Average Error: 17.4 → 7.4
Time: 15.4s
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 r141684 = -2.0;
        double r141685 = J;
        double r141686 = r141684 * r141685;
        double r141687 = K;
        double r141688 = 2.0;
        double r141689 = r141687 / r141688;
        double r141690 = cos(r141689);
        double r141691 = r141686 * r141690;
        double r141692 = 1.0;
        double r141693 = U;
        double r141694 = r141688 * r141685;
        double r141695 = r141694 * r141690;
        double r141696 = r141693 / r141695;
        double r141697 = pow(r141696, r141688);
        double r141698 = r141692 + r141697;
        double r141699 = sqrt(r141698);
        double r141700 = r141691 * r141699;
        return r141700;
}

double f(double J, double K, double U) {
        double r141701 = -2.0;
        double r141702 = J;
        double r141703 = r141701 * r141702;
        double r141704 = K;
        double r141705 = 2.0;
        double r141706 = r141704 / r141705;
        double r141707 = cos(r141706);
        double r141708 = r141703 * r141707;
        double r141709 = 1.0;
        double r141710 = sqrt(r141709);
        double r141711 = U;
        double r141712 = r141705 * r141702;
        double r141713 = r141712 * r141707;
        double r141714 = r141711 / r141713;
        double r141715 = 2.0;
        double r141716 = r141705 / r141715;
        double r141717 = pow(r141714, r141716);
        double r141718 = hypot(r141710, r141717);
        double r141719 = r141708 * r141718;
        return r141719;
}

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. Using strategy rm
  3. Applied sqr-pow17.4

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

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

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

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