Average Error: 3.3 → 3.3
Time: 11.0s
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 r284426 = x;
        double r284427 = 1.0;
        double r284428 = y;
        double r284429 = z;
        double r284430 = r284428 * r284429;
        double r284431 = r284427 - r284430;
        double r284432 = r284426 * r284431;
        return r284432;
}

double f(double x, double y, double z) {
        double r284433 = x;
        double r284434 = 1.0;
        double r284435 = y;
        double r284436 = z;
        double r284437 = r284435 * r284436;
        double r284438 = r284434 - r284437;
        double r284439 = r284433 * r284438;
        return r284439;
}

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 2019326 
(FPCore (x y z)
  :name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
  :precision binary64
  (* x (- 1 (* y z))))