Average Error: 0.0 → 0.0
Time: 1.7m
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 r37126502 = x;
        double r37126503 = y;
        double r37126504 = r37126502 * r37126503;
        double r37126505 = z;
        double r37126506 = t;
        double r37126507 = r37126505 * r37126506;
        double r37126508 = r37126504 + r37126507;
        double r37126509 = a;
        double r37126510 = b;
        double r37126511 = r37126509 * r37126510;
        double r37126512 = r37126508 + r37126511;
        double r37126513 = c;
        double r37126514 = i;
        double r37126515 = r37126513 * r37126514;
        double r37126516 = r37126512 + r37126515;
        return r37126516;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r37126517 = c;
        double r37126518 = i;
        double r37126519 = r37126517 * r37126518;
        double r37126520 = z;
        double r37126521 = t;
        double r37126522 = r37126520 * r37126521;
        double r37126523 = x;
        double r37126524 = y;
        double r37126525 = r37126523 * r37126524;
        double r37126526 = r37126522 + r37126525;
        double r37126527 = a;
        double r37126528 = b;
        double r37126529 = r37126527 * r37126528;
        double r37126530 = r37126526 + r37126529;
        double r37126531 = r37126519 + r37126530;
        return r37126531;
}

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 2019124 +o rules:numerics
(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)))