Average Error: 0.0 → 0.0
Time: 21.2s
Precision: 64
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[\left(x \cdot y + \left(z \cdot t + a \cdot b\right)\right) + c \cdot i\]
\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
\left(x \cdot y + \left(z \cdot t + a \cdot b\right)\right) + c \cdot i
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r17503911 = x;
        double r17503912 = y;
        double r17503913 = r17503911 * r17503912;
        double r17503914 = z;
        double r17503915 = t;
        double r17503916 = r17503914 * r17503915;
        double r17503917 = r17503913 + r17503916;
        double r17503918 = a;
        double r17503919 = b;
        double r17503920 = r17503918 * r17503919;
        double r17503921 = r17503917 + r17503920;
        double r17503922 = c;
        double r17503923 = i;
        double r17503924 = r17503922 * r17503923;
        double r17503925 = r17503921 + r17503924;
        return r17503925;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r17503926 = x;
        double r17503927 = y;
        double r17503928 = r17503926 * r17503927;
        double r17503929 = z;
        double r17503930 = t;
        double r17503931 = r17503929 * r17503930;
        double r17503932 = a;
        double r17503933 = b;
        double r17503934 = r17503932 * r17503933;
        double r17503935 = r17503931 + r17503934;
        double r17503936 = r17503928 + r17503935;
        double r17503937 = c;
        double r17503938 = i;
        double r17503939 = r17503937 * r17503938;
        double r17503940 = r17503936 + r17503939;
        return r17503940;
}

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. Using strategy rm
  3. Applied associate-+l+0.0

    \[\leadsto \color{blue}{\left(x \cdot y + \left(z \cdot t + a \cdot b\right)\right)} + c \cdot i\]
  4. Final simplification0.0

    \[\leadsto \left(x \cdot y + \left(z \cdot t + a \cdot b\right)\right) + c \cdot i\]

Reproduce

herbie shell --seed 2019173 
(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)))