Average Error: 3.5 → 0.9
Time: 3.0m
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 5.874077370608373 \cdot 10^{+160}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2\right) + 1.0}{\frac{1.0 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}}}{\left(\alpha + \beta\right) + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\frac{\beta}{\alpha} + \left(2 + \frac{\alpha}{\beta}\right)}}{\left(\alpha + \beta\right) + 2}\\ \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 5.874077370608373 \cdot 10^{+160}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2\right) + 1.0}{\frac{1.0 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}}}{\left(\alpha + \beta\right) + 2}\\

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

\end{array}
double f(double alpha, double beta) {
        double r4588154 = alpha;
        double r4588155 = beta;
        double r4588156 = r4588154 + r4588155;
        double r4588157 = r4588155 * r4588154;
        double r4588158 = r4588156 + r4588157;
        double r4588159 = 1.0;
        double r4588160 = r4588158 + r4588159;
        double r4588161 = 2.0;
        double r4588162 = 1.0;
        double r4588163 = r4588161 * r4588162;
        double r4588164 = r4588156 + r4588163;
        double r4588165 = r4588160 / r4588164;
        double r4588166 = r4588165 / r4588164;
        double r4588167 = r4588164 + r4588159;
        double r4588168 = r4588166 / r4588167;
        return r4588168;
}

double f(double alpha, double beta) {
        double r4588169 = beta;
        double r4588170 = 5.874077370608373e+160;
        bool r4588171 = r4588169 <= r4588170;
        double r4588172 = 1.0;
        double r4588173 = alpha;
        double r4588174 = r4588173 + r4588169;
        double r4588175 = 2.0;
        double r4588176 = r4588174 + r4588175;
        double r4588177 = 1.0;
        double r4588178 = r4588176 + r4588177;
        double r4588179 = r4588173 * r4588169;
        double r4588180 = r4588179 + r4588174;
        double r4588181 = r4588177 + r4588180;
        double r4588182 = r4588181 / r4588176;
        double r4588183 = r4588178 / r4588182;
        double r4588184 = r4588172 / r4588183;
        double r4588185 = r4588184 / r4588176;
        double r4588186 = r4588169 / r4588173;
        double r4588187 = r4588173 / r4588169;
        double r4588188 = r4588175 + r4588187;
        double r4588189 = r4588186 + r4588188;
        double r4588190 = r4588172 / r4588189;
        double r4588191 = r4588190 / r4588176;
        double r4588192 = r4588171 ? r4588185 : r4588191;
        return r4588192;
}

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 < 5.874077370608373e+160

    1. Initial program 1.0

      \[\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. Simplified1.0

      \[\leadsto \color{blue}{\frac{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}}\]
    3. Using strategy rm
    4. Applied clear-num1.5

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}}}\]
    5. Using strategy rm
    6. Applied associate-/r/1.4

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

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

    if 5.874077370608373e+160 < beta

    1. Initial program 16.3

      \[\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. Simplified16.3

      \[\leadsto \color{blue}{\frac{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}}\]
    3. Using strategy rm
    4. Applied clear-num16.6

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}}}\]
    5. Using strategy rm
    6. Applied associate-/r/16.6

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

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

      \[\leadsto \frac{\frac{1}{\color{blue}{\frac{\beta}{\alpha} + \left(2 + \frac{\alpha}{\beta}\right)}}}{2 + \left(\beta + \alpha\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.9

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

Reproduce

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