Average Error: 0.0 → 0.0
Time: 4.1s
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 r143344 = x;
        double r143345 = y;
        double r143346 = r143344 * r143345;
        double r143347 = z;
        double r143348 = t;
        double r143349 = r143347 * r143348;
        double r143350 = r143346 + r143349;
        double r143351 = a;
        double r143352 = b;
        double r143353 = r143351 * r143352;
        double r143354 = r143350 + r143353;
        return r143354;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r143355 = x;
        double r143356 = y;
        double r143357 = r143355 * r143356;
        double r143358 = z;
        double r143359 = t;
        double r143360 = r143358 * r143359;
        double r143361 = r143357 + r143360;
        double r143362 = a;
        double r143363 = b;
        double r143364 = r143362 * r143363;
        double r143365 = r143361 + r143364;
        return r143365;
}

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 2020049 
(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)))