// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sun Jun  7 23:16:56 2026
//
//
// 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[17], immediateIndexed
dcl_constantbuffer CB1[128], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_buffer (float,float,float,float) t1
dcl_uav_typed_texture2darray (float,float,float,float) u0
dcl_uav_typed_buffer (uint,uint,uint,uint) u1
dcl_input vThreadGroupID.xy
dcl_input vThreadIDInGroup.xy
dcl_input vThreadID.xy
dcl_temps 37
dcl_tgsm_raw g0, 4
dcl_tgsm_raw g1, 4
dcl_tgsm_structured g2, 4, 1024
dcl_tgsm_raw g3, 4
dcl_tgsm_raw g4, 4
dcl_tgsm_raw g5, 4
dcl_tgsm_raw g6, 4
dcl_thread_group 8, 8, 1
dcl_constantbuffer CB14[2], immediateIndexed
mov r37.z, l(0)
imad r0.x, vThreadIDInGroup.y, l(8), vThreadIDInGroup.x
imad r0.yz, vThreadID.xxyx, cb0[15].yyyy, cb0[13].xxyx
utof r0.yz, r0.yyzy
add r0.yz, r0.yyzy, l(0.000000, 0.500000, 0.500000, 0.000000)
mul r1.xy, r0.yzyy, cb1[127].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t0.yzwx, s0, l(0.000000)
mad r1.x, r0.w, cb1[61].x, cb1[61].y
mad r0.w, r0.w, cb1[61].z, -cb1[61].w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
add r1.y, r0.w, r1.x
if_z r0.x
  store_raw g3.x, l(0), l(340282346638528859811704183484516925440.000000)
  store_raw g4.x, l(0), l(0)
  store_raw g5.x, l(0), l(340282346638528859811704183484516925440.000000)
  store_raw g6.x, l(0), l(0)
  store_raw g0.x, l(0), l(0)
  store_raw g1.x, l(0), l(0)
endif
sync_g_t
lt r0.w, r1.y, l(20000.000000)
if_nz r0.w
  atomic_umin g3, l(0), r1.y
  atomic_umax g4, l(0), r1.y
endif
sync_g_t
ld_raw r2.z, l(0), g3.xxxx
ld_raw r3.z, l(0), g4.xxxx
if_nz r0.w
  add r0.w, r2.z, r3.z
  mul r0.w, r0.w, l(0.500000)
  ge r1.z, r1.y, r0.w
  if_nz r1.z
    atomic_umin g5, l(0), r1.y
  endif
  ge r0.w, r0.w, r1.y
  if_nz r0.w
    atomic_umax g6, l(0), r1.y
  endif
endif
sync_g_t
ld_raw r4.z, l(0), g5.xxxx
ld_raw r5.z, l(0), g6.xxxx
ieq r0.w, r2.z, l(0x7f7fffff)
ieq r1.z, r3.z, l(0)
and r0.w, r0.w, r1.z
lt r1.z, |cb1[29].x|, l(0.000010)
lt r1.w, |cb1[30].x|, l(0.000010)
and r1.z, r1.w, r1.z
if_nz r1.z
  mov r6.x, cb1[36].x
  mov r6.y, cb1[37].y
  add r1.zw, r6.xxxy, r6.xxxy
  utof r7.xyzw, cb0[13].zwxy
  mul r6.zw, r1.zzzw, r7.xxxy
  mul r7.xy, cb0[14].xyxx, cb1[126].xyxx
  div r6.zw, r6.zzzw, r7.xxxy
  add r7.xy, r7.zwzz, -cb1[125].xyxx
  mul r1.zw, r1.zzzw, r7.xxxy
  mad r1.zw, r1.zzzw, cb1[126].zzzw, -r6.xxxy
  utof r6.xy, vThreadGroupID.xyxx
  mad r6.xy, r6.xyxx, r6.zwzz, r1.zwzz
  mul r6.xy, r6.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
  iadd r7.xy, vThreadGroupID.xyxx, l(1, 1, 0, 0)
  utof r7.xy, r7.xyxx
  mad r21.zw, r7.xxxy, r1.zzzw, r6.xxxy
  mul r21.zw, r21.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000)
  lt r22.w, cb1[31].w, l(1.000000)
  add r23.w, r2.z, cb1[61].w
  mul r23.w, r23.w, cb1[61].z
  div r23.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w
  mad r24.w, r2.z, cb1[30].z, cb1[31].z
  movc r23.w, r22.w, r23.w, r24.w
  mul r14.x, cb14[0].y, r23.w
  add r14.y, l(1.000000), r14.x
  mul r14.y, r14.y, l(2.000000)
  mad r6.x, cb14[0].x, -r14.y, r6.x
  mad r1.z, cb14[0].x, r14.y, r1.z
  mad r1.zw, r7.xxxy, r6.zzzw, r1.zzzw
  mul r1.zw, r1.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000)
  mul r6.zw, r2.zzzz, r6.xxxy
  mul r7.xy, r5.zzzz, r6.xyxx
  min r2.xy, r6.zwzz, r7.xyxx
  mul r6.zw, r1.zzzw, r2.zzzz
  mul r7.xy, r1.zwzz, r5.zzzz
  max r5.xy, r6.zwzz, r7.xyxx
  mul r6.zw, r4.zzzz, r6.xxxy
  mul r6.xy, r3.zzzz, r6.xyxx
  min r4.xy, r6.xyxx, r6.zwzz
  mul r6.xy, r1.zwzz, r4.zzzz
  mul r1.zw, r1.zzzw, r3.zzzz
  max r3.xy, r1.zwzz, r6.xyxx
else
  ishl r1.zw, cb0[13].zzzw, l(0, 0, 1, 1)
  utof r1.zw, r1.zzzw
  mul r6.xy, cb0[14].xyxx, cb1[126].xyxx
  div r1.zw, r1.zzzw, r6.xxxy
  utof r6.xy, cb0[13].xyxx
  add r6.xy, r6.xyxx, -cb1[125].xyxx
  mul r6.xy, r6.xyxx, cb1[126].zwzz
  mad r6.xy, r6.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  utof r6.zw, vThreadGroupID.xxxy
  mad r6.zw, r6.zzzw, r1.zzzw, r6.xxxy
  mul r6.zw, r6.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000)
  iadd r7.xy, vThreadGroupID.xyxx, l(1, 1, 0, 0)
  utof r7.xy, r7.xyxx
  mad r1.zw, r7.xxxy, r1.zzzw, r6.xxxy
  mul r1.zw, r1.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000)
  lt r2.w, cb1[31].w, l(1.000000)
  add r3.w, r2.z, cb1[61].w
  mul r3.w, r3.w, cb1[61].z
  div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r3.w
  mad r4.w, r2.z, cb1[30].z, cb1[31].z
  movc r3.w, r2.w, r3.w, r4.w
  mul r13.x, cb14[0].y, r3.w
  add r13.y, l(1.000000), r13.x
  mul r13.y, r13.y, l(2.000000)
  mad r6.z, cb14[0].x, -r13.y, r6.z
  mad r1.z, cb14[0].x, r13.y, r1.z
  mul r6.xyw, r6.wwww, cb1[37].xyxw
  mad r6.xyz, r6.zzzz, cb1[36].xywx, r6.xywx
  mad r7.xyz, r3.wwww, cb1[38].xywx, r6.xyzx
  add r7.xyz, r7.xyzx, cb1[39].xywx
  mul r8.xyz, r1.wwww, cb1[37].xywx
  mad r8.xyz, r1.zzzz, cb1[36].xywx, r8.xyzx
  mad r9.xyz, r3.wwww, cb1[38].xywx, r8.xyzx
  add r9.xyz, r9.xyzx, cb1[39].xywx
  add r1.z, r5.z, cb1[61].w
  mul r1.z, r1.z, cb1[61].z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
  mad r1.w, r5.z, cb1[30].z, cb1[31].z
  movc r1.z, r2.w, r1.z, r1.w
  mad r10.xyz, r1.zzzz, cb1[38].xywx, r6.xyzx
  add r10.xyz, r10.xyzx, cb1[39].xywx
  mad r11.xyz, r1.zzzz, cb1[38].xywx, r8.xyzx
  add r11.xyz, r11.xyzx, cb1[39].xywx
  div r1.zw, r7.xxxy, r7.zzzz
  div r7.xy, r10.xyxx, r10.zzzz
  min r2.xy, r1.zwzz, r7.xyxx
  div r1.zw, r9.xxxy, r9.zzzz
  div r7.xy, r11.xyxx, r11.zzzz
  max r5.xy, r1.zwzz, r7.xyxx
  add r1.z, r4.z, cb1[61].w
  mul r1.z, r1.z, cb1[61].z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
  mad r1.w, r4.z, cb1[30].z, cb1[31].z
  movc r1.z, r2.w, r1.z, r1.w
  mad r7.xyz, r1.zzzz, cb1[38].xywx, r6.xyzx
  add r7.xyz, r7.xyzx, cb1[39].xywx
  mad r9.xyz, r1.zzzz, cb1[38].xywx, r8.xyzx
  add r9.xyz, r9.xyzx, cb1[39].xywx
  add r1.z, r3.z, cb1[61].w
  mul r1.z, r1.z, cb1[61].z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
  mad r1.w, r3.z, cb1[30].z, cb1[31].z
  movc r1.z, r2.w, r1.z, r1.w
  mad r6.xyz, r1.zzzz, cb1[38].xywx, r6.xyzx
  add r6.xyz, r6.xyzx, cb1[39].xywx
  mad r8.xyz, r1.zzzz, cb1[38].xywx, r8.xyzx
  add r8.xyz, r8.xyzx, cb1[39].xywx
  div r1.zw, r7.xxxy, r7.zzzz
  div r6.xy, r6.xyxx, r6.zzzz
  min r4.xy, r1.zwzz, r6.xyxx
  div r1.zw, r9.xxxy, r9.zzzz
  div r6.xy, r8.xyxx, r8.zzzz
  max r3.xy, r1.zwzz, r6.xyxx
endif
if_z r0.w
  mad r0.yz, r0.yyzy, cb1[127].zzwz, -cb1[62].wwzw
  div r0.yz, r0.yyzy, cb1[62].xxyx
  mul r0.yz, r1.yyyy, r0.yyzy
  add r16.x, r1.y, -cb14[0].y
  mad r0.y, -r16.x, cb14[0].x, r0.y
  mul r6.xyz, r0.zzzz, cb1[49].xyzx
  mad r0.yzw, r0.yyyy, cb1[48].xxyz, r6.xxyz
  mad r0.yzw, r1.yyyy, cb1[50].xxyz, r0.yyzw
  add r0.yzw, r0.yyzw, cb1[51].xxyz
  add r2.xyz, r2.xyzx, r5.xyzx
  mul r6.xyz, r2.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  mul r7.xyz, r6.yyyy, cb1[17].xyzx
  mad r6.xyw, r6.xxxx, cb1[16].xyxz, r7.xyxz
  mad r6.xyz, r6.zzzz, cb1[18].xyzx, r6.xywx
  add r6.xyz, r6.xyzx, cb1[19].xyzx
  add r6.xyz, r6.xyzx, -cb1[66].xyzx
  mad r2.xyz, r2.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -r5.xyzx
  dp3 r1.z, r2.xyzx, r2.xyzx
  add r2.xyz, r3.xyzx, r4.xyzx
  mul r4.xyz, r2.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  mul r5.xyw, r4.yyyy, cb1[17].xyxz
  mad r4.xyw, r4.xxxx, cb1[16].xyxz, r5.xyxw
  mad r4.xyz, r4.zzzz, cb1[18].xyzx, r4.xywx
  add r4.xyz, r4.xyzx, cb1[19].xyzx
  add r4.xyz, r4.xyzx, -cb1[66].xyzx
  mad r2.xyz, r2.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), -r3.xyzx
  dp3 r1.w, r2.xyzx, r2.xyzx
  sqrt r1.zw, r1.zzzw
  sincos r2.x, r3.x, cb0[12].x
  lt r2.y, r5.z, r1.y
  mul r2.z, r3.x, r3.x
  mul r2.w, r2.x, r2.x
  mov r3.y, r0.x
  loop
    uge r3.z, r3.y, cb0[8].x
    breakc_nz r3.z
    ishl r3.z, r3.y, l(1)
    ld_indexable(buffer)(float,float,float,float) r5.xyzw, r3.zzzz, t1.xyzw
    bfi r3.z, l(31), l(1), r3.y, l(1)
    ld_indexable(buffer)(float,float,float,float) r3.z, r3.zzzz, t1.xywz
    mad r3.z, r3.z, l(0.500000), r5.w
    add r3.w, r3.z, cb0[15].z
    add r4.w, r1.z, r3.w
    add r7.xyz, -r6.xyzx, r5.xyzx
    dp3 r5.w, r7.xyzx, r7.xyzx
    mul r4.w, r4.w, r4.w
    lt r4.w, r5.w, r4.w
    add r6.w, r1.z, r3.z
    div r7.w, r6.w, r2.x
    mad r8.xyz, -r7.wwww, cb0[9].xyzx, r6.xyzx
    add r8.xyz, r5.xyzx, -r8.xyzx
    dp3 r7.w, r8.xyzx, r8.xyzx
    dp3 r8.x, cb0[9].xyzx, r8.xyzx
    lt r8.y, l(0.000000), r8.x
    mul r8.x, r8.x, r8.x
    mul r7.w, r2.z, r7.w
    ge r7.w, r8.x, r7.w
    and r7.w, r7.w, r8.y
    dp3 r7.x, cb0[9].xyzx, r7.xyzx
    lt r7.y, l(0.000000), -r7.x
    mul r7.z, r7.x, r7.x
    mul r8.x, r2.w, r5.w
    ge r7.z, r7.z, r8.x
    and r7.y, r7.z, r7.y
    mul r7.z, r6.w, r6.w
    ge r5.w, r7.z, r5.w
    movc r5.w, r7.y, r5.w, l(-1)
    and r5.w, r5.w, r7.w
    add r6.w, -r6.w, r7.x
    lt r6.w, r6.w, cb0[15].z
    and r5.w, r5.w, r6.w
    and r4.w, r4.w, r5.w
    if_nz r4.w
      imm_atomic_iadd r7.x, g0, l(0), l(1)
      umin r4.w, r7.x, l(511)
      store_structured g2.x, r4.w, l(0), r3.y
    endif
    add r3.zw, r1.wwww, r3.zzzw
    add r7.xyz, -r4.xyzx, r5.xyzx
    dp3 r4.w, r7.xyzx, r7.xyzx
    mul r3.w, r3.w, r3.w
    lt r3.w, r4.w, r3.w
    div r5.w, r3.z, r2.x
    mad r8.xyz, -r5.wwww, cb0[9].xyzx, r4.xyzx
    add r5.xyz, r5.xyzx, -r8.xyzx
    dp3 r5.w, r5.xyzx, r5.xyzx
    dp3 r5.x, cb0[9].xyzx, r5.xyzx
    lt r5.y, l(0.000000), r5.x
    mul r5.x, r5.x, r5.x
    mul r5.z, r2.z, r5.w
    ge r5.x, r5.x, r5.z
    and r5.x, r5.x, r5.y
    dp3 r5.y, cb0[9].xyzx, r7.xyzx
    lt r5.z, l(0.000000), -r5.y
    mul r5.w, r5.y, r5.y
    mul r6.w, r2.w, r4.w
    ge r5.w, r5.w, r6.w
    and r5.z, r5.w, r5.z
    mul r5.w, r3.z, r3.z
    ge r4.w, r5.w, r4.w
    movc r4.w, r5.z, r4.w, l(-1)
    and r4.w, r4.w, r5.x
    add r3.z, -r3.z, r5.y
    lt r3.z, r3.z, cb0[15].z
    and r3.z, r3.z, r4.w
    and r3.z, r3.z, r3.w
    if_nz r3.z
      imm_atomic_iadd r5.x, g1, l(0), l(1)
      umin r3.z, r5.x, l(511)
      iadd r3.z, r3.z, l(512)
      store_structured g2.x, r3.z, l(0), r3.y
    endif
    iadd r3.y, r3.y, l(64)
  endloop
  sync_g_t
  ld_raw r0.x, l(0), g0.xxxx
  ld_raw r1.z, l(0), g1.xxxx
  movc r1.w, r2.y, r1.z, r0.x
  umin r1.w, r1.w, l(512)
  iadd r0.x, r0.x, r1.z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), cb0[15].z
  mad r2.x, -r3.x, l(6.28318548), l(6.28318548)
  bfi r2.y, l(1), l(9), r2.y, l(0)
  mov r1.x, l(1.000000)
  mov r2.z, l(0)
  loop
    uge r2.w, r2.z, r1.w
    breakc_nz r2.w
    iadd r2.w, r2.z, r2.y
    ld_structured r2.w, r2.w, l(0), g2.xxxx
    ishl r3.x, r2.w, l(1)
    ld_indexable(buffer)(float,float,float,float) r3.xyzw, r3.xxxx, t1.xyzw
    bfi r2.w, l(31), l(1), r2.w, l(1)
    ld_indexable(buffer)(float,float,float,float) r4.xyzw, r2.wwww, t1.xyzw
    lt r2.w, l(0.000000), r4.w
    if_nz r2.w
      add r5.xyz, -r0.yzwy, r3.xyzx
      mul r4.xyzw, r4.wwww, r4.xyzw
      mad r6.xyz, -r4.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r5.xyzx
      mad r5.xyz, r4.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r5.xyzx
      dp3 r2.w, cb0[9].xyzx, r4.xyzx
      mad r7.xyz, r2.wwww, cb0[9].xyzx, -r4.xyzx
      mad r2.w, -r2.w, r2.w, r4.w
      dp3 r4.w, r6.xyzx, r7.xyzx
      div_sat r2.w, r4.w, r2.w
      mad r4.xyz, r2.wwww, r4.xyzx, r6.xyzx
      dp3 r2.w, r4.xyzx, r4.xyzx
      sqrt r2.w, r2.w
      div r4.xyz, r4.xyzx, r2.wwww
      dp3 r4.w, r6.xyzx, r6.xyzx
      sqrt r4.w, r4.w
      min r2.w, r2.w, r4.w
      dp3 r4.w, r5.xyzx, r5.xyzx
      sqrt r4.w, r4.w
      min r2.w, r2.w, r4.w
    else
      add r3.xyz, -r0.yzwy, r3.xyzx
      dp3 r4.w, r3.xyzx, r3.xyzx
      sqrt r2.w, r4.w
      div r4.xyz, r3.xyzx, r2.wwww
    endif
    dp3 r3.x, r4.xyzx, cb0[9].xyzx
    mad r3.y, |r3.x|, l(-0.156583), l(1.57079637)
    add r3.z, -|r3.x|, l(1.000000)
    sqrt r3.z, r3.z
    mul r4.x, r3.z, r3.y
    ge r3.x, r3.x, l(0.000000)
    mad r3.y, -r3.y, r3.z, l(3.14159274)
    movc r3.x, r3.x, r4.x, r3.y
    div r3.y, r3.w, r2.w
    lt r3.z, r3.y, l(1.000000)
    div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r3.y
    movc r3.y, r3.z, r3.y, r3.w
    mul r3.w, r3.y, r3.y
    mad r4.x, r3.w, l(0.0872929022), l(-0.301895)
    mad r3.w, r4.x, r3.w, l(1.000000)
    mul r4.x, r3.y, r3.w
    mad r3.y, -r3.w, r3.y, l(1.57079637)
    movc r3.y, r3.z, r4.x, r3.y
    max r3.z, r3.y, cb0[12].x
    min r3.w, r3.y, cb0[12].x
    add r3.z, -r3.w, r3.z
    ge r3.z, r3.z, r3.x
    sincos null, r3.w, r3.w
    mad r3.w, -r3.w, l(6.28318548), l(6.28318548)
    add r4.x, r3.y, cb0[12].x
    ge r4.y, r3.x, r4.x
    add r3.y, -r3.y, cb0[12].x
    add r3.x, -|r3.y|, r3.x
    add r3.y, -|r3.y|, r4.x
    div_sat r3.x, r3.x, r3.y
    add r3.x, -r3.x, l(1.000000)
    mad r3.y, r3.x, l(-2.000000), l(3.000000)
    mul r3.x, r3.x, r3.x
    mul r3.x, r3.x, r3.y
    mul r3.x, r3.w, r3.x
    movc r3.x, r4.y, l(0), r3.x
    movc r3.x, r3.z, r3.w, r3.x
    div r3.x, r3.x, r2.x
    min r3.x, r3.x, l(1.000000)
    add r3.x, -r3.x, l(1.000000)
    mul r2.w, r1.z, r2.w
    mad_sat r2.w, r2.w, l(3.000000), l(-2.000000)
    add r3.y, -r3.x, l(1.000000)
    mad r2.w, r2.w, r3.y, r3.x
    mul r1.x, r1.x, r2.w
    iadd r2.z, r2.z, l(1)
  endloop
  ieq r0.yz, vThreadIDInGroup.xxyx, l(0, 0, 0, 0)
  and r0.y, r0.z, r0.y
  ult r0.zw, vThreadGroupID.xxxy, cb0[16].xxxy
  and r0.z, r0.w, r0.z
  and r0.y, r0.z, r0.y
  if_nz r0.y
    imad r0.y, vThreadGroupID.y, cb0[16].x, vThreadGroupID.x
    store_uav_typed u1.xyzw, r0.yyyy, r0.xxxx
  endif
else
  mov r1.x, l(1.000000)
endif
mov r37.xy, vThreadID.xyyy
store_uav_typed u0.xyzw, r37.xyzz, r1.xyxx
ret
// Approximately 0 instruction slots used
