int _seze(int elen, double *e, double b, double *h) { double Q, sum, hh, product1, product0, enow, _bvr, _avr, _brn, _arn, c; double abig, ahi, alo, bhi, blo, err1, err2, err3; int eindex, hindex; SPLT(b, bhi, blo); TPP(e[0], b, bhi, blo, Q, hh); hindex = 0; if (hh != 0) { h[hindex++] = hh; } for (eindex = 1; eindex < elen; eindex++) { enow = e[eindex]; TPP(enow, b, bhi, blo, product1, product0); TWS(Q, product0, sum, hh); if (hh != 0) { h[hindex++] = hh; } FTS(product1, sum, Q, hh); if (hh != 0) { h[hindex++] = hh; } } if ((Q != 0.0) || (hindex == 0)) { h[hindex++] = Q; } return hindex; }
// To avoid that timing program points are duplicated, we must mark the // function to not be inlined. int __attribute__ ((noinline)) foo() { int u = g1 * g2; int i; TPP(1); for(i=0; i<g1*g2; i++) u += i * g2; TPP(2); return u; }