code: func tabulateL(bc cipher.Block, m int) [][]byte {
  	/* set L0 = 2*AESenc(K; 0) */
  	eZero := make([]byte, 16)
  	Li := make([]byte, 16)
  	bc.Encrypt(Li, eZero)
  
  	LTable := make([][]byte, m)
  	// Allocate pool once and slice into m pieces in the loop
  	pool := make([]byte, m*16)
  	for i := 0; i < m; i++ {
  		multByTwo(Li, Li)
  		LTable[i] = pool[i*16 : (i+1)*16]
  		copy(LTable[i], Li)
  	}
  	return LTable
  }
docs: // tabulateL - calculate L_i for messages up to a length of m cipher blocks