Average Error: 3.3 → 3.3
Time: 5.3s
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 r298955 = x;
        double r298956 = 1.0;
        double r298957 = y;
        double r298958 = z;
        double r298959 = r298957 * r298958;
        double r298960 = r298956 - r298959;
        double r298961 = r298955 * r298960;
        return r298961;
}

double f(double x, double y, double z) {
        double r298962 = x;
        double r298963 = 1.0;
        double r298964 = y;
        double r298965 = z;
        double r298966 = r298964 * r298965;
        double r298967 = r298963 - r298966;
        double r298968 = r298962 * r298967;
        return r298968;
}

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

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

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

Reproduce

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