Average Error: 17.5 → 7.7
Time: 35.9s
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 r3786834 = -2.0;
        double r3786835 = J;
        double r3786836 = r3786834 * r3786835;
        double r3786837 = K;
        double r3786838 = 2.0;
        double r3786839 = r3786837 / r3786838;
        double r3786840 = cos(r3786839);
        double r3786841 = r3786836 * r3786840;
        double r3786842 = 1.0;
        double r3786843 = U;
        double r3786844 = r3786838 * r3786835;
        double r3786845 = r3786844 * r3786840;
        double r3786846 = r3786843 / r3786845;
        double r3786847 = pow(r3786846, r3786838);
        double r3786848 = r3786842 + r3786847;
        double r3786849 = sqrt(r3786848);
        double r3786850 = r3786841 * r3786849;
        return r3786850;
}

double f(double J, double K, double U) {
        double r3786851 = 1.0;
        double r3786852 = U;
        double r3786853 = K;
        double r3786854 = 2.0;
        double r3786855 = r3786853 / r3786854;
        double r3786856 = cos(r3786855);
        double r3786857 = J;
        double r3786858 = r3786857 * r3786854;
        double r3786859 = r3786856 * r3786858;
        double r3786860 = r3786852 / r3786859;
        double r3786861 = hypot(r3786851, r3786860);
        double r3786862 = -2.0;
        double r3786863 = r3786862 * r3786857;
        double r3786864 = r3786863 * r3786856;
        double r3786865 = r3786861 * r3786864;
        return r3786865;
}

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

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

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

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