// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.163 on Mon Apr 10 23:23:12 2023
//
//
// 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[1], immediateIndexed
dcl_constantbuffer CB1[47], dynamicIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_uav_typed_texture2darray (float,float,float,float) u8
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.x
dcl_temps 50
dcl_thread_group 64, 1, 1
dcl_constantbuffer CB12[2], immediateIndexed
mov r50.z, l(0)
iadd r0.x, vThreadGroupID.x, cb0[0].z
udiv r0.x, r1.x, r0.x, cb0[0].x
ushr r0.yz, vThreadIDInGroupFlattened.xxxx, l(0, 2, 3, 0)
and r0.yz, r0.yyzy, l(0, 4, 4, 0)
xor r0.z, r0.y, r0.z
ishl r0.w, vThreadIDInGroupFlattened.x, l(1)
ushr r1.zw, l(0, 0, 0xebfa5014, 0xfa4141af), r0.wwww
bfi r2.xy, l(2, 2, 0, 0), l(0, 0, 0, 0), r1.zwzz, r0.zyzz
mov r1.y, r0.x
bfi r0.xy, l(29, 29, 0, 0), l(3, 3, 0, 0), r1.xyxx, r2.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.xyzw, r0.xyww, t2.xyzw
ld_indexable(texture2d)(float,float,float,float) r0.z, r0.xyzw, t3.xywz
min r0.w, |r1.w|, cb1[26].z
max r0.w, r0.w, l(0.000000)
add r2.x, l(-1.000000), cb1[26].z
lt r2.x, r0.w, r2.x
mul r2.y, r0.z, r0.z
mul r0.z, r0.z, r2.y
lt r2.y, l(0.000000), r0.z
and r2.x, r2.y, r2.x
if_nz r2.x
  utof r2.xy, r0.xyxx
  add r2.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  mul r2.xy, r2.xyxx, cb1[25].zwzz
  bfi r2.z, l(2), l(2), r0.y, l(0)
  bfi r2.z, l(2), l(0), r0.x, r2.z
  max r0.w, r0.w, l(0.000010)
  rcp r0.w, r0.w
  min r2.w, r0.w, l(2.000000)
  mul r2.zw, r2.wwww, cb1[r2.z + 31].xxxy
  mul r2.zw, r0.zzzz, r2.zzzw
  lt r3.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r2.zwzz
  lt r3.zw, r2.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  iadd r3.xy, -r3.xyxx, r3.zwzz
  itof r3.xy, r3.xyxx
  min r2.zw, |r2.zzzw|, cb1[26].xxxx
  mul r2.zw, r2.zzzw, r3.xxxy
  mad r3.xy, cb1[18].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r3.xyzw, r3.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r3.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r4.xyz, r1.xyzx, -r3.xyzx
  mad r3.xyz, r0.zzzz, r4.xyzx, r3.xyzx
  mul r3.xyz, r3.xyzx, cb1[18].xyzx
  mad r3.xyz, r1.xyzx, cb1[17].xyzx, r3.xyzx
  mad r4.xy, cb1[19].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r4.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r5.xyz, r1.xyzx, -r4.xyzx
  mad r4.xyz, r0.zzzz, r5.xyzx, r4.xyzx
  mad r3.xyz, cb1[19].xyzx, r4.xyzx, r3.xyzx
  mad r4.xy, cb1[20].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r4.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r5.xyz, r1.xyzx, -r4.xyzx
  mad r4.xyz, r0.zzzz, r5.xyzx, r4.xyzx
  mad r3.xyz, cb1[20].xyzx, r4.xyzx, r3.xyzx
  mad r4.xy, cb1[21].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r4.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r5.xyz, r1.xyzx, -r4.xyzx
  mad r4.xyz, r0.zzzz, r5.xyzx, r4.xyzx
  mad r3.xyz, cb1[21].xyzx, r4.xyzx, r3.xyzx
  mad r4.xy, cb1[22].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r4.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r5.xyz, r1.xyzx, -r4.xyzx
  mad r4.xyz, r0.zzzz, r5.xyzx, r4.xyzx
  mad r3.xyz, cb1[22].xyzx, r4.xyzx, r3.xyzx
  mad r4.xy, cb1[23].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r4.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r5.xyz, r1.xyzx, -r4.xyzx
  mad r4.xyz, r0.zzzz, r5.xyzx, r4.xyzx
  mad r3.xyz, cb1[23].xyzx, r4.xyzx, r3.xyzx
  mad r2.xy, cb1[24].wwww, r2.zwzz, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyzw, r2.xyxx, t2.xyzw, s0, l(0.000000)
  mad r0.z, r0.w, r2.w, l(-1.000000)
  mul_sat r0.z, |r0.z|, cb1[26].y
  add r4.xyz, r1.xyzx, -r2.xyzx
  mad r2.xyz, r0.zzzz, r4.xyzx, r2.xyzx
  mad r1.xyz, cb1[24].xyzx, r2.xyzx, r3.xyzx
endif
mov r50.xy, r0.xyyy
store_uav_typed u8.xyzw, r50.xyzz, r1.xyzw
ret
// Approximately 0 instruction slots used
