Average Error: 16.5 → 6.3
Time: 9.0s
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 909606014637454464:\\ \;\;\;\;\frac{\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}} \cdot \frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\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 909606014637454464:\\
\;\;\;\;\frac{\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}} \cdot \frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\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 r102210 = beta;
        double r102211 = alpha;
        double r102212 = r102210 - r102211;
        double r102213 = r102211 + r102210;
        double r102214 = 2.0;
        double r102215 = r102213 + r102214;
        double r102216 = r102212 / r102215;
        double r102217 = 1.0;
        double r102218 = r102216 + r102217;
        double r102219 = r102218 / r102214;
        return r102219;
}

double f(double alpha, double beta) {
        double r102220 = alpha;
        double r102221 = 9.096060146374545e+17;
        bool r102222 = r102220 <= r102221;
        double r102223 = beta;
        double r102224 = cbrt(r102223);
        double r102225 = r102224 * r102224;
        double r102226 = r102220 + r102223;
        double r102227 = 2.0;
        double r102228 = r102226 + r102227;
        double r102229 = cbrt(r102228);
        double r102230 = r102229 * r102229;
        double r102231 = r102225 / r102230;
        double r102232 = r102224 / r102229;
        double r102233 = r102231 * r102232;
        double r102234 = r102220 / r102228;
        double r102235 = 1.0;
        double r102236 = r102234 - r102235;
        double r102237 = r102233 - r102236;
        double r102238 = 1.0;
        double r102239 = -r102238;
        double r102240 = r102239 + r102238;
        double r102241 = r102236 * r102240;
        double r102242 = r102237 + r102241;
        double r102243 = r102242 / r102227;
        double r102244 = r102223 / r102228;
        double r102245 = 4.0;
        double r102246 = 2.0;
        double r102247 = pow(r102220, r102246);
        double r102248 = r102238 / r102247;
        double r102249 = r102238 / r102220;
        double r102250 = 8.0;
        double r102251 = 3.0;
        double r102252 = pow(r102220, r102251);
        double r102253 = r102238 / r102252;
        double r102254 = r102250 * r102253;
        double r102255 = fma(r102227, r102249, r102254);
        double r102256 = -r102255;
        double r102257 = fma(r102245, r102248, r102256);
        double r102258 = r102244 - r102257;
        double r102259 = r102258 / r102227;
        double r102260 = r102222 ? r102243 : r102259;
        return r102260;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 9.096060146374545e+17

    1. Initial program 0.6

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

      \[\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.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 add-cube-cbrt0.6

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

      \[\leadsto \frac{\frac{\beta}{\color{blue}{\left(\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}\right) \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}}} - \left(\sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1} \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right) \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}}{2}\]
    8. Applied add-cube-cbrt0.6

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

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

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

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

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

    if 9.096060146374545e+17 < alpha

    1. Initial program 50.8

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

      \[\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-49.1

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

      \[\leadsto \frac{\frac{\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}\]
    6. Simplified18.5

      \[\leadsto \frac{\frac{\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.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 909606014637454464:\\ \;\;\;\;\frac{\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}} \cdot \frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\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 2020100 +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))