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 r3958779 = x;
        double r3958780 = y;
        double r3958781 = r3958779 * r3958780;
        double r3958782 = z;
        double r3958783 = t;
        double r3958784 = r3958782 * r3958783;
        double r3958785 = r3958781 + r3958784;
        double r3958786 = a;
        double r3958787 = b;
        double r3958788 = r3958786 * r3958787;
        double r3958789 = r3958785 + r3958788;
        double r3958790 = c;
        double r3958791 = i;
        double r3958792 = r3958790 * r3958791;
        double r3958793 = r3958789 + r3958792;
        return r3958793;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r3958794 = c;
        double r3958795 = i;
        double r3958796 = r3958794 * r3958795;
        double r3958797 = z;
        double r3958798 = t;
        double r3958799 = r3958797 * r3958798;
        double r3958800 = x;
        double r3958801 = y;
        double r3958802 = r3958800 * r3958801;
        double r3958803 = r3958799 + r3958802;
        double r3958804 = a;
        double r3958805 = b;
        double r3958806 = r3958804 * r3958805;
        double r3958807 = r3958803 + r3958806;
        double r3958808 = r3958796 + r3958807;
        return r3958808;
}

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"
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))