Average Error: 17.1 → 17.3
Time: 49.5s
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}\;J \le -2.1661330982400293 \cdot 10^{-176}:\\ \;\;\;\;\sqrt{1 + \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)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;J \le -3.513211526895522 \cdot 10^{-238}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\sqrt{1 + \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)}} \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}\;J \le -2.1661330982400293 \cdot 10^{-176}:\\
\;\;\;\;\sqrt{1 + \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)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\

\mathbf{elif}\;J \le -3.513211526895522 \cdot 10^{-238}:\\
\;\;\;\;-U\\

\mathbf{else}:\\
\;\;\;\;\sqrt{1 + \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)}} \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 r4210682 = -2.0;
        double r4210683 = J;
        double r4210684 = r4210682 * r4210683;
        double r4210685 = K;
        double r4210686 = 2.0;
        double r4210687 = r4210685 / r4210686;
        double r4210688 = cos(r4210687);
        double r4210689 = r4210684 * r4210688;
        double r4210690 = 1.0;
        double r4210691 = U;
        double r4210692 = r4210686 * r4210683;
        double r4210693 = r4210692 * r4210688;
        double r4210694 = r4210691 / r4210693;
        double r4210695 = pow(r4210694, r4210686);
        double r4210696 = r4210690 + r4210695;
        double r4210697 = sqrt(r4210696);
        double r4210698 = r4210689 * r4210697;
        return r4210698;
}

double f(double J, double K, double U) {
        double r4210699 = J;
        double r4210700 = -2.1661330982400293e-176;
        bool r4210701 = r4210699 <= r4210700;
        double r4210702 = 1.0;
        double r4210703 = U;
        double r4210704 = K;
        double r4210705 = 2.0;
        double r4210706 = r4210704 / r4210705;
        double r4210707 = cos(r4210706);
        double r4210708 = r4210705 * r4210699;
        double r4210709 = r4210707 * r4210708;
        double r4210710 = r4210703 / r4210709;
        double r4210711 = r4210710 * r4210710;
        double r4210712 = r4210702 + r4210711;
        double r4210713 = sqrt(r4210712);
        double r4210714 = -2.0;
        double r4210715 = r4210714 * r4210699;
        double r4210716 = r4210707 * r4210715;
        double r4210717 = r4210713 * r4210716;
        double r4210718 = -3.513211526895522e-238;
        bool r4210719 = r4210699 <= r4210718;
        double r4210720 = -r4210703;
        double r4210721 = r4210719 ? r4210720 : r4210717;
        double r4210722 = r4210701 ? r4210717 : r4210721;
        return r4210722;
}

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 J < -2.1661330982400293e-176 or -3.513211526895522e-238 < J

    1. Initial program 16.3

      \[\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. Simplified16.3

      \[\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)}\]

    if -2.1661330982400293e-176 < J < -3.513211526895522e-238

    1. Initial program 33.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. Simplified33.4

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

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

      \[\leadsto \color{blue}{-U}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification17.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;J \le -2.1661330982400293 \cdot 10^{-176}:\\ \;\;\;\;\sqrt{1 + \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)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;J \le -3.513211526895522 \cdot 10^{-238}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\sqrt{1 + \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)}} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]

Reproduce

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