Average Error: 17.1 → 17.3
Time: 2.5m
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 3.6074695776793314 \cdot 10^{-267}:\\ \;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \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)}}\right)\\ \mathbf{elif}\;J \le 1.9290592883268698 \cdot 10^{-140}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \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)}}\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 3.6074695776793314 \cdot 10^{-267}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \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)}}\right)\\

\mathbf{elif}\;J \le 1.9290592883268698 \cdot 10^{-140}:\\
\;\;\;\;-U\\

\mathbf{else}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(-2 \cdot \sqrt{1 + \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)}}\right)\\

\end{array}
double f(double J, double K, double U) {
        double r25084084 = -2.0;
        double r25084085 = J;
        double r25084086 = r25084084 * r25084085;
        double r25084087 = K;
        double r25084088 = 2.0;
        double r25084089 = r25084087 / r25084088;
        double r25084090 = cos(r25084089);
        double r25084091 = r25084086 * r25084090;
        double r25084092 = 1.0;
        double r25084093 = U;
        double r25084094 = r25084088 * r25084085;
        double r25084095 = r25084094 * r25084090;
        double r25084096 = r25084093 / r25084095;
        double r25084097 = pow(r25084096, r25084088);
        double r25084098 = r25084092 + r25084097;
        double r25084099 = sqrt(r25084098);
        double r25084100 = r25084091 * r25084099;
        return r25084100;
}

double f(double J, double K, double U) {
        double r25084101 = J;
        double r25084102 = 3.6074695776793314e-267;
        bool r25084103 = r25084101 <= r25084102;
        double r25084104 = K;
        double r25084105 = 2.0;
        double r25084106 = r25084104 / r25084105;
        double r25084107 = cos(r25084106);
        double r25084108 = r25084107 * r25084101;
        double r25084109 = -2.0;
        double r25084110 = 1.0;
        double r25084111 = U;
        double r25084112 = r25084105 * r25084108;
        double r25084113 = r25084111 / r25084112;
        double r25084114 = r25084113 * r25084113;
        double r25084115 = r25084110 + r25084114;
        double r25084116 = sqrt(r25084115);
        double r25084117 = r25084109 * r25084116;
        double r25084118 = r25084108 * r25084117;
        double r25084119 = 1.9290592883268698e-140;
        bool r25084120 = r25084101 <= r25084119;
        double r25084121 = -r25084111;
        double r25084122 = r25084120 ? r25084121 : r25084118;
        double r25084123 = r25084103 ? r25084118 : r25084122;
        return r25084123;
}

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 < 3.6074695776793314e-267 or 1.9290592883268698e-140 < J

    1. Initial program 14.9

      \[\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. Simplified14.9

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

    if 3.6074695776793314e-267 < J < 1.9290592883268698e-140

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

      \[\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-*r*36.0

      \[\leadsto \color{blue}{\left(\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 \cos \left(\frac{K}{2}\right)\right) \cdot J}\]
    5. Taylor expanded around inf 37.5

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

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

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

Reproduce

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