Average Error: 3.6 → 1.5
Time: 39.7s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
\[\begin{array}{l} \mathbf{if}\;\beta \le 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\ \;\;\;\;\frac{\frac{1}{\frac{1}{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)} \cdot \frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\ \end{array}\]
\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}
\begin{array}{l}
\mathbf{if}\;\beta \le 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{1}{\frac{1}{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)} \cdot \frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\

\end{array}
double f(double alpha, double beta) {
        double r92582 = alpha;
        double r92583 = beta;
        double r92584 = r92582 + r92583;
        double r92585 = r92583 * r92582;
        double r92586 = r92584 + r92585;
        double r92587 = 1.0;
        double r92588 = r92586 + r92587;
        double r92589 = 2.0;
        double r92590 = r92589 * r92587;
        double r92591 = r92584 + r92590;
        double r92592 = r92588 / r92591;
        double r92593 = r92592 / r92591;
        double r92594 = r92591 + r92587;
        double r92595 = r92593 / r92594;
        return r92595;
}

double f(double alpha, double beta) {
        double r92596 = beta;
        double r92597 = 2.4580673707165206e+153;
        bool r92598 = r92596 <= r92597;
        double r92599 = 1.0;
        double r92600 = 1.0;
        double r92601 = alpha;
        double r92602 = r92601 + r92596;
        double r92603 = fma(r92601, r92596, r92602);
        double r92604 = r92600 + r92603;
        double r92605 = r92599 / r92604;
        double r92606 = 2.0;
        double r92607 = fma(r92600, r92606, r92602);
        double r92608 = r92599 / r92607;
        double r92609 = r92607 / r92608;
        double r92610 = r92605 * r92609;
        double r92611 = r92599 / r92610;
        double r92612 = r92607 + r92600;
        double r92613 = r92611 / r92612;
        double r92614 = 2.0;
        double r92615 = r92596 / r92601;
        double r92616 = r92601 / r92596;
        double r92617 = r92615 + r92616;
        double r92618 = r92614 + r92617;
        double r92619 = r92599 / r92618;
        double r92620 = r92619 / r92612;
        double r92621 = r92598 ? r92613 : r92620;
        return r92621;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if beta < 2.4580673707165206e+153

    1. Initial program 1.0

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    2. Simplified1.0

      \[\leadsto \color{blue}{\frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity1.0

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\color{blue}{1 \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    5. Applied *-un-lft-identity1.0

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \left(1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)\right)}}{1 \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    6. Applied times-frac1.0

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{1} \cdot \frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    7. Applied associate-/l*1.0

      \[\leadsto \frac{\color{blue}{\frac{\frac{1}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    8. Using strategy rm
    9. Applied div-inv1.0

      \[\leadsto \frac{\frac{\frac{1}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\color{blue}{\left(1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)\right) \cdot \frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    10. Applied *-un-lft-identity1.0

      \[\leadsto \frac{\frac{\frac{1}{1}}{\frac{\color{blue}{1 \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)\right) \cdot \frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    11. Applied times-frac1.6

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

    if 2.4580673707165206e+153 < beta

    1. Initial program 16.2

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
    2. Simplified16.2

      \[\leadsto \color{blue}{\frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity16.2

      \[\leadsto \frac{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\color{blue}{1 \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    5. Applied *-un-lft-identity16.2

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \left(1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)\right)}}{1 \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    6. Applied times-frac16.2

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{1} \cdot \frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    7. Applied associate-/l*16.2

      \[\leadsto \frac{\color{blue}{\frac{\frac{1}{1}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
    8. Taylor expanded around inf 1.1

      \[\leadsto \frac{\frac{\frac{1}{1}}{\color{blue}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification1.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;\beta \le 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\ \;\;\;\;\frac{\frac{1}{\frac{1}{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)} \cdot \frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\ \end{array}\]

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/3"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1))
  (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1)))