These are the steps what the optimized code does all at once: 0 - Initial data: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 - Horizontal shifting: . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . 2 - Vertical shifting: . . . . . . . . 1 . . . . . . . . . . . . . 1 1 1 1 1 . . . . . . . . . 1 1 1 1 1 1 1 1 1 . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . 1 1 1 . . . . . . 3 - Horizontal compression: . . . . 1 . . . . . . 2 2 1 . . . . 2 2 2 2 1 . . 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 . 1 2 2 2 2 2 . . . 1 2 2 2 . . . . . 1 2 . . .