Average Error: 23.9 → 12.0
Time: 25.5s
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}\;\alpha \le 3.6025637907031592 \cdot 10^{62}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}^{3}}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{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}\;\alpha \le 3.6025637907031592 \cdot 10^{62}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}^{3}}}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r206915 = alpha;
        double r206916 = beta;
        double r206917 = r206915 + r206916;
        double r206918 = r206916 - r206915;
        double r206919 = r206917 * r206918;
        double r206920 = 2.0;
        double r206921 = i;
        double r206922 = r206920 * r206921;
        double r206923 = r206917 + r206922;
        double r206924 = r206919 / r206923;
        double r206925 = r206923 + r206920;
        double r206926 = r206924 / r206925;
        double r206927 = 1.0;
        double r206928 = r206926 + r206927;
        double r206929 = r206928 / r206920;
        return r206929;
}

double f(double alpha, double beta, double i) {
        double r206930 = alpha;
        double r206931 = 3.602563790703159e+62;
        bool r206932 = r206930 <= r206931;
        double r206933 = 1.0;
        double r206934 = i;
        double r206935 = 2.0;
        double r206936 = beta;
        double r206937 = r206930 + r206936;
        double r206938 = fma(r206934, r206935, r206937);
        double r206939 = r206938 / r206937;
        double r206940 = r206936 - r206930;
        double r206941 = r206939 / r206940;
        double r206942 = r206933 / r206941;
        double r206943 = r206935 * r206934;
        double r206944 = r206937 + r206943;
        double r206945 = r206944 + r206935;
        double r206946 = r206933 / r206945;
        double r206947 = 1.0;
        double r206948 = fma(r206942, r206946, r206947);
        double r206949 = 3.0;
        double r206950 = pow(r206948, r206949);
        double r206951 = cbrt(r206950);
        double r206952 = r206951 / r206935;
        double r206953 = r206933 / r206930;
        double r206954 = 8.0;
        double r206955 = pow(r206930, r206949);
        double r206956 = r206933 / r206955;
        double r206957 = r206954 * r206956;
        double r206958 = 4.0;
        double r206959 = 2.0;
        double r206960 = pow(r206930, r206959);
        double r206961 = r206933 / r206960;
        double r206962 = r206958 * r206961;
        double r206963 = r206957 - r206962;
        double r206964 = fma(r206935, r206953, r206963);
        double r206965 = r206964 / r206935;
        double r206966 = r206932 ? r206952 : r206965;
        return r206966;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 3.602563790703159e+62

    1. Initial program 12.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. Using strategy rm
    3. Applied clear-num12.3

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    4. Simplified1.5

      \[\leadsto \frac{\frac{\frac{1}{\color{blue}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    5. Using strategy rm
    6. Applied div-inv1.5

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}} \cdot \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\]
    7. Applied fma-def1.5

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

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right) \cdot \mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right) \cdot \mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}}}{2}\]
    10. Simplified1.5

      \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(\mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}^{3}}}}{2}\]

    if 3.602563790703159e+62 < alpha

    1. Initial program 56.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 41.1

      \[\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. Simplified41.1

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification12.0

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

Reproduce

herbie shell --seed 2020089 +o rules:numerics
(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))