void matmult(int M, double *y, double *val, int *row,
int *col, double *x, int cycles) {
int reps;
int r;
int i;
for (reps = 0; reps < cycles; reps++) {
for (r = 0; r < M; r++) {
double sum = 0.0;
for (i = row[r]; i < row[r + 1]; i++)
sum += x[col[i]] * val[i];
y[r] = sum;
}
}
}