void matrix_matrix_mult_by_tiling (
     float** dst, float** src1, float** src2,
     int nr, int nc, int nq,
     int rtilesize, int ctilesize, int qtilesize)
{ /* matrix_matrix_mult_by_tiling */
   int rstart, rend, cstart, cend, qstart, qend;
   for (rstart = 0; rstart < nr; rstart += rtilesize) {
      rend = rstart + rtilesize – 1;
      if (rend >= nr) rend = nr - 1;
      for (cstart = 0; cstart < nc; cstart += ctilesize) {
         cend = cstart + ctilesize – 1;
         if (cend >= nc) cend = nc - 1;
         for (qstart = 0; qstart < nq; qstart += qtilesize) {
            qend = qstart + qtilesize – 1;
            if (qend >= nq) qend = nq - 1;
            matrix_matrix_mult_tile(dst, src1, src2, nr, nc, nq,
                                     rstart, rend, cstart, cend, qstart, qend);
         } /* for qstart */
      } /* for cstart */
    } /* for rstart */
} /* matrix_matrix_mult_by_tiling */