Average Error: 16.9 → 17.1
Time: 27.9s
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 -4.670715667185797 \cdot 10^{-84}:\\ \;\;\;\;\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 9.321107477371502 \cdot 10^{-282}:\\ \;\;\;\;-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 -4.670715667185797 \cdot 10^{-84}:\\
\;\;\;\;\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 9.321107477371502 \cdot 10^{-282}:\\
\;\;\;\;-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 r4362448 = -2.0;
        double r4362449 = J;
        double r4362450 = r4362448 * r4362449;
        double r4362451 = K;
        double r4362452 = 2.0;
        double r4362453 = r4362451 / r4362452;
        double r4362454 = cos(r4362453);
        double r4362455 = r4362450 * r4362454;
        double r4362456 = 1.0;
        double r4362457 = U;
        double r4362458 = r4362452 * r4362449;
        double r4362459 = r4362458 * r4362454;
        double r4362460 = r4362457 / r4362459;
        double r4362461 = pow(r4362460, r4362452);
        double r4362462 = r4362456 + r4362461;
        double r4362463 = sqrt(r4362462);
        double r4362464 = r4362455 * r4362463;
        return r4362464;
}

double f(double J, double K, double U) {
        double r4362465 = J;
        double r4362466 = -4.670715667185797e-84;
        bool r4362467 = r4362465 <= r4362466;
        double r4362468 = 1.0;
        double r4362469 = U;
        double r4362470 = K;
        double r4362471 = 2.0;
        double r4362472 = r4362470 / r4362471;
        double r4362473 = cos(r4362472);
        double r4362474 = r4362471 * r4362465;
        double r4362475 = r4362473 * r4362474;
        double r4362476 = r4362469 / r4362475;
        double r4362477 = r4362476 * r4362476;
        double r4362478 = r4362468 + r4362477;
        double r4362479 = sqrt(r4362478);
        double r4362480 = -2.0;
        double r4362481 = r4362480 * r4362465;
        double r4362482 = r4362473 * r4362481;
        double r4362483 = r4362479 * r4362482;
        double r4362484 = 9.321107477371502e-282;
        bool r4362485 = r4362465 <= r4362484;
        double r4362486 = -r4362469;
        double r4362487 = r4362485 ? r4362486 : r4362483;
        double r4362488 = r4362467 ? r4362483 : r4362487;
        return r4362488;
}

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 < -4.670715667185797e-84 or 9.321107477371502e-282 < J

    1. Initial program 11.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. Simplified11.7

      \[\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 -4.670715667185797e-84 < J < 9.321107477371502e-282

    1. Initial program 36.2

      \[\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.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;J \le -4.670715667185797 \cdot 10^{-84}:\\ \;\;\;\;\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 9.321107477371502 \cdot 10^{-282}:\\ \;\;\;\;-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 2019135 
(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)))))