Average Error: 3.4 → 3.5
Time: 45.9s
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}\]
\[\sqrt{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}} \cdot \frac{\sqrt{\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}\]
\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}
\sqrt{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}} \cdot \frac{\sqrt{\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}
double f(double alpha, double beta) {
        double r4885602 = alpha;
        double r4885603 = beta;
        double r4885604 = r4885602 + r4885603;
        double r4885605 = r4885603 * r4885602;
        double r4885606 = r4885604 + r4885605;
        double r4885607 = 1.0;
        double r4885608 = r4885606 + r4885607;
        double r4885609 = 2.0;
        double r4885610 = 1.0;
        double r4885611 = r4885609 * r4885610;
        double r4885612 = r4885604 + r4885611;
        double r4885613 = r4885608 / r4885612;
        double r4885614 = r4885613 / r4885612;
        double r4885615 = r4885612 + r4885607;
        double r4885616 = r4885614 / r4885615;
        return r4885616;
}

double f(double alpha, double beta) {
        double r4885617 = 1.0;
        double r4885618 = alpha;
        double r4885619 = beta;
        double r4885620 = r4885618 * r4885619;
        double r4885621 = r4885619 + r4885618;
        double r4885622 = r4885620 + r4885621;
        double r4885623 = r4885617 + r4885622;
        double r4885624 = 2.0;
        double r4885625 = r4885624 + r4885621;
        double r4885626 = r4885623 / r4885625;
        double r4885627 = r4885626 / r4885625;
        double r4885628 = sqrt(r4885627);
        double r4885629 = r4885625 + r4885617;
        double r4885630 = r4885628 / r4885629;
        double r4885631 = r4885628 * r4885630;
        return r4885631;
}

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. Initial program 3.4

    \[\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. Using strategy rm
  3. Applied *-un-lft-identity3.4

    \[\leadsto \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}}{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0\right)}}\]
  4. Applied add-sqr-sqrt3.5

    \[\leadsto \frac{\color{blue}{\sqrt{\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}} \cdot \sqrt{\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}}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0\right)}\]
  5. Applied times-frac3.5

    \[\leadsto \color{blue}{\frac{\sqrt{\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}}}{1} \cdot \frac{\sqrt{\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}}\]
  6. Final simplification3.5

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

Reproduce

herbie shell --seed 2019163 +o rules:numerics
(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)))