Average Error: 16.4 → 6.1
Time: 24.7s
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 16738773.27412901632487773895263671875:\\ \;\;\;\;\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(\frac{4}{\alpha \cdot \alpha} - \left(\frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha} + \frac{2}{\alpha}\right)\right)}{2}\\ \end{array}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 16738773.27412901632487773895263671875:\\
\;\;\;\;\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(\frac{4}{\alpha \cdot \alpha} - \left(\frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha} + \frac{2}{\alpha}\right)\right)}{2}\\

\end{array}
double f(double alpha, double beta) {
        double r8996414 = beta;
        double r8996415 = alpha;
        double r8996416 = r8996414 - r8996415;
        double r8996417 = r8996415 + r8996414;
        double r8996418 = 2.0;
        double r8996419 = r8996417 + r8996418;
        double r8996420 = r8996416 / r8996419;
        double r8996421 = 1.0;
        double r8996422 = r8996420 + r8996421;
        double r8996423 = r8996422 / r8996418;
        return r8996423;
}

double f(double alpha, double beta) {
        double r8996424 = alpha;
        double r8996425 = 16738773.274129016;
        bool r8996426 = r8996424 <= r8996425;
        double r8996427 = beta;
        double r8996428 = r8996424 + r8996427;
        double r8996429 = 2.0;
        double r8996430 = r8996428 + r8996429;
        double r8996431 = r8996427 / r8996430;
        double r8996432 = r8996424 / r8996430;
        double r8996433 = 1.0;
        double r8996434 = r8996432 - r8996433;
        double r8996435 = r8996431 - r8996434;
        double r8996436 = log(r8996435);
        double r8996437 = exp(r8996436);
        double r8996438 = r8996437 / r8996429;
        double r8996439 = 4.0;
        double r8996440 = r8996424 * r8996424;
        double r8996441 = r8996439 / r8996440;
        double r8996442 = 8.0;
        double r8996443 = r8996440 * r8996424;
        double r8996444 = r8996442 / r8996443;
        double r8996445 = r8996429 / r8996424;
        double r8996446 = r8996444 + r8996445;
        double r8996447 = r8996441 - r8996446;
        double r8996448 = r8996431 - r8996447;
        double r8996449 = r8996448 / r8996429;
        double r8996450 = r8996426 ? r8996438 : r8996449;
        return r8996450;
}

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

    1. Initial program 0.1

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

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

      \[\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 16738773.274129016 < alpha

    1. Initial program 49.9

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 16738773.27412901632487773895263671875:\\ \;\;\;\;\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(\frac{4}{\alpha \cdot \alpha} - \left(\frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha} + \frac{2}{\alpha}\right)\right)}{2}\\ \end{array}\]

Reproduce

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