// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.63 on Sun Oct  9 13:48:43 2022
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// 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[90], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) 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_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2darray (float,float,float,float) t7
dcl_uav_typed_texture2darray (float,float,float,float) u8
dcl_uav_typed_texture2darray (float,float,float,float) u9
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.xy
dcl_temps 50
dcl_thread_group 64, 1, 1
dcl_constantbuffer CB12[3], immediateIndexed
mov r50.z, l(0)
and r0.x, vThreadIDInGroupFlattened.x, l(7)
ushr r0.y, vThreadIDInGroupFlattened.x, l(3)
imad r0.xy, vThreadGroupID.xyxx, l(8, 8, 0, 0), r0.xyxx
utof r1.xy, r0.xyxx
add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, cb0[3].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xyxx, t6.xywz, s1, l(0.000000)
gather4_indexable(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t6.xyzw, s0.z
mul r1.zw, r2.xxxy, l(0.000000, 0.000000, 1.000000, -1.000000)
dp2 r2.x, r2.xyxx, r2.xyxx
max r2.y, r3.z, r3.y
max r2.y, r2.y, r3.x
max r2.y, r3.w, r2.y
ne r2.x, r2.x, l(0.000000)
if_nz r2.x
  min r2.x, r3.z, r3.y
  min r2.x, r2.x, r3.x
  min r2.x, r3.w, r2.x
  max r2.x, -r2.x, l(1.000000)
  div r2.x, r2.z, r2.x
  and r3.xy, r0.xyxx, l(63, 63, 0, 0)
  and r3.z, l(7), cb0[14].w
  mov r3.w, l(0)
  ld_indexable(texture2darray)(float,float,float,float) r2.z, r3.xyzw, t7.yzxw
  mul r2.w, r2.z, l(0.250000)
  mad r3.xy, r1.zwzz, r2.wwww, r1.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t3.wxyz, s1, l(0.000000)
  mad r3.yzw, r2.zzzz, l(0.000000, 0.250000, 0.250000, 0.250000), l(0.000000, 0.250000, 0.500000, 0.750000)
  mad r4.xyzw, r1.zwzw, r3.yyzz, r1.xyxy
  sample_l_indexable(texture2d)(float,float,float,float) r2.z, r4.xyxx, t3.xywz, s1, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r4.x, r4.zwzz, t3.wxyz, s1, l(0.000000)
  mad r4.yz, r1.zzwz, r3.wwww, r1.xxyx
  sample_l_indexable(texture2d)(float,float,float,float) r4.y, r4.yzyy, t3.xwyz, s1, l(0.000000)
  lt r3.x, r2.x, r3.x
  and r2.w, r2.w, r3.x
  lt r2.z, r2.x, r2.z
  movc r2.z, r2.z, r3.y, r2.w
  lt r2.w, r2.x, r4.x
  movc r2.z, r2.w, r3.z, r2.z
  lt r2.x, r2.x, r4.y
  movc r2.x, r2.x, r3.w, r2.z
else
  mov r2.x, l(0)
endif
mad r1.zw, r1.zzzw, r2.xxxx, r1.xxxy
sample_l_indexable(texture2d)(float,float,float,float) r2.xzw, r1.zwzz, t0.xwyz, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t4.xyzw, s1, l(0.000000)
max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r1.xyxx, t5.xyzw, s1, l(0.000000)
max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r3.w, r3.w, r4.w
mad r3.xyz, r3.xyzx, r4.wwww, r4.xyzx
mul r4.x, l(4.000000), cb0[89].z
mad_sat r4.y, -r2.z, r3.w, r3.y
mad_sat r4.x, -r4.x, r4.y, l(1.000000)
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r4.yz, r0.xyww, t2.zxyw
mad r1.xy, r4.yzyy, cb0[6].zwzz, r1.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r4.yzw, r1.xyxx, t1.wxyz, s1, l(0.000000)
sample_l_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r5.xyz, r1.zwzz, t0.xyzw, s1, l(0.000000)
sample_l_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r6.xyz, r1.zwzz, t0.xyzw, s1, l(0.000000)
sample_l_aoffimmi_indexable(1,0,0)(texture2d)(float,float,float,float) r7.xyz, r1.zwzz, t0.xyzw, s1, l(0.000000)
sample_l_aoffimmi_indexable(0,1,0)(texture2d)(float,float,float,float) r1.xyz, r1.zwzz, t0.xyzw, s1, l(0.000000)
add r8.xyz, r2.xzwx, r5.xyzx
add r8.xyz, r6.xyzx, r8.xyzx
add r8.xyz, r7.xyzx, r8.xyzx
add r8.xyz, r1.xyzx, r8.xyzx
mul r8.xyz, r8.xyzx, l(0.200000, 0.200000, 0.200000, 0.000000)
mul r5.xyz, r5.xyzx, r5.xyzx
mad r5.xyz, r2.xzwx, r2.xzwx, r5.xyzx
mad r5.xyz, r6.xyzx, r6.xyzx, r5.xyzx
mad r5.xyz, r7.xyzx, r7.xyzx, r5.xyzx
mad r1.xyz, r1.xyzx, r1.xyzx, r5.xyzx
mul r5.xyz, r8.xyzx, r8.xyzx
mad r1.xyz, r1.xyzx, l(0.200000, 0.200000, 0.200000, 0.000000), -r5.xyzx
max r1.xyz, r1.xyzx, l(9.999999717E-10, 9.999999717E-10, 9.999999717E-10, 0.000000)
sqrt r1.xyz, r1.xyzx
mad r5.xyz, r8.xyzx, r3.wwww, r3.xyzx
mad r2.xzw, r2.xxzw, r3.wwww, r3.xxyz
mad r3.xyz, -r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r5.xyzx
mad r1.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r5.xyzx
max r1.w, r4.w, r4.z
max r1.w, r1.w, r4.y
add r1.w, -r1.w, l(1.000000)
rcp r1.w, r1.w
mul r4.yzw, r1.wwww, r4.yyzw
min r5.xyz, r1.xyzx, r4.yzwy
max r1.xyz, r1.xyzx, r4.yzwy
min r1.xyz, r3.xyzx, r1.xyzx
max r1.xyz, r1.xyzx, r5.xyzx
mul r1.w, r4.x, cb0[89].x
add r1.xyz, -r2.xzwx, r1.xyzx
mad r1.xyz, r1.wwww, r1.xyzx, r2.xzwx
ld_indexable(texture2d)(float,float,float,float) r3.xyz, r0.xyzw, t3.xyzw
add r3.z, r2.y, r3.z
add r0.z, |r3.y|, |r3.x|
mad r0.z, r3.z, l(4.000000), r0.z
add r0.z, r0.z, l(-2.000000)
max r0.z, r0.z, l(-1.000000)
min r0.z, r0.z, l(1.000000)
add r0.z, r0.z, l(-0.300000)
mul r0.z, r0.z, l(1.42857146)
max r2.w, r0.z, l(0.000000)
max r0.z, r1.z, r1.y
max r0.z, r0.z, r1.x
add r0.z, r0.z, l(1.000000)
rcp r0.z, r0.z
mul r2.xyz, r0.zzzz, r1.xyzx
mov r50.xy, r0.xyyy
store_uav_typed u8.xyzw, r50.xyzz, r2.xyzw
mov r3.w, l(0)
mov r50.xy, r0.xyyy
store_uav_typed u9.xyzw, r50.xyzz, r3.xyzw
ret
// Approximately 0 instruction slots used
