Average Error: 3.4 → 1.0
Time: 41.3s
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}\;\beta \le 2.7175934019048462 \cdot 10^{+157}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\beta + \alpha\right) + 2}{\frac{1.0 + \left(\left(\beta + \alpha\right) + \alpha \cdot \beta\right)}{\left(\beta + \alpha\right) + 2}}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\frac{\beta}{\alpha} + \left(\frac{\alpha}{\beta} + 2\right)}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \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}\;\beta \le 2.7175934019048462 \cdot 10^{+157}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\beta + \alpha\right) + 2}{\frac{1.0 + \left(\left(\beta + \alpha\right) + \alpha \cdot \beta\right)}{\left(\beta + \alpha\right) + 2}}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\

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

\end{array}
double f(double alpha, double beta) {
        double r3463901 = alpha;
        double r3463902 = beta;
        double r3463903 = r3463901 + r3463902;
        double r3463904 = r3463902 * r3463901;
        double r3463905 = r3463903 + r3463904;
        double r3463906 = 1.0;
        double r3463907 = r3463905 + r3463906;
        double r3463908 = 2.0;
        double r3463909 = 1.0;
        double r3463910 = r3463908 * r3463909;
        double r3463911 = r3463903 + r3463910;
        double r3463912 = r3463907 / r3463911;
        double r3463913 = r3463912 / r3463911;
        double r3463914 = r3463911 + r3463906;
        double r3463915 = r3463913 / r3463914;
        return r3463915;
}

double f(double alpha, double beta) {
        double r3463916 = beta;
        double r3463917 = 2.7175934019048462e+157;
        bool r3463918 = r3463916 <= r3463917;
        double r3463919 = 1.0;
        double r3463920 = alpha;
        double r3463921 = r3463916 + r3463920;
        double r3463922 = 2.0;
        double r3463923 = r3463921 + r3463922;
        double r3463924 = 1.0;
        double r3463925 = r3463920 * r3463916;
        double r3463926 = r3463921 + r3463925;
        double r3463927 = r3463924 + r3463926;
        double r3463928 = r3463927 / r3463923;
        double r3463929 = r3463923 / r3463928;
        double r3463930 = r3463919 / r3463929;
        double r3463931 = r3463923 + r3463924;
        double r3463932 = r3463930 / r3463931;
        double r3463933 = r3463916 / r3463920;
        double r3463934 = r3463920 / r3463916;
        double r3463935 = r3463934 + r3463922;
        double r3463936 = r3463933 + r3463935;
        double r3463937 = r3463919 / r3463936;
        double r3463938 = r3463937 / r3463931;
        double r3463939 = r3463918 ? r3463932 : r3463938;
        return r3463939;
}

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.7175934019048462e+157

    1. Initial program 1.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}\]
    2. Using strategy rm
    3. Applied clear-num1.1

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

    if 2.7175934019048462e+157 < beta

    1. Initial program 14.6

      \[\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. Using strategy rm
    3. Applied clear-num14.6

      \[\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.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    4. Taylor expanded around inf 0.3

      \[\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.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification1.0

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

Reproduce

herbie shell --seed 2019163 +o rules:numerics
(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)))