Average Error: 23.6 → 7.3
Time: 18.1s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 0.0\]
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
\[\begin{array}{l} \mathbf{if}\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \le -0.999999999999999889:\\ \;\;\;\;\frac{\left(\frac{8}{{\alpha}^{3}} + \frac{2}{\alpha}\right) - \frac{4}{\alpha \cdot \alpha}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\frac{\alpha + \beta}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1\right)}^{3}}}{2}\\ \end{array}\]
\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \le -0.999999999999999889:\\
\;\;\;\;\frac{\left(\frac{8}{{\alpha}^{3}} + \frac{2}{\alpha}\right) - \frac{4}{\alpha \cdot \alpha}}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\frac{\alpha + \beta}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1\right)}^{3}}}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r106853 = alpha;
        double r106854 = beta;
        double r106855 = r106853 + r106854;
        double r106856 = r106854 - r106853;
        double r106857 = r106855 * r106856;
        double r106858 = 2.0;
        double r106859 = i;
        double r106860 = r106858 * r106859;
        double r106861 = r106855 + r106860;
        double r106862 = r106857 / r106861;
        double r106863 = r106861 + r106858;
        double r106864 = r106862 / r106863;
        double r106865 = 1.0;
        double r106866 = r106864 + r106865;
        double r106867 = r106866 / r106858;
        return r106867;
}

double f(double alpha, double beta, double i) {
        double r106868 = alpha;
        double r106869 = beta;
        double r106870 = r106868 + r106869;
        double r106871 = r106869 - r106868;
        double r106872 = r106870 * r106871;
        double r106873 = 2.0;
        double r106874 = i;
        double r106875 = r106873 * r106874;
        double r106876 = r106870 + r106875;
        double r106877 = r106872 / r106876;
        double r106878 = r106876 + r106873;
        double r106879 = r106877 / r106878;
        double r106880 = -0.9999999999999999;
        bool r106881 = r106879 <= r106880;
        double r106882 = 8.0;
        double r106883 = 3.0;
        double r106884 = pow(r106868, r106883);
        double r106885 = r106882 / r106884;
        double r106886 = r106873 / r106868;
        double r106887 = r106885 + r106886;
        double r106888 = 4.0;
        double r106889 = r106868 * r106868;
        double r106890 = r106888 / r106889;
        double r106891 = r106887 - r106890;
        double r106892 = r106891 / r106873;
        double r106893 = sqrt(r106878);
        double r106894 = r106870 / r106893;
        double r106895 = r106871 / r106876;
        double r106896 = r106895 / r106893;
        double r106897 = r106894 * r106896;
        double r106898 = 1.0;
        double r106899 = r106897 + r106898;
        double r106900 = pow(r106899, r106883);
        double r106901 = cbrt(r106900);
        double r106902 = r106901 / r106873;
        double r106903 = r106881 ? r106892 : r106902;
        return r106903;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) < -0.9999999999999999

    1. Initial program 63.3

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    2. Taylor expanded around inf 32.0

      \[\leadsto \frac{\color{blue}{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}}{2}\]
    3. Simplified32.0

      \[\leadsto \frac{\color{blue}{\left(\frac{8}{{\alpha}^{3}} + \frac{2}{\alpha}\right) - \frac{4}{\alpha \cdot \alpha}}}{2}\]

    if -0.9999999999999999 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0))

    1. Initial program 12.6

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt12.7

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{\left(\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}\right) \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1}{2}\]
    4. Applied *-un-lft-identity12.7

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{\left(\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}\right) \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\]
    5. Applied times-frac0.6

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\left(\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}\right) \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\]
    6. Applied times-frac0.6

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{1}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1}{2}\]
    7. Simplified0.6

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\]
    8. Using strategy rm
    9. Applied add-cbrt-cube0.5

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left(\frac{\frac{\alpha + \beta}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1\right) \cdot \left(\frac{\frac{\alpha + \beta}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1\right)\right) \cdot \left(\frac{\frac{\alpha + \beta}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1\right)}}}{2}\]
    10. Simplified0.4

      \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)}^{3}}}}{2}\]
    11. Using strategy rm
    12. Applied add-sqr-sqrt0.4

      \[\leadsto \frac{\sqrt[3]{{\left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1\right)}^{3}}}{2}\]
    13. Applied times-frac0.4

      \[\leadsto \frac{\sqrt[3]{{\left(\color{blue}{\frac{\alpha + \beta}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1\right)}^{3}}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification7.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \le -0.999999999999999889:\\ \;\;\;\;\frac{\left(\frac{8}{{\alpha}^{3}} + \frac{2}{\alpha}\right) - \frac{4}{\alpha \cdot \alpha}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\frac{\alpha + \beta}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1\right)}^{3}}}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020042 
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))