+unsigned time_dennyfliegner()
+{
+ unsigned result = 0;
+
+ cout << "timing commutative expansion and substitution" << flush;
+
+ vector<unsigned> sizes;
+ vector<double> times;
+ timer breitling;
+
+ sizes.push_back(100);
+ sizes.push_back(200);
+ sizes.push_back(400);
+ sizes.push_back(800);
+
+ for (vector<unsigned>::iterator i=sizes.begin(); i!=sizes.end(); ++i) {
+ breitling.start();
+ result += expand_subs(*i);
+ times.push_back(breitling.read());
+ cout << '.' << flush;
+ }
+
+ // print the report:
+ cout << endl << " size: ";
+ for (vector<unsigned>::iterator i=sizes.begin(); i!=sizes.end(); ++i)
+ cout << '\t' << *i;
+ cout << endl << " time/s:";
+ for (vector<double>::iterator i=times.begin(); i!=times.end(); ++i)
+ cout << '\t' << *i;
+ cout << endl;
+
+ return result;
+}
+
+extern void randomify_symbol_serials();
+
+int main(int argc, char** argv)