Average Error: 0.0 → 0.0
Time: 2.8m
Precision: 64
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[c \cdot i + \left(\left(z \cdot t + x \cdot y\right) + a \cdot b\right)\]
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
c \cdot i + \left(\left(z \cdot t + x \cdot y\right) + a \cdot b\right)
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r7411277 = x;
        double r7411278 = y;
        double r7411279 = r7411277 * r7411278;
        double r7411280 = z;
        double r7411281 = t;
        double r7411282 = r7411280 * r7411281;
        double r7411283 = r7411279 + r7411282;
        double r7411284 = a;
        double r7411285 = b;
        double r7411286 = r7411284 * r7411285;
        double r7411287 = r7411283 + r7411286;
        double r7411288 = c;
        double r7411289 = i;
        double r7411290 = r7411288 * r7411289;
        double r7411291 = r7411287 + r7411290;
        return r7411291;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r7411292 = c;
        double r7411293 = i;
        double r7411294 = r7411292 * r7411293;
        double r7411295 = z;
        double r7411296 = t;
        double r7411297 = r7411295 * r7411296;
        double r7411298 = x;
        double r7411299 = y;
        double r7411300 = r7411298 * r7411299;
        double r7411301 = r7411297 + r7411300;
        double r7411302 = a;
        double r7411303 = b;
        double r7411304 = r7411302 * r7411303;
        double r7411305 = r7411301 + r7411304;
        double r7411306 = r7411294 + r7411305;
        return r7411306;
}

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

Bits error versus c

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

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

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

Reproduce

herbie shell --seed 2019163 
(FPCore (x y z t a b c i)
  :name "Linear.V4:$cdot from linear-1.19.1.3, C"
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))