I'm trying to multiply 16 square matrices 8 x 8 recursively.

I'm not very sure about this code.Code:signed char matrices_64[16][8][8] = {}; signed char matrices_result[16][8][8] = {}; signed long long int tmp_matrix; for(BYTE M = 0; M < 16; M++) { for (BYTE x = 0; x < 8; x++) { for (BYTE y = 0; y < 8; y++) { tmp_matrix = matrices_64[M][x][i]; for (BYTE m = 0; m < 16; m++) { for (BYTE i = 0; i < 8; i++) { tmp_matrix *= matrices_64[(M + m + 1) % 16][i][y]; } tmp_matrix %= 256; } matrices_result[M][x][y] = tmp_matrix; } } }