Average Error: 17.5 → 7.7
Time: 26.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}}\]
\[\left(\cos \left(\frac{K}{2}\right) \cdot \mathsf{hypot}\left(1, \frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)\right) \cdot \left(J \cdot -2\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}}
\left(\cos \left(\frac{K}{2}\right) \cdot \mathsf{hypot}\left(1, \frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)\right) \cdot \left(J \cdot -2\right)
double f(double J, double K, double U) {
        double r2017313 = -2.0;
        double r2017314 = J;
        double r2017315 = r2017313 * r2017314;
        double r2017316 = K;
        double r2017317 = 2.0;
        double r2017318 = r2017316 / r2017317;
        double r2017319 = cos(r2017318);
        double r2017320 = r2017315 * r2017319;
        double r2017321 = 1.0;
        double r2017322 = U;
        double r2017323 = r2017317 * r2017314;
        double r2017324 = r2017323 * r2017319;
        double r2017325 = r2017322 / r2017324;
        double r2017326 = pow(r2017325, r2017317);
        double r2017327 = r2017321 + r2017326;
        double r2017328 = sqrt(r2017327);
        double r2017329 = r2017320 * r2017328;
        return r2017329;
}

double f(double J, double K, double U) {
        double r2017330 = K;
        double r2017331 = 2.0;
        double r2017332 = r2017330 / r2017331;
        double r2017333 = cos(r2017332);
        double r2017334 = 1.0;
        double r2017335 = U;
        double r2017336 = r2017335 / r2017331;
        double r2017337 = J;
        double r2017338 = r2017336 / r2017337;
        double r2017339 = r2017338 / r2017333;
        double r2017340 = hypot(r2017334, r2017339);
        double r2017341 = r2017333 * r2017340;
        double r2017342 = -2.0;
        double r2017343 = r2017337 * r2017342;
        double r2017344 = r2017341 * r2017343;
        return r2017344;
}

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(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. Using strategy rm
  4. Applied associate-*r*7.8

    \[\leadsto \color{blue}{\left(\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \left(-2 \cdot J\right)}\]
  5. Using strategy rm
  6. Applied *-un-lft-identity7.8

    \[\leadsto \left(\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right) \cdot \color{blue}{\left(1 \cdot \cos \left(\frac{K}{2}\right)\right)}\right) \cdot \left(-2 \cdot J\right)\]
  7. Applied associate-*r*7.8

    \[\leadsto \color{blue}{\left(\left(\mathsf{hypot}\left(1, \frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right) \cdot 1\right) \cdot \cos \left(\frac{K}{2}\right)\right)} \cdot \left(-2 \cdot J\right)\]
  8. Simplified7.7

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

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

Reproduce

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