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

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\

\end{array}
double f(double alpha, double beta) {
        double r161520 = beta;
        double r161521 = alpha;
        double r161522 = r161520 - r161521;
        double r161523 = r161521 + r161520;
        double r161524 = 2.0;
        double r161525 = r161523 + r161524;
        double r161526 = r161522 / r161525;
        double r161527 = 1.0;
        double r161528 = r161526 + r161527;
        double r161529 = r161528 / r161524;
        return r161529;
}

double f(double alpha, double beta) {
        double r161530 = alpha;
        double r161531 = 2780207232289.987;
        bool r161532 = r161530 <= r161531;
        double r161533 = exp(1.0);
        double r161534 = beta;
        double r161535 = r161530 + r161534;
        double r161536 = 2.0;
        double r161537 = r161535 + r161536;
        double r161538 = r161534 / r161537;
        double r161539 = r161530 / r161537;
        double r161540 = 1.0;
        double r161541 = r161539 - r161540;
        double r161542 = r161538 - r161541;
        double r161543 = r161542 / r161536;
        double r161544 = log(r161543);
        double r161545 = pow(r161533, r161544);
        double r161546 = 4.0;
        double r161547 = 1.0;
        double r161548 = 2.0;
        double r161549 = pow(r161530, r161548);
        double r161550 = r161547 / r161549;
        double r161551 = r161547 / r161530;
        double r161552 = 8.0;
        double r161553 = 3.0;
        double r161554 = pow(r161530, r161553);
        double r161555 = r161547 / r161554;
        double r161556 = r161552 * r161555;
        double r161557 = fma(r161536, r161551, r161556);
        double r161558 = -r161557;
        double r161559 = fma(r161546, r161550, r161558);
        double r161560 = r161538 - r161559;
        double r161561 = r161560 / r161536;
        double r161562 = r161532 ? r161545 : r161561;
        return r161562;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 2780207232289.987

    1. Initial program 0.3

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

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

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

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

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

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

      \[\leadsto e^{\color{blue}{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\right)}}\]
    10. Using strategy rm
    11. Applied pow10.3

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

      \[\leadsto e^{\color{blue}{1 \cdot \log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\right)}}\]
    13. Applied exp-prod0.3

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

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

    if 2780207232289.987 < alpha

    1. Initial program 50.3

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

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

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

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \color{blue}{\mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 2780207232289.98682:\\ \;\;\;\;{e}^{\left(\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\ \end{array}\]

Reproduce

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