// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.63 on Sun Oct  9 13:48:42 2022
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[457], dynamicIndexed
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_uav_structured u8, 4
dcl_uav_typed_buffer (uint,uint,uint,uint) u9
dcl_uav_structured u10, 4
dcl_uav_typed_buffer (uint,uint,uint,uint) u11
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.xy
dcl_temps 50
dcl_indexableTemp x0[3], 4
dcl_indexableTemp x1[3], 4
dcl_indexableTemp x2[3], 4
dcl_indexableTemp x3[3], 4
dcl_indexableTemp x4[3], 4
dcl_indexableTemp x5[3], 4
dcl_indexableTemp x6[3], 4
dcl_indexableTemp x7[3], 4
dcl_indexableTemp x8[3], 4
dcl_indexableTemp x9[3], 4
dcl_indexableTemp x10[3], 4
dcl_indexableTemp x11[3], 4
dcl_indexableTemp x12[3], 4
dcl_indexableTemp x13[3], 4
dcl_indexableTemp x14[3], 4
dcl_indexableTemp x15[3], 4
dcl_indexableTemp x16[3], 4
dcl_indexableTemp x17[3], 4
dcl_indexableTemp x18[3], 4
dcl_indexableTemp x19[3], 4
dcl_indexableTemp x20[3], 4
dcl_indexableTemp x21[3], 4
dcl_indexableTemp x22[3], 4
dcl_indexableTemp x23[3], 4
dcl_tgsm_structured g0, 4, 64
dcl_thread_group 64, 1, 1
dcl_constantbuffer CB12[3], immediateIndexed
and r0.x, vThreadIDInGroupFlattened.x, l(7)
ushr r0.y, vThreadIDInGroupFlattened.x, l(3)
imad r0.xy, vThreadGroupID.xyxx, l(8, 8, 0, 0), r0.xyxx
utof r1.xy, r0.xyxx
mul r2.x, l(8.000000), cb0[6].w
mul r2.y, l(8.000000), cb0[7].x
mul r1.xy, r1.xyxx, r2.xyxx
mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 2.000000, -2.000000), l(0.000000, 0.000000, -1.000000, 1.000000)
iadd r2.zw, r0.xxxy, l(0, 0, 1, 1)
utof r2.zw, r2.zzzw
mul r2.xy, r2.xyxx, r2.zwzz
mad r1.xy, r2.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.xyww, t0.xyzw
add r3.x, l(-1.000000), cb0[7].z
ge r3.x, r2.x, r3.x
ult r3.y, r0.x, cb0[4].w
ult r3.z, r0.y, cb0[5].x
and r3.y, r3.z, r3.y
and r3.z, r3.x, l(1)
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r3.z
sync_g_t
xor r3.zw, vThreadIDInGroupFlattened.xxxx, l(0, 0, 8, 1)
ld_structured r4.x, r3.z, l(0), g0.xxxx
ine r4.x, r4.x, l(0)
and r4.x, r3.x, r4.x
and r4.y, r4.x, l(1)
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r4.y
sync_g_t
ld_structured r4.y, r3.w, l(0), g0.xxxx
ld_indexable(texture2d)(uint,uint,uint,uint) r0.z, r0.xyzw, t1.yzxw
mul r5.xyzw, r1.zwzw, r2.zzxx
mov r6.xy, r5.zwzz
mov r6.z, r2.x
mov r6.w, l(1.000000)
add r40.w, r6.z, -cb12[0].y
mad r6.x, -cb12[0].x, r40.w, r6.x
dp4 r7.z, r6.xyzw, cb0[0].xyzw
dp4 r7.x, r6.xyzw, cb0[1].xyzw
dp4 r7.y, r6.xyzw, cb0[2].xyzw
mul r6.xy, r1.xwxx, r2.xxxx
add r40.w, r6.z, -cb12[0].y
mad r6.x, -cb12[0].x, r40.w, r6.x
dp4 r8.y, r6.xyzw, cb0[0].xyzw
dp4 r8.z, r6.xyzw, cb0[1].xyzw
dp4 r8.x, r6.xyzw, cb0[2].xyzw
mul r6.xy, r1.zyzz, r2.xxxx
add r40.w, r6.z, -cb12[0].y
mad r6.x, -cb12[0].x, r40.w, r6.x
dp4 r9.y, r6.xyzw, cb0[0].xyzw
dp4 r9.z, r6.xyzw, cb0[1].xyzw
dp4 r9.x, r6.xyzw, cb0[2].xyzw
mul r10.xyzw, r1.xyxy, r2.xxzz
mov r6.xy, r10.xyxx
add r40.w, r6.z, -cb12[0].y
mad r6.x, -cb12[0].x, r40.w, r6.x
dp4 r11.z, r6.xyzw, cb0[0].xyzw
dp4 r11.x, r6.xyzw, cb0[1].xyzw
dp4 r11.y, r6.xyzw, cb0[2].xyzw
dp2 r12.x, r6.zwzz, cb0[0].zwzz
dp2 r12.y, r6.zwzz, cb0[1].zwzz
dp2 r12.z, r6.zwzz, cb0[2].zwzz
mov r5.z, r2.z
mov r5.w, l(1.000000)
dp2 r6.x, r5.zwzz, cb0[0].zwzz
dp2 r6.y, r5.zwzz, cb0[1].zwzz
dp2 r6.z, r5.zwzz, cb0[2].zwzz
mov r13.z, r2.w
mov r13.w, l(1.000000)
dp2 r14.x, r13.zwzz, cb0[0].zwzz
dp2 r14.y, r13.zwzz, cb0[1].zwzz
dp2 r14.z, r13.zwzz, cb0[2].zwzz
mov r15.z, r2.y
mov r15.w, l(1.000000)
dp2 r16.x, r15.zwzz, cb0[0].zwzz
dp2 r16.y, r15.zwzz, cb0[1].zwzz
dp2 r16.z, r15.zwzz, cb0[2].zwzz
add r40.w, r5.z, -cb12[0].y
mad r5.x, -cb12[0].x, r40.w, r5.x
dp4 r0.w, r5.xyzw, cb0[0].xyzw
dp4 r2.z, r5.xyzw, cb0[1].xyzw
dp4 r4.z, r5.xyzw, cb0[2].xyzw
mul r5.xy, r1.xwxx, r5.zzzz
add r40.w, r5.z, -cb12[0].y
mad r5.x, -cb12[0].x, r40.w, r5.x
dp4 r4.w, r5.xyzw, cb0[0].xyzw
dp4 r6.w, r5.xyzw, cb0[1].xyzw
dp4 r7.w, r5.xyzw, cb0[2].xyzw
mul r5.xy, r1.zyzz, r5.zzzz
add r40.w, r5.z, -cb12[0].y
mad r5.x, -cb12[0].x, r40.w, r5.x
dp4 r17.x, r5.xyzw, cb0[0].xyzw
dp4 r17.y, r5.xyzw, cb0[1].xyzw
dp4 r17.z, r5.xyzw, cb0[2].xyzw
mov r5.xy, r10.zwzz
add r40.w, r5.z, -cb12[0].y
mad r5.x, -cb12[0].x, r40.w, r5.x
dp4 r10.x, r5.xyzw, cb0[0].xyzw
dp4 r10.y, r5.xyzw, cb0[1].xyzw
dp4 r10.z, r5.xyzw, cb0[2].xyzw
mul r5.xyzw, r1.zwzw, r2.wwyy
mov r13.xy, r5.xyxx
add r40.w, r13.z, -cb12[0].y
mad r13.x, -cb12[0].x, r40.w, r13.x
dp4 r5.x, r13.xyzw, cb0[0].xyzw
dp4 r5.y, r13.xyzw, cb0[1].xyzw
dp4 r8.w, r13.xyzw, cb0[2].xyzw
mul r13.xy, r1.xwxx, r2.wwww
add r40.w, r13.z, -cb12[0].y
mad r13.x, -cb12[0].x, r40.w, r13.x
dp4 r9.w, r13.xyzw, cb0[0].xyzw
dp4 r10.w, r13.xyzw, cb0[1].xyzw
dp4 r11.w, r13.xyzw, cb0[2].xyzw
mul r13.xy, r1.zyzz, r2.wwww
add r40.w, r13.z, -cb12[0].y
mad r13.x, -cb12[0].x, r40.w, r13.x
dp4 r12.w, r13.xyzw, cb0[0].xyzw
dp4 r14.w, r13.xyzw, cb0[1].xyzw
dp4 r16.w, r13.xyzw, cb0[2].xyzw
mul r18.xyzw, r1.xyxy, r2.wwyy
mov r13.xy, r18.xyxx
add r40.w, r13.z, -cb12[0].y
mad r13.x, -cb12[0].x, r40.w, r13.x
dp4 r2.w, r13.xyzw, cb0[0].xyzw
dp4 r17.w, r13.xyzw, cb0[1].xyzw
dp4 r13.x, r13.xyzw, cb0[2].xyzw
mov r15.xy, r5.zwzz
add r40.w, r15.z, -cb12[0].y
mad r15.x, -cb12[0].x, r40.w, r15.x
dp4 r5.z, r15.xyzw, cb0[0].xyzw
dp4 r5.w, r15.xyzw, cb0[1].xyzw
dp4 r13.y, r15.xyzw, cb0[2].xyzw
mul r15.xy, r1.xwxx, r2.yyyy
add r40.w, r15.z, -cb12[0].y
mad r15.x, -cb12[0].x, r40.w, r15.x
dp4 r1.x, r15.xyzw, cb0[0].xyzw
dp4 r1.w, r15.xyzw, cb0[1].xyzw
dp4 r13.z, r15.xyzw, cb0[2].xyzw
mul r15.xy, r1.zyzz, r2.yyyy
add r40.w, r15.z, -cb12[0].y
mad r15.x, -cb12[0].x, r40.w, r15.x
dp4 r19.x, r15.xyzw, cb0[0].xyzw
dp4 r19.y, r15.xyzw, cb0[1].xyzw
dp4 r19.z, r15.xyzw, cb0[2].xyzw
mov r15.xy, r18.zwzz
add r40.w, r15.z, -cb12[0].y
mad r15.x, -cb12[0].x, r40.w, r15.x
dp4 r18.x, r15.xyzw, cb0[0].xyzw
dp4 r18.y, r15.xyzw, cb0[1].xyzw
dp4 r18.z, r15.xyzw, cb0[2].xyzw
min r15.xyz, r8.yzxy, r9.yzxy
min r15.xyz, r7.zxyz, r15.xyzx
min r1.y, r0.w, r4.w
min r1.z, r2.z, r6.w
min r1.yz, r1.yyzy, r11.zzxz
min r2.y, r4.z, r7.w
min r2.y, r2.y, r11.y
min r20.xyz, r10.xyzx, r17.xyzx
min r1.y, r1.y, r20.x
min r21.x, r1.y, r15.x
min r1.y, r1.z, r20.y
min r21.y, r1.y, r15.y
min r1.y, r2.y, r20.z
min r21.z, r1.y, r15.z
max r15.xyz, r8.yzxy, r9.yzxy
max r15.xyz, r7.zxyz, r15.xyzx
max r0.w, r0.w, r4.w
max r0.w, r0.w, r11.z
max r1.y, r2.z, r6.w
max r1.z, r4.z, r7.w
max r1.yz, r1.yyzy, r11.xxyx
max r10.xyz, r10.xyzx, r17.xyzx
max r0.w, r0.w, r10.x
max r17.x, r0.w, r15.x
max r0.w, r1.y, r10.y
max r17.y, r0.w, r15.y
max r0.w, r1.z, r10.z
max r17.z, r0.w, r15.z
min r0.w, r9.w, r12.w
min r0.w, r0.w, r5.x
min r1.y, r10.w, r14.w
min r1.y, r1.y, r5.y
min r1.z, r11.w, r16.w
min r1.z, r1.z, r8.w
min r2.yz, r1.xxwx, r5.zzwz
min r2.y, r2.y, r2.w
min r2.z, r2.z, r17.w
min r4.z, r13.z, r13.y
min r4.z, r4.z, r13.x
min r10.xyz, r18.xyzx, r19.xyzx
min r2.y, r2.y, r10.x
min r15.x, r0.w, r2.y
min r0.w, r2.z, r10.y
min r15.y, r0.w, r1.y
min r0.w, r4.z, r10.z
min r15.z, r0.w, r1.z
max r0.w, r9.w, r12.w
max r0.w, r0.w, r5.x
max r1.y, r10.w, r14.w
max r1.z, r11.w, r16.w
max r1.z, r1.z, r8.w
max r1.xyw, r1.xyxw, r5.zyzw
max r1.x, r1.x, r2.w
max r1.w, r1.w, r17.w
max r2.y, r13.z, r13.y
max r2.y, r2.y, r13.x
max r5.xyz, r18.xyzx, r19.xyzx
max r1.x, r1.x, r5.x
max r10.x, r0.w, r1.x
max r0.w, r1.w, r5.y
max r10.y, r0.w, r1.y
max r0.w, r2.y, r5.z
max r10.z, r0.w, r1.z
add r1.xyz, r17.xyzx, r21.xyzx
add r2.yzw, r10.xxyz, r15.xxyz
add r5.xyz, -r21.xyzx, r17.xyzx
mul r13.xyz, r5.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
add r10.xyz, -r15.xyzx, r10.xyzx
mul r15.xyz, r10.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
mul r17.xyzw, r5.xxyy, l(0.500000, 0.000000, 0.000000, 0.500000)
mul r18.xyz, r5.zzzz, l(0.000000, 0.000000, 0.500000, 0.000000)
mul r19.xyzw, r10.xxyy, l(0.500000, 0.000000, 0.000000, 0.500000)
mul r20.xyz, r10.zzzz, l(0.000000, 0.000000, 0.500000, 0.000000)
add r21.xyz, -r7.zxyz, r9.yzxy
mul r22.xyz, r9.xyzx, r21.xyzx
mad r21.xyz, r21.zxyz, r9.yzxy, -r22.xyzx
dp3 r0.w, r21.xyzx, r21.xyzx
rsq r0.w, r0.w
mul r21.xyz, r0.wwww, r21.xyzx
add r22.xyz, -r8.xyzx, r11.yzxy
mul r23.xyz, r8.zxyz, r22.xyzx
mad r22.xyz, r22.zxyz, r8.xyzx, -r23.xyzx
dp3 r0.w, r22.xyzx, r22.xyzx
rsq r0.w, r0.w
mul r22.xyz, r0.wwww, r22.xyzx
add r8.xyz, -r7.yzxy, r8.xyzx
mul r23.xyz, r7.xyzx, r8.xyzx
mad r7.xyz, r8.zxyz, r7.yzxy, -r23.xyzx
dp3 r0.w, r7.xyzx, r7.xyzx
rsq r0.w, r0.w
mul r7.xyz, r0.wwww, r7.xyzx
add r8.xyz, r9.xyzx, -r11.yzxy
mul r9.xyz, r11.xyzx, r8.xyzx
mad r8.xyz, r8.zxyz, r11.yzxy, -r9.xyzx
dp3 r0.w, r8.xyzx, r8.xyzx
rsq r0.w, r0.w
mul r8.xyz, r0.wwww, r8.xyzx
dp3 r0.w, r12.xyzx, r12.xyzx
rsq r0.w, r0.w
mul r9.xyz, r0.wwww, r12.yzxy
dp3 r0.w, r12.yzxy, -r9.xyzx
dp3 r1.w, r16.xyzx, r16.xyzx
rsq r1.w, r1.w
mul r11.xyz, r1.wwww, r16.xyzx
dp3 r1.w, r16.xyzx, r11.xyzx
dp3 r4.z, r6.xyzx, r6.xyzx
rsq r4.z, r4.z
mul r12.xyz, r4.zzzz, r6.xyzx
dp3 r4.z, r6.xyzx, r12.xyzx
dp3 r4.w, r14.xyzx, r14.xyzx
rsq r4.w, r4.w
mul r6.xyz, r4.wwww, r14.yzxy
dp3 r4.w, r14.yzxy, -r6.xyzx
mov r14.xy, l(0,0,0,0)
mov r5.w, l(0)
loop
  ige r6.w, r5.w, cb0[5].w
  breakc_nz r6.w
  ishl r6.w, r5.w, l(1)
  mad r16.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r6.w + 8].xyzx
  mad r16.xyz, -r5.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r16.xyzx|
  max r16.xyz, r16.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r7.w, r16.xyzx, r16.xyzx
  mul r8.w, cb0[r6.w + 8].w, cb0[r6.w + 8].w
  lt r7.w, r8.w, r7.w
  movc r7.w, cb0[4].z, r7.w, l(0)
  mad r16.xyz, r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r6.w + 8].xyzx
  mad r16.xyz, -r10.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r16.xyzx|
  max r16.xyz, r16.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r9.w, r16.xyzx, r16.xyzx
  lt r8.w, r8.w, r9.w
  movc r8.w, cb0[4].z, r8.w, l(0)
  and r7.w, r7.w, r8.w
  if_nz r7.w
    iadd r7.w, r5.w, l(1)
    mov r5.w, r7.w
    continue
  endif
  dp3 r7.w, cb0[r6.w + 8].yzxy, -r21.xyzx
  lt r7.w, cb0[r6.w + 8].w, r7.w
  and r7.w, r7.w, l(1)
  movc r7.w, cb0[4].z, r7.w, l(0)
  dp3 r8.w, cb0[r6.w + 8].xyzx, r22.xyzx
  lt r8.w, cb0[r6.w + 8].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  or r7.w, r7.w, r8.w
  dp3 r8.w, cb0[r6.w + 8].xyzx, r7.xyzx
  lt r8.w, cb0[r6.w + 8].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  or r7.w, r7.w, r8.w
  dp3 r8.w, cb0[r6.w + 8].xyzx, r8.xyzx
  lt r8.w, cb0[r6.w + 8].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  or r7.w, r7.w, r8.w
  dp3 r8.w, cb0[r6.w + 8].yzxy, -r9.xyzx
  add r8.w, -r0.w, r8.w
  lt r8.w, cb0[r6.w + 8].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  or r7.w, r7.w, r8.w
  dp3 r8.w, cb0[r6.w + 8].xyzx, r11.xyzx
  add r8.w, -r1.w, r8.w
  lt r8.w, cb0[r6.w + 8].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  or r7.w, r7.w, r8.w
  dp3 r8.w, cb0[r6.w + 8].xyzx, r12.xyzx
  add r8.w, -r4.z, r8.w
  lt r8.w, cb0[r6.w + 8].w, r8.w
  movc r8.w, cb0[4].z, r8.w, l(0)
  dp3 r9.w, cb0[r6.w + 8].yzxy, -r6.xyzx
  add r9.w, -r4.w, r9.w
  lt r9.w, cb0[r6.w + 8].w, r9.w
  movc r9.w, cb0[4].z, r9.w, l(0)
  and r8.w, r8.w, r9.w
  and r8.w, r8.w, l(1)
  or r7.w, r7.w, r8.w
  if_nz r7.w
    iadd r7.w, r5.w, l(1)
    mov r5.w, r7.w
    continue
  endif
  or r14.xy, r14.xyxx, cb0[r6.w + 9].yzyy
  iadd r5.w, r5.w, l(1)
endloop
dp3 r5.w, r13.xyzx, r13.xyzx
sqrt r5.w, r5.w
ine r6.w, l(0), cb0[4].z
dp3 r7.w, r15.xyzx, r15.xyzx
sqrt r7.w, r7.w
mov r13.xy, r14.xyxx
mov r8.w, l(0)
loop
  ige r9.w, r8.w, cb0[6].x
  breakc_nz r9.w
  imul null, r9.w, r8.w, l(5)
  mad r15.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r9.w + 72].xyzx
  mad r15.xyz, -r5.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r15.xyzx|
  max r15.xyz, r15.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r10.w, r15.xyzx, r15.xyzx
  mul r11.w, cb0[r9.w + 72].w, cb0[r9.w + 72].w
  lt r10.w, r11.w, r10.w
  movc r10.w, cb0[4].z, r10.w, l(0)
  mad r15.xyz, r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r9.w + 72].xyzx
  mad r15.xyz, -r10.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r15.xyzx|
  max r15.xyz, r15.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r12.w, r15.xyzx, r15.xyzx
  lt r11.w, r11.w, r12.w
  movc r11.w, cb0[4].z, r11.w, l(0)
  and r10.w, r10.w, r11.w
  if_nz r10.w
    iadd r10.w, r8.w, l(1)
    mov r8.w, r10.w
    continue
  endif
  dp3 r10.w, cb0[r9.w + 72].yzxy, -r21.xyzx
  lt r10.w, cb0[r9.w + 72].w, r10.w
  and r10.w, r10.w, l(1)
  movc r10.w, cb0[4].z, r10.w, l(0)
  dp3 r11.w, cb0[r9.w + 72].xyzx, r22.xyzx
  lt r11.w, cb0[r9.w + 72].w, r11.w
  and r11.w, r11.w, l(1)
  movc r11.w, cb0[4].z, r11.w, l(0)
  or r10.w, r10.w, r11.w
  dp3 r11.w, cb0[r9.w + 72].xyzx, r7.xyzx
  lt r11.w, cb0[r9.w + 72].w, r11.w
  and r11.w, r11.w, l(1)
  movc r11.w, cb0[4].z, r11.w, l(0)
  or r10.w, r10.w, r11.w
  dp3 r11.w, cb0[r9.w + 72].xyzx, r8.xyzx
  lt r11.w, cb0[r9.w + 72].w, r11.w
  and r11.w, r11.w, l(1)
  movc r11.w, cb0[4].z, r11.w, l(0)
  or r10.w, r10.w, r11.w
  dp3 r11.w, cb0[r9.w + 72].yzxy, -r9.xyzx
  add r11.w, -r0.w, r11.w
  lt r11.w, cb0[r9.w + 72].w, r11.w
  and r11.w, r11.w, l(1)
  movc r11.w, cb0[4].z, r11.w, l(0)
  or r10.w, r10.w, r11.w
  dp3 r11.w, cb0[r9.w + 72].xyzx, r11.xyzx
  add r11.w, -r1.w, r11.w
  lt r11.w, cb0[r9.w + 72].w, r11.w
  and r11.w, r11.w, l(1)
  movc r11.w, cb0[4].z, r11.w, l(0)
  or r10.w, r10.w, r11.w
  dp3 r11.w, cb0[r9.w + 72].xyzx, r12.xyzx
  add r11.w, -r4.z, r11.w
  lt r11.w, cb0[r9.w + 72].w, r11.w
  movc r11.w, cb0[4].z, r11.w, l(0)
  dp3 r12.w, cb0[r9.w + 72].yzxy, -r6.xyzx
  add r12.w, -r4.w, r12.w
  lt r12.w, cb0[r9.w + 72].w, r12.w
  movc r12.w, cb0[4].z, r12.w, l(0)
  and r11.w, r11.w, r12.w
  and r11.w, r11.w, l(1)
  or r10.w, r10.w, r11.w
  if_nz r10.w
    iadd r11.w, r8.w, l(1)
    mov r8.w, r11.w
    continue
  endif
  mov r11.w, r8.w
  mad r15.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r9.w + 73].xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  dp3 r13.z, r15.xyzx, -cb0[r9.w + 74].xyzx
  mad r12.w, -r13.z, r13.z, r12.w
  sqrt r12.w, r12.w
  mul r13.w, r13.z, cb0[r9.w + 75].x
  mad r12.w, cb0[r9.w + 75].y, r12.w, -r13.w
  ge r12.w, r12.w, r5.w
  add r13.w, r5.w, cb0[r9.w + 74].w
  lt r13.w, r13.w, r13.z
  lt r13.z, r13.z, -r5.w
  or r12.w, r12.w, r13.w
  or r12.w, r13.z, r12.w
  and r12.w, r6.w, r12.w
  mad r15.xyz, r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r9.w + 73].xyzx
  dp3 r13.z, r15.xyzx, r15.xyzx
  dp3 r13.w, r15.xyzx, -cb0[r9.w + 74].xyzx
  mad r13.z, -r13.w, r13.w, r13.z
  sqrt r13.z, r13.z
  mul r14.z, r13.w, cb0[r9.w + 75].x
  mad r13.z, cb0[r9.w + 75].y, r13.z, -r14.z
  ge r13.z, r13.z, r7.w
  add r14.z, r7.w, cb0[r9.w + 74].w
  lt r14.z, r14.z, r13.w
  lt r13.w, r13.w, -r7.w
  or r13.z, r13.z, r14.z
  or r13.z, r13.w, r13.z
  and r13.z, r6.w, r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r21.xyzx, cb0[r9.w + 74].xyzx
  mad r15.xyz, r21.zxyz, cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r16.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r16.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r16.xyz, cb0[r9.w + 74].wwww, -cb0[r9.w + 74].xyzx, cb0[r9.w + 73].xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].yzxy, -r21.xyzx
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.yzxy, -r21.xyzx
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  movc r12.w, cb0[4].z, r12.w, l(0)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r22.yzxy, -cb0[r9.w + 74].xyzx
  mad r15.xyz, r22.xyzx, -cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].xyzx, r22.xyzx
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.xyzx, r22.xyzx
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  movc r12.w, cb0[4].z, r12.w, l(0)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r7.yzxy, -cb0[r9.w + 74].xyzx
  mad r15.xyz, r7.xyzx, -cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].xyzx, r7.xyzx
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.xyzx, r7.xyzx
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  movc r12.w, cb0[4].z, r12.w, l(0)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r8.yzxy, -cb0[r9.w + 74].xyzx
  mad r15.xyz, r8.xyzx, -cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].xyzx, r8.xyzx
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.xyzx, r8.xyzx
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  movc r12.w, cb0[4].z, r12.w, l(0)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r9.xyzx, cb0[r9.w + 74].xyzx
  mad r15.xyz, r9.zxyz, cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].yzxy, -r9.xyzx
  add r12.w, -r0.w, r12.w
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.yzxy, -r9.xyzx
  add r13.z, -r0.w, r13.z
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  movc r12.w, cb0[4].z, r12.w, l(0)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r11.yzxy, -cb0[r9.w + 74].xyzx
  mad r15.xyz, r11.xyzx, -cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].xyzx, r11.xyzx
  add r12.w, -r1.w, r12.w
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.xyzx, r11.xyzx
  add r13.z, -r1.w, r13.z
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  movc r12.w, cb0[4].z, r12.w, l(0)
  or r10.w, r10.w, r12.w
  mul r15.xyz, r12.yzxy, -cb0[r9.w + 74].xyzx
  mad r15.xyz, r12.xyzx, -cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r12.w, r15.xyzx, r15.xyzx
  max r12.w, r12.w, l(9.999999939E-09)
  rsq r12.w, r12.w
  mul r15.xyz, r12.wwww, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r12.w, cb0[r9.w + 73].xyzx, r12.xyzx
  add r12.w, -r4.z, r12.w
  lt r12.w, l(0.000000), r12.w
  dp3 r13.z, r15.xyzx, r12.xyzx
  add r13.z, -r4.z, r13.z
  lt r13.z, l(0.000000), r13.z
  and r12.w, r12.w, r13.z
  movc r12.w, cb0[4].z, r12.w, l(0)
  mul r15.xyz, r6.xyzx, cb0[r9.w + 74].xyzx
  mad r15.xyz, r6.zxyz, cb0[r9.w + 74].yzxy, -r15.xyzx
  mul r23.xyz, r15.xyzx, -cb0[r9.w + 74].yzxy
  mad r15.xyz, r15.zxyz, -cb0[r9.w + 74].zxyz, -r23.xyzx
  dp3 r13.z, r15.xyzx, r15.xyzx
  max r13.z, r13.z, l(9.999999939E-09)
  rsq r13.z, r13.z
  mul r15.xyz, r13.zzzz, r15.xyzx
  mad r15.xyz, cb0[r9.w + 73].wwww, r15.xyzx, r16.xyzx
  dp3 r13.z, cb0[r9.w + 73].yzxy, -r6.xyzx
  add r13.z, -r4.w, r13.z
  dp3 r13.w, r15.yzxy, -r6.xyzx
  add r13.w, -r4.w, r13.w
  lt r13.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r13.zzzw
  and r13.z, r13.w, r13.z
  movc r13.z, cb0[4].z, r13.z, l(0)
  and r12.w, r12.w, r13.z
  and r12.w, r12.w, l(1)
  or r10.w, r10.w, r12.w
  if_nz r10.w
    iadd r10.w, r11.w, l(1)
    mov r8.w, r10.w
    continue
  endif
  or r13.x, r13.x, cb0[r9.w + 75].w
  or r13.y, r13.y, cb0[r9.w + 76].x
  iadd r8.w, r8.w, l(1)
endloop
mov r5.w, l(0)
mov r6.w, l(0)
loop
  ige r7.w, r6.w, cb0[6].z
  breakc_nz r7.w
  ishl r7.w, r6.w, l(1)
  mad r14.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r7.w + 232].xyzx
  mad r14.xyz, -r5.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r14.xyzx|
  max r14.xyz, r14.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r8.w, r14.xyzx, r14.xyzx
  mul r9.w, cb0[r7.w + 232].w, cb0[r7.w + 232].w
  lt r8.w, r9.w, r8.w
  movc r8.w, cb0[4].z, r8.w, l(0)
  mad r14.xyz, r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r7.w + 232].xyzx
  mad r14.xyz, -r10.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r14.xyzx|
  max r14.xyz, r14.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r10.w, r14.xyzx, r14.xyzx
  lt r9.w, r9.w, r10.w
  movc r9.w, cb0[4].z, r9.w, l(0)
  and r8.w, r8.w, r9.w
  if_nz r8.w
    iadd r8.w, r6.w, l(1)
    mov r6.w, r8.w
    continue
  endif
  dp3 r8.w, cb0[r7.w + 232].yzxy, -r21.xyzx
  lt r8.w, cb0[r7.w + 232].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  dp3 r9.w, cb0[r7.w + 232].xyzx, r22.xyzx
  lt r9.w, cb0[r7.w + 232].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 232].xyzx, r7.xyzx
  lt r9.w, cb0[r7.w + 232].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 232].xyzx, r8.xyzx
  lt r9.w, cb0[r7.w + 232].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 232].yzxy, -r9.xyzx
  add r9.w, -r0.w, r9.w
  lt r9.w, cb0[r7.w + 232].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 232].xyzx, r11.xyzx
  add r9.w, -r1.w, r9.w
  lt r9.w, cb0[r7.w + 232].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 232].xyzx, r12.xyzx
  add r9.w, -r4.z, r9.w
  lt r9.w, cb0[r7.w + 232].w, r9.w
  movc r9.w, cb0[4].z, r9.w, l(0)
  dp3 r10.w, cb0[r7.w + 232].yzxy, -r6.xyzx
  add r10.w, -r4.w, r10.w
  lt r7.w, cb0[r7.w + 232].w, r10.w
  movc r7.w, cb0[4].z, r7.w, l(0)
  and r7.w, r7.w, r9.w
  and r7.w, r7.w, l(1)
  or r7.w, r7.w, r8.w
  if_nz r7.w
    iadd r7.w, r6.w, l(1)
    mov r6.w, r7.w
    continue
  endif
  bfi r5.w, l(1), r6.w, l(1), r5.w
  iadd r6.w, r6.w, l(1)
endloop
mov r14.zw, l(0,0,0,0)
mov r6.w, l(0)
loop
  uge r7.w, r6.w, cb0[6].y
  breakc_nz r7.w
  ishl r7.w, r6.w, l(1)
  mad r15.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r7.w + 264].xyzx
  mad r15.xyz, -r5.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r15.xyzx|
  max r15.xyz, r15.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r8.w, r15.xyzx, r15.xyzx
  mul r9.w, cb0[r7.w + 264].w, cb0[r7.w + 264].w
  lt r8.w, r9.w, r8.w
  movc r8.w, cb0[4].z, r8.w, l(0)
  mad r15.xyz, r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r7.w + 264].xyzx
  mad r15.xyz, -r10.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), |r15.xyzx|
  max r15.xyz, r15.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  dp3 r10.w, r15.xyzx, r15.xyzx
  lt r9.w, r9.w, r10.w
  movc r9.w, cb0[4].z, r9.w, l(0)
  and r8.w, r8.w, r9.w
  if_nz r8.w
    iadd r8.w, r6.w, l(1)
    mov r6.w, r8.w
    continue
  endif
  dp3 r8.w, cb0[r7.w + 264].yzxy, -r21.xyzx
  lt r8.w, cb0[r7.w + 264].w, r8.w
  and r8.w, r8.w, l(1)
  movc r8.w, cb0[4].z, r8.w, l(0)
  dp3 r9.w, cb0[r7.w + 264].xyzx, r22.xyzx
  lt r9.w, cb0[r7.w + 264].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 264].xyzx, r7.xyzx
  lt r9.w, cb0[r7.w + 264].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 264].xyzx, r8.xyzx
  lt r9.w, cb0[r7.w + 264].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 264].yzxy, -r9.xyzx
  add r9.w, -r0.w, r9.w
  lt r9.w, cb0[r7.w + 264].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 264].xyzx, r11.xyzx
  add r9.w, -r1.w, r9.w
  lt r9.w, cb0[r7.w + 264].w, r9.w
  and r9.w, r9.w, l(1)
  movc r9.w, cb0[4].z, r9.w, l(0)
  or r8.w, r8.w, r9.w
  dp3 r9.w, cb0[r7.w + 264].xyzx, r12.xyzx
  add r9.w, -r4.z, r9.w
  lt r9.w, cb0[r7.w + 264].w, r9.w
  movc r9.w, cb0[4].z, r9.w, l(0)
  dp3 r10.w, cb0[r7.w + 264].yzxy, -r6.xyzx
  add r10.w, -r4.w, r10.w
  lt r7.w, cb0[r7.w + 264].w, r10.w
  movc r7.w, cb0[4].z, r7.w, l(0)
  and r7.w, r7.w, r9.w
  and r7.w, r7.w, l(1)
  or r7.w, r7.w, r8.w
  if_nz r7.w
    iadd r7.w, r6.w, l(1)
    mov r6.w, r7.w
    continue
  endif
  uge r7.w, r6.w, l(32)
  bfi r14.xy, l(1, 1, 0, 0), r6.wwww, l(1, 1, 0, 0), r14.wzww
  movc r14.zw, r7.wwww, r14.zzzx, r14.yyyw
  iadd r6.w, r6.w, l(1)
endloop
mov r0.w, l(0)
mov r1.w, l(0)
loop
  ige r4.z, r1.w, cb0[392].y
  breakc_nz r4.z
  ishl r4.z, r1.w, l(2)
  mov x0[0].xyz, cb0[r4.z + 393].xyzx
  mov x0[1].xyz, cb0[r4.z + 394].xyzx
  mov x0[2].xyz, cb0[r4.z + 395].xyzx
  mov x1[0].xyz, r17.xyyx
  mov x1[1].xyz, r17.zwzz
  mov x1[2].xyz, r18.yyzy
  mov x2[0].x, l(10000000.000000)
  mov x2[1].x, l(10000000.000000)
  mov x2[2].x, l(10000000.000000)
  mov x3[0].x, l(-10000000.000000)
  mov x3[1].x, l(-10000000.000000)
  mov x3[2].x, l(-10000000.000000)
  mov r4.w, l(0)
  loop
    ige r5.x, r4.w, l(8)
    breakc_nz r5.x
    and r5.xyz, r4.wwww, l(1, 2, 4, 0)
    movc r5.xyz, r5.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
    mad r6.xyz, cb0[r4.z + 393].xyzx, r5.xxxx, cb0[r4.z + 396].xyzx
    mad r6.xyz, cb0[r4.z + 394].xyzx, r5.yyyy, r6.xyzx
    mad r5.xyz, cb0[r4.z + 395].xyzx, r5.zzzz, r6.xyzx
    mad r5.xyz, -r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r5.xyzx
    mul r5.xy, r17.xwxx, r5.xyxx
    mov r6.x, x2[0].x
    min r6.x, r5.x, r6.x
    mov x2[0].x, r6.x
    mov r6.x, x3[0].x
    max r5.x, r5.x, r6.x
    mov x3[0].x, r5.x
    mov r5.x, x2[1].x
    min r5.x, r5.x, r5.y
    mov x2[1].x, r5.x
    mov r5.x, x3[1].x
    max r5.x, r5.x, r5.y
    mov x3[1].x, r5.x
    mul r5.x, r18.z, r5.z
    mov r5.y, x2[2].x
    min r5.y, r5.y, r5.x
    mov x2[2].x, r5.y
    mov r5.y, x3[2].x
    max r5.x, r5.y, r5.x
    mov x3[2].x, r5.x
    iadd r4.w, r4.w, l(1)
  endloop
  mov r4.w, l(0)
  mov r5.x, l(0)
  loop
    ige r5.y, r4.w, l(3)
    mov r5.x, l(0)
    breakc_nz r5.y
    mov r5.y, x2[r4.w + 0].x
    mov r6.xyz, x1[r4.w + 0].xyzx
    dp3 r5.z, r6.xyzx, r6.xyzx
    lt r5.y, r5.z, r5.y
    if_nz r5.y
      mov r5.x, l(-1)
      break
    endif
    mov r5.z, x3[r4.w + 0].x
    mov r6.xyz, x1[r4.w + 0].xyzx
    dp3 r6.x, r6.xyzx, r6.xyzx
    lt r5.z, r5.z, -r6.x
    if_nz r5.z
      mov r5.x, l(-1)
      break
    endif
    or r5.x, r5.y, r5.z
    iadd r4.w, r4.w, l(1)
  endloop
  if_z r5.x
    mov x4[0].x, l(10000000.000000)
    mov x4[1].x, l(10000000.000000)
    mov x4[2].x, l(10000000.000000)
    mov x5[0].x, l(-10000000.000000)
    mov x5[1].x, l(-10000000.000000)
    mov x5[2].x, l(-10000000.000000)
    mad r6.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r4.z + 396].xyzx
    mov r4.w, l(0)
    loop
      ige r5.y, r4.w, l(8)
      breakc_nz r5.y
      and r7.xyz, r4.wwww, l(1, 2, 4, 0)
      movc r7.xyz, r7.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
      mad r8.xyz, r17.xyyx, r7.xxxx, r6.xyzx
      mad r7.xyw, r17.zwzz, r7.yyyy, r8.xyxz
      mad r7.xyz, r18.yyzy, r7.zzzz, r7.xywx
      dp3 r5.y, r7.xyzx, cb0[r4.z + 393].xyzx
      mov r5.z, x4[0].x
      min r5.z, r5.z, r5.y
      mov x4[0].x, r5.z
      mov r5.z, x5[0].x
      max r5.y, r5.z, r5.y
      mov x5[0].x, r5.y
      dp3 r5.y, r7.xyzx, cb0[r4.z + 394].xyzx
      mov r5.z, x4[1].x
      min r5.z, r5.z, r5.y
      mov x4[1].x, r5.z
      mov r5.z, x5[1].x
      max r5.y, r5.z, r5.y
      mov x5[1].x, r5.y
      dp3 r5.y, r7.xyzx, cb0[r4.z + 395].xyzx
      mov r5.z, x4[2].x
      min r5.z, r5.z, r5.y
      mov x4[2].x, r5.z
      mov r5.z, x5[2].x
      max r5.y, r5.z, r5.y
      mov x5[2].x, r5.y
      iadd r4.w, r4.w, l(1)
    endloop
    mov r4.w, l(0)
    mov r5.y, l(0)
    loop
      ige r5.z, r4.w, l(3)
      mov r5.y, l(0)
      breakc_nz r5.z
      mov r5.z, x4[r4.w + 0].x
      mov r6.xyz, x0[r4.w + 0].xyzx
      dp3 r6.x, r6.xyzx, r6.xyzx
      lt r5.z, r6.x, r5.z
      if_nz r5.z
        mov r5.y, l(-1)
        break
      endif
      mov r6.x, x5[r4.w + 0].x
      mov r6.yzw, x0[r4.w + 0].xxyz
      dp3 r6.y, r6.yzwy, r6.yzwy
      lt r6.x, r6.x, -r6.y
      if_nz r6.x
        mov r5.y, l(-1)
        break
      endif
      or r5.y, r5.z, r6.x
      iadd r4.w, r4.w, l(1)
    endloop
    not r4.w, r5.y
  else
    mov r4.w, l(0)
  endif
  if_nz r4.w
    bfi r0.w, l(1), r1.w, l(1), r0.w
  else
    mov x6[0].xyz, cb0[r4.z + 393].xyzx
    mov x6[1].xyz, cb0[r4.z + 394].xyzx
    mov x6[2].xyz, cb0[r4.z + 395].xyzx
    mov x7[0].xyz, r19.xyyx
    mov x7[1].xyz, r19.zwzz
    mov x7[2].xyz, r20.yyzy
    mov x8[0].x, l(10000000.000000)
    mov x8[1].x, l(10000000.000000)
    mov x8[2].x, l(10000000.000000)
    mov x9[0].x, l(-10000000.000000)
    mov x9[1].x, l(-10000000.000000)
    mov x9[2].x, l(-10000000.000000)
    mov r4.w, l(0)
    loop
      ige r5.z, r4.w, l(8)
      breakc_nz r5.z
      and r6.xyz, r4.wwww, l(1, 2, 4, 0)
      movc r6.xyz, r6.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
      mad r7.xyz, cb0[r4.z + 393].xyzx, r6.xxxx, cb0[r4.z + 396].xyzx
      mad r6.xyw, cb0[r4.z + 394].xyxz, r6.yyyy, r7.xyxz
      mad r6.xyz, cb0[r4.z + 395].xyzx, r6.zzzz, r6.xywx
      mad r6.xyz, -r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), r6.xyzx
      mul r6.xy, r19.xwxx, r6.xyxx
      mov r5.z, x8[0].x
      min r5.z, r5.z, r6.x
      mov x8[0].x, r5.z
      mov r5.z, x9[0].x
      max r5.z, r5.z, r6.x
      mov x9[0].x, r5.z
      mov r5.z, x8[1].x
      min r5.z, r5.z, r6.y
      mov x8[1].x, r5.z
      mov r5.z, x9[1].x
      max r5.z, r5.z, r6.y
      mov x9[1].x, r5.z
      mul r5.z, r20.z, r6.z
      mov r6.x, x8[2].x
      min r6.x, r5.z, r6.x
      mov x8[2].x, r6.x
      mov r6.x, x9[2].x
      max r5.z, r5.z, r6.x
      mov x9[2].x, r5.z
      iadd r4.w, r4.w, l(1)
    endloop
    mov r4.w, l(0)
    mov r5.z, l(0)
    loop
      ige r6.x, r4.w, l(3)
      mov r5.z, l(0)
      breakc_nz r6.x
      mov r6.x, x8[r4.w + 0].x
      mov r6.yzw, x7[r4.w + 0].xxyz
      dp3 r6.y, r6.yzwy, r6.yzwy
      lt r6.x, r6.y, r6.x
      if_nz r6.x
        mov r5.z, l(-1)
        break
      endif
      mov r6.y, x9[r4.w + 0].x
      mov r7.xyz, x7[r4.w + 0].xyzx
      dp3 r6.z, r7.xyzx, r7.xyzx
      lt r6.y, r6.y, -r6.z
      if_nz r6.y
        mov r5.z, l(-1)
        break
      endif
      or r5.z, r6.x, r6.y
      iadd r4.w, r4.w, l(1)
    endloop
    if_z r5.z
      mov x10[0].x, l(10000000.000000)
      mov x10[1].x, l(10000000.000000)
      mov x10[2].x, l(10000000.000000)
      mov x11[0].x, l(-10000000.000000)
      mov x11[1].x, l(-10000000.000000)
      mov x11[2].x, l(-10000000.000000)
      mad r6.xyz, r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r4.z + 396].xyzx
      mov r4.w, l(0)
      loop
        ige r6.w, r4.w, l(8)
        breakc_nz r6.w
        and r7.xyz, r4.wwww, l(1, 2, 4, 0)
        movc r7.xyz, r7.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
        mad r8.xyz, r19.xyyx, r7.xxxx, r6.xyzx
        mad r7.xyw, r19.zwzz, r7.yyyy, r8.xyxz
        mad r7.xyz, r20.yyzy, r7.zzzz, r7.xywx
        dp3 r6.w, r7.xyzx, cb0[r4.z + 393].xyzx
        mov r7.w, x10[0].x
        min r7.w, r6.w, r7.w
        mov x10[0].x, r7.w
        mov r7.w, x11[0].x
        max r6.w, r6.w, r7.w
        mov x11[0].x, r6.w
        dp3 r6.w, r7.xyzx, cb0[r4.z + 394].xyzx
        mov r7.w, x10[1].x
        min r7.w, r6.w, r7.w
        mov x10[1].x, r7.w
        mov r7.w, x11[1].x
        max r6.w, r6.w, r7.w
        mov x11[1].x, r6.w
        dp3 r6.w, r7.xyzx, cb0[r4.z + 395].xyzx
        mov r7.x, x10[2].x
        min r7.x, r6.w, r7.x
        mov x10[2].x, r7.x
        mov r7.x, x11[2].x
        max r6.w, r6.w, r7.x
        mov x11[2].x, r6.w
        iadd r4.w, r4.w, l(1)
      endloop
      mov r4.zw, l(0,0,0,0)
      loop
        ige r6.x, r4.z, l(3)
        mov r4.w, l(0)
        breakc_nz r6.x
        mov r6.x, x10[r4.z + 0].x
        mov r6.yzw, x6[r4.z + 0].xxyz
        dp3 r6.y, r6.yzwy, r6.yzwy
        lt r6.x, r6.y, r6.x
        if_nz r6.x
          mov r4.w, l(-1)
          break
        endif
        mov r6.y, x11[r4.z + 0].x
        mov r7.xyz, x6[r4.z + 0].xyzx
        dp3 r6.z, r7.xyzx, r7.xyzx
        lt r6.y, r6.y, -r6.z
        if_nz r6.y
          mov r4.w, l(-1)
          break
        endif
        or r4.w, r6.x, r6.y
        iadd r4.z, r4.z, l(1)
      endloop
      not r4.z, r4.w
    else
      mov r4.z, l(0)
    endif
    bfi r6.x, l(1), r1.w, l(1), r0.w
    movc r0.w, r4.z, r6.x, r0.w
  endif
  iadd r1.w, r1.w, l(1)
endloop
mov r1.w, l(0)
mov r4.z, l(0)
loop
  ige r4.w, r4.z, cb0[392].x
  breakc_nz r4.w
  ishl r4.w, r4.z, l(2)
  mov x12[0].xyz, cb0[r4.w + 441].xyzx
  mov x12[1].xyz, cb0[r4.w + 442].xyzx
  mov x12[2].xyz, cb0[r4.w + 443].xyzx
  mov x13[0].xyz, r17.xyyx
  mov x13[1].xyz, r17.zwzz
  mov x13[2].xyz, r18.yyzy
  mov x14[0].x, l(10000000.000000)
  mov x14[1].x, l(10000000.000000)
  mov x14[2].x, l(10000000.000000)
  mov x15[0].x, l(-10000000.000000)
  mov x15[1].x, l(-10000000.000000)
  mov x15[2].x, l(-10000000.000000)
  mov r5.x, l(0)
  loop
    ige r5.y, r5.x, l(8)
    breakc_nz r5.y
    and r6.xyz, r5.xxxx, l(1, 2, 4, 0)
    movc r6.xyz, r6.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
    mad r7.xyz, cb0[r4.w + 441].xyzx, r6.xxxx, cb0[r4.w + 444].xyzx
    mad r6.xyw, cb0[r4.w + 442].xyxz, r6.yyyy, r7.xyxz
    mad r6.xyz, cb0[r4.w + 443].xyzx, r6.zzzz, r6.xywx
    mad r6.xyz, -r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r6.xyzx
    mul r5.yz, r17.xxwx, r6.xxyx
    mov r6.x, x14[0].x
    min r6.x, r5.y, r6.x
    mov x14[0].x, r6.x
    mov r6.x, x15[0].x
    max r5.y, r5.y, r6.x
    mov x15[0].x, r5.y
    mov r5.y, x14[1].x
    min r5.y, r5.y, r5.z
    mov x14[1].x, r5.y
    mov r5.y, x15[1].x
    max r5.y, r5.y, r5.z
    mov x15[1].x, r5.y
    mul r5.y, r18.z, r6.z
    mov r5.z, x14[2].x
    min r5.z, r5.z, r5.y
    mov x14[2].x, r5.z
    mov r5.z, x15[2].x
    max r5.y, r5.z, r5.y
    mov x15[2].x, r5.y
    iadd r5.x, r5.x, l(1)
  endloop
  mov r5.xy, l(0,0,0,0)
  loop
    ige r5.z, r5.x, l(3)
    mov r5.y, l(0)
    breakc_nz r5.z
    mov r5.z, x14[r5.x + 0].x
    mov r6.xyz, x13[r5.x + 0].xyzx
    dp3 r6.x, r6.xyzx, r6.xyzx
    lt r5.z, r6.x, r5.z
    if_nz r5.z
      mov r5.y, l(-1)
      break
    endif
    mov r6.x, x15[r5.x + 0].x
    mov r6.yzw, x13[r5.x + 0].xxyz
    dp3 r6.y, r6.yzwy, r6.yzwy
    lt r6.x, r6.x, -r6.y
    if_nz r6.x
      mov r5.y, l(-1)
      break
    endif
    or r5.y, r5.z, r6.x
    iadd r5.x, r5.x, l(1)
  endloop
  if_z r5.y
    mov x16[0].x, l(10000000.000000)
    mov x16[1].x, l(10000000.000000)
    mov x16[2].x, l(10000000.000000)
    mov x17[0].x, l(-10000000.000000)
    mov x17[1].x, l(-10000000.000000)
    mov x17[2].x, l(-10000000.000000)
    mad r6.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -cb0[r4.w + 444].xyzx
    mov r5.x, l(0)
    loop
      ige r5.z, r5.x, l(8)
      breakc_nz r5.z
      and r7.xyz, r5.xxxx, l(1, 2, 4, 0)
      movc r7.xyz, r7.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
      mad r8.xyz, r17.xyyx, r7.xxxx, r6.xyzx
      mad r7.xyw, r17.zwzz, r7.yyyy, r8.xyxz
      mad r7.xyz, r18.xyzx, r7.zzzz, r7.xywx
      dp3 r5.z, r7.xyzx, cb0[r4.w + 441].xyzx
      mov r6.w, x16[0].x
      min r6.w, r5.z, r6.w
      mov x16[0].x, r6.w
      mov r6.w, x17[0].x
      max r5.z, r5.z, r6.w
      mov x17[0].x, r5.z
      dp3 r5.z, r7.xyzx, cb0[r4.w + 442].xyzx
      mov r6.w, x16[1].x
      min r6.w, r5.z, r6.w
      mov x16[1].x, r6.w
      mov r6.w, x17[1].x
      max r5.z, r5.z, r6.w
      mov x17[1].x, r5.z
      dp3 r5.z, r7.xyzx, cb0[r4.w + 443].xyzx
      mov r6.w, x16[2].x
      min r6.w, r5.z, r6.w
      mov x16[2].x, r6.w
      mov r6.w, x17[2].x
      max r5.z, r5.z, r6.w
      mov x17[2].x, r5.z
      iadd r5.x, r5.x, l(1)
    endloop
    mov r5.xz, l(0,0,0,0)
    loop
      ige r6.x, r5.x, l(3)
      mov r5.z, l(0)
      breakc_nz r6.x
      mov r6.x, x16[r5.x + 0].x
      mov r6.yzw, x12[r5.x + 0].xxyz
      dp3 r6.y, r6.yzwy, r6.yzwy
      lt r6.x, r6.y, r6.x
      if_nz r6.x
        mov r5.z, l(-1)
        break
      endif
      mov r6.y, x17[r5.x + 0].x
      mov r7.xyz, x12[r5.x + 0].xyzx
      dp3 r6.z, r7.xyzx, r7.xyzx
      lt r6.y, r6.y, -r6.z
      if_nz r6.y
        mov r5.z, l(-1)
        break
      endif
      or r5.z, r6.x, r6.y
      iadd r5.x, r5.x, l(1)
    endloop
    not r5.x, r5.z
  else
    mov r5.x, l(0)
  endif
  if_nz r5.x
    bfi r1.w, l(1), r4.z, l(1), r1.w
  else
    mov x18[0].xyz, cb0[r4.w + 441].xyzx
    mov x18[1].xyz, cb0[r4.w + 442].xyzx
    mov x18[2].xyz, cb0[r4.w + 443].xyzx
    mov x19[0].xyz, r19.xyyx
    mov x19[1].xyz, r19.zwzz
    mov x19[2].xyz, r20.yyzy
    mov x20[0].x, l(10000000.000000)
    mov x20[1].x, l(10000000.000000)
    mov x20[2].x, l(10000000.000000)
    mov x21[0].x, l(-10000000.000000)
    mov x21[1].x, l(-10000000.000000)
    mov x21[2].x, l(-10000000.000000)
    mov r5.x, l(0)
    loop
      ige r6.x, r5.x, l(8)
      breakc_nz r6.x
      and r6.xyz, r5.xxxx, l(1, 2, 4, 0)
      movc r6.xyz, r6.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
      mad r7.xyz, cb0[r4.w + 441].xyzx, r6.xxxx, cb0[r4.w + 444].xyzx
      mad r6.xyw, cb0[r4.w + 442].xyxz, r6.yyyy, r7.xyxz
      mad r6.xyz, cb0[r4.w + 443].xyzx, r6.zzzz, r6.xywx
      mad r6.xyz, -r2.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), r6.xyzx
      mul r6.xy, r19.xwxx, r6.xyxx
      mov r6.w, x20[0].x
      min r6.w, r6.w, r6.x
      mov x20[0].x, r6.w
      mov r6.w, x21[0].x
      max r6.x, r6.w, r6.x
      mov x21[0].x, r6.x
      mov r6.x, x20[1].x
      min r6.x, r6.x, r6.y
      mov x20[1].x, r6.x
      mov r6.x, x21[1].x
      max r6.x, r6.x, r6.y
      mov x21[1].x, r6.x
      mul r6.x, r20.z, r6.z
      mov r6.y, x20[2].x
      min r6.y, r6.y, r6.x
      mov x20[2].x, r6.y
      mov r6.y, x21[2].x
      max r6.x, r6.y, r6.x
      mov x21[2].x, r6.x
      iadd r5.x, r5.x, l(1)
    endloop
    mov r5.x, l(0)
    mov r6.x, l(0)
    loop
      ige r6.y, r5.x, l(3)
      mov r6.x, l(0)
      breakc_nz r6.y
      mov r6.y, x20[r5.x + 0].x
      mov r7.xyz, x19[r5.x + 0].xyzx
      dp3 r6.z, r7.xyzx, r7.xyzx
      lt r6.y, r6.z, r6.y
      if_nz r6.y
        mov r6.x, l(-1)
        break
      endif
      mov r6.z, x21[r5.x + 0].x
      mov r7.xyz, x19[r5.x + 0].xyzx
      dp3 r6.w, r7.xyzx, r7.xyzx
      lt r6.z, r6.z, -r6.w
      if_nz r6.z
        mov r6.x, l(-1)
        break
      endif
      or r6.x, r6.y, r6.z
      iadd r5.x, r5.x, l(1)
    endloop
    if_z r6.x
      mov x22[0].x, l(10000000.000000)
      mov x22[1].x, l(10000000.000000)
      mov x22[2].x, l(10000000.000000)
      mov x23[0].x, l(-10000000.000000)
      mov x23[1].x, l(-10000000.000000)
      mov x23[2].x, l(-10000000.000000)
      mad r6.yzw, r2.yyzw, l(0.000000, 0.500000, 0.500000, 0.500000), -cb0[r4.w + 444].xxyz
      mov r5.x, l(0)
      loop
        ige r7.x, r5.x, l(8)
        breakc_nz r7.x
        and r7.xyz, r5.xxxx, l(1, 2, 4, 0)
        movc r7.xyz, r7.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(1.000000,1.000000,1.000000,0)
        mad r8.xyz, r19.xyyx, r7.xxxx, r6.yzwy
        mad r7.xyw, r19.zwzz, r7.yyyy, r8.xyxz
        mad r7.xyz, r20.xyzx, r7.zzzz, r7.xywx
        dp3 r7.w, r7.xyzx, cb0[r4.w + 441].xyzx
        mov r8.x, x22[0].x
        min r8.x, r7.w, r8.x
        mov x22[0].x, r8.x
        mov r8.x, x23[0].x
        max r7.w, r7.w, r8.x
        mov x23[0].x, r7.w
        dp3 r7.w, r7.xyzx, cb0[r4.w + 442].xyzx
        mov r8.x, x22[1].x
        min r8.x, r7.w, r8.x
        mov x22[1].x, r8.x
        mov r8.x, x23[1].x
        max r7.w, r7.w, r8.x
        mov x23[1].x, r7.w
        dp3 r7.x, r7.xyzx, cb0[r4.w + 443].xyzx
        mov r7.y, x22[2].x
        min r7.y, r7.y, r7.x
        mov x22[2].x, r7.y
        mov r7.y, x23[2].x
        max r7.x, r7.y, r7.x
        mov x23[2].x, r7.x
        iadd r5.x, r5.x, l(1)
      endloop
      mov r4.w, l(0)
      mov r5.x, l(0)
      loop
        ige r6.y, r4.w, l(3)
        mov r5.x, l(0)
        breakc_nz r6.y
        mov r6.y, x22[r4.w + 0].x
        mov r7.xyz, x18[r4.w + 0].xyzx
        dp3 r6.z, r7.xyzx, r7.xyzx
        lt r6.y, r6.z, r6.y
        if_nz r6.y
          mov r5.x, l(-1)
          break
        endif
        mov r6.z, x23[r4.w + 0].x
        mov r7.xyz, x18[r4.w + 0].xyzx
        dp3 r6.w, r7.xyzx, r7.xyzx
        lt r6.z, r6.z, -r6.w
        if_nz r6.z
          mov r5.x, l(-1)
          break
        endif
        or r5.x, r6.y, r6.z
        iadd r4.w, r4.w, l(1)
      endloop
      not r4.w, r5.x
    else
      mov r4.w, l(0)
    endif
    bfi r6.y, l(1), r4.z, l(1), r1.w
    movc r1.w, r4.w, r6.y, r1.w
  endif
  iadd r4.z, r4.z, l(1)
endloop
and r6.xyzw, r0.zzzz, l(2, 1, 4, 8)
ine r0.z, r6.w, l(0)
ge r1.x, l(100.000000), r2.x
and r0.z, r0.z, r1.x
iadd r1.x, r14.w, r14.z
if_nz r3.y
  imad r1.y, cb0[4].w, r0.y, r0.x
  ult r1.z, l(0), r1.x
  if_z r3.x
    movc r2.xyz, r6.yxzy, l(1,2,4,0), l(0,0,0,0)
    iadd r2.x, r2.y, r2.x
    iadd r2.x, r2.z, r2.x
    atomic_iadd u9, r2.x, l(1)
  endif
  ishl r2.x, r1.y, l(2)
  bfi r2.y, l(10), l(10), r0.y, l(0)
  bfi r2.y, l(10), l(0), r0.x, r2.y
  and r2.z, r3.x, l(0x00100000)
  iadd r2.y, r2.z, r2.y
  movc r5.xyz, r6.yxzy, l(0x00200000,0x00400000,1.175494351E-38,0), l(0,0,0,0)
  iadd r2.y, r2.y, r5.x
  iadd r2.y, r5.y, r2.y
  iadd r2.y, r5.z, r2.y
  and r2.z, r0.z, l(0x01000000)
  iadd r2.y, r2.z, r2.y
  and r1.z, r1.z, l(0x02000000)
  iadd r1.z, r1.z, r2.y
  bfi r2.y, l(16), l(12), r5.w, l(0)
  bfi r2.y, l(12), l(0), r13.x, r2.y
  bfi r1.w, l(5), l(12), r1.w, l(0)
  bfi r0.w, l(12), l(0), r0.w, r1.w
  store_structured u8.x, r2.x, l(0), r1.z
  bfi r1.yzw, l(0, 30, 30, 30), l(0, 2, 2, 2), r1.yyyy, l(0, 1, 2, 3)
  store_structured u8.x, r1.y, l(0), r2.y
  store_structured u8.x, r1.z, l(0), r13.y
  store_structured u8.x, r1.w, l(0), r0.w
endif
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r14.z
sync_g_t
ld_structured r0.w, r3.z, l(0), g0.xxxx
or r0.w, r0.w, r14.z
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.w
sync_g_t
ld_structured r1.y, r3.w, l(0), g0.xxxx
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r14.w
sync_g_t
ld_structured r1.z, r3.z, l(0), g0.xxxx
or r1.z, r1.z, r14.w
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r1.z
sync_g_t
ld_structured r1.w, r3.w, l(0), g0.xxxx
and r0.z, r0.z, l(1)
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
ld_structured r2.x, r3.z, l(0), g0.xxxx
movc r2.x, r2.x, l(1), l(0)
or r0.z, r0.z, r2.x
movc r0.z, r0.z, l(1), l(0)
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r0.z
sync_g_t
ld_structured r2.x, r3.w, l(0), g0.xxxx
umin r1.x, r1.x, l(1)
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r1.x
sync_g_t
ld_structured r2.y, r3.z, l(0), g0.xxxx
movc r2.y, r2.y, l(1), l(0)
or r1.x, r1.x, r2.y
movc r1.x, r1.x, l(1), l(0)
sync_g_t
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r1.x
sync_g_t
and r2.yz, r0.xxyx, l(0, 1, 1, 0)
ieq r2.yz, r2.yyzy, l(0, 0, 0, 0)
and r2.y, r2.z, r2.y
and r2.y, r2.y, r3.y
if_nz r2.y
  ushr r0.xy, r0.yxyy, l(1, 1, 0, 0)
  imad r2.y, cb0[5].y, r0.x, r0.y
  ine r2.z, r4.y, l(0)
  and r2.z, r2.z, r4.x
  or r0.w, r0.w, r1.y
  or r1.y, r1.w, r1.z
  movc r1.z, r2.x, l(1), l(0)
  or r0.z, r0.z, r1.z
  ld_structured r1.z, r3.w, l(0), g0.xxxx
  movc r1.z, r1.z, l(1), l(0)
  or r1.x, r1.z, r1.x
  if_z r2.z
    movc r1.z, r1.x, l(1), l(0)
    movc r1.w, r0.z, l(2), l(0)
    iadd r1.z, r1.w, r1.z
    atomic_iadd u11, r1.z, l(1)
  endif
  imul null, r1.z, r2.y, l(3)
  bfi r0.x, l(10), l(10), r0.x, l(0)
  bfi r0.x, l(10), l(0), r0.y, r0.x
  and r0.y, r2.z, l(0x00100000)
  iadd r0.x, r0.y, r0.x
  movc r2.xzw, r6.yyxz, l(0x00200000,0,0x00400000,1.175494351E-38), l(0,0,0,0)
  iadd r0.x, r0.x, r2.x
  iadd r0.x, r2.z, r0.x
  iadd r0.x, r2.w, r0.x
  movc r0.y, r0.z, l(2.350988702E-38), l(0)
  iadd r0.x, r0.y, r0.x
  movc r0.y, r1.x, l(9.403954807E-38), l(0)
  iadd r0.x, r0.y, r0.x
  store_structured u10.x, r1.z, l(0), r0.x
  imad r0.xy, r2.yyyy, l(3, 3, 0, 0), l(1, 2, 0, 0)
  store_structured u10.x, r0.x, l(0), r0.w
  store_structured u10.x, r0.y, l(0), r1.y
endif
ret
// Approximately 0 instruction slots used
