Smart choice of vertical or horizontal diff