Average Error: 16.2 → 6.4
Time: 13.6s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 9.338107713205004 \cdot 10^{+21}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2.0}{\beta}} - \sqrt[3]{\left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)\right) \cdot \left(\left(\sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0} \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right) \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{2.0}{\alpha}\right) - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}{2.0}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 9.338107713205004 \cdot 10^{+21}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2.0}{\beta}} - \sqrt[3]{\left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)\right) \cdot \left(\left(\sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0} \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right) \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right)}}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{2.0}{\alpha}\right) - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}{2.0}\\

\end{array}
double f(double alpha, double beta) {
        double r2008608 = beta;
        double r2008609 = alpha;
        double r2008610 = r2008608 - r2008609;
        double r2008611 = r2008609 + r2008608;
        double r2008612 = 2.0;
        double r2008613 = r2008611 + r2008612;
        double r2008614 = r2008610 / r2008613;
        double r2008615 = 1.0;
        double r2008616 = r2008614 + r2008615;
        double r2008617 = r2008616 / r2008612;
        return r2008617;
}

double f(double alpha, double beta) {
        double r2008618 = alpha;
        double r2008619 = 9.338107713205004e+21;
        bool r2008620 = r2008618 <= r2008619;
        double r2008621 = 1.0;
        double r2008622 = beta;
        double r2008623 = r2008618 + r2008622;
        double r2008624 = 2.0;
        double r2008625 = r2008623 + r2008624;
        double r2008626 = r2008625 / r2008622;
        double r2008627 = r2008621 / r2008626;
        double r2008628 = r2008618 / r2008625;
        double r2008629 = 1.0;
        double r2008630 = r2008628 - r2008629;
        double r2008631 = r2008630 * r2008630;
        double r2008632 = cbrt(r2008630);
        double r2008633 = r2008632 * r2008632;
        double r2008634 = r2008633 * r2008632;
        double r2008635 = r2008631 * r2008634;
        double r2008636 = cbrt(r2008635);
        double r2008637 = r2008627 - r2008636;
        double r2008638 = r2008637 / r2008624;
        double r2008639 = r2008622 / r2008625;
        double r2008640 = 4.0;
        double r2008641 = r2008640 / r2008618;
        double r2008642 = r2008641 / r2008618;
        double r2008643 = r2008624 / r2008618;
        double r2008644 = r2008642 - r2008643;
        double r2008645 = 8.0;
        double r2008646 = r2008645 / r2008618;
        double r2008647 = r2008618 * r2008618;
        double r2008648 = r2008646 / r2008647;
        double r2008649 = r2008644 - r2008648;
        double r2008650 = r2008639 - r2008649;
        double r2008651 = r2008650 / r2008624;
        double r2008652 = r2008620 ? r2008638 : r2008651;
        return r2008652;
}

Error

Bits error versus alpha

Bits error versus beta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if alpha < 9.338107713205004e+21

    1. Initial program 0.7

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)} + 1.0}{2.0}\]
    4. Applied associate-+l-0.7

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}{2.0}\]
    5. Using strategy rm
    6. Applied clear-num0.7

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\left(\alpha + \beta\right) + 2.0}{\beta}}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\]
    7. Using strategy rm
    8. Applied add-cbrt-cube0.7

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

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

    if 9.338107713205004e+21 < alpha

    1. Initial program 50.4

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)} + 1.0}{2.0}\]
    4. Applied associate-+l-48.6

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}{2.0}\]
    5. Taylor expanded around inf 18.9

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(4.0 \cdot \frac{1}{{\alpha}^{2}} - \left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2.0}\]
    6. Simplified18.9

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{2.0}{\alpha}\right) - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 9.338107713205004 \cdot 10^{+21}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2.0}{\beta}} - \sqrt[3]{\left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)\right) \cdot \left(\left(\sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0} \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right) \cdot \sqrt[3]{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{2.0}{\alpha}\right) - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019156 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :pre (and (> alpha -1) (> beta -1))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))