UNPKG

@ludicon/spark.js

Version:

Real-Time GPU Texture Codecs for the Web

5 lines (4 loc) 32.3 kB
const spark_bc3_rgba = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_2912:vec3u;var<private>x_2918:vec3u;@binding(2) @group(0) var<storage,read_write>x_3008:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=array<f32,8u>(0.0f,0.140625f,0.28125f,0.421875f,0.578125f,0.71875f,0.859375f,1.0f);const _8=vec3h(1.0h);const _9=vec3h(0.85986328125h,1.7099609375h,0.429931640625h);const _a=vec2h(0.0h,8.0h);const _b=vec2h(8.0h,0.0h);const _c=vec2h(8.0h);const _d=vec2h(8.0h,16.0h);const _e=vec2h(16.0h);const _f=vec2h(16.0h,24.0h);const _g=vec2h(24.0h);const _h=vec2h(24.0h,32.0h);const _i=vec2h(32.0h,24.0h);const _j=vec2h(32.0h);const _k=vec2h(32.0h,40.0h);const _l=vec2h(40.0h,32.0h);const _m=vec2h(40.0h);const _n=vec2h(40.0h,48.0h);const _o=vec2h(48.0h);const _p=vec2h(48.0h,56.0h);const _q=vec2h(56.0h);const _r=vec2h(56.0h,64.0h);const _s=vec2h(64.0h,56.0h);const _t=vec2h(64.0h);const _u=vec2h(64.0h,72.0h);const _v=vec2h(72.0h,64.0h);const _w=vec2h(72.0h);const _x=vec2h(72.0h,80.0h);const _y=vec2h(80.0h);const _z=vec2h(80.0h,88.0h);const _10=vec2h(88.0h);const _11=vec2h(88.0h,96.0h);const _12=vec2h(96.0h,88.0h);const _13=vec2h(96.0h);const _14=vec2h(96.0h,104.0h);const _15=vec2h(104.0h,96.0h);const _16=vec2h(104.0h);const _17=vec2h(104.0h,112.0h);const _18=vec2h(112.0h);const _19=vec2h(112.0h,120.0h);const _1a=vec2h(120.0h);const _1b=vec2h(120.0h,128.0h);const _1c=vec2h(128.0h,120.0h);const _1d=vec2h(128.0h);const _1e=vec2h(128.0h,136.0h);const _1f=vec2h(136.0h,128.0h);const _1g=vec2h(136.0h);const _1h=vec2h(136.0h,144.0h);const _1i=vec2h(144.0h);const _1j=vec2h(144.0h,152.0h);const _1k=vec2h(152.0h);const _1l=vec2h(152.0h,160.0h);const _1m=vec2h(160.0h,152.0h);const _1n=vec2h(160.0h);const _1o=vec2h(160.0h,168.0h);const _1p=vec2h(168.0h,160.0h);const _1q=vec2h(168.0h);const _1r=vec2h(168.0h,176.0h);const _1s=vec2h(176.0h);const _1t=vec2h(176.0h,184.0h);const _1u=vec2h(184.0h);const _1v=vec2h(184.0h,192.0h);const _1w=vec2h(192.0h,184.0h);const _1x=vec2h(192.0h);const _1y=vec2h(192.0h,200.0h);const _1z=vec2h(200.0h,192.0h);const _20=vec2h(200.0h);const _21=vec2h(200.0h,208.0h);const _22=vec2h(208.0h);const _23=vec2h(208.0h,216.0h);const _24=vec2h(216.0h);const _25=vec2h(216.0h,224.0h);const _26=vec2h(224.0h,216.0h);const _27=vec2h(224.0h);const _28=vec2h(224.0h,232.0h);const _29=vec2h(232.0h,224.0h);const _2a=vec2h(232.0h);const _2b=vec2h(232.0h,240.0h);const _2c=vec2h(240.0h,232.0h);const _2d=vec2h(240.0h);const _2e=vec2h(240.0h,248.0h);const _2f=vec2h(248.0h,240.0h);const _2g=vec2h(248.0h);const _2h=array<vec2h,256u>(vec2h(),vec2h(),_a,_a,_a,_b,_b,_c,_c,_c,_d,_d,_d,vec2h(16.0h,8.0h),vec2h(0.0h,40.0h),_e,_e,_e,_f,_f,_f,vec2h(24.0h,16.0h),vec2h(16.0h,32.0h),_g,_g,vec2h(32.0h,8.0h),_h,_h,_h,_i,_i,_i,vec2h(24.0h,48.0h),_j,_j,vec2h(40.0h,24.0h),_k,_k,_l,_l,_m,_m,_m,vec2h(56.0h,16.0h),_n,_n,vec2h(48.0h,40.0h),vec2h(32.0h,72.0h),_o,_o,_o,_p,_p,_p,vec2h(56.0h,48.0h),vec2h(48.0h,64.0h),_q,_q,vec2h(64.0h,40.0h),_r,_r,_r,_s,_s,_s,vec2h(56.0h,80.0h),_t,_t,vec2h(72.0h,56.0h),_u,_u,_v,_v,_w,_w,_w,vec2h(88.0h,48.0h),_x,_x,vec2h(80.0h,72.0h),vec2h(64.0h,104.0h),_y,_y,_y,_z,_z,_z,vec2h(88.0h,80.0h),vec2h(80.0h,96.0h),_10,_10,vec2h(96.0h,72.0h),_11,_11,_11,_12,_12,_12,vec2h(88.0h,112.0h),_13,_13,vec2h(104.0h,88.0h),_14,_14,_15,_15,_16,_16,_16,vec2h(120.0h,80.0h),_17,_17,vec2h(112.0h,104.0h),vec2h(96.0h,136.0h),_18,_18,_18,_19,_19,_19,vec2h(120.0h,112.0h),vec2h(112.0h,128.0h),_1a,_1a,vec2h(128.0h,104.0h),_1b,_1b,_1b,_1c,_1c,_1c,vec2h(120.0h,144.0h),_1d,_1d,vec2h(136.0h,120.0h),_1e,_1e,_1f,_1f,_1g,_1g,_1g,vec2h(152.0h,112.0h),_1h,_1h,vec2h(144.0h,136.0h),vec2h(128.0h,168.0h),_1i,_1i,_1i,_1j,_1j,_1j,vec2h(152.0h,144.0h),vec2h(144.0h,160.0h),_1k,_1k,vec2h(160.0h,136.0h),_1l,_1l,_1l,_1m,_1m,_1m,vec2h(152.0h,176.0h),_1n,_1n,vec2h(168.0h,152.0h),_1o,_1o,_1p,_1p,_1q,_1q,_1q,vec2h(184.0h,144.0h),_1r,_1r,vec2h(176.0h,168.0h),vec2h(160.0h,200.0h),_1s,_1s,_1s,_1t,_1t,_1t,vec2h(184.0h,176.0h),vec2h(176.0h,192.0h),_1u,_1u,vec2h(192.0h,168.0h),_1v,_1v,_1v,_1w,_1w,_1w,vec2h(184.0h,208.0h),_1x,_1x,vec2h(200.0h,184.0h),_1y,_1y,_1z,_1z,_20,_20,_20,vec2h(216.0h,176.0h),_21,_21,vec2h(208.0h,200.0h),vec2h(192.0h,232.0h),_22,_22,_22,_23,_23,_23,vec2h(216.0h,208.0h),vec2h(208.0h,224.0h),_24,_24,vec2h(224.0h,200.0h),_25,_25,_25,_26,_26,_26,vec2h(216.0h,240.0h),_27,_27,vec2h(232.0h,216.0h),_28,_28,_29,_29,_2a,_2a,_2a,vec2h(248.0h,208.0h),_2b,_2b,_2c,_2c,_2d,_2d,_2d,_2e,_2e,_2e,_2f,_2f,_2g,_2g);const _2i=vec2h(4.0h);const _2j=vec2h(12.0h);const _2k=vec2h(20.0h);const _2l=vec2h(28.0h);const _2m=vec2h(36.0h);const _2n=vec2h(84.0h);const _2o=vec2h(92.0h);const _2p=vec2h(100.0h);const _2q=vec2h(148.0h);const _2r=vec2h(156.0h);const _2s=vec2h(164.0h);const _2t=vec2h(212.0h);const _2u=vec2h(220.0h);const _2v=vec2h(228.0h);const _2w=vec2h(236.0h);const _2x=vec2h(244.0h);const _2y=vec2h(252.0h);const _2z=array<vec2h,256u>(vec2h(),vec2h(0.0h,4.0h),vec2h(4.0h,0.0h),_2i,_2i,vec2h(4.0h,8.0h),vec2h(8.0h,4.0h),_c,_c,vec2h(8.0h,12.0h),vec2h(12.0h,8.0h),_2j,_2j,vec2h(12.0h,16.0h),vec2h(16.0h,12.0h),_e,_e,vec2h(16.0h,20.0h),vec2h(20.0h,16.0h),_2k,_2k,vec2h(20.0h,24.0h),vec2h(24.0h,20.0h),_g,_g,vec2h(24.0h,28.0h),vec2h(28.0h,24.0h),_2l,_2l,vec2h(28.0h,32.0h),vec2h(32.0h,28.0h),_j,_j,vec2h(32.0h,36.0h),vec2h(36.0h,32.0h),_2m,_2m,vec2h(36.0h,40.0h),vec2h(40.0h,36.0h),_m,_m,vec2h(40.0h,44.0h),vec2h(44.0h,40.0h),vec2h(32.0h,64.0h),vec2h(44.0h),vec2h(44.0h,48.0h),vec2h(48.0h,44.0h),vec2h(36.0h,68.0h),_o,vec2h(48.0h,52.0h),vec2h(52.0h,48.0h),vec2h(44.0h,64.0h),vec2h(52.0h),vec2h(52.0h,56.0h),vec2h(56.0h,52.0h),vec2h(48.0h,68.0h),_q,vec2h(56.0h,60.0h),vec2h(60.0h,56.0h),_r,vec2h(60.0h),vec2h(60.0h,64.0h),_s,vec2h(64.0h,60.0h),vec2h(68.0h,56.0h),_t,vec2h(64.0h,68.0h),vec2h(68.0h,64.0h),vec2h(72.0h,60.0h),vec2h(68.0h),vec2h(68.0h,72.0h),vec2h(72.0h,68.0h),vec2h(80.0h,56.0h),_w,vec2h(72.0h,76.0h),vec2h(76.0h,72.0h),vec2h(84.0h,60.0h),vec2h(76.0h),vec2h(76.0h,80.0h),vec2h(80.0h,76.0h),_y,_y,vec2h(80.0h,84.0h),vec2h(84.0h,80.0h),_2n,_2n,vec2h(84.0h,88.0h),vec2h(88.0h,84.0h),_10,_10,vec2h(88.0h,92.0h),vec2h(92.0h,88.0h),_2o,_2o,vec2h(92.0h,96.0h),vec2h(96.0h,92.0h),_13,_13,vec2h(96.0h,100.0h),vec2h(100.0h,96.0h),_2p,_2p,vec2h(100.0h,104.0h),vec2h(104.0h,100.0h),_16,_16,vec2h(104.0h,108.0h),vec2h(108.0h,104.0h),vec2h(96.0h,128.0h),vec2h(108.0h),vec2h(108.0h,112.0h),vec2h(112.0h,108.0h),vec2h(100.0h,132.0h),_18,vec2h(112.0h,116.0h),vec2h(116.0h,112.0h),vec2h(108.0h,128.0h),vec2h(116.0h),vec2h(116.0h,120.0h),vec2h(120.0h,116.0h),vec2h(112.0h,132.0h),_1a,vec2h(120.0h,124.0h),vec2h(124.0h,120.0h),_1b,vec2h(124.0h),vec2h(124.0h,128.0h),_1c,vec2h(128.0h,124.0h),vec2h(132.0h,120.0h),_1d,vec2h(128.0h,132.0h),vec2h(132.0h,128.0h),vec2h(136.0h,124.0h),vec2h(132.0h),vec2h(132.0h,136.0h),vec2h(136.0h,132.0h),vec2h(144.0h,120.0h),_1g,vec2h(136.0h,140.0h),vec2h(140.0h,136.0h),vec2h(148.0h,124.0h),vec2h(140.0h),vec2h(140.0h,144.0h),vec2h(144.0h,140.0h),_1i,_1i,vec2h(144.0h,148.0h),vec2h(148.0h,144.0h),_2q,_2q,vec2h(148.0h,152.0h),vec2h(152.0h,148.0h),_1k,_1k,vec2h(152.0h,156.0h),vec2h(156.0h,152.0h),_2r,_2r,vec2h(156.0h,160.0h),vec2h(160.0h,156.0h),_1n,_1n,vec2h(160.0h,164.0h),vec2h(164.0h,160.0h),_2s,_2s,vec2h(164.0h,168.0h),vec2h(168.0h,164.0h),_1q,_1q,vec2h(168.0h,172.0h),vec2h(172.0h,168.0h),vec2h(160.0h,192.0h),vec2h(172.0h),vec2h(172.0h,176.0h),vec2h(176.0h,172.0h),vec2h(164.0h,196.0h),_1s,vec2h(176.0h,180.0h),vec2h(180.0h,176.0h),vec2h(172.0h,192.0h),vec2h(180.0h),vec2h(180.0h,184.0h),vec2h(184.0h,180.0h),vec2h(176.0h,196.0h),_1u,vec2h(184.0h,188.0h),vec2h(188.0h,184.0h),_1v,vec2h(188.0h),vec2h(188.0h,192.0h),_1w,vec2h(192.0h,188.0h),vec2h(196.0h,184.0h),_1x,vec2h(192.0h,196.0h),vec2h(196.0h,192.0h),vec2h(200.0h,188.0h),vec2h(196.0h),vec2h(196.0h,200.0h),vec2h(200.0h,196.0h),vec2h(208.0h,184.0h),_20,vec2h(200.0h,204.0h),vec2h(204.0h,200.0h),vec2h(212.0h,188.0h),vec2h(204.0h),vec2h(204.0h,208.0h),vec2h(208.0h,204.0h),_22,_22,vec2h(208.0h,212.0h),vec2h(212.0h,208.0h),_2t,_2t,vec2h(212.0h,216.0h),vec2h(216.0h,212.0h),_24,_24,vec2h(216.0h,220.0h),vec2h(220.0h,216.0h),_2u,_2u,vec2h(220.0h,224.0h),vec2h(224.0h,220.0h),_27,_27,vec2h(224.0h,228.0h),vec2h(228.0h,224.0h),_2v,_2v,vec2h(228.0h,232.0h),vec2h(232.0h,228.0h),_2a,_2a,vec2h(232.0h,236.0h),vec2h(236.0h,232.0h),_2w,_2w,vec2h(236.0h,240.0h),vec2h(240.0h,236.0h),_2d,_2d,vec2h(240.0h,244.0h),vec2h(244.0h,240.0h),_2x,_2x,vec2h(244.0h,248.0h),vec2h(248.0h,244.0h),_2g,_2g,vec2h(248.0h,252.0h),vec2h(252.0h,248.0h),_2y,_2y);fn _30(){var _31:array<vec2h,256u>;var _32:array<vec2h,256u>;var _33:array<vec2h,256u>;var _34:array<vec2h,256u>;var _35:array<vec2h,256u>;var _36:array<vec2h,256u>;var _37:array<f32,8u>;var _38:array<f32,8u>;var _39:bool;var _3a:bool;var _3b:f16;var _3c:f16;var _3d:f16;var _3e:f16;var _3f:f16;var _3g:f16;var _3h:vec2u;var _3i:vec2u;var _3j:f16;var _3k:f16;var _3l:bool;var _3m:f16;var _3n:f16;var _3o:bool;var _3p:vec2u;var _3q:vec2u;var _3r:f16;var _3s:f16;var _3t:f16;var _3u:f16;var _3v:vec3h;var _3w:vec3h;var _3x:vec3h;var _3y:vec3h;var _3z:bool;var _40:u32;var _41:u32;var _42:vec3h;var _43:vec3h;var _44:vec3h;var _45:vec3h;var _46:u32;var _47:u32;switch(0u){default:{let _48=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _49=((_48.x+3u)/4u);let _4a=x_2912;let _4b=x_2912.xy;let _4c=x_2912.x;let _4d=(_4c>=_49);_3a=_4d;if(!(_4d)){_39=(_4a.y>=((_48.y+3u)/4u));_3a=_39;}if(_3a){break;}let _4e=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _4f=((vec2f(bitcast<vec2i>((_4b*vec2u(4u))))*_4e)+_4e);let _4g=vec4h(textureGather(0i,_3,_2,_4f,vec2i()));let _4h=vec4h(textureGather(0i,_3,_2,_4f,_4));let _4i=vec4h(textureGather(0i,_3,_2,_4f,_5));let _4j=vec4h(textureGather(0i,_3,_2,_4f,_6));let _4k=vec4h(textureGather(1i,_3,_2,_4f,vec2i()));let _4l=vec4h(textureGather(1i,_3,_2,_4f,_4));let _4m=vec4h(textureGather(1i,_3,_2,_4f,_5));let _4n=vec4h(textureGather(1i,_3,_2,_4f,_6));let _4o=vec4h(textureGather(2i,_3,_2,_4f,vec2i()));let _4p=vec4h(textureGather(2i,_3,_2,_4f,_4));let _4q=vec4h(textureGather(2i,_3,_2,_4f,_5));let _4r=vec4h(textureGather(2i,_3,_2,_4f,_6));let _4s=vec4h(textureGather(3i,_3,_2,_4f,vec2i()));let _4t=vec4h(textureGather(3i,_3,_2,_4f,_4));let _4u=vec4h(textureGather(3i,_3,_2,_4f,_5));let _4v=vec4h(textureGather(3i,_3,_2,_4f,_6));let _4w=_4s.w;let _4x=_4s.z;let _4y=_4t.w;let _4z=_4t.z;let _50=_4s.x;let _51=_4s.y;let _52=_4t.x;let _53=_4t.y;let _54=_4u.w;let _55=_4u.z;let _56=_4v.w;let _57=_4v.z;let _58=_4u.x;let _59=_4u.y;let _5a=_4v.x;let _5b=_4v.y;let _5c=vec4h(_4g.w,_4k.w,_4o.w,_4w).xyz;let _5d=vec4h(_4g.z,_4k.z,_4o.z,_4x).xyz;let _5e=vec4h(_4h.w,_4l.w,_4p.w,_4y).xyz;let _5f=vec4h(_4h.z,_4l.z,_4p.z,_4z).xyz;let _5g=vec4h(_4g.x,_4k.x,_4o.x,_50).xyz;let _5h=vec4h(_4g.y,_4k.y,_4o.y,_51).xyz;let _5i=vec4h(_4h.x,_4l.x,_4p.x,_52).xyz;let _5j=vec4h(_4h.y,_4l.y,_4p.y,_53).xyz;let _5k=vec4h(_4i.w,_4m.w,_4q.w,_54).xyz;let _5l=vec4h(_4i.z,_4m.z,_4q.z,_55).xyz;let _5m=vec4h(_4j.w,_4n.w,_4r.w,_56).xyz;let _5n=vec4h(_4j.z,_4n.z,_4r.z,_57).xyz;let _5o=vec4h(_4i.x,_4m.x,_4q.x,_58).xyz;let _5p=vec4h(_4i.y,_4m.y,_4q.y,_59).xyz;let _5q=vec4h(_4j.x,_4n.x,_4r.x,_5a).xyz;let _5r=vec4h(_4j.y,_4n.y,_4r.y,_5b).xyz;let _5s=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(1.0h,_4w),_4x),_4y),_4z),_50),_51),_52),_53),_54),_55),_56),_57),_58),_59),_5a),_5b);let _5t=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(0.0h,_4w),_4x),_4y),_4z),_50),_51),_52),_53),_54),_55),_56),_57),_58),_59),_5a),_5b);let _5u=(_5t-_5s);let _5v=(_5u*0.03125h);_3c=_5v;if((_5u<0.0625h)){_3b=max(0.0h,((2.0h*_5v)-0.0625h));_3c=_3b;}_3e=_5s;if((_5s>0.0h)){_3d=(_5s+_3c);_3e=_3d;}_3g=_5t;if((_3e<1.0h)){_3f=(_5t-_3c);_3g=_3f;}let _5w=trunc(((_3g*255.0h)+0.5h));let _5x=trunc(((_3e*255.0h)+0.5h));switch(0u){default:{if((_5w==_5x)){_3i=vec2u();break;}let _5y=(1.0h/(_5x-_5w));let _5z=(_5w*-(_5y));let _60=(_5y*255.0h);let _61=(0u|(u32(((clamp(((_54*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_3h=vec2u(((((((((0u|(u32(((clamp(((_4w*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_4x*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_4y*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_4z*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_50*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_51*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_52*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_53*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_61);_3h.y=(((((((_61|(u32(((clamp(((_55*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_56*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_57*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_58*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_59*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_5a*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_5b*_60)+_5z),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_3i=_3h;}}switch(0u){default:{let _62=_3i.x;_37=_7;let _63=_37[((_62>>bitcast<u32>(0i))&7u)];let _64=(1.0f-_63);let _65=f32(_4w);_37=_7;let _66=_37[((_62>>bitcast<u32>(3i))&7u)];let _67=(1.0f-_66);let _68=f32(_4x);_37=_7;let _69=_37[((_62>>bitcast<u32>(6i))&7u)];let _6a=(1.0f-_69);let _6b=f32(_4y);_37=_7;let _6c=_37[((_62>>bitcast<u32>(9i))&7u)];let _6d=(1.0f-_6c);let _6e=f32(_4z);_37=_7;let _6f=_37[((_62>>bitcast<u32>(12i))&7u)];let _6g=(1.0f-_6f);let _6h=f32(_50);_37=_7;let _6i=_37[((_62>>bitcast<u32>(15i))&7u)];let _6j=(1.0f-_6i);let _6k=f32(_51);_37=_7;let _6l=_37[((_62>>bitcast<u32>(18i))&7u)];let _6m=(1.0f-_6l);let _6n=f32(_52);_37=_7;let _6o=_37[((_62>>bitcast<u32>(21i))&7u)];let _6p=(1.0f-_6o);let _6q=f32(_53);let _6r=_3i.y;_38=_7;let _6s=_38[((_6r>>bitcast<u32>(0i))&7u)];let _6t=(1.0f-_6s);let _6u=f32(_54);_38=_7;let _6v=_38[((_6r>>bitcast<u32>(3i))&7u)];let _6w=(1.0f-_6v);let _6x=f32(_55);_38=_7;let _6y=_38[((_6r>>bitcast<u32>(6i))&7u)];let _6z=(1.0f-_6y);let _70=f32(_56);_38=_7;let _71=_38[((_6r>>bitcast<u32>(9i))&7u)];let _72=(1.0f-_71);let _73=f32(_57);_38=_7;let _74=_38[((_6r>>bitcast<u32>(12i))&7u)];let _75=(1.0f-_74);let _76=f32(_58);_38=_7;let _77=_38[((_6r>>bitcast<u32>(15i))&7u)];let _78=(1.0f-_77);let _79=f32(_59);_38=_7;let _7a=_38[((_6r>>bitcast<u32>(18i))&7u)];let _7b=(1.0f-_7a);let _7c=f32(_5a);_38=_7;let _7d=_38[((_6r>>bitcast<u32>(21i))&7u)];let _7e=(1.0f-_7d);let _7f=((((((((((((((((_64*_64)+(_67*_67))+(_6a*_6a))+(_6d*_6d))+(_6g*_6g))+(_6j*_6j))+(_6m*_6m))+(_6p*_6p))+(_6t*_6t))+(_6w*_6w))+(_6z*_6z))+(_72*_72))+(_75*_75))+(_78*_78))+(_7b*_7b))+(_7e*_7e));let _7g=((((((((((((((((_63*_63)+(_66*_66))+(_69*_69))+(_6c*_6c))+(_6f*_6f))+(_6i*_6i))+(_6l*_6l))+(_6o*_6o))+(_6s*_6s))+(_6v*_6v))+(_6y*_6y))+(_71*_71))+(_74*_74))+(_77*_77))+(_7a*_7a))+(_7d*_7d));let _7h=((((((((((((((((_64*_63)+(_67*_66))+(_6a*_69))+(_6d*_6c))+(_6g*_6f))+(_6j*_6i))+(_6m*_6l))+(_6p*_6o))+(_6t*_6s))+(_6w*_6v))+(_6z*_6y))+(_72*_71))+(_75*_74))+(_78*_77))+(_7b*_7a))+(_7e*_7d));let _7i=f32(_5b);let _7j=((((((((((((((((_64*_65)+(_67*_68))+(_6a*_6b))+(_6d*_6e))+(_6g*_6h))+(_6j*_6k))+(_6m*_6n))+(_6p*_6q))+(_6t*_6u))+(_6w*_6x))+(_6z*_70))+(_72*_73))+(_75*_76))+(_78*_79))+(_7b*_7c))+(_7e*_7i));let _7k=((((((((((((((((_63*_65)+(_66*_68))+(_69*_6b))+(_6c*_6e))+(_6f*_6h))+(_6i*_6k))+(_6l*_6n))+(_6o*_6q))+(_6s*_6u))+(_6v*_6x))+(_6y*_70))+(_71*_73))+(_74*_76))+(_77*_79))+(_7a*_7c))+(_7d*_7i));let _7l=((_7f*_7g)-(_7h*_7h));if((abs(_7l)<0.00009999999747378752f)){_3m=_5x;_3n=_5w;_3o=false;break;}let _7m=(1.0f/_7l);_3j=trunc(((f16(clamp((((_7j*_7g)-(_7k*_7h))*_7m),0.0f,1.0f))*255.0h)+0.5h));_3k=trunc(((f16(clamp((((_7k*_7f)-(_7j*_7h))*_7m),0.0f,1.0f))*255.0h)+0.5h));_3l=(!((_3j==_5w))|!((_3k==_5x)));_3m=_3k;_3n=_3j;_3o=_3l;}}var _7n:vec2u;_3q=_3i;if(_3o){switch(0u){default:{if((_3n==_3m)){_3p=vec2u();break;}let _7o=(1.0h/(_3m-_3n));let _7p=(_3n*-(_7o));let _7q=(_7o*255.0h);let _7r=(0u|(u32(((clamp(((_54*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_7n=vec2u(((((((((0u|(u32(((clamp(((_4w*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_4x*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_4y*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_4z*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_50*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_51*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_52*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_53*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_7r);_7n.y=(((((((_7r|(u32(((clamp(((_55*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_56*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_57*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_58*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_59*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_5a*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_5b*_7q)+_7p),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_3p=_7n;}}_3q=_3p;}let _7s=_3q.x;let _7t=(((_7s&7190235u)+2396745u)^(_7s&9586980u));let _7u=(_7t^(((19173960u-(_7t&14380470u))&19173960u)>>bitcast<u32>(3i)));let _7v=_3q.y;let _7w=(((_7v&7190235u)+2396745u)^(_7v&9586980u));let _7x=((u32(_3n)|(u32(_3m)<<bitcast<u32>(8i)))|(_7u<<bitcast<u32>(16i)));let _7y=((_7u>>bitcast<u32>(16i))|((_7w^(((19173960u-(_7w&14380470u))&19173960u)>>bitcast<u32>(3i)))<<bitcast<u32>(8i)));let _7z=(((((((((((((((_5c+_5d)+_5e)+_5f)+_5g)+_5h)+_5i)+_5j)+_5k)+_5l)+_5m)+_5n)+_5o)+_5p)+_5q)+_5r);let _80=((_5c*16.0h)-_7z);let _81=_80.x;let _82=_80.y;let _83=_80.z;let _84=((_5d*16.0h)-_7z);let _85=_84.x;let _86=_84.y;let _87=_84.z;let _88=((_5e*16.0h)-_7z);let _89=_88.x;let _8a=_88.y;let _8b=_88.z;let _8c=((_5f*16.0h)-_7z);let _8d=_8c.x;let _8e=_8c.y;let _8f=_8c.z;let _8g=((_5g*16.0h)-_7z);let _8h=_8g.x;let _8i=_8g.y;let _8j=_8g.z;let _8k=((_5h*16.0h)-_7z);let _8l=_8k.x;let _8m=_8k.y;let _8n=_8k.z;let _8o=((_5i*16.0h)-_7z);let _8p=_8o.x;let _8q=_8o.y;let _8r=_8o.z;let _8s=((_5j*16.0h)-_7z);let _8t=_8s.x;let _8u=_8s.y;let _8v=_8s.z;let _8w=((_5k*16.0h)-_7z);let _8x=_8w.x;let _8y=_8w.y;let _8z=_8w.z;let _90=((_5l*16.0h)-_7z);let _91=_90.x;let _92=_90.y;let _93=_90.z;let _94=((_5m*16.0h)-_7z);let _95=_94.x;let _96=_94.y;let _97=_94.z;let _98=((_5n*16.0h)-_7z);let _99=_98.x;let _9a=_98.y;let _9b=_98.z;let _9c=((_5o*16.0h)-_7z);let _9d=_9c.x;let _9e=_9c.y;let _9f=_9c.z;let _9g=((_5p*16.0h)-_7z);let _9h=_9g.x;let _9i=_9g.y;let _9j=_9g.z;let _9k=((_5q*16.0h)-_7z);let _9l=_9k.x;let _9m=_9k.y;let _9n=_9k.z;let _9o=((_5r*16.0h)-_7z);let _9p=_9o.x;let _9q=((((((((((((((((_81*_81)+(_85*_85))+(_89*_89))+(_8d*_8d))+(_8h*_8h))+(_8l*_8l))+(_8p*_8p))+(_8t*_8t))+(_8x*_8x))+(_91*_91))+(_95*_95))+(_99*_99))+(_9d*_9d))+(_9h*_9h))+(_9l*_9l))+(_9p*_9p));let _9r=_9o.y;let _9s=_9o.z;let _9t=((((((((((((((((_82*_82)+(_86*_86))+(_8a*_8a))+(_8e*_8e))+(_8i*_8i))+(_8m*_8m))+(_8q*_8q))+(_8u*_8u))+(_8y*_8y))+(_92*_92))+(_96*_96))+(_9a*_9a))+(_9e*_9e))+(_9i*_9i))+(_9m*_9m))+(_9r*_9r));let _9u=((((((((((((((((_83*_83)+(_87*_87))+(_8b*_8b))+(_8f*_8f))+(_8j*_8j))+(_8n*_8n))+(_8r*_8r))+(_8v*_8v))+(_8z*_8z))+(_93*_93))+(_97*_97))+(_9b*_9b))+(_9f*_9f))+(_9j*_9j))+(_9n*_9n))+(_9s*_9s));let _9v=select(1.0h,0.015625h,(max(max(_9q,_9t),_9u)>64.0h));let _9w=(_9q*_9v);let _9x=(((((((((((((((((_81*_82)+(_85*_86))+(_89*_8a))+(_8d*_8e))+(_8h*_8i))+(_8l*_8m))+(_8p*_8q))+(_8t*_8u))+(_8x*_8y))+(_91*_92))+(_95*_96))+(_99*_9a))+(_9d*_9e))+(_9h*_9i))+(_9l*_9m))+(_9p*_9r))*_9v);let _9y=(((((((((((((((((_81*_83)+(_85*_87))+(_89*_8b))+(_8d*_8f))+(_8h*_8j))+(_8l*_8n))+(_8p*_8r))+(_8t*_8v))+(_8x*_8z))+(_91*_93))+(_95*_97))+(_99*_9b))+(_9d*_9f))+(_9h*_9j))+(_9l*_9n))+(_9p*_9s))*_9v);let _9z=(_9t*_9v);let _a0=(((((((((((((((((_82*_83)+(_86*_87))+(_8a*_8b))+(_8e*_8f))+(_8i*_8j))+(_8m*_8n))+(_8q*_8r))+(_8u*_8v))+(_8y*_8z))+(_92*_93))+(_96*_97))+(_9a*_9b))+(_9e*_9f))+(_9i*_9j))+(_9m*_9n))+(_9r*_9s))*_9v);let _a1=(_9u*_9v);let _a2=(vec3h(_9w,_9z,_a1)+vec3h(0.0001220703125h));let _a3=vec3h((vec3f(_a2)*(1.0f/f32(max(max(_a2.x,_a2.y),_a2.z)))));let _a4=_a3.x;_3s=_a4;if((_9x<0.0h)){_3r=-(_a4);_3s=_3r;}let _a5=_a3.z;_3u=_a5;if((_a0<0.0h)){_3t=-(_a5);_3u=_3t;}let _a6=_a3.y;let _a7=(((_3s*_9w)+(_a6*_9x))+(_3u*_9y));let _a8=(((_3s*_9x)+(_a6*_9z))+(_3u*_a0));let _a9=(((_3s*_9y)+(_a6*_a0))+(_3u*_a1));let _aa=max(max(abs(_a7),abs(_a8)),abs(_a9));let _ab=vec3h((vec3f(f32(_a7),f32(_a8),f32(_a9))*(1.0f/f32(select(_aa,1.0h,(_aa==0.0h))))));let _ac=_ab.x;let _ad=_ab.y;let _ae=_ab.z;let _af=(((_ac*_9w)+(_ad*_9x))+(_ae*_9y));let _ag=(((_ac*_9x)+(_ad*_9z))+(_ae*_a0));let _ah=(((_ac*_9y)+(_ad*_a0))+(_ae*_a1));let _ai=max(max(abs(_af),abs(_ag)),abs(_ah));let _aj=(_ai==0.0h);let _ak=select(vec3h((vec3f(f32(_af),f32(_ag),f32(_ah))*(1.0f/f32(select(_ai,1.0h,_aj))))),_8,vec3<bool>(_aj));let _al=(_7z*0.0625h);let _am=(_ak*_9);let _an=(1.0h/dot(_am,_am));let _ao=((_am*_an)*_9);let _ap=dot(_5c,_ao);let _aq=dot(_5d,_ao);let _ar=(_aq<_ap);let _as=select(1u,0u,_ar);let _at=select(_ap,_aq,_ar);let _au=(_aq>_ap);let _av=select(1u,0u,_au);let _aw=select(_ap,_aq,_au);let _ax=dot(_5e,_ao);let _ay=(_ax<_at);let _az=select(select(_as,(_as+1u),(_aq==_at)),0u,_ay);let _b0=select(_at,_ax,_ay);let _b1=(_ax>_aw);let _b2=select(select(_av,(_av+1u),(_aq==_aw)),0u,_b1);let _b3=select(_aw,_ax,_b1);let _b4=dot(_5f,_ao);let _b5=(_b4<_b0);let _b6=select(select(_az,(_az+1u),(_ax==_b0)),0u,_b5);let _b7=select(_b0,_b4,_b5);let _b8=(_b4>_b3);let _b9=select(select(_b2,(_b2+1u),(_ax==_b3)),0u,_b8);let _ba=select(_b3,_b4,_b8);let _bb=dot(_5g,_ao);let _bc=(_bb<_b7);let _bd=select(select(_b6,(_b6+1u),(_b4==_b7)),0u,_bc);let _be=select(_b7,_bb,_bc);let _bf=(_bb>_ba);let _bg=select(select(_b9,(_b9+1u),(_b4==_ba)),0u,_bf);let _bh=select(_ba,_bb,_bf);let _bi=dot(_5h,_ao);let _bj=(_bi<_be);let _bk=select(select(_bd,(_bd+1u),(_bb==_be)),0u,_bj);let _bl=select(_be,_bi,_bj);let _bm=(_bi>_bh);let _bn=select(select(_bg,(_bg+1u),(_bb==_bh)),0u,_bm);let _bo=select(_bh,_bi,_bm);let _bp=dot(_5i,_ao);let _bq=(_bp<_bl);let _br=select(select(_bk,(_bk+1u),(_bi==_bl)),0u,_bq);let _bs=select(_bl,_bp,_bq);let _bt=(_bp>_bo);let _bu=select(select(_bn,(_bn+1u),(_bi==_bo)),0u,_bt);let _bv=select(_bo,_bp,_bt);let _bw=dot(_5j,_ao);let _bx=(_bw<_bs);let _by=select(select(_br,(_br+1u),(_bp==_bs)),0u,_bx);let _bz=select(_bs,_bw,_bx);let _c0=(_bw>_bv);let _c1=select(select(_bu,(_bu+1u),(_bp==_bv)),0u,_c0);let _c2=select(_bv,_bw,_c0);let _c3=dot(_5k,_ao);let _c4=(_c3<_bz);let _c5=select(select(_by,(_by+1u),(_bw==_bz)),0u,_c4);let _c6=select(_bz,_c3,_c4);let _c7=(_c3>_c2);let _c8=select(select(_c1,(_c1+1u),(_bw==_c2)),0u,_c7);let _c9=select(_c2,_c3,_c7);let _ca=dot(_5l,_ao);let _cb=(_ca<_c6);let _cc=select(select(_c5,(_c5+1u),(_c3==_c6)),0u,_cb);let _cd=select(_c6,_ca,_cb);let _ce=(_ca>_c9);let _cf=select(select(_c8,(_c8+1u),(_c3==_c9)),0u,_ce);let _cg=select(_c9,_ca,_ce);let _ch=dot(_5m,_ao);let _ci=(_ch<_cd);let _cj=select(select(_cc,(_cc+1u),(_ca==_cd)),0u,_ci);let _ck=select(_cd,_ch,_ci);let _cl=(_ch>_cg);let _cm=select(select(_cf,(_cf+1u),(_ca==_cg)),0u,_cl);let _cn=select(_cg,_ch,_cl);let _co=dot(_5n,_ao);let _cp=(_co<_ck);let _cq=select(select(_cj,(_cj+1u),(_ch==_ck)),0u,_cp);let _cr=select(_ck,_co,_cp);let _cs=(_co>_cn);let _ct=select(select(_cm,(_cm+1u),(_ch==_cn)),0u,_cs);let _cu=select(_cn,_co,_cs);let _cv=dot(_5o,_ao);let _cw=(_cv<_cr);let _cx=select(select(_cq,(_cq+1u),(_co==_cr)),0u,_cw);let _cy=select(_cr,_cv,_cw);let _cz=(_cv>_cu);let _d0=select(select(_ct,(_ct+1u),(_co==_cu)),0u,_cz);let _d1=select(_cu,_cv,_cz);let _d2=dot(_5p,_ao);let _d3=(_d2<_cy);let _d4=select(select(_cx,(_cx+1u),(_cv==_cy)),0u,_d3);let _d5=select(_cy,_d2,_d3);let _d6=(_d2>_d1);let _d7=select(select(_d0,(_d0+1u),(_cv==_d1)),0u,_d6);let _d8=select(_d1,_d2,_d6);let _d9=dot(_5q,_ao);let _da=(_d9<_d5);let _db=select(select(_d4,(_d4+1u),(_d2==_d5)),0u,_da);let _dc=select(_d5,_d9,_da);let _dd=(_d9>_d8);let _de=select(select(_d7,(_d7+1u),(_d2==_d8)),0u,_dd);let _df=select(_d8,_d9,_dd);let _dg=dot(_5r,_ao);let _dh=(_dg<_dc);let _di=select(select(_db,(_db+1u),(_d9==_dc)),0u,_dh);let _dj=select(_dc,_dg,_dh);let _dk=(_dg>_df);let _dl=select(select(_de,(_de+1u),(_d9==_df)),0u,_dk);let _dm=select(_df,_dg,_dk);let _dn=dot(_al,_ao);let _do=(_dj-_dn);let _dp=(_dm-_dn);let _dq=(((_dp-_do)*0.0625h)*(1.0h-clamp((f16(((select(_di,(_di+1u),(_dg==_dj))+select(_dl,(_dl+1u),(_dg==_dm)))-2u))*0.0714111328125h),0.0h,1.0h)));let _dr=(_do+_dq);let _ds=(_dp-_dq);let _dt=max(0.0h,(((((0.6357421875h*0.03125h)*_an)+(0.36376953125h*0.03125h))-(_ds-_dr))*0.5h));let _du=clamp(((_ak*(_dr-_dt))+_al),vec3h(),_8);let _dv=clamp(((_ak*(_ds+_dt))+_al),vec3h(),_8);let _dw=_du.x;let _dx=(trunc((_dw*31.0h))*8.25h);let _dy=trunc(_dx);let _dz=min(255.0h,trunc((_dx+8.25h)));let _e0=_du.y;let _e1=(trunc((_e0*63.0h))*4.0625h);let _e2=min(255.0h,trunc(_e1));let _e3=min(255.0h,trunc((_e1+4.0625h)));let _e4=_du.z;let _e5=(trunc((_e4*31.0h))*8.25h);let _e6=trunc(_e5);let _e7=min(255.0h,trunc((_e5+8.25h)));let _e8=vec3h(select(_dy,_dz,((255.0h*_dw)>(0.5h*(_dy+_dz)))),select(_e2,_e3,((255.0h*_e0)>(0.5h*(_e2+_e3)))),select(_e6,_e7,((255.0h*_e4)>(0.5h*(_e6+_e7)))));let _e9=_dv.x;let _ea=(trunc((_e9*31.0h))*8.25h);let _eb=trunc(_ea);let _ec=min(255.0h,trunc((_ea+8.25h)));let _ed=_dv.y;let _ee=(trunc((_ed*63.0h))*4.0625h);let _ef=min(255.0h,trunc(_ee));let _eg=min(255.0h,trunc((_ee+4.0625h)));let _eh=_dv.z;let _ei=(trunc((_eh*31.0h))*8.25h);let _ej=trunc(_ei);let _ek=min(255.0h,trunc((_ei+8.25h)));let _el=vec3h(select(_eb,_ec,((255.0h*_e9)>(0.5h*(_eb+_ec)))),select(_ef,_eg,((255.0h*_ed)>(0.5h*(_ef+_eg)))),select(_ej,_ek,((255.0h*_eh)>(0.5h*(_ej+_ek)))));let _em=(((_el-_e8)*_9)*0.0039215087890625h);let _en=((_em*(1.0h/dot(_em,_em)))*_9);let _eo=(dot(_e8,_en)*0.0039215087890625h);let _ep=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_5c,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_5d,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_5e,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_5f,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_5g,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_5h,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_5i,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_5j,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_5k,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_5l,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_5m,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_5n,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_5o,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_5p,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_5q,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_5r,_en)-_eo),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));switch(0u){default:{if(((_ep^(_ep<<bitcast<u32>(2i)))<4u)){_3x=_el;_3y=_e8;_3z=false;break;}let _eq=(_ep>>bitcast<u32>(1i));let _er=f16(bitcast<i32>(countOneBits(((1431655765u&~(_eq))&_ep))));let _es=(1431655765u&_eq);let _et=f16(bitcast<i32>(countOneBits((_es&~(_ep)))));let _eu=f16(bitcast<i32>(countOneBits((_es&_ep))));let _ev=(((3.0h*_eu)+(2.0h*_et))+_er);let _ew=(((9.0h*_eu)+(4.0h*_et))+_er);let _ex=((144.0h-(6.0h*_ev))+_ew);let _ey=((3.0h*_ev)-_ew);let _ez=(((((((((((((((((_5c*f16(((_ep>>bitcast<u32>(0i))&3u)))+(_5d*f16(((_ep>>bitcast<u32>(2i))&3u))))+(_5e*f16(((_ep>>bitcast<u32>(4i))&3u))))+(_5f*f16(((_ep>>bitcast<u32>(6i))&3u))))+(_5g*f16(((_ep>>bitcast<u32>(8i))&3u))))+(_5h*f16(((_ep>>bitcast<u32>(10i))&3u))))+(_5i*f16(((_ep>>bitcast<u32>(12i))&3u))))+(_5j*f16(((_ep>>bitcast<u32>(14i))&3u))))+(_5k*f16(((_ep>>bitcast<u32>(16i))&3u))))+(_5l*f16(((_ep>>bitcast<u32>(18i))&3u))))+(_5m*f16(((_ep>>bitcast<u32>(20i))&3u))))+(_5n*f16(((_ep>>bitcast<u32>(22i))&3u))))+(_5o*f16(((_ep>>bitcast<u32>(24i))&3u))))+(_5p*f16(((_ep>>bitcast<u32>(26i))&3u))))+(_5q*f16(((_ep>>bitcast<u32>(28i))&3u))))+(_5r*f16(((_ep>>bitcast<u32>(30i))&3u))))*3.0h);let _f0=((_7z*9.0h)-_ez);let _f1=(1.0f/f32(((_ex*_ew)-(_ey*_ey))));let _f2=f16((f32(_ey)*_f1));let _f3=clamp(((_f0*f16((f32(_ew)*_f1)))-(_ez*_f2)),vec3h(),_8);let _f4=clamp(((_ez*f16((f32(_ex)*_f1)))-(_f0*_f2)),vec3h(),_8);let _f5=_f3.x;let _f6=(trunc((_f5*31.0h))*8.25h);let _f7=trunc(_f6);let _f8=min(255.0h,trunc((_f6+8.25h)));let _f9=_f3.y;let _fa=(trunc((_f9*63.0h))*4.0625h);let _fb=min(255.0h,trunc(_fa));let _fc=min(255.0h,trunc((_fa+4.0625h)));let _fd=_f3.z;let _fe=(trunc((_fd*31.0h))*8.25h);let _ff=trunc(_fe);let _fg=min(255.0h,trunc((_fe+8.25h)));_3v=vec3h(select(_f7,_f8,((255.0h*_f5)>(0.5h*(_f7+_f8)))),select(_fb,_fc,((255.0h*_f9)>(0.5h*(_fb+_fc)))),select(_ff,_fg,((255.0h*_fd)>(0.5h*(_ff+_fg)))));let _fh=_f4.x;let _fi=(trunc((_fh*31.0h))*8.25h);let _fj=trunc(_fi);let _fk=min(255.0h,trunc((_fi+8.25h)));let _fl=_f4.y;let _fm=(trunc((_fl*63.0h))*4.0625h);let _fn=min(255.0h,trunc(_fm));let _fo=min(255.0h,trunc((_fm+4.0625h)));let _fp=_f4.z;let _fq=(trunc((_fp*31.0h))*8.25h);let _fr=trunc(_fq);let _fs=min(255.0h,trunc((_fq+8.25h)));_3w=vec3h(select(_fj,_fk,((255.0h*_fh)>(0.5h*(_fj+_fk)))),select(_fn,_fo,((255.0h*_fl)>(0.5h*(_fn+_fo)))),select(_fr,_fs,((255.0h*_fp)>(0.5h*(_fr+_fs)))));_3x=_3w;_3y=_3v;_3z=true;}}_41=_ep;if(_3z){let _ft=(((_3x-_3y)*_9)*0.0039215087890625h);let _fu=((_ft*(1.0h/dot(_ft,_ft)))*_9);let _fv=(dot(_3y,_fu)*0.0039215087890625h);_40=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_5c,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_5d,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_5e,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_5f,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_5g,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_5h,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_5i,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_5j,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_5k,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_5l,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_5m,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_5n,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_5o,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_5p,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_5q,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_5r,_fu)-_fv),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_41=_40;}let _fw=((_41^(_41<<bitcast<u32>(2i)))<4u);_44=_3x;_45=_3y;if(_fw){let _fx=(_7z*15.9375h);let _fy=i32(_fx.x);_31=_2h;let _fz=_31[_fy].x;_32=_2h;let _g0=_32[_fy].y;let _g1=i32(_fx.y);_33=_2z;let _g2=_33[_g1].x;_34=_2z;let _g3=_34[_g1].y;let _g4=i32(_fx.z);_35=_2h;_42=vec3h(_fz,_g2,_35[_g4].x);_36=_2h;_43=vec3h(_g0,_g3,_36[_g4].y);_44=_43;_45=_42;}let _g5=select(_41,1431655765u,_fw);let _g6=((((u32(_45.x)>>bitcast<u32>(3i))<<bitcast<u32>(11i))|((u32(_45.y)>>bitcast<u32>(2i))<<bitcast<u32>(5i)))|(u32(_45.z)>>bitcast<u32>(3i)));let _g7=((((u32(_44.x)>>bitcast<u32>(3i))<<bitcast<u32>(11i))|((u32(_44.y)>>bitcast<u32>(2i))<<bitcast<u32>(5i)))|(u32(_44.z)>>bitcast<u32>(3i)));let _g8=(_g6<_g7);_47=_g5;if(_g8){_46=~(_g5);_47=_46;}let _g9=((_47&2863311530u)>>bitcast<u32>(1i));x_3008._0[((_4a.y*((_49+15u)&4294967280u))+_4c)]=vec4u(_7x,_7y,(select(_g6,_g7,_g8)|(select(_g7,_g6,_g8)<<bitcast<u32>(16i))),((((_47&1431655765u)^_g9)<<bitcast<u32>(1i))|_g9));}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _ga:vec3u,@builtin(local_invocation_id) _gb:vec3u,@builtin(workgroup_id) _gc:vec3u){x_2912=_ga;x_2918=_gb;_30();}"; export { spark_bc3_rgba as default };