 		printf("Restricted-range key-value sort: ");
 	}
 	b40c::CompareDeviceResults(
-		h_reference_keys, sort_storage.d_keys[sort_storage.selector], num_elements, verbose, verbose); printf("\n");
+		h_reference_keys,
+		sort_storage.d_keys[sort_storage.selector],
+		num_elements,
+		true,
+		verbose); printf("\n");
 
 	// Cleanup any "pong" storage allocated by the enactor
 	if (sort_storage.d_keys[1]) cudaFree(sort_storage.d_keys[1]);

		// Spine-scan kernel policy
		//		Prefix sum of upsweep histograms counted by each CTA.  Relatively insignificant in the grand scheme, not really worth tuning for large problems)
		//
		1,							// SPINE_CTA_OCCUPANCY				The targeted SM occupancy to feed PTXAS in order to influence how it does register allocation
		7,							// SPINE_LOG_THREADS				The number of threads (log) to launch per CTA.  Valid range: 5-10
		2,							// SPINE_LOG_LOAD_VEC_SIZE			The vector-load size (log) for each load (log).  Valid range: 0-2
		0,							// SPINE_LOG_LOADS_PER_TILE			The number of loads (log) per tile.  Valid range: 0-2


	// Only use RADIX_BITS effective bits (remaining high order bits
	// are left zero): we only want to perform one sorting pass
	if (verbose) printf("Original: ");
	for (size_t i = 0; i < num_elements; ++i) {
//		b40c::util::RandomBits(h_keys[i], 0, Policy::RADIX_BITS);
		h_keys[i] = i & ((1 << Policy::RADIX_BITS) - 1);
		h_reference_keys[i] = h_keys[i];

		if (verbose) printf("%d, ", h_keys[i]);
	}
	if (verbose) printf("\n");

    // Compute reference solution
	std::sort(h_reference_keys, h_reference_keys + num_elements);
