Average Error: 3.8 → 2.0
Time: 9.1s
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.14500524839018733 \cdot 10^{140}:\\ \;\;\;\;\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \frac{\frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \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}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\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}\;\alpha \le 1.14500524839018733 \cdot 10^{140}:\\
\;\;\;\;\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \frac{\frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\

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

\end{array}
double f(double alpha, double beta) {
        double r109064 = alpha;
        double r109065 = beta;
        double r109066 = r109064 + r109065;
        double r109067 = r109065 * r109064;
        double r109068 = r109066 + r109067;
        double r109069 = 1.0;
        double r109070 = r109068 + r109069;
        double r109071 = 2.0;
        double r109072 = r109071 * r109069;
        double r109073 = r109066 + r109072;
        double r109074 = r109070 / r109073;
        double r109075 = r109074 / r109073;
        double r109076 = r109073 + r109069;
        double r109077 = r109075 / r109076;
        return r109077;
}

double f(double alpha, double beta) {
        double r109078 = alpha;
        double r109079 = 1.1450052483901873e+140;
        bool r109080 = r109078 <= r109079;
        double r109081 = beta;
        double r109082 = r109078 + r109081;
        double r109083 = r109081 * r109078;
        double r109084 = r109082 + r109083;
        double r109085 = 1.0;
        double r109086 = r109084 + r109085;
        double r109087 = r109082 * r109082;
        double r109088 = 2.0;
        double r109089 = r109088 * r109085;
        double r109090 = r109089 * r109089;
        double r109091 = r109087 - r109090;
        double r109092 = r109086 / r109091;
        double r109093 = r109082 - r109089;
        double r109094 = r109082 + r109089;
        double r109095 = r109093 / r109094;
        double r109096 = r109094 + r109085;
        double r109097 = r109095 / r109096;
        double r109098 = r109092 * r109097;
        double r109099 = 1.0;
        double r109100 = r109099 / r109078;
        double r109101 = r109099 / r109081;
        double r109102 = r109100 + r109101;
        double r109103 = 2.0;
        double r109104 = pow(r109078, r109103);
        double r109105 = r109099 / r109104;
        double r109106 = r109102 - r109105;
        double r109107 = r109099 / r109106;
        double r109108 = r109107 / r109094;
        double r109109 = r109108 / r109096;
        double r109110 = r109080 ? r109098 : r109109;
        return r109110;
}

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.1450052483901873e+140

    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. Using strategy rm
    3. Applied *-un-lft-identity0.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}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}}\]
    4. Applied *-un-lft-identity0.9

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    5. Applied flip-+1.5

      \[\leadsto \frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\color{blue}{\frac{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}{\left(\alpha + \beta\right) - 2 \cdot 1}}}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    6. Applied associate-/r/1.5

      \[\leadsto \frac{\frac{\color{blue}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    7. Applied times-frac1.5

      \[\leadsto \frac{\color{blue}{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{1} \cdot \frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1\right)}\]
    8. Applied times-frac1.5

      \[\leadsto \color{blue}{\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)}}{1}}{1} \cdot \frac{\frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}}\]
    9. Simplified1.5

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

    if 1.1450052483901873e+140 < alpha

    1. Initial program 16.2

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

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

      \[\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}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.14500524839018733 \cdot 10^{140}:\\ \;\;\;\;\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \frac{\frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \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}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \end{array}\]

Reproduce

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