Average Error: 16.8 → 3.2
Time: 8.4s
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}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} \le -1:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}{2}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} \le -1:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\

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

\end{array}
double f(double alpha, double beta) {
        double r103782 = beta;
        double r103783 = alpha;
        double r103784 = r103782 - r103783;
        double r103785 = r103783 + r103782;
        double r103786 = 2.0;
        double r103787 = r103785 + r103786;
        double r103788 = r103784 / r103787;
        double r103789 = 1.0;
        double r103790 = r103788 + r103789;
        double r103791 = r103790 / r103786;
        return r103791;
}

double f(double alpha, double beta) {
        double r103792 = beta;
        double r103793 = alpha;
        double r103794 = r103792 - r103793;
        double r103795 = r103793 + r103792;
        double r103796 = 2.0;
        double r103797 = r103795 + r103796;
        double r103798 = r103794 / r103797;
        double r103799 = -1.0;
        bool r103800 = r103798 <= r103799;
        double r103801 = r103792 / r103797;
        double r103802 = 4.0;
        double r103803 = r103793 * r103793;
        double r103804 = r103802 / r103803;
        double r103805 = r103796 / r103793;
        double r103806 = r103804 - r103805;
        double r103807 = 8.0;
        double r103808 = 3.0;
        double r103809 = pow(r103793, r103808);
        double r103810 = r103807 / r103809;
        double r103811 = r103806 - r103810;
        double r103812 = r103801 - r103811;
        double r103813 = r103812 / r103796;
        double r103814 = r103793 / r103797;
        double r103815 = 1.0;
        double r103816 = r103814 - r103815;
        double r103817 = exp(r103816);
        double r103818 = log(r103817);
        double r103819 = r103801 - r103818;
        double r103820 = r103819 / r103796;
        double r103821 = r103800 ? r103813 : r103820;
        return r103821;
}

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} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub60.6

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

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}}{2}\]
    5. Taylor expanded around inf 10.4

      \[\leadsto \frac{\frac{\beta}{\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)}}{2}\]
    6. Simplified10.4

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}}{2}\]

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

    1. Initial program 0.6

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

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

      \[\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-log-exp0.6

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - \color{blue}{\log \left(e^{1}\right)}\right)}{2}\]
    7. Applied add-log-exp0.6

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\color{blue}{\log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2}}\right)} - \log \left(e^{1}\right)\right)}{2}\]
    8. Applied diff-log0.6

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\log \left(\frac{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2}}}{e^{1}}\right)}}{2}\]
    9. Simplified0.6

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \color{blue}{\left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}}{2}\]
  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} \le -1:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))