included cswap instruction to avoid if statement in algorithm
calling the bytes of x x[0], ... to avoid confusion with the bytes of s