Average Error: 16.9 → 6.1
Time: 5.5s
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 133385665748825.19:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\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 133385665748825.19:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\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 r127436 = beta;
        double r127437 = alpha;
        double r127438 = r127436 - r127437;
        double r127439 = r127437 + r127436;
        double r127440 = 2.0;
        double r127441 = r127439 + r127440;
        double r127442 = r127438 / r127441;
        double r127443 = 1.0;
        double r127444 = r127442 + r127443;
        double r127445 = r127444 / r127440;
        return r127445;
}

double f(double alpha, double beta) {
        double r127446 = alpha;
        double r127447 = 133385665748825.19;
        bool r127448 = r127446 <= r127447;
        double r127449 = beta;
        double r127450 = r127446 + r127449;
        double r127451 = 2.0;
        double r127452 = r127450 + r127451;
        double r127453 = r127449 / r127452;
        double r127454 = r127446 / r127452;
        double r127455 = 1.0;
        double r127456 = r127454 - r127455;
        double r127457 = exp(r127456);
        double r127458 = log(r127457);
        double r127459 = r127453 - r127458;
        double r127460 = log(r127459);
        double r127461 = exp(r127460);
        double r127462 = r127461 / r127451;
        double r127463 = 4.0;
        double r127464 = r127463 / r127446;
        double r127465 = r127464 / r127446;
        double r127466 = 8.0;
        double r127467 = -r127466;
        double r127468 = 3.0;
        double r127469 = pow(r127446, r127468);
        double r127470 = r127467 / r127469;
        double r127471 = r127465 + r127470;
        double r127472 = -r127451;
        double r127473 = r127472 / r127446;
        double r127474 = r127471 + r127473;
        double r127475 = r127453 - r127474;
        double r127476 = r127475 / r127451;
        double r127477 = r127448 ? r127462 : r127476;
        return r127477;
}

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

    1. Initial program 0.3

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

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

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

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

      \[\leadsto \frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - \color{blue}{\log \left(e^{1}\right)}\right)\right)}}{2}\]
    9. Applied add-log-exp0.3

      \[\leadsto \frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\color{blue}{\log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2}}\right)} - \log \left(e^{1}\right)\right)\right)}}{2}\]
    10. Applied diff-log0.3

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

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

    if 133385665748825.19 < alpha

    1. Initial program 50.6

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 133385665748825.19:\\ \;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\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 2020036 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))