Average Error: 16.3 → 6.7
Time: 5.2s
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 2.93339560295959963 \cdot 10^{31}:\\ \;\;\;\;\frac{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2}, \left(\alpha + \beta\right) - 2, -1 \cdot 1\right)\right) - \mathsf{fma}\left(-1, 1, 1 \cdot 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\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}} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 2.93339560295959963 \cdot 10^{31}:\\
\;\;\;\;\frac{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2}, \left(\alpha + \beta\right) - 2, -1 \cdot 1\right)\right) - \mathsf{fma}\left(-1, 1, 1 \cdot 1\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\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}} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\

\end{array}
double f(double alpha, double beta) {
        double r71678 = beta;
        double r71679 = alpha;
        double r71680 = r71678 - r71679;
        double r71681 = r71679 + r71678;
        double r71682 = 2.0;
        double r71683 = r71681 + r71682;
        double r71684 = r71680 / r71683;
        double r71685 = 1.0;
        double r71686 = r71684 + r71685;
        double r71687 = r71686 / r71682;
        return r71687;
}

double f(double alpha, double beta) {
        double r71688 = alpha;
        double r71689 = 2.9333956029595996e+31;
        bool r71690 = r71688 <= r71689;
        double r71691 = beta;
        double r71692 = r71688 + r71691;
        double r71693 = 2.0;
        double r71694 = r71692 + r71693;
        double r71695 = r71691 / r71694;
        double r71696 = r71692 * r71692;
        double r71697 = r71693 * r71693;
        double r71698 = r71696 - r71697;
        double r71699 = r71688 / r71698;
        double r71700 = r71692 - r71693;
        double r71701 = 1.0;
        double r71702 = 1.0;
        double r71703 = r71701 * r71702;
        double r71704 = -r71703;
        double r71705 = fma(r71699, r71700, r71704);
        double r71706 = r71695 - r71705;
        double r71707 = -r71701;
        double r71708 = fma(r71707, r71702, r71703);
        double r71709 = r71706 - r71708;
        double r71710 = r71709 / r71693;
        double r71711 = cbrt(r71691);
        double r71712 = r71711 * r71711;
        double r71713 = cbrt(r71694);
        double r71714 = r71713 * r71713;
        double r71715 = r71712 / r71714;
        double r71716 = r71711 / r71713;
        double r71717 = r71715 * r71716;
        double r71718 = 4.0;
        double r71719 = 2.0;
        double r71720 = pow(r71688, r71719);
        double r71721 = r71702 / r71720;
        double r71722 = r71702 / r71688;
        double r71723 = 8.0;
        double r71724 = 3.0;
        double r71725 = pow(r71688, r71724);
        double r71726 = r71702 / r71725;
        double r71727 = r71723 * r71726;
        double r71728 = fma(r71693, r71722, r71727);
        double r71729 = -r71728;
        double r71730 = fma(r71718, r71721, r71729);
        double r71731 = r71717 - r71730;
        double r71732 = r71688 / r71694;
        double r71733 = r71732 - r71701;
        double r71734 = -r71702;
        double r71735 = r71734 + r71702;
        double r71736 = r71733 * r71735;
        double r71737 = r71731 + r71736;
        double r71738 = r71737 / r71693;
        double r71739 = r71690 ? r71710 : r71738;
        return r71739;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 2.9333956029595996e+31

    1. Initial program 1.5

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

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

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

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

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\color{blue}{\frac{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2}{\left(\alpha + \beta\right) - 2}}} - 1 \cdot 1\right)}{2}\]
    8. Applied associate-/r/1.5

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\color{blue}{\frac{\alpha}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2} \cdot \left(\left(\alpha + \beta\right) - 2\right)} - 1 \cdot 1\right)}{2}\]
    9. Applied prod-diff1.5

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(\mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2}, \left(\alpha + \beta\right) - 2, -1 \cdot 1\right) + \mathsf{fma}\left(-1, 1, 1 \cdot 1\right)\right)}}{2}\]
    10. Applied associate--r+1.5

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

    if 2.9333956029595996e+31 < alpha

    1. Initial program 51.0

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub51.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-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. Using strategy rm
    6. Applied add-cube-cbrt49.2

      \[\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-cbrt49.3

      \[\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-cbrt49.2

      \[\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-frac49.2

      \[\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-diff49.2

      \[\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. Simplified49.2

      \[\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. Simplified49.2

      \[\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}\]
    13. Taylor expanded around inf 19.0

      \[\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}} - \color{blue}{\left(4 \cdot \frac{1}{{\alpha}^{2}} - \left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\]
    14. Simplified19.0

      \[\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}} - \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)}\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 2.93339560295959963 \cdot 10^{31}:\\ \;\;\;\;\frac{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\frac{\alpha}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - 2 \cdot 2}, \left(\alpha + \beta\right) - 2, -1 \cdot 1\right)\right) - \mathsf{fma}\left(-1, 1, 1 \cdot 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\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}} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020057 +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))