Average Error: 3.8 → 3.8
Time: 43.1s
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}\]
\[\frac{\frac{1}{2 + \left(\alpha + \beta\right)} \cdot \frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{1.0 + \left(2 + \left(\alpha + \beta\right)\right)}\]
\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}
\frac{\frac{1}{2 + \left(\alpha + \beta\right)} \cdot \frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{1.0 + \left(2 + \left(\alpha + \beta\right)\right)}
double f(double alpha, double beta) {
        double r5565206 = alpha;
        double r5565207 = beta;
        double r5565208 = r5565206 + r5565207;
        double r5565209 = r5565207 * r5565206;
        double r5565210 = r5565208 + r5565209;
        double r5565211 = 1.0;
        double r5565212 = r5565210 + r5565211;
        double r5565213 = 2.0;
        double r5565214 = 1.0;
        double r5565215 = r5565213 * r5565214;
        double r5565216 = r5565208 + r5565215;
        double r5565217 = r5565212 / r5565216;
        double r5565218 = r5565217 / r5565216;
        double r5565219 = r5565216 + r5565211;
        double r5565220 = r5565218 / r5565219;
        return r5565220;
}

double f(double alpha, double beta) {
        double r5565221 = 1.0;
        double r5565222 = 2.0;
        double r5565223 = alpha;
        double r5565224 = beta;
        double r5565225 = r5565223 + r5565224;
        double r5565226 = r5565222 + r5565225;
        double r5565227 = r5565221 / r5565226;
        double r5565228 = r5565224 * r5565223;
        double r5565229 = r5565228 + r5565225;
        double r5565230 = 1.0;
        double r5565231 = r5565229 + r5565230;
        double r5565232 = r5565231 / r5565226;
        double r5565233 = r5565227 * r5565232;
        double r5565234 = r5565230 + r5565226;
        double r5565235 = r5565233 / r5565234;
        return r5565235;
}

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

    \[\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.8

    \[\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 div-inv3.8

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

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

Reproduce

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