Average Error: 0.0 → 0.0
Time: 2.6m
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 r4220695 = x;
        double r4220696 = y;
        double r4220697 = r4220695 * r4220696;
        double r4220698 = z;
        double r4220699 = t;
        double r4220700 = r4220698 * r4220699;
        double r4220701 = r4220697 + r4220700;
        double r4220702 = a;
        double r4220703 = b;
        double r4220704 = r4220702 * r4220703;
        double r4220705 = r4220701 + r4220704;
        double r4220706 = c;
        double r4220707 = i;
        double r4220708 = r4220706 * r4220707;
        double r4220709 = r4220705 + r4220708;
        return r4220709;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r4220710 = c;
        double r4220711 = i;
        double r4220712 = r4220710 * r4220711;
        double r4220713 = z;
        double r4220714 = t;
        double r4220715 = r4220713 * r4220714;
        double r4220716 = x;
        double r4220717 = y;
        double r4220718 = r4220716 * r4220717;
        double r4220719 = r4220715 + r4220718;
        double r4220720 = a;
        double r4220721 = b;
        double r4220722 = r4220720 * r4220721;
        double r4220723 = r4220719 + r4220722;
        double r4220724 = r4220712 + r4220723;
        return r4220724;
}

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