What makes it awesome? It seems like a way to take something simple (swapping variables) and write it in a complex way (three operations) so that neither the humans nor the compilers reading it will know what is going on.
Real temporary variables are clearer for both humans and machines.