Average Error: 0.0 → 0.0
Time: 4.7s
Precision: 64
\[\left(x \cdot y + z \cdot t\right) + a \cdot b\]
\[\left(x \cdot y + z \cdot t\right) + a \cdot b\]
\left(x \cdot y + z \cdot t\right) + a \cdot b
\left(x \cdot y + z \cdot t\right) + a \cdot b
double f(double x, double y, double z, double t, double a, double b) {
        double r142672 = x;
        double r142673 = y;
        double r142674 = r142672 * r142673;
        double r142675 = z;
        double r142676 = t;
        double r142677 = r142675 * r142676;
        double r142678 = r142674 + r142677;
        double r142679 = a;
        double r142680 = b;
        double r142681 = r142679 * r142680;
        double r142682 = r142678 + r142681;
        return r142682;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r142683 = x;
        double r142684 = y;
        double r142685 = r142683 * r142684;
        double r142686 = z;
        double r142687 = t;
        double r142688 = r142686 * r142687;
        double r142689 = r142685 + r142688;
        double r142690 = a;
        double r142691 = b;
        double r142692 = r142690 * r142691;
        double r142693 = r142689 + r142692;
        return r142693;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

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

    \[\leadsto \left(x \cdot y + z \cdot t\right) + a \cdot b\]

Reproduce

herbie shell --seed 2020100 
(FPCore (x y z t a b)
  :name "Linear.V3:$cdot from linear-1.19.1.3, B"
  :precision binary64
  (+ (+ (* x y) (* z t)) (* a b)))