// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.89 on Thu Dec  8 00:02:05 2022
//
//
// 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[26], immediateIndexed
dcl_constantbuffer CB1[145], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, 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 (uint,uint,uint,uint) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_uav_typed_texture2darray (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 32
dcl_constantbuffer CB14[2], immediateIndexed
dcl_thread_group 8, 8, 1
mov r32.z, l(0)
utof r0.xy, vThreadID.xyxx
add r1.xyzw, r0.xyyy, cb0[24].xyyy
ftou r1.xyzw, r1.xyzw
utof r0.zw, r1.xxxw
lt r0.zw, r0.zzzw, cb0[24].zzzw
and r0.z, r0.w, r0.z
if_nz r0.z
  add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  mul r0.xy, r0.xyxx, cb0[16].zwzz
  min r0.xy, r0.xyxx, cb0[16].xyxx
  ld_indexable(texture2d)(float,float,float,float) r0.z, l(0, 0, 0, 0), t0.yzxw
  mul r0.z, r0.z, cb1[135].z
  add r2.xy, r0.xyxx, r0.xyxx
  mad r0.w, r0.x, l(2.000000), l(-1.000000)
  mad r3.x, -r0.y, l(2.000000), l(1.000000)
  mad r0.xy, r0.xyxx, cb0[15].xyxx, cb0[15].zwzz
  mul r4.xyzw, r0.xyxy, cb0[19].xyxy
  round_z r3.yz, r4.zzwz
  ftoi r5.xy, r3.yzyy
  mov r5.zw, l(0,0,0,0)
  ld_indexable(texture2d)(uint,uint,uint,uint) r3.y, r5.xyzw, t4.xyzw
  and r3.y, r3.y, l(8)
  sample_l_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r5.x, r0.xyxx, t2.xyzw, s0, l(0.000000)
  sample_l_aoffimmi_indexable(-4,-4,0)(texture2d)(float,float,float,float) r3.z, r0.xyxx, t2.yzxw, s0, l(0.000000)
  sample_l_aoffimmi_indexable(4,-4,0)(texture2d)(float,float,float,float) r3.w, r0.xyxx, t2.yzwx, s0, l(0.000000)
  sample_l_aoffimmi_indexable(-4,4,0)(texture2d)(float,float,float,float) r5.w, r0.xyxx, t2.yzwx, s0, l(0.000000)
  sample_l_aoffimmi_indexable(4,4,0)(texture2d)(float,float,float,float) r6.x, r0.xyxx, t2.xyzw, s0, l(0.000000)
  lt r6.y, r3.w, r3.z
  movc r6.y, r6.y, l(-4.000000), l(4.000000)
  lt r6.w, r6.x, r5.w
  movc r7.y, r6.w, l(-4.000000), l(4.000000)
  max r3.z, r3.w, r3.z
  max r3.w, r5.w, r6.x
  lt r5.w, r3.w, r3.z
  mov r6.z, l(-4.000000)
  mov r7.z, l(4.000000)
  movc r6.xy, r5.wwww, r6.yzyy, r7.yzyy
  max r7.x, r3.w, r3.z
  lt r3.z, r5.x, r7.x
  mul r7.yz, r6.xxyx, cb0[19].zzwz
  mov r5.yz, l(0,0,0,0)
  movc r5.xyz, r3.zzzz, r7.xyzx, r5.xyzx
  ge r27.x, cb14[0].x, l(5.000000)
  mov r21.w, r0.w
  mul r25.w, cb14[0].y, r5.x
  mul r25.w, r25.w, l(-0.100000)
  add r25.w, r25.w, l(1.000000)
  mad r21.w, -cb14[0].x, r25.w, r21.w
  mul r3.xzw, r3.xxxx, cb1[123].xxyw
  mad r3.xzw, r21.wwww, cb1[122].xxyw, r3.xxzw
  mad r3.xzw, r5.xxxx, cb1[124].xxyw, r3.xxzw
  add r3.xzw, r3.xxzw, cb1[125].xxyw
  if_z r27.x
    mul r25.w, cb14[2].y, r5.x
    mul r25.w, r25.w, l(-0.100000)
    add r25.w, r3.w, r25.w
    mad r3.x, cb14[2].x, r25.w, r3.x
  else
    mul r25.w, cb14[0].y, r5.x
    mul r25.w, r25.w, l(-0.100000)
    add r25.w, r3.w, r25.w
    mad r3.x, cb14[0].x, r25.w, r3.x
  endif
  div r3.xz, r3.zzxz, r3.wwww
  mad r2.zw, r2.xxxy, l(0.000000, 0.000000, 1.000000, -1.000000), l(0.000000, 0.000000, -1.000000, 1.000000)
  add r2.yz, -r3.xxzx, r2.wwzw
  add r0.xy, r0.xyxx, r5.yzyy
  sample_l_indexable(texture2d)(float,float,float,float) r0.xy, r0.xyxx, t3.xyzw, s1, l(0.000000)
  lt r0.w, l(0.000000), r0.x
  mad r0.xy, r0.yxyy, l(4.008016, 4.008016, 0.000000, 0.000000), l(-2.00397754, -2.00397754, 0.000000, 0.000000)
  movc r0.xy, r0.wwww, r0.xyxx, r2.yzyy
  mul r2.yz, r0.yyxy, cb0[23].xxyx
  dp2 r0.w, r2.yzyy, r2.yzyy
  sqrt r0.w, r0.w
  add r2.xy, r2.wxww, l(0.000000, -1.000000, 0.000000, 0.000000)
  add r0.xy, -r0.xyxx, r2.xyxx
  max r2.x, |r0.x|, |r0.y|
  ge r2.x, r2.x, l(1.000000)
  ftoi r4.xyzw, r4.xyzw
  iadd r5.xyzw, r4.zwzw, l(0, -1, -1, 0)
  imax r5.xyzw, r5.xyzw, cb0[20].xyxy
  imin r5.xyzw, r5.zwxy, cb0[20].zwzw
  mov r6.xy, r5.zwzz
  mov r6.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r6.xyzw, r6.xyzw, t1.xyzw
  dp3 r7.x, r6.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r7.y, r6.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r7.z, r6.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  mov r5.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r5.xyzw, r5.xyzw, t1.xyzw
  dp3 r6.x, r5.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r6.y, r5.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r6.z, r5.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  imax r2.yz, r4.zzwz, cb0[20].xxyx
  imin r8.xy, r2.yzyy, cb0[20].zwzz
  mov r8.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r8.xyzw, r8.xyzw, t1.xyzw
  dp3 r5.x, r8.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r5.y, r8.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r5.z, r8.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  iadd r4.xyzw, r4.xyzw, l(1, 0, 0, 1)
  imax r4.xyzw, r4.xyzw, cb0[20].xyxy
  imin r4.xyzw, r4.zwxy, cb0[20].zwzw
  mov r9.xy, r4.zwzz
  mov r9.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r9.xyzw, r9.xyzw, t1.xyzw
  dp3 r10.x, r9.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r10.y, r9.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r10.z, r9.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  mov r4.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyzw, t1.xyzw
  dp3 r9.x, r4.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r9.y, r4.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r9.z, r4.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  lt r2.y, l(1.000000), |r8.w|
  rcp r2.z, |r8.w|
  movc r2.y, r2.y, r2.z, l(1.000000)
  add r2.z, -r6.w, r8.w
  mad_sat r2.z, -r2.z, r2.y, l(1.000000)
  mul r2.w, r2.z, cb0[10].x
  add r3.x, -r5.w, r8.w
  mad_sat r3.x, -r3.x, r2.y, l(1.000000)
  mul r3.x, r3.x, cb0[11].x
  mul r4.xyz, r6.xyzx, r3.xxxx
  mad r4.xyz, r2.wwww, r7.xyzx, r4.xyzx
  mad r2.z, cb0[10].x, r2.z, r3.x
  mad r3.xzw, cb0[12].xxxx, r5.xxyz, r4.xxyz
  add r2.z, r2.z, cb0[12].x
  add r2.w, r8.w, -r9.w
  mad_sat r2.w, -r2.w, r2.y, l(1.000000)
  mul r4.x, r2.w, cb0[13].x
  mad r3.xzw, r4.xxxx, r10.xxyz, r3.xxzw
  mad r2.z, cb0[13].x, r2.w, r2.z
  add r2.w, -r4.w, r8.w
  mad_sat r2.w, -r2.w, r2.y, l(1.000000)
  mul r4.x, r2.w, cb0[14].x
  mad r3.xzw, r4.xxxx, r9.xxyz, r3.xxzw
  mad r2.z, cb0[14].x, r2.w, r2.z
  rcp r2.z, r2.z
  mul r8.xyz, r2.zzzz, r3.xzwx
  min r4.xyz, r5.xyzx, r6.xyzx
  min r4.xyz, r4.xyzx, r7.xyzx
  min r2.w, r5.w, r8.w
  min r2.w, r2.w, r6.w
  min r11.xyz, r9.xyzx, r10.xyzx
  min r4.xyz, r4.xyzx, r11.xyzx
  min r3.z, r4.w, r9.w
  min r2.w, r2.w, r3.z
  max r5.xyz, r5.xyzx, r6.xyzx
  max r5.xyz, r5.xyzx, r7.xyzx
  max r3.z, r5.w, r8.w
  max r3.z, r3.z, r6.w
  max r6.xyz, r9.xyzx, r10.xyzx
  max r5.xyz, r5.xyzx, r6.xyzx
  max r3.w, r4.w, r9.w
  max r3.z, r3.w, r3.z
  mad r0.xy, r0.xyxx, cb0[18].yxyy, cb0[18].wzww
  max r0.xy, r0.xyxx, cb0[22].yxyy
  min r0.xy, r0.xyxx, cb0[22].wzww
  mad r6.xy, r0.yxyy, cb0[21].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
  round_ni r6.xy, r6.xyxx
  add r7.xyzw, r6.xyxy, l(0.500000, 0.500000, -0.500000, -0.500000)
  mad r0.xy, r0.xyxx, cb0[21].yxyy, -r7.yxyy
  mul r6.zw, r0.yyyx, r0.yyyx
  mul r9.xy, r0.yxyy, r6.zwzz
  mad r9.zw, r6.wwwz, r0.xxxy, r0.xxxy
  mad r9.zw, -r9.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000), r6.wwwz
  mul r10.xy, r6.wzww, l(2.500000, 2.500000, 0.000000, 0.000000)
  mad r9.xy, r9.yxyy, l(1.500000, 1.500000, 0.000000, 0.000000), -r10.xyxx
  add r9.xy, r9.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
  mad r0.xy, r6.zwzz, r0.yxyy, -r6.zwzz
  mul r6.zw, r0.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
  add r10.xy, -r9.wzww, l(1.000000, 1.000000, 0.000000, 0.000000)
  add r10.xy, -r9.yxyy, r10.xyxx
  mad r0.xy, -r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000), r10.xyxx
  add r9.xy, r0.yxyy, r9.xyxx
  div r0.xy, r0.xyxx, r9.yxyy
  add r0.xy, r0.xyxx, r7.xyxx
  add r6.xy, r6.xyxx, l(2.500000, 2.500000, 0.000000, 0.000000)
  mul r7.xy, r7.wzww, cb0[21].wzww
  mul r10.zw, r0.yyyx, cb0[21].wwwz
  mul r0.xy, r6.xyxx, cb0[21].zwzz
  mul r6.xy, r9.zwzz, r9.yxyy
  mul r3.w, r9.x, r9.y
  mul r7.zw, r6.zzzw, r9.xxxy
  add r4.w, r6.y, r6.x
  mad r4.w, r9.y, r9.x, r4.w
  mad r4.w, r6.z, r9.x, r4.w
  mad r4.w, r6.w, r9.y, r4.w
  div r4.w, l(1.000000, 1.000000, 1.000000, 1.000000), r4.w
  max r10.xy, r7.xyxx, cb0[22].yxyy
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, r10.wxww, t5.xyzw, s2, l(0.000000)
  sample_l_indexable(texture2d)(float,float,float,float) r11.xyzw, r10.yzyy, t5.xyzw, s2, l(0.000000)
  mul r11.xyzw, r6.yyyy, r11.xyzw
  mad r6.xyzw, r9.xyzw, r6.xxxx, r11.xyzw
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, r10.wzww, t5.xyzw, s2, l(0.000000)
  mad r6.xyzw, r9.xyzw, r3.wwww, r6.xyzw
  min r10.xy, r0.xyxx, cb0[22].zwzz
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, r10.xzxx, t5.xyzw, s2, l(0.000000)
  mad r6.xyzw, r9.xyzw, r7.zzzz, r6.xyzw
  sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, r10.wyww, t5.xyzw, s2, l(0.000000)
  mad r6.xyzw, r9.xyzw, r7.wwww, r6.xyzw
  mul r6.xyzw, r4.wwww, r6.xyzw
  mul r6.xyz, r6.xyzx, cb0[0].xxxx
  dp3 r7.x, r6.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r7.y, r6.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r7.z, r6.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  ine r0.x, cb0[0].z, l(0)
  or r0.x, r0.x, r2.x
  max r4.xyz, r4.xyzx, r7.xyzx
  min r4.xyz, r5.xyzx, r4.xyzx
  max r0.y, r2.w, r6.w
  min r4.w, r3.z, r0.y
  mul r0.y, r0.w, l(0.025000)
  min r0.y, r0.y, l(1.000000)
  add r0.w, -cb0[0].y, l(0.200000)
  mad r0.y, r0.y, r0.w, cb0[0].y
  mul r0.w, r7.x, l(0.010000)
  mad r2.x, r3.x, r2.z, -r7.x
  div_sat r0.w, r0.w, |r2.x|
  max r0.y, r0.w, r0.y
  add r0.w, -r4.w, r8.w
  mad_sat r0.w, -|r0.w|, r2.y, l(1.000000)
  add r0.y, r0.y, l(-1.000000)
  movc r0.y, r3.y, l(-0.750000), r0.y
  mad r0.y, r0.w, r0.y, l(1.000000)
  movc r0.y, cb0[0].z, l(1.000000), r0.y
  movc r2.xyzw, r0.xxxx, r8.xyzw, r4.xyzw
  mad r0.x, r8.x, r0.z, l(4.000000)
  mad r0.z, r2.x, r0.z, l(4.000000)
  rcp r0.xz, r0.xxzx
  add r0.w, -r0.y, l(1.000000)
  mul r3.x, r0.z, r0.w
  mul r0.x, r0.x, r0.y
  mad r0.y, r0.w, r0.z, r0.x
  rcp r0.y, r0.y
  mul r0.z, r0.y, r3.x
  mul r0.x, r0.y, r0.x
  mul r2.xyzw, r0.zzzz, r2.xyzw
  mad r0.yzw, r8.xxyz, r0.xxxx, r2.xxyz
  mad r0.x, r8.w, r0.x, r2.w
  mul r2.xyz, r0.yzwy, l(0.250000, 0.250000, 0.250000, 0.000000)
  add r3.yz, r2.yyzy, r2.xxxx
  mad r3.x, -r0.w, l(0.250000), r3.y
  mad r0.y, r0.y, l(0.250000), -r2.y
  mad r3.w, -r0.w, l(0.250000), r0.y
  min r0.yzw, -r3.xxzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  mov r2.xyz, -r0.yzwy
  ne r0.y, r0.x, r0.x
  movc r2.w, r0.y, l(0), r0.x
  min r0.xyzw, r2.xyzw, l(65504.000000, 65504.000000, 65504.000000, 65504.000000)
  imul null, r2.xy, r1.xwxx, l(0x0019660d, 0x0019660d, 0, 0)
  imul null, r2.z, cb1[144].y, l(0x0019660d)
  iadd r2.xyz, r2.xyzx, l(0x3c6ef35f, 0x3c6ef35f, 0x3c6ef35f, 0)
  imad r2.x, r2.y, r2.z, r2.x
  imad r2.y, r2.z, r2.x, r2.y
  imad r2.z, r2.x, r2.y, r2.z
  imad r2.x, r2.y, r2.z, r2.x
  ushr r2.x, r2.x, l(16)
  utof r2.x, r2.x
  mul r2.x, r2.x, l(0.0000152587891)
  frc r2.x, r2.x
  mul r2.xyz, r2.xxxx, cb0[25].xyzx
  mad r0.xyz, r0.xyzx, r2.xyzx, r0.xyzx
  mov r32.xy, r1.xyzw
  store_uav_typed u0.xyzw, r32.xyzz, r0.xyzw
endif
ret
// Approximately 0 instruction slots used
