Average Error: 16.9 → 7.9
Time: 31.3s
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}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\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}{\left(\cos \left(\frac{K}{2}\right) \cdot 2\right) \cdot J}\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 r2907134 = -2.0;
        double r2907135 = J;
        double r2907136 = r2907134 * r2907135;
        double r2907137 = K;
        double r2907138 = 2.0;
        double r2907139 = r2907137 / r2907138;
        double r2907140 = cos(r2907139);
        double r2907141 = r2907136 * r2907140;
        double r2907142 = 1.0;
        double r2907143 = U;
        double r2907144 = r2907138 * r2907135;
        double r2907145 = r2907144 * r2907140;
        double r2907146 = r2907143 / r2907145;
        double r2907147 = pow(r2907146, r2907138);
        double r2907148 = r2907142 + r2907147;
        double r2907149 = sqrt(r2907148);
        double r2907150 = r2907141 * r2907149;
        return r2907150;
}

double f(double J, double K, double U) {
        double r2907151 = 1.0;
        double r2907152 = U;
        double r2907153 = K;
        double r2907154 = 2.0;
        double r2907155 = r2907153 / r2907154;
        double r2907156 = cos(r2907155);
        double r2907157 = r2907156 * r2907154;
        double r2907158 = J;
        double r2907159 = r2907157 * r2907158;
        double r2907160 = r2907152 / r2907159;
        double r2907161 = hypot(r2907151, r2907160);
        double r2907162 = -2.0;
        double r2907163 = r2907162 * r2907158;
        double r2907164 = r2907163 * r2907156;
        double r2907165 = r2907161 * r2907164;
        return r2907165;
}

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 16.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. Simplified7.9

    \[\leadsto \color{blue}{\mathsf{hypot}\left(1, \frac{U}{J \cdot \left(\cos \left(\frac{K}{2}\right) \cdot 2\right)}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)}\]
  3. Final simplification7.9

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

Reproduce

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