Average Error: 16.3 → 3.2
Time: 21.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}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -0.9999999551912412:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\log \left(1.0 + \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0}\right)}}{2.0}\\ \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 -0.9999999551912412:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)\right)}{2.0}\\

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

\end{array}
double f(double alpha, double beta) {
        double r4097715 = beta;
        double r4097716 = alpha;
        double r4097717 = r4097715 - r4097716;
        double r4097718 = r4097716 + r4097715;
        double r4097719 = 2.0;
        double r4097720 = r4097718 + r4097719;
        double r4097721 = r4097717 / r4097720;
        double r4097722 = 1.0;
        double r4097723 = r4097721 + r4097722;
        double r4097724 = r4097723 / r4097719;
        return r4097724;
}

double f(double alpha, double beta) {
        double r4097725 = beta;
        double r4097726 = alpha;
        double r4097727 = r4097725 - r4097726;
        double r4097728 = r4097726 + r4097725;
        double r4097729 = 2.0;
        double r4097730 = r4097728 + r4097729;
        double r4097731 = r4097727 / r4097730;
        double r4097732 = -0.9999999551912412;
        bool r4097733 = r4097731 <= r4097732;
        double r4097734 = r4097725 / r4097730;
        double r4097735 = 4.0;
        double r4097736 = r4097726 * r4097726;
        double r4097737 = r4097735 / r4097736;
        double r4097738 = r4097729 / r4097726;
        double r4097739 = 8.0;
        double r4097740 = r4097739 / r4097726;
        double r4097741 = r4097740 / r4097736;
        double r4097742 = r4097738 + r4097741;
        double r4097743 = r4097737 - r4097742;
        double r4097744 = r4097734 - r4097743;
        double r4097745 = r4097744 / r4097729;
        double r4097746 = 1.0;
        double r4097747 = r4097746 + r4097731;
        double r4097748 = log(r4097747);
        double r4097749 = exp(r4097748);
        double r4097750 = r4097749 / r4097729;
        double r4097751 = r4097733 ? r4097745 : r4097750;
        return r4097751;
}

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)) < -0.9999999551912412

    1. Initial program 59.7

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied div-sub59.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-57.8

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

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

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

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

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

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

Reproduce

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