Average Error: 3.7 → 1.1
Time: 58.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.528238237986720475104159357530021923415 \cdot 10^{158}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\beta + \alpha\right) + 1 \cdot 2}{\frac{\left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right) + 1}{\left(\beta + \alpha\right) + 1 \cdot 2}}}}{\left(\left(\beta + \alpha\right) + 1 \cdot 2\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\left(\frac{\alpha}{\beta} + 2\right) + \frac{\beta}{\alpha}}}{\left(\left(\beta + \alpha\right) + 1 \cdot 2\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.528238237986720475104159357530021923415 \cdot 10^{158}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\beta + \alpha\right) + 1 \cdot 2}{\frac{\left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right) + 1}{\left(\beta + \alpha\right) + 1 \cdot 2}}}}{\left(\left(\beta + \alpha\right) + 1 \cdot 2\right) + 1}\\

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

\end{array}
double f(double alpha, double beta) {
        double r4815975 = alpha;
        double r4815976 = beta;
        double r4815977 = r4815975 + r4815976;
        double r4815978 = r4815976 * r4815975;
        double r4815979 = r4815977 + r4815978;
        double r4815980 = 1.0;
        double r4815981 = r4815979 + r4815980;
        double r4815982 = 2.0;
        double r4815983 = r4815982 * r4815980;
        double r4815984 = r4815977 + r4815983;
        double r4815985 = r4815981 / r4815984;
        double r4815986 = r4815985 / r4815984;
        double r4815987 = r4815984 + r4815980;
        double r4815988 = r4815986 / r4815987;
        return r4815988;
}

double f(double alpha, double beta) {
        double r4815989 = beta;
        double r4815990 = 2.5282382379867205e+158;
        bool r4815991 = r4815989 <= r4815990;
        double r4815992 = 1.0;
        double r4815993 = alpha;
        double r4815994 = r4815989 + r4815993;
        double r4815995 = 1.0;
        double r4815996 = 2.0;
        double r4815997 = r4815995 * r4815996;
        double r4815998 = r4815994 + r4815997;
        double r4815999 = r4815993 * r4815989;
        double r4816000 = r4815999 + r4815994;
        double r4816001 = r4816000 + r4815995;
        double r4816002 = r4816001 / r4815998;
        double r4816003 = r4815998 / r4816002;
        double r4816004 = r4815992 / r4816003;
        double r4816005 = r4815998 + r4815995;
        double r4816006 = r4816004 / r4816005;
        double r4816007 = r4815993 / r4815989;
        double r4816008 = 2.0;
        double r4816009 = r4816007 + r4816008;
        double r4816010 = r4815989 / r4815993;
        double r4816011 = r4816009 + r4816010;
        double r4816012 = r4815992 / r4816011;
        double r4816013 = r4816012 / r4816005;
        double r4816014 = r4815991 ? r4816006 : r4816013;
        return r4816014;
}

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 beta < 2.5282382379867205e+158

    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. Using strategy rm
    3. Applied clear-num1.3

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

    if 2.5282382379867205e+158 < beta

    1. Initial program 16.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. Using strategy rm
    3. Applied clear-num16.5

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

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

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

Reproduce

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