Average Error: 16.3 → 6.0
Time: 29.5s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 1898265.8597097537:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0}{2} + \log \left(\sqrt{e^{\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0}}\right)\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)\right)}{2.0}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 1898265.8597097537:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0}{2} + \log \left(\sqrt{e^{\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0}}\right)\right)}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)\right)}{2.0}\\

\end{array}
double f(double alpha, double beta) {
        double r2492152 = beta;
        double r2492153 = alpha;
        double r2492154 = r2492152 - r2492153;
        double r2492155 = r2492153 + r2492152;
        double r2492156 = 2.0;
        double r2492157 = r2492155 + r2492156;
        double r2492158 = r2492154 / r2492157;
        double r2492159 = 1.0;
        double r2492160 = r2492158 + r2492159;
        double r2492161 = r2492160 / r2492156;
        return r2492161;
}

double f(double alpha, double beta) {
        double r2492162 = alpha;
        double r2492163 = 1898265.8597097537;
        bool r2492164 = r2492162 <= r2492163;
        double r2492165 = beta;
        double r2492166 = 2.0;
        double r2492167 = r2492165 + r2492162;
        double r2492168 = r2492166 + r2492167;
        double r2492169 = r2492165 / r2492168;
        double r2492170 = r2492162 / r2492168;
        double r2492171 = 1.0;
        double r2492172 = r2492170 - r2492171;
        double r2492173 = 2.0;
        double r2492174 = r2492172 / r2492173;
        double r2492175 = exp(r2492172);
        double r2492176 = sqrt(r2492175);
        double r2492177 = log(r2492176);
        double r2492178 = r2492174 + r2492177;
        double r2492179 = r2492169 - r2492178;
        double r2492180 = r2492179 / r2492166;
        double r2492181 = 4.0;
        double r2492182 = r2492162 * r2492162;
        double r2492183 = r2492181 / r2492182;
        double r2492184 = r2492166 / r2492162;
        double r2492185 = 8.0;
        double r2492186 = r2492162 * r2492182;
        double r2492187 = r2492185 / r2492186;
        double r2492188 = r2492184 + r2492187;
        double r2492189 = r2492183 - r2492188;
        double r2492190 = r2492169 - r2492189;
        double r2492191 = r2492190 / r2492166;
        double r2492192 = r2492164 ? r2492180 : r2492191;
        return r2492192;
}

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

    1. Initial program 0.1

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)} + 1.0}{2.0}\]
    4. Applied associate-+l-0.1

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}{2.0}\]
    5. Using strategy rm
    6. Applied add-log-exp0.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}\right)}}{2.0}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt0.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \log \color{blue}{\left(\sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}} \cdot \sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}}\right)}}{2.0}\]
    9. Applied log-prod0.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(\log \left(\sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}}\right) + \log \left(\sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}}\right)\right)}}{2.0}\]
    10. Using strategy rm
    11. Applied *-un-lft-identity0.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\log \left(\sqrt{e^{\color{blue}{1 \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}}\right) + \log \left(\sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}}\right)\right)}{2.0}\]
    12. Applied exp-prod0.1

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\log \left(\sqrt{\color{blue}{{\left(e^{1}\right)}^{\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}}\right) + \log \left(\sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}}\right)\right)}{2.0}\]
    13. Applied sqrt-pow10.1

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

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\color{blue}{\frac{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}{2} \cdot \log \left(e^{1}\right)} + \log \left(\sqrt{e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0}}\right)\right)}{2.0}\]
    15. Simplified0.1

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

    if 1898265.8597097537 < alpha

    1. Initial program 50.0

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \frac{\alpha}{\left(\alpha + \beta\right) + 2.0}\right)} + 1.0}{2.0}\]
    4. Applied associate-+l-48.3

      \[\leadsto \frac{\color{blue}{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}}{2.0}\]
    5. Taylor expanded around inf 18.2

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(4.0 \cdot \frac{1}{{\alpha}^{2}} - \left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}}{2.0}\]
    6. Simplified18.2

      \[\leadsto \frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \frac{2.0}{\alpha}\right)\right)}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1898265.8597097537:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0}{2} + \log \left(\sqrt{e^{\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0}}\right)\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)\right)}{2.0}\\ \end{array}\]

Reproduce

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