             float discrim;
             float* tData = x + obs * DATA_PADDED_DIM;
             float* tDensityInfo = density + component * PACK_DIM;
-            float* tMean = tDensityInfo;            //do we need to unallocate shared/register variables?
+            float* tMean = tDensityInfo;
             float* tSigma = tDensityInfo + D;
             float  tP = tDensityInfo[LOGDET_OFFSET];
             float  tLogDet = tDensityInfo[LOGDET_OFFSET+1];

		}
	  }
	}

	// can't fit max_block_params sets of parameters into the shared memory,
	// uh oh
	if (data_per == 0) {

	  }
	  else {
		// keep the half-warp
		if (data_per > 1) {
		  // TODO: should ask what is the half warp size instead of 16
		  if (params_per > 16) {
