Average Error: 15.9 → 3.1
Time: 18.9s
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}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -1.0:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{2.0}{\alpha}\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;e^{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\right)}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -1.0:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{2.0}{\alpha}\right)}{2.0}\\

\mathbf{else}:\\
\;\;\;\;e^{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\right)}\\

\end{array}
double f(double alpha, double beta) {
        double r3790708 = beta;
        double r3790709 = alpha;
        double r3790710 = r3790708 - r3790709;
        double r3790711 = r3790709 + r3790708;
        double r3790712 = 2.0;
        double r3790713 = r3790711 + r3790712;
        double r3790714 = r3790710 / r3790713;
        double r3790715 = 1.0;
        double r3790716 = r3790714 + r3790715;
        double r3790717 = r3790716 / r3790712;
        return r3790717;
}

double f(double alpha, double beta) {
        double r3790718 = beta;
        double r3790719 = alpha;
        double r3790720 = r3790718 - r3790719;
        double r3790721 = r3790719 + r3790718;
        double r3790722 = 2.0;
        double r3790723 = r3790721 + r3790722;
        double r3790724 = r3790720 / r3790723;
        double r3790725 = -1.0;
        bool r3790726 = r3790724 <= r3790725;
        double r3790727 = r3790718 / r3790723;
        double r3790728 = 4.0;
        double r3790729 = r3790728 / r3790719;
        double r3790730 = r3790729 / r3790719;
        double r3790731 = 8.0;
        double r3790732 = r3790719 * r3790719;
        double r3790733 = r3790719 * r3790732;
        double r3790734 = r3790731 / r3790733;
        double r3790735 = r3790730 - r3790734;
        double r3790736 = r3790722 / r3790719;
        double r3790737 = r3790735 - r3790736;
        double r3790738 = r3790727 - r3790737;
        double r3790739 = r3790738 / r3790722;
        double r3790740 = r3790719 / r3790723;
        double r3790741 = 1.0;
        double r3790742 = r3790740 - r3790741;
        double r3790743 = r3790727 - r3790742;
        double r3790744 = r3790743 / r3790722;
        double r3790745 = log(r3790744);
        double r3790746 = exp(r3790745);
        double r3790747 = r3790726 ? r3790739 : r3790746;
        return r3790747;
}

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 (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -1.0

    1. Initial program 60.6

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied div-sub60.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-58.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. Taylor expanded around inf 10.5

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

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{2.0}{\alpha}\right)}}{2.0}\]

    if -1.0 < (/ (- beta alpha) (+ (+ alpha beta) 2.0))

    1. Initial program 0.6

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied div-sub0.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-0.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. Using strategy rm
    6. Applied add-exp-log0.6

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{\color{blue}{e^{\log 2.0}}}\]
    7. Applied add-exp-log0.6

      \[\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)}}}{e^{\log 2.0}}\]
    8. Applied div-exp0.6

      \[\leadsto \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) - \log 2.0}}\]
    9. Simplified0.6

      \[\leadsto e^{\color{blue}{\log \left(\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)}{2.0}\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification3.1

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

Reproduce

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