Average Error: 3.6 → 1.5
Time: 1.4m
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 1.0043840952888727 \cdot 10^{139}:\\ \;\;\;\;\frac{\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\alpha + \left(\beta + 3\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\alpha + \left(\beta + 3\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 1.0043840952888727 \cdot 10^{139}:\\
\;\;\;\;\frac{\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\alpha + \left(\beta + 3\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r361957 = alpha;
        double r361958 = beta;
        double r361959 = r361957 + r361958;
        double r361960 = r361958 * r361957;
        double r361961 = r361959 + r361960;
        double r361962 = 1.0;
        double r361963 = r361961 + r361962;
        double r361964 = 2.0;
        double r361965 = r361964 * r361962;
        double r361966 = r361959 + r361965;
        double r361967 = r361963 / r361966;
        double r361968 = r361967 / r361966;
        double r361969 = r361966 + r361962;
        double r361970 = r361968 / r361969;
        return r361970;
}

double f(double alpha, double beta) {
        double r361971 = alpha;
        double r361972 = 1.0043840952888727e+139;
        bool r361973 = r361971 <= r361972;
        double r361974 = 1.0;
        double r361975 = beta;
        double r361976 = r361971 + r361975;
        double r361977 = 2.0;
        double r361978 = 1.0;
        double r361979 = r361977 * r361978;
        double r361980 = r361976 + r361979;
        double r361981 = r361975 * r361971;
        double r361982 = r361976 + r361981;
        double r361983 = r361982 + r361978;
        double r361984 = r361980 / r361983;
        double r361985 = r361974 / r361984;
        double r361986 = r361985 / r361980;
        double r361987 = 3.0;
        double r361988 = r361975 + r361987;
        double r361989 = r361971 + r361988;
        double r361990 = r361986 / r361989;
        double r361991 = r361974 / r361971;
        double r361992 = r361974 / r361975;
        double r361993 = r361991 + r361992;
        double r361994 = 2.0;
        double r361995 = pow(r361971, r361994);
        double r361996 = r361974 / r361995;
        double r361997 = r361993 - r361996;
        double r361998 = r361974 / r361997;
        double r361999 = r361998 / r361980;
        double r362000 = r361999 / r361989;
        double r362001 = r361973 ? r361990 : r362000;
        return r362001;
}

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 < 1.0043840952888727e+139

    1. Initial program 0.9

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

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

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

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

    if 1.0043840952888727e+139 < alpha

    1. Initial program 15.4

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

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

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

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

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

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

Reproduce

herbie shell --seed 2020025 
(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)))