 		Constants<3> constants,
 		int max_iters)
 {
-//	printf("Constants %d %d %d\n", constants.values[0], constants.values[1], constants.values[2]);
-//	printf("Bucket Constants %d %d\n", bucket_constants.values[0], bucket_constants.values[1]);
-
 	const int block_size = FAST_CUCKOO_HASH_BLOCK_SIZE;
 	unsigned int* starts;
 	unsigned int* counts;

			if(value.y != s[hash].y)
				s[hash] = int2{EMPTY_BUCKET_KEY, EMPTY_BUCKET_KEY};
			else if(old_value.x == EMPTY_BUCKET_KEY)
			{
				working = false;
			}
			else
			{
				value = old_value;
			}
		}
	}
	if(working)
	{
		atomicAdd(failures, 1);
	}

	// COPY SHARED MEMORY TO HASH MAP
	__syncthreads();
	if(idx2 < PART_HASH_MAP_SIZE)
	{
		hashMap_part[idx2].x = s[idx2].x;
		hashMap_part[idx2].y = s[idx2].y;
	}
	__syncthreads();
	hashMap_part[idx].x = s[idx].x;
	hashMap_part[idx].y = s[idx].y;
}

bool fast_cuckooHash(

		int* failures,
		int2* hashes)
{
	unsigned i, hash;
	unsigned idx = threadIdx.x;
	unsigned idx2 = threadIdx.x + blockDim.x;
	__shared__ int2 s[PART_HASH_MAP_SIZE];
