Average Error: 3.6 → 3.6
Time: 4.9m
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{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{2 + \left(\alpha + \beta\right)}} \cdot \frac{\sqrt{\frac{\frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{2 + \left(\alpha + \beta\right)}}}{\left(1.0 + \left(\alpha + \beta\right)\right) + 2}\]
\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{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{2 + \left(\alpha + \beta\right)}} \cdot \frac{\sqrt{\frac{\frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{2 + \left(\alpha + \beta\right)}}}{\left(1.0 + \left(\alpha + \beta\right)\right) + 2}
double f(double alpha, double beta) {
        double r7369597 = alpha;
        double r7369598 = beta;
        double r7369599 = r7369597 + r7369598;
        double r7369600 = r7369598 * r7369597;
        double r7369601 = r7369599 + r7369600;
        double r7369602 = 1.0;
        double r7369603 = r7369601 + r7369602;
        double r7369604 = 2.0;
        double r7369605 = 1.0;
        double r7369606 = r7369604 * r7369605;
        double r7369607 = r7369599 + r7369606;
        double r7369608 = r7369603 / r7369607;
        double r7369609 = r7369608 / r7369607;
        double r7369610 = r7369607 + r7369602;
        double r7369611 = r7369609 / r7369610;
        return r7369611;
}

double f(double alpha, double beta) {
        double r7369612 = beta;
        double r7369613 = alpha;
        double r7369614 = r7369612 * r7369613;
        double r7369615 = r7369613 + r7369612;
        double r7369616 = r7369614 + r7369615;
        double r7369617 = 1.0;
        double r7369618 = r7369616 + r7369617;
        double r7369619 = 2.0;
        double r7369620 = r7369619 + r7369615;
        double r7369621 = r7369618 / r7369620;
        double r7369622 = r7369621 / r7369620;
        double r7369623 = sqrt(r7369622);
        double r7369624 = r7369617 + r7369615;
        double r7369625 = r7369624 + r7369619;
        double r7369626 = r7369623 / r7369625;
        double r7369627 = r7369623 * r7369626;
        return r7369627;
}

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.6

    \[\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. Simplified3.6

    \[\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(1.0 + \left(\beta + \alpha\right)\right) + 2}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity3.6

    \[\leadsto \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(1.0 + \left(\beta + \alpha\right)\right) + \color{blue}{1 \cdot 2}}\]
  5. Applied *-un-lft-identity3.6

    \[\leadsto \frac{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}{\color{blue}{1 \cdot \left(1.0 + \left(\beta + \alpha\right)\right)} + 1 \cdot 2}\]
  6. Applied distribute-lft-out3.6

    \[\leadsto \frac{\frac{\frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}{\color{blue}{1 \cdot \left(\left(1.0 + \left(\beta + \alpha\right)\right) + 2\right)}}\]
  7. Applied add-sqr-sqrt3.6

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

    \[\leadsto \color{blue}{\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)}}}{1} \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(1.0 + \left(\beta + \alpha\right)\right) + 2}}\]
  9. Final simplification3.6

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

Reproduce

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