]> zoso.dev Git - nano-pow.git/commitdiff
Replace rest of 63-bit scalar rotations with vector rotations.
authorChris Duncan <chris@zoso.dev>
Tue, 14 Jan 2025 19:59:34 +0000 (11:59 -0800)
committerChris Duncan <chris@zoso.dev>
Tue, 14 Jan 2025 19:59:34 +0000 (11:59 -0800)
src/shaders/compute.wgsl

index 90d406261145a224b767758a1b60d951b8415916..a17490814129063c22d5ae698c27f242084dead2 100644 (file)
@@ -318,10 +318,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -422,10 +426,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -529,10 +537,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -618,10 +630,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -725,10 +741,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -832,10 +852,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -939,10 +963,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -1138,10 +1166,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -1245,10 +1277,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -1352,10 +1388,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -1447,10 +1487,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -1548,10 +1592,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -1655,10 +1703,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -1759,10 +1811,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -1958,10 +2014,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -2062,10 +2122,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -2169,10 +2233,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -2258,10 +2326,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -2362,10 +2434,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -2466,10 +2542,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -2570,10 +2650,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -2766,10 +2850,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -2873,10 +2961,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -2980,10 +3072,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -3075,10 +3171,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -3182,10 +3282,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -3283,10 +3387,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -3390,10 +3498,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -3598,10 +3710,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -3699,10 +3815,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -3806,10 +3926,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -3901,10 +4025,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -4008,10 +4136,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -4115,10 +4247,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -4219,10 +4355,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -4427,10 +4567,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -4531,10 +4675,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -4635,10 +4783,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -4730,10 +4882,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -4837,10 +4993,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -4944,10 +5104,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -5048,10 +5212,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -5247,10 +5415,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -5354,10 +5526,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -5458,10 +5634,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -5553,10 +5733,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -5657,10 +5841,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -5761,10 +5949,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -5868,10 +6060,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -6070,10 +6266,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -6174,10 +6374,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -6278,10 +6482,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -6373,10 +6581,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -6477,10 +6689,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -6584,10 +6800,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -6688,10 +6908,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -6890,10 +7114,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -6994,10 +7222,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -7098,10 +7330,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -7193,10 +7429,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -7300,10 +7540,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -7401,10 +7645,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -7508,10 +7756,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -7713,10 +7965,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -7820,10 +8076,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -7924,10 +8184,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -8013,10 +8277,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -8120,10 +8388,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -8224,10 +8496,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -8328,10 +8604,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -8536,10 +8816,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -8640,10 +8924,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -8747,10 +9035,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -8836,10 +9128,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -8943,10 +9239,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -9050,10 +9350,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -9157,10 +9461,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;
 
 
 
@@ -9356,10 +9664,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v18;
-       xor1 = v11 ^ v19;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_1819;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -9463,10 +9775,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v20;
-       xor1 = v13 ^ v21;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2021;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -9570,10 +9886,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v22;
-       xor1 = v15 ^ v23;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_2223;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -9665,10 +9985,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v31 = v_3031.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v10 ^ v20;
-       xor1 = v11 ^ v21;
-       v10 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v11 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2021.x = v20;
+       v_2021.y = v21;
+       v_1011.x = v10;
+       v_1011.y = v11;
+       xor = v_1011 ^ v_2021;
+       v_1011 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v10 = v_1011.x;
+       v11 = v_1011.y;
 
 
 
@@ -9766,10 +10090,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v25 = v_2425.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v12 ^ v22;
-       xor1 = v13 ^ v23;
-       v12 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v13 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_2223.x = v22;
+       v_2223.y = v23;
+       v_1213.x = v12;
+       v_1213.y = v13;
+       xor = v_1213 ^ v_2223;
+       v_1213 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v12 = v_1213.x;
+       v13 = v_1213.y;
 
 
 
@@ -9873,10 +10201,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v27 = v_2627.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v14 ^ v16;
-       xor1 = v15 ^ v17;
-       v14 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v15 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1617.x = v16;
+       v_1617.y = v17;
+       v_1415.x = v14;
+       v_1415.y = v15;
+       xor = v_1415 ^ v_1617;
+       v_1415 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v14 = v_1415.x;
+       v15 = v_1415.y;
 
 
 
@@ -9977,10 +10309,14 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        v29 = v_2829.y;
 
        // b = rotr64(b ^ c, 63)
-       xor0 = v8 ^ v18;
-       xor1 = v9 ^ v19;
-       v8 = (xor1 >> 31u) ^ (xor0 << 1u);
-       v9 = (xor0 >> 31u) ^ (xor1 << 1u);
+       v_1819.x = v18;
+       v_1819.y = v19;
+       v_89.x = v8;
+       v_89.y = v9;
+       xor = v_89 ^ v_1819;
+       v_89 = vec2((xor.x << 1u) | (xor.y >> 31u), (xor.y << 1u) | (xor.x >> 31u));
+       v8 = v_89.x;
+       v9 = v_89.y;