Average Error: 18.1 → 17.9
Time: 14.3s
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.838279836993495 \cdot 10^{-208} \lor \neg \left(J \le 9.3045553760884336 \cdot 10^{-275} \lor \neg \left(J \le 1.726751503988064 \cdot 10^{-196}\right) \land J \le 2.17348634570913259 \cdot 10^{-87}\right):\\ \;\;\;\;\left(-2 \cdot J\right) \cdot \left(\sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}} \cdot \cos \left(\frac{K}{2}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;-2 \cdot \left(\sqrt{0.25} \cdot U\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 -1.838279836993495 \cdot 10^{-208} \lor \neg \left(J \le 9.3045553760884336 \cdot 10^{-275} \lor \neg \left(J \le 1.726751503988064 \cdot 10^{-196}\right) \land J \le 2.17348634570913259 \cdot 10^{-87}\right):\\
\;\;\;\;\left(-2 \cdot J\right) \cdot \left(\sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}} \cdot \cos \left(\frac{K}{2}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;-2 \cdot \left(\sqrt{0.25} \cdot U\right)\\

\end{array}
double f(double J, double K, double U) {
        double r176974 = -2.0;
        double r176975 = J;
        double r176976 = r176974 * r176975;
        double r176977 = K;
        double r176978 = 2.0;
        double r176979 = r176977 / r176978;
        double r176980 = cos(r176979);
        double r176981 = r176976 * r176980;
        double r176982 = 1.0;
        double r176983 = U;
        double r176984 = r176978 * r176975;
        double r176985 = r176984 * r176980;
        double r176986 = r176983 / r176985;
        double r176987 = pow(r176986, r176978);
        double r176988 = r176982 + r176987;
        double r176989 = sqrt(r176988);
        double r176990 = r176981 * r176989;
        return r176990;
}

double f(double J, double K, double U) {
        double r176991 = J;
        double r176992 = -1.838279836993495e-208;
        bool r176993 = r176991 <= r176992;
        double r176994 = 9.304555376088434e-275;
        bool r176995 = r176991 <= r176994;
        double r176996 = 1.726751503988064e-196;
        bool r176997 = r176991 <= r176996;
        double r176998 = !r176997;
        double r176999 = 2.1734863457091326e-87;
        bool r177000 = r176991 <= r176999;
        bool r177001 = r176998 && r177000;
        bool r177002 = r176995 || r177001;
        double r177003 = !r177002;
        bool r177004 = r176993 || r177003;
        double r177005 = -2.0;
        double r177006 = r177005 * r176991;
        double r177007 = 1.0;
        double r177008 = U;
        double r177009 = 2.0;
        double r177010 = r177009 * r176991;
        double r177011 = K;
        double r177012 = r177011 / r177009;
        double r177013 = cos(r177012);
        double r177014 = r177010 * r177013;
        double r177015 = r177008 / r177014;
        double r177016 = pow(r177015, r177009);
        double r177017 = r177007 + r177016;
        double r177018 = sqrt(r177017);
        double r177019 = r177018 * r177013;
        double r177020 = r177006 * r177019;
        double r177021 = 0.25;
        double r177022 = sqrt(r177021);
        double r177023 = r177022 * r177008;
        double r177024 = r177005 * r177023;
        double r177025 = r177004 ? r177020 : r177024;
        return r177025;
}

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.838279836993495e-208 or 9.304555376088434e-275 < J < 1.726751503988064e-196 or 2.1734863457091326e-87 < J

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

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

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

    if -1.838279836993495e-208 < J < 9.304555376088434e-275 or 1.726751503988064e-196 < J < 2.1734863457091326e-87

    1. Initial program 38.4

      \[\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*38.5

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

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

      \[\leadsto \color{blue}{-2 \cdot \left(\sqrt{0.25} \cdot U\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification17.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;J \le -1.838279836993495 \cdot 10^{-208} \lor \neg \left(J \le 9.3045553760884336 \cdot 10^{-275} \lor \neg \left(J \le 1.726751503988064 \cdot 10^{-196}\right) \land J \le 2.17348634570913259 \cdot 10^{-87}\right):\\ \;\;\;\;\left(-2 \cdot J\right) \cdot \left(\sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}} \cdot \cos \left(\frac{K}{2}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;-2 \cdot \left(\sqrt{0.25} \cdot U\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020042 
(FPCore (J K U)
  :name "Maksimov and Kolovsky, Equation (3)"
  :precision binary64
  (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))