reduce map by half