Average Error: 0.0 → 0.0
Time: 6.8s
Precision: 64
\[x \cdot y + \left(x - 1\right) \cdot z\]
\[x \cdot y + \left(x - 1\right) \cdot z\]
x \cdot y + \left(x - 1\right) \cdot z
x \cdot y + \left(x - 1\right) \cdot z
double f(double x, double y, double z) {
        double r685 = x;
        double r686 = y;
        double r687 = r685 * r686;
        double r688 = 1.0;
        double r689 = r685 - r688;
        double r690 = z;
        double r691 = r689 * r690;
        double r692 = r687 + r691;
        return r692;
}

double f(double x, double y, double z) {
        double r693 = x;
        double r694 = y;
        double r695 = r693 * r694;
        double r696 = 1.0;
        double r697 = r693 - r696;
        double r698 = z;
        double r699 = r697 * r698;
        double r700 = r695 + r699;
        return r700;
}

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

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

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

Reproduce

herbie shell --seed 2020025 
(FPCore (x y z)
  :name "Graphics.Rendering.Chart.Drawing:drawTextsR from Chart-1.5.3"
  :precision binary64
  (+ (* x y) (* (- x 1) z)))