Average Error: 16.2 → 5.9
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 16045536794042094:\\ \;\;\;\;\frac{e^{\sqrt[3]{{\left(\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}^{3}}}}{2}\\ \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 16045536794042094:\\
\;\;\;\;\frac{e^{\sqrt[3]{{\left(\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}^{3}}}}{2}\\

\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 r110209 = beta;
        double r110210 = alpha;
        double r110211 = r110209 - r110210;
        double r110212 = r110210 + r110209;
        double r110213 = 2.0;
        double r110214 = r110212 + r110213;
        double r110215 = r110211 / r110214;
        double r110216 = 1.0;
        double r110217 = r110215 + r110216;
        double r110218 = r110217 / r110213;
        return r110218;
}

double f(double alpha, double beta) {
        double r110219 = alpha;
        double r110220 = 16045536794042094.0;
        bool r110221 = r110219 <= r110220;
        double r110222 = beta;
        double r110223 = r110219 + r110222;
        double r110224 = 2.0;
        double r110225 = r110223 + r110224;
        double r110226 = r110222 / r110225;
        double r110227 = r110219 / r110225;
        double r110228 = 1.0;
        double r110229 = r110227 - r110228;
        double r110230 = r110226 - r110229;
        double r110231 = log(r110230);
        double r110232 = 3.0;
        double r110233 = pow(r110231, r110232);
        double r110234 = cbrt(r110233);
        double r110235 = exp(r110234);
        double r110236 = r110235 / r110224;
        double r110237 = 4.0;
        double r110238 = 1.0;
        double r110239 = 2.0;
        double r110240 = pow(r110219, r110239);
        double r110241 = r110238 / r110240;
        double r110242 = r110238 / r110219;
        double r110243 = 8.0;
        double r110244 = pow(r110219, r110232);
        double r110245 = r110238 / r110244;
        double r110246 = r110243 * r110245;
        double r110247 = fma(r110224, r110242, r110246);
        double r110248 = -r110247;
        double r110249 = fma(r110237, r110241, r110248);
        double r110250 = r110226 - r110249;
        double r110251 = r110250 / r110224;
        double r110252 = r110221 ? r110236 : r110251;
        return r110252;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

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

    1. Initial program 0.4

      \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied div-sub0.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-0.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-log0.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 add-cbrt-cube0.4

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

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

    if 16045536794042094.0 < alpha

    1. Initial program 51.0

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 16045536794042094:\\ \;\;\;\;\frac{e^{\sqrt[3]{{\left(\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}^{3}}}}{2}\\ \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 2020039 +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))