if (CMP (0, 1) > 0)
SWAP (0 ,1);
if (CMP (2, 3) > 0)
SWAP (2, 3);
if (CMP (0, 2) > 0) {
SWAP (0, 2);
SWAP (1, 3);
}
if (CMP (1, 2) <= 0)
return;
if (CMP (1, 3) > 0)
ROLL (1, 2, 3);
else
SWAP (1, 2);