Average Error: 0.0 → 0.0
Time: 40.0s
Precision: 64
\[\left(x \cdot y + z \cdot t\right) + a \cdot b\]
\[\left(z \cdot t + x \cdot y\right) + a \cdot b\]
\left(x \cdot y + z \cdot t\right) + a \cdot b
\left(z \cdot t + x \cdot y\right) + a \cdot b
double f(double x, double y, double z, double t, double a, double b) {
        double r8900056 = x;
        double r8900057 = y;
        double r8900058 = r8900056 * r8900057;
        double r8900059 = z;
        double r8900060 = t;
        double r8900061 = r8900059 * r8900060;
        double r8900062 = r8900058 + r8900061;
        double r8900063 = a;
        double r8900064 = b;
        double r8900065 = r8900063 * r8900064;
        double r8900066 = r8900062 + r8900065;
        return r8900066;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r8900067 = z;
        double r8900068 = t;
        double r8900069 = r8900067 * r8900068;
        double r8900070 = x;
        double r8900071 = y;
        double r8900072 = r8900070 * r8900071;
        double r8900073 = r8900069 + r8900072;
        double r8900074 = a;
        double r8900075 = b;
        double r8900076 = r8900074 * r8900075;
        double r8900077 = r8900073 + r8900076;
        return r8900077;
}

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(z \cdot t + x \cdot y\right) + a \cdot b\]

Reproduce

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