Average Error: 16.5 → 6.2
Time: 5.3s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 759519.7231227644:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, -1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 759519.7231227644:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, -1\right)}{2}\\

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

\end{array}
double f(double alpha, double beta) {
        double r72113 = beta;
        double r72114 = alpha;
        double r72115 = r72113 - r72114;
        double r72116 = r72114 + r72113;
        double r72117 = 2.0;
        double r72118 = r72116 + r72117;
        double r72119 = r72115 / r72118;
        double r72120 = 1.0;
        double r72121 = r72119 + r72120;
        double r72122 = r72121 / r72117;
        return r72122;
}

double f(double alpha, double beta) {
        double r72123 = alpha;
        double r72124 = 759519.7231227644;
        bool r72125 = r72123 <= r72124;
        double r72126 = beta;
        double r72127 = r72123 + r72126;
        double r72128 = 2.0;
        double r72129 = r72127 + r72128;
        double r72130 = r72126 / r72129;
        double r72131 = 1.0;
        double r72132 = r72131 / r72129;
        double r72133 = 1.0;
        double r72134 = -r72133;
        double r72135 = fma(r72123, r72132, r72134);
        double r72136 = r72130 - r72135;
        double r72137 = r72136 / r72128;
        double r72138 = cbrt(r72126);
        double r72139 = r72138 * r72138;
        double r72140 = r72138 / r72129;
        double r72141 = r72139 * r72140;
        double r72142 = 4.0;
        double r72143 = 2.0;
        double r72144 = pow(r72123, r72143);
        double r72145 = r72131 / r72144;
        double r72146 = r72131 / r72123;
        double r72147 = 8.0;
        double r72148 = 3.0;
        double r72149 = pow(r72123, r72148);
        double r72150 = r72131 / r72149;
        double r72151 = r72147 * r72150;
        double r72152 = fma(r72128, r72146, r72151);
        double r72153 = -r72152;
        double r72154 = fma(r72142, r72145, r72153);
        double r72155 = r72141 - r72154;
        double r72156 = r72155 / r72128;
        double r72157 = r72125 ? r72137 : r72156;
        return r72157;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 759519.7231227644

    1. Initial program 0.0

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub0.0

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
    4. Applied associate-+l-0.0

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
    5. Using strategy rm
    6. Applied div-inv0.0

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\color{blue}{\alpha \cdot \frac{1}{\left(\alpha + \beta\right) + 2}} - 1\right)}{2}\]
    7. Applied fma-neg0.0

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

    if 759519.7231227644 < alpha

    1. Initial program 49.2

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub49.2

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \frac{\alpha}{\left(\alpha + \beta\right) + 2}\right)} + 1}{2}\]
    4. Applied associate-+l-47.6

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity47.6

      \[\leadsto \frac{\frac{\beta}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2\right)}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\]
    7. Applied add-cube-cbrt47.7

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

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

      \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right)} \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\]
    10. Taylor expanded around inf 18.5

      \[\leadsto \frac{\left(\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}\right) \cdot \frac{\sqrt[3]{\beta}}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(4 \cdot \frac{1}{{\alpha}^{2}} - \left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2}\]
    11. Simplified18.5

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

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

Reproduce

herbie shell --seed 2020059 +o rules:numerics
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))