Average Error: 17.1 → 17.5
Time: 3.2m
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 -3.8269945611061177 \cdot 10^{+216}:\\ \;\;\;\;-U\\ \mathbf{elif}\;U \le 2.4620727543234585 \cdot 10^{+85}:\\ \;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(\sqrt{\frac{\frac{U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2} \cdot U}{\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot 2} + 1} \cdot -2\right)\\ \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 -3.8269945611061177 \cdot 10^{+216}:\\
\;\;\;\;-U\\

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

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

\end{array}
double f(double J, double K, double U) {
        double r31786585 = -2.0;
        double r31786586 = J;
        double r31786587 = r31786585 * r31786586;
        double r31786588 = K;
        double r31786589 = 2.0;
        double r31786590 = r31786588 / r31786589;
        double r31786591 = cos(r31786590);
        double r31786592 = r31786587 * r31786591;
        double r31786593 = 1.0;
        double r31786594 = U;
        double r31786595 = r31786589 * r31786586;
        double r31786596 = r31786595 * r31786591;
        double r31786597 = r31786594 / r31786596;
        double r31786598 = pow(r31786597, r31786589);
        double r31786599 = r31786593 + r31786598;
        double r31786600 = sqrt(r31786599);
        double r31786601 = r31786592 * r31786600;
        return r31786601;
}

double f(double J, double K, double U) {
        double r31786602 = U;
        double r31786603 = -3.8269945611061177e+216;
        bool r31786604 = r31786602 <= r31786603;
        double r31786605 = -r31786602;
        double r31786606 = 2.4620727543234585e+85;
        bool r31786607 = r31786602 <= r31786606;
        double r31786608 = K;
        double r31786609 = 2.0;
        double r31786610 = r31786608 / r31786609;
        double r31786611 = cos(r31786610);
        double r31786612 = J;
        double r31786613 = r31786611 * r31786612;
        double r31786614 = r31786613 * r31786609;
        double r31786615 = r31786602 / r31786614;
        double r31786616 = r31786615 * r31786602;
        double r31786617 = r31786616 / r31786614;
        double r31786618 = 1.0;
        double r31786619 = r31786617 + r31786618;
        double r31786620 = sqrt(r31786619);
        double r31786621 = -2.0;
        double r31786622 = r31786620 * r31786621;
        double r31786623 = r31786613 * r31786622;
        double r31786624 = r31786607 ? r31786623 : r31786605;
        double r31786625 = r31786604 ? r31786605 : r31786624;
        return r31786625;
}

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 < -3.8269945611061177e+216 or 2.4620727543234585e+85 < U

    1. Initial program 36.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. Simplified36.1

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

      \[\leadsto \color{blue}{-1 \cdot U}\]
    4. Simplified37.2

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

    if -3.8269945611061177e+216 < U < 2.4620727543234585e+85

    1. Initial program 10.7

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

      \[\leadsto \color{blue}{\left(\sqrt{\frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} \cdot \frac{U}{2 \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)} + 1} \cdot -2\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)}\]
    3. Using strategy rm
    4. Applied associate-*l/10.9

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

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

Reproduce

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