Average Error: 0.0 → 0.0
Time: 12.3s
Precision: 64
\[x \cdot x - \left(y \cdot 4\right) \cdot z\]
\[x \cdot x - \left(y \cdot 4\right) \cdot z\]
x \cdot x - \left(y \cdot 4\right) \cdot z
x \cdot x - \left(y \cdot 4\right) \cdot z
double f(double x, double y, double z) {
        double r138555 = x;
        double r138556 = r138555 * r138555;
        double r138557 = y;
        double r138558 = 4.0;
        double r138559 = r138557 * r138558;
        double r138560 = z;
        double r138561 = r138559 * r138560;
        double r138562 = r138556 - r138561;
        return r138562;
}

double f(double x, double y, double z) {
        double r138563 = x;
        double r138564 = r138563 * r138563;
        double r138565 = y;
        double r138566 = 4.0;
        double r138567 = r138565 * r138566;
        double r138568 = z;
        double r138569 = r138567 * r138568;
        double r138570 = r138564 - r138569;
        return r138570;
}

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

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

Reproduce

herbie shell --seed 2019208 
(FPCore (x y z)
  :name "Graphics.Rasterific.QuadraticFormula:discriminant from Rasterific-0.6.1"
  :precision binary64
  (- (* x x) (* (* y 4) z)))