Average Error: 0.1 → 0.1
Time: 4.2s
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 r201715 = x;
        double r201716 = r201715 * r201715;
        double r201717 = y;
        double r201718 = 4.0;
        double r201719 = r201717 * r201718;
        double r201720 = z;
        double r201721 = r201719 * r201720;
        double r201722 = r201716 - r201721;
        return r201722;
}

double f(double x, double y, double z) {
        double r201723 = x;
        double r201724 = r201723 * r201723;
        double r201725 = y;
        double r201726 = 4.0;
        double r201727 = r201725 * r201726;
        double r201728 = z;
        double r201729 = r201727 * r201728;
        double r201730 = r201724 - r201729;
        return r201730;
}

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.1

    \[x \cdot x - \left(y \cdot 4\right) \cdot z\]
  2. Final simplification0.1

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

Reproduce

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