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

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

\end{array}
double f(double alpha, double beta) {
        double r3950628 = beta;
        double r3950629 = alpha;
        double r3950630 = r3950628 - r3950629;
        double r3950631 = r3950629 + r3950628;
        double r3950632 = 2.0;
        double r3950633 = r3950631 + r3950632;
        double r3950634 = r3950630 / r3950633;
        double r3950635 = 1.0;
        double r3950636 = r3950634 + r3950635;
        double r3950637 = r3950636 / r3950632;
        return r3950637;
}

double f(double alpha, double beta) {
        double r3950638 = alpha;
        double r3950639 = 1470024490.544248;
        bool r3950640 = r3950638 <= r3950639;
        double r3950641 = beta;
        double r3950642 = 2.0;
        double r3950643 = r3950641 + r3950638;
        double r3950644 = r3950642 + r3950643;
        double r3950645 = r3950641 / r3950644;
        double r3950646 = r3950638 / r3950644;
        double r3950647 = 1.0;
        double r3950648 = r3950646 - r3950647;
        double r3950649 = r3950645 - r3950648;
        double r3950650 = r3950649 / r3950642;
        double r3950651 = log(r3950650);
        double r3950652 = exp(r3950651);
        double r3950653 = 1.0;
        double r3950654 = r3950653 - r3950647;
        double r3950655 = 4.0;
        double r3950656 = r3950655 / r3950638;
        double r3950657 = r3950656 / r3950638;
        double r3950658 = r3950654 + r3950657;
        double r3950659 = r3950642 / r3950638;
        double r3950660 = r3950658 - r3950659;
        double r3950661 = r3950645 - r3950660;
        double r3950662 = r3950661 / r3950642;
        double r3950663 = r3950640 ? r3950652 : r3950662;
        return r3950663;
}

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

    1. Initial program 0.1

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

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

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

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

    if 1470024490.544248 < alpha

    1. Initial program 49.9

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

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

      \[\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-exp48.4

      \[\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-exp48.4

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

      \[\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. Taylor expanded around inf 17.9

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1470024490.544248104095458984375:\\ \;\;\;\;e^{\log \left(\frac{\frac{\beta}{2 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2 + \left(\beta + \alpha\right)} - 1\right)}{2}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2 + \left(\beta + \alpha\right)} - \left(\left(\left(1 - 1\right) + \frac{\frac{4}{\alpha}}{\alpha}\right) - \frac{2}{\alpha}\right)}{2}\\ \end{array}\]

Reproduce

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