Average Error: 3.3 → 1.1
Time: 5.0m
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 6.2498429104423194 \cdot 10^{+159}:\\ \;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\left(\left(\beta + \alpha\right) + \beta \cdot \alpha\right) + 1.0}{\left(\beta + \alpha\right) + 2}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{\beta}{\alpha} + \left(2 + \frac{\alpha}{\beta}\right)}\\ \end{array}\]
\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 6.2498429104423194 \cdot 10^{+159}:\\
\;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\left(\left(\beta + \alpha\right) + \beta \cdot \alpha\right) + 1.0}{\left(\beta + \alpha\right) + 2}}}\\

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

\end{array}
double f(double alpha, double beta) {
        double r6125700 = alpha;
        double r6125701 = beta;
        double r6125702 = r6125700 + r6125701;
        double r6125703 = r6125701 * r6125700;
        double r6125704 = r6125702 + r6125703;
        double r6125705 = 1.0;
        double r6125706 = r6125704 + r6125705;
        double r6125707 = 2.0;
        double r6125708 = 1.0;
        double r6125709 = r6125707 * r6125708;
        double r6125710 = r6125702 + r6125709;
        double r6125711 = r6125706 / r6125710;
        double r6125712 = r6125711 / r6125710;
        double r6125713 = r6125710 + r6125705;
        double r6125714 = r6125712 / r6125713;
        return r6125714;
}

double f(double alpha, double beta) {
        double r6125715 = alpha;
        double r6125716 = 6.2498429104423194e+159;
        bool r6125717 = r6125715 <= r6125716;
        double r6125718 = 1.0;
        double r6125719 = beta;
        double r6125720 = r6125719 + r6125715;
        double r6125721 = 2.0;
        double r6125722 = r6125720 + r6125721;
        double r6125723 = r6125718 / r6125722;
        double r6125724 = 1.0;
        double r6125725 = r6125724 + r6125722;
        double r6125726 = r6125719 * r6125715;
        double r6125727 = r6125720 + r6125726;
        double r6125728 = r6125727 + r6125724;
        double r6125729 = r6125728 / r6125722;
        double r6125730 = r6125725 / r6125729;
        double r6125731 = r6125723 / r6125730;
        double r6125732 = r6125719 / r6125715;
        double r6125733 = r6125715 / r6125719;
        double r6125734 = r6125721 + r6125733;
        double r6125735 = r6125732 + r6125734;
        double r6125736 = r6125723 / r6125735;
        double r6125737 = r6125717 ? r6125731 : r6125736;
        return r6125737;
}

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 < 6.2498429104423194e+159

    1. Initial program 1.3

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

      \[\leadsto \color{blue}{\frac{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}}\]
    3. Using strategy rm
    4. Applied clear-num1.3

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{2 + \left(\beta + \alpha\right)}{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}}}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}\]
    5. Using strategy rm
    6. Applied associate-/r/1.3

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

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

    if 6.2498429104423194e+159 < alpha

    1. Initial program 14.4

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

      \[\leadsto \color{blue}{\frac{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}}\]
    3. Using strategy rm
    4. Applied clear-num14.4

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{2 + \left(\beta + \alpha\right)}{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}}}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}\]
    5. Using strategy rm
    6. Applied associate-/r/14.4

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

      \[\leadsto \color{blue}{\frac{\frac{1}{2 + \left(\beta + \alpha\right)}}{\frac{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}}}\]
    8. Taylor expanded around inf 0.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 6.2498429104423194 \cdot 10^{+159}:\\ \;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\left(\left(\beta + \alpha\right) + \beta \cdot \alpha\right) + 1.0}{\left(\beta + \alpha\right) + 2}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{\beta}{\alpha} + \left(2 + \frac{\alpha}{\beta}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019143 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/3"
  :pre (and (> alpha -1) (> beta -1))
  (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))