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 r13219154 = x;
        double r13219155 = y;
        double r13219156 = r13219154 * r13219155;
        double r13219157 = z;
        double r13219158 = t;
        double r13219159 = r13219157 * r13219158;
        double r13219160 = r13219156 + r13219159;
        double r13219161 = a;
        double r13219162 = b;
        double r13219163 = r13219161 * r13219162;
        double r13219164 = r13219160 + r13219163;
        double r13219165 = c;
        double r13219166 = i;
        double r13219167 = r13219165 * r13219166;
        double r13219168 = r13219164 + r13219167;
        return r13219168;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r13219169 = c;
        double r13219170 = i;
        double r13219171 = r13219169 * r13219170;
        double r13219172 = z;
        double r13219173 = t;
        double r13219174 = r13219172 * r13219173;
        double r13219175 = x;
        double r13219176 = y;
        double r13219177 = r13219175 * r13219176;
        double r13219178 = r13219174 + r13219177;
        double r13219179 = a;
        double r13219180 = b;
        double r13219181 = r13219179 * r13219180;
        double r13219182 = r13219178 + r13219181;
        double r13219183 = r13219171 + r13219182;
        return r13219183;
}

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