Average Error: 0.0 → 0.0
Time: 3.9s
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 r78354 = x;
        double r78355 = y;
        double r78356 = r78354 * r78355;
        double r78357 = z;
        double r78358 = t;
        double r78359 = r78357 * r78358;
        double r78360 = r78356 + r78359;
        double r78361 = a;
        double r78362 = b;
        double r78363 = r78361 * r78362;
        double r78364 = r78360 + r78363;
        return r78364;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r78365 = x;
        double r78366 = y;
        double r78367 = r78365 * r78366;
        double r78368 = z;
        double r78369 = t;
        double r78370 = r78368 * r78369;
        double r78371 = r78367 + r78370;
        double r78372 = a;
        double r78373 = b;
        double r78374 = r78372 * r78373;
        double r78375 = r78371 + r78374;
        return r78375;
}

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