Average Error: 18.4 → 13.4
Time: 22.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}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\ \;\;\;\;\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \frac{U \cdot \frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)}}{J}\right)\\ \mathbf{elif}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 1.676930854463059217104933833612143608877 \cdot 10^{308}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{U}{J} \cdot \frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)}\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}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\
\;\;\;\;\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \frac{U \cdot \frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)}}{J}\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\frac{U}{J} \cdot \frac{\sqrt{0.25}}{\cos \left(0.5 \cdot K\right)}\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 r163512 = -2.0;
        double r163513 = J;
        double r163514 = r163512 * r163513;
        double r163515 = K;
        double r163516 = 2.0;
        double r163517 = r163515 / r163516;
        double r163518 = cos(r163517);
        double r163519 = r163514 * r163518;
        double r163520 = 1.0;
        double r163521 = U;
        double r163522 = r163516 * r163513;
        double r163523 = r163522 * r163518;
        double r163524 = r163521 / r163523;
        double r163525 = pow(r163524, r163516);
        double r163526 = r163520 + r163525;
        double r163527 = sqrt(r163526);
        double r163528 = r163519 * r163527;
        return r163528;
}

double f(double J, double K, double U) {
        double r163529 = U;
        double r163530 = J;
        double r163531 = 2.0;
        double r163532 = r163530 * r163531;
        double r163533 = K;
        double r163534 = r163533 / r163531;
        double r163535 = cos(r163534);
        double r163536 = r163532 * r163535;
        double r163537 = r163529 / r163536;
        double r163538 = pow(r163537, r163531);
        double r163539 = 1.0;
        double r163540 = r163538 + r163539;
        double r163541 = sqrt(r163540);
        double r163542 = -2.0;
        double r163543 = r163542 * r163530;
        double r163544 = r163535 * r163543;
        double r163545 = r163541 * r163544;
        double r163546 = -inf.0;
        bool r163547 = r163545 <= r163546;
        double r163548 = 0.25;
        double r163549 = sqrt(r163548);
        double r163550 = 0.5;
        double r163551 = r163550 * r163533;
        double r163552 = cos(r163551);
        double r163553 = r163549 / r163552;
        double r163554 = r163529 * r163553;
        double r163555 = r163554 / r163530;
        double r163556 = r163535 * r163555;
        double r163557 = r163543 * r163556;
        double r163558 = 1.6769308544630592e+308;
        bool r163559 = r163545 <= r163558;
        double r163560 = r163529 / r163530;
        double r163561 = r163560 * r163553;
        double r163562 = r163561 * r163544;
        double r163563 = r163559 ? r163545 : r163562;
        double r163564 = r163547 ? r163557 : r163563;
        return r163564;
}

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 3 regimes
  2. if (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < -inf.0

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

      \[\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. Simplified64.0

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

      \[\leadsto \left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \color{blue}{\frac{\sqrt{0.25} \cdot U}{\cos \left(0.5 \cdot K\right) \cdot J}}\right)\]
    6. Simplified46.2

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

    if -inf.0 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0)))) < 1.6769308544630592e+308

    1. Initial program 0.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}}\]

    if 1.6769308544630592e+308 < (* (* (* -2.0 J) (cos (/ K 2.0))) (sqrt (+ 1.0 (pow (/ U (* (* 2.0 J) (cos (/ K 2.0)))) 2.0))))

    1. Initial program 64.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 46.4

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

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

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

Reproduce

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