Average Error: 0.0 → 0.0
Time: 20.7s
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 r8296029 = x;
        double r8296030 = y;
        double r8296031 = r8296029 * r8296030;
        double r8296032 = z;
        double r8296033 = t;
        double r8296034 = r8296032 * r8296033;
        double r8296035 = r8296031 + r8296034;
        double r8296036 = a;
        double r8296037 = b;
        double r8296038 = r8296036 * r8296037;
        double r8296039 = r8296035 + r8296038;
        double r8296040 = c;
        double r8296041 = i;
        double r8296042 = r8296040 * r8296041;
        double r8296043 = r8296039 + r8296042;
        return r8296043;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r8296044 = c;
        double r8296045 = i;
        double r8296046 = r8296044 * r8296045;
        double r8296047 = z;
        double r8296048 = t;
        double r8296049 = r8296047 * r8296048;
        double r8296050 = x;
        double r8296051 = y;
        double r8296052 = r8296050 * r8296051;
        double r8296053 = r8296049 + r8296052;
        double r8296054 = a;
        double r8296055 = b;
        double r8296056 = r8296054 * r8296055;
        double r8296057 = r8296053 + r8296056;
        double r8296058 = r8296046 + r8296057;
        return r8296058;
}

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