Average Error: 18.2 → 13.4
Time: 24.4s
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}}\]
\[\begin{array}{l} \mathbf{if}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty \lor \neg \left(\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 2.244675710290484290041534899569494647164 \cdot 10^{307}\right):\\ \;\;\;\;\left(\frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)} \cdot \frac{U}{J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]
\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}}
\begin{array}{l}
\mathbf{if}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty \lor \neg \left(\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 2.244675710290484290041534899569494647164 \cdot 10^{307}\right):\\
\;\;\;\;\left(\frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)} \cdot \frac{U}{J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\

\end{array}
double f(double J, double K, double U) {
        double r116925 = -2.0;
        double r116926 = J;
        double r116927 = r116925 * r116926;
        double r116928 = K;
        double r116929 = 2.0;
        double r116930 = r116928 / r116929;
        double r116931 = cos(r116930);
        double r116932 = r116927 * r116931;
        double r116933 = 1.0;
        double r116934 = U;
        double r116935 = r116929 * r116926;
        double r116936 = r116935 * r116931;
        double r116937 = r116934 / r116936;
        double r116938 = pow(r116937, r116929);
        double r116939 = r116933 + r116938;
        double r116940 = sqrt(r116939);
        double r116941 = r116932 * r116940;
        return r116941;
}

double f(double J, double K, double U) {
        double r116942 = U;
        double r116943 = J;
        double r116944 = 2.0;
        double r116945 = r116943 * r116944;
        double r116946 = K;
        double r116947 = r116946 / r116944;
        double r116948 = cos(r116947);
        double r116949 = r116945 * r116948;
        double r116950 = r116942 / r116949;
        double r116951 = pow(r116950, r116944);
        double r116952 = 1.0;
        double r116953 = r116951 + r116952;
        double r116954 = sqrt(r116953);
        double r116955 = -2.0;
        double r116956 = r116955 * r116943;
        double r116957 = r116948 * r116956;
        double r116958 = r116954 * r116957;
        double r116959 = -inf.0;
        bool r116960 = r116958 <= r116959;
        double r116961 = 2.2446757102904843e+307;
        bool r116962 = r116958 <= r116961;
        double r116963 = !r116962;
        bool r116964 = r116960 || r116963;
        double r116965 = 0.25;
        double r116966 = sqrt(r116965);
        double r116967 = 0.5;
        double r116968 = r116967 * r116946;
        double r116969 = cos(r116968);
        double r116970 = r116966 / r116969;
        double r116971 = r116942 / r116943;
        double r116972 = r116970 * r116971;
        double r116973 = r116972 * r116957;
        double r116974 = r116964 ? r116973 : r116958;
        return r116974;
}

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. Split input into 2 regimes
  2. if (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < -inf.0 or 2.2446757102904843e+307 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0))))

    1. Initial program 63.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. Taylor expanded around inf 46.8

      \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \color{blue}{\frac{\sqrt{0.25} \cdot U}{\cos \left(0.5 \cdot K\right) \cdot J}}\]
    3. Simplified46.8

      \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \color{blue}{\left(\frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)} \cdot \frac{U}{J}\right)}\]

    if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 2.2446757102904843e+307

    1. Initial program 0.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}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification13.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty \lor \neg \left(\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 2.244675710290484290041534899569494647164 \cdot 10^{307}\right):\\ \;\;\;\;\left(\frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)} \cdot \frac{U}{J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019179 
(FPCore (J K U)
  :name "Maksimov and Kolovsky, Equation (3)"
  (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))))