\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\mathsf{fma}\left(\left(x \cdot 18.0\right) \cdot \left(y \cdot z\right) - a \cdot 4.0, t, b \cdot c - \mathsf{fma}\left(27.0, k \cdot j, \left(x \cdot i\right) \cdot 4.0\right)\right)double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r5009988 = x;
double r5009989 = 18.0;
double r5009990 = r5009988 * r5009989;
double r5009991 = y;
double r5009992 = r5009990 * r5009991;
double r5009993 = z;
double r5009994 = r5009992 * r5009993;
double r5009995 = t;
double r5009996 = r5009994 * r5009995;
double r5009997 = a;
double r5009998 = 4.0;
double r5009999 = r5009997 * r5009998;
double r5010000 = r5009999 * r5009995;
double r5010001 = r5009996 - r5010000;
double r5010002 = b;
double r5010003 = c;
double r5010004 = r5010002 * r5010003;
double r5010005 = r5010001 + r5010004;
double r5010006 = r5009988 * r5009998;
double r5010007 = i;
double r5010008 = r5010006 * r5010007;
double r5010009 = r5010005 - r5010008;
double r5010010 = j;
double r5010011 = 27.0;
double r5010012 = r5010010 * r5010011;
double r5010013 = k;
double r5010014 = r5010012 * r5010013;
double r5010015 = r5010009 - r5010014;
return r5010015;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r5010016 = x;
double r5010017 = 18.0;
double r5010018 = r5010016 * r5010017;
double r5010019 = y;
double r5010020 = z;
double r5010021 = r5010019 * r5010020;
double r5010022 = r5010018 * r5010021;
double r5010023 = a;
double r5010024 = 4.0;
double r5010025 = r5010023 * r5010024;
double r5010026 = r5010022 - r5010025;
double r5010027 = t;
double r5010028 = b;
double r5010029 = c;
double r5010030 = r5010028 * r5010029;
double r5010031 = 27.0;
double r5010032 = k;
double r5010033 = j;
double r5010034 = r5010032 * r5010033;
double r5010035 = i;
double r5010036 = r5010016 * r5010035;
double r5010037 = r5010036 * r5010024;
double r5010038 = fma(r5010031, r5010034, r5010037);
double r5010039 = r5010030 - r5010038;
double r5010040 = fma(r5010026, r5010027, r5010039);
return r5010040;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i



Bits error versus j



Bits error versus k
Initial program 5.1
Simplified5.1
rmApplied associate-*l*5.6
Taylor expanded around inf 5.6
Simplified5.6
Final simplification5.6
herbie shell --seed 2019134 +o rules:numerics
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1"
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))