Average Error: 15.7 → 5.9
Time: 5.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}\;\alpha \le 1290203807327944437661696:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{\frac{4}{\alpha}}{\alpha} + \frac{-8}{{\alpha}^{3}}\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 1290203807327944437661696:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)}}{2}\\

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

\end{array}
double f(double alpha, double beta) {
        double r163857 = beta;
        double r163858 = alpha;
        double r163859 = r163857 - r163858;
        double r163860 = r163858 + r163857;
        double r163861 = 2.0;
        double r163862 = r163860 + r163861;
        double r163863 = r163859 / r163862;
        double r163864 = 1.0;
        double r163865 = r163863 + r163864;
        double r163866 = r163865 / r163861;
        return r163866;
}

double f(double alpha, double beta) {
        double r163867 = alpha;
        double r163868 = 1.2902038073279444e+24;
        bool r163869 = r163867 <= r163868;
        double r163870 = beta;
        double r163871 = r163867 + r163870;
        double r163872 = 2.0;
        double r163873 = r163871 + r163872;
        double r163874 = r163870 / r163873;
        double r163875 = r163867 / r163873;
        double r163876 = 1.0;
        double r163877 = r163875 - r163876;
        double r163878 = r163874 - r163877;
        double r163879 = log(r163878);
        double r163880 = exp(r163879);
        double r163881 = r163880 / r163872;
        double r163882 = 4.0;
        double r163883 = r163882 / r163867;
        double r163884 = r163883 / r163867;
        double r163885 = 8.0;
        double r163886 = -r163885;
        double r163887 = 3.0;
        double r163888 = pow(r163867, r163887);
        double r163889 = r163886 / r163888;
        double r163890 = r163884 + r163889;
        double r163891 = -r163872;
        double r163892 = r163891 / r163867;
        double r163893 = r163890 + r163892;
        double r163894 = r163874 - r163893;
        double r163895 = r163894 / r163872;
        double r163896 = r163869 ? r163881 : r163895;
        return r163896;
}

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 < 1.2902038073279444e+24

    1. Initial program 0.7

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

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

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

      \[\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}\]

    if 1.2902038073279444e+24 < alpha

    1. Initial program 50.1

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

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

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

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

Reproduce

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