// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.182 on Thu Jun 15 23:29:19 2023
//
//
// 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[25], immediateIndexed
dcl_constantbuffer CB1[139], 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 (float,float,float,float) t4
dcl_uav_typed_texture2darray (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 39
dcl_constantbuffer CB12[2], immediateIndexed
dcl_thread_group 8, 8, 1
mov r39.z, l(0)
utof r0.xyzw, vThreadID.xyxy
add r1.xyzw, r0.zwww, cb0[24].xyyy
ftou r1.xyzw, r1.xyzw
utof r2.xy, r1.xwxx
lt r2.xy, r2.xyxx, cb0[24].zwzz
and r2.x, r2.y, r2.x
if_nz r2.x
  add r0.xyzw, r0.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
  mul r0.xyzw, r0.xyzw, cb0[23].zwzw
  ld_indexable(texture2d)(float,float,float,float) r2.x, l(0, 0, 0, 0), t0.xyzw
  mul r2.x, r2.x, cb1[138].z
  add r3.xy, r0.zwzz, r0.zwzz
  mad r2.y, r0.z, l(2.000000), l(-1.000000)
  mad r2.z, -r0.w, l(2.000000), l(1.000000)
  mad r0.xyzw, r0.xyzw, cb0[15].xyxy, cb0[15].zwzw
  sample_l_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r2.w, r0.zwzz, t2.yzwx, s0, l(0.000000)
  ge r27.x, cb12[0].x, l(5.000000)
  mov r21.y, r2.y
  mov r22.w, r2.w
  mul r25.w, cb12[0].y, r22.w
  mul r25.w, r25.w, l(-0.100000)
  add r25.w, r25.w, l(1.000000)
  mad r21.y, -cb12[0].x, r25.w, r21.y
  mul r4.xyz, r2.zzzz, cb1[127].xywx
  mad r4.xyz, r21.yyyy, cb1[126].xywx, r4.xyzx
  mad r2.yzw, r2.wwww, cb1[128].xxyw, r4.xxyz
  add r2.yzw, r2.yyzw, cb1[129].xxyw
  if_z r27.x
    mul r25.w, cb12[2].y, r22.w
    mul r25.w, r25.w, l(-0.100000)
    add r25.w, r2.w, r25.w
    mad r2.y, cb12[2].x, r25.w, r2.y
  else
    mul r25.w, cb12[0].y, r22.w
    mul r25.w, r25.w, l(-0.100000)
    add r25.w, r2.w, r25.w
    mad r2.y, cb12[0].x, r25.w, r2.y
  endif
  div r2.yz, r2.yyzy, r2.wwww
  mad r3.zw, r3.xxxy, l(0.000000, 0.000000, 1.000000, -1.000000), l(0.000000, 0.000000, -1.000000, 1.000000)
  add r2.yz, -r2.yyzy, r3.zzwz
  sample_l_indexable(texture2d)(float,float,float,float) r3.yz, r0.zwzz, t3.zxyw, s1, l(0.000000)
  lt r2.w, l(0.000000), r3.y
  mad r3.yz, r3.yyzy, l(0.000000, 4.008016, 4.008016, 0.000000), l(0.000000, -2.00397754, -2.00397754, 0.000000)
  movc r2.yz, r2.wwww, r3.yyzy, r2.yyzy
  mul r3.yz, r2.yyzy, cb0[23].xxyx
  add r3.yz, |r3.yyzy|, |r3.yyzy|
  add r2.w, r3.z, r3.y
  min r2.w, r2.w, l(1.000000)
  add r3.xy, r3.xwxx, l(-1.000000, 0.000000, 0.000000, 0.000000)
  add r2.yz, -r2.yyzy, r3.xxyx
  max r3.x, |r2.z|, |r2.y|
  ge r3.x, r3.x, l(1.000000)
  mul r0.xyzw, r0.xyzw, cb0[19].xyxy
  ftoi r0.xyzw, r0.xyzw
  iadd r4.xyzw, r0.zwzw, l(0, -1, -1, 0)
  imax r4.xyzw, r4.xyzw, cb0[20].xyxy
  imin r4.xyzw, r4.zwxy, cb0[20].zwzw
  mov r5.xy, r4.zwzz
  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)
  mov r4.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r4.xyzw, t1.xyzw
  dp3 r7.x, r4.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r7.y, r4.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r7.z, r4.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  imax r3.yz, r0.zzwz, cb0[20].xxyx
  imin r8.xy, r3.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 r9.x, r8.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r9.y, r8.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r9.z, r8.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  iadd r0.xyzw, r0.xyzw, l(1, 0, 0, 1)
  imax r0.xyzw, r0.xyzw, cb0[20].xyxy
  imin r0.xyzw, r0.zwxy, cb0[20].zwzw
  mov r10.xy, r0.zwzz
  mov r10.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r10.xyzw, r10.xyzw, t1.xyzw
  dp3 r11.x, r10.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r11.y, r10.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r11.z, r10.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  mov r0.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r0.xyzw, r0.xyzw, t1.xyzw
  dp3 r12.x, r0.xzyx, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r12.y, r0.xzxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r12.z, r0.xzyx, l(-1.000000, -1.000000, 2.000000, 0.000000)
  mov r6.w, r5.w
  mov r7.w, r4.w
  mul r4.xyzw, r7.xyzw, cb0[11].xxxx
  mad r4.xyzw, cb0[10].xxxx, r6.xyzw, r4.xyzw
  mov r9.w, r8.w
  mad r4.xyzw, cb0[12].xxxx, r9.xyzw, r4.xyzw
  mov r11.w, r10.w
  mad r4.xyzw, cb0[13].xxxx, r11.xyzw, r4.xyzw
  mov r12.w, r0.w
  mad r0.xyzw, cb0[14].xxxx, r12.xyzw, r4.xyzw
  min r3.yzw, r7.xxyz, r9.xxyz
  min r3.yzw, r3.yyzw, r6.xxyz
  min r4.x, r7.w, r9.w
  min r4.x, r4.x, r6.w
  min r4.yzw, r11.xxyz, r12.xxyz
  min r5.xyz, r3.yzwy, r4.yzwy
  min r3.y, r11.w, r12.w
  min r5.w, r3.y, r4.x
  max r3.yzw, r7.xxyz, r9.xxyz
  max r3.yzw, r3.yyzw, r6.xxyz
  max r4.x, r7.w, r9.w
  max r4.x, r4.x, r6.w
  max r4.yzw, r11.xxyz, r12.xxyz
  max r6.xyz, r3.yzwy, r4.yzwy
  max r3.y, r11.w, r12.w
  max r6.w, r3.y, r4.x
  max r2.yz, r2.yyzy, -cb0[17].xxyx
  min r2.yz, r2.yyzy, cb0[17].xxyx
  mad r2.yz, r2.yyzy, cb0[18].xxyx, cb0[18].zzwz
  sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r2.yzyy, t4.xyzw, s2, l(0.000000)
  mul r3.yzw, r4.xxyz, cb0[0].xxxx
  dp3 r4.x, r3.ywzy, l(1.000000, 1.000000, 2.000000, 0.000000)
  dp2 r4.y, r3.ywyy, l(2.000000, -2.000000, 0.000000, 0.000000)
  dp3 r4.z, r3.ywzy, l(-1.000000, -1.000000, 2.000000, 0.000000)
  ine r2.y, cb0[0].z, l(0)
  or r2.y, r2.y, r3.x
  max r3.xyzw, r5.xyzw, r4.xyzw
  min r3.xyzw, r6.xyzw, r3.xyzw
  add r2.z, -r5.x, r6.x
  mad r2.z, r2.z, l(128.000000), l(1.000000)
  rcp r2.z, r2.z
  mad_sat r2.z, r2.w, l(0.500000), r2.z
  add r4.xyzw, -r0.xyzw, r9.xyzw
  mad r0.xyzw, r2.zzzz, r4.xyzw, r0.xyzw
  movc r3.xyzw, r2.yyyy, r0.xyzw, r3.xyzw
  mad r2.y, r0.x, r2.x, l(4.000000)
  mad r2.x, r3.x, r2.x, l(4.000000)
  rcp r2.xy, r2.xyxx
  movc r2.zw, cb0[0].zzzz, l(0,0,1.000000,0), l(0,0,0.125000,0.875000)
  mul r4.x, r2.x, r2.w
  mul r2.y, r2.y, r2.z
  mad r2.x, r2.w, r2.x, r2.y
  rcp r2.x, r2.x
  mul r2.z, r2.x, r4.x
  mul r2.x, r2.x, r2.y
  mul r0.xyzw, r0.xyzw, r2.xxxx
  mad r0.xyzw, r3.xyzw, r2.zzzz, r0.xyzw
  lt r2.x, l(0.995000), r0.w
  movc r2.w, r2.x, l(1.000000), r0.w
  mul r3.xyz, r0.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
  add r2.xy, r3.yzyy, r3.xxxx
  mad r2.x, -r0.z, l(0.250000), r2.x
  mad r0.x, r0.x, l(0.250000), -r3.y
  mad r2.z, -r0.z, l(0.250000), r0.x
  min r0.xyzw, -r2.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  mov r0.xyzw, -r0.xyzw
  mov r39.xy, r1.xyzw
  store_uav_typed u0.xyzw, r39.xyzz, r0.xyzw
endif
ret
// Approximately 0 instruction slots used
