Or maybe without temporaries at all, forgot the xor trick.

-[Unknown]