// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sun Jun  1 23:22:59 2025
//
//
// 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[81], immediateIndexed
dcl_constantbuffer CB1[14], immediateIndexed
dcl_constantbuffer CB13[3], immediateIndexed
dcl_constantbuffer CB14[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (uint,uint,uint,uint) t0
dcl_resource_texture2d (uint,uint,uint,uint) t1
dcl_resource_texture2d (uint,uint,uint,uint) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_uav_typed_texture2darray (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 30
dcl_constantbuffer CB12[2], immediateIndexed
dcl_thread_group 8, 8, 1
mov r30.z, l(0)
mov r0.xy, vThreadID.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r1.xy, r0.xyww, t0.xyzw
ld_indexable(texture2d)(uint,uint,uint,uint) r1.z, r0.xyww, t2.xzyw
ld_indexable(texture2d)(float,float,float,float) r1.w, r0.xyww, t3.yzwx
mul r2.z, r1.w, r1.w
and r1.z, r1.z, l(15)
switch r1.z
  case l(0)
  mov r1.z, l(0)
  break
  case l(1)
  ubfe r2.w, l(8), l(8), r1.y
  utof r2.w, r2.w
  mul r1.z, r2.w, l(0.00392156886)
  break
  case l(3)
  ubfe r2.w, l(8), l(8), r1.y
  utof r2.w, r2.w
  mul r1.z, r2.w, l(0.00392156886)
  break
  case l(2)
  ubfe r1.y, l(8), l(8), r1.y
  utof r1.y, r1.y
  mul r1.z, r1.y, l(0.00392156886)
  break
  case l(7)
  ubfe r1.y, l(6), l(22), r1.x
  utof r1.y, r1.y
  mul r1.z, r1.y, l(0.0158730168)
  break
  case l(11)
  ubfe r1.x, l(4), l(20), r1.x
  utof r1.x, r1.x
  mul r1.z, r1.x, l(0.0666666701)
  break
  default
  mov r1.z, l(0)
  break
endswitch
ne r1.x, r2.z, l(0.000000)
if_nz r1.x
  ld_indexable(texture2d)(uint,uint,uint,uint) r0.x, r0.xyzw, t1.xyzw
  mad r0.y, -r1.z, l(0.650000), l(1.065000)
  mul r0.y, r0.y, r0.y
  mul r0.y, r0.y, r0.y
  mul r0.y, r0.y, r0.y
  min r0.y, r0.y, l(1.000000)
  and r0.z, r0.x, l(1023)
  ubfe r0.x, l(10), l(10), r0.x
  utof r1.xy, r0.zxzz
  mad r0.xz, r1.xxyx, l(0.00195503421, 0.000000, 0.00195503421, 0.000000), l(-1.000000, 0.000000, -1.000000, 0.000000)
  dp2 r0.w, l(1.000000, 1.000000, 0.000000, 0.000000), |r0.xzxx|
  add r3.z, -r0.w, l(1.000000)
  add r1.xy, -|r0.zxzz|, l(1.000000, 1.000000, 0.000000, 0.000000)
  ge r4.xy, r0.xzxx, l(0.000000, 0.000000, 0.000000, 0.000000)
  movc r1.xy, r4.xyxx, r1.xyxx, -r1.xyxx
  lt r0.w, r3.z, l(0.000000)
  movc r3.xy, r0.wwww, r1.xyxx, r0.xzxx
  dp3 r0.x, r3.xyzx, r3.xyzx
  rsq r0.x, r0.x
  mul r3.xyw, r0.xxxx, r3.xyxz
  itof r0.zw, vThreadID.xxxy
  add r1.xy, r0.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
  mul r14.xyzw, r1.yyyy, cb0[37].xyzw
  mad r14.xyzw, r1.xxxx, cb0[36].xyzw, r14.xyzw
  mad r14.xyzw, r2.zzzz, cb0[38].xyzw, r14.xyzw
  add r14.xyzw, r14.xyzw, cb0[39].xyzw
  mov r11.xy, r1.xyxx
  mul r26.x, cb13[2].x, l(-0.500000)
  mad r11.x, cb12[0].x, r26.x, r11.x
  mul r24.xyzw, r1.yyyy, cb0[37].xyzw
  mad r24.xyzw, r11.xxxx, cb0[36].xyzw, r24.xyzw
  mad r24.xyzw, r2.zzzz, cb0[38].xyzw, r24.xyzw
  add r24.xyzw, r24.xyzw, cb0[39].xyzw
  div r24.xyz, r24.xyzx, r24.wwww
  mul r26.x, cb13[2].x, l(0.500000)
  mul r26.x, r26.x, cb12[0].y
  mul r26.x, r26.x, r24.w
  mad r11.x, cb12[0].x, r26.x, r11.x
  mul r4.xyzw, r1.yyyy, cb0[37].xyzw
  mad r4.xyzw, r11.xxxx, cb0[36].xyzw, r4.xyzw
  mad r4.xyzw, r2.zzzz, cb0[38].xyzw, r4.xyzw
  add r4.xyzw, r4.xyzw, cb0[39].xyzw
  div r4.xyz, r4.xyzx, r4.wwww
  and r2.w, cb1[13].y, l(0x80000000)
  imax r4.w, cb1[13].y, -cb1[13].y
  and r4.w, r4.w, l(255)
  ineg r5.x, r4.w
  movc r2.w, r2.w, r5.x, r4.w
  itof r2.w, r2.w
  mad r0.zw, r2.wwww, l(0.000000, 0.000000, 5.588238, 5.588238), r0.zzzw
  mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.0671105608, 0.00583714992)
  add r0.z, r0.w, r0.z
  frc r0.z, r0.z
  mul r0.z, r0.z, l(52.982918)
  frc r0.z, r0.z
  mul r0.zw, r0.zzzz, l(0.000000, 0.000000, 90.800003, 1.000000)
  frc r0.zw, r0.zzzw
  lt r2.w, r3.w, l(0.000000)
  movc r5.xy, r2.wwww, l(-1.000000,1.000000,0,0), l(1.000000,-1.000000,0,0)
  mad r0.x, r3.z, r0.x, r5.x
  div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
  mul r5.xzw, r3.xxyy, r3.xxxy
  mul r6.z, r0.x, r5.z
  mad r6.xy, r5.xwxx, r0.xxxx, r5.yyyy
  sqrt r0.x, r0.z
  mul r5.xyzw, r0.wzwz, l(6.28318548, 6.28318548, 2435.000000, 2435.000000)
  sincos r5.x, r7.x, r5.x
  mul r7.x, r0.x, r7.x
  mul r7.y, r0.x, r5.x
  add r0.xz, -r0.zzwz, l(1.000000, 0.000000, 1.000000, 0.000000)
  sqrt r7.z, r0.x
  mov r6.w, r3.x
  dp3 r8.x, r7.xyzx, r6.xzwx
  mov r9.xy, r6.zyzz
  mov r9.z, r3.y
  dp3 r8.y, r7.xyzx, r9.xyzx
  dp3 r8.z, r7.xyzx, r3.xywx
  mul r0.x, r1.z, r1.z
  mad r0.x, r0.x, r0.x, l(-1.000000)
  mad r0.x, r0.x, r0.w, l(1.000000)
  div r0.x, r0.z, r0.x
  sqrt r7.z, r0.x
  add r0.x, -r0.x, l(1.000000)
  sqrt r0.x, r0.x
  sincos r5.x, r10.x, r5.y
  mul r7.x, r0.x, r10.x
  mul r7.y, r0.x, r5.x
  dp3 r6.x, r7.xyzx, r6.xzwx
  dp3 r6.y, r7.xyzx, r9.xyzx
  dp3 r6.z, r7.xyzx, r3.xywx
  dp3 r0.x, r24.xyzx, r6.xyzx
  add r0.x, r0.x, r0.x
  mad r6.xyz, r6.xyzx, -r0.xxxx, r24.xyzx
  dp3 r0.x, r6.xyzx, r6.xyzx
  rsq r0.x, r0.x
  mul r6.xyz, r0.xxxx, r6.xyzx
  dp3 r0.x, r6.xyzx, r3.xywx
  lt r0.x, l(0.000000), r0.x
  frc r3.xy, r5.zwzz
  lt r0.y, r3.x, r0.y
  and r0.x, r0.y, r0.x
  movc r0.xyz, r0.xxxx, r6.xyzx, r8.xyzx
  sqrt r1.z, r3.y
  mad r1.z, r1.z, l(0.500000), l(0.500000)
  mul r1.z, r1.z, l(256.000000)
  mad r3.xyz, r0.xyzx, r1.zzzz, r4.xyzx
  mul r5.xyzw, r3.yyyy, cb0[1].xyzw
  mad r5.xyzw, r3.xxxx, cb0[0].xyzw, r5.xyzw
  mad r3.xyzw, r3.zzzz, cb0[2].xyzw, r5.xyzw
  add r3.xyzw, r3.xyzw, cb0[3].xyzw
  add r26.x, r3.w, -cb12[0].y
  mad r3.x, cb12[0].x, r26.x, r3.x
  mov r5.xyzw, r3.xyzw
  mov r2.w, l(1.000000)
  loop
    max r4.w, |r5.y|, |r5.x|
    max r4.w, |r5.z|, r4.w
    lt r4.w, |r5.w|, r4.w
    lt r6.x, l(0.100000), r2.w
    and r4.w, r4.w, r6.x
    breakc_z r4.w
    mul r2.w, r2.w, l(0.500000)
    mul r4.w, r1.z, r2.w
    mad r6.xyz, r0.xyzx, r4.wwww, r4.xyzx
    mul r7.xyzw, r6.yyyy, cb0[1].xyzw
    mad r7.xyzw, r6.xxxx, cb0[0].xyzw, r7.xyzw
    mad r6.xyzw, r6.zzzz, cb0[2].xyzw, r7.xyzw
    add r5.xyzw, r6.xyzw, cb0[3].xyzw
    add r26.x, r5.w, -cb12[0].y
    mad r5.x, cb12[0].x, r26.x, r5.x
  endloop
  lt r3.x, l(0.100000), r2.w
  if_nz r3.x
    mul r2.xy, r1.xyxx, cb1[2].zwzz
    div r3.xyz, r5.xyzx, r5.wwww
    mad r3.xyz, r3.xyzx, l(0.500000, -0.500000, 1.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
    add r3.xyz, -r2.xyzx, r3.xyzx
    max r1.x, |r3.y|, |r3.x|
    ge r1.y, r1.x, l(0.000488281250)
    if_nz r1.y
      mul r1.y, r2.z, l(0.125000)
      add r0.w, r0.w, l(-0.500000)
      min r3.w, r1.x, l(0.500000)
      div r1.x, r3.w, r1.x
      add r3.w, -r0.w, l(6.000000)
      div r1.x, r1.x, r3.w
      mul r5.xyz, r1.xxxx, r3.xyzx
      mad r5.xyz, -r5.xyzx, r0.wwww, r2.xyzx
      mov r6.xyz, r5.xyzx
      mov r0.w, l(1.000000)
      mov r2.xy, l(-0.000244140625,0,0,0)
      mov r3.w, l(0)
      mov r4.w, l(0)
      loop
        ige r5.w, r3.w, l(6)
        mov r4.w, l(0)
        breakc_nz r5.w
        mad r6.xyz, r3.xyzx, r1.xxxx, r6.xyzx
        sample_l_indexable(texture2d)(float,float,float,float) r5.w, r6.xyxx, t5.yzwx, s0, l(0.000000)
        mad r5.w, r5.w, r5.w, -r6.z
        lt r6.w, l(0.000000), r5.w
        if_nz r6.w
          lt r6.w, r2.x, l(0.000000)
          add r7.x, -r2.x, r5.w
          lt r7.y, r7.x, r1.y
          and r6.w, r6.w, r7.y
          if_nz r6.w
            div r7.x, r5.w, r7.x
            mad r0.w, r7.x, r1.x, r2.y
            mov r4.w, l(-1)
            break
          endif
          mov r4.w, r6.w
        else
          mov r4.w, l(0)
        endif
        add r2.y, r1.x, r2.y
        iadd r3.w, r3.w, l(1)
        mov r2.x, r5.w
        mov r0.w, l(1.000000)
      endloop
      movc r0.w, r4.w, r0.w, l(1.000000)
    else
      mov r0.w, l(1.000000)
    endif
    ne r1.x, r0.w, l(1.000000)
    mul r0.w, r2.w, r0.w
    movc r0.w, r1.x, r0.w, l(1.000000)
  else
    mov r0.w, l(1.000000)
  endif
  ne r1.x, r0.w, l(1.000000)
  if_nz r1.x
    sqrt r3.w, |r1.w|
    mad_sat r1.x, r0.w, l(8.000000), l(-0.500000)
    lt r1.y, l(0.000000), r1.x
    if_nz r1.y
      mul r0.w, r1.z, r0.w
      mad r0.xyz, r0.xyzx, r0.wwww, r4.xyzx
      mul r4.xyzw, r0.yyyy, cb0[78].xyzw
      mad r4.xyzw, r0.xxxx, cb0[77].xyzw, r4.xyzw
      mad r0.xyzw, r0.zzzz, cb0[79].xyzw, r4.xyzw
      add r0.xyzw, r0.xyzw, cb0[80].xyzw
      add r26.x, r0.w, -cb14[2].y
      mad r0.x, cb14[2].x, r26.x, r0.x
      div r0.xyz, r0.zxyz, r0.wwww
      mad r0.yz, r0.yyzy, l(0.000000, 0.500000, -0.500000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
      mad r1.yz, r0.yyzy, l(0.000000, 0.950000, 0.950000, 0.000000), l(0.000000, 0.025000, 0.025000, 0.000000)
      mov_sat r2.xy, r1.yzyy
      eq r1.yz, r2.xxyx, r1.yyzy
      and r0.w, r1.z, r1.y
      lt r1.y, |r0.x|, l(1.000000)
      and r0.w, r0.w, r1.y
      if_nz r0.w
        sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r0.yzyy, t4.xyzw, s1, l(0.000000)
        min r0.y, r2.z, l(1.000000)
        sqrt r0.y, r0.y
        mov_sat r0.x, r0.x
        sqrt r0.x, r0.x
        add r0.xy, -r4.wwww, r0.xyxx
        min r0.x, |r0.x|, |r0.y|
        lt r0.x, r0.x, l(0.015625)
        mul r0.yzw, r1.xxxx, r4.xxyz
        and r3.xyz, r0.yzwy, r0.xxxx
      else
        mov r3.xyz, l(0,0,0,0)
      endif
    else
      mov r3.xyz, l(0,0,0,0)
    endif
  else
    mov r3.xyzw, l(0,0,0,0)
  endif
else
  mov r3.xyzw, l(0,0,0,0)
endif
mov r30.xy, vThreadID.xyyy
store_uav_typed u0.xyzw, r30.xyzz, r3.xyzw
ret
// Approximately 0 instruction slots used
