Average Error: 15.9 → 5.9
Time: 18.7s
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 536060982.7574347:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \frac{2.0}{\alpha}\right)\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 536060982.7574347:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\

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

\end{array}
double f(double alpha, double beta) {
        double r2082613 = beta;
        double r2082614 = alpha;
        double r2082615 = r2082613 - r2082614;
        double r2082616 = r2082614 + r2082613;
        double r2082617 = 2.0;
        double r2082618 = r2082616 + r2082617;
        double r2082619 = r2082615 / r2082618;
        double r2082620 = 1.0;
        double r2082621 = r2082619 + r2082620;
        double r2082622 = r2082621 / r2082617;
        return r2082622;
}

double f(double alpha, double beta) {
        double r2082623 = alpha;
        double r2082624 = 536060982.7574347;
        bool r2082625 = r2082623 <= r2082624;
        double r2082626 = beta;
        double r2082627 = 2.0;
        double r2082628 = r2082626 + r2082623;
        double r2082629 = r2082627 + r2082628;
        double r2082630 = r2082626 / r2082629;
        double r2082631 = r2082623 / r2082629;
        double r2082632 = 1.0;
        double r2082633 = r2082631 - r2082632;
        double r2082634 = r2082630 - r2082633;
        double r2082635 = log(r2082634);
        double r2082636 = exp(r2082635);
        double r2082637 = r2082636 / r2082627;
        double r2082638 = 4.0;
        double r2082639 = r2082623 * r2082623;
        double r2082640 = r2082638 / r2082639;
        double r2082641 = 8.0;
        double r2082642 = r2082623 * r2082639;
        double r2082643 = r2082641 / r2082642;
        double r2082644 = r2082627 / r2082623;
        double r2082645 = r2082643 + r2082644;
        double r2082646 = r2082640 - r2082645;
        double r2082647 = r2082630 - r2082646;
        double r2082648 = r2082647 / r2082627;
        double r2082649 = r2082625 ? r2082637 : r2082648;
        return r2082649;
}

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 < 536060982.7574347

    1. Initial program 0.1

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

      \[\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.1

      \[\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 add-exp-log0.1

      \[\leadsto \frac{\color{blue}{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)\right)}}}{2.0}\]

    if 536060982.7574347 < alpha

    1. Initial program 49.6

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

      \[\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.1

      \[\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 add-log-exp48.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right)}}{2.0}\]
    7. Taylor expanded around inf 18.3

      \[\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}\]
    8. Simplified18.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 536060982.7574347:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \frac{2.0}{\alpha}\right)\right)}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019151 
(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))