Average Error: 18.0 → 18.0
Time: 26.8s
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 1.534064784477960541165649773606574633982 \cdot 10^{257}:\\ \;\;\;\;\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{\frac{U}{2 \cdot J}}{\cos \left(\frac{K}{2}\right)}\right)}^{2}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{0.25} \cdot U}{J \cdot \cos \left(0.5 \cdot K\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}\;U \le 1.534064784477960541165649773606574633982 \cdot 10^{257}:\\
\;\;\;\;\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{\frac{U}{2 \cdot J}}{\cos \left(\frac{K}{2}\right)}\right)}^{2}}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{0.25} \cdot U}{J \cdot \cos \left(0.5 \cdot K\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 r5094619 = -2.0;
        double r5094620 = J;
        double r5094621 = r5094619 * r5094620;
        double r5094622 = K;
        double r5094623 = 2.0;
        double r5094624 = r5094622 / r5094623;
        double r5094625 = cos(r5094624);
        double r5094626 = r5094621 * r5094625;
        double r5094627 = 1.0;
        double r5094628 = U;
        double r5094629 = r5094623 * r5094620;
        double r5094630 = r5094629 * r5094625;
        double r5094631 = r5094628 / r5094630;
        double r5094632 = pow(r5094631, r5094623);
        double r5094633 = r5094627 + r5094632;
        double r5094634 = sqrt(r5094633);
        double r5094635 = r5094626 * r5094634;
        return r5094635;
}

double f(double J, double K, double U) {
        double r5094636 = U;
        double r5094637 = 1.5340647844779605e+257;
        bool r5094638 = r5094636 <= r5094637;
        double r5094639 = -2.0;
        double r5094640 = J;
        double r5094641 = r5094639 * r5094640;
        double r5094642 = K;
        double r5094643 = 2.0;
        double r5094644 = r5094642 / r5094643;
        double r5094645 = cos(r5094644);
        double r5094646 = 1.0;
        double r5094647 = r5094643 * r5094640;
        double r5094648 = r5094636 / r5094647;
        double r5094649 = r5094648 / r5094645;
        double r5094650 = pow(r5094649, r5094643);
        double r5094651 = r5094646 + r5094650;
        double r5094652 = sqrt(r5094651);
        double r5094653 = r5094645 * r5094652;
        double r5094654 = r5094641 * r5094653;
        double r5094655 = 0.25;
        double r5094656 = sqrt(r5094655);
        double r5094657 = r5094656 * r5094636;
        double r5094658 = 0.5;
        double r5094659 = r5094658 * r5094642;
        double r5094660 = cos(r5094659);
        double r5094661 = r5094640 * r5094660;
        double r5094662 = r5094657 / r5094661;
        double r5094663 = r5094645 * r5094641;
        double r5094664 = r5094662 * r5094663;
        double r5094665 = r5094638 ? r5094654 : r5094664;
        return r5094665;
}

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 < 1.5340647844779605e+257

    1. Initial program 16.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. Using strategy rm
    3. Applied associate-*l*16.7

      \[\leadsto \color{blue}{\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\right)}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity16.7

      \[\leadsto \left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{\color{blue}{\left(1 \cdot 2\right)}}}\right)\]
    6. Applied pow-unpow16.7

      \[\leadsto \left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + \color{blue}{{\left({\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{1}\right)}^{2}}}\right)\]
    7. Simplified16.7

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

    if 1.5340647844779605e+257 < U

    1. Initial program 46.0

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

      \[\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. Recombined 2 regimes into one program.
  4. Final simplification18.0

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

Reproduce

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