Average Error: 3.8 → 2.3
Time: 25.4s
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 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\ \;\;\;\;\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)}}{\alpha + \left(\beta + 3\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) \cdot \left(3 + \left(\alpha + \beta\right)\right)}\\ \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 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\
\;\;\;\;\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)}}{\alpha + \left(\beta + 3\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r141218 = alpha;
        double r141219 = beta;
        double r141220 = r141218 + r141219;
        double r141221 = r141219 * r141218;
        double r141222 = r141220 + r141221;
        double r141223 = 1.0;
        double r141224 = r141222 + r141223;
        double r141225 = 2.0;
        double r141226 = r141225 * r141223;
        double r141227 = r141220 + r141226;
        double r141228 = r141224 / r141227;
        double r141229 = r141228 / r141227;
        double r141230 = r141227 + r141223;
        double r141231 = r141229 / r141230;
        return r141231;
}

double f(double alpha, double beta) {
        double r141232 = beta;
        double r141233 = 6.375269332570683e+160;
        bool r141234 = r141232 <= r141233;
        double r141235 = 1.0;
        double r141236 = alpha;
        double r141237 = r141236 + r141232;
        double r141238 = fma(r141236, r141232, r141237);
        double r141239 = r141235 + r141238;
        double r141240 = 2.0;
        double r141241 = fma(r141235, r141240, r141237);
        double r141242 = r141239 / r141241;
        double r141243 = r141242 / r141241;
        double r141244 = 3.0;
        double r141245 = r141232 + r141244;
        double r141246 = r141236 + r141245;
        double r141247 = r141243 / r141246;
        double r141248 = 0.25;
        double r141249 = 0.5;
        double r141250 = fma(r141232, r141248, r141249);
        double r141251 = fma(r141248, r141236, r141250);
        double r141252 = r141244 + r141237;
        double r141253 = r141241 * r141252;
        double r141254 = r141251 / r141253;
        double r141255 = r141234 ? r141247 : r141254;
        return r141255;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if beta < 6.375269332570683e+160

    1. Initial program 1.3

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

      \[\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. Taylor expanded around 0 1.3

      \[\leadsto \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)}}{\color{blue}{\alpha + \left(3 + \beta\right)}}\]
    4. Simplified1.3

      \[\leadsto \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)}}{\color{blue}{\alpha + \left(\beta + 3\right)}}\]

    if 6.375269332570683e+160 < beta

    1. Initial program 17.5

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

      \[\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. Taylor expanded around 0 17.5

      \[\leadsto \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)}}{\color{blue}{\alpha + \left(3 + \beta\right)}}\]
    4. Simplified17.5

      \[\leadsto \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)}}{\color{blue}{\alpha + \left(\beta + 3\right)}}\]
    5. Using strategy rm
    6. Applied div-inv17.5

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

      \[\leadsto \color{blue}{\frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\frac{\alpha + \left(\beta + 3\right)}{\frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}\]
    8. Simplified18.7

      \[\leadsto \frac{\frac{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\color{blue}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) \cdot \left(3 + \left(\alpha + \beta\right)\right)}}\]
    9. Taylor expanded around 0 8.0

      \[\leadsto \frac{\color{blue}{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) \cdot \left(3 + \left(\alpha + \beta\right)\right)}\]
    10. Simplified8.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\beta \le 6.375269332570682982425723545116600911087 \cdot 10^{160}:\\ \;\;\;\;\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)}}{\alpha + \left(\beta + 3\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) \cdot \left(3 + \left(\alpha + \beta\right)\right)}\\ \end{array}\]

Reproduce

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