Average Error: 0.0 → 0.0
Time: 17.8s
Precision: 64
\[x \cdot x - \left(y \cdot 4\right) \cdot z\]
\[x \cdot x - z \cdot \left(y \cdot 4\right)\]
x \cdot x - \left(y \cdot 4\right) \cdot z
x \cdot x - z \cdot \left(y \cdot 4\right)
double f(double x, double y, double z) {
        double r9134326 = x;
        double r9134327 = r9134326 * r9134326;
        double r9134328 = y;
        double r9134329 = 4.0;
        double r9134330 = r9134328 * r9134329;
        double r9134331 = z;
        double r9134332 = r9134330 * r9134331;
        double r9134333 = r9134327 - r9134332;
        return r9134333;
}

double f(double x, double y, double z) {
        double r9134334 = x;
        double r9134335 = r9134334 * r9134334;
        double r9134336 = z;
        double r9134337 = y;
        double r9134338 = 4.0;
        double r9134339 = r9134337 * r9134338;
        double r9134340 = r9134336 * r9134339;
        double r9134341 = r9134335 - r9134340;
        return r9134341;
}

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 - z \cdot \left(y \cdot 4\right)\]

Reproduce

herbie shell --seed 2019200 
(FPCore (x y z)
  :name "Graphics.Rasterific.QuadraticFormula:discriminant from Rasterific-0.6.1"
  (- (* x x) (* (* y 4.0) z)))