Average Error: 16.0 → 6.0
Time: 11.9s
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 1015227874.2528594:\\ \;\;\;\;\frac{e^{\log \left({\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}^{3}\right) - \log \left(\mathsf{fma}\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}, \frac{\beta}{\left(\alpha + \beta\right) + 2}, \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) + \frac{\beta}{\left(\alpha + \beta\right) + 2}\right)\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \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 1015227874.2528594:\\
\;\;\;\;\frac{e^{\log \left({\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}^{3}\right) - \log \left(\mathsf{fma}\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}, \frac{\beta}{\left(\alpha + \beta\right) + 2}, \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) + \frac{\beta}{\left(\alpha + \beta\right) + 2}\right)\right)\right)}}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\

\end{array}
double f(double alpha, double beta) {
        double r101655 = beta;
        double r101656 = alpha;
        double r101657 = r101655 - r101656;
        double r101658 = r101656 + r101655;
        double r101659 = 2.0;
        double r101660 = r101658 + r101659;
        double r101661 = r101657 / r101660;
        double r101662 = 1.0;
        double r101663 = r101661 + r101662;
        double r101664 = r101663 / r101659;
        return r101664;
}

double f(double alpha, double beta) {
        double r101665 = alpha;
        double r101666 = 1015227874.2528594;
        bool r101667 = r101665 <= r101666;
        double r101668 = beta;
        double r101669 = r101665 + r101668;
        double r101670 = 2.0;
        double r101671 = r101669 + r101670;
        double r101672 = r101668 / r101671;
        double r101673 = 3.0;
        double r101674 = pow(r101672, r101673);
        double r101675 = r101665 / r101671;
        double r101676 = 1.0;
        double r101677 = r101675 - r101676;
        double r101678 = pow(r101677, r101673);
        double r101679 = r101674 - r101678;
        double r101680 = log(r101679);
        double r101681 = r101677 + r101672;
        double r101682 = r101677 * r101681;
        double r101683 = fma(r101672, r101672, r101682);
        double r101684 = log(r101683);
        double r101685 = r101680 - r101684;
        double r101686 = exp(r101685);
        double r101687 = r101686 / r101670;
        double r101688 = 4.0;
        double r101689 = r101665 * r101665;
        double r101690 = r101688 / r101689;
        double r101691 = 8.0;
        double r101692 = pow(r101665, r101673);
        double r101693 = r101691 / r101692;
        double r101694 = r101690 - r101693;
        double r101695 = r101670 / r101665;
        double r101696 = r101694 - r101695;
        double r101697 = r101672 - r101696;
        double r101698 = r101697 / r101670;
        double r101699 = r101667 ? r101687 : r101698;
        return r101699;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

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

    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}\]
    7. Using strategy rm
    8. Applied flip3--0.1

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

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

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

    if 1015227874.2528594 < alpha

    1. Initial program 50.3

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1015227874.2528594:\\ \;\;\;\;\frac{e^{\log \left({\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}^{3}\right) - \log \left(\mathsf{fma}\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}, \frac{\beta}{\left(\alpha + \beta\right) + 2}, \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) + \frac{\beta}{\left(\alpha + \beta\right) + 2}\right)\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020047 +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))