Average Error: 0.0 → 0.0
Time: 1.8s
Precision: 64
\[x \cdot x - \left(y \cdot 4.0\right) \cdot z\]
\[x \cdot x - \left(y \cdot 4.0\right) \cdot z\]
x \cdot x - \left(y \cdot 4.0\right) \cdot z
x \cdot x - \left(y \cdot 4.0\right) \cdot z
double f(double x, double y, double z) {
        double r6888368 = x;
        double r6888369 = r6888368 * r6888368;
        double r6888370 = y;
        double r6888371 = 4.0;
        double r6888372 = r6888370 * r6888371;
        double r6888373 = z;
        double r6888374 = r6888372 * r6888373;
        double r6888375 = r6888369 - r6888374;
        return r6888375;
}

double f(double x, double y, double z) {
        double r6888376 = x;
        double r6888377 = r6888376 * r6888376;
        double r6888378 = y;
        double r6888379 = 4.0;
        double r6888380 = r6888378 * r6888379;
        double r6888381 = z;
        double r6888382 = r6888380 * r6888381;
        double r6888383 = r6888377 - r6888382;
        return r6888383;
}

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

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

Reproduce

herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y z)
  :name "Graphics.Rasterific.QuadraticFormula:discriminant from Rasterific-0.6.1"
  (- (* x x) (* (* y 4.0) z)))