Average Error: 16.4 → 6.2
Time: 10.8s
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 6.48438097382688997 \cdot 10^{29}:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, -1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\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}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 6.48438097382688997 \cdot 10^{29}:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, -1\right)\right)}}{2}\\

\mathbf{else}:\\
\;\;\;\;\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}\\

\end{array}
double f(double alpha, double beta) {
        double r149848 = beta;
        double r149849 = alpha;
        double r149850 = r149848 - r149849;
        double r149851 = r149849 + r149848;
        double r149852 = 2.0;
        double r149853 = r149851 + r149852;
        double r149854 = r149850 / r149853;
        double r149855 = 1.0;
        double r149856 = r149854 + r149855;
        double r149857 = r149856 / r149852;
        return r149857;
}

double f(double alpha, double beta) {
        double r149858 = alpha;
        double r149859 = 6.48438097382689e+29;
        bool r149860 = r149858 <= r149859;
        double r149861 = beta;
        double r149862 = r149858 + r149861;
        double r149863 = 2.0;
        double r149864 = r149862 + r149863;
        double r149865 = r149861 / r149864;
        double r149866 = 1.0;
        double r149867 = r149866 / r149864;
        double r149868 = 1.0;
        double r149869 = -r149868;
        double r149870 = fma(r149858, r149867, r149869);
        double r149871 = r149865 - r149870;
        double r149872 = log(r149871);
        double r149873 = exp(r149872);
        double r149874 = r149873 / r149863;
        double r149875 = 4.0;
        double r149876 = r149858 * r149858;
        double r149877 = r149875 / r149876;
        double r149878 = r149863 / r149858;
        double r149879 = r149877 - r149878;
        double r149880 = 8.0;
        double r149881 = 3.0;
        double r149882 = pow(r149858, r149881);
        double r149883 = r149880 / r149882;
        double r149884 = r149879 - r149883;
        double r149885 = r149865 - r149884;
        double r149886 = r149885 / r149863;
        double r149887 = r149860 ? r149874 : r149886;
        return r149887;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 6.48438097382689e+29

    1. Initial program 1.4

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

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

      \[\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)}}}{2}\]
    7. Using strategy rm
    8. Applied div-inv1.4

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

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

    if 6.48438097382689e+29 < alpha

    1. Initial program 52.1

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

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

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

      \[\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}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 6.48438097382688997 \cdot 10^{29}:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(\alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, -1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\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}\\ \end{array}\]

Reproduce

herbie shell --seed 2020043 +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))