nano-pow 5.1.1 → 5.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.min.js +4 -2
- package/dist/types.d.ts +4 -4
- package/docs/blake2.md +5 -0
- package/docs/nano-pow.1 +1 -1
- package/package.json +1 -1
package/dist/main.min.js
CHANGED
|
@@ -514,7 +514,7 @@ async function generate(hash, difficulty, debug) {
|
|
|
514
514
|
});
|
|
515
515
|
}
|
|
516
516
|
|
|
517
|
-
// src/lib/generate/wasm/asm/compute.wasm
|
|
517
|
+
// src/lib/generate/wasm/asm/build/compute.wasm
|
|
518
518
|
var compute_default = __toBinary("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");
|
|
519
519
|
|
|
520
520
|
// src/lib/generate/wasm/worker.ts
|
|
@@ -1110,7 +1110,9 @@ async function generate3(hash, difficulty, effort, debug) {
|
|
|
1110
1110
|
}
|
|
1111
1111
|
|
|
1112
1112
|
// src/lib/generate/webgpu/shaders/compute.wgsl
|
|
1113
|
-
var compute_default2 = `struct INPUT{hash:array<vec4<u32>,2>,difficulty:vec2<u32>,seed:vec2<u32>};@group(0)@binding(0)var<uniform> input:INPUT;struct OUTPUT{found:atomic<u32>,work:vec2<u32>,difficulty:vec2<u32>};@group(0)@binding(1)var<storage,read_write>output:OUTPUT;var<workgroup> found:bool;var<workgroup> m1:vec2<u32>;var<workgroup> m2:vec2<u32>;var<workgroup> m3:vec2<u32>;var<workgroup> m4:vec2<u32>;var<workgroup> d:vec2<u32>;var<workgroup> seed:vec2<u32>;@compute @workgroup_size(64)fn main(@builtin(global_invocation_id)global_id:vec3<u32>,@builtin(local_invocation_id)local_id:vec3<u32>){if(local_id.x==0u){found=atomicLoad(&output.found)!=0u;seed=input.seed;m1=input.hash[0u].xy;m2=input.hash[0u].zw;m3=input.hash[1u].xy;m4=input.hash[1u].zw;d=input.difficulty;}workgroupBarrier();if(found){return;}let m0:vec2<u32>=seed ^ global_id.xy;var v0=vec2<u32>(0xf3bcc908u,0x6a09e667u);var v8=vec2<u32>(0xf3bcc908u,0x6a09e667u);var v1=vec2<u32>(0x84caa73bu,0xbb67ae85u);var v9=vec2<u32>(0x84caa73bu,0xbb67ae85u);var v2=vec2<u32>(0xfe94f82bu,0x3c6ef372u);var v10=vec2<u32>(0xfe94f82bu,0x3c6ef372u);var v3=vec2<u32>(0x5f1d36f1u,0xa54ff53au);var v11=vec2<u32>(0x5f1d36f1u,0xa54ff53au);var v4=vec2<u32>(0xade682d1u,0x510e527fu);var v12=vec2<u32>(0xade682d1u,0x510e527fu);var v5=vec2<u32>(0x2b3e6c1fu,0x9b05688cu);var v13=vec2<u32>(0x2b3e6c1fu,0x9b05688cu);var v6=vec2<u32>(0xfb41bd6bu,0x1f83d9abu);var v14=vec2<u32>(0xfb41bd6bu,0x1f83d9abu);var v7=vec2<u32>(0x137e2179u,0x5be0cd19u);var v15=vec2<u32>(0x137e2179u,0x5be0cd19u);v0 ^=vec2<u32>(0x01010008u,0x0u);v12 ^=vec2<u32>(0x28u,0x0u);v14 ^=vec2<u32>(~0x0u);v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m2;v1.y+=u32(v1.x<m2.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m0;v1.y+=u32(v1.x<m0.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m2;v1.y+=u32(v1.x<m2.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m0;v1.y+=u32(v1.x<m0.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m2;v2.y+=u32(v2.x<m2.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m1;v2.y+=u32(v2.x<m1.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m4;v3.y+=u32(v3.x<m4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m1;v1.y+=u32(v1.x<m1.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m0;v2.y+=u32(v2.x<m0.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m2;v2.y+=u32(v2.x<m2.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m0;v2.y+=u32(v2.x<m0.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m4;v0.y+=u32(v0.x<m4.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m1;v3.y+=u32(v3.x<m1.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m1;v1.y+=u32(v1.x<m1.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m4;v3.y+=u32(v3.x<m4.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m2;v2.y+=u32(v2.x<m2.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m1;v2.y+=u32(v2.x<m1.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m2;v3.y+=u32(v3.x<m2.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m3;v2.y+=u32(v2.x<m3.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m0;v3.y+=u32(v3.x<m0.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m1;v2.y+=u32(v2.x<m1.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m1;v3.y+=u32(v3.x<m1.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m3;v2.y+=u32(v2.x<m3.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m0;v3.y+=u32(v3.x<m0.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m2;v1.y+=u32(v1.x<m2.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));let result=vec2<u32>(0xf3bcc908u,0x6a09e667u)^ vec2<u32>(0x01010008u,0x0u)^ v0 ^ v8;if(result.y>input.difficulty.y||(result.y==input.difficulty.y&&result.x>=input.difficulty.x)){loop{let swap=atomicCompareExchangeWeak(&output.found,0u,1u);if(swap.exchanged){output.work=m0;output.difficulty=result;break;}if(swap.old_value!=0u){break;}}return;}}`;
|
|
1113
|
+
var compute_default2 = `//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
|
|
1114
|
+
//! SPDX-License-Identifier: GPL-3.0-or-later
|
|
1115
|
+
struct INPUT{hash:array<vec4<u32>,2>,difficulty:vec2<u32>,seed:vec2<u32>};@group(0)@binding(0)var<uniform> input:INPUT;struct OUTPUT{found:atomic<u32>,work:vec2<u32>,difficulty:vec2<u32>};@group(0)@binding(1)var<storage,read_write>output:OUTPUT;var<workgroup> found:bool;var<workgroup> m1:vec2<u32>;var<workgroup> m2:vec2<u32>;var<workgroup> m3:vec2<u32>;var<workgroup> m4:vec2<u32>;var<workgroup> d:vec2<u32>;var<workgroup> seed:vec2<u32>;@compute @workgroup_size(64)fn main(@builtin(global_invocation_id)global_id:vec3<u32>,@builtin(local_invocation_id)local_id:vec3<u32>){if(local_id.x==0u){found=atomicLoad(&output.found)!=0u;seed=input.seed;m1=input.hash[0u].xy;m2=input.hash[0u].zw;m3=input.hash[1u].xy;m4=input.hash[1u].zw;d=input.difficulty;}workgroupBarrier();if(found){return;}let m0:vec2<u32>=seed ^ global_id.xy;var v0=vec2<u32>(0xf3bcc908u,0x6a09e667u);var v8=vec2<u32>(0xf3bcc908u,0x6a09e667u);var v1=vec2<u32>(0x84caa73bu,0xbb67ae85u);var v9=vec2<u32>(0x84caa73bu,0xbb67ae85u);var v2=vec2<u32>(0xfe94f82bu,0x3c6ef372u);var v10=vec2<u32>(0xfe94f82bu,0x3c6ef372u);var v3=vec2<u32>(0x5f1d36f1u,0xa54ff53au);var v11=vec2<u32>(0x5f1d36f1u,0xa54ff53au);var v4=vec2<u32>(0xade682d1u,0x510e527fu);var v12=vec2<u32>(0xade682d1u,0x510e527fu);var v5=vec2<u32>(0x2b3e6c1fu,0x9b05688cu);var v13=vec2<u32>(0x2b3e6c1fu,0x9b05688cu);var v6=vec2<u32>(0xfb41bd6bu,0x1f83d9abu);var v14=vec2<u32>(0xfb41bd6bu,0x1f83d9abu);var v7=vec2<u32>(0x137e2179u,0x5be0cd19u);var v15=vec2<u32>(0x137e2179u,0x5be0cd19u);v0 ^=vec2<u32>(0x01010008u,0x0u);v12 ^=vec2<u32>(0x28u,0x0u);v14 ^=vec2<u32>(~0x0u);v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m2;v1.y+=u32(v1.x<m2.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m0;v1.y+=u32(v1.x<m0.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m2;v1.y+=u32(v1.x<m2.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m0;v1.y+=u32(v1.x<m0.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m2;v2.y+=u32(v2.x<m2.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m1;v2.y+=u32(v2.x<m1.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m4;v3.y+=u32(v3.x<m4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m1;v1.y+=u32(v1.x<m1.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m0;v2.y+=u32(v2.x<m0.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m2;v2.y+=u32(v2.x<m2.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m0;v2.y+=u32(v2.x<m0.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m4;v0.y+=u32(v0.x<m4.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m1;v3.y+=u32(v3.x<m1.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m1;v1.y+=u32(v1.x<m1.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m4;v3.y+=u32(v3.x<m4.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m2;v2.y+=u32(v2.x<m2.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m1;v2.y+=u32(v2.x<m1.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m3;v3.y+=u32(v3.x<m3.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m2;v3.y+=u32(v3.x<m2.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m3;v2.y+=u32(v2.x<m3.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m0;v3.y+=u32(v3.x<m0.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m1;v2.y+=u32(v2.x<m1.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m2;v0.y+=u32(v0.x<m2.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v3+=m1;v3.y+=u32(v3.x<m1.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v2+=m3;v2.y+=u32(v2.x<m3.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v3+=m0;v3.y+=u32(v3.x<m0.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m0;v0.y+=u32(v0.x<m0.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m2;v1.y+=u32(v1.x<m2.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m3;v1.y+=u32(v1.x<m3.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v2+=m4;v2.y+=u32(v2.x<m4.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=v12.yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v1+=v6;v1.y+=u32(v1.x<v6.x);v12 ^=v1;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v11+=v12;v11.y+=u32(v11.x<v12.x);v6 ^=v11;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=v14.yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v3+=v4;v3.y+=u32(v3.x<v4.x);v14 ^=v3;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v9+=v14;v9.y+=u32(v9.x<v14.x);v4 ^=v9;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=v12.yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(24u))|(v4<<vec2<u32>(8u)).yx;v0+=v4;v0.y+=u32(v0.x<v4.x);v12 ^=v0;v12=(v12>>vec2<u32>(16u))|(v12<<vec2<u32>(16u)).yx;v8+=v12;v8.y+=u32(v8.x<v12.x);v4 ^=v8;v4=(v4>>vec2<u32>(31u)).yx|(v4<<vec2<u32>(1u));v1+=v5;v1.y+=u32(v1.x<v5.x);v1+=m4;v1.y+=u32(v1.x<m4.x);v13 ^=v1;v13=v13.yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v1+=v5;v1.y+=u32(v1.x<v5.x);v13 ^=v1;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v9+=v13;v9.y+=u32(v9.x<v13.x);v5 ^=v9;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=v14.yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(24u))|(v6<<vec2<u32>(8u)).yx;v2+=v6;v2.y+=u32(v2.x<v6.x);v14 ^=v2;v14=(v14>>vec2<u32>(16u))|(v14<<vec2<u32>(16u)).yx;v10+=v14;v10.y+=u32(v10.x<v14.x);v6 ^=v10;v6=(v6>>vec2<u32>(31u)).yx|(v6<<vec2<u32>(1u));v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=v15.yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v3+=v7;v3.y+=u32(v3.x<v7.x);v15 ^=v3;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v11+=v15;v11.y+=u32(v11.x<v15.x);v7 ^=v11;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));v0+=v5;v0.y+=u32(v0.x<v5.x);v0+=m1;v0.y+=u32(v0.x<m1.x);v15 ^=v0;v15=v15.yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(24u))|(v5<<vec2<u32>(8u)).yx;v0+=v5;v0.y+=u32(v0.x<v5.x);v15 ^=v0;v15=(v15>>vec2<u32>(16u))|(v15<<vec2<u32>(16u)).yx;v10+=v15;v10.y+=u32(v10.x<v15.x);v5 ^=v10;v5=(v5>>vec2<u32>(31u)).yx|(v5<<vec2<u32>(1u));v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=v13.yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(24u))|(v7<<vec2<u32>(8u)).yx;v2+=v7;v2.y+=u32(v2.x<v7.x);v13 ^=v2;v13=(v13>>vec2<u32>(16u))|(v13<<vec2<u32>(16u)).yx;v8+=v13;v8.y+=u32(v8.x<v13.x);v7 ^=v8;v7=(v7>>vec2<u32>(31u)).yx|(v7<<vec2<u32>(1u));let result=vec2<u32>(0xf3bcc908u,0x6a09e667u)^ vec2<u32>(0x01010008u,0x0u)^ v0 ^ v8;if(result.y>input.difficulty.y||(result.y==input.difficulty.y&&result.x>=input.difficulty.x)){loop{let swap=atomicCompareExchangeWeak(&output.found,0u,1u);if(swap.exchanged){output.work=m0;output.difficulty=result;break;}if(swap.old_value!=0u){break;}}return;}}`;
|
|
1114
1116
|
|
|
1115
1117
|
// src/lib/generate/webgpu/index.ts
|
|
1116
1118
|
//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
|
package/dist/types.d.ts
CHANGED
|
@@ -56,10 +56,10 @@ export { NanoPow as default }
|
|
|
56
56
|
* @param {number} [effort=0x4] - GPU load when generating work. Larger values are not necessarily better since they can quickly overwhelm the GPU. Default: 0x4
|
|
57
57
|
*/
|
|
58
58
|
export type NanoPowOptions = {
|
|
59
|
-
api
|
|
60
|
-
debug
|
|
61
|
-
difficulty
|
|
62
|
-
effort
|
|
59
|
+
api?: unknown
|
|
60
|
+
debug?: unknown
|
|
61
|
+
difficulty?: unknown
|
|
62
|
+
effort?: unknown
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/**
|
package/docs/blake2.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
|
|
3
|
+
SPDX-License-Identifier: GPL-3.0-or-later
|
|
4
|
+
-->
|
|
5
|
+
|
|
1
6
|
Twelve rounds of G mixing as part of BLAKE2b compression step, each divided into eight subprocesses. Each subprocess applies transformations to `m` and `v` variables based on a defined set of index inputs. The algorithm for each subprocess is defined as ollows:
|
|
2
7
|
|
|
3
8
|
* r is the current round
|
package/docs/nano-pow.1
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
\# SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
|
|
2
2
|
\# SPDX-License-Identifier: GPL-3.0-or-later
|
|
3
3
|
|
|
4
|
-
.TH nano-pow 1 2025-06-
|
|
4
|
+
.TH nano-pow 1 2025-06-27 "nano-pow v5.1.2"
|
|
5
5
|
|
|
6
6
|
.SH NAME
|
|
7
7
|
nano-pow \- proof-of-work generation and validation for Nano cryptocurrency
|