Average Error: 3.7 → 2.3
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}\;\beta \le 1.39247876717738 \cdot 10^{167}:\\ \;\;\;\;\frac{\frac{\frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\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}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\beta}^{2}} + 1\right) - 1 \cdot \frac{1}{\beta}}{\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}\;\beta \le 1.39247876717738 \cdot 10^{167}:\\
\;\;\;\;\frac{\frac{\frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\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}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\beta}^{2}} + 1\right) - 1 \cdot \frac{1}{\beta}}{\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 r89042 = alpha;
        double r89043 = beta;
        double r89044 = r89042 + r89043;
        double r89045 = r89043 * r89042;
        double r89046 = r89044 + r89045;
        double r89047 = 1.0;
        double r89048 = r89046 + r89047;
        double r89049 = 2.0;
        double r89050 = r89049 * r89047;
        double r89051 = r89044 + r89050;
        double r89052 = r89048 / r89051;
        double r89053 = r89052 / r89051;
        double r89054 = r89051 + r89047;
        double r89055 = r89053 / r89054;
        return r89055;
}

double f(double alpha, double beta) {
        double r89056 = beta;
        double r89057 = 1.3924787671773796e+167;
        bool r89058 = r89056 <= r89057;
        double r89059 = alpha;
        double r89060 = r89056 * r89059;
        double r89061 = r89059 + r89056;
        double r89062 = r89060 + r89061;
        double r89063 = 1.0;
        double r89064 = r89062 + r89063;
        double r89065 = 2.0;
        double r89066 = r89065 * r89063;
        double r89067 = r89061 + r89066;
        double r89068 = r89064 / r89067;
        double r89069 = r89068 / r89067;
        double r89070 = r89067 + r89063;
        double r89071 = r89069 / r89070;
        double r89072 = 1.0;
        double r89073 = 2.0;
        double r89074 = pow(r89056, r89073);
        double r89075 = r89072 / r89074;
        double r89076 = r89065 * r89075;
        double r89077 = r89076 + r89072;
        double r89078 = r89072 / r89056;
        double r89079 = r89063 * r89078;
        double r89080 = r89077 - r89079;
        double r89081 = r89080 / r89067;
        double r89082 = r89081 / r89070;
        double r89083 = r89058 ? r89071 : r89082;
        return r89083;
}

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 < 1.3924787671773796e+167

    1. Initial program 1.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. Using strategy rm
    3. Applied +-commutative1.4

      \[\leadsto \frac{\frac{\frac{\color{blue}{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\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}\]

    if 1.3924787671773796e+167 < beta

    1. Initial program 16.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 +-commutative16.9

      \[\leadsto \frac{\frac{\frac{\color{blue}{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\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}\]
    4. Taylor expanded around inf 7.6

      \[\leadsto \frac{\frac{\color{blue}{\left(2 \cdot \frac{1}{{\beta}^{2}} + 1\right) - 1 \cdot \frac{1}{\beta}}}{\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.3

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

Reproduce

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