// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Wed Nov 20 18:02:59 2024
//
//
// 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[10], immediateIndexed
dcl_constantbuffer CB1[130], immediateIndexed
dcl_constantbuffer CB2[682], dynamicIndexed
dcl_resource_buffer (float,float,float,float) t0
dcl_resource_buffer (float,float,float,float) t1
dcl_uav_typed_buffer (uint,uint,uint,uint) u0
dcl_uav_typed_buffer (uint,uint,uint,uint) u1
dcl_uav_typed_buffer (uint,uint,uint,uint) u2
dcl_input vThreadID.xyz
dcl_temps 41
dcl_thread_group 4, 4, 4
dcl_constantbuffer CB14[2], immediateIndexed
ult r0.xyz, vThreadID.xyzx, cb0[7].xyzx
and r0.x, r0.y, r0.x
and r0.x, r0.z, r0.x
if_nz r0.x
  imad r0.x, vThreadID.z, cb0[7].y, vThreadID.y
  imad r0.x, r0.x, cb0[7].x, vThreadID.x
  ishl r0.y, l(1), cb0[9].z
  utof r0.y, r0.y
  mul r0.yz, r0.yyyy, cb1[129].zzwz
  mul r0.yz, r0.yyzy, l(0.000000, 2.000000, -2.000000, 0.000000)
  utof r1.xyz, vThreadID.xyzx
  mad r1.xy, r1.xyxx, r0.yzyy, l(-1.000000, 1.000000, 0.000000, 0.000000)
  iadd r2.xyz, vThreadID.xyzx, l(1, 1, 1, 0)
  utof r2.xyw, r2.xyxz
  mad r0.yz, r2.xxyx, r0.yyzy, l(0.000000, -1.000000, 1.000000, 0.000000)
  div r0.w, r1.z, cb0[8].z
  exp r0.w, r0.w
  add r0.w, r0.w, -cb0[8].y
  div r0.w, r0.w, cb0[8].x
  ieq r1.z, vThreadID.z, cb0[7].z
  movc r0.w, r1.z, l(2000000.000000), r0.w
  movc r3.z, vThreadID.z, r0.w, l(0)
  div r0.w, r2.w, cb0[8].z
  exp r0.w, r0.w
  add r0.w, r0.w, -cb0[8].y
  div r0.w, r0.w, cb0[8].x
  ieq r1.z, r2.z, cb0[7].z
  movc r2.z, r1.z, l(2000000.000000), r0.w
  ge r0.w, cb1[35].w, l(1.000000)
  mad r1.z, r3.z, cb1[34].z, cb1[35].z
  add r1.w, r3.z, cb1[71].w
  mul r1.w, r1.w, cb1[71].z
  div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
  movc r1.z, r0.w, r1.z, r1.w
  mul r37.x, cb14[0].y, r1.z
  add r37.y, l(1.000000), r37.x
  mul r37.y, r37.y, l(2.000000)
  mad r1.x, cb14[0].x, -r37.y, r1.x
  mad r0.y, cb14[0].x, r37.y, r0.y
  mul r4.xyz, r1.yyyy, cb1[41].xywx
  mad r5.xyz, r1.xxxx, cb1[40].xywx, r4.xyzx
  mad r6.xyz, r1.zzzz, cb1[42].xywx, r5.xyzx
  add r6.xyz, r6.xyzx, cb1[43].xywx
  mul r7.xyz, r0.zzzz, cb1[41].xywx
  mad r8.xyz, r0.yyyy, cb1[40].xywx, r7.xyzx
  mad r9.xyz, r1.zzzz, cb1[42].xywx, r8.xyzx
  add r9.xyz, r9.xyzx, cb1[43].xywx
  mad r1.xyw, r1.xxxx, cb1[40].xyxw, r7.xyxz
  mad r7.xyz, r1.zzzz, cb1[42].xywx, r1.xywx
  add r7.xyz, r7.xyzx, cb1[43].xywx
  mad r4.xyz, r0.yyyy, cb1[40].xywx, r4.xyzx
  mad r10.xyz, r1.zzzz, cb1[42].xywx, r4.xyzx
  add r10.xyz, r10.xyzx, cb1[43].xywx
  mad r0.y, r2.z, cb1[34].z, cb1[35].z
  add r0.z, r2.z, cb1[71].w
  mul r0.z, r0.z, cb1[71].z
  div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
  movc r0.y, r0.w, r0.y, r0.z
  mad r5.xyz, r0.yyyy, cb1[42].xywx, r5.xyzx
  add r5.xyz, r5.xyzx, cb1[43].xywx
  mad r8.xyz, r0.yyyy, cb1[42].xywx, r8.xyzx
  add r8.xyz, r8.xyzx, cb1[43].xywx
  mad r1.xyz, r0.yyyy, cb1[42].xywx, r1.xywx
  add r1.xyz, r1.xyzx, cb1[43].xywx
  mad r0.yzw, r0.yyyy, cb1[42].xxyw, r4.xxyz
  add r0.yzw, r0.yyzw, cb1[43].xxyw
  div r4.xy, r6.xyxx, r6.zzzz
  div r4.zw, r9.xxxy, r9.zzzz
  div r6.xy, r7.xyxx, r7.zzzz
  div r6.zw, r10.xxxy, r10.zzzz
  div r5.xy, r5.xyxx, r5.zzzz
  div r5.zw, r8.xxxy, r8.zzzz
  div r1.xy, r1.xyxx, r1.zzzz
  div r0.yz, r0.yyzy, r0.wwww
  min r1.zw, r4.zzzw, r4.xxxy
  min r1.zw, r6.xxxy, r1.zzzw
  min r1.zw, r6.zzzw, r1.zzzw
  min r1.zw, r5.xxxy, r1.zzzw
  min r1.zw, r5.zzzw, r1.zzzw
  min r1.zw, r1.xxxy, r1.zzzw
  min r3.xy, r0.yzyy, r1.zwzz
  max r1.zw, r4.zzzw, r4.xxxy
  max r1.zw, r6.xxxy, r1.zzzw
  max r1.zw, r6.zzzw, r1.zzzw
  max r1.zw, r5.xxxy, r1.zzzw
  max r1.zw, r5.zzzw, r1.zzzw
  max r1.xy, r1.xyxx, r1.zwzz
  max r2.xy, r0.yzyy, r1.xyxx
  add r0.yzw, r2.xxyz, r3.xxyz
  mad r1.xyz, -r0.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), r2.xyzx
  imul null, r1.w, cb0[9].y, cb0[9].x
  ishl r1.w, r1.w, l(1)
  mov r2.x, l(0)
  loop
    uge r2.y, r2.x, cb0[8].w
    breakc_nz r2.y
    ld_indexable(buffer)(float,float,float,float) r3.xyzw, r2.xxxx, t0.xyzw
    mad r2.yzw, -r0.yyzw, l(0.000000, 0.500000, 0.500000, 0.500000), r3.xxyz
    add r2.yzw, -r1.xxyz, |r2.yyzw|
    max r2.yzw, r2.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    dp3 r2.y, r2.yzwy, r2.yzwy
    mul r2.z, r3.w, r3.w
    lt r2.y, r2.y, r2.z
    if_nz r2.y
      ld_indexable(buffer)(float,float,float,float) r4.xyzw, r2.xxxx, t1.xyzw
      lt r2.y, l(0.000000), r4.w
      mad r3.xyz, r0.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), -r3.xyzx
      mul r5.xyz, -r4.xyzx, r3.yzxy
      mad r5.xyz, r3.xyzx, -r4.yzxy, -r5.xyzx
      mul r6.xyz, -r4.yzxy, r5.xyzx
      mad r5.xyz, r5.zxyz, -r4.zxyz, -r6.xyzx
      dp3 r2.z, r5.xyzx, r5.xyzx
      rsq r2.z, r2.z
      mul r5.xyz, r2.zzzz, r5.xyzx
      mad r4.xyz, r4.wwww, r4.xyzx, -r5.xyzx
      dp3 r2.z, r3.xyzx, r4.xyzx
      dp3 r2.w, r1.xyzx, |r4.xyzx|
      ge r2.z, r2.w, r2.z
      movc r2.y, r2.y, r2.z, l(-1)
      if_nz r2.y
        imm_atomic_iadd r3.x, u0, l(0), l(1)
        ult r2.y, r3.x, r1.w
        if_nz r2.y
          imm_atomic_exch r4.x, u1, r0.x, r3.x
          ishl r2.y, r3.x, l(1)
          store_uav_typed u2.xyzw, r2.yyyy, r2.xxxx
          bfi r2.z, l(31), l(1), r3.x, l(1)
          store_uav_typed u2.xyzw, r2.zzzz, r4.xxxx
        endif
      endif
    endif
    iadd r2.x, r2.x, l(1)
  endloop
  iadd r0.x, r0.x, cb0[9].x
  mov r2.x, l(0)
  loop
    uge r2.y, r2.x, cb0[7].w
    breakc_nz r2.y
    add r2.yzw, -cb1[64].xxyz, cb2[r2.x + 341].xxyz
    add r3.xyz, cb1[76].xyzx, cb2[r2.x + 0].xyzx
    mad r2.yzw, r2.yyzw, l(0.000000, 2097152.000000, 2097152.000000, 2097152.000000), r3.xxyz
    mul r3.xyz, r2.zzzz, cb1[17].xyzx
    mad r3.xyz, r2.yyyy, cb1[16].xyzx, r3.xyzx
    mad r2.yzw, r2.wwww, cb1[18].xxyz, r3.xxyz
    add r2.yzw, r2.yyzw, cb1[19].xxyz
    mad r2.yzw, -r0.yyzw, l(0.000000, 0.500000, 0.500000, 0.500000), r2.yyzw
    add r2.yzw, -r1.xxyz, |r2.yyzw|
    max r2.yzw, r2.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
    dp3 r2.y, r2.yzwy, r2.yzwy
    mul r2.z, cb2[r2.x + 0].w, cb2[r2.x + 0].w
    lt r2.y, r2.y, r2.z
    if_nz r2.y
      imm_atomic_iadd r3.x, u0, l(0), l(1)
      ult r2.y, r3.x, r1.w
      if_nz r2.y
        imm_atomic_exch r4.x, u1, r0.x, r3.x
        ishl r2.y, r3.x, l(1)
        store_uav_typed u2.xyzw, r2.yyyy, r2.xxxx
        bfi r2.z, l(31), l(1), r3.x, l(1)
        store_uav_typed u2.xyzw, r2.zzzz, r4.xxxx
      endif
    endif
    iadd r2.x, r2.x, l(1)
  endloop
endif
ret
// Approximately 0 instruction slots used
