Average Error: 18.0 → 8.1
Time: 29.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(\sqrt{1}, {\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\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(\sqrt{1}, {\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)
double f(double J, double K, double U) {
        double r5571917 = -2.0;
        double r5571918 = J;
        double r5571919 = r5571917 * r5571918;
        double r5571920 = K;
        double r5571921 = 2.0;
        double r5571922 = r5571920 / r5571921;
        double r5571923 = cos(r5571922);
        double r5571924 = r5571919 * r5571923;
        double r5571925 = 1.0;
        double r5571926 = U;
        double r5571927 = r5571921 * r5571918;
        double r5571928 = r5571927 * r5571923;
        double r5571929 = r5571926 / r5571928;
        double r5571930 = pow(r5571929, r5571921);
        double r5571931 = r5571925 + r5571930;
        double r5571932 = sqrt(r5571931);
        double r5571933 = r5571924 * r5571932;
        return r5571933;
}

double f(double J, double K, double U) {
        double r5571934 = 1.0;
        double r5571935 = sqrt(r5571934);
        double r5571936 = U;
        double r5571937 = J;
        double r5571938 = 2.0;
        double r5571939 = r5571937 * r5571938;
        double r5571940 = K;
        double r5571941 = r5571940 / r5571938;
        double r5571942 = cos(r5571941);
        double r5571943 = r5571939 * r5571942;
        double r5571944 = r5571936 / r5571943;
        double r5571945 = 2.0;
        double r5571946 = r5571938 / r5571945;
        double r5571947 = pow(r5571944, r5571946);
        double r5571948 = hypot(r5571935, r5571947);
        double r5571949 = -2.0;
        double r5571950 = r5571949 * r5571937;
        double r5571951 = r5571942 * r5571950;
        double r5571952 = r5571948 * r5571951;
        return r5571952;
}

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019171 +o rules:numerics
(FPCore (J K U)
  :name "Maksimov and Kolovsky, Equation (3)"
  (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))