Относно Домашно 3 - задача 16 - Bit Exchange (Advanced)

Здравейте,

тези дни се помъчих да реша тази задача и вследствие на множество мъки и ядове - успях. Но въпреки това, кодът, който съм измислил, смятам че е доста сложен и лично аз ако не бях правил задачата, не бих го разбрал. В тази връзка бих искал да получа мнения относно самия код, конкретно на какви места бих могъл да променя нещо, за да бъде по - разбираем. А ето го и кода:

 

http://pastebin.com/zPNnpf81