\frac{\left(\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{\left(\left(-b\right) - \left(\sqrt{\left(\left(b \cdot b\right) - \left(\left(\left(4\right) \cdot a\right) \cdot c\right)\right)}\right)\right)}{\left(\left(2\right) \cdot a\right)}double f(double a, double b, double c) {
double r1180148 = b;
double r1180149 = -r1180148;
double r1180150 = r1180148 * r1180148;
double r1180151 = 4.0;
double r1180152 = /* ERROR: no posit support in C */;
double r1180153 = a;
double r1180154 = c;
double r1180155 = r1180153 * r1180154;
double r1180156 = r1180152 * r1180155;
double r1180157 = r1180150 - r1180156;
double r1180158 = sqrt(r1180157);
double r1180159 = r1180149 - r1180158;
double r1180160 = 2.0;
double r1180161 = /* ERROR: no posit support in C */;
double r1180162 = r1180161 * r1180153;
double r1180163 = r1180159 / r1180162;
return r1180163;
}
double f(double a, double b, double c) {
double r1180164 = b;
double r1180165 = -r1180164;
double r1180166 = r1180164 * r1180164;
double r1180167 = 4.0;
double r1180168 = /* ERROR: no posit support in C */;
double r1180169 = a;
double r1180170 = r1180168 * r1180169;
double r1180171 = c;
double r1180172 = r1180170 * r1180171;
double r1180173 = r1180166 - r1180172;
double r1180174 = sqrt(r1180173);
double r1180175 = r1180165 - r1180174;
double r1180176 = 2.0;
double r1180177 = /* ERROR: no posit support in C */;
double r1180178 = r1180177 * r1180169;
double r1180179 = r1180175 / r1180178;
return r1180179;
}



Bits error versus a



Bits error versus b



Bits error versus c
Initial program 1.6
rmApplied associate-*r*1.5
Final simplification1.5
herbie shell --seed 2019168
(FPCore (a b c)
:name "quadm (p42, negative)"
(/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))