Average Error: 3.0 → 3.0
Time: 5.1s
Precision: 64
\[x \cdot \left(1 - y \cdot z\right)\]
\[x \cdot \left(1 - y \cdot z\right)\]
x \cdot \left(1 - y \cdot z\right)
x \cdot \left(1 - y \cdot z\right)
double f(double x, double y, double z) {
        double r305948 = x;
        double r305949 = 1.0;
        double r305950 = y;
        double r305951 = z;
        double r305952 = r305950 * r305951;
        double r305953 = r305949 - r305952;
        double r305954 = r305948 * r305953;
        return r305954;
}

double f(double x, double y, double z) {
        double r305955 = x;
        double r305956 = 1.0;
        double r305957 = y;
        double r305958 = z;
        double r305959 = r305957 * r305958;
        double r305960 = r305956 - r305959;
        double r305961 = r305955 * r305960;
        return r305961;
}

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 3.0

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

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

Reproduce

herbie shell --seed 2019353 
(FPCore (x y z)
  :name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
  :precision binary64
  (* x (- 1 (* y z))))