Average Error: 15.9 → 6.0
Time: 16.1s
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 11629067263522.379:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\beta \cdot \frac{1}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\frac{4.0}{\alpha}}{\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 11629067263522.379:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\frac{4.0}{\alpha}}{\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 r4046265 = beta;
        double r4046266 = alpha;
        double r4046267 = r4046265 - r4046266;
        double r4046268 = r4046266 + r4046265;
        double r4046269 = 2.0;
        double r4046270 = r4046268 + r4046269;
        double r4046271 = r4046267 / r4046270;
        double r4046272 = 1.0;
        double r4046273 = r4046271 + r4046272;
        double r4046274 = r4046273 / r4046269;
        return r4046274;
}

double f(double alpha, double beta) {
        double r4046275 = alpha;
        double r4046276 = 11629067263522.379;
        bool r4046277 = r4046275 <= r4046276;
        double r4046278 = beta;
        double r4046279 = 2.0;
        double r4046280 = r4046278 + r4046275;
        double r4046281 = r4046279 + r4046280;
        double r4046282 = r4046278 / r4046281;
        double r4046283 = r4046275 / r4046281;
        double r4046284 = 1.0;
        double r4046285 = r4046283 - r4046284;
        double r4046286 = r4046282 - r4046285;
        double r4046287 = log(r4046286);
        double r4046288 = exp(r4046287);
        double r4046289 = r4046288 / r4046279;
        double r4046290 = 1.0;
        double r4046291 = r4046290 / r4046281;
        double r4046292 = r4046278 * r4046291;
        double r4046293 = 4.0;
        double r4046294 = r4046293 / r4046275;
        double r4046295 = r4046294 / r4046275;
        double r4046296 = r4046279 / r4046275;
        double r4046297 = 8.0;
        double r4046298 = r4046275 * r4046275;
        double r4046299 = r4046275 * r4046298;
        double r4046300 = r4046297 / r4046299;
        double r4046301 = r4046296 + r4046300;
        double r4046302 = r4046295 - r4046301;
        double r4046303 = r4046292 - r4046302;
        double r4046304 = r4046303 / r4046279;
        double r4046305 = r4046277 ? r4046289 : r4046304;
        return r4046305;
}

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

    1. Initial program 0.3

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

      \[\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.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. Using strategy rm
    6. Applied add-exp-log0.3

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

    if 11629067263522.379 < alpha

    1. Initial program 49.9

      \[\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. Using strategy rm
    6. Applied div-inv48.3

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

      \[\leadsto \frac{\beta \cdot \frac{1}{\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}\]
    8. Simplified18.5

      \[\leadsto \frac{\beta \cdot \frac{1}{\left(\alpha + \beta\right) + 2.0} - \color{blue}{\left(\frac{\frac{4.0}{\alpha}}{\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 11629067263522.379:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\beta \cdot \frac{1}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\frac{4.0}{\alpha}}{\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 2019163 
(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))