Average Error: 17.0 → 15.6
Time: 52.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 -1.7519438251008617 \cdot 10^{-206}:\\ \;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \cdot \sqrt{\frac{U}{\left(\cos \left(\frac{1}{2} \cdot K\right) \cdot J\right) \cdot 2} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\ \mathbf{elif}\;J \le 1.920732154664696 \cdot 10^{-170}:\\ \;\;\;\;-U\\ \mathbf{else}:\\ \;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \cdot \sqrt{\frac{U}{\left(\cos \left(\frac{1}{2} \cdot K\right) \cdot J\right) \cdot 2} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\ \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 -1.7519438251008617 \cdot 10^{-206}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \cdot \sqrt{\frac{U}{\left(\cos \left(\frac{1}{2} \cdot K\right) \cdot J\right) \cdot 2} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\

\mathbf{elif}\;J \le 1.920732154664696 \cdot 10^{-170}:\\
\;\;\;\;-U\\

\mathbf{else}:\\
\;\;\;\;\left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \cdot \sqrt{\frac{U}{\left(\cos \left(\frac{1}{2} \cdot K\right) \cdot J\right) \cdot 2} \cdot \frac{U}{\cos \left(\frac{K}{2}\right) \cdot \left(2 \cdot J\right)} + 1}\\

\end{array}
double f(double J, double K, double U) {
        double r6200455 = -2.0;
        double r6200456 = J;
        double r6200457 = r6200455 * r6200456;
        double r6200458 = K;
        double r6200459 = 2.0;
        double r6200460 = r6200458 / r6200459;
        double r6200461 = cos(r6200460);
        double r6200462 = r6200457 * r6200461;
        double r6200463 = 1.0;
        double r6200464 = U;
        double r6200465 = r6200459 * r6200456;
        double r6200466 = r6200465 * r6200461;
        double r6200467 = r6200464 / r6200466;
        double r6200468 = pow(r6200467, r6200459);
        double r6200469 = r6200463 + r6200468;
        double r6200470 = sqrt(r6200469);
        double r6200471 = r6200462 * r6200470;
        return r6200471;
}

double f(double J, double K, double U) {
        double r6200472 = J;
        double r6200473 = -1.7519438251008617e-206;
        bool r6200474 = r6200472 <= r6200473;
        double r6200475 = K;
        double r6200476 = 2.0;
        double r6200477 = r6200475 / r6200476;
        double r6200478 = cos(r6200477);
        double r6200479 = -2.0;
        double r6200480 = r6200479 * r6200472;
        double r6200481 = r6200478 * r6200480;
        double r6200482 = U;
        double r6200483 = 0.5;
        double r6200484 = r6200483 * r6200475;
        double r6200485 = cos(r6200484);
        double r6200486 = r6200485 * r6200472;
        double r6200487 = r6200486 * r6200476;
        double r6200488 = r6200482 / r6200487;
        double r6200489 = r6200476 * r6200472;
        double r6200490 = r6200478 * r6200489;
        double r6200491 = r6200482 / r6200490;
        double r6200492 = r6200488 * r6200491;
        double r6200493 = 1.0;
        double r6200494 = r6200492 + r6200493;
        double r6200495 = sqrt(r6200494);
        double r6200496 = r6200481 * r6200495;
        double r6200497 = 1.920732154664696e-170;
        bool r6200498 = r6200472 <= r6200497;
        double r6200499 = -r6200482;
        double r6200500 = r6200498 ? r6200499 : r6200496;
        double r6200501 = r6200474 ? r6200496 : r6200500;
        return r6200501;
}

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 < -1.7519438251008617e-206 or 1.920732154664696e-170 < J

    1. Initial program 11.5

      \[\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. Simplified11.5

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

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

    if -1.7519438251008617e-206 < J < 1.920732154664696e-170

    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 40.1

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

      \[\leadsto \color{blue}{-1 \cdot U}\]
    5. Simplified33.0

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

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

Reproduce

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