// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Mon Jul  6 20:07:11 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[14], immediateIndexed
dcl_constantbuffer CB1[141], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_buffer (float,float,float,float) t1
dcl_resource_buffer (float,float,float,float) t2
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 18
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 r18.z, l(0)
imad r0.x, vThreadIDInGroup.y, l(8), vThreadIDInGroup.x
imad r0.yz, vThreadID.xxyx, cb0[12].yyyy, cb0[10].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[140].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[69].x, cb1[69].y
mad r0.w, r0.w, cb1[69].z, -cb1[69].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.zw, |cb1[34].xxxy|, l(0.000000, 0.000000, 0.000010, 0.000010)
and r1.z, r1.w, r1.z
if_nz r1.z
  mov r6.x, cb1[40].x
  mov r6.y, cb1[41].y
  add r1.zw, r6.xxxy, r6.xxxy
  utof r7.xyzw, cb0[10].zwxy
  mul r6.zw, r1.zzzw, r7.xxxy
  mul r7.xy, cb0[11].xyxx, cb1[138].xyxx
  div r6.zw, r6.zzzw, r7.xxxy
  add r7.xy, r7.zwzz, -cb1[137].xyxx
  mul r1.zw, r1.zzzw, r7.xxxy
  mad r1.zw, r1.zzzw, cb1[138].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[35].w, l(1.000000)
  add r23.w, r2.z, cb1[69].w
  mul r23.w, r23.w, cb1[69].z
  div r23.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w
  mad r24.w, r2.z, cb1[34].z, cb1[35].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[10].zzzw, l(0, 0, 1, 1)
  utof r1.zw, r1.zzzw
  mul r6.xy, cb0[11].xyxx, cb1[138].xyxx
  div r1.zw, r1.zzzw, r6.xxxy
  utof r6.xy, cb0[10].xyxx
  add r6.xy, r6.xyxx, -cb1[137].xyxx
  mul r6.xy, r6.xyxx, cb1[138].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[35].w, l(1.000000)
  add r3.w, r2.z, cb1[69].w
  mul r3.w, r3.w, cb1[69].z
  div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r3.w
  mad r4.w, r2.z, cb1[34].z, cb1[35].z
  movc r3.w, r2.w, r3.w, r4.w
  mul r14.x, cb14[0].y, r3.w
  add r14.y, l(1.000000), r14.x
  mul r14.y, r14.y, l(2.000000)
  mad r6.z, cb14[0].x, -r14.y, r6.z
  mad r1.z, cb14[0].x, r14.y, r1.z
  mul r6.xyw, r6.wwww, cb1[41].xyxw
  mad r6.xyz, r6.zzzz, cb1[40].xywx, r6.xywx
  mad r7.xyz, r3.wwww, cb1[42].xywx, r6.xyzx
  add r7.xyz, r7.xyzx, cb1[43].xywx
  mul r8.xyz, r1.wwww, cb1[41].xywx
  mad r8.xyz, r1.zzzz, cb1[40].xywx, r8.xyzx
  mad r9.xyz, r3.wwww, cb1[42].xywx, r8.xyzx
  add r9.xyz, r9.xyzx, cb1[43].xywx
  add r1.z, r5.z, cb1[69].w
  mul r1.z, r1.z, cb1[69].z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
  mad r1.w, r5.z, cb1[34].z, cb1[35].z
  movc r1.z, r2.w, r1.z, r1.w
  mad r10.xyz, r1.zzzz, cb1[42].xywx, r6.xyzx
  add r10.xyz, r10.xyzx, cb1[43].xywx
  mad r11.xyz, r1.zzzz, cb1[42].xywx, r8.xyzx
  add r11.xyz, r11.xyzx, cb1[43].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[69].w
  mul r1.z, r1.z, cb1[69].z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
  mad r1.w, r4.z, cb1[34].z, cb1[35].z
  movc r1.z, r2.w, r1.z, r1.w
  mad r7.xyz, r1.zzzz, cb1[42].xywx, r6.xyzx
  add r7.xyz, r7.xyzx, cb1[43].xywx
  mad r9.xyz, r1.zzzz, cb1[42].xywx, r8.xyzx
  add r9.xyz, r9.xyzx, cb1[43].xywx
  add r1.z, r3.z, cb1[69].w
  mul r1.z, r1.z, cb1[69].z
  div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
  mad r1.w, r3.z, cb1[34].z, cb1[35].z
  movc r1.z, r2.w, r1.z, r1.w
  mad r6.xyz, r1.zzzz, cb1[42].xywx, r6.xyzx
  add r6.xyz, r6.xyzx, cb1[43].xywx
  mad r8.xyz, r1.zzzz, cb1[42].xywx, r8.xyzx
  add r8.xyz, r8.xyzx, cb1[43].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[140].zzwz, -cb1[70].wwzw
  div r0.yz, r0.yyzy, cb1[70].xxyx
  mul r0.yz, r1.yyyy, r0.yyzy
  add r17.x, r1.y, -cb14[0].y
  mad r0.y, -r17.x, cb14[0].x, r0.y
  mul r6.xyz, r0.zzzz, cb1[53].xyzx
  mad r0.yzw, r0.yyyy, cb1[52].xxyz, r6.xxyz
  mad r0.yzw, r1.yyyy, cb1[54].xxyz, r0.yyzw
  add r0.yzw, r0.yyzw, cb1[55].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[21].xyzx
  mad r6.xyw, r6.xxxx, cb1[20].xyxz, r7.xyxz
  mad r6.xyz, r6.zzzz, cb1[22].xyzx, r6.xywx
  add r6.xyz, r6.xyzx, cb1[23].xyzx
  add r6.xyz, r6.xyzx, -cb1[74].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[21].xyxz
  mad r4.xyw, r4.xxxx, cb1[20].xyxz, r5.xyxw
  mad r4.xyz, r4.zzzz, cb1[22].xyzx, r4.xywx
  add r4.xyz, r4.xyzx, cb1[23].xyzx
  add r4.xyz, r4.xyzx, -cb1[74].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
  lt r2.x, r5.z, r1.y
  mov r3.y, l(0)
  mov r5.x, l(0)
  mov r2.y, r0.x
  loop
    uge r2.z, r2.y, cb0[8].x
    breakc_nz r2.z
    ld_indexable(buffer)(float,float,float,float) r7.xyzw, r2.yyyy, t2.xyzw
    f16tof32 r2.z, r7.w
    sincos r8.x, r9.x, r2.z
    ishl r2.z, r2.y, l(1)
    ld_indexable(buffer)(float,float,float,float) r10.xyzw, r2.zzzz, t1.xyzw
    bfi r2.z, l(31), l(1), r2.y, l(1)
    ld_indexable(buffer)(float,float,float,float) r11.xyzw, r2.zzzz, t1.xyzw
    lt r2.z, |r11.y|, |r11.x|
    dp2 r2.w, r11.xzxx, r11.xzxx
    sqrt r2.w, r2.w
    div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
    mul r3.x, r2.w, -r11.z
    mul r3.z, r2.w, r11.x
    dp2 r2.w, r11.yzyy, r11.yzyy
    sqrt r2.w, r2.w
    div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
    mul r5.y, r2.w, r11.z
    mul r5.z, r2.w, -r11.y
    movc r3.xzw, r2.zzzz, r3.xxyz, r5.xxyz
    mul r5.yzw, r3.zzwx, r11.zzxy
    mad r5.yzw, r11.yyzx, r3.wwxz, -r5.yyzw
    mad r2.z, r11.w, l(0.500000), r10.w
    div r2.z, r10.w, r2.z
    mul r8.yzw, r2.zzzz, r11.xxyz
    add r9.yzw, r6.xxyz, -r10.xxyz
    dp3 r11.x, r9.yzwy, r3.xzwx
    dp3 r11.y, r9.yzwy, r5.yzwy
    dp3 r11.z, r9.yzwy, r8.yzwy
    add r9.yzw, r4.xxyz, -r10.xxyz
    dp3 r10.x, r9.yzwy, r3.xzwx
    dp3 r10.y, r9.yzwy, r5.yzwy
    dp3 r10.z, r9.yzwy, r8.yzwy
    dp3 r12.x, r7.xyzx, r3.xzwx
    dp3 r12.y, r7.xyzx, r5.yzwy
    dp3 r12.z, r7.xyzx, r8.yzwy
    dp3 r2.z, r12.xyzx, r12.xyzx
    rsq r2.z, r2.z
    mul r3.xzw, r2.zzzz, r12.xxyz
    add r2.z, r10.w, cb0[12].z
    add r2.w, r1.z, r2.z
    dp3 r4.w, -r11.xyzx, -r11.xyzx
    mul r2.w, r2.w, r2.w
    lt r2.w, r4.w, r2.w
    add r5.y, r1.z, r10.w
    div r5.z, r5.y, r8.x
    mad r7.xyz, -r5.zzzz, r3.xzwx, r11.xyzx
    dp3 r5.z, -r7.xyzx, -r7.xyzx
    dp3 r5.w, r3.xzwx, -r7.xyzx
    lt r6.w, l(0.000000), r5.w
    mul r5.w, r5.w, r5.w
    mul r7.x, r9.x, r9.x
    mul r5.z, r5.z, r7.x
    ge r5.z, r5.w, r5.z
    and r5.z, r5.z, r6.w
    dp3 r5.w, r3.xzwx, -r11.xyzx
    lt r6.w, l(0.000000), -r5.w
    mul r7.y, r5.w, r5.w
    mul r7.z, r8.x, r8.x
    mul r7.w, r4.w, r7.z
    ge r7.y, r7.y, r7.w
    and r6.w, r6.w, r7.y
    mul r7.y, r5.y, r5.y
    ge r4.w, r7.y, r4.w
    movc r4.w, r6.w, r4.w, l(-1)
    and r4.w, r4.w, r5.z
    add r5.y, -r5.y, r5.w
    lt r5.y, r5.y, cb0[12].z
    and r4.w, r4.w, r5.y
    and r2.w, r2.w, r4.w
    if_nz r2.w
      imm_atomic_iadd r9.x, g0, l(0), l(1)
      umin r2.w, r9.x, l(511)
      store_structured g2.x, r2.w, l(0), r2.y
    endif
    add r2.z, r1.w, r2.z
    dp3 r2.w, -r10.xyzx, -r10.xyzx
    mul r2.z, r2.z, r2.z
    lt r2.z, r2.w, r2.z
    add r4.w, r1.w, r10.w
    div r5.y, r4.w, r8.x
    mad r5.yzw, -r5.yyyy, r3.xxzw, r10.xxyz
    dp3 r6.w, -r5.yzwy, -r5.yzwy
    dp3 r5.y, r3.xzwx, -r5.yzwy
    lt r5.z, l(0.000000), r5.y
    mul r5.y, r5.y, r5.y
    mul r5.w, r6.w, r7.x
    ge r5.y, r5.y, r5.w
    and r5.y, r5.y, r5.z
    dp3 r3.x, r3.xzwx, -r10.xyzx
    lt r3.z, l(0.000000), -r3.x
    mul r3.w, r3.x, r3.x
    mul r5.z, r2.w, r7.z
    ge r3.w, r3.w, r5.z
    and r3.z, r3.w, r3.z
    mul r3.w, r4.w, r4.w
    ge r2.w, r3.w, r2.w
    movc r2.w, r3.z, r2.w, l(-1)
    and r2.w, r2.w, r5.y
    add r3.x, -r4.w, r3.x
    lt r3.x, r3.x, cb0[12].z
    and r2.w, r2.w, r3.x
    and r2.z, r2.w, r2.z
    if_nz r2.z
      imm_atomic_iadd r7.x, g1, l(0), l(1)
      umin r2.z, r7.x, l(511)
      iadd r2.z, r2.z, l(512)
      store_structured g2.x, r2.z, l(0), r2.y
    endif
    iadd r2.y, r2.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.x, 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[12].z
  bfi r2.x, l(1), l(9), r2.x, l(0)
  mov r3.y, l(0)
  mov r4.x, l(0)
  mov r1.x, l(1.000000)
  mov r2.y, l(0)
  loop
    uge r2.z, r2.y, r1.w
    breakc_nz r2.z
    iadd r2.z, r2.y, r2.x
    ld_structured r2.z, r2.z, l(0), g2.xxxx
    ld_indexable(buffer)(float,float,float,float) r5.xyzw, r2.zzzz, t2.xyzw
    f16tof32 r2.w, r5.w
    ushr r3.w, r5.w, l(16)
    f16tof32 r3.w, r3.w
    sincos null, r4.w, r2.w
    mad r4.w, -r4.w, l(6.28318548), l(6.28318548)
    ishl r5.w, r2.z, l(1)
    ld_indexable(buffer)(float,float,float,float) r6.xyzw, r5.wwww, t1.xyzw
    add r5.w, -r5.z, -cb0[11].z
    dp2_sat r5.w, cb0[11].wwww, r5.wwww
    add r5.w, -r5.w, l(1.000000)
    mul r5.w, r5.w, r6.w
    bfi r2.z, l(31), l(1), r2.z, l(1)
    ld_indexable(buffer)(float,float,float,float) r7.xyzw, r2.zzzz, t1.xyzw
    lt r2.z, l(0.000000), r7.w
    if_nz r2.z
      lt r2.z, |r7.y|, |r7.x|
      dp2 r6.w, r7.xzxx, r7.xzxx
      sqrt r6.w, r6.w
      div r6.w, l(1.000000, 1.000000, 1.000000, 1.000000), r6.w
      mul r3.x, r6.w, -r7.z
      mul r3.z, r6.w, r7.x
      dp2 r6.w, r7.yzyy, r7.yzyy
      sqrt r6.w, r6.w
      div r6.w, l(1.000000, 1.000000, 1.000000, 1.000000), r6.w
      mul r4.y, r6.w, r7.z
      mul r4.z, r6.w, -r7.y
      movc r8.xyz, r2.zzzz, r3.xyzx, r4.xyzx
      mul r9.xyz, r7.zxyz, r8.yzxy
      mad r9.xyz, r7.yzxy, r8.zxyz, -r9.xyzx
      mad r2.z, r7.w, l(0.500000), r5.w
      div r2.z, r5.w, r2.z
      mul r7.xyz, r2.zzzz, r7.xyzx
      add r10.xyz, r0.yzwy, -r6.xyzx
      dp3 r11.x, r10.xyzx, r8.xyzx
      dp3 r11.y, r10.xyzx, r9.xyzx
      dp3 r11.z, r10.xyzx, r7.xyzx
      dp3 r8.x, r5.xyzx, r8.xyzx
      dp3 r8.y, r5.xyzx, r9.xyzx
      dp3 r8.z, r5.xyzx, r7.xyzx
      dp3 r2.z, r11.xyzx, r11.xyzx
      sqrt r2.z, r2.z
      div r7.xyz, -r11.xyzx, r2.zzzz
      dp3 r3.x, r8.xyzx, r8.xyzx
      rsq r3.x, r3.x
      mul r5.xyz, r3.xxxx, r8.xyzx
    else
      add r6.xyz, -r0.yzwy, r6.xyzx
      dp3 r3.x, r6.xyzx, r6.xyzx
      sqrt r2.z, r3.x
      div r7.xyz, r6.xyzx, r2.zzzz
    endif
    dp3 r3.x, r7.xyzx, r5.xyzx
    mad r3.z, |r3.x|, l(-0.156583), l(1.57079637)
    add r4.y, -|r3.x|, l(1.000000)
    sqrt r4.y, r4.y
    mul r4.z, r3.z, r4.y
    ge r3.x, r3.x, l(0.000000)
    mad r3.z, -r3.z, r4.y, l(3.14159274)
    movc r3.x, r3.x, r4.z, r3.z
    div r3.z, r5.w, r2.z
    lt r4.y, r3.z, l(1.000000)
    div r4.z, l(1.000000, 1.000000, 1.000000, 1.000000), r3.z
    movc r3.z, r4.y, r3.z, r4.z
    mul r4.z, r3.z, r3.z
    mad r5.x, r4.z, l(0.0872929022), l(-0.301895)
    mad r4.z, r5.x, r4.z, l(1.000000)
    mul r5.x, r3.z, r4.z
    mad r3.z, -r4.z, r3.z, l(1.57079637)
    movc r3.z, r4.y, r5.x, r3.z
    max r4.y, r2.w, r3.z
    min r4.z, r2.w, r3.z
    add r4.y, -r4.z, r4.y
    ge r4.y, r4.y, r3.x
    sincos null, r4.z, r4.z
    mad r4.z, -r4.z, l(6.28318548), l(6.28318548)
    add r5.x, r2.w, r3.z
    ge r5.y, r3.x, r5.x
    add r2.w, r2.w, -r3.z
    add r3.x, -|r2.w|, r3.x
    add r2.w, -|r2.w|, r5.x
    div_sat r2.w, r3.x, r2.w
    add r2.w, -r2.w, l(1.000000)
    mad r3.x, r2.w, l(-2.000000), l(3.000000)
    mul r2.w, r2.w, r2.w
    mul r2.w, r2.w, r3.x
    mul r2.w, r4.z, r2.w
    movc r2.w, r5.y, l(0), r2.w
    movc r2.w, r4.y, r4.z, r2.w
    div r2.w, r2.w, r4.w
    min r2.w, r2.w, l(1.000000)
    add r2.w, -r2.w, l(1.000000)
    mul r2.z, r1.z, r2.z
    mad_sat r2.z, r2.z, l(3.000000), l(-2.000000)
    add r3.x, -r2.w, l(1.000000)
    mad r2.z, r2.z, r3.x, r2.w
    add r2.w, -r3.w, l(1.000000)
    mad r2.z, r2.z, r2.w, r3.w
    mul r1.x, r1.x, r2.z
    iadd r2.y, r2.y, 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[13].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[13].x, vThreadGroupID.x
    store_uav_typed u1.xyzw, r0.yyyy, r0.xxxx
  endif
else
  mov r1.x, l(1.000000)
endif
mov r18.xy, vThreadID.xyyy
store_uav_typed u0.xyzw, r18.xyzz, r1.xyxx
ret
// Approximately 0 instruction slots used
