     
     float min_t = 10000.0f;
     unsigned int fastest_block_size = 0;
-    for (unsigned int block_size=128; block_size<=128; block_size+=32)
+    for (unsigned int block_size=32; block_size<=512; block_size+=32)
         {
         // benchmarks
         timeval start;

            neigh_bin = d_bin_adj[my_bin + cur_adj*bin_adj_width];
        else
            neigh_bin = d_bin_adj[cur_adj + my_bin*bin_adj_width];
            
        //unsigned int size = tex1Dfetch(bin_size_tex, neigh_bin);
        unsigned int size = d_bin_size[neigh_bin];

            
            // FLOPS: 15
            float dx = my_pos.x - neigh_pos.x;
            float dy = my_pos.y - neigh_pos.y;
            float dz = my_pos.z - neigh_pos.z;
            
            dx = dx - Lx * rintf(dx * Lxinv);
            dy = dy - Ly * rintf(dy * Lyinv);
            dz = dz - Lz * rintf(dz * Lzinv);
            
            // FLOPS: 5
