Average Error: 23.7 → 11.0
Time: 10.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}\;\alpha \le 1.5371929371909745 \cdot 10^{209}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt{\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}}}, \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}, 1\right)}{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 1.5371929371909745 \cdot 10^{209}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt{\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}}}, \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}, 1\right)}{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 r143905 = alpha;
        double r143906 = beta;
        double r143907 = r143905 + r143906;
        double r143908 = r143906 - r143905;
        double r143909 = r143907 * r143908;
        double r143910 = 2.0;
        double r143911 = i;
        double r143912 = r143910 * r143911;
        double r143913 = r143907 + r143912;
        double r143914 = r143909 / r143913;
        double r143915 = r143913 + r143910;
        double r143916 = r143914 / r143915;
        double r143917 = 1.0;
        double r143918 = r143916 + r143917;
        double r143919 = r143918 / r143910;
        return r143919;
}

double f(double alpha, double beta, double i) {
        double r143920 = alpha;
        double r143921 = 1.5371929371909745e+209;
        bool r143922 = r143920 <= r143921;
        double r143923 = beta;
        double r143924 = r143923 - r143920;
        double r143925 = r143920 + r143923;
        double r143926 = 2.0;
        double r143927 = i;
        double r143928 = r143926 * r143927;
        double r143929 = r143925 + r143928;
        double r143930 = r143929 + r143926;
        double r143931 = sqrt(r143930);
        double r143932 = r143924 / r143931;
        double r143933 = cbrt(r143930);
        double r143934 = r143933 * r143933;
        double r143935 = sqrt(r143934);
        double r143936 = r143932 / r143935;
        double r143937 = fma(r143927, r143926, r143925);
        double r143938 = r143925 / r143937;
        double r143939 = sqrt(r143933);
        double r143940 = r143938 / r143939;
        double r143941 = 1.0;
        double r143942 = fma(r143936, r143940, r143941);
        double r143943 = r143942 / r143926;
        double r143944 = 1.0;
        double r143945 = r143944 / r143920;
        double r143946 = 8.0;
        double r143947 = 3.0;
        double r143948 = pow(r143920, r143947);
        double r143949 = r143944 / r143948;
        double r143950 = r143946 * r143949;
        double r143951 = 4.0;
        double r143952 = 2.0;
        double r143953 = pow(r143920, r143952);
        double r143954 = r143944 / r143953;
        double r143955 = r143951 * r143954;
        double r143956 = r143950 - r143955;
        double r143957 = fma(r143926, r143945, r143956);
        double r143958 = r143957 / r143926;
        double r143959 = r143922 ? r143943 : r143958;
        return r143959;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.5371929371909745e+209

    1. Initial program 18.9

      \[\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-sqr-sqrt18.9

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\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}{2}\]
    4. Applied associate-/r*18.9

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

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

      \[\leadsto \frac{\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\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}\]
    8. Applied sqrt-prod7.5

      \[\leadsto \frac{\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\color{blue}{\sqrt{\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 \sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}} + 1}{2}\]
    9. Applied times-frac7.5

      \[\leadsto \frac{\color{blue}{\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt{\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{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}} + 1}{2}\]
    10. Applied fma-def7.5

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt{\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}}}, \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}, 1\right)}}{2}\]

    if 1.5371929371909745e+209 < alpha

    1. Initial program 64.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}\]
    2. Taylor expanded around inf 40.5

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.5371929371909745 \cdot 10^{209}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt{\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}}}, \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}, 1\right)}{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 2020046 +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))