Syntax
#define ROTR(x,n) (SHR(x,n) | ((x) << (32 - (n)))) ![]()
#define ROTR(x,n) (SHR(x,n) | ((x) << (32 - (n))))![]()
#define ROTR(x,n) (SHR((x),(n)) | ((x) << (64 - (n))))![]()
#define S0(x) (ROTR(x, 7) ^ ROTR(x,18) ^ SHR(x, 3))![]()
#define S1(x) (ROTR(x,17) ^ ROTR(x,19) ^ SHR(x,10))![]()
#define S2(x) (ROTR(x, 2) ^ ROTR(x,13) ^ ROTR(x,22))![]()
#define S3(x) (ROTR(x, 6) ^ ROTR(x,11) ^ ROTR(x,25))![]()
#define S0(x) (ROTR(x, 1) ^ ROTR(x, 8) ^ SHR(x, 7))![]()
#define S1(x) (ROTR(x,19) ^ ROTR(x,61) ^ SHR(x, 6))![]()
#define S2(x) (ROTR(x,28) ^ ROTR(x,34) ^ ROTR(x,39))![]()
#define S3(x) (ROTR(x,14) ^ ROTR(x,18) ^ ROTR(x,41))