*/
const BLAKE2B_IV32_1: u32 = 0x6A09E667u;
+/**
+* Used to rotate bits by a fixed amount during G mixing.
+*/
+const ROTATE_1 = vec2(1u, 1u);
+const ROTATE_8 = vec2(8u, 8u);
+const ROTATE_16 = vec2(16u, 16u);
+const ROTATE_24 = vec2(24u, 24u);
+const ROTATE_31 = vec2(31u, 31u);
+
/**
* Search compute function
* Calls main with a workgroup size of 64 which has been tested as optimal
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v8;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v4 + vec2(0u, u32(v0.x + v4.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v0;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v12 + vec2(0u, u32(v8.x + v12.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v8;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v9;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v5 + vec2(0u, u32(v1.x + v5.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v1;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v13 + vec2(0u, u32(v9.x + v13.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v9;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v10;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v2;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v10;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v11;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v3;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v11;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v5 ^ v10;
- v5 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v5 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x));
// d = rotr64(d ^ a, 16)
xor = v15 ^ v0;
- v15 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v15 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x));
// b = rotr64(b ^ c, 63)
xor = v5 ^ v10;
- v5 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v5 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v6 ^ v11;
- v6 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v6 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x));
// d = rotr64(d ^ a, 16)
xor = v12 ^ v1;
- v12 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v12 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x));
// b = rotr64(b ^ c, 63)
xor = v6 ^ v11;
- v6 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v6 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v7 ^ v8;
- v7 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v7 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x));
// d = rotr64(d ^ a, 16)
xor = v13 ^ v2;
- v13 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v13 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x));
// b = rotr64(b ^ c, 63)
xor = v7 ^ v8;
- v7 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v7 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));
// b = rotr64(b ^ c, 24)
xor = v4 ^ v9;
- v4 = vec2((xor.xy >> vec2(24u, 24u)) | (xor.yx << vec2(8u, 8u)));
+ v4 = vec2((xor.xy >> ROTATE_24) | (xor.yx << ROTATE_8));
// a = a + b
v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x));
// d = rotr64(d ^ a, 16)
xor = v14 ^ v3;
- v14 = vec2((xor.xy >> vec2(16u, 16u)) | (xor.yx << vec2(16u, 16u)));
+ v14 = vec2((xor.xy >> ROTATE_16) | (xor.yx << ROTATE_16));
// c = c + d
v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x));
// b = rotr64(b ^ c, 63)
xor = v4 ^ v9;
- v4 = vec2((xor.xy << vec2(1u, 1u)) | (xor.yx >> vec2(31u, 31u)));
+ v4 = vec2((xor.xy << ROTATE_1) | (xor.yx >> ROTATE_31));