mindgrab / net_mindgrab.js
spikedoanz's picture
MindGrab-only WebGPU Space
8bbab59
const mindgrab = (() => {
const getTensorBuffer = (safetensorBuffer, tensorMetadata) => {
return safetensorBuffer.subarray(...tensorMetadata.data_offsets);
};
const getTensorMetadata = (safetensorBuffer) => {
const metadataLength = Number(new DataView(safetensorBuffer.buffer).getBigUint64(0, true));
const metadata = JSON.parse(new TextDecoder("utf8").decode(safetensorBuffer.subarray(8, 8 + metadataLength)));
return Object.fromEntries(Object.entries(metadata).filter(([k, v]) => k !== "__metadata__").map(([k, v]) => [k, {...v, data_offsets: v.data_offsets.map(x => 8 + metadataLength + x)}]));
};
const createEmptyBuf = (device, size) => {
return device.createBuffer({size, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST });
};
const createUniformBuf = (device, size) => {
return device.createBuffer({size, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST})
}
const createInfinityUniformBuf = (device) => {
const size = 4;
const buf = device.createBuffer({
mappedAtCreation: true,
size,
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST
});
new Float32Array(buf.getMappedRange())[0] = Infinity;
buf.unmap();
return buf;
};
const createWeightBuf = (device, size, data) => {
const buf = device.createBuffer({ size, usage: GPUBufferUsage.STORAGE, mappedAtCreation: true });
new Uint8Array(buf.getMappedRange()).set(data); buf.unmap();
return buf;
};
const addComputePass = (device, commandEncoder, pipeline, layout, infinityUniformBuf, bufs, workgroup) => {
const bindGroup = device.createBindGroup({
layout: layout,
entries: [
{ binding: 0, resource: { buffer: infinityUniformBuf } },
...bufs.map((buffer, index) => ({ binding: index + 1, resource: { buffer } }))
]
});
const passEncoder = commandEncoder.beginComputePass();
passEncoder.setPipeline(pipeline);
passEncoder.setBindGroup(0, bindGroup);
passEncoder.dispatchWorkgroups(...workgroup);
passEncoder.end();
};
const r_5_256_32_4_8_16_4_3_3_3_3 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_251658240:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_16777216:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_405:array<f32>;
@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,12>;
var gidx0 = i32(gindex.x); /* 128 */
var gidx1 = i32(gindex.y); /* 256 */
var gidx2 = i32(gindex.z); /* 5 */
var lidx0 = i32(lindex.x); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx1;
var precast1 = lidx0;
var precast2 = lidx1;
var precast3 = (gidx0>>2u);
var precast4 = (gidx0&3);
var precast5 = (bitcast<u32>(precast0)<<16u);
var precast6 = (bitcast<u32>(precast1)<<8u);
var precast7 = (bitcast<u32>(precast2)<<2u);
var precast8 = (bitcast<u32>(precast3)<<11u);
var cast0 = bitcast<u32>(precast4);
var precast9 = (cast0<<4u);
var precast10 = (cast0<<6u);
var cast1 = bitcast<i32>(precast5);
var alu0 = (lidx1+bitcast<i32>(precast9));
var alu1 = (bitcast<i32>(precast6)+bitcast<i32>(precast8)+bitcast<i32>(precast7)+bitcast<i32>(precast10));
var alu2 = (gidx0<120);
var alu3 = (alu0<60);
var alu4 = (3<alu0);
var alu5 = (7<gidx0);
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
acc0[4] = 0.0f;
acc0[5] = 0.0f;
acc0[6] = 0.0f;
acc0[7] = 0.0f;
acc0[8] = 0.0f;
acc0[9] = 0.0f;
acc0[10] = 0.0f;
acc0[11] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 3; Ridx0++) {
var precast11 = Ridx0;
var cast2 = bitcast<u32>(precast11);
var precast12 = (cast2<<4u);
var precast13 = (cast2<<20u);
var alu18 = (gidx1+bitcast<i32>(precast12));
var alu19 = (alu1+cast1+bitcast<i32>(precast13));
var alu20 = ((15<alu18)&(alu18<272));
var alu21 = (alu4&alu5&alu20);
var val0 = select(0.0f, data1_16777216[(alu19+-1052688)], alu21);
var alu22 = ((gidx2*81)+(Ridx0*9));
var val1 = data2_405[alu22];
var alu23 = (alu5&alu20);
var val2 = select(0.0f, data1_16777216[(alu19+-1052672)], alu23);
var val3 = data2_405[(alu22+1)];
var alu24 = (alu3&alu5&alu20);
var val4 = select(0.0f, data1_16777216[(alu19+-1052656)], alu24);
var val5 = data2_405[(alu22+2)];
var alu25 = (alu4&alu20);
var val6 = select(0.0f, data1_16777216[(alu19+-1048592)], alu25);
var val7 = data2_405[(alu22+3)];
var val8 = select(0.0f, data1_16777216[(alu19+-1048576)], alu20);
var val9 = data2_405[(alu22+4)];
var alu26 = (alu3&alu20);
var val10 = select(0.0f, data1_16777216[(alu19+-1048560)], alu26);
var val11 = data2_405[(alu22+5)];
var alu27 = (alu4&alu2&alu20);
var val12 = select(0.0f, data1_16777216[(alu19+-1044496)], alu27);
var val13 = data2_405[(alu22+6)];
var alu28 = (alu2&alu20);
var val14 = select(0.0f, data1_16777216[(alu19+-1044480)], alu28);
var val15 = data2_405[(alu22+7)];
var alu29 = (alu3&alu2&alu20);
var val16 = select(0.0f, data1_16777216[(alu19+-1044464)], alu29);
var val17 = data2_405[(alu22+8)];
var val18 = data2_405[(alu22+27)];
var val19 = data2_405[(alu22+28)];
var val20 = data2_405[(alu22+29)];
var val21 = data2_405[(alu22+30)];
var val22 = data2_405[(alu22+31)];
var val23 = data2_405[(alu22+32)];
var val24 = data2_405[(alu22+33)];
var val25 = data2_405[(alu22+34)];
var val26 = data2_405[(alu22+35)];
var val27 = data2_405[(alu22+54)];
var val28 = data2_405[(alu22+55)];
var val29 = data2_405[(alu22+56)];
var val30 = data2_405[(alu22+57)];
var val31 = data2_405[(alu22+58)];
var val32 = data2_405[(alu22+59)];
var val33 = data2_405[(alu22+60)];
var val34 = data2_405[(alu22+61)];
var val35 = data2_405[(alu22+62)];
var val36 = select(0.0f, data1_16777216[(alu19+-1052687)], alu21);
var val37 = select(0.0f, data1_16777216[(alu19+-1052671)], alu23);
var val38 = select(0.0f, data1_16777216[(alu19+-1052670)], alu23);
var val39 = select(0.0f, data1_16777216[(alu19+-1052655)], alu24);
var val40 = select(0.0f, data1_16777216[(alu19+-1052654)], alu24);
var val41 = select(0.0f, data1_16777216[(alu19+-1048591)], alu25);
var val42 = select(0.0f, data1_16777216[(alu19+-1048590)], alu25);
var val43 = select(0.0f, data1_16777216[(alu19+-1048575)], alu20);
var val44 = select(0.0f, data1_16777216[(alu19+-1048574)], alu20);
var val45 = select(0.0f, data1_16777216[(alu19+-1048559)], alu26);
var val46 = select(0.0f, data1_16777216[(alu19+-1048558)], alu26);
var val47 = select(0.0f, data1_16777216[(alu19+-1044495)], alu27);
var val48 = select(0.0f, data1_16777216[(alu19+-1044494)], alu27);
var val49 = select(0.0f, data1_16777216[(alu19+-1044479)], alu28);
var val50 = select(0.0f, data1_16777216[(alu19+-1044478)], alu28);
var val51 = select(0.0f, data1_16777216[(alu19+-1044463)], alu29);
var val52 = select(0.0f, data1_16777216[(alu19+-1052686)], alu21);
var val53 = select(0.0f, data1_16777216[(alu19+-1044462)], alu29);
var val54 = select(0.0f, data1_16777216[(alu19+-1052685)], alu21);
var val55 = select(0.0f, data1_16777216[(alu19+-1052669)], alu23);
var val56 = select(0.0f, data1_16777216[(alu19+-1052653)], alu24);
var val57 = select(0.0f, data1_16777216[(alu19+-1048589)], alu25);
var val58 = select(0.0f, data1_16777216[(alu19+-1048573)], alu20);
var val59 = select(0.0f, data1_16777216[(alu19+-1048557)], alu26);
var val60 = select(0.0f, data1_16777216[(alu19+-1044493)], alu27);
var val61 = select(0.0f, data1_16777216[(alu19+-1044477)], alu28);
var val62 = select(0.0f, data1_16777216[(alu19+-1044461)], alu29);
acc0[0] = (acc0[0]+(val0*val1)+(val2*val3)+(val4*val5)+(val6*val7)+(val8*val9)+(val10*val11)+(val12*val13)+(val14*val15)+(val16*val17));
acc0[1] = (acc0[1]+(val0*val18)+(val2*val19)+(val4*val20)+(val6*val21)+(val8*val22)+(val10*val23)+(val12*val24)+(val14*val25)+(val16*val26));
acc0[2] = (acc0[2]+(val0*val27)+(val2*val28)+(val4*val29)+(val6*val30)+(val8*val31)+(val10*val32)+(val12*val33)+(val14*val34)+(val16*val35));
acc0[3] = (acc0[3]+(val36*val1)+(val37*val3)+(val39*val5)+(val41*val7)+(val43*val9)+(val45*val11)+(val47*val13)+(val49*val15)+(val51*val17));
acc0[4] = (acc0[4]+(val36*val18)+(val37*val19)+(val39*val20)+(val41*val21)+(val43*val22)+(val45*val23)+(val47*val24)+(val49*val25)+(val51*val26));
acc0[5] = (acc0[5]+(val36*val27)+(val37*val28)+(val39*val29)+(val41*val30)+(val43*val31)+(val45*val32)+(val47*val33)+(val49*val34)+(val51*val35));
acc0[6] = (acc0[6]+(val52*val1)+(val38*val3)+(val40*val5)+(val42*val7)+(val44*val9)+(val46*val11)+(val48*val13)+(val50*val15)+(val53*val17));
acc0[7] = (acc0[7]+(val52*val18)+(val38*val19)+(val40*val20)+(val42*val21)+(val44*val22)+(val46*val23)+(val48*val24)+(val50*val25)+(val53*val26));
acc0[8] = (acc0[8]+(val52*val27)+(val38*val28)+(val40*val29)+(val42*val30)+(val44*val31)+(val46*val32)+(val48*val33)+(val50*val34)+(val53*val35));
acc0[9] = (acc0[9]+(val54*val1)+(val55*val3)+(val56*val5)+(val57*val7)+(val58*val9)+(val59*val11)+(val60*val13)+(val61*val15)+(val62*val17));
acc0[10] = (acc0[10]+(val54*val18)+(val55*val19)+(val56*val20)+(val57*val21)+(val58*val22)+(val59*val23)+(val60*val24)+(val61*val25)+(val62*val26));
acc0[11] = (acc0[11]+(val54*val27)+(val55*val28)+(val56*val29)+(val57*val30)+(val58*val31)+(val59*val32)+(val60*val33)+(val61*val34)+(val62*val35));
}
var alu43 = (alu1+cast1+(gidx2*50331648));
data0_251658240[alu43] = acc0[0];
data0_251658240[(alu43+1)] = acc0[3];
data0_251658240[(alu43+2)] = acc0[6];
data0_251658240[(alu43+3)] = acc0[9];
data0_251658240[(alu43+16777216)] = acc0[1];
data0_251658240[(alu43+16777217)] = acc0[4];
data0_251658240[(alu43+16777218)] = acc0[7];
data0_251658240[(alu43+16777219)] = acc0[10];
data0_251658240[(alu43+33554432)] = acc0[2];
data0_251658240[(alu43+33554433)] = acc0[5];
data0_251658240[(alu43+33554434)] = acc0[8];
data0_251658240[(alu43+33554435)] = acc0[11];
}`;
const r_10240_32_3_64_4 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_983040:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,3>;
var gidx0 = i32(gindex.x); /* 10240 */
var lidx0 = i32(lindex.x); /* 32 */
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 64; Ridx0++) {
var precast0 = Ridx0;
var precast1 = (bitcast<u32>(precast0)<<2u);
var alu3 = ((gidx0*24576)+(lidx0*768)+bitcast<i32>(precast1));
var val0 = data1_251658240[(alu3+1)];
var val1 = data1_251658240[(alu3+2)];
var val2 = data1_251658240[(alu3+3)];
var val3 = data1_251658240[(alu3+256)];
var val4 = data1_251658240[(alu3+257)];
var val5 = data1_251658240[(alu3+258)];
var val6 = data1_251658240[(alu3+259)];
var val7 = data1_251658240[alu3];
var val8 = data1_251658240[(alu3+512)];
var val9 = data1_251658240[(alu3+513)];
var val10 = data1_251658240[(alu3+514)];
var val11 = data1_251658240[(alu3+515)];
acc0[0] = (acc0[0]+val7+val0+val1+val2);
acc0[1] = (acc0[1]+val3+val4+val5+val6);
acc0[2] = (acc0[2]+val8+val9+val10+val11);
}
var alu8 = ((gidx0*96)+(lidx0*3));
data0_983040[(alu8+1)] = acc0[1];
data0_983040[(alu8+2)] = acc0[2];
data0_983040[alu8] = acc0[0];
}`;
const r_40_32_3_64_4 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_3840:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_983040:array<f32>;
@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,3>;
var gidx0 = i32(gindex.x); /* 40 */
var lidx0 = i32(lindex.x); /* 32 */
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 64; Ridx0++) {
var precast0 = Ridx0;
var precast1 = (bitcast<u32>(precast0)<<2u);
var alu3 = ((gidx0*24576)+(lidx0*768)+bitcast<i32>(precast1));
var val0 = data1_983040[(alu3+1)];
var val1 = data1_983040[(alu3+2)];
var val2 = data1_983040[(alu3+3)];
var val3 = data1_983040[(alu3+256)];
var val4 = data1_983040[(alu3+257)];
var val5 = data1_983040[(alu3+258)];
var val6 = data1_983040[(alu3+259)];
var val7 = data1_983040[alu3];
var val8 = data1_983040[(alu3+512)];
var val9 = data1_983040[(alu3+513)];
var val10 = data1_983040[(alu3+514)];
var val11 = data1_983040[(alu3+515)];
acc0[0] = (acc0[0]+val7+val0+val1+val2);
acc0[1] = (acc0[1]+val3+val4+val5+val6);
acc0[2] = (acc0[2]+val8+val9+val10+val11);
}
var alu8 = ((gidx0*96)+(lidx0*3));
data0_3840[(alu8+1)] = acc0[1];
data0_3840[(alu8+2)] = acc0[2];
data0_3840[alu8] = acc0[0];
}`;
const r_15_16_16 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
var<workgroup> temp0: array<f32,16>;
@group(0) @binding(1)var<storage,read_write>data0_15:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_3840:array<f32>;
@compute @workgroup_size(16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,1>;
var acc1: array<f32,1>;
var gidx0 = i32(gindex.x); /* 15 */
var lidx0 = i32(lindex.x); /* 16 */
var precast0 = gidx0;
var precast1 = lidx0;
var precast2 = (bitcast<u32>(precast0)<<8u);
var precast3 = (bitcast<u32>(precast1)<<4u);
acc0[0] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 16; Ridx0++) {
var val0 = data1_3840[(bitcast<i32>(precast3)+Ridx0+bitcast<i32>(precast2))];
acc0[0] = (acc0[0]+val0);
}
temp0[lidx0] = acc0[0];
workgroupBarrier();
acc1[0] = 0.0f;
for (var Ridx102 = 0; Ridx102 < 16; Ridx102++) {
var val1 = temp0[Ridx102];
acc1[0] = (acc1[0]+val1);
}
var alu8 = ((bool(lidx0))!=true);
if (alu8) {
data0_15[gidx0] = (acc1[0]*5.960464477539063e-08f);
}
}`;
const r_5_1024_3_16_4_64_4 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_983040:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@compute @workgroup_size(3,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,4>;
var gidx1 = i32(gindex.y); /* 5 */
var lidx0 = i32(lindex.x); /* 3 */
var val0 = data2_15[(lidx0+(gidx1*3))];
var gidx0 = i32(gindex.x); /* 1024 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx0;
var precast1 = lidx0;
var precast2 = lidx1;
var cast0 = bitcast<u32>(precast0);
var precast3 = (cast0<<14u);
var cast1 = bitcast<u32>(precast1);
var precast4 = (cast1<<24u);
var cast2 = bitcast<u32>(precast2);
var precast5 = (cast2<<10u);
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 64; Ridx0++) {
var precast6 = Ridx0;
var precast7 = (bitcast<u32>(precast6)<<2u);
var alu4 = (bitcast<i32>(precast3)+bitcast<i32>(precast5)+bitcast<i32>(precast7)+(gidx1*50331648)+bitcast<i32>(precast4));
var val1 = data1_251658240[alu4];
var val2 = data1_251658240[(alu4+1)];
var val3 = data1_251658240[(alu4+2)];
var val4 = data1_251658240[(alu4+3)];
var val5 = data1_251658240[(alu4+256)];
var val6 = data1_251658240[(alu4+257)];
var val7 = data1_251658240[(alu4+258)];
var val8 = data1_251658240[(alu4+259)];
var val9 = data1_251658240[(alu4+512)];
var val10 = data1_251658240[(alu4+513)];
var val11 = data1_251658240[(alu4+514)];
var val12 = data1_251658240[(alu4+515)];
var val13 = data1_251658240[(alu4+768)];
var val14 = data1_251658240[(alu4+769)];
var val15 = data1_251658240[(alu4+770)];
var val16 = data1_251658240[(alu4+771)];
var alu5 = (val1-val0);
var alu6 = (val5-val0);
var alu7 = (val9-val0);
var alu8 = (val13-val0);
var alu9 = (val2-val0);
var alu10 = (val6-val0);
var alu11 = (val10-val0);
var alu12 = (val14-val0);
var alu13 = (val3-val0);
var alu14 = (val7-val0);
var alu15 = (val11-val0);
var alu16 = (val15-val0);
var alu17 = (val4-val0);
var alu18 = (val8-val0);
var alu19 = (val12-val0);
var alu20 = (val16-val0);
acc0[0] = (acc0[0]+(alu5*alu5)+(alu9*alu9)+(alu13*alu13)+(alu17*alu17));
acc0[1] = (acc0[1]+(alu6*alu6)+(alu10*alu10)+(alu14*alu14)+(alu18*alu18));
acc0[2] = (acc0[2]+(alu7*alu7)+(alu11*alu11)+(alu15*alu15)+(alu19*alu19));
acc0[3] = (acc0[3]+(alu8*alu8)+(alu12*alu12)+(alu16*alu16)+(alu20*alu20));
}
var precast8 = (cast0<<6u);
var precast9 = (cast1<<16u);
var precast10 = (cast2<<2u);
var alu26 = (bitcast<i32>(precast8)+bitcast<i32>(precast10)+(gidx1*196608)+bitcast<i32>(precast9));
data0_983040[alu26] = acc0[0];
data0_983040[(alu26+1)] = acc0[1];
data0_983040[(alu26+2)] = acc0[2];
data0_983040[(alu26+3)] = acc0[3];
}`;
const r_15_16_16n1 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
var<workgroup> temp0: array<f32,16>;
@group(0) @binding(1)var<storage,read_write>data0_15:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_3840:array<f32>;
@compute @workgroup_size(16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,1>;
var acc1: array<f32,1>;
var gidx0 = i32(gindex.x); /* 15 */
var lidx0 = i32(lindex.x); /* 16 */
var precast0 = gidx0;
var precast1 = lidx0;
var precast2 = (bitcast<u32>(precast0)<<8u);
var precast3 = (bitcast<u32>(precast1)<<4u);
acc0[0] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 16; Ridx0++) {
var val0 = data1_3840[(bitcast<i32>(precast3)+Ridx0+bitcast<i32>(precast2))];
acc0[0] = (acc0[0]+val0);
}
temp0[lidx0] = acc0[0];
workgroupBarrier();
acc1[0] = 0.0f;
for (var Ridx102 = 0; Ridx102 < 16; Ridx102++) {
var val1 = temp0[Ridx102];
acc1[0] = (acc1[0]+val1);
}
var alu8 = ((bool(lidx0))!=true);
if (alu8) {
data0_15[gidx0] = (1/sqrt(((acc1[0]*5.960464477539063e-08f)+1e-05f)));
}
}`;
const r_5_256_32_4_8_16_4_3_15_3_3_3 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_251658240:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@group(0) @binding(4)var<storage,read_write>data3_15:array<f32>;
@group(0) @binding(5)var<storage,read_write>data4_6075:array<f32>;
@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,12>;
var gidx0 = i32(gindex.x); /* 128 */
var gidx1 = i32(gindex.y); /* 256 */
var gidx2 = i32(gindex.z); /* 5 */
var lidx0 = i32(lindex.x); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx1;
var precast1 = lidx0;
var precast2 = lidx1;
var precast3 = (gidx0>>2u);
var precast4 = (gidx0&3);
var precast5 = (bitcast<u32>(precast0)<<16u);
var precast6 = (bitcast<u32>(precast1)<<8u);
var precast7 = (bitcast<u32>(precast2)<<2u);
var precast8 = (bitcast<u32>(precast3)<<11u);
var cast0 = bitcast<u32>(precast4);
var precast9 = (cast0<<4u);
var precast10 = (cast0<<6u);
var cast1 = bitcast<i32>(precast5);
var alu0 = (lidx1+bitcast<i32>(precast9));
var alu1 = (bitcast<i32>(precast6)+bitcast<i32>(precast8)+bitcast<i32>(precast7)+bitcast<i32>(precast10));
var alu2 = (gidx0<124);
var alu3 = (alu0<62);
var alu4 = (1<alu0);
var alu5 = (3<gidx0);
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
acc0[4] = 0.0f;
acc0[5] = 0.0f;
acc0[6] = 0.0f;
acc0[7] = 0.0f;
acc0[8] = 0.0f;
acc0[9] = 0.0f;
acc0[10] = 0.0f;
acc0[11] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 15; Ridx0++) {
var val0 = data2_15[Ridx0];
var val1 = data3_15[Ridx0];
var precast11 = Ridx0;
var precast12 = (bitcast<u32>(precast11)<<24u);
for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) {
var precast13 = Ridx1;
var cast2 = bitcast<u32>(precast13);
var precast14 = (cast2<<3u);
var precast15 = (cast2<<19u);
var alu18 = (gidx1+bitcast<i32>(precast14));
var alu19 = (alu1+cast1+bitcast<i32>(precast15)+bitcast<i32>(precast12));
var alu20 = ((7<alu18)&(alu18<264));
var alu21 = (alu4&alu5&alu20);
var val2 = select(0.0f, data1_251658240[(alu19+-526344)], alu21);
var alu22 = ((Ridx0*27)+(Ridx1*9)+(gidx2*1215));
var val3 = data4_6075[(alu22+1)];
var val4 = data4_6075[(alu22+3)];
var val5 = data4_6075[alu22];
var alu23 = (alu5&alu20);
var val6 = select(0.0f, data1_251658240[(alu19+-526336)], alu23);
var alu24 = (alu3&alu5&alu20);
var val7 = select(0.0f, data1_251658240[(alu19+-526328)], alu24);
var val8 = data4_6075[(alu22+2)];
var alu25 = (alu4&alu20);
var val9 = select(0.0f, data1_251658240[(alu19+-524296)], alu25);
var val10 = select(0.0f, data1_251658240[(alu19+-524288)], alu20);
var val11 = data4_6075[(alu22+4)];
var alu26 = (alu3&alu20);
var val12 = select(0.0f, data1_251658240[(alu19+-524280)], alu26);
var val13 = data4_6075[(alu22+5)];
var alu27 = (alu4&alu2&alu20);
var val14 = select(0.0f, data1_251658240[(alu19+-522248)], alu27);
var val15 = data4_6075[(alu22+6)];
var alu28 = (alu2&alu20);
var val16 = select(0.0f, data1_251658240[(alu19+-522240)], alu28);
var val17 = data4_6075[(alu22+7)];
var alu29 = (alu3&alu2&alu20);
var val18 = select(0.0f, data1_251658240[(alu19+-522232)], alu29);
var val19 = data4_6075[(alu22+8)];
var val20 = data4_6075[(alu22+405)];
var val21 = data4_6075[(alu22+406)];
var val22 = data4_6075[(alu22+407)];
var val23 = data4_6075[(alu22+408)];
var val24 = data4_6075[(alu22+409)];
var val25 = data4_6075[(alu22+410)];
var val26 = data4_6075[(alu22+411)];
var val27 = data4_6075[(alu22+412)];
var val28 = data4_6075[(alu22+413)];
var val29 = data4_6075[(alu22+810)];
var val30 = data4_6075[(alu22+811)];
var val31 = data4_6075[(alu22+812)];
var val32 = data4_6075[(alu22+813)];
var val33 = data4_6075[(alu22+814)];
var val34 = data4_6075[(alu22+815)];
var val35 = data4_6075[(alu22+816)];
var val36 = data4_6075[(alu22+817)];
var val37 = data4_6075[(alu22+818)];
var val38 = select(0.0f, data1_251658240[(alu19+-526343)], alu21);
var val39 = select(0.0f, data1_251658240[(alu19+-522239)], alu28);
var val40 = select(0.0f, data1_251658240[(alu19+-522231)], alu29);
var val41 = select(0.0f, data1_251658240[(alu19+-526342)], alu21);
var val42 = select(0.0f, data1_251658240[(alu19+-526334)], alu23);
var val43 = select(0.0f, data1_251658240[(alu19+-526326)], alu24);
var val44 = select(0.0f, data1_251658240[(alu19+-524294)], alu25);
var val45 = select(0.0f, data1_251658240[(alu19+-524286)], alu20);
var val46 = select(0.0f, data1_251658240[(alu19+-524278)], alu26);
var val47 = select(0.0f, data1_251658240[(alu19+-522246)], alu27);
var val48 = select(0.0f, data1_251658240[(alu19+-522238)], alu28);
var val49 = select(0.0f, data1_251658240[(alu19+-522230)], alu29);
var val50 = select(0.0f, data1_251658240[(alu19+-526341)], alu21);
var val51 = select(0.0f, data1_251658240[(alu19+-526335)], alu23);
var val52 = select(0.0f, data1_251658240[(alu19+-526333)], alu23);
var val53 = select(0.0f, data1_251658240[(alu19+-526327)], alu24);
var val54 = select(0.0f, data1_251658240[(alu19+-526325)], alu24);
var val55 = select(0.0f, data1_251658240[(alu19+-524295)], alu25);
var val56 = select(0.0f, data1_251658240[(alu19+-524293)], alu25);
var val57 = select(0.0f, data1_251658240[(alu19+-524287)], alu20);
var val58 = select(0.0f, data1_251658240[(alu19+-524285)], alu20);
var val59 = select(0.0f, data1_251658240[(alu19+-524279)], alu26);
var val60 = select(0.0f, data1_251658240[(alu19+-524277)], alu26);
var val61 = select(0.0f, data1_251658240[(alu19+-522247)], alu27);
var val62 = select(0.0f, data1_251658240[(alu19+-522245)], alu27);
var val63 = select(0.0f, data1_251658240[(alu19+-522237)], alu28);
var val64 = select(0.0f, data1_251658240[(alu19+-522229)], alu29);
var alu30 = ((val2-val0)*val1);
var alu31 = ((val38-val0)*val1);
var alu32 = ((val41-val0)*val1);
var alu33 = ((val50-val0)*val1);
var alu34 = ((val6-val0)*val1);
var alu35 = ((val51-val0)*val1);
var alu36 = ((val42-val0)*val1);
var alu37 = ((val52-val0)*val1);
var alu38 = ((val7-val0)*val1);
var alu39 = ((val53-val0)*val1);
var alu40 = ((val43-val0)*val1);
var alu41 = ((val54-val0)*val1);
var alu42 = ((val9-val0)*val1);
var alu43 = ((val55-val0)*val1);
var alu44 = ((val44-val0)*val1);
var alu45 = ((val56-val0)*val1);
var alu46 = ((val10-val0)*val1);
var alu47 = ((val57-val0)*val1);
var alu48 = ((val45-val0)*val1);
var alu49 = ((val58-val0)*val1);
var alu50 = ((val12-val0)*val1);
var alu51 = ((val59-val0)*val1);
var alu52 = ((val46-val0)*val1);
var alu53 = ((val60-val0)*val1);
var alu54 = ((val14-val0)*val1);
var alu55 = ((val61-val0)*val1);
var alu56 = ((val47-val0)*val1);
var alu57 = ((val62-val0)*val1);
var alu58 = ((val16-val0)*val1);
var alu59 = ((val39-val0)*val1);
var alu60 = ((val48-val0)*val1);
var alu61 = ((val63-val0)*val1);
var alu62 = ((val18-val0)*val1);
var alu63 = ((val40-val0)*val1);
var alu64 = ((val49-val0)*val1);
var alu65 = ((val64-val0)*val1);
var alu66 = (alu20&alu5);
var alu67 = (alu66&alu4);
var alu68 = select(0.0f,((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30),alu67);
var alu69 = select(0.0f,((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31),alu67);
var alu70 = select(0.0f,((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32),alu67);
var alu71 = select(0.0f,((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33),alu67);
var alu72 = select(0.0f,((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34),alu66);
var alu73 = select(0.0f,((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35),alu66);
var alu74 = select(0.0f,((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36),alu66);
var alu75 = select(0.0f,((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37),alu66);
var alu76 = (alu66&alu3);
var alu77 = select(0.0f,((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38),alu76);
var alu78 = select(0.0f,((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),alu76);
var alu79 = select(0.0f,((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),alu76);
var alu80 = select(0.0f,((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),alu76);
var alu81 = (alu20&alu4);
var alu82 = select(0.0f,((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),alu81);
var alu83 = select(0.0f,((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),alu81);
var alu84 = select(0.0f,((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),alu81);
var alu85 = select(0.0f,((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),alu81);
var alu86 = select(0.0f,((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),alu20);
var alu87 = select(0.0f,((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),alu20);
var alu88 = select(0.0f,((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),alu20);
var alu89 = select(0.0f,((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),alu20);
var alu90 = (alu20&alu3);
var alu91 = select(0.0f,((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),alu90);
var alu92 = select(0.0f,((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51),alu90);
var alu93 = select(0.0f,((1/(1.0f+exp2(((alu52+(0.044715f*alu52*alu52*alu52))*-2.302208198144325f))))*alu52),alu90);
var alu94 = select(0.0f,((1/(1.0f+exp2(((alu53+(0.044715f*alu53*alu53*alu53))*-2.302208198144325f))))*alu53),alu90);
var alu95 = (alu20&alu2);
var alu96 = (alu95&alu4);
var alu97 = select(0.0f,((1/(1.0f+exp2(((alu54+(0.044715f*alu54*alu54*alu54))*-2.302208198144325f))))*alu54),alu96);
var alu98 = select(0.0f,((1/(1.0f+exp2(((alu55+(0.044715f*alu55*alu55*alu55))*-2.302208198144325f))))*alu55),alu96);
var alu99 = select(0.0f,((1/(1.0f+exp2(((alu56+(0.044715f*alu56*alu56*alu56))*-2.302208198144325f))))*alu56),alu96);
var alu100 = select(0.0f,((1/(1.0f+exp2(((alu57+(0.044715f*alu57*alu57*alu57))*-2.302208198144325f))))*alu57),alu96);
var alu101 = select(0.0f,((1/(1.0f+exp2(((alu58+(0.044715f*alu58*alu58*alu58))*-2.302208198144325f))))*alu58),alu95);
var alu102 = select(0.0f,((1/(1.0f+exp2(((alu59+(0.044715f*alu59*alu59*alu59))*-2.302208198144325f))))*alu59),alu95);
var alu103 = select(0.0f,((1/(1.0f+exp2(((alu60+(0.044715f*alu60*alu60*alu60))*-2.302208198144325f))))*alu60),alu95);
var alu104 = select(0.0f,((1/(1.0f+exp2(((alu61+(0.044715f*alu61*alu61*alu61))*-2.302208198144325f))))*alu61),alu95);
var alu105 = (alu95&alu3);
var alu106 = select(0.0f,((1/(1.0f+exp2(((alu62+(0.044715f*alu62*alu62*alu62))*-2.302208198144325f))))*alu62),alu105);
var alu107 = select(0.0f,((1/(1.0f+exp2(((alu63+(0.044715f*alu63*alu63*alu63))*-2.302208198144325f))))*alu63),alu105);
var alu108 = select(0.0f,((1/(1.0f+exp2(((alu64+(0.044715f*alu64*alu64*alu64))*-2.302208198144325f))))*alu64),alu105);
var alu109 = select(0.0f,((1/(1.0f+exp2(((alu65+(0.044715f*alu65*alu65*alu65))*-2.302208198144325f))))*alu65),alu105);
acc0[0] = (acc0[0]+(alu68*val5)+(alu72*val3)+(alu77*val8)+(alu82*val4)+(alu86*val11)+(alu91*val13)+(alu97*val15)+(alu101*val17)+(alu106*val19));
acc0[1] = (acc0[1]+(alu68*val20)+(alu72*val21)+(alu77*val22)+(alu82*val23)+(alu86*val24)+(alu91*val25)+(alu97*val26)+(alu101*val27)+(alu106*val28));
acc0[2] = (acc0[2]+(alu68*val29)+(alu72*val30)+(alu77*val31)+(alu82*val32)+(alu86*val33)+(alu91*val34)+(alu97*val35)+(alu101*val36)+(alu106*val37));
acc0[3] = (acc0[3]+(alu69*val5)+(alu73*val3)+(alu78*val8)+(alu83*val4)+(alu87*val11)+(alu92*val13)+(alu98*val15)+(alu102*val17)+(alu107*val19));
acc0[4] = (acc0[4]+(alu69*val20)+(alu73*val21)+(alu78*val22)+(alu83*val23)+(alu87*val24)+(alu92*val25)+(alu98*val26)+(alu102*val27)+(alu107*val28));
acc0[5] = (acc0[5]+(alu69*val29)+(alu73*val30)+(alu78*val31)+(alu83*val32)+(alu87*val33)+(alu92*val34)+(alu98*val35)+(alu102*val36)+(alu107*val37));
acc0[6] = (acc0[6]+(alu70*val5)+(alu74*val3)+(alu79*val8)+(alu84*val4)+(alu88*val11)+(alu93*val13)+(alu99*val15)+(alu103*val17)+(alu108*val19));
acc0[7] = (acc0[7]+(alu70*val20)+(alu74*val21)+(alu79*val22)+(alu84*val23)+(alu88*val24)+(alu93*val25)+(alu99*val26)+(alu103*val27)+(alu108*val28));
acc0[8] = (acc0[8]+(alu70*val29)+(alu74*val30)+(alu79*val31)+(alu84*val32)+(alu88*val33)+(alu93*val34)+(alu99*val35)+(alu103*val36)+(alu108*val37));
acc0[9] = (acc0[9]+(alu71*val5)+(alu75*val3)+(alu80*val8)+(alu85*val4)+(alu89*val11)+(alu94*val13)+(alu100*val15)+(alu104*val17)+(alu109*val19));
acc0[10] = (acc0[10]+(alu71*val20)+(alu75*val21)+(alu80*val22)+(alu85*val23)+(alu89*val24)+(alu94*val25)+(alu100*val26)+(alu104*val27)+(alu109*val28));
acc0[11] = (acc0[11]+(alu71*val29)+(alu75*val30)+(alu80*val31)+(alu85*val32)+(alu89*val33)+(alu94*val34)+(alu100*val35)+(alu104*val36)+(alu109*val37));
}
}
var alu124 = (alu1+cast1+(gidx2*50331648));
data0_251658240[alu124] = acc0[0];
data0_251658240[(alu124+1)] = acc0[3];
data0_251658240[(alu124+2)] = acc0[6];
data0_251658240[(alu124+3)] = acc0[9];
data0_251658240[(alu124+16777216)] = acc0[1];
data0_251658240[(alu124+16777217)] = acc0[4];
data0_251658240[(alu124+16777218)] = acc0[7];
data0_251658240[(alu124+16777219)] = acc0[10];
data0_251658240[(alu124+33554432)] = acc0[2];
data0_251658240[(alu124+33554433)] = acc0[5];
data0_251658240[(alu124+33554434)] = acc0[8];
data0_251658240[(alu124+33554435)] = acc0[11];
}`;
const r_5_256_32_4_8_16_4_3_15_3_3_3n1 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_251658240:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@group(0) @binding(4)var<storage,read_write>data3_15:array<f32>;
@group(0) @binding(5)var<storage,read_write>data4_6075:array<f32>;
@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,12>;
var gidx0 = i32(gindex.x); /* 128 */
var gidx1 = i32(gindex.y); /* 256 */
var gidx2 = i32(gindex.z); /* 5 */
var lidx0 = i32(lindex.x); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx1;
var precast1 = lidx0;
var precast2 = lidx1;
var precast3 = (gidx0>>2u);
var alu0 = (gidx0&3);
var precast4 = alu0;
var precast5 = (bitcast<u32>(precast0)<<16u);
var precast6 = (bitcast<u32>(precast1)<<8u);
var precast7 = (bitcast<u32>(precast2)<<2u);
var cast0 = bitcast<u32>(precast3);
var precast8 = (cast0<<3u);
var precast9 = (cast0<<11u);
var cast1 = bitcast<u32>(precast4);
var precast10 = (cast1<<4u);
var precast11 = (cast1<<6u);
var cast2 = bitcast<i32>(precast5);
var alu1 = (lidx0+bitcast<i32>(precast8));
var alu2 = (bitcast<i32>(precast6)+bitcast<i32>(precast9)+bitcast<i32>(precast7)+bitcast<i32>(precast11));
var alu3 = (alu1<252);
var alu4 = ((lidx1+bitcast<i32>(precast10))<63);
var alu5 = (0<(lidx1+alu0));
var alu6 = (3<alu1);
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
acc0[4] = 0.0f;
acc0[5] = 0.0f;
acc0[6] = 0.0f;
acc0[7] = 0.0f;
acc0[8] = 0.0f;
acc0[9] = 0.0f;
acc0[10] = 0.0f;
acc0[11] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 15; Ridx0++) {
var val0 = data2_15[Ridx0];
var val1 = data3_15[Ridx0];
var precast12 = Ridx0;
var precast13 = (bitcast<u32>(precast12)<<24u);
for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) {
var precast14 = Ridx1;
var cast3 = bitcast<u32>(precast14);
var precast15 = (cast3<<2u);
var precast16 = (cast3<<18u);
var alu19 = (gidx1+bitcast<i32>(precast15));
var alu20 = (alu2+cast2+bitcast<i32>(precast16)+bitcast<i32>(precast13));
var alu21 = ((3<alu19)&(alu19<260));
var alu22 = (alu5&alu6&alu21);
var val2 = select(0.0f, data1_251658240[(alu20+-263172)], alu22);
var alu23 = ((Ridx0*27)+(Ridx1*9)+(gidx2*1215));
var val3 = data4_6075[(alu23+1)];
var val4 = data4_6075[alu23];
var alu24 = (alu6&alu21);
var val5 = select(0.0f, data1_251658240[(alu20+-263168)], alu24);
var alu25 = (alu4&alu6&alu21);
var val6 = select(0.0f, data1_251658240[(alu20+-263164)], alu25);
var val7 = data4_6075[(alu23+2)];
var alu26 = (alu5&alu21);
var val8 = select(0.0f, data1_251658240[(alu20+-262148)], alu26);
var val9 = data4_6075[(alu23+3)];
var val10 = select(0.0f, data1_251658240[(alu20+-262144)], alu21);
var val11 = data4_6075[(alu23+4)];
var alu27 = (alu4&alu21);
var val12 = select(0.0f, data1_251658240[(alu20+-262140)], alu27);
var val13 = data4_6075[(alu23+5)];
var alu28 = (alu5&alu3&alu21);
var val14 = select(0.0f, data1_251658240[(alu20+-261124)], alu28);
var val15 = data4_6075[(alu23+6)];
var alu29 = (alu3&alu21);
var val16 = select(0.0f, data1_251658240[(alu20+-261120)], alu29);
var val17 = data4_6075[(alu23+7)];
var alu30 = (alu4&alu3&alu21);
var val18 = select(0.0f, data1_251658240[(alu20+-261116)], alu30);
var val19 = data4_6075[(alu23+8)];
var val20 = data4_6075[(alu23+405)];
var val21 = data4_6075[(alu23+406)];
var val22 = data4_6075[(alu23+407)];
var val23 = data4_6075[(alu23+408)];
var val24 = data4_6075[(alu23+409)];
var val25 = data4_6075[(alu23+410)];
var val26 = data4_6075[(alu23+411)];
var val27 = data4_6075[(alu23+412)];
var val28 = data4_6075[(alu23+413)];
var val29 = data4_6075[(alu23+810)];
var val30 = data4_6075[(alu23+811)];
var val31 = data4_6075[(alu23+812)];
var val32 = data4_6075[(alu23+813)];
var val33 = data4_6075[(alu23+814)];
var val34 = data4_6075[(alu23+815)];
var val35 = data4_6075[(alu23+816)];
var val36 = data4_6075[(alu23+817)];
var val37 = data4_6075[(alu23+818)];
var val38 = select(0.0f, data1_251658240[(alu20+-263171)], alu22);
var val39 = select(0.0f, data1_251658240[(alu20+-262146)], alu26);
var val40 = select(0.0f, data1_251658240[(alu20+-262142)], alu21);
var val41 = select(0.0f, data1_251658240[(alu20+-262138)], alu27);
var val42 = select(0.0f, data1_251658240[(alu20+-261122)], alu28);
var val43 = select(0.0f, data1_251658240[(alu20+-261119)], alu29);
var val44 = select(0.0f, data1_251658240[(alu20+-261118)], alu29);
var val45 = select(0.0f, data1_251658240[(alu20+-261115)], alu30);
var val46 = select(0.0f, data1_251658240[(alu20+-263170)], alu22);
var val47 = select(0.0f, data1_251658240[(alu20+-263166)], alu24);
var val48 = select(0.0f, data1_251658240[(alu20+-263162)], alu25);
var val49 = select(0.0f, data1_251658240[(alu20+-261114)], alu30);
var val50 = select(0.0f, data1_251658240[(alu20+-263169)], alu22);
var val51 = select(0.0f, data1_251658240[(alu20+-263167)], alu24);
var val52 = select(0.0f, data1_251658240[(alu20+-263165)], alu24);
var val53 = select(0.0f, data1_251658240[(alu20+-263163)], alu25);
var val54 = select(0.0f, data1_251658240[(alu20+-263161)], alu25);
var val55 = select(0.0f, data1_251658240[(alu20+-262147)], alu26);
var val56 = select(0.0f, data1_251658240[(alu20+-262145)], alu26);
var val57 = select(0.0f, data1_251658240[(alu20+-262143)], alu21);
var val58 = select(0.0f, data1_251658240[(alu20+-262141)], alu21);
var val59 = select(0.0f, data1_251658240[(alu20+-262139)], alu27);
var val60 = select(0.0f, data1_251658240[(alu20+-262137)], alu27);
var val61 = select(0.0f, data1_251658240[(alu20+-261123)], alu28);
var val62 = select(0.0f, data1_251658240[(alu20+-261121)], alu28);
var val63 = select(0.0f, data1_251658240[(alu20+-261117)], alu29);
var val64 = select(0.0f, data1_251658240[(alu20+-261113)], alu30);
var alu31 = ((val2-val0)*val1);
var alu32 = ((val38-val0)*val1);
var alu33 = ((val46-val0)*val1);
var alu34 = ((val50-val0)*val1);
var alu35 = ((val5-val0)*val1);
var alu36 = ((val51-val0)*val1);
var alu37 = ((val47-val0)*val1);
var alu38 = ((val52-val0)*val1);
var alu39 = ((val6-val0)*val1);
var alu40 = ((val53-val0)*val1);
var alu41 = ((val48-val0)*val1);
var alu42 = ((val54-val0)*val1);
var alu43 = ((val8-val0)*val1);
var alu44 = ((val55-val0)*val1);
var alu45 = ((val39-val0)*val1);
var alu46 = ((val56-val0)*val1);
var alu47 = ((val10-val0)*val1);
var alu48 = ((val57-val0)*val1);
var alu49 = ((val40-val0)*val1);
var alu50 = ((val58-val0)*val1);
var alu51 = ((val12-val0)*val1);
var alu52 = ((val59-val0)*val1);
var alu53 = ((val41-val0)*val1);
var alu54 = ((val60-val0)*val1);
var alu55 = ((val14-val0)*val1);
var alu56 = ((val61-val0)*val1);
var alu57 = ((val42-val0)*val1);
var alu58 = ((val62-val0)*val1);
var alu59 = ((val16-val0)*val1);
var alu60 = ((val43-val0)*val1);
var alu61 = ((val44-val0)*val1);
var alu62 = ((val63-val0)*val1);
var alu63 = ((val18-val0)*val1);
var alu64 = ((val45-val0)*val1);
var alu65 = ((val49-val0)*val1);
var alu66 = ((val64-val0)*val1);
var alu67 = (alu21&alu6);
var alu68 = (alu67&alu5);
var alu69 = select(0.0f,((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31),alu68);
var alu70 = select(0.0f,((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32),alu68);
var alu71 = select(0.0f,((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33),alu68);
var alu72 = select(0.0f,((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34),alu68);
var alu73 = select(0.0f,((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35),alu67);
var alu74 = select(0.0f,((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36),alu67);
var alu75 = select(0.0f,((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37),alu67);
var alu76 = select(0.0f,((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38),alu67);
var alu77 = (alu67&alu4);
var alu78 = select(0.0f,((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),alu77);
var alu79 = select(0.0f,((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),alu77);
var alu80 = select(0.0f,((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),alu77);
var alu81 = select(0.0f,((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),alu77);
var alu82 = (alu21&alu5);
var alu83 = select(0.0f,((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),alu82);
var alu84 = select(0.0f,((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),alu82);
var alu85 = select(0.0f,((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),alu82);
var alu86 = select(0.0f,((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),alu82);
var alu87 = select(0.0f,((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),alu21);
var alu88 = select(0.0f,((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),alu21);
var alu89 = select(0.0f,((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),alu21);
var alu90 = select(0.0f,((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),alu21);
var alu91 = (alu21&alu4);
var alu92 = select(0.0f,((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51),alu91);
var alu93 = select(0.0f,((1/(1.0f+exp2(((alu52+(0.044715f*alu52*alu52*alu52))*-2.302208198144325f))))*alu52),alu91);
var alu94 = select(0.0f,((1/(1.0f+exp2(((alu53+(0.044715f*alu53*alu53*alu53))*-2.302208198144325f))))*alu53),alu91);
var alu95 = select(0.0f,((1/(1.0f+exp2(((alu54+(0.044715f*alu54*alu54*alu54))*-2.302208198144325f))))*alu54),alu91);
var alu96 = (alu21&alu3);
var alu97 = (alu96&alu5);
var alu98 = select(0.0f,((1/(1.0f+exp2(((alu55+(0.044715f*alu55*alu55*alu55))*-2.302208198144325f))))*alu55),alu97);
var alu99 = select(0.0f,((1/(1.0f+exp2(((alu56+(0.044715f*alu56*alu56*alu56))*-2.302208198144325f))))*alu56),alu97);
var alu100 = select(0.0f,((1/(1.0f+exp2(((alu57+(0.044715f*alu57*alu57*alu57))*-2.302208198144325f))))*alu57),alu97);
var alu101 = select(0.0f,((1/(1.0f+exp2(((alu58+(0.044715f*alu58*alu58*alu58))*-2.302208198144325f))))*alu58),alu97);
var alu102 = select(0.0f,((1/(1.0f+exp2(((alu59+(0.044715f*alu59*alu59*alu59))*-2.302208198144325f))))*alu59),alu96);
var alu103 = select(0.0f,((1/(1.0f+exp2(((alu60+(0.044715f*alu60*alu60*alu60))*-2.302208198144325f))))*alu60),alu96);
var alu104 = select(0.0f,((1/(1.0f+exp2(((alu61+(0.044715f*alu61*alu61*alu61))*-2.302208198144325f))))*alu61),alu96);
var alu105 = select(0.0f,((1/(1.0f+exp2(((alu62+(0.044715f*alu62*alu62*alu62))*-2.302208198144325f))))*alu62),alu96);
var alu106 = (alu96&alu4);
var alu107 = select(0.0f,((1/(1.0f+exp2(((alu63+(0.044715f*alu63*alu63*alu63))*-2.302208198144325f))))*alu63),alu106);
var alu108 = select(0.0f,((1/(1.0f+exp2(((alu64+(0.044715f*alu64*alu64*alu64))*-2.302208198144325f))))*alu64),alu106);
var alu109 = select(0.0f,((1/(1.0f+exp2(((alu65+(0.044715f*alu65*alu65*alu65))*-2.302208198144325f))))*alu65),alu106);
var alu110 = select(0.0f,((1/(1.0f+exp2(((alu66+(0.044715f*alu66*alu66*alu66))*-2.302208198144325f))))*alu66),alu106);
acc0[0] = (acc0[0]+(alu69*val4)+(alu73*val3)+(alu78*val7)+(alu83*val9)+(alu87*val11)+(alu92*val13)+(alu98*val15)+(alu102*val17)+(alu107*val19));
acc0[1] = (acc0[1]+(alu69*val20)+(alu73*val21)+(alu78*val22)+(alu83*val23)+(alu87*val24)+(alu92*val25)+(alu98*val26)+(alu102*val27)+(alu107*val28));
acc0[2] = (acc0[2]+(alu69*val29)+(alu73*val30)+(alu78*val31)+(alu83*val32)+(alu87*val33)+(alu92*val34)+(alu98*val35)+(alu102*val36)+(alu107*val37));
acc0[3] = (acc0[3]+(alu70*val4)+(alu74*val3)+(alu79*val7)+(alu84*val9)+(alu88*val11)+(alu93*val13)+(alu99*val15)+(alu103*val17)+(alu108*val19));
acc0[4] = (acc0[4]+(alu70*val20)+(alu74*val21)+(alu79*val22)+(alu84*val23)+(alu88*val24)+(alu93*val25)+(alu99*val26)+(alu103*val27)+(alu108*val28));
acc0[5] = (acc0[5]+(alu70*val29)+(alu74*val30)+(alu79*val31)+(alu84*val32)+(alu88*val33)+(alu93*val34)+(alu99*val35)+(alu103*val36)+(alu108*val37));
acc0[6] = (acc0[6]+(alu71*val4)+(alu75*val3)+(alu80*val7)+(alu85*val9)+(alu89*val11)+(alu94*val13)+(alu100*val15)+(alu104*val17)+(alu109*val19));
acc0[7] = (acc0[7]+(alu71*val20)+(alu75*val21)+(alu80*val22)+(alu85*val23)+(alu89*val24)+(alu94*val25)+(alu100*val26)+(alu104*val27)+(alu109*val28));
acc0[8] = (acc0[8]+(alu71*val29)+(alu75*val30)+(alu80*val31)+(alu85*val32)+(alu89*val33)+(alu94*val34)+(alu100*val35)+(alu104*val36)+(alu109*val37));
acc0[9] = (acc0[9]+(alu72*val4)+(alu76*val3)+(alu81*val7)+(alu86*val9)+(alu90*val11)+(alu95*val13)+(alu101*val15)+(alu105*val17)+(alu110*val19));
acc0[10] = (acc0[10]+(alu72*val20)+(alu76*val21)+(alu81*val22)+(alu86*val23)+(alu90*val24)+(alu95*val25)+(alu101*val26)+(alu105*val27)+(alu110*val28));
acc0[11] = (acc0[11]+(alu72*val29)+(alu76*val30)+(alu81*val31)+(alu86*val32)+(alu90*val33)+(alu95*val34)+(alu101*val35)+(alu105*val36)+(alu110*val37));
}
}
var alu125 = (alu2+cast2+(gidx2*50331648));
data0_251658240[alu125] = acc0[0];
data0_251658240[(alu125+1)] = acc0[3];
data0_251658240[(alu125+2)] = acc0[6];
data0_251658240[(alu125+3)] = acc0[9];
data0_251658240[(alu125+16777216)] = acc0[1];
data0_251658240[(alu125+16777217)] = acc0[4];
data0_251658240[(alu125+16777218)] = acc0[7];
data0_251658240[(alu125+16777219)] = acc0[10];
data0_251658240[(alu125+33554432)] = acc0[2];
data0_251658240[(alu125+33554433)] = acc0[5];
data0_251658240[(alu125+33554434)] = acc0[8];
data0_251658240[(alu125+33554435)] = acc0[11];
}`;
const r_5_256_32_4_8_16_4_3_15_3_3_3n2 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_251658240:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@group(0) @binding(4)var<storage,read_write>data3_15:array<f32>;
@group(0) @binding(5)var<storage,read_write>data4_6075:array<f32>;
@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,12>;
var gidx0 = i32(gindex.x); /* 128 */
var gidx1 = i32(gindex.y); /* 256 */
var gidx2 = i32(gindex.z); /* 5 */
var lidx0 = i32(lindex.x); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx1;
var precast1 = lidx0;
var precast2 = lidx1;
var precast3 = (gidx0>>2u);
var precast4 = (gidx0&3);
var precast5 = (bitcast<u32>(precast0)<<16u);
var precast6 = (bitcast<u32>(precast1)<<8u);
var cast0 = bitcast<u32>(precast2);
var precast7 = (cast0<<1u);
var precast8 = (cast0<<2u);
var cast1 = bitcast<u32>(precast3);
var precast9 = (cast1<<3u);
var precast10 = (cast1<<11u);
var cast2 = bitcast<u32>(precast4);
var precast11 = (cast2<<4u);
var precast12 = (cast2<<5u);
var precast13 = (cast2<<6u);
var cast3 = bitcast<i32>(precast5);
var alu0 = (lidx0+bitcast<i32>(precast9));
var alu1 = (bitcast<i32>(precast8)+bitcast<i32>(precast13));
var alu2 = (bitcast<i32>(precast6)+bitcast<i32>(precast10)+alu1);
var alu3 = (alu0<254);
var alu4 = ((lidx1+bitcast<i32>(precast11))<63);
var alu5 = (alu1<251);
var alu6 = (0<(bitcast<i32>(precast7)+bitcast<i32>(precast12)));
var alu7 = (0<alu1);
var alu8 = (1<alu0);
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
acc0[4] = 0.0f;
acc0[5] = 0.0f;
acc0[6] = 0.0f;
acc0[7] = 0.0f;
acc0[8] = 0.0f;
acc0[9] = 0.0f;
acc0[10] = 0.0f;
acc0[11] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 15; Ridx0++) {
var val0 = data2_15[Ridx0];
var val1 = data3_15[Ridx0];
var precast14 = Ridx0;
var precast15 = (bitcast<u32>(precast14)<<24u);
for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) {
var precast16 = Ridx1;
var cast4 = bitcast<u32>(precast16);
var precast17 = (cast4<<1u);
var precast18 = (cast4<<17u);
var alu21 = (gidx1+bitcast<i32>(precast17));
var alu22 = (alu2+cast3+bitcast<i32>(precast18)+bitcast<i32>(precast15));
var alu23 = ((1<alu21)&(alu21<258));
var val2 = select(0.0f, data1_251658240[(alu22+-131586)], (alu6&alu8&alu23));
var alu24 = ((Ridx0*27)+(Ridx1*9)+(gidx2*1215));
var val3 = data4_6075[alu24];
var alu25 = (alu8&alu23);
var val4 = select(0.0f, data1_251658240[(alu22+-131584)], alu25);
var val5 = data4_6075[(alu24+1)];
var val6 = select(0.0f, data1_251658240[(alu22+-131582)], alu25);
var val7 = data4_6075[(alu24+2)];
var val8 = select(0.0f, data1_251658240[(alu22+-131074)], (alu6&alu23));
var val9 = data4_6075[(alu24+3)];
var val10 = select(0.0f, data1_251658240[(alu22+-131072)], alu23);
var val11 = data4_6075[(alu24+4)];
var val12 = select(0.0f, data1_251658240[(alu22+-131070)], alu23);
var val13 = data4_6075[(alu24+5)];
var val14 = select(0.0f, data1_251658240[(alu22+-130562)], (alu6&alu3&alu23));
var val15 = data4_6075[(alu24+6)];
var alu26 = (alu3&alu23);
var val16 = select(0.0f, data1_251658240[(alu22+-130560)], alu26);
var val17 = data4_6075[(alu24+7)];
var val18 = select(0.0f, data1_251658240[(alu22+-130558)], alu26);
var val19 = data4_6075[(alu24+8)];
var val20 = data4_6075[(alu24+405)];
var val21 = data4_6075[(alu24+406)];
var val22 = data4_6075[(alu24+407)];
var val23 = data4_6075[(alu24+408)];
var val24 = data4_6075[(alu24+409)];
var val25 = data4_6075[(alu24+410)];
var val26 = data4_6075[(alu24+411)];
var val27 = data4_6075[(alu24+412)];
var val28 = data4_6075[(alu24+413)];
var val29 = data4_6075[(alu24+810)];
var val30 = data4_6075[(alu24+811)];
var val31 = data4_6075[(alu24+812)];
var val32 = data4_6075[(alu24+813)];
var val33 = data4_6075[(alu24+814)];
var val34 = data4_6075[(alu24+815)];
var val35 = data4_6075[(alu24+816)];
var val36 = data4_6075[(alu24+817)];
var val37 = data4_6075[(alu24+818)];
var val38 = select(0.0f, data1_251658240[(alu22+-131585)], (alu7&alu8&alu23));
var val39 = select(0.0f, data1_251658240[(alu22+-131583)], alu25);
var val40 = select(0.0f, data1_251658240[(alu22+-131581)], alu25);
var val41 = select(0.0f, data1_251658240[(alu22+-131580)], (alu4&alu8&alu23));
var val42 = select(0.0f, data1_251658240[(alu22+-131579)], (alu5&alu8&alu23));
var val43 = select(0.0f, data1_251658240[(alu22+-131073)], (alu7&alu23));
var val44 = select(0.0f, data1_251658240[(alu22+-131071)], alu23);
var val45 = select(0.0f, data1_251658240[(alu22+-131069)], alu23);
var val46 = select(0.0f, data1_251658240[(alu22+-131068)], (alu4&alu23));
var val47 = select(0.0f, data1_251658240[(alu22+-131067)], (alu5&alu23));
var val48 = select(0.0f, data1_251658240[(alu22+-130561)], (alu7&alu3&alu23));
var val49 = select(0.0f, data1_251658240[(alu22+-130559)], alu26);
var val50 = select(0.0f, data1_251658240[(alu22+-130557)], alu26);
var val51 = select(0.0f, data1_251658240[(alu22+-130556)], (alu4&alu3&alu23));
var val52 = select(0.0f, data1_251658240[(alu22+-130555)], (alu5&alu3&alu23));
var alu27 = ((val2-val0)*val1);
var alu28 = ((val38-val0)*val1);
var alu29 = ((val4-val0)*val1);
var alu30 = ((val39-val0)*val1);
var alu31 = ((val6-val0)*val1);
var alu32 = ((val40-val0)*val1);
var alu33 = ((val41-val0)*val1);
var alu34 = ((val42-val0)*val1);
var alu35 = ((val8-val0)*val1);
var alu36 = ((val43-val0)*val1);
var alu37 = ((val10-val0)*val1);
var alu38 = ((val44-val0)*val1);
var alu39 = ((val12-val0)*val1);
var alu40 = ((val45-val0)*val1);
var alu41 = ((val46-val0)*val1);
var alu42 = ((val47-val0)*val1);
var alu43 = ((val14-val0)*val1);
var alu44 = ((val48-val0)*val1);
var alu45 = ((val16-val0)*val1);
var alu46 = ((val49-val0)*val1);
var alu47 = ((val18-val0)*val1);
var alu48 = ((val50-val0)*val1);
var alu49 = ((val51-val0)*val1);
var alu50 = ((val52-val0)*val1);
var alu51 = (alu23&alu8);
var alu52 = select(0.0f,((1/(1.0f+exp2(((alu27+(0.044715f*alu27*alu27*alu27))*-2.302208198144325f))))*alu27),(alu51&alu6));
var alu53 = select(0.0f,((1/(1.0f+exp2(((alu28+(0.044715f*alu28*alu28*alu28))*-2.302208198144325f))))*alu28),(alu51&alu7));
var alu54 = select(0.0f,((1/(1.0f+exp2(((alu29+(0.044715f*alu29*alu29*alu29))*-2.302208198144325f))))*alu29),alu51);
var alu55 = select(0.0f,((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30),alu51);
var alu56 = select(0.0f,((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31),alu51);
var alu57 = select(0.0f,((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32),alu51);
var alu58 = select(0.0f,((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33),(alu51&alu4));
var alu59 = select(0.0f,((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34),(alu51&alu5));
var alu60 = select(0.0f,((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35),(alu23&alu6));
var alu61 = select(0.0f,((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36),(alu23&alu7));
var alu62 = select(0.0f,((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37),alu23);
var alu63 = select(0.0f,((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38),alu23);
var alu64 = select(0.0f,((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),alu23);
var alu65 = select(0.0f,((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),alu23);
var alu66 = select(0.0f,((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),(alu23&alu4));
var alu67 = select(0.0f,((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),(alu23&alu5));
var alu68 = (alu23&alu3);
var alu69 = select(0.0f,((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),(alu68&alu6));
var alu70 = select(0.0f,((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),(alu68&alu7));
var alu71 = select(0.0f,((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),alu68);
var alu72 = select(0.0f,((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),alu68);
var alu73 = select(0.0f,((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),alu68);
var alu74 = select(0.0f,((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),alu68);
var alu75 = select(0.0f,((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),(alu68&alu4));
var alu76 = select(0.0f,((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),(alu68&alu5));
acc0[0] = (acc0[0]+(alu52*val3)+(alu54*val5)+(alu56*val7)+(alu60*val9)+(alu62*val11)+(alu64*val13)+(alu69*val15)+(alu71*val17)+(alu73*val19));
acc0[1] = (acc0[1]+(alu52*val20)+(alu54*val21)+(alu56*val22)+(alu60*val23)+(alu62*val24)+(alu64*val25)+(alu69*val26)+(alu71*val27)+(alu73*val28));
acc0[2] = (acc0[2]+(alu52*val29)+(alu54*val30)+(alu56*val31)+(alu60*val32)+(alu62*val33)+(alu64*val34)+(alu69*val35)+(alu71*val36)+(alu73*val37));
acc0[3] = (acc0[3]+(alu53*val3)+(alu55*val5)+(alu57*val7)+(alu61*val9)+(alu63*val11)+(alu65*val13)+(alu70*val15)+(alu72*val17)+(alu74*val19));
acc0[4] = (acc0[4]+(alu53*val20)+(alu55*val21)+(alu57*val22)+(alu61*val23)+(alu63*val24)+(alu65*val25)+(alu70*val26)+(alu72*val27)+(alu74*val28));
acc0[5] = (acc0[5]+(alu53*val29)+(alu55*val30)+(alu57*val31)+(alu61*val32)+(alu63*val33)+(alu65*val34)+(alu70*val35)+(alu72*val36)+(alu74*val37));
acc0[6] = (acc0[6]+(alu54*val3)+(alu56*val5)+(alu58*val7)+(alu62*val9)+(alu64*val11)+(alu66*val13)+(alu71*val15)+(alu73*val17)+(alu75*val19));
acc0[7] = (acc0[7]+(alu54*val20)+(alu56*val21)+(alu58*val22)+(alu62*val23)+(alu64*val24)+(alu66*val25)+(alu71*val26)+(alu73*val27)+(alu75*val28));
acc0[8] = (acc0[8]+(alu54*val29)+(alu56*val30)+(alu58*val31)+(alu62*val32)+(alu64*val33)+(alu66*val34)+(alu71*val35)+(alu73*val36)+(alu75*val37));
acc0[9] = (acc0[9]+(alu55*val3)+(alu57*val5)+(alu59*val7)+(alu63*val9)+(alu65*val11)+(alu67*val13)+(alu72*val15)+(alu74*val17)+(alu76*val19));
acc0[10] = (acc0[10]+(alu55*val20)+(alu57*val21)+(alu59*val22)+(alu63*val23)+(alu65*val24)+(alu67*val25)+(alu72*val26)+(alu74*val27)+(alu76*val28));
acc0[11] = (acc0[11]+(alu55*val29)+(alu57*val30)+(alu59*val31)+(alu63*val32)+(alu65*val33)+(alu67*val34)+(alu72*val35)+(alu74*val36)+(alu76*val37));
}
}
var alu91 = (alu2+cast3+(gidx2*50331648));
data0_251658240[alu91] = acc0[0];
data0_251658240[(alu91+1)] = acc0[3];
data0_251658240[(alu91+2)] = acc0[6];
data0_251658240[(alu91+3)] = acc0[9];
data0_251658240[(alu91+16777216)] = acc0[1];
data0_251658240[(alu91+16777217)] = acc0[4];
data0_251658240[(alu91+16777218)] = acc0[7];
data0_251658240[(alu91+16777219)] = acc0[10];
data0_251658240[(alu91+33554432)] = acc0[2];
data0_251658240[(alu91+33554433)] = acc0[5];
data0_251658240[(alu91+33554434)] = acc0[8];
data0_251658240[(alu91+33554435)] = acc0[11];
}`;
const r_5_256_32_4_8_16_4_3_15_3_3_3n3 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_251658240:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@group(0) @binding(4)var<storage,read_write>data3_15:array<f32>;
@group(0) @binding(5)var<storage,read_write>data4_6075:array<f32>;
@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,12>;
var gidx0 = i32(gindex.x); /* 128 */
var gidx1 = i32(gindex.y); /* 256 */
var gidx2 = i32(gindex.z); /* 5 */
var lidx0 = i32(lindex.x); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx1;
var precast1 = lidx0;
var precast2 = lidx1;
var alu0 = (gidx0>>2u);
var precast3 = alu0;
var alu1 = (gidx0&3);
var precast4 = alu1;
var precast5 = (bitcast<u32>(precast0)<<16u);
var precast6 = (bitcast<u32>(precast1)<<8u);
var precast7 = (bitcast<u32>(precast2)<<2u);
var cast0 = bitcast<u32>(precast3);
var precast8 = (cast0<<3u);
var precast9 = (cast0<<11u);
var cast1 = bitcast<u32>(precast4);
var precast10 = (cast1<<4u);
var precast11 = (cast1<<6u);
var cast2 = bitcast<i32>(precast5);
var alu2 = (bitcast<i32>(precast6)+bitcast<i32>(precast9)+bitcast<i32>(precast7)+bitcast<i32>(precast11));
var alu3 = ((lidx0+bitcast<i32>(precast8))<255);
var alu4 = ((lidx1+bitcast<i32>(precast10))<63);
var alu5 = (0<(lidx0+alu0));
var alu6 = (0<(lidx1+alu1));
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
acc0[4] = 0.0f;
acc0[5] = 0.0f;
acc0[6] = 0.0f;
acc0[7] = 0.0f;
acc0[8] = 0.0f;
acc0[9] = 0.0f;
acc0[10] = 0.0f;
acc0[11] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 15; Ridx0++) {
var val0 = data2_15[Ridx0];
var val1 = data3_15[Ridx0];
var precast12 = Ridx0;
var precast13 = (bitcast<u32>(precast12)<<24u);
for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) {
var precast14 = Ridx1;
var precast15 = (bitcast<u32>(precast14)<<16u);
var alu19 = (gidx1+Ridx1);
var alu20 = (alu2+cast2+bitcast<i32>(precast15)+bitcast<i32>(precast13));
var alu21 = ((0<alu19)&(alu19<257));
var val2 = select(0.0f, data1_251658240[(alu20+-65793)], (alu6&alu5&alu21));
var alu22 = ((Ridx0*27)+(Ridx1*9)+(gidx2*1215));
var val3 = data4_6075[(alu22+1)];
var val4 = data4_6075[alu22];
var alu23 = (alu5&alu21);
var val5 = select(0.0f, data1_251658240[(alu20+-65792)], alu23);
var val6 = select(0.0f, data1_251658240[(alu20+-65791)], alu23);
var val7 = data4_6075[(alu22+2)];
var val8 = select(0.0f, data1_251658240[(alu20+-65537)], (alu6&alu21));
var val9 = data4_6075[(alu22+3)];
var val10 = select(0.0f, data1_251658240[(alu20+-65536)], alu21);
var val11 = data4_6075[(alu22+4)];
var val12 = select(0.0f, data1_251658240[(alu20+-65535)], alu21);
var val13 = data4_6075[(alu22+5)];
var val14 = select(0.0f, data1_251658240[(alu20+-65281)], (alu6&alu3&alu21));
var val15 = data4_6075[(alu22+6)];
var alu24 = (alu3&alu21);
var val16 = select(0.0f, data1_251658240[(alu20+-65280)], alu24);
var val17 = data4_6075[(alu22+7)];
var val18 = select(0.0f, data1_251658240[(alu20+-65279)], alu24);
var val19 = data4_6075[(alu22+8)];
var val20 = data4_6075[(alu22+405)];
var val21 = data4_6075[(alu22+406)];
var val22 = data4_6075[(alu22+407)];
var val23 = data4_6075[(alu22+408)];
var val24 = data4_6075[(alu22+409)];
var val25 = data4_6075[(alu22+410)];
var val26 = data4_6075[(alu22+411)];
var val27 = data4_6075[(alu22+412)];
var val28 = data4_6075[(alu22+413)];
var val29 = data4_6075[(alu22+810)];
var val30 = data4_6075[(alu22+811)];
var val31 = data4_6075[(alu22+812)];
var val32 = data4_6075[(alu22+813)];
var val33 = data4_6075[(alu22+814)];
var val34 = data4_6075[(alu22+815)];
var val35 = data4_6075[(alu22+816)];
var val36 = data4_6075[(alu22+817)];
var val37 = data4_6075[(alu22+818)];
var val38 = select(0.0f, data1_251658240[(alu20+-65790)], alu23);
var val39 = select(0.0f, data1_251658240[(alu20+-65534)], alu21);
var val40 = select(0.0f, data1_251658240[(alu20+-65278)], alu24);
var val41 = select(0.0f, data1_251658240[(alu20+-65789)], alu23);
var val42 = select(0.0f, data1_251658240[(alu20+-65533)], alu21);
var val43 = select(0.0f, data1_251658240[(alu20+-65277)], alu24);
var val44 = select(0.0f, data1_251658240[(alu20+-65788)], (alu4&alu5&alu21));
var val45 = select(0.0f, data1_251658240[(alu20+-65532)], (alu4&alu21));
var val46 = select(0.0f, data1_251658240[(alu20+-65276)], (alu4&alu3&alu21));
var alu25 = ((val2-val0)*val1);
var alu26 = ((val5-val0)*val1);
var alu27 = ((val6-val0)*val1);
var alu28 = ((val38-val0)*val1);
var alu29 = ((val41-val0)*val1);
var alu30 = ((val44-val0)*val1);
var alu31 = ((val8-val0)*val1);
var alu32 = ((val10-val0)*val1);
var alu33 = ((val12-val0)*val1);
var alu34 = ((val39-val0)*val1);
var alu35 = ((val42-val0)*val1);
var alu36 = ((val45-val0)*val1);
var alu37 = ((val14-val0)*val1);
var alu38 = ((val16-val0)*val1);
var alu39 = ((val18-val0)*val1);
var alu40 = ((val40-val0)*val1);
var alu41 = ((val43-val0)*val1);
var alu42 = ((val46-val0)*val1);
var alu43 = (alu21&alu5);
var alu44 = select(0.0f,((1/(1.0f+exp2(((alu25+(0.044715f*alu25*alu25*alu25))*-2.302208198144325f))))*alu25),(alu43&alu6));
var alu45 = select(0.0f,((1/(1.0f+exp2(((alu26+(0.044715f*alu26*alu26*alu26))*-2.302208198144325f))))*alu26),alu43);
var alu46 = select(0.0f,((1/(1.0f+exp2(((alu27+(0.044715f*alu27*alu27*alu27))*-2.302208198144325f))))*alu27),alu43);
var alu47 = select(0.0f,((1/(1.0f+exp2(((alu28+(0.044715f*alu28*alu28*alu28))*-2.302208198144325f))))*alu28),alu43);
var alu48 = select(0.0f,((1/(1.0f+exp2(((alu29+(0.044715f*alu29*alu29*alu29))*-2.302208198144325f))))*alu29),alu43);
var alu49 = select(0.0f,((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30),(alu43&alu4));
var alu50 = select(0.0f,((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31),(alu21&alu6));
var alu51 = select(0.0f,((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32),alu21);
var alu52 = select(0.0f,((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33),alu21);
var alu53 = select(0.0f,((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34),alu21);
var alu54 = select(0.0f,((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35),alu21);
var alu55 = select(0.0f,((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36),(alu21&alu4));
var alu56 = (alu21&alu3);
var alu57 = select(0.0f,((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37),(alu56&alu6));
var alu58 = select(0.0f,((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38),alu56);
var alu59 = select(0.0f,((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),alu56);
var alu60 = select(0.0f,((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),alu56);
var alu61 = select(0.0f,((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),alu56);
var alu62 = select(0.0f,((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),(alu56&alu4));
acc0[0] = (acc0[0]+(alu44*val4)+(alu45*val3)+(alu46*val7)+(alu50*val9)+(alu51*val11)+(alu52*val13)+(alu57*val15)+(alu58*val17)+(alu59*val19));
acc0[1] = (acc0[1]+(alu44*val20)+(alu45*val21)+(alu46*val22)+(alu50*val23)+(alu51*val24)+(alu52*val25)+(alu57*val26)+(alu58*val27)+(alu59*val28));
acc0[2] = (acc0[2]+(alu44*val29)+(alu45*val30)+(alu46*val31)+(alu50*val32)+(alu51*val33)+(alu52*val34)+(alu57*val35)+(alu58*val36)+(alu59*val37));
acc0[3] = (acc0[3]+(alu45*val4)+(alu46*val3)+(alu47*val7)+(alu51*val9)+(alu52*val11)+(alu53*val13)+(alu58*val15)+(alu59*val17)+(alu60*val19));
acc0[4] = (acc0[4]+(alu45*val20)+(alu46*val21)+(alu47*val22)+(alu51*val23)+(alu52*val24)+(alu53*val25)+(alu58*val26)+(alu59*val27)+(alu60*val28));
acc0[5] = (acc0[5]+(alu45*val29)+(alu46*val30)+(alu47*val31)+(alu51*val32)+(alu52*val33)+(alu53*val34)+(alu58*val35)+(alu59*val36)+(alu60*val37));
acc0[6] = (acc0[6]+(alu46*val4)+(alu47*val3)+(alu48*val7)+(alu52*val9)+(alu53*val11)+(alu54*val13)+(alu59*val15)+(alu60*val17)+(alu61*val19));
acc0[7] = (acc0[7]+(alu46*val20)+(alu47*val21)+(alu48*val22)+(alu52*val23)+(alu53*val24)+(alu54*val25)+(alu59*val26)+(alu60*val27)+(alu61*val28));
acc0[8] = (acc0[8]+(alu46*val29)+(alu47*val30)+(alu48*val31)+(alu52*val32)+(alu53*val33)+(alu54*val34)+(alu59*val35)+(alu60*val36)+(alu61*val37));
acc0[9] = (acc0[9]+(alu47*val4)+(alu48*val3)+(alu49*val7)+(alu53*val9)+(alu54*val11)+(alu55*val13)+(alu60*val15)+(alu61*val17)+(alu62*val19));
acc0[10] = (acc0[10]+(alu47*val20)+(alu48*val21)+(alu49*val22)+(alu53*val23)+(alu54*val24)+(alu55*val25)+(alu60*val26)+(alu61*val27)+(alu62*val28));
acc0[11] = (acc0[11]+(alu47*val29)+(alu48*val30)+(alu49*val31)+(alu53*val32)+(alu54*val33)+(alu55*val34)+(alu60*val35)+(alu61*val36)+(alu62*val37));
}
}
var alu77 = (alu2+cast2+(gidx2*50331648));
data0_251658240[alu77] = acc0[0];
data0_251658240[(alu77+1)] = acc0[3];
data0_251658240[(alu77+2)] = acc0[6];
data0_251658240[(alu77+3)] = acc0[9];
data0_251658240[(alu77+16777216)] = acc0[1];
data0_251658240[(alu77+16777217)] = acc0[4];
data0_251658240[(alu77+16777218)] = acc0[7];
data0_251658240[(alu77+16777219)] = acc0[10];
data0_251658240[(alu77+33554432)] = acc0[2];
data0_251658240[(alu77+33554433)] = acc0[5];
data0_251658240[(alu77+33554434)] = acc0[8];
data0_251658240[(alu77+33554435)] = acc0[11];
}`;
const r_5_256_32_4_8_16_4_3_15_3_3_3n4 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_251658240:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@group(0) @binding(4)var<storage,read_write>data3_15:array<f32>;
@group(0) @binding(5)var<storage,read_write>data4_6075:array<f32>;
@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var acc0: array<f32,12>;
var gidx0 = i32(gindex.x); /* 128 */
var gidx1 = i32(gindex.y); /* 256 */
var gidx2 = i32(gindex.z); /* 5 */
var lidx0 = i32(lindex.x); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx1;
var precast1 = lidx0;
var precast2 = lidx1;
var precast3 = (gidx0>>2u);
var precast4 = (gidx0&3);
var precast5 = (bitcast<u32>(precast0)<<16u);
var precast6 = (bitcast<u32>(precast1)<<8u);
var precast7 = (bitcast<u32>(precast2)<<2u);
var precast8 = (bitcast<u32>(precast3)<<11u);
var cast0 = bitcast<u32>(precast4);
var precast9 = (cast0<<4u);
var precast10 = (cast0<<6u);
var cast1 = bitcast<i32>(precast5);
var alu0 = (lidx1+bitcast<i32>(precast9));
var alu1 = (bitcast<i32>(precast6)+bitcast<i32>(precast8)+bitcast<i32>(precast7)+bitcast<i32>(precast10));
var alu2 = (gidx0<120);
var alu3 = (alu0<60);
var alu4 = (3<alu0);
var alu5 = (7<gidx0);
acc0[0] = 0.0f;
acc0[1] = 0.0f;
acc0[2] = 0.0f;
acc0[3] = 0.0f;
acc0[4] = 0.0f;
acc0[5] = 0.0f;
acc0[6] = 0.0f;
acc0[7] = 0.0f;
acc0[8] = 0.0f;
acc0[9] = 0.0f;
acc0[10] = 0.0f;
acc0[11] = 0.0f;
for (var Ridx0 = 0; Ridx0 < 15; Ridx0++) {
var val0 = data2_15[Ridx0];
var val1 = data3_15[Ridx0];
var precast11 = Ridx0;
var precast12 = (bitcast<u32>(precast11)<<24u);
for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) {
var precast13 = Ridx1;
var cast2 = bitcast<u32>(precast13);
var precast14 = (cast2<<4u);
var precast15 = (cast2<<20u);
var alu18 = (gidx1+bitcast<i32>(precast14));
var alu19 = (alu1+cast1+bitcast<i32>(precast15)+bitcast<i32>(precast12));
var alu20 = ((15<alu18)&(alu18<272));
var alu21 = (alu4&alu5&alu20);
var val2 = select(0.0f, data1_251658240[(alu19+-1052688)], alu21);
var alu22 = ((Ridx0*27)+(Ridx1*9)+(gidx2*1215));
var val3 = data4_6075[(alu22+3)];
var val4 = data4_6075[alu22];
var alu23 = (alu5&alu20);
var val5 = select(0.0f, data1_251658240[(alu19+-1052672)], alu23);
var val6 = data4_6075[(alu22+1)];
var alu24 = (alu3&alu5&alu20);
var val7 = select(0.0f, data1_251658240[(alu19+-1052656)], alu24);
var val8 = data4_6075[(alu22+2)];
var alu25 = (alu4&alu20);
var val9 = select(0.0f, data1_251658240[(alu19+-1048592)], alu25);
var val10 = select(0.0f, data1_251658240[(alu19+-1048576)], alu20);
var val11 = data4_6075[(alu22+4)];
var alu26 = (alu3&alu20);
var val12 = select(0.0f, data1_251658240[(alu19+-1048560)], alu26);
var val13 = data4_6075[(alu22+5)];
var alu27 = (alu4&alu2&alu20);
var val14 = select(0.0f, data1_251658240[(alu19+-1044496)], alu27);
var val15 = data4_6075[(alu22+6)];
var alu28 = (alu2&alu20);
var val16 = select(0.0f, data1_251658240[(alu19+-1044480)], alu28);
var val17 = data4_6075[(alu22+7)];
var alu29 = (alu3&alu2&alu20);
var val18 = select(0.0f, data1_251658240[(alu19+-1044464)], alu29);
var val19 = data4_6075[(alu22+8)];
var val20 = data4_6075[(alu22+405)];
var val21 = data4_6075[(alu22+406)];
var val22 = data4_6075[(alu22+407)];
var val23 = data4_6075[(alu22+408)];
var val24 = data4_6075[(alu22+409)];
var val25 = data4_6075[(alu22+410)];
var val26 = data4_6075[(alu22+411)];
var val27 = data4_6075[(alu22+412)];
var val28 = data4_6075[(alu22+413)];
var val29 = data4_6075[(alu22+810)];
var val30 = data4_6075[(alu22+811)];
var val31 = data4_6075[(alu22+812)];
var val32 = data4_6075[(alu22+813)];
var val33 = data4_6075[(alu22+814)];
var val34 = data4_6075[(alu22+815)];
var val35 = data4_6075[(alu22+816)];
var val36 = data4_6075[(alu22+817)];
var val37 = data4_6075[(alu22+818)];
var val38 = select(0.0f, data1_251658240[(alu19+-1052687)], alu21);
var val39 = select(0.0f, data1_251658240[(alu19+-1044479)], alu28);
var val40 = select(0.0f, data1_251658240[(alu19+-1044463)], alu29);
var val41 = select(0.0f, data1_251658240[(alu19+-1052686)], alu21);
var val42 = select(0.0f, data1_251658240[(alu19+-1044462)], alu29);
var val43 = select(0.0f, data1_251658240[(alu19+-1052685)], alu21);
var val44 = select(0.0f, data1_251658240[(alu19+-1052671)], alu23);
var val45 = select(0.0f, data1_251658240[(alu19+-1052670)], alu23);
var val46 = select(0.0f, data1_251658240[(alu19+-1052669)], alu23);
var val47 = select(0.0f, data1_251658240[(alu19+-1052655)], alu24);
var val48 = select(0.0f, data1_251658240[(alu19+-1052654)], alu24);
var val49 = select(0.0f, data1_251658240[(alu19+-1052653)], alu24);
var val50 = select(0.0f, data1_251658240[(alu19+-1048591)], alu25);
var val51 = select(0.0f, data1_251658240[(alu19+-1048590)], alu25);
var val52 = select(0.0f, data1_251658240[(alu19+-1048589)], alu25);
var val53 = select(0.0f, data1_251658240[(alu19+-1048575)], alu20);
var val54 = select(0.0f, data1_251658240[(alu19+-1048574)], alu20);
var val55 = select(0.0f, data1_251658240[(alu19+-1048573)], alu20);
var val56 = select(0.0f, data1_251658240[(alu19+-1048559)], alu26);
var val57 = select(0.0f, data1_251658240[(alu19+-1048558)], alu26);
var val58 = select(0.0f, data1_251658240[(alu19+-1048557)], alu26);
var val59 = select(0.0f, data1_251658240[(alu19+-1044495)], alu27);
var val60 = select(0.0f, data1_251658240[(alu19+-1044494)], alu27);
var val61 = select(0.0f, data1_251658240[(alu19+-1044493)], alu27);
var val62 = select(0.0f, data1_251658240[(alu19+-1044478)], alu28);
var val63 = select(0.0f, data1_251658240[(alu19+-1044477)], alu28);
var val64 = select(0.0f, data1_251658240[(alu19+-1044461)], alu29);
var alu30 = ((val2-val0)*val1);
var alu31 = ((val38-val0)*val1);
var alu32 = ((val41-val0)*val1);
var alu33 = ((val43-val0)*val1);
var alu34 = ((val5-val0)*val1);
var alu35 = ((val44-val0)*val1);
var alu36 = ((val45-val0)*val1);
var alu37 = ((val46-val0)*val1);
var alu38 = ((val7-val0)*val1);
var alu39 = ((val47-val0)*val1);
var alu40 = ((val48-val0)*val1);
var alu41 = ((val49-val0)*val1);
var alu42 = ((val9-val0)*val1);
var alu43 = ((val50-val0)*val1);
var alu44 = ((val51-val0)*val1);
var alu45 = ((val52-val0)*val1);
var alu46 = ((val10-val0)*val1);
var alu47 = ((val53-val0)*val1);
var alu48 = ((val54-val0)*val1);
var alu49 = ((val55-val0)*val1);
var alu50 = ((val12-val0)*val1);
var alu51 = ((val56-val0)*val1);
var alu52 = ((val57-val0)*val1);
var alu53 = ((val58-val0)*val1);
var alu54 = ((val14-val0)*val1);
var alu55 = ((val59-val0)*val1);
var alu56 = ((val60-val0)*val1);
var alu57 = ((val61-val0)*val1);
var alu58 = ((val16-val0)*val1);
var alu59 = ((val39-val0)*val1);
var alu60 = ((val62-val0)*val1);
var alu61 = ((val63-val0)*val1);
var alu62 = ((val18-val0)*val1);
var alu63 = ((val40-val0)*val1);
var alu64 = ((val42-val0)*val1);
var alu65 = ((val64-val0)*val1);
var alu66 = (alu20&alu5);
var alu67 = (alu66&alu4);
var alu68 = select(0.0f,((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30),alu67);
var alu69 = select(0.0f,((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31),alu67);
var alu70 = select(0.0f,((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32),alu67);
var alu71 = select(0.0f,((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33),alu67);
var alu72 = select(0.0f,((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34),alu66);
var alu73 = select(0.0f,((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35),alu66);
var alu74 = select(0.0f,((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36),alu66);
var alu75 = select(0.0f,((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37),alu66);
var alu76 = (alu66&alu3);
var alu77 = select(0.0f,((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38),alu76);
var alu78 = select(0.0f,((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),alu76);
var alu79 = select(0.0f,((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),alu76);
var alu80 = select(0.0f,((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),alu76);
var alu81 = (alu20&alu4);
var alu82 = select(0.0f,((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),alu81);
var alu83 = select(0.0f,((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),alu81);
var alu84 = select(0.0f,((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),alu81);
var alu85 = select(0.0f,((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),alu81);
var alu86 = select(0.0f,((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),alu20);
var alu87 = select(0.0f,((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),alu20);
var alu88 = select(0.0f,((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),alu20);
var alu89 = select(0.0f,((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),alu20);
var alu90 = (alu20&alu3);
var alu91 = select(0.0f,((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),alu90);
var alu92 = select(0.0f,((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51),alu90);
var alu93 = select(0.0f,((1/(1.0f+exp2(((alu52+(0.044715f*alu52*alu52*alu52))*-2.302208198144325f))))*alu52),alu90);
var alu94 = select(0.0f,((1/(1.0f+exp2(((alu53+(0.044715f*alu53*alu53*alu53))*-2.302208198144325f))))*alu53),alu90);
var alu95 = (alu20&alu2);
var alu96 = (alu95&alu4);
var alu97 = select(0.0f,((1/(1.0f+exp2(((alu54+(0.044715f*alu54*alu54*alu54))*-2.302208198144325f))))*alu54),alu96);
var alu98 = select(0.0f,((1/(1.0f+exp2(((alu55+(0.044715f*alu55*alu55*alu55))*-2.302208198144325f))))*alu55),alu96);
var alu99 = select(0.0f,((1/(1.0f+exp2(((alu56+(0.044715f*alu56*alu56*alu56))*-2.302208198144325f))))*alu56),alu96);
var alu100 = select(0.0f,((1/(1.0f+exp2(((alu57+(0.044715f*alu57*alu57*alu57))*-2.302208198144325f))))*alu57),alu96);
var alu101 = select(0.0f,((1/(1.0f+exp2(((alu58+(0.044715f*alu58*alu58*alu58))*-2.302208198144325f))))*alu58),alu95);
var alu102 = select(0.0f,((1/(1.0f+exp2(((alu59+(0.044715f*alu59*alu59*alu59))*-2.302208198144325f))))*alu59),alu95);
var alu103 = select(0.0f,((1/(1.0f+exp2(((alu60+(0.044715f*alu60*alu60*alu60))*-2.302208198144325f))))*alu60),alu95);
var alu104 = select(0.0f,((1/(1.0f+exp2(((alu61+(0.044715f*alu61*alu61*alu61))*-2.302208198144325f))))*alu61),alu95);
var alu105 = (alu95&alu3);
var alu106 = select(0.0f,((1/(1.0f+exp2(((alu62+(0.044715f*alu62*alu62*alu62))*-2.302208198144325f))))*alu62),alu105);
var alu107 = select(0.0f,((1/(1.0f+exp2(((alu63+(0.044715f*alu63*alu63*alu63))*-2.302208198144325f))))*alu63),alu105);
var alu108 = select(0.0f,((1/(1.0f+exp2(((alu64+(0.044715f*alu64*alu64*alu64))*-2.302208198144325f))))*alu64),alu105);
var alu109 = select(0.0f,((1/(1.0f+exp2(((alu65+(0.044715f*alu65*alu65*alu65))*-2.302208198144325f))))*alu65),alu105);
acc0[0] = (acc0[0]+(alu68*val4)+(alu72*val6)+(alu77*val8)+(alu82*val3)+(alu86*val11)+(alu91*val13)+(alu97*val15)+(alu101*val17)+(alu106*val19));
acc0[1] = (acc0[1]+(alu68*val20)+(alu72*val21)+(alu77*val22)+(alu82*val23)+(alu86*val24)+(alu91*val25)+(alu97*val26)+(alu101*val27)+(alu106*val28));
acc0[2] = (acc0[2]+(alu68*val29)+(alu72*val30)+(alu77*val31)+(alu82*val32)+(alu86*val33)+(alu91*val34)+(alu97*val35)+(alu101*val36)+(alu106*val37));
acc0[3] = (acc0[3]+(alu69*val4)+(alu73*val6)+(alu78*val8)+(alu83*val3)+(alu87*val11)+(alu92*val13)+(alu98*val15)+(alu102*val17)+(alu107*val19));
acc0[4] = (acc0[4]+(alu69*val20)+(alu73*val21)+(alu78*val22)+(alu83*val23)+(alu87*val24)+(alu92*val25)+(alu98*val26)+(alu102*val27)+(alu107*val28));
acc0[5] = (acc0[5]+(alu69*val29)+(alu73*val30)+(alu78*val31)+(alu83*val32)+(alu87*val33)+(alu92*val34)+(alu98*val35)+(alu102*val36)+(alu107*val37));
acc0[6] = (acc0[6]+(alu70*val4)+(alu74*val6)+(alu79*val8)+(alu84*val3)+(alu88*val11)+(alu93*val13)+(alu99*val15)+(alu103*val17)+(alu108*val19));
acc0[7] = (acc0[7]+(alu70*val20)+(alu74*val21)+(alu79*val22)+(alu84*val23)+(alu88*val24)+(alu93*val25)+(alu99*val26)+(alu103*val27)+(alu108*val28));
acc0[8] = (acc0[8]+(alu70*val29)+(alu74*val30)+(alu79*val31)+(alu84*val32)+(alu88*val33)+(alu93*val34)+(alu99*val35)+(alu103*val36)+(alu108*val37));
acc0[9] = (acc0[9]+(alu71*val4)+(alu75*val6)+(alu80*val8)+(alu85*val3)+(alu89*val11)+(alu94*val13)+(alu100*val15)+(alu104*val17)+(alu109*val19));
acc0[10] = (acc0[10]+(alu71*val20)+(alu75*val21)+(alu80*val22)+(alu85*val23)+(alu89*val24)+(alu94*val25)+(alu100*val26)+(alu104*val27)+(alu109*val28));
acc0[11] = (acc0[11]+(alu71*val29)+(alu75*val30)+(alu80*val31)+(alu85*val32)+(alu89*val33)+(alu94*val34)+(alu100*val35)+(alu104*val36)+(alu109*val37));
}
}
var alu124 = (alu1+cast1+(gidx2*50331648));
data0_251658240[alu124] = acc0[0];
data0_251658240[(alu124+1)] = acc0[3];
data0_251658240[(alu124+2)] = acc0[6];
data0_251658240[(alu124+3)] = acc0[9];
data0_251658240[(alu124+16777216)] = acc0[1];
data0_251658240[(alu124+16777217)] = acc0[4];
data0_251658240[(alu124+16777218)] = acc0[7];
data0_251658240[(alu124+16777219)] = acc0[10];
data0_251658240[(alu124+33554432)] = acc0[2];
data0_251658240[(alu124+33554433)] = acc0[5];
data0_251658240[(alu124+33554434)] = acc0[8];
data0_251658240[(alu124+33554435)] = acc0[11];
}`;
const r_262144_2_16_4_15 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_33554432:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_251658240:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_15:array<f32>;
@group(0) @binding(4)var<storage,read_write>data3_15:array<f32>;
@group(0) @binding(5)var<storage,read_write>data4_30:array<f32>;
@compute @workgroup_size(2,16) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var gidx0 = i32(gindex.x); /* 32768 */
var gidx1 = i32(gindex.y); /* 8 */
var lidx1 = i32(lindex.y); /* 16 */
var precast0 = gidx0;
var precast1 = gidx1;
var precast2 = lidx1;
var precast3 = (bitcast<u32>(precast0)<<9u);
var precast4 = (bitcast<u32>(precast1)<<6u);
var precast5 = (bitcast<u32>(precast2)<<2u);
var alu0 = (bitcast<i32>(precast3)+bitcast<i32>(precast4)+bitcast<i32>(precast5));
var val0 = data1_251658240[alu0];
var val1 = data2_15[0];
var val2 = data3_15[0];
var lidx0 = i32(lindex.x); /* 2 */
var alu1 = (lidx0*15);
var val3 = data4_30[(alu1+4)];
var val4 = data4_30[alu1];
var val5 = data1_251658240[(alu0+16777216)];
var val6 = data2_15[1];
var val7 = data3_15[1];
var val8 = data4_30[(alu1+1)];
var val9 = data1_251658240[(alu0+33554432)];
var val10 = data2_15[2];
var val11 = data3_15[2];
var val12 = data4_30[(alu1+2)];
var val13 = data1_251658240[(alu0+50331648)];
var val14 = data2_15[3];
var val15 = data3_15[3];
var val16 = data4_30[(alu1+3)];
var val17 = data1_251658240[(alu0+67108864)];
var val18 = data2_15[4];
var val19 = data3_15[4];
var val20 = data1_251658240[(alu0+83886080)];
var val21 = data2_15[5];
var val22 = data3_15[5];
var val23 = data4_30[(alu1+5)];
var val24 = data1_251658240[(alu0+100663296)];
var val25 = data2_15[6];
var val26 = data3_15[6];
var val27 = data4_30[(alu1+6)];
var val28 = data1_251658240[(alu0+117440512)];
var val29 = data2_15[7];
var val30 = data3_15[7];
var val31 = data4_30[(alu1+7)];
var val32 = data1_251658240[(alu0+134217728)];
var val33 = data2_15[8];
var val34 = data3_15[8];
var val35 = data4_30[(alu1+8)];
var val36 = data1_251658240[(alu0+150994944)];
var val37 = data2_15[9];
var val38 = data3_15[9];
var val39 = data4_30[(alu1+9)];
var val40 = data1_251658240[(alu0+167772160)];
var val41 = data2_15[10];
var val42 = data3_15[10];
var val43 = data4_30[(alu1+10)];
var val44 = data1_251658240[(alu0+50331649)];
var val45 = data1_251658240[(alu0+67108865)];
var val46 = data1_251658240[(alu0+83886081)];
var val47 = data1_251658240[(alu0+100663297)];
var val48 = data1_251658240[(alu0+117440513)];
var val49 = data1_251658240[(alu0+134217729)];
var val50 = data1_251658240[(alu0+150994945)];
var val51 = data1_251658240[(alu0+167772161)];
var val52 = data1_251658240[(alu0+184549376)];
var val53 = data2_15[11];
var val54 = data3_15[11];
var val55 = data4_30[(alu1+11)];
var val56 = data1_251658240[(alu0+201326592)];
var val57 = data2_15[12];
var val58 = data3_15[12];
var val59 = data4_30[(alu1+12)];
var val60 = data1_251658240[(alu0+218103808)];
var val61 = data2_15[13];
var val62 = data3_15[13];
var val63 = data4_30[(alu1+13)];
var val64 = data1_251658240[(alu0+1)];
var val65 = data1_251658240[(alu0+16777217)];
var val66 = data1_251658240[(alu0+33554433)];
var val67 = data1_251658240[(alu0+184549377)];
var val68 = data1_251658240[(alu0+234881024)];
var val69 = data2_15[14];
var val70 = data3_15[14];
var val71 = data4_30[(alu1+14)];
var val72 = data1_251658240[(alu0+2)];
var val73 = data1_251658240[(alu0+3)];
var val74 = data1_251658240[(alu0+16777218)];
var val75 = data1_251658240[(alu0+16777219)];
var val76 = data1_251658240[(alu0+33554434)];
var val77 = data1_251658240[(alu0+33554435)];
var val78 = data1_251658240[(alu0+50331650)];
var val79 = data1_251658240[(alu0+50331651)];
var val80 = data1_251658240[(alu0+67108866)];
var val81 = data1_251658240[(alu0+67108867)];
var val82 = data1_251658240[(alu0+83886082)];
var val83 = data1_251658240[(alu0+83886083)];
var val84 = data1_251658240[(alu0+100663298)];
var val85 = data1_251658240[(alu0+100663299)];
var val86 = data1_251658240[(alu0+117440514)];
var val87 = data1_251658240[(alu0+117440515)];
var val88 = data1_251658240[(alu0+134217730)];
var val89 = data1_251658240[(alu0+134217731)];
var val90 = data1_251658240[(alu0+150994946)];
var val91 = data1_251658240[(alu0+150994947)];
var val92 = data1_251658240[(alu0+167772162)];
var val93 = data1_251658240[(alu0+167772163)];
var val94 = data1_251658240[(alu0+184549378)];
var val95 = data1_251658240[(alu0+184549379)];
var val96 = data1_251658240[(alu0+201326593)];
var val97 = data1_251658240[(alu0+201326594)];
var val98 = data1_251658240[(alu0+201326595)];
var val99 = data1_251658240[(alu0+218103809)];
var val100 = data1_251658240[(alu0+218103810)];
var val101 = data1_251658240[(alu0+218103811)];
var val102 = data1_251658240[(alu0+234881025)];
var val103 = data1_251658240[(alu0+234881026)];
var val104 = data1_251658240[(alu0+234881027)];
var precast6 = lidx0;
var precast7 = (bitcast<u32>(precast6)<<24u);
var alu2 = (alu0+bitcast<i32>(precast7));
var alu3 = ((val0-val1)*val2);
var alu4 = ((val64-val1)*val2);
var alu5 = ((val72-val1)*val2);
var alu6 = ((val73-val1)*val2);
var alu7 = ((val5-val6)*val7);
var alu8 = ((val65-val6)*val7);
var alu9 = ((val74-val6)*val7);
var alu10 = ((val75-val6)*val7);
var alu11 = ((val9-val10)*val11);
var alu12 = ((val66-val10)*val11);
var alu13 = ((val76-val10)*val11);
var alu14 = ((val77-val10)*val11);
var alu15 = ((val13-val14)*val15);
var alu16 = ((val44-val14)*val15);
var alu17 = ((val78-val14)*val15);
var alu18 = ((val79-val14)*val15);
var alu19 = ((val17-val18)*val19);
var alu20 = ((val45-val18)*val19);
var alu21 = ((val80-val18)*val19);
var alu22 = ((val81-val18)*val19);
var alu23 = ((val20-val21)*val22);
var alu24 = ((val46-val21)*val22);
var alu25 = ((val82-val21)*val22);
var alu26 = ((val83-val21)*val22);
var alu27 = ((val24-val25)*val26);
var alu28 = ((val47-val25)*val26);
var alu29 = ((val84-val25)*val26);
var alu30 = ((val85-val25)*val26);
var alu31 = ((val28-val29)*val30);
var alu32 = ((val48-val29)*val30);
var alu33 = ((val86-val29)*val30);
var alu34 = ((val87-val29)*val30);
var alu35 = ((val32-val33)*val34);
var alu36 = ((val49-val33)*val34);
var alu37 = ((val88-val33)*val34);
var alu38 = ((val89-val33)*val34);
var alu39 = ((val36-val37)*val38);
var alu40 = ((val50-val37)*val38);
var alu41 = ((val90-val37)*val38);
var alu42 = ((val91-val37)*val38);
var alu43 = ((val40-val41)*val42);
var alu44 = ((val51-val41)*val42);
var alu45 = ((val92-val41)*val42);
var alu46 = ((val93-val41)*val42);
var alu47 = ((val52-val53)*val54);
var alu48 = ((val67-val53)*val54);
var alu49 = ((val94-val53)*val54);
var alu50 = ((val95-val53)*val54);
var alu51 = ((val56-val57)*val58);
var alu52 = ((val96-val57)*val58);
var alu53 = ((val97-val57)*val58);
var alu54 = ((val98-val57)*val58);
var alu55 = ((val60-val61)*val62);
var alu56 = ((val99-val61)*val62);
var alu57 = ((val100-val61)*val62);
var alu58 = ((val101-val61)*val62);
var alu59 = ((val68-val69)*val70);
var alu60 = ((val102-val69)*val70);
var alu61 = ((val103-val69)*val70);
var alu62 = ((val104-val69)*val70);
data0_33554432[alu2] = (((1/(1.0f+exp2(((alu3+(0.044715f*alu3*alu3*alu3))*-2.302208198144325f))))*alu3*val4)+((1/(1.0f+exp2(((alu7+(0.044715f*alu7*alu7*alu7))*-2.302208198144325f))))*alu7*val8)+((1/(1.0f+exp2(((alu11+(0.044715f*alu11*alu11*alu11))*-2.302208198144325f))))*alu11*val12)+((1/(1.0f+exp2(((alu15+(0.044715f*alu15*alu15*alu15))*-2.302208198144325f))))*alu15*val16)+((1/(1.0f+exp2(((alu19+(0.044715f*alu19*alu19*alu19))*-2.302208198144325f))))*alu19*val3)+((1/(1.0f+exp2(((alu23+(0.044715f*alu23*alu23*alu23))*-2.302208198144325f))))*alu23*val23)+((1/(1.0f+exp2(((alu27+(0.044715f*alu27*alu27*alu27))*-2.302208198144325f))))*alu27*val27)+((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31*val31)+((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35*val35)+((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39*val39)+((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43*val43)+((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47*val55)+((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51*val59)+((1/(1.0f+exp2(((alu55+(0.044715f*alu55*alu55*alu55))*-2.302208198144325f))))*alu55*val63)+((1/(1.0f+exp2(((alu59+(0.044715f*alu59*alu59*alu59))*-2.302208198144325f))))*alu59*val71));
data0_33554432[(alu2+1)] = (((1/(1.0f+exp2(((alu4+(0.044715f*alu4*alu4*alu4))*-2.302208198144325f))))*alu4*val4)+((1/(1.0f+exp2(((alu8+(0.044715f*alu8*alu8*alu8))*-2.302208198144325f))))*alu8*val8)+((1/(1.0f+exp2(((alu12+(0.044715f*alu12*alu12*alu12))*-2.302208198144325f))))*alu12*val12)+((1/(1.0f+exp2(((alu16+(0.044715f*alu16*alu16*alu16))*-2.302208198144325f))))*alu16*val16)+((1/(1.0f+exp2(((alu20+(0.044715f*alu20*alu20*alu20))*-2.302208198144325f))))*alu20*val3)+((1/(1.0f+exp2(((alu24+(0.044715f*alu24*alu24*alu24))*-2.302208198144325f))))*alu24*val23)+((1/(1.0f+exp2(((alu28+(0.044715f*alu28*alu28*alu28))*-2.302208198144325f))))*alu28*val27)+((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32*val31)+((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36*val35)+((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40*val39)+((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44*val43)+((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48*val55)+((1/(1.0f+exp2(((alu52+(0.044715f*alu52*alu52*alu52))*-2.302208198144325f))))*alu52*val59)+((1/(1.0f+exp2(((alu56+(0.044715f*alu56*alu56*alu56))*-2.302208198144325f))))*alu56*val63)+((1/(1.0f+exp2(((alu60+(0.044715f*alu60*alu60*alu60))*-2.302208198144325f))))*alu60*val71));
data0_33554432[(alu2+2)] = (((1/(1.0f+exp2(((alu5+(0.044715f*alu5*alu5*alu5))*-2.302208198144325f))))*alu5*val4)+((1/(1.0f+exp2(((alu9+(0.044715f*alu9*alu9*alu9))*-2.302208198144325f))))*alu9*val8)+((1/(1.0f+exp2(((alu13+(0.044715f*alu13*alu13*alu13))*-2.302208198144325f))))*alu13*val12)+((1/(1.0f+exp2(((alu17+(0.044715f*alu17*alu17*alu17))*-2.302208198144325f))))*alu17*val16)+((1/(1.0f+exp2(((alu21+(0.044715f*alu21*alu21*alu21))*-2.302208198144325f))))*alu21*val3)+((1/(1.0f+exp2(((alu25+(0.044715f*alu25*alu25*alu25))*-2.302208198144325f))))*alu25*val23)+((1/(1.0f+exp2(((alu29+(0.044715f*alu29*alu29*alu29))*-2.302208198144325f))))*alu29*val27)+((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33*val31)+((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37*val35)+((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41*val39)+((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45*val43)+((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49*val55)+((1/(1.0f+exp2(((alu53+(0.044715f*alu53*alu53*alu53))*-2.302208198144325f))))*alu53*val59)+((1/(1.0f+exp2(((alu57+(0.044715f*alu57*alu57*alu57))*-2.302208198144325f))))*alu57*val63)+((1/(1.0f+exp2(((alu61+(0.044715f*alu61*alu61*alu61))*-2.302208198144325f))))*alu61*val71));
data0_33554432[(alu2+3)] = (((1/(1.0f+exp2(((alu6+(0.044715f*alu6*alu6*alu6))*-2.302208198144325f))))*alu6*val4)+((1/(1.0f+exp2(((alu10+(0.044715f*alu10*alu10*alu10))*-2.302208198144325f))))*alu10*val8)+((1/(1.0f+exp2(((alu14+(0.044715f*alu14*alu14*alu14))*-2.302208198144325f))))*alu14*val12)+((1/(1.0f+exp2(((alu18+(0.044715f*alu18*alu18*alu18))*-2.302208198144325f))))*alu18*val16)+((1/(1.0f+exp2(((alu22+(0.044715f*alu22*alu22*alu22))*-2.302208198144325f))))*alu22*val3)+((1/(1.0f+exp2(((alu26+(0.044715f*alu26*alu26*alu26))*-2.302208198144325f))))*alu26*val23)+((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30*val27)+((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34*val31)+((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38*val35)+((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42*val39)+((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46*val43)+((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50*val55)+((1/(1.0f+exp2(((alu54+(0.044715f*alu54*alu54*alu54))*-2.302208198144325f))))*alu54*val59)+((1/(1.0f+exp2(((alu58+(0.044715f*alu58*alu58*alu58))*-2.302208198144325f))))*alu58*val63)+((1/(1.0f+exp2(((alu62+(0.044715f*alu62*alu62*alu62))*-2.302208198144325f))))*alu62*val71));
}`;
const r_131072_32_4_2 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_16777216:array<f32>;
@group(0) @binding(2)var<storage,read_write>data1_33554432:array<f32>;
@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var gidx0 = i32(gindex.x); /* 32768 */
var gidx1 = i32(gindex.y); /* 4 */
var lidx0 = i32(lindex.x); /* 32 */
var precast0 = gidx0;
var precast1 = gidx1;
var precast2 = lidx0;
var precast3 = (bitcast<u32>(precast0)<<9u);
var precast4 = (bitcast<u32>(precast1)<<7u);
var precast5 = (bitcast<u32>(precast2)<<2u);
var alu0 = (bitcast<i32>(precast3)+bitcast<i32>(precast4)+bitcast<i32>(precast5));
var val0 = data1_33554432[alu0];
var alu1 = (alu0+1);
var val1 = data1_33554432[alu1];
var alu2 = (alu0+2);
var val2 = data1_33554432[alu2];
var alu3 = (alu0+3);
var val3 = data1_33554432[alu3];
var val4 = data1_33554432[(alu0+16777216)];
var val5 = data1_33554432[(alu0+16777217)];
var val6 = data1_33554432[(alu0+16777218)];
var val7 = data1_33554432[(alu0+16777219)];
var alu4 = select(val0,val4,(val0<val4));
var alu5 = select(val1,val5,(val1<val5));
var alu6 = select(val2,val6,(val2<val6));
var alu7 = select(val3,val7,(val3<val7));
data0_16777216[alu0] = alu4;
data0_16777216[alu1] = alu5;
data0_16777216[alu2] = alu6;
data0_16777216[alu3] = alu7;
}`;
const r_131072_32_4_2n1 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast<f32>(bits); }
@group(0) @binding(0)
var<uniform> INFINITY : f32;
@group(0) @binding(1)var<storage,read_write>data0_16777216:array<i32>;
@group(0) @binding(2)var<storage,read_write>data1_33554432:array<f32>;
@group(0) @binding(3)var<storage,read_write>data2_16777216:array<f32>;
@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3<u32>,@builtin(local_invocation_id) lindex: vec3<u32>) {
var gidx0 = i32(gindex.x); /* 32768 */
var gidx1 = i32(gindex.y); /* 4 */
var lidx0 = i32(lindex.x); /* 32 */
var precast0 = gidx0;
var precast1 = gidx1;
var precast2 = lidx0;
var precast3 = (bitcast<u32>(precast0)<<9u);
var precast4 = (bitcast<u32>(precast1)<<7u);
var precast5 = (bitcast<u32>(precast2)<<2u);
var alu0 = (bitcast<i32>(precast3)+bitcast<i32>(precast4)+bitcast<i32>(precast5));
var val0 = data1_33554432[alu0];
var val1 = data2_16777216[alu0];
var alu1 = (alu0+1);
var val2 = data1_33554432[alu1];
var alu2 = (alu0+2);
var val3 = data1_33554432[alu2];
var val4 = data1_33554432[(alu0+16777216)];
var val5 = data2_16777216[alu1];
var val6 = data1_33554432[(alu0+16777217)];
var val7 = data2_16777216[alu2];
var alu3 = (alu0+3);
var val8 = data1_33554432[alu3];
var val9 = data1_33554432[(alu0+16777218)];
var val10 = data2_16777216[alu3];
var val11 = data1_33554432[(alu0+16777219)];
var precast6 = (i32((val0==val1)));
var precast7 = (i32((val2==val5)));
var precast8 = (i32((val3==val7)));
var precast9 = (i32((val8==val10)));
var precast10 = (bitcast<u32>(precast6)<<1u);
var precast11 = (bitcast<u32>(precast7)<<1u);
var precast12 = (bitcast<u32>(precast8)<<1u);
var precast13 = (bitcast<u32>(precast9)<<1u);
var cast0 = (i32((val4==val1)));
var cast1 = (i32((val6==val5)));
var cast2 = (i32((val9==val7)));
var cast3 = (i32((val11==val10)));
var cast4 = bitcast<i32>(precast10);
var cast5 = bitcast<i32>(precast11);
var cast6 = bitcast<i32>(precast12);
var cast7 = bitcast<i32>(precast13);
var alu4 = select(cast4,cast0,(cast4<cast0));
var alu5 = select(cast5,cast1,(cast5<cast1));
var alu6 = select(cast6,cast2,(cast6<cast2));
var alu7 = select(cast7,cast3,(cast7<cast3));
data0_16777216[alu0] = (2-alu4);
data0_16777216[alu1] = (2-alu5);
data0_16777216[alu2] = (2-alu6);
data0_16777216[alu3] = (2-alu7);
}`;
const setupNet = async (device, safetensor) => {
const metadata = getTensorMetadata(safetensor);
const infinityBuf = createInfinityUniformBuf(device);
const layouts=[device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]})]
const buf_0 = createEmptyBuf(device, 1006632960);;
const input0 = createEmptyBuf(device, 67108864);;
const buf_1 = createWeightBuf(device, 1620, getTensorBuffer(safetensor, metadata['model.0.weight']));
const buf_2 = createEmptyBuf(device, 3932160);;
const buf_3 = createEmptyBuf(device, 15360);;
const buf_4 = createEmptyBuf(device, 60);;
const buf_5 = createEmptyBuf(device, 60);;
const buf_6 = createEmptyBuf(device, 1006632960);;
const buf_7 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.3.weight']));
const buf_8 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.6.weight']));
const buf_9 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.9.weight']));
const buf_10 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.12.weight']));
const buf_11 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.15.weight']));
const buf_12 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.18.weight']));
const buf_13 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.21.weight']));
const buf_14 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.24.weight']));
const buf_15 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.27.weight']));
const buf_16 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.30.weight']));
const buf_17 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.33.weight']));
const buf_18 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.36.weight']));
const buf_19 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.39.weight']));
const buf_20 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.42.weight']));
const buf_21 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.45.weight']));
const buf_22 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.48.weight']));
const buf_23 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.51.weight']));
const buf_24 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.54.weight']));
const buf_25 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.57.weight']));
const buf_26 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.60.weight']));
const buf_27 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.63.weight']));
const buf_28 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.66.weight']));
const buf_29 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.69.weight']));
const buf_30 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.72.weight']));
const buf_31 = createEmptyBuf(device, 134217728);;
const buf_32 = createWeightBuf(device, 120, getTensorBuffer(safetensor, metadata['model.75.weight']));
const buf_33 = createEmptyBuf(device, 67108864);;
const output0 = createEmptyBuf(device, 67108864);;
const gpuWriteBuffer0 = device.createBuffer({size:input0.size, usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE });
const gpuReadBuffer0 = device.createBuffer({size:output0.size, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ });
const kernels = [r_5_256_32_4_8_16_4_3_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_262144_2_16_4_15, r_131072_32_4_2, r_131072_32_4_2n1];
const pipelines = await Promise.all(kernels.map(async (name, i) => {
return await device.createComputePipelineAsync({
layout: device.createPipelineLayout({
bindGroupLayouts: [layouts[i]],
}),
compute: {
module: device.createShaderModule({
code: name,
}),
entryPoint: "main",
},
});
}))
return async (_input0) => {
const commandEncoder = device.createCommandEncoder();
await gpuWriteBuffer0.mapAsync(GPUMapMode.WRITE);
new Float32Array(gpuWriteBuffer0.getMappedRange()).set(_input0);
gpuWriteBuffer0.unmap();
commandEncoder.copyBufferToBuffer(gpuWriteBuffer0, 0, input0, 0, gpuWriteBuffer0.size);
addComputePass(device, commandEncoder, pipelines[0], layouts[0], infinityBuf, [buf_0, input0, buf_1], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[1], layouts[1], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[2], layouts[2], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[3], layouts[3], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[4], layouts[4], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[5], layouts[5], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[6], layouts[6], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[7], layouts[7], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_7], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[8], layouts[8], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[9], layouts[9], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[10], layouts[10], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[11], layouts[11], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[12], layouts[12], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[13], layouts[13], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[14], layouts[14], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_8], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[15], layouts[15], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[16], layouts[16], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[17], layouts[17], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[18], layouts[18], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[19], layouts[19], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[20], layouts[20], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[21], layouts[21], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_9], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[22], layouts[22], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[23], layouts[23], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[24], layouts[24], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[25], layouts[25], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[26], layouts[26], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[27], layouts[27], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[28], layouts[28], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_10], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[29], layouts[29], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[30], layouts[30], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[31], layouts[31], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[32], layouts[32], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[33], layouts[33], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[34], layouts[34], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[35], layouts[35], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_11], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[36], layouts[36], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[37], layouts[37], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[38], layouts[38], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[39], layouts[39], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[40], layouts[40], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[41], layouts[41], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[42], layouts[42], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_12], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[43], layouts[43], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[44], layouts[44], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[45], layouts[45], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[46], layouts[46], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[47], layouts[47], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[48], layouts[48], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[49], layouts[49], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_13], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[50], layouts[50], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[51], layouts[51], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[52], layouts[52], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[53], layouts[53], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[54], layouts[54], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[55], layouts[55], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[56], layouts[56], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_14], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[57], layouts[57], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[58], layouts[58], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[59], layouts[59], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[60], layouts[60], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[61], layouts[61], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[62], layouts[62], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[63], layouts[63], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_15], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[64], layouts[64], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[65], layouts[65], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[66], layouts[66], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[67], layouts[67], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[68], layouts[68], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[69], layouts[69], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[70], layouts[70], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_16], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[71], layouts[71], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[72], layouts[72], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[73], layouts[73], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[74], layouts[74], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[75], layouts[75], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[76], layouts[76], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[77], layouts[77], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_17], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[78], layouts[78], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[79], layouts[79], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[80], layouts[80], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[81], layouts[81], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[82], layouts[82], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[83], layouts[83], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[84], layouts[84], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_18], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[85], layouts[85], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[86], layouts[86], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[87], layouts[87], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[88], layouts[88], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[89], layouts[89], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[90], layouts[90], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[91], layouts[91], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_19], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[92], layouts[92], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[93], layouts[93], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[94], layouts[94], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[95], layouts[95], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[96], layouts[96], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[97], layouts[97], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[98], layouts[98], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_20], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[99], layouts[99], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[100], layouts[100], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[101], layouts[101], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[102], layouts[102], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[103], layouts[103], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[104], layouts[104], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[105], layouts[105], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_21], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[106], layouts[106], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[107], layouts[107], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[108], layouts[108], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[109], layouts[109], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[110], layouts[110], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[111], layouts[111], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[112], layouts[112], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_22], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[113], layouts[113], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[114], layouts[114], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[115], layouts[115], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[116], layouts[116], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[117], layouts[117], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[118], layouts[118], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[119], layouts[119], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_23], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[120], layouts[120], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[121], layouts[121], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[122], layouts[122], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[123], layouts[123], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[124], layouts[124], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[125], layouts[125], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[126], layouts[126], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_24], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[127], layouts[127], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[128], layouts[128], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[129], layouts[129], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[130], layouts[130], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[131], layouts[131], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[132], layouts[132], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[133], layouts[133], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_25], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[134], layouts[134], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[135], layouts[135], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[136], layouts[136], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[137], layouts[137], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[138], layouts[138], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[139], layouts[139], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[140], layouts[140], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_26], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[141], layouts[141], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[142], layouts[142], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[143], layouts[143], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[144], layouts[144], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[145], layouts[145], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[146], layouts[146], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[147], layouts[147], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_27], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[148], layouts[148], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[149], layouts[149], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[150], layouts[150], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[151], layouts[151], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[152], layouts[152], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[153], layouts[153], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[154], layouts[154], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_28], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[155], layouts[155], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[156], layouts[156], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[157], layouts[157], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[158], layouts[158], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[159], layouts[159], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[160], layouts[160], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[161], layouts[161], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_29], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[162], layouts[162], infinityBuf, [buf_2, buf_6], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[163], layouts[163], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[164], layouts[164], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[165], layouts[165], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[166], layouts[166], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[167], layouts[167], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[168], layouts[168], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_30], [128, 256, 5]);
addComputePass(device, commandEncoder, pipelines[169], layouts[169], infinityBuf, [buf_2, buf_0], [10240, 1, 1]);
addComputePass(device, commandEncoder, pipelines[170], layouts[170], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[171], layouts[171], infinityBuf, [buf_4, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[172], layouts[172], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]);
addComputePass(device, commandEncoder, pipelines[173], layouts[173], infinityBuf, [buf_3, buf_2], [40, 1, 1]);
addComputePass(device, commandEncoder, pipelines[174], layouts[174], infinityBuf, [buf_5, buf_3], [15, 1, 1]);
addComputePass(device, commandEncoder, pipelines[175], layouts[175], infinityBuf, [buf_31, buf_0, buf_4, buf_5, buf_32], [32768, 8, 1]);
addComputePass(device, commandEncoder, pipelines[176], layouts[176], infinityBuf, [buf_33, buf_31], [32768, 4, 1]);
addComputePass(device, commandEncoder, pipelines[177], layouts[177], infinityBuf, [output0, buf_31, buf_33], [32768, 4, 1]);
commandEncoder.copyBufferToBuffer(output0, 0, gpuReadBuffer0, 0, output0.size);
const gpuCommands = commandEncoder.finish();
device.queue.submit([gpuCommands]);
await gpuReadBuffer0.mapAsync(GPUMapMode.READ);
const resultBuffer0 = new Int32Array(gpuReadBuffer0.size/4);
resultBuffer0.set(new Int32Array(gpuReadBuffer0.getMappedRange()));
gpuReadBuffer0.unmap();
return [resultBuffer0];
}
}
const load = async (device, weight_path) => { return await fetch(weight_path).then(x => x.arrayBuffer()).then(x => setupNet(device, new Uint8Array(x))); }
return { load, setupNet };
})();
export default mindgrab;