Average Error: 3.2 → 3.2
Time: 14.7s
Precision: 64
\[x \cdot \left(1 - y \cdot z\right)\]
\[\left(1 - y \cdot z\right) \cdot x\]
x \cdot \left(1 - y \cdot z\right)
\left(1 - y \cdot z\right) \cdot x
double f(double x, double y, double z) {
        double r16073195 = x;
        double r16073196 = 1.0;
        double r16073197 = y;
        double r16073198 = z;
        double r16073199 = r16073197 * r16073198;
        double r16073200 = r16073196 - r16073199;
        double r16073201 = r16073195 * r16073200;
        return r16073201;
}

double f(double x, double y, double z) {
        double r16073202 = 1.0;
        double r16073203 = y;
        double r16073204 = z;
        double r16073205 = r16073203 * r16073204;
        double r16073206 = r16073202 - r16073205;
        double r16073207 = x;
        double r16073208 = r16073206 * r16073207;
        return r16073208;
}

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

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

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

Reproduce

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