Average Error: 1.5 → 1.5
Time: 17.2s
Precision: 64
\[\frac{\left(\frac{\left(-b\right)}{\left(\sqrt{\left(\left(b \cdot b\right) - \left(\left(4\right) \cdot \left(a \cdot c\right)\right)\right)}\right)}\right)}{\left(\left(2\right) \cdot a\right)}\]
\[\frac{\sqrt{b \cdot b - \left(c \cdot a\right) \cdot 4} - b}{2 \cdot a}\]
\frac{\left(\frac{\left(-b\right)}{\left(\sqrt{\left(\left(b \cdot b\right) - \left(\left(4\right) \cdot \left(a \cdot c\right)\right)\right)}\right)}\right)}{\left(\left(2\right) \cdot a\right)}
\frac{\sqrt{b \cdot b - \left(c \cdot a\right) \cdot 4} - b}{2 \cdot a}
double f(double a, double b, double c) {
        double r611218 = b;
        double r611219 = -r611218;
        double r611220 = r611218 * r611218;
        double r611221 = 4.0;
        double r611222 = /* ERROR: no posit support in C */;
        double r611223 = a;
        double r611224 = c;
        double r611225 = r611223 * r611224;
        double r611226 = r611222 * r611225;
        double r611227 = r611220 - r611226;
        double r611228 = sqrt(r611227);
        double r611229 = r611219 + r611228;
        double r611230 = 2.0;
        double r611231 = /* ERROR: no posit support in C */;
        double r611232 = r611231 * r611223;
        double r611233 = r611229 / r611232;
        return r611233;
}

double f(double a, double b, double c) {
        double r611234 = b;
        double r611235 = r611234 * r611234;
        double r611236 = c;
        double r611237 = a;
        double r611238 = r611236 * r611237;
        double r611239 = 4.0;
        double r611240 = r611238 * r611239;
        double r611241 = r611235 - r611240;
        double r611242 = sqrt(r611241);
        double r611243 = r611242 - r611234;
        double r611244 = 2.0;
        double r611245 = r611244 * r611237;
        double r611246 = r611243 / r611245;
        return r611246;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 1.5

    \[\frac{\left(\frac{\left(-b\right)}{\left(\sqrt{\left(\left(b \cdot b\right) - \left(\left(4\right) \cdot \left(a \cdot c\right)\right)\right)}\right)}\right)}{\left(\left(2\right) \cdot a\right)}\]
  2. Simplified1.5

    \[\leadsto \color{blue}{\frac{\left(\left(\sqrt{\left(\left(b \cdot b\right) - \left(\left(c \cdot a\right) \cdot \left(4\right)\right)\right)}\right) - b\right)}{\left(\left(2\right) \cdot a\right)}}\]
  3. Final simplification1.5

    \[\leadsto \frac{\sqrt{b \cdot b - \left(c \cdot a\right) \cdot 4} - b}{2 \cdot a}\]

Reproduce

herbie shell --seed 2019120 
(FPCore (a b c)
  :name "quadp (p42, positive)"
  (/.p16 (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))