Average Error: 0.0 → 0.0
Time: 2.0s
Precision: 64
\[\left(x + y\right) \cdot \left(z + 1\right)\]
\[\left(x + y\right) \cdot \left(z + 1\right)\]
\left(x + y\right) \cdot \left(z + 1\right)
\left(x + y\right) \cdot \left(z + 1\right)
double f(double x, double y, double z) {
        double r38051 = x;
        double r38052 = y;
        double r38053 = r38051 + r38052;
        double r38054 = z;
        double r38055 = 1.0;
        double r38056 = r38054 + r38055;
        double r38057 = r38053 * r38056;
        return r38057;
}

double f(double x, double y, double z) {
        double r38058 = x;
        double r38059 = y;
        double r38060 = r38058 + r38059;
        double r38061 = z;
        double r38062 = 1.0;
        double r38063 = r38061 + r38062;
        double r38064 = r38060 * r38063;
        return r38064;
}

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.0

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

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

Reproduce

herbie shell --seed 2020060 +o rules:numerics
(FPCore (x y z)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, G"
  :precision binary64
  (* (+ x y) (+ z 1)))