Average Error: 3.8 → 2.5
Time: 3.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.433065665109255793376646477917404083197 \cdot 10^{161}:\\ \;\;\;\;\frac{\frac{\frac{1 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{2 \cdot 1 + \left(\beta + \alpha\right)}}{2 \cdot 1 + \left(\beta + \alpha\right)}}{\left(\beta + \alpha\right) + \left(1 + 2 \cdot 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(1 - \frac{1}{\alpha}\right) + \frac{\frac{2}{\alpha}}{\alpha}}{2 \cdot 1 + \left(\beta + \alpha\right)}}{\left(2 \cdot 1 + \left(\beta + \alpha\right)\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.433065665109255793376646477917404083197 \cdot 10^{161}:\\
\;\;\;\;\frac{\frac{\frac{1 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{2 \cdot 1 + \left(\beta + \alpha\right)}}{2 \cdot 1 + \left(\beta + \alpha\right)}}{\left(\beta + \alpha\right) + \left(1 + 2 \cdot 1\right)}\\

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

\end{array}
double f(double alpha, double beta) {
        double r11944146 = alpha;
        double r11944147 = beta;
        double r11944148 = r11944146 + r11944147;
        double r11944149 = r11944147 * r11944146;
        double r11944150 = r11944148 + r11944149;
        double r11944151 = 1.0;
        double r11944152 = r11944150 + r11944151;
        double r11944153 = 2.0;
        double r11944154 = r11944153 * r11944151;
        double r11944155 = r11944148 + r11944154;
        double r11944156 = r11944152 / r11944155;
        double r11944157 = r11944156 / r11944155;
        double r11944158 = r11944155 + r11944151;
        double r11944159 = r11944157 / r11944158;
        return r11944159;
}

double f(double alpha, double beta) {
        double r11944160 = alpha;
        double r11944161 = 1.4330656651092558e+161;
        bool r11944162 = r11944160 <= r11944161;
        double r11944163 = 1.0;
        double r11944164 = beta;
        double r11944165 = r11944164 * r11944160;
        double r11944166 = r11944164 + r11944160;
        double r11944167 = r11944165 + r11944166;
        double r11944168 = r11944163 + r11944167;
        double r11944169 = 2.0;
        double r11944170 = r11944169 * r11944163;
        double r11944171 = r11944170 + r11944166;
        double r11944172 = r11944168 / r11944171;
        double r11944173 = r11944172 / r11944171;
        double r11944174 = r11944163 + r11944170;
        double r11944175 = r11944166 + r11944174;
        double r11944176 = r11944173 / r11944175;
        double r11944177 = 1.0;
        double r11944178 = r11944163 / r11944160;
        double r11944179 = r11944177 - r11944178;
        double r11944180 = r11944169 / r11944160;
        double r11944181 = r11944180 / r11944160;
        double r11944182 = r11944179 + r11944181;
        double r11944183 = r11944182 / r11944171;
        double r11944184 = r11944171 + r11944163;
        double r11944185 = r11944183 / r11944184;
        double r11944186 = r11944162 ? r11944176 : r11944185;
        return r11944186;
}

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.4330656651092558e+161

    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 associate-+l+1.3

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

    if 1.4330656651092558e+161 < alpha

    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. Taylor expanded around inf 8.4

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

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

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

Reproduce

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