Average Error: 3.8 → 2.5
Time: 25.9s
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}\;\alpha \le 5.056793302986320848262884903425314505228 \cdot 10^{175}:\\ \;\;\;\;\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)}}{1 \cdot 2 + \left(\left(\alpha + \beta\right) + 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{2}{{\alpha}^{2}} + \left(1 - \frac{1}{\alpha}\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{1 \cdot 2 + \left(\left(\alpha + \beta\right) + 1\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}\;\alpha \le 5.056793302986320848262884903425314505228 \cdot 10^{175}:\\
\;\;\;\;\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)}}{1 \cdot 2 + \left(\left(\alpha + \beta\right) + 1\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r116395 = alpha;
        double r116396 = beta;
        double r116397 = r116395 + r116396;
        double r116398 = r116396 * r116395;
        double r116399 = r116397 + r116398;
        double r116400 = 1.0;
        double r116401 = r116399 + r116400;
        double r116402 = 2.0;
        double r116403 = r116402 * r116400;
        double r116404 = r116397 + r116403;
        double r116405 = r116401 / r116404;
        double r116406 = r116405 / r116404;
        double r116407 = r116404 + r116400;
        double r116408 = r116406 / r116407;
        return r116408;
}

double f(double alpha, double beta) {
        double r116409 = alpha;
        double r116410 = 5.056793302986321e+175;
        bool r116411 = r116409 <= r116410;
        double r116412 = 1.0;
        double r116413 = beta;
        double r116414 = r116409 + r116413;
        double r116415 = fma(r116409, r116413, r116414);
        double r116416 = r116412 + r116415;
        double r116417 = 2.0;
        double r116418 = fma(r116412, r116417, r116414);
        double r116419 = r116416 / r116418;
        double r116420 = r116419 / r116418;
        double r116421 = r116412 * r116417;
        double r116422 = r116414 + r116412;
        double r116423 = r116421 + r116422;
        double r116424 = r116420 / r116423;
        double r116425 = 2.0;
        double r116426 = pow(r116409, r116425);
        double r116427 = r116417 / r116426;
        double r116428 = 1.0;
        double r116429 = r116412 / r116409;
        double r116430 = r116428 - r116429;
        double r116431 = r116427 + r116430;
        double r116432 = r116431 / r116418;
        double r116433 = r116432 / r116423;
        double r116434 = r116411 ? r116424 : r116433;
        return r116434;
}

Error

Bits error versus alpha

Bits error versus beta

Derivation

  1. Split input into 2 regimes
  2. if alpha < 5.056793302986321e+175

    1. Initial program 1.7

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

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

      \[\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}{\left(1 \cdot 2 + \left(\alpha + \beta\right)\right)} + 1}\]
    5. Applied associate-+l+1.7

      \[\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}{1 \cdot 2 + \left(\left(\alpha + \beta\right) + 1\right)}}\]

    if 5.056793302986321e+175 < alpha

    1. Initial program 16.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. Simplified16.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. Using strategy rm
    4. Applied fma-udef16.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}{\left(1 \cdot 2 + \left(\alpha + \beta\right)\right)} + 1}\]
    5. Applied associate-+l+16.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}{1 \cdot 2 + \left(\left(\alpha + \beta\right) + 1\right)}}\]
    6. Taylor expanded around inf 7.4

      \[\leadsto \frac{\frac{\color{blue}{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{1 \cdot 2 + \left(\left(\alpha + \beta\right) + 1\right)}\]
    7. Simplified7.4

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

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