Average Error: 17.1 → 7.3
Time: 35.6s
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 r4635103 = -2.0;
        double r4635104 = J;
        double r4635105 = r4635103 * r4635104;
        double r4635106 = K;
        double r4635107 = 2.0;
        double r4635108 = r4635106 / r4635107;
        double r4635109 = cos(r4635108);
        double r4635110 = r4635105 * r4635109;
        double r4635111 = 1.0;
        double r4635112 = U;
        double r4635113 = r4635107 * r4635104;
        double r4635114 = r4635113 * r4635109;
        double r4635115 = r4635112 / r4635114;
        double r4635116 = pow(r4635115, r4635107);
        double r4635117 = r4635111 + r4635116;
        double r4635118 = sqrt(r4635117);
        double r4635119 = r4635110 * r4635118;
        return r4635119;
}

double f(double J, double K, double U) {
        double r4635120 = 1.0;
        double r4635121 = U;
        double r4635122 = K;
        double r4635123 = 2.0;
        double r4635124 = r4635122 / r4635123;
        double r4635125 = cos(r4635124);
        double r4635126 = J;
        double r4635127 = r4635126 * r4635123;
        double r4635128 = r4635125 * r4635127;
        double r4635129 = r4635121 / r4635128;
        double r4635130 = hypot(r4635120, r4635129);
        double r4635131 = -2.0;
        double r4635132 = r4635131 * r4635126;
        double r4635133 = r4635132 * r4635125;
        double r4635134 = r4635130 * r4635133;
        return r4635134;
}

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

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

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

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