Average Error: 0.0 → 0.0
Time: 2.7s
Precision: 64
\[\left(x \cdot y + x\right) + y\]
\[\left(x \cdot y + x\right) + y\]
\left(x \cdot y + x\right) + y
\left(x \cdot y + x\right) + y
double f(double x, double y) {
        double r200937 = x;
        double r200938 = y;
        double r200939 = r200937 * r200938;
        double r200940 = r200939 + r200937;
        double r200941 = r200940 + r200938;
        return r200941;
}

double f(double x, double y) {
        double r200942 = x;
        double r200943 = y;
        double r200944 = r200942 * r200943;
        double r200945 = r200944 + r200942;
        double r200946 = r200945 + r200943;
        return r200946;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(x \cdot y + x\right) + y\]
  2. Final simplification0.0

    \[\leadsto \left(x \cdot y + x\right) + y\]

Reproduce

herbie shell --seed 2020081 
(FPCore (x y)
  :name "Numeric.Log:$cexpm1 from log-domain-0.10.2.1, B"
  :precision binary64
  (+ (+ (* x y) x) y))