Average Error: 0.0 → 0.0
Time: 2.0m
Precision: 64
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r127000 = x;
        double r127001 = y;
        double r127002 = r127000 * r127001;
        double r127003 = z;
        double r127004 = t;
        double r127005 = r127003 * r127004;
        double r127006 = r127002 + r127005;
        double r127007 = a;
        double r127008 = b;
        double r127009 = r127007 * r127008;
        double r127010 = r127006 + r127009;
        double r127011 = c;
        double r127012 = i;
        double r127013 = r127011 * r127012;
        double r127014 = r127010 + r127013;
        return r127014;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r127015 = x;
        double r127016 = y;
        double r127017 = r127015 * r127016;
        double r127018 = z;
        double r127019 = t;
        double r127020 = r127018 * r127019;
        double r127021 = r127017 + r127020;
        double r127022 = a;
        double r127023 = b;
        double r127024 = r127022 * r127023;
        double r127025 = r127021 + r127024;
        double r127026 = c;
        double r127027 = i;
        double r127028 = r127026 * r127027;
        double r127029 = r127025 + r127028;
        return r127029;
}

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 \left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]

Reproduce

herbie shell --seed 2020003 
(FPCore (x y z t a b c i)
  :name "Linear.V4:$cdot from linear-1.19.1.3, C"
  :precision binary64
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))