// 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[32], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2dms(0) (uint,uint,uint,uint) t15
dcl_uav_typed_texture2darray (float,float,float,float) u8
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.xy
dcl_temps 50
dcl_tgsm_structured g0, 12, 100
dcl_tgsm_structured g1, 4, 100
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 r1.xy, vThreadGroupID.xyxx, l(8, 8, 0, 0), r0.xyxx
iadd r2.xyzw, r0.xyxy, l(1, 1, 2, 1)
imad r0.zw, r2.yyyw, l(0, 0, 10, 10), r2.xxxz
ishl r2.xyzw, r0.xyyy, l(1, 0, 0, 0)
imad r2.xyzw, vThreadGroupID.xyyy, l(16, 8, 8, 8), r2.xyzw
ubfe r3.x, l(1), l(0), r1.y
ine r3.x, r3.x, l(0)
ne r3.y, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[28].x
not r3.z, r3.x
movc r3.x, r3.y, r3.z, r3.x
imul null, r3.z, vThreadIDInGroupFlattened.x, l(6554)
ishr r4.y, r3.z, l(16)
imad r4.x, r4.y, l(-10), vThreadIDInGroupFlattened.x
ilt r3.zw, r4.xxxy, l(0, 0, 10, 5)
and r3.z, r3.w, r3.z
if_nz r3.z
  ishl r5.xyzw, vThreadGroupID.xyxy, l(3, 3, 3, 3)
  imad r3.z, r4.y, l(10), r4.x
  iadd r5.xyzw, r4.xyxy, r5.xyzw
  iadd r5.xyzw, r5.zwxy, l(-1, 4, -1, -1)
  mov r6.xy, r5.zwzz
  mov r6.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r7.xyzw, r6.xyww, t8.xyzw
  mad r3.w, r7.w, l(0.000732600805), r7.x
  mad r4.zw, r7.yyyz, l(0.000000, 0.000000, 2.001957, 2.001957), l(0.000000, 0.000000, -1.000000, -1.000000)
  mul r3.w, r3.w, r3.w
  mul r7.x, r3.w, r3.w
  add r3.w, r7.x, r7.x
  mul r7.yz, r3.wwww, r4.zzwz
  mul r7.xyz, r7.xyzx, l(7.000000, 7.000000, 7.000000, 0.000000)
  ld_indexable(texture2d)(float,float,float,float) r3.w, r6.xyzw, t9.yzwx
  store_structured g0.xyz, r3.z, l(0), r7.xyzx
  store_structured g1.x, r3.z, l(0), r3.w
  iadd r3.zw, r4.xxxy, l(0, 0, 0, 5)
  imad r3.z, r3.w, l(10), r3.z
  mov r5.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r5.xyww, t8.xyzw
  mad r3.w, r4.w, l(0.000732600805), r4.x
  mad r4.xy, r4.yzyy, l(2.001957, 2.001957, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mul r3.w, r3.w, r3.w
  mul r6.x, r3.w, r3.w
  add r3.w, r6.x, r6.x
  mul r6.yz, r3.wwww, r4.xxyx
  mul r4.xyz, r6.xyzx, l(7.000000, 7.000000, 7.000000, 0.000000)
  ld_indexable(texture2d)(float,float,float,float) r3.w, r5.xyzw, t9.yzwx
  store_structured g0.xyz, r3.z, l(0), r4.xyzx
  store_structured g1.x, r3.z, l(0), r3.w
endif
sync_g_t
ftoi r4.xyzw, cb0[2].xyxy
iadd r5.xyzw, r1.xyxy, l(0, -1, -1, -1)
ilt r6.xyzw, l(0, 0, 0, 0), r5.zwxy
ilt r7.xyzw, r5.zwxy, r4.xyzw
and r6.xyzw, r6.xyzw, r7.xyzw
and r3.zw, r6.yyyw, r6.xxxz
if_nz r3.z
  imad r3.z, r0.y, l(10), r0.x
  ld_structured r6.xyz, r3.z, l(0), g0.xyzx
  mul r7.xyz, r6.xyzx, r6.xyzx
  ld_structured r3.z, r3.z, l(0), g1.xxxx
  mul r3.z, r3.z, l(255.000000)
  ftou r3.z, r3.z
  and r8.xy, r3.zzzz, l(1, 2, 0, 0)
  movc r8.xy, r8.xyxx, l(1,1,0,0), l(0,0,0,0)
  mov r3.z, l(1)
else
  mov r6.xyz, l(0,0,0,0)
  mov r7.xyz, l(0,0,0,0)
  mov r8.xy, l(0,0,0,0)
  mov r3.z, l(0)
endif
if_nz r3.w
  iadd r8.zw, r0.xxxy, l(0, 0, 1, 0)
  imad r3.w, r8.w, l(10), r8.z
  ld_structured r9.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r9.xyzx
  mad r7.xyz, r9.xyzx, r9.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r8.zw, r3.wwww, l(0, 0, 1, 2)
  movc r8.zw, r8.zzzw, l(0,0,1,1), l(0,0,0,0)
  iadd r8.xy, r8.zwzz, r8.xyxx
endif
iadd r9.xyzw, r1.xyxy, l(-1, 0, 1, -1)
ilt r10.xyzw, l(0, 0, 0, 0), r9.zwxy
ilt r11.xyzw, r9.zwxy, r4.xyzw
and r10.xyzw, r10.xyzw, r11.xyzw
and r8.zw, r10.yyyw, r10.xxxz
if_nz r8.z
  iadd r10.xy, r0.xyxx, l(2, 0, 0, 0)
  imad r3.w, r10.y, l(10), r10.x
  ld_structured r10.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r10.xyzx
  mad r7.xyz, r10.xyzx, r10.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r10.xy, r3.wwww, l(1, 2, 0, 0)
  movc r10.xy, r10.xyxx, l(1,1,0,0), l(0,0,0,0)
  iadd r8.xy, r8.xyxx, r10.xyxx
endif
if_nz r8.w
  iadd r8.zw, r0.xxxy, l(0, 0, 0, 1)
  imad r3.w, r8.w, l(10), r8.z
  ld_structured r10.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r10.xyzx
  mad r7.xyz, r10.xyzx, r10.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r8.zw, r3.wwww, l(0, 0, 1, 2)
  movc r8.zw, r8.zzzw, l(0,0,1,1), l(0,0,0,0)
  iadd r8.xy, r8.zwzz, r8.xyxx
endif
ilt r8.zw, l(0, 0, 0, 0), r1.xxxy
ilt r10.xy, r1.xyxx, r4.zwzz
and r8.zw, r8.zzzw, r10.xxxy
and r3.w, r8.w, r8.z
if_nz r3.w
  ld_structured r10.xyz, r0.z, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r10.xyzx
  mad r7.xyz, r10.xyzx, r10.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r0.z, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r8.zw, r3.wwww, l(0, 0, 1, 2)
  movc r8.zw, r8.zzzw, l(0,0,1,1), l(0,0,0,0)
  iadd r8.xy, r8.zwzz, r8.xyxx
endif
iadd r10.xyzw, r1.xyxy, l(1, 0, -1, 1)
ilt r11.xyzw, l(0, 0, 0, 0), r10.xyzw
ilt r12.xyzw, r10.xyzw, r4.xyzw
and r11.xyzw, r11.xyzw, r12.xyzw
and r8.zw, r11.yyyw, r11.xxxz
if_nz r8.z
  iadd r11.xy, r0.xyxx, l(2, 1, 0, 0)
  imad r3.w, r11.y, l(10), r11.x
  ld_structured r11.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r11.xyzx
  mad r7.xyz, r11.xyzx, r11.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r11.xy, r3.wwww, l(1, 2, 0, 0)
  movc r11.xy, r11.xyxx, l(1,1,0,0), l(0,0,0,0)
  iadd r8.xy, r8.xyxx, r11.xyxx
endif
if_nz r8.w
  iadd r8.zw, r0.xxxy, l(0, 0, 0, 2)
  imad r3.w, r8.w, l(10), r8.z
  ld_structured r11.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r11.xyzx
  mad r7.xyz, r11.xyzx, r11.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r8.zw, r3.wwww, l(0, 0, 1, 2)
  movc r8.zw, r8.zzzw, l(0,0,1,1), l(0,0,0,0)
  iadd r8.xy, r8.zwzz, r8.xyxx
endif
iadd r11.xyzw, r1.xyxy, l(0, 1, 1, 1)
ilt r8.zw, l(0, 0, 0, 0), r11.xxxy
ilt r4.xyzw, r11.xyzw, r4.xyzw
and r4.xy, r4.xyxx, r8.zwzz
and r3.w, r4.y, r4.x
if_nz r3.w
  iadd r4.xy, r0.xyxx, l(1, 2, 0, 0)
  imad r3.w, r4.y, l(10), r4.x
  ld_structured r12.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r6.xyzx, r12.xyzx
  mad r7.xyz, r12.xyzx, r12.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r4.xy, r3.wwww, l(1, 2, 0, 0)
  movc r4.xy, r4.xyxx, l(1,1,0,0), l(0,0,0,0)
  iadd r8.xy, r4.xyxx, r8.xyxx
endif
and r3.w, r4.w, r4.z
if_nz r3.w
  iadd r4.xy, r0.xyxx, l(2, 2, 0, 0)
  imad r3.w, r4.y, l(10), r4.x
  ld_structured r4.xyz, r3.w, l(0), g0.xyzx
  add r6.xyz, r4.xyzx, r6.xyzx
  mad r7.xyz, r4.xyzx, r4.xyzx, r7.xyzx
  iadd r3.z, r3.z, l(1)
  ld_structured r3.w, r3.w, l(0), g1.xxxx
  mul r3.w, r3.w, l(255.000000)
  ftou r3.w, r3.w
  and r4.xy, r3.wwww, l(1, 2, 0, 0)
  movc r4.xy, r4.xyxx, l(1,1,0,0), l(0,0,0,0)
  iadd r8.xy, r4.xyxx, r8.xyxx
endif
itof r3.z, r3.z
div r4.xyz, r6.xyzx, r3.zzzz
div r6.xyz, r7.xyzx, r3.zzzz
mad_sat r6.xyz, -r4.xyzx, r4.xyzx, r6.xyzx
sqrt r6.xyz, r6.xyzx
add r6.xyz, r6.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
ld_structured r3.z, r0.z, l(0), g1.xxxx
mad r3.z, r3.z, cb0[30].y, -cb0[29].w
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r7.xy, r1.xyww, t5.xyzw
dp2 r3.w, r7.xyxx, r7.xyxx
sqrt r3.w, r3.w
mul_sat r3.w, r3.w, cb0[28].y
ld_structured r12.xyz, r0.z, l(0), g0.xyzx
ldms_indexable(texture2dms)(uint,uint,uint,uint) r0.z, r1.xyww, t15.yzxw, l(0)
ldms_indexable(texture2dms)(uint,uint,uint,uint) r1.x, r1.xyzw, t15.xyzw, l(1)
mov r10.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(uint,uint,uint,uint) r1.y, r10.xyzw, t15.yxzw, l(0)
mov r9.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(uint,uint,uint,uint) r1.z, r9.xyzw, t15.yzxw, l(0)
movc r1.y, r3.x, r1.y, r1.z
mov r5.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(uint,uint,uint,uint) r1.z, r5.xyzw, t15.yzxw, l(0)
mov r11.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(uint,uint,uint,uint) r1.w, r11.xyzw, t15.yzwx, l(0)
ieq r4.w, r0.z, r1.x
and r4.w, r4.w, l(1)
ieq r5.x, r1.x, r1.y
iadd r4.w, r4.w, -r5.x
ieq r5.x, r1.x, r1.z
iadd r4.w, r4.w, -r5.x
ieq r5.x, r1.x, r1.w
iadd r4.w, r4.w, -r5.x
ult r4.w, r4.w, l(2)
and r5.x, r0.z, l(0xffff0000)
movc r0.z, r4.w, r5.x, r0.z
and r5.x, r1.y, l(0xffff0000)
movc r1.y, r4.w, r5.x, r1.y
and r5.xw, r1.zzzy, l(0xffff0000, 0, 0, 0xffff0000)
movc r1.z, r4.w, r5.x, r1.z
and r5.x, r1.w, l(0xffff0000)
movc r1.w, r4.w, r5.x, r1.w
and r5.x, r1.x, l(0xffff0000)
movc r1.x, r4.w, r5.x, r1.x
ld_structured r5.xyz, r0.w, l(0), g0.xyzx
iadd r9.xyzw, r0.xyxy, l(0, 1, 1, 0)
imad r7.zw, r9.yyyw, l(0, 0, 10, 10), r9.xxxz
ld_structured r9.xyz, r7.z, l(0), g0.xyzx
movc r5.xyz, r3.xxxx, r5.xyzx, r9.xyzx
ld_structured r9.xyz, r7.w, l(0), g0.xyzx
iadd r0.xy, r0.xyxx, l(1, 2, 0, 0)
imad r0.x, r0.y, l(10), r0.x
ld_structured r0.xyw, r0.x, l(0), g0.xyxz
and r4.w, r0.z, l(0xffff0000)
ine r4.w, r5.w, r4.w
add r10.xyz, -r5.xyzx, r12.xyzx
dp3 r5.w, r10.xyzx, r10.xyzx
sqrt r5.w, r5.w
add r5.w, r5.w, l(0.001000)
div r5.w, l(1.000000, 1.000000, 1.000000, 1.000000), r5.w
movc r10.w, r4.w, l(1.700000), r5.w
ieq r0.z, r0.z, r1.x
mul r10.xyz, r12.xyzx, r10.wwww
and r11.xyzw, r10.xyzw, r0.zzzz
ieq r0.z, r1.y, r1.x
add r13.w, r10.w, r11.w
mad r13.xyz, r10.wwww, r5.xyzx, r11.xyzx
movc r10.xyzw, r0.zzzz, r13.xyzw, r11.xyzw
and r0.z, r1.z, l(0xffff0000)
and r1.y, r1.w, l(0xffff0000)
ine r0.z, r0.z, r1.y
add r11.xyz, -r0.xywx, r9.xyzx
dp3 r1.y, r11.xyzx, r11.xyzx
sqrt r1.y, r1.y
add r1.y, r1.y, l(0.001000)
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r1.y
movc r0.z, r0.z, l(1.700000), r1.y
ieq r1.y, r1.z, r1.x
add r11.w, r0.z, r10.w
mad r11.xyz, r0.zzzz, r9.xyzx, r10.xyzx
movc r10.xyzw, r1.yyyy, r11.xyzw, r10.xyzw
ieq r1.x, r1.w, r1.x
add r11.w, r0.z, r10.w
mad r11.xyz, r0.zzzz, r0.xywx, r10.xyzx
movc r1.xyzw, r1.xxxx, r11.xyzw, r10.xyzw
lt r0.z, l(0.000000), r1.w
div r1.xyz, r1.xyzx, r1.wwww
add r5.xyz, r5.xyzx, r12.xyzx
add r5.xyz, r9.xyzx, r5.xyzx
add r0.xyw, r0.xyxw, r5.xyxz
mul r0.xyw, r0.xyxw, l(0.250000, 0.250000, 0.000000, 0.250000)
movc r0.xyz, r0.zzzz, r1.xyzx, r0.xywx
swapc r0.xyz, r1.xyz, r3.xxxx, r12.xyzx, r0.xyzx
utof r5.xyzw, r2.xwxw
add r5.xyzw, r5.xyzw, l(0.500000, 0.500000, 1.500000, 0.500000)
mad r5.xyzw, r5.xyzw, cb0[2].zwzw, r7.xyxy
mad r7.xyzw, cb0[2].xyxy, r5.xyzw, l(-0.500000, -0.500000, -0.500000, -0.500000)
round_ni r7.xyzw, r7.xyzw
add r9.xyzw, r7.xyxy, l(0.500000, 0.500000, -0.500000, -0.500000)
mad r8.zw, cb0[2].xxxy, r5.xxxy, -r9.xxxy
mul r10.xyzw, r8.zwzw, r8.zwzw
mul r11.xyzw, r8.zwzw, r10.zwzw
mul r12.xyzw, r10.zwzw, l(1.200000, 1.200000, 2.400000, 2.400000)
mad r12.xy, r11.wzww, l(-0.600000, -0.600000, 0.000000, 0.000000), r12.yxyy
mad r12.xy, -r8.wzww, l(0.600000, 0.600000, 0.000000, 0.000000), r12.xyxx
mad r12.zw, r11.wwwz, l(0.000000, 0.000000, 1.400000, 1.400000), -r12.wwwz
add r12.zw, r12.zzzw, l(0.000000, 0.000000, 1.000000, 1.000000)
mul r10.xyzw, r10.xyzw, l(1.800000, 1.800000, 0.600000, 0.600000)
mad r10.xy, r11.xyxx, l(-1.400000, -1.400000, 0.000000, 0.000000), r10.xyxx
mad r8.zw, r8.zzzw, l(0.000000, 0.000000, 0.600000, 0.600000), r10.xxxy
mad r10.xy, r11.zwzz, l(0.600000, 0.600000, 0.000000, 0.000000), -r10.zwzz
add r10.zw, r8.wwwz, r12.zzzw
div r8.zw, r8.zzzw, r10.wwwz
add r8.zw, r8.zzzw, r9.xxxy
mul r11.xy, r8.zwzz, cb0[2].zwzz
mul r11.zw, r9.zzzw, cb0[2].zzzw
add r9.xyzw, r7.xyzw, l(2.500000, 2.500000, 0.500000, 0.500000)
mul r13.xy, r9.xyxx, cb0[2].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r11.xyxx, t7.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r15.xyz, r11.xwxx, t7.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r16.xyz, r11.zyzz, t7.xyzw, s1, l(0.000000)
mov r13.zw, r11.yyyx
sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r13.xzxx, t7.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r13.wyww, t7.xyzw, s1, l(0.000000)
mul r7.xy, r12.xyxx, r10.wzww
mul r12.xyzw, r7.yyyy, r16.xyzx
mad r12.xyzw, r15.xyzx, r7.xxxx, r12.xyzw
mul r0.w, r10.z, r10.w
mad r12.xyzw, r14.xyzx, r0.wwww, r12.xyzw
mul r8.zw, r10.zzzw, r10.xxxy
mad r11.xyzw, r11.xyzx, r8.zzzz, r12.xyzw
mad r11.xyzw, r13.xyzx, r8.wwww, r11.xyzw
add r0.w, r7.y, r7.x
mad r0.w, r10.w, r10.z, r0.w
mad r0.w, r10.x, r10.z, r0.w
mad r0.w, r10.y, r10.w, r0.w
rcp r0.w, r0.w
mul r10.xyzw, r0.wwww, r11.xyzw
mul r10.xyzw, r10.xyzw, r10.xyzw
mul r11.xyz, r10.xywx, l(0.250000, 0.500000, -0.250000, 0.000000)
add r7.xy, r11.yyyy, r11.xzxx
mad r0.w, r10.z, l(0.250000), r7.x
dp2 r11.z, r10.wzww, l(0.500000, -0.500000, 0.000000, 0.000000)
mad r11.w, r10.z, l(-0.250000), r7.y
mul r10.xyz, r14.xyzx, r14.xyzx
dp3 r1.w, r10.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
min r3.x, r0.w, r1.w
max r4.w, r1.w, l(0.000010)
max r4.w, r0.w, r4.w
div r3.x, r3.x, r4.w
min r3.x, r3.x, l(1.000000)
add r0.w, r0.w, -r1.w
mad r11.xy, r3.xxxx, r0.wwww, r1.wwww
mul r10.xyzw, l(-0.500000, -0.500000, -0.500000, -0.500000), cb0[2].zwzw
movc r10.xyzw, r3.yyyy, l(0,0,0,0), r10.xyzw
add r10.xyzw, r5.xyzw, r10.xyzw
lt r12.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), r10.xyzw
lt r13.xyzw, r10.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
and r12.xyzw, r12.xyzw, r13.xyzw
and r3.xy, r12.ywyy, r12.xzxx
if_nz r3.x
  gather4_indexable(texture2d)(float,float,float,float) r12.xyzw, r10.xyxx, t7.xyzw, s0.w
  mul r12.xyzw, r12.xyzw, l(3.000000, 3.000000, 3.000000, 3.000000)
  ftou r12.xyzw, r12.xyzw
  or r0.w, r12.y, r12.x
  or r0.w, r12.z, r0.w
  or r0.w, r12.w, r0.w
  and r5.xy, r0.wwww, l(1, 2, 0, 0)
  ine r5.xy, r5.xyxx, l(0, 0, 0, 0)
else
  mov r5.xy, l(0,0,0,0)
endif
mad r0.w, -r6.x, cb0[27].w, r4.x
mad r1.w, r6.x, cb0[27].w, r4.x
add_sat r0.w, -r11.x, r0.w
add_sat r1.w, -r1.w, r11.y
add r0.w, r0.w, r1.w
add r1.w, r4.x, -r11.x
mul r0.w, r0.w, cb0[27].y
mad r0.w, cb0[27].z, |r1.w|, -r0.w
max r0.w, r0.w, l(0.001000)
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mad_sat r0.w, r3.z, l(2.000000), r0.w
max r0.w, r0.w, cb0[27].x
ilt r7.xy, l(0, 8, 0, 0), r8.xyxx
mul r12.xyz, r6.xyzx, cb0[31].xxxx
mad r13.xyz, -r6.xyzx, cb0[31].xxxx, r4.xyzx
mad r6.xyz, r6.xyzx, cb0[31].xxxx, r4.xyzx
min r14.xyz, r11.yzwy, r13.xyzx
max r13.xyz, r11.yzwy, r13.xyzx
min r6.xyz, r6.xyzx, r13.xyzx
max r6.xyz, r6.xyzx, r14.xyzx
add r13.xyz, -r1.xyzx, r4.xyzx
mad r13.xyz, r13.xyzx, l(0.700000, 0.700000, 0.700000, 0.000000), r1.xyzx
add r11.xyz, -r11.yzwy, r6.xyzx
dp3 r1.w, r11.xyzx, r11.xyzx
sqrt r1.w, r1.w
mul r1.w, r1.w, l(1.33333337)
min r1.w, r1.w, l(1.000000)
mul r1.w, r1.w, r1.w
mul r1.w, r1.w, r1.w
itof r3.x, r8.x
min r3.x, r3.x, l(1.000000)
mad r3.x, r3.x, l(0.900000), l(0.100000)
add r4.w, -r3.x, l(1.000000)
mad r1.w, r1.w, r4.w, r3.x
add r8.xzw, r6.xxyz, -r13.xxyz
mad r8.xzw, r1.wwww, r8.xxzw, r13.xxyz
movc r6.xyz, r5.xxxx, r8.xzwx, r6.xyzx
ige r1.w, l(0), r8.y
and r5.x, r1.w, r5.y
and r5.x, r5.x, l(0x3ecccccd)
add r0.w, r3.w, r0.w
add r0.w, r5.x, r0.w
min r0.w, r0.w, l(1.000000)
add r1.xyz, r1.xyzx, -r6.xyzx
mad r1.xyz, r0.wwww, r1.xyzx, r6.xyzx
add r6.yw, r1.zzzy, r1.xxxx
add r6.x, -r1.z, r6.w
add r0.w, -r1.y, r1.x
add r6.z, -r1.z, r0.w
mov_sat r6.xyz, r6.xyzx
sqrt r6.xyz, r6.xyzx
and r0.w, r7.y, l(2)
bfi r0.w, l(1), l(0), r7.x, r0.w
utof r0.w, r0.w
mul r6.w, r0.w, l(0.333333343)
mov r50.xy, r2.xwww
store_uav_typed u8.xyzw, r50.xyzz, r6.xyzw
mad r1.xy, cb0[2].xyxx, r5.zwzz, -r9.zwzz
mul r5.xyzw, r1.xyxy, r1.xyxy
mul r8.xyzw, r1.xyxy, r5.zwzw
mul r11.xyzw, r5.zwzw, l(1.200000, 1.200000, 2.400000, 2.400000)
mad r7.xy, r8.wzww, l(-0.600000, -0.600000, 0.000000, 0.000000), r11.yxyy
mad r7.xy, -r1.yxyy, l(0.600000, 0.600000, 0.000000, 0.000000), r7.xyxx
mad r9.xy, r8.wzww, l(1.400000, 1.400000, 0.000000, 0.000000), -r11.wzww
add r9.xy, r9.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
mul r5.xyzw, r5.xyzw, l(1.800000, 1.800000, 0.600000, 0.600000)
mad r5.xy, r8.xyxx, l(-1.400000, -1.400000, 0.000000, 0.000000), r5.xyxx
mad r1.xy, r1.xyxx, l(0.600000, 0.600000, 0.000000, 0.000000), r5.xyxx
mad r5.xy, r8.zwzz, l(0.600000, 0.600000, 0.000000, 0.000000), -r5.zwzz
add r5.zw, r1.yyyx, r9.xxxy
div r1.xy, r1.xyxx, r5.wzww
add r1.xy, r1.xyxx, r9.zwzz
mul r8.yz, r1.yyxy, cb0[2].wwzw
add r9.xyzw, r7.zwzw, l(-0.500000, -0.500000, 2.500000, 2.500000)
mul r9.xyzw, r9.xyzw, cb0[2].zwzw
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, r8.zyzz, t7.xyzw, s1, l(0.000000)
mov r8.xw, r9.yyyx
sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r8.zxzz, t7.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r8.wyww, t7.xyzw, s1, l(0.000000)
mov r8.xw, r9.zzzw
sample_l_indexable(texture2d)(float,float,float,float) r9.xyz, r8.xyxx, t7.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r8.xyz, r8.zwzz, t7.xyzw, s1, l(0.000000)
mul r7.xy, r7.xyxx, r5.wzww
mul r13.xyzw, r7.yyyy, r13.xyzx
mad r11.xyzw, r11.xyzx, r7.xxxx, r13.xyzw
mul r0.w, r5.z, r5.w
mad r11.xyzw, r1.xyzx, r0.wwww, r11.xyzw
mul r7.zw, r5.zzzw, r5.xxxy
mad r9.xyzw, r9.xyzx, r7.zzzz, r11.xyzw
mad r8.xyzw, r8.xyzx, r7.wwww, r9.xyzw
add r0.w, r7.y, r7.x
mad r0.w, r5.w, r5.z, r0.w
mad r0.w, r5.x, r5.z, r0.w
mad r0.w, r5.y, r5.w, r0.w
rcp r0.w, r0.w
mul r5.xyzw, r0.wwww, r8.xyzw
mul r5.xyzw, r5.xyzw, r5.xyzw
mul r7.xyz, r5.xywx, l(0.250000, 0.500000, -0.250000, 0.000000)
add r5.xy, r7.yyyy, r7.xzxx
mad r0.w, r5.z, l(0.250000), r5.x
dp2 r7.z, r5.wzww, l(0.500000, -0.500000, 0.000000, 0.000000)
mad r7.w, r5.z, l(-0.250000), r5.y
mul r1.xyz, r1.xyzx, r1.xyzx
dp3 r1.x, r1.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
min r1.y, r0.w, r1.x
max r1.z, r1.x, l(0.000010)
max r1.z, r0.w, r1.z
div r1.y, r1.y, r1.z
min r1.y, r1.y, l(1.000000)
add r0.w, r0.w, -r1.x
mad r7.xy, r1.yyyy, r0.wwww, r1.xxxx
if_nz r3.y
  gather4_indexable(texture2d)(float,float,float,float) r5.xyzw, r10.zwzz, t7.xyzw, s0.w
  mul r5.xyzw, r5.xyzw, l(3.000000, 3.000000, 3.000000, 3.000000)
  ftou r5.xyzw, r5.xyzw
  or r0.w, r5.y, r5.x
  or r0.w, r5.z, r0.w
  or r0.w, r5.w, r0.w
  and r1.xy, r0.wwww, l(1, 2, 0, 0)
  ine r1.xy, r1.xyxx, l(0, 0, 0, 0)
else
  mov r1.xy, l(0,0,0,0)
endif
mad r0.w, -r12.x, cb0[27].w, r4.x
mad r1.z, r12.x, cb0[27].w, r4.x
add_sat r0.w, -r7.x, r0.w
add_sat r1.z, -r1.z, r7.y
add r0.w, r0.w, r1.z
add r1.z, r4.x, -r7.x
mul r0.w, r0.w, cb0[27].y
mad r0.w, cb0[27].z, |r1.z|, -r0.w
max r0.w, r0.w, l(0.001000)
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mad_sat r0.w, r3.z, l(2.000000), r0.w
max r0.w, r0.w, cb0[27].x
mad r5.xyz, -r12.xyzx, cb0[31].xxxx, r4.xyzx
mad r8.xyz, r12.xyzx, cb0[31].xxxx, r4.xyzx
min r9.xyz, r7.yzwy, r5.xyzx
max r5.xyz, r7.yzwy, r5.xyzx
min r5.xyz, r8.xyzx, r5.xyzx
max r5.xyz, r5.xyzx, r9.xyzx
add r4.xyz, -r0.xyzx, r4.xyzx
mad r4.xyz, r4.xyzx, l(0.700000, 0.700000, 0.700000, 0.000000), r0.xyzx
add r7.xyz, -r7.yzwy, r5.xyzx
dp3 r1.z, r7.xyzx, r7.xyzx
sqrt r1.z, r1.z
mul r1.z, r1.z, l(1.33333337)
min r1.z, r1.z, l(1.000000)
mul r1.z, r1.z, r1.z
mul r1.z, r1.z, r1.z
mad r1.z, r1.z, r4.w, r3.x
add r3.xyz, -r4.xyzx, r5.xyzx
mad r3.xyz, r1.zzzz, r3.xyzx, r4.xyzx
movc r3.xyz, r1.xxxx, r3.xyzx, r5.xyzx
and r1.x, r1.w, r1.y
and r1.x, r1.x, l(0x3ecccccd)
add r0.w, r3.w, r0.w
add r0.w, r1.x, r0.w
min r0.w, r0.w, l(1.000000)
add r0.xyz, r0.xyzx, -r3.xyzx
mad r0.xyz, r0.wwww, r0.xyzx, r3.xyzx
add r1.yw, r0.zzzy, r0.xxxx
add r1.x, -r0.z, r1.w
add r0.x, -r0.y, r0.x
add r1.z, -r0.z, r0.x
mov_sat r1.xyz, r1.xyzx
sqrt r6.xyz, r1.xyzx
iadd r0.xyzw, r2.xyzw, l(1, 0, 0, 0)
mov r50.xy, r0.xyzw
store_uav_typed u8.xyzw, r50.xyzz, r6.xyzw
ret
// Approximately 0 instruction slots used
