Average Error: 17.2 → 16.4
Time: 31.0s
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}\;U \le -7.058933556787815 \cdot 10^{+257}:\\ \;\;\;\;-U\\ \mathbf{elif}\;U \le 5.984451745017958 \cdot 10^{+172}:\\ \;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\ \mathbf{else}:\\ \;\;\;\;-U\\ \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}\;U \le -7.058933556787815 \cdot 10^{+257}:\\
\;\;\;\;-U\\

\mathbf{elif}\;U \le 5.984451745017958 \cdot 10^{+172}:\\
\;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\

\mathbf{else}:\\
\;\;\;\;-U\\

\end{array}
double f(double J, double K, double U) {
        double r4529861 = -2.0;
        double r4529862 = J;
        double r4529863 = r4529861 * r4529862;
        double r4529864 = K;
        double r4529865 = 2.0;
        double r4529866 = r4529864 / r4529865;
        double r4529867 = cos(r4529866);
        double r4529868 = r4529863 * r4529867;
        double r4529869 = 1.0;
        double r4529870 = U;
        double r4529871 = r4529865 * r4529862;
        double r4529872 = r4529871 * r4529867;
        double r4529873 = r4529870 / r4529872;
        double r4529874 = pow(r4529873, r4529865);
        double r4529875 = r4529869 + r4529874;
        double r4529876 = sqrt(r4529875);
        double r4529877 = r4529868 * r4529876;
        return r4529877;
}

double f(double J, double K, double U) {
        double r4529878 = U;
        double r4529879 = -7.058933556787815e+257;
        bool r4529880 = r4529878 <= r4529879;
        double r4529881 = -r4529878;
        double r4529882 = 5.984451745017958e+172;
        bool r4529883 = r4529878 <= r4529882;
        double r4529884 = -2.0;
        double r4529885 = J;
        double r4529886 = r4529884 * r4529885;
        double r4529887 = K;
        double r4529888 = 2.0;
        double r4529889 = r4529887 / r4529888;
        double r4529890 = cos(r4529889);
        double r4529891 = r4529886 * r4529890;
        double r4529892 = r4529888 * r4529885;
        double r4529893 = r4529890 * r4529892;
        double r4529894 = r4529878 / r4529893;
        double r4529895 = r4529894 * r4529894;
        double r4529896 = 1.0;
        double r4529897 = r4529895 + r4529896;
        double r4529898 = sqrt(r4529897);
        double r4529899 = r4529891 * r4529898;
        double r4529900 = r4529883 ? r4529899 : r4529881;
        double r4529901 = r4529880 ? r4529881 : r4529900;
        return r4529901;
}

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 U < -7.058933556787815e+257 or 5.984451745017958e+172 < U

    1. Initial program 40.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}}\]
    2. Simplified40.1

      \[\leadsto \color{blue}{\sqrt{\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)}\]
    3. Taylor expanded around inf 34.7

      \[\leadsto \color{blue}{-1 \cdot U}\]
    4. Simplified34.7

      \[\leadsto \color{blue}{-U}\]

    if -7.058933556787815e+257 < U < 5.984451745017958e+172

    1. Initial program 13.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}}\]
    2. Simplified13.1

      \[\leadsto \color{blue}{\sqrt{\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)} \cdot \frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification16.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -7.058933556787815 \cdot 10^{+257}:\\ \;\;\;\;-U\\ \mathbf{elif}\;U \le 5.984451745017958 \cdot 10^{+172}:\\ \;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\ \mathbf{else}:\\ \;\;\;\;-U\\ \end{array}\]

Reproduce

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