Average Error: 0.0 → 0.0
Time: 7.9s
Precision: 64
\[b \cdot b - \left(4 \cdot a\right) \cdot c\]
\[b \cdot b - \left(4 \cdot a\right) \cdot c\]
b \cdot b - \left(4 \cdot a\right) \cdot c
b \cdot b - \left(4 \cdot a\right) \cdot c
double f(double b, double a, double c) {
        double r19311881 = b;
        double r19311882 = r19311881 * r19311881;
        double r19311883 = 4.0;
        double r19311884 = a;
        double r19311885 = r19311883 * r19311884;
        double r19311886 = c;
        double r19311887 = r19311885 * r19311886;
        double r19311888 = r19311882 - r19311887;
        return r19311888;
}

double f(double b, double a, double c) {
        double r19311889 = b;
        double r19311890 = r19311889 * r19311889;
        double r19311891 = 4.0;
        double r19311892 = a;
        double r19311893 = r19311891 * r19311892;
        double r19311894 = c;
        double r19311895 = r19311893 * r19311894;
        double r19311896 = r19311890 - r19311895;
        return r19311896;
}

Error

Bits error versus b

Bits error versus a

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[b \cdot b - \left(4 \cdot a\right) \cdot c\]
  2. Final simplification0.0

    \[\leadsto b \cdot b - \left(4 \cdot a\right) \cdot c\]

Reproduce

herbie shell --seed 1 
(FPCore (b a c)
  :name "b*b-4*a*c"
  (- (* b b) (* (* 4.0 a) c)))