// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.163 on Fri Oct 31 20:25:24 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[74], dynamicIndexed
dcl_constantbuffer CB7[6], immediateIndexed
dcl_constantbuffer CB2[9], immediateIndexed
dcl_constantbuffer CB13[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s13, mode_comparison
dcl_resource_structured t0, 96
dcl_resource_texture2darray (float,float,float,float) t1
dcl_resource_structured t2, 64
dcl_resource_texture3d (float,float,float,float) t3
dcl_resource_structured t11, 112
dcl_resource_structured t12, 576
dcl_resource_texture2darray (float,float,float,float) t16
dcl_uav_typed_texture3d (float,float,float,float) u0
dcl_input vThreadID.xyz
dcl_temps 35
dcl_constantbuffer CB13[2], immediateIndexed
dcl_thread_group 8, 2, 4
resinfo_indexable(texture3d)(float,float,float,float)_uint r0.xyz, l(0), u0.xyzw
uge r1.xyz, vThreadID.xyzx, r0.xyzx
or r0.w, r1.y, r1.x
or r0.w, r1.z, r0.w
if_nz r0.w
  ret
endif
utof r0.xyz, r0.xyzx
add r1.xyz, r0.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
utof r2.xyz, vThreadID.xyzx
mul r0.zw, r1.xxxy, cb0[49].xxxy
div r0.zw, r2.xxxy, r0.zzzw
mad r0.z, cb13[0].x, l(-0.500000), r0.z
div r1.z, r2.z, r1.z
add r1.w, r1.z, cb2[8].z
add r2.x, l(1.000000), -cb7[1].x
mad r1.w, r1.w, r2.x, cb7[1].x
add r2.yzw, -cb2[4].xxyz, cb2[5].xxyz
mad r2.yzw, r0.zzzz, r2.yyzw, cb2[4].xxyz
add r3.xyz, cb2[6].xyzx, -cb2[7].xyzx
mad r3.xyz, r0.zzzz, r3.xyzx, cb2[7].xyzx
add r3.xyz, -r2.yzwy, r3.xyzx
mad r2.yzw, r0.wwww, r3.xxyz, r2.yyzw
mul r3.xyz, r1.wwww, r2.yzwy
mov r4.x, cb0[4].w
mov r4.y, cb0[5].w
mov r4.z, cb0[6].w
mul r27.x, cb13[0].y, cb0[0].x
mul r27.y, cb13[0].y, cb0[0].y
mul r27.z, cb13[0].y, cb0[0].z
div r27.xyz, r27.xyzx, cb0[8].x
mad r4.xyz, cb13[0].xxxx, r27.xyzx, r4.xyzx
mad r5.xyz, r2.yzwy, r1.wwww, r4.xyzx
mov r5.w, l(1.000000)
dp4 r0.z, cb0[2].xyzw, r5.xyzw
ieq r0.w, l(4), cb0[27].w
lt r6.xyz, cb0[57].zyxz, -r0.zzzz
and r0.w, r0.w, r6.x
and r1.w, r6.z, l(1)
movc r1.w, r6.y, l(2), r1.w
movc r0.w, r0.w, l(3), r1.w
ishl r1.w, r0.w, l(2)
dp4 r6.x, r5.xyzw, cb0[r1.w + 58].xyzw
dp4 r6.y, r5.xyzw, cb0[r1.w + 59].xyzw
dp4 r6.z, r5.xyzw, cb0[r1.w + 60].xyzw
dp4 r1.w, r5.xyzw, cb0[r1.w + 61].xyzw
div r6.xyz, r6.xyzx, r1.wwww
mov_sat r7.xy, r6.xyxx
itof r7.z, r0.w
sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.w, r7.xyzx, t16.xxxx, s13, r6.z
add r1.w, -r0.z, -cb0[50].w
mul_sat r1.w, r1.w, cb0[57].w
add r3.w, -r0.w, l(1.000000)
mad r0.w, r1.w, r3.w, r0.w
mov r6.xyzw, l(0,0,0,0)
mov r1.w, l(0)
mov r3.w, l(0)
mov r4.w, l(0)
loop
  uge r7.x, r4.w, cb7[1].w
  breakc_nz r7.x
  ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r7.xy, r4.w, l(88), t0.xyxx
  if_z r7.y
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r8.x, r4.w, l(12), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r8.y, r4.w, l(28), t0.xxxx
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r8.z, r4.w, l(44), t0.xxxx
    add r7.yzw, -r5.xxyz, r8.xxyz
    dp3 r7.y, r7.yzwy, r7.yzwy
    sqrt r7.y, r7.y
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r7.zw, r4.w, l(80), t0.xxxy
    mul r7.y, r7.z, r7.y
    log r7.y, |r7.y|
    mul r7.y, r7.y, r7.w
    exp r7.y, r7.y
    add r7.y, -r7.y, l(1.000000)
    max r7.y, r7.y, l(0.000000)
  else
    ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r7.z, r4.w, l(92), t0.xxxx
    ieq r7.z, r7.z, l(1)
    if_nz r7.z
      ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r8.xyzw, r4.w, l(0), t0.xyzw
      ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r9.xyzw, r4.w, l(16), t0.xyzw
      ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r10.xyzw, r4.w, l(32), t0.xyzw
      dp4 r8.x, r5.xyzw, r8.xyzw
      dp4 r8.y, r5.xyzw, r9.xyzw
      dp4 r8.z, r5.xyzw, r10.xyzw
      lt r9.xyz, r8.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
      and r7.z, r9.y, r9.x
      and r7.z, r9.z, r7.z
      lt r9.xyz, l(-0.500000, -0.500000, -0.500000, 0.000000), r8.xyzx
      and r7.w, r9.y, r9.x
      and r7.w, r9.z, r7.w
      and r7.z, r7.w, r7.z
      if_nz r7.z
        max r7.z, |r8.z|, |r8.y|
        max r7.z, r7.z, |r8.x|
        add r7.z, r7.z, r7.z
        ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r7.w, r4.w, l(84), t0.xxxx
        log r7.z, r7.z
        mul r7.z, r7.z, r7.w
        exp r7.z, r7.z
        add r7.y, -r7.z, l(1.000000)
      else
        mov r7.y, l(0)
      endif
    else
      mov r7.y, l(0)
    endif
  endif
  ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r8.xyzw, r4.w, l(64), t0.xyzw
  mad r6.xyzw, r8.xyzw, r7.yyyy, r6.xyzw
  mad r1.w, r7.x, r7.y, r1.w
  add r3.w, r3.w, r7.y
  iadd r4.w, r4.w, l(1)
endloop
lt r4.w, l(0.000000), r3.w
div r7.x, r1.w, r3.w
movc r1.w, r4.w, r7.x, r1.w
add r7.x, -r3.w, l(1.000000)
max r7.x, r7.x, l(0.000000)
add r7.y, -r1.w, cb7[0].y
mad r1.w, r7.x, r7.y, r1.w
div r8.xyzw, r6.xyzw, r3.wwww
movc r6.xyzw, r4.wwww, r8.xyzw, r6.xyzw
add r8.xyzw, -r6.xyzw, cb7[2].xyzw
mad r6.xyzw, r7.xxxx, r8.xyzw, r6.xyzw
add r0.w, r0.w, l(-1.000000)
mad r0.w, r6.w, r0.w, l(1.000000)
mul r6.xyz, r0.wwww, r6.xyzx
utof r7.xy, vThreadID.xyxx
mul r7.xy, r7.xyxx, cb7[3].xyxx
ftou r7.xy, r7.xyxx
ishl r0.w, r7.y, l(5)
iadd r3.w, r7.x, r0.w
ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r3.w, r3.w, l(572), t12.xxxx
mul r3.w, -r0.z, r3.w
min r3.w, r3.w, l(7.000000)
max r3.w, r3.w, l(0.000000)
ftou r3.w, r3.w
imad r0.w, r3.w, l(576), r0.w
iadd r0.w, r7.x, r0.w
umin r0.w, r0.w, l(4607)
ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r3.w, r0.w, l(252), t12.xxxx
umin r3.w, r3.w, l(63)
dp3 r4.w, r3.xyzx, r3.xyzx
rsq r4.w, r4.w
mul r3.xyz, r3.xyzx, r4.wwww
mov r7.xyz, l(0,0,0,0)
mov r4.w, r1.w
mov r6.w, l(0)
loop
  uge r7.w, r6.w, r3.w
  breakc_nz r7.w
  ishl r7.w, r6.w, l(2)
  ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r7.w, r0.w, r7.w, t12.xxxx
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.xyz, r7.w, l(0), t11.xyzx
  add r8.xyz, -r5.xyzx, r8.xyzx
  dp3 r8.w, r8.xyzx, r8.xyzx
  sqrt r9.x, r8.w
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.y, r7.w, l(28), t11.xxxx
  mul r9.y, r9.y, r9.x
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.z, r7.w, l(44), t11.xxxx
  log r9.y, |r9.y|
  mul r9.y, r9.y, r9.z
  exp r9.y, r9.y
  add r9.y, -r9.y, l(1.000000)
  max r9.y, r9.y, l(0.000000)
  lt r9.z, l(0.000000), r9.y
  if_nz r9.z
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r10.xyzw, r7.w, l(80), t11.xyzw
    mad r4.w, r9.y, r10.w, r4.w
    lt r9.x, l(0.000000), r9.x
    if_nz r9.x
      rsq r8.w, r8.w
      mul r8.xyz, r8.wwww, r8.xyzx
      dp3 r8.x, r3.xyzx, r8.xyzx
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r7.w, r7.w, l(76), t11.xxxx
      mad r8.y, r7.w, r7.w, l(1.000000)
      dp2 r8.x, r8.xxxx, r7.wwww
      add r8.x, -r8.x, r8.y
      mul r8.y, r8.x, r8.x
      mul r8.x, r8.x, r8.y
      max r8.x, r8.x, l(0.000000)
      sqrt r8.x, r8.x
      lt r8.y, l(0.000000), r8.x
      mad r7.w, -r7.w, r7.w, l(1.000000)
      div r7.w, r7.w, r8.x
      movc r7.w, r8.y, r7.w, l(1.000000)
      mul r9.y, r7.w, r9.y
    endif
    mad r7.xyz, r10.xyzx, r9.yyyy, r7.xyzx
  endif
  iadd r6.w, r6.w, l(1)
endloop
mad r6.xyz, r6.xyzx, cb7[0].xxxx, r7.xyzx
ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r1.w, r0.w, l(508), t12.xxxx
umin r1.w, r1.w, l(63)
mov r7.xyz, l(0,0,0,0)
mov r3.w, r4.w
mov r6.w, l(0)
loop
  uge r7.w, r6.w, r1.w
  breakc_nz r7.w
  ishl r7.w, r6.w, l(2)
  iadd r7.w, r7.w, l(256)
  ld_structured_indexable(structured_buffer, stride=576)(mixed,mixed,mixed,mixed) r7.w, r0.w, r7.w, t12.xxxx
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r8.xyz, r7.w, l(0), t11.xyzx
  add r8.xyz, -r5.xyzx, r8.xyzx
  dp3 r8.w, r8.xyzx, r8.xyzx
  rsq r9.x, r8.w
  mul r8.xyz, r8.xyzx, r9.xxxx
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.xyzw, r7.w, l(48), t11.xyzw
  dp3 r9.x, r8.xyzx, r9.xyzx
  max r9.x, r9.x, l(0.000000)
  add r9.x, -r9.x, l(1.000000)
  mul r9.x, r9.w, r9.x
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.y, r7.w, l(64), t11.xxxx
  log r9.x, r9.x
  mul r9.x, r9.x, r9.y
  exp r9.x, r9.x
  add r9.x, -r9.x, l(1.000000)
  max r9.x, r9.x, l(0.000000)
  lt r9.y, l(0.000000), r9.x
  if_nz r9.y
    sqrt r8.w, r8.w
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.y, r7.w, l(104), t11.xxxx
    lt r9.y, r8.w, r9.y
    if_nz r9.y
      iadd r9.y, r6.w, l(1)
      mov r6.w, r9.y
      continue
    endif
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.y, r7.w, l(28), t11.xxxx
    mul r9.y, r8.w, r9.y
    ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.z, r7.w, l(44), t11.xxxx
    log r9.y, |r9.y|
    mul r9.y, r9.y, r9.z
    exp r9.y, r9.y
    add r9.y, -r9.y, l(1.000000)
    max r9.y, r9.y, l(0.000000)
    mul r9.x, r9.y, r9.x
    lt r9.y, l(0.000000), r9.x
    if_nz r9.y
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r9.y, r7.w, l(100), t11.xxxx
      ine r9.z, r9.y, l(-1)
      if_nz r9.z
        ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r10.xyzw, r9.y, l(0), t2.xyzw
        ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r11.xyzw, r9.y, l(16), t2.xyzw
        ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r12.xyzw, r9.y, l(32), t2.xyzw
        ld_structured_indexable(structured_buffer, stride=64)(mixed,mixed,mixed,mixed) r13.xyzw, r9.y, l(48), t2.xyzw
        dp4 r10.x, r5.xyzw, r10.xyzw
        dp4 r10.y, r5.xyzw, r11.xyzw
        dp4 r10.z, r5.xyzw, r12.xyzw
        dp4 r9.z, r5.xyzw, r13.xyzw
        div r10.xyz, r10.xyzx, r9.zzzz
        lt r9.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r10.xxxy
        lt r11.xy, r10.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
        and r9.z, r9.z, r11.x
        and r9.z, r9.w, r9.z
        and r9.z, r11.y, r9.z
        if_nz r9.z
          itof r10.w, r9.y
          sample_c_lz_indexable(texture2darray)(float,float,float,float) r9.y, r10.xywx, t1.xxxx, s13, r10.z
          mul r9.x, r9.y, r9.x
        endif
      endif
      ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r10.xyzw, r7.w, l(80), t11.xyzw
      mad r3.w, r9.x, r10.w, r3.w
      lt r8.w, l(0.000000), r8.w
      if_nz r8.w
        dp3 r8.x, r3.xyzx, r8.xyzx
        ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r7.w, r7.w, l(76), t11.xxxx
        mad r8.y, r7.w, r7.w, l(1.000000)
        dp2 r8.x, r8.xxxx, r7.wwww
        add r8.x, -r8.x, r8.y
        mul r8.y, r8.x, r8.x
        mul r8.x, r8.x, r8.y
        max r8.x, r8.x, l(0.000000)
        sqrt r8.x, r8.x
        lt r8.y, l(0.000000), r8.x
        mad r7.w, -r7.w, r7.w, l(1.000000)
        div r7.w, r7.w, r8.x
        movc r7.w, r8.y, r7.w, l(1.000000)
        mul r9.x, r7.w, r9.x
      endif
      mad r7.xyz, r10.xyzx, r9.xxxx, r7.xyzx
    endif
  endif
  iadd r6.w, r6.w, l(1)
endloop
add r3.xyz, r6.xyzx, r7.xyzx
mul r0.w, r3.w, cb7[5].w
add r0.z, -r0.z, -cb7[1].y
mul_sat r0.z, r0.z, cb7[5].x
add r1.w, l(1.000000), -cb7[5].y
mad r0.z, r0.z, r1.w, cb7[5].y
mul r5.w, r0.z, r0.w
mul r5.xyz, r3.xyzx, r5.wwww
mad r0.z, r1.z, r2.x, cb7[1].x
mad r3.xyz, r2.yzwy, r0.zzzz, r4.xyzx
mov r3.w, l(1.000000)
dp4 r4.x, r3.xyzw, cb0[0].xyzw
dp4 r4.y, r3.xyzw, cb0[1].xyzw
dp4 r4.z, r3.xyzw, cb0[2].xyzw
dp4 r4.w, r3.xyzw, cb0[3].xyzw
dp4 r3.x, r4.xyzw, cb2[0].xyzw
dp4 r3.y, r4.xyzw, cb2[1].xyzw
dp4 r3.z, r4.xyzw, cb2[2].xyzw
dp4 r3.w, r4.xyzw, cb2[3].xyzw
dp4 r6.x, r3.xyzw, cb0[8].xyzw
dp4 r6.y, r3.xyzw, cb0[9].xyzw
dp4 r0.z, r3.xyzw, cb0[11].xyzw
add r26.x, r0.z, -cb13[2].y
mad r6.x, cb13[2].x, r26.x, r6.x
div r0.zw, r6.xxxy, r0.zzzz
mad r6.xy, r0.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
div r0.z, -r3.z, cb7[0].w
add r6.z, -r6.y, l(1.000000)
mul r1.zw, r6.xxxz, cb7[4].xxxy
mad r0.z, r0.z, cb7[0].z, -cb7[1].x
div r2.z, r0.z, r2.x
min r0.zw, r1.zzzw, cb7[4].zzzw
mad r0.zw, r0.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
div r0.xy, r1.xyxx, r0.xyxx
mul r0.xy, r0.xyxx, r0.zwzz
mad r2.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
add r0.xyzw, -r3.xyzw, r4.xyzw
dp4 r0.x, r0.xyzw, r0.xyzw
sqrt r0.x, r0.x
mul r0.x, r0.x, l(-0.144269511)
exp r0.x, r0.x
add r0.y, l(-0.200000), cb7[3].w
mad r0.x, r0.x, r0.y, l(0.200000)
ge r0.y, cb7[3].w, l(1.000000)
sample_l_indexable(texture3d)(float,float,float,float) r1.xyzw, r2.xyzx, t3.xyzw, s0, l(0.000000)
movc r1.xyzw, r0.yyyy, l(0,0,0,0), r1.xyzw
add r2.xyzw, -r1.xyzw, r5.xyzw
mad r0.xyzw, r0.xxxx, r2.xyzw, r1.xyzw
store_uav_typed u0.xyzw, vThreadID.xyzz, r0.xyzw
ret
// Approximately 0 instruction slots used
