Average Error: 0.0 → 0.0
Time: 1.5m
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 r16629078 = x;
        double r16629079 = y;
        double r16629080 = r16629078 * r16629079;
        double r16629081 = z;
        double r16629082 = t;
        double r16629083 = r16629081 * r16629082;
        double r16629084 = r16629080 + r16629083;
        double r16629085 = a;
        double r16629086 = b;
        double r16629087 = r16629085 * r16629086;
        double r16629088 = r16629084 + r16629087;
        double r16629089 = c;
        double r16629090 = i;
        double r16629091 = r16629089 * r16629090;
        double r16629092 = r16629088 + r16629091;
        return r16629092;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r16629093 = c;
        double r16629094 = i;
        double r16629095 = r16629093 * r16629094;
        double r16629096 = z;
        double r16629097 = t;
        double r16629098 = r16629096 * r16629097;
        double r16629099 = x;
        double r16629100 = y;
        double r16629101 = r16629099 * r16629100;
        double r16629102 = r16629098 + r16629101;
        double r16629103 = a;
        double r16629104 = b;
        double r16629105 = r16629103 * r16629104;
        double r16629106 = r16629102 + r16629105;
        double r16629107 = r16629095 + r16629106;
        return r16629107;
}

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 2019125 
(FPCore (x y z t a b c i)
  :name "Linear.V4:$cdot from linear-1.19.1.3"
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))