Average Error: 17.9 → 8.0
Time: 19.8s
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(2 \cdot J\right)}\right) \cdot \left(\left(J \cdot -2\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(2 \cdot J\right)}\right) \cdot \left(\left(J \cdot -2\right) \cdot \cos \left(\frac{K}{2}\right)\right)
double f(double J, double K, double U) {
        double r2184121 = -2.0;
        double r2184122 = J;
        double r2184123 = r2184121 * r2184122;
        double r2184124 = K;
        double r2184125 = 2.0;
        double r2184126 = r2184124 / r2184125;
        double r2184127 = cos(r2184126);
        double r2184128 = r2184123 * r2184127;
        double r2184129 = 1.0;
        double r2184130 = U;
        double r2184131 = r2184125 * r2184122;
        double r2184132 = r2184131 * r2184127;
        double r2184133 = r2184130 / r2184132;
        double r2184134 = pow(r2184133, r2184125);
        double r2184135 = r2184129 + r2184134;
        double r2184136 = sqrt(r2184135);
        double r2184137 = r2184128 * r2184136;
        return r2184137;
}

double f(double J, double K, double U) {
        double r2184138 = 1.0;
        double r2184139 = U;
        double r2184140 = K;
        double r2184141 = 2.0;
        double r2184142 = r2184140 / r2184141;
        double r2184143 = cos(r2184142);
        double r2184144 = J;
        double r2184145 = r2184141 * r2184144;
        double r2184146 = r2184143 * r2184145;
        double r2184147 = r2184139 / r2184146;
        double r2184148 = hypot(r2184138, r2184147);
        double r2184149 = -2.0;
        double r2184150 = r2184144 * r2184149;
        double r2184151 = r2184150 * r2184143;
        double r2184152 = r2184148 * r2184151;
        return r2184152;
}

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

    \[\leadsto \color{blue}{\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\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 simplification8.0

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

Reproduce

herbie shell --seed 2019156 +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)))))