Average Error: 0.0 → 0.0
Time: 9.7s
Precision: 64
\[x \cdot y + \left(1 - x\right) \cdot z\]
\[x \cdot y + \left(1 - x\right) \cdot z\]
x \cdot y + \left(1 - x\right) \cdot z
x \cdot y + \left(1 - x\right) \cdot z
double f(double x, double y, double z) {
        double r194955 = x;
        double r194956 = y;
        double r194957 = r194955 * r194956;
        double r194958 = 1.0;
        double r194959 = r194958 - r194955;
        double r194960 = z;
        double r194961 = r194959 * r194960;
        double r194962 = r194957 + r194961;
        return r194962;
}

double f(double x, double y, double z) {
        double r194963 = x;
        double r194964 = y;
        double r194965 = r194963 * r194964;
        double r194966 = 1.0;
        double r194967 = r194966 - r194963;
        double r194968 = z;
        double r194969 = r194967 * r194968;
        double r194970 = r194965 + r194969;
        return r194970;
}

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(1 - x\right) \cdot z\]
  2. Final simplification0.0

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

Reproduce

herbie shell --seed 2019235 
(FPCore (x y z)
  :name "Diagrams.Backend.Rasterific:$crender from diagrams-rasterific-1.3.1.3"
  :precision binary64
  (+ (* x y) (* (- 1 x) z)))