Average Error: 17.6 → 13.1
Time: 26.7s
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:\\ \;\;\;\;\frac{\frac{\frac{U}{\cos \left(\frac{K}{2}\right)}}{J}}{2} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;\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 9.772062440602805 \cdot 10^{+307}:\\ \;\;\;\;\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)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{U}{\cos \left(\frac{K}{2}\right)}}{J}}{2} \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:\\
\;\;\;\;\frac{\frac{\frac{U}{\cos \left(\frac{K}{2}\right)}}{J}}{2} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\

\mathbf{elif}\;\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 9.772062440602805 \cdot 10^{+307}:\\
\;\;\;\;\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)\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{U}{\cos \left(\frac{K}{2}\right)}}{J}}{2} \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 r5290054 = -2.0;
        double r5290055 = J;
        double r5290056 = r5290054 * r5290055;
        double r5290057 = K;
        double r5290058 = 2.0;
        double r5290059 = r5290057 / r5290058;
        double r5290060 = cos(r5290059);
        double r5290061 = r5290056 * r5290060;
        double r5290062 = 1.0;
        double r5290063 = U;
        double r5290064 = r5290058 * r5290055;
        double r5290065 = r5290064 * r5290060;
        double r5290066 = r5290063 / r5290065;
        double r5290067 = pow(r5290066, r5290058);
        double r5290068 = r5290062 + r5290067;
        double r5290069 = sqrt(r5290068);
        double r5290070 = r5290061 * r5290069;
        return r5290070;
}

double f(double J, double K, double U) {
        double r5290071 = U;
        double r5290072 = J;
        double r5290073 = 2.0;
        double r5290074 = r5290072 * r5290073;
        double r5290075 = K;
        double r5290076 = r5290075 / r5290073;
        double r5290077 = cos(r5290076);
        double r5290078 = r5290074 * r5290077;
        double r5290079 = r5290071 / r5290078;
        double r5290080 = pow(r5290079, r5290073);
        double r5290081 = 1.0;
        double r5290082 = r5290080 + r5290081;
        double r5290083 = sqrt(r5290082);
        double r5290084 = -2.0;
        double r5290085 = r5290084 * r5290072;
        double r5290086 = r5290077 * r5290085;
        double r5290087 = r5290083 * r5290086;
        double r5290088 = -inf.0;
        bool r5290089 = r5290087 <= r5290088;
        double r5290090 = r5290071 / r5290077;
        double r5290091 = r5290090 / r5290072;
        double r5290092 = r5290091 / r5290073;
        double r5290093 = r5290092 * r5290086;
        double r5290094 = 9.772062440602805e+307;
        bool r5290095 = r5290087 <= r5290094;
        double r5290096 = r5290095 ? r5290087 : r5290093;
        double r5290097 = r5290089 ? r5290093 : r5290096;
        return r5290097;
}

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 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < -inf.0 or 9.772062440602805e+307 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

    1. Initial program 60.4

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

      \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \color{blue}{\left(\frac{1}{2} \cdot \frac{U}{\cos \left(\frac{1}{2} \cdot K\right) \cdot J}\right)}\]
    3. Simplified45.1

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

    if -inf.0 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < 9.772062440602805e+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.1

    \[\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:\\ \;\;\;\;\frac{\frac{\frac{U}{\cos \left(\frac{K}{2}\right)}}{J}}{2} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;\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 9.772062440602805 \cdot 10^{+307}:\\ \;\;\;\;\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)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{U}{\cos \left(\frac{K}{2}\right)}}{J}}{2} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019162 
(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)))))