Average Error: 0.1 → 0.1
Time: 11.5s
Precision: 64
\[x + \left(y \cdot z\right) \cdot z\]
\[x + \left(y \cdot z\right) \cdot z\]
x + \left(y \cdot z\right) \cdot z
x + \left(y \cdot z\right) \cdot z
double f(double x, double y, double z) {
        double r923094 = x;
        double r923095 = y;
        double r923096 = z;
        double r923097 = r923095 * r923096;
        double r923098 = r923097 * r923096;
        double r923099 = r923094 + r923098;
        return r923099;
}

double f(double x, double y, double z) {
        double r923100 = x;
        double r923101 = y;
        double r923102 = z;
        double r923103 = r923101 * r923102;
        double r923104 = r923103 * r923102;
        double r923105 = r923100 + r923104;
        return r923105;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[x + \left(y \cdot z\right) \cdot z\]
  2. Final simplification0.1

    \[\leadsto x + \left(y \cdot z\right) \cdot z\]

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z)
  :name "Statistics.Sample:robustSumVarWeighted from math-functions-0.1.5.2"
  (+ x (* (* y z) z)))