Average Error: 24.5 → 11.9
Time: 25.7s
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.506577613804887599993152702825953278155 \cdot 10^{145}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{\sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \frac{\alpha + \beta}{\sqrt[3]{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \sqrt[3]{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)} - \frac{4}{\alpha \cdot \alpha}\right) + \frac{2}{\alpha}}{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.506577613804887599993152702825953278155 \cdot 10^{145}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{\sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \frac{\alpha + \beta}{\sqrt[3]{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \sqrt[3]{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(\frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)} - \frac{4}{\alpha \cdot \alpha}\right) + \frac{2}{\alpha}}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r6971833 = alpha;
        double r6971834 = beta;
        double r6971835 = r6971833 + r6971834;
        double r6971836 = r6971834 - r6971833;
        double r6971837 = r6971835 * r6971836;
        double r6971838 = 2.0;
        double r6971839 = i;
        double r6971840 = r6971838 * r6971839;
        double r6971841 = r6971835 + r6971840;
        double r6971842 = r6971837 / r6971841;
        double r6971843 = r6971841 + r6971838;
        double r6971844 = r6971842 / r6971843;
        double r6971845 = 1.0;
        double r6971846 = r6971844 + r6971845;
        double r6971847 = r6971846 / r6971838;
        return r6971847;
}

double f(double alpha, double beta, double i) {
        double r6971848 = alpha;
        double r6971849 = 3.5065776138048876e+145;
        bool r6971850 = r6971848 <= r6971849;
        double r6971851 = 1.0;
        double r6971852 = 2.0;
        double r6971853 = i;
        double r6971854 = beta;
        double r6971855 = r6971848 + r6971854;
        double r6971856 = fma(r6971852, r6971853, r6971855);
        double r6971857 = r6971852 + r6971856;
        double r6971858 = cbrt(r6971857);
        double r6971859 = r6971858 * r6971858;
        double r6971860 = r6971851 / r6971859;
        double r6971861 = sqrt(r6971857);
        double r6971862 = cbrt(r6971861);
        double r6971863 = r6971862 * r6971862;
        double r6971864 = r6971855 / r6971863;
        double r6971865 = r6971860 * r6971864;
        double r6971866 = r6971854 - r6971848;
        double r6971867 = r6971866 / r6971856;
        double r6971868 = 1.0;
        double r6971869 = fma(r6971865, r6971867, r6971868);
        double r6971870 = r6971869 / r6971852;
        double r6971871 = 8.0;
        double r6971872 = r6971848 * r6971848;
        double r6971873 = r6971848 * r6971872;
        double r6971874 = r6971871 / r6971873;
        double r6971875 = 4.0;
        double r6971876 = r6971875 / r6971872;
        double r6971877 = r6971874 - r6971876;
        double r6971878 = r6971852 / r6971848;
        double r6971879 = r6971877 + r6971878;
        double r6971880 = r6971879 / r6971852;
        double r6971881 = r6971850 ? r6971870 : r6971880;
        return r6971881;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 3.5065776138048876e+145

    1. Initial program 16.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. Simplified5.4

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\alpha + \beta}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt5.5

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

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

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

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

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

    if 3.5065776138048876e+145 < alpha

    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. Simplified46.6

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\alpha + \beta}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}}\]
    3. Taylor expanded around inf 41.7

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

      \[\leadsto \frac{\color{blue}{\left(\frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)} - \frac{4}{\alpha \cdot \alpha}\right) + \frac{2}{\alpha}}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.9

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

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))