]> zoso.dev Git - nano-pow.git/commitdiff
Update documentation comments.
authorChris Duncan <chris@zoso.dev>
Wed, 15 Jan 2025 17:56:56 +0000 (09:56 -0800)
committerChris Duncan <chris@zoso.dev>
Wed, 15 Jan 2025 17:56:56 +0000 (09:56 -0800)
src/shaders/compute.wgsl

index 28c4a2aae06297511dcb43201f3d21ce7cfea7ec..75dc6e2c608d021bd1d686f135f12c5a91d64d9e 100644 (file)
@@ -46,12 +46,20 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        var m9: u32 = ubo.blockhash[1u].w;
 
        /**
-       * Compression buffer initialized to 2 instances of initialization vector
+       * Compression buffer initialized to 2 instances of initialization vector. Each
+       * vec2<u32> represents two halves of the original u64 value from the reference
+       * implementation. They appear reversed pairwise as defined below, but this is
+       * because NanoPow treats the `x` component of a vector as the low bits and the
+       * `y` component as the high bits.
+       *
        * The following values have been modified from the BLAKE2B_IV:
+       *
        * OUTLEN is constant 8 bytes
        * v[0u] ^= 0x01010000u ^ uint(OUTLEN);
+       *
        * INLEN is constant 40 bytes: work value (8) + block hash (32)
        * v[24u] ^= uint(INLEN);
+       *
        * It is always the "last" compression at this INLEN
        * v[28u] = ~v[28u];
        * v[29u] = ~v[29u];
@@ -75,9 +83,10 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
        /**
        * Twelve rounds of G mixing as part of BLAKE2b compression step.
+*
        * Each sigma r index correlates with the reference implementation, but each
-       * sigma i index, and each v index, is doubled due to using two u32 array
-       * elements to represent one uint64_t.
+       * sigma i index is doubled due to using two u32 array elements to represent
+       * one uint64_t.
        */
        var xor: vec2<u32>;
 
@@ -86,7 +95,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=0, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=0, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -128,7 +137,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=0, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -170,7 +179,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=2(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=0, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -212,7 +221,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=0, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -254,7 +263,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=0, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -296,7 +305,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=0, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -338,7 +347,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=6(x2), a=v[4-6], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=0, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -380,7 +389,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=0, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=0, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -426,7 +435,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=1, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=1, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -468,7 +477,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=1, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -510,7 +519,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=1, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -552,7 +561,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=1, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -594,7 +603,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=4(x2), a=v[0-1], b=v[11-12], c=v[21-22], d=v[30-31]
+       * r=1, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -636,7 +645,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=1, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -678,7 +687,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=1, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -720,7 +729,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=1, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=1, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -766,7 +775,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=2, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=2, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -808,7 +817,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=2, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -850,7 +859,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=2, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -892,7 +901,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=2, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -934,7 +943,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=2, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -976,7 +985,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=2, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -1018,7 +1027,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=2, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -1060,7 +1069,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=2, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=2, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -1106,7 +1115,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=3, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=3, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -1148,7 +1157,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=3, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -1190,7 +1199,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=3, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -1232,7 +1241,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=3, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -1274,7 +1283,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=3, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -1316,7 +1325,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=3, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -1358,7 +1367,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=3, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -1400,7 +1409,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=3, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=3, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -1446,7 +1455,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=4, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=4, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -1488,7 +1497,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=4, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -1530,7 +1539,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=4, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -1572,7 +1581,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=4, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -1614,7 +1623,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=4, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -1656,7 +1665,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=4, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -1698,7 +1707,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=4, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -1740,7 +1749,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=4, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=4, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -1786,7 +1795,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=5, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=5, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -1828,7 +1837,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=5, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -1870,7 +1879,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=5, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -1912,7 +1921,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=5, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -1954,7 +1963,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=5, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -1996,7 +2005,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=5, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -2038,7 +2047,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=5, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -2080,7 +2089,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=5, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=5, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -2126,7 +2135,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=6, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=6, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -2168,7 +2177,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=6, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -2210,7 +2219,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=6, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -2252,7 +2261,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=6, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -2294,7 +2303,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=6, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -2336,7 +2345,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=6, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -2378,7 +2387,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=6, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -2420,7 +2429,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=6, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=6, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -2466,7 +2475,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=7, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=7, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -2508,7 +2517,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=7, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -2550,7 +2559,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=7, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -2592,7 +2601,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=7, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -2634,7 +2643,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=7, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -2676,7 +2685,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=7, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -2718,7 +2727,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=7, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -2760,7 +2769,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=7, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=7, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -2806,7 +2815,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=8, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=8, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -2848,7 +2857,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=8, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -2890,7 +2899,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=8, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -2932,7 +2941,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=8, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -2974,7 +2983,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=8, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -3016,7 +3025,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=8, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -3058,7 +3067,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=8, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -3100,7 +3109,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=8, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=8, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -3146,7 +3155,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=9, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=9, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -3188,7 +3197,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=9, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -3230,7 +3239,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=9, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -3272,7 +3281,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=9, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -3314,7 +3323,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=9, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -3356,7 +3365,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=9, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -3398,7 +3407,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=9, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -3440,7 +3449,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=9, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=9, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -3486,7 +3495,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=10, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=10, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -3528,7 +3537,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=10, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -3570,7 +3579,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=10, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -3612,7 +3621,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=10, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -3654,7 +3663,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=10, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -3696,7 +3705,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=10, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -3738,7 +3747,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=10, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -3780,7 +3789,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=10, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=10, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b
@@ -3826,7 +3835,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
        ****************************************************************************/
 
        /**
-       * r=11, i=0(x2), a=v[0-1], b=v[8-9], c=v[16-17], d=v[24-25]
+       * r=11, i=0(x2), a=v[0], b=v[4], c=v[8], d=v[12]
        */
 
        // a = a + b
@@ -3868,7 +3877,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=1(x2), a=v[2-3], b=v[10-11], c=v[18-19], d=v[26-27]
+       * r=11, i=1(x2), a=v[1], b=v[5], c=v[9], d=v[13]
        */
 
        // a = a + b
@@ -3910,7 +3919,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=2(x2), a=v[4-5], b=v[12-13], c=v[20-21], d=v[28-29]
+       * r=11, i=2(x2), a=v[2], b=v[6], c=v[10], d=v[14]
        */
 
        // a = a + b
@@ -3952,7 +3961,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=3(x2), a=v[6-7], b=v[14-15], c=v[22-23], d=v[30-31]
+       * r=11, i=3(x2), a=v[3], b=v[7], c=v[11], d=v[15]
        */
 
        // a = a + b
@@ -3994,7 +4003,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=4(x2), a=v[0-1], b=v[10-11], c=v[20-21], d=v[30-31]
+       * r=11, i=4(x2), a=v[0], b=v[5], c=v[10], d=v[15]
        */
 
        // a = a + b
@@ -4036,7 +4045,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=5(x2), a=v[2-3], b=v[12-13], c=v[22-23], d=v[24-25]
+       * r=11, i=5(x2), a=v[1], b=v[6], c=v[11], d=v[12]
        */
 
        // a = a + b
@@ -4078,7 +4087,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=6(x2), a=v[4-5], b=v[14-15], c=v[16-17], d=v[26-27]
+       * r=11, i=6(x2), a=v[2], b=v[7], c=v[8], d=v[13]
        */
 
        // a = a + b
@@ -4120,7 +4129,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
 
 
        /**
-       * r=11, i=7(x2), a=v[6-7], b=v[8-9], c=v[18-19], d=v[28-29]
+       * r=11, i=7(x2), a=v[3], b=v[4], c=v[9], d=v[14]
        */
 
        // a = a + b