Average Error: 0.0 → 0.0
Time: 8.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 r112876 = x;
        double r112877 = y;
        double r112878 = r112876 * r112877;
        double r112879 = 1.0;
        double r112880 = r112879 - r112876;
        double r112881 = z;
        double r112882 = r112880 * r112881;
        double r112883 = r112878 + r112882;
        return r112883;
}

double f(double x, double y, double z) {
        double r112884 = x;
        double r112885 = y;
        double r112886 = r112884 * r112885;
        double r112887 = 1.0;
        double r112888 = r112887 - r112884;
        double r112889 = z;
        double r112890 = r112888 * r112889;
        double r112891 = r112886 + r112890;
        return r112891;
}

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 2019326 +o rules:numerics
(FPCore (x y z)
  :name "Diagrams.Backend.Rasterific:$crender from diagrams-rasterific-1.3.1.3"
  :precision binary64
  (+ (* x y) (* (- 1 x) z)))