Shaker sort is a variant on bubble sort, where the "head" alternates back and forth through the list, instead of going in the same direction every time. Arms 1, 2, and 3 convert the input into a line; arms 4, 5, 6, and 7 shuffle the line through the head for testing; arms 9, 10, and 11 do a set of 3 tests, either pushing the current pair back down or left for arms 11 and 12 to swap it. The following pairs get swapped: 🜂🜂 🜔🜂 🜄🜂 🜔🜔 🜄🜔