 		const unsigned int k = lane_id * REDUCTION_PER_THREAD + i;
 		const int p = static_cast<int>(((width - k) & ~(MAX_DISPARITY - 1)) + k);
 		if(p < width){
-			right_dest[p] = compute_disparity(right_top2[i], uniqueness);
+			right_dest[p] = compute_disparity_normal<MAX_DISPARITY>(right_top2[i], uniqueness);
 		}
 	}
 }

					right_top2[i].push(recv);
					if(d == MAX_DISPARITY - 1){
						if(0 <= p){
							right_dest[p] = compute_disparity(right_top2[i], uniqueness);
						}
						right_top2[i].initialize();
					}

				}
				left_top2 = subgroup_merge_top2<WARP_SIZE>(left_top2);
				if(lane_id == 0){
					left_dest[x] = compute_disparity(left_top2, uniqueness, smem_cost_sum[warp_id][smem_x]);
				}
				// Update right
#pragma unroll
