//Flickering shadows CS.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Sat May 22 12:04:39 2021
//
//
// 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[81], immediateIndexed
dcl_constantbuffer cb2[13], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (uint,uint,uint,uint) 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_uav_typed_texture2d (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 40
dcl_resource_texture2d (float,float,float,float) t125
dcl_thread_group 8, 8, 1

ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw

mov r0.xy, vThreadID.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.x, r0.xyww, t1.xyzw
mul r1.x, r1.x, r1.x
max r2.z, r1.x, l(0.000001)
ne r1.x, r1.x, r2.z
if_z r1.x
  itof r1.xy, vThreadID.xyxx
  add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  mul r2.xy, r1.xyxx, cb2[3].zwzz
  ld_indexable(texture2d)(uint,uint,uint,uint) r0.x, r0.xyzw, t0.xyzw
  and r0.y, r0.x, l(1023)
  ubfe r0.x, l(10), l(10), r0.x
  utof r3.xy, r0.yxyy
  mad r0.xy, r3.xyxx, l(0.00195503421, 0.00195503421, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  dp2 r0.z, l(1.000000, 1.000000, 0.000000, 0.000000), |r0.xyxx|
  add r3.z, -r0.z, l(1.000000)
  add r0.zw, -|r0.yyyx|, l(0.000000, 0.000000, 1.000000, 1.000000)
  ge r1.zw, r0.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
  movc r0.zw, r1.zzzw, r0.zzzw, -r0.zzzw
  lt r1.z, r3.z, l(0.000000)
  movc r3.xy, r1.zzzz, r0.zwzz, r0.xyxx
  dp3 r0.x, r3.xyzx, r3.xyzx
  rsq r0.x, r0.x
  mul r0.xyz, r0.xxxx, r3.xyzx
  lt r1.zw, |r0.xxxy|, |r0.zzzz|
  and r0.w, r1.w, r1.z
  movc r3.xyz, r0.wwww, l(1.000000,0,0,0), l(0,0,1.000000,0)
  dp2 r0.w, r3.xzxx, r0.xzxx
  mad r3.xyz, -r0.xyzx, r0.wwww, r3.xyzx
  dp3 r0.w, r3.xyzx, r3.xyzx
  rsq r0.w, r0.w
  mul r3.xyz, r0.wwww, r3.xyzx
  mul r4.xyz, r0.yzxy, r3.zxyz
  mad r4.xyz, r3.yzxy, r0.zxyz, -r4.xyzx
  ishl r0.w, vThreadID.y, l(4)
  iadd r0.w, r0.w, l(0xa341316c)
  iadd r1.z, vThreadID.y, l(0x9e3779b9)
  xor r0.w, r0.w, r1.z
  ushr r1.z, vThreadID.y, l(5)
  iadd r1.z, r1.z, l(0xc8013ea4)
  xor r0.w, r0.w, r1.z
  iadd r0.w, vThreadID.x, r0.w
  ishl r1.z, r0.w, l(4)
  iadd r1.z, r1.z, l(0xad90777d)
  iadd r1.w, r0.w, l(0x9e3779b9)
  xor r1.z, r1.w, r1.z
  ushr r1.w, r0.w, l(5)
  iadd r1.w, r1.w, l(0x7e95761e)
  xor r1.z, r1.w, r1.z
  iadd r1.z, vThreadID.y, r1.z
  ishl r1.w, r1.z, l(4)
  iadd r1.w, r1.w, l(0xa341316c)
  iadd r2.w, r1.z, l(0x3c6ef372)
  xor r1.w, r1.w, r2.w
  ushr r2.w, r1.z, l(5)
  iadd r2.w, r2.w, l(0xc8013ea4)
  xor r1.w, r1.w, r2.w
  iadd r0.w, r0.w, r1.w
  ishl r1.w, r0.w, l(4)
  iadd r1.w, r1.w, l(0xad90777d)
  iadd r2.w, r0.w, l(0x3c6ef372)
  xor r1.w, r1.w, r2.w
  ushr r2.w, r0.w, l(5)
  iadd r2.w, r2.w, l(0x7e95761e)
  xor r1.w, r1.w, r2.w
  iadd r1.z, r1.z, r1.w
  ishl r1.w, r1.z, l(4)
  iadd r1.w, r1.w, l(0xa341316c)
  iadd r2.w, r1.z, l(0xdaa66d2b)
  xor r1.w, r1.w, r2.w
  ushr r2.w, r1.z, l(5)
  iadd r2.w, r2.w, l(0xc8013ea4)
  xor r1.w, r1.w, r2.w
  iadd r5.x, r0.w, r1.w
  ishl r0.w, r5.x, l(4)
  iadd r0.w, r0.w, l(0xad90777d)
  iadd r1.w, r5.x, l(0xdaa66d2b)
  xor r0.w, r0.w, r1.w
  ushr r1.w, r5.x, l(5)
  iadd r1.w, r1.w, l(0x7e95761e)
  xor r0.w, r0.w, r1.w
  iadd r5.y, r1.z, r0.w
  imul null, r1.zw, r5.xxxy, cb2[12].yyyy
  and r1.zw, r1.zzzw, l(0, 0, 0x00ffffff, 0x00ffffff)
  utof r1.zw, r1.zzzw
  add r1.zw, r1.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
  mul r5.xy, r1.zwzz, l(5.960465188E-008, 3.745070387E-007, 0.000000, 0.000000)
  sqrt r0.w, r5.x
  sincos r6.x, r7.x, r5.y
  mul r1.w, r0.w, r7.x
  mul r0.w, r0.w, r6.x
  mad r1.z, -r1.z, l(5.960465188E-008), l(1.000000)
  sqrt r1.z, r1.z
  mul r4.xyz, r4.xyzx, r0.wwww
  mad r3.xyz, r1.wwww, r3.xyzx, r4.xyzx
  mad r0.xyz, r1.zzzz, r0.xyzx, r3.xyzx
  
  mul r23.xyzw, r1.yyyy, cb1[37].xyzw
  mad r21.xyzw, r1.xxxx, cb1[36].xyzw, r23.xyzw
  mad r21.xyzw, r2.zzzz, cb1[38].xyzw, r21.xyzw
  add r21.xyzw, r21.xyzw, cb1[39].xyzw
  
  //add r1.x, -r25.x, r1.x
  //mul r25.w, r21.w, r25.y
  //mad r1.x, r25.x, r25.w, r1.x
  
  mul r3.xyzw, r1.yyyy, cb1[37].xyzw
  mad r1.xyzw, r1.xxxx, cb1[36].xyzw, r3.xyzw
  mad r1.xyzw, r2.zzzz, cb1[38].xyzw, r1.xyzw
  add r1.xyzw, r1.xyzw, cb1[39].xyzw
  div r1.xyz, r1.xyzx, r1.wwww
  add r3.xyz, r0.xyzx, r1.xyzx
  mul r4.xyzw, r3.yyyy, cb1[1].xyzw
  mad r4.xyzw, r3.xxxx, cb1[0].xyzw, r4.xyzw
  mad r3.xyzw, r3.zzzz, cb1[2].xyzw, r4.xyzw
  add r3.xyzw, r3.xyzw, cb1[3].xyzw
  div r3.xyz, r3.xyzx, r3.wwww
  mad r3.xy, r3.xyxx, cb1[52].xyxx, cb1[52].wzww
  add r1.xyz, r1.xyzx, cb2[10].xyzx
  mul r4.xyzw, r1.yyyy, cb1[78].xyzw
  mad r4.xyzw, r1.xxxx, cb1[77].xyzw, r4.xyzw
  mad r4.xyzw, r1.zzzz, cb1[79].xyzw, r4.xyzw
  add r4.xyzw, r4.xyzw, cb1[80].xyzw
  div r4.xyz, r4.xyzx, r4.wwww
  mad r4.xy, r4.xyxx, cb1[52].xyxx, cb1[52].wzww
  add r0.xyz, r0.xyzx, r1.xyzx
  
  //add r0.x, -r25.x, r0.x
  
  mul r1.xyzw, r0.yyyy, cb1[78].xyzw
  mad r1.xyzw, r0.xxxx, cb1[77].xyzw, r1.xyzw
  mad r0.xyzw, r0.zzzz, cb1[79].xyzw, r1.xyzw
  add r0.xyzw, r0.xyzw, cb1[80].xyzw
  div r0.xyz, r0.xyzx, r0.wwww
  mad r0.xy, r0.xyxx, cb1[52].xyxx, cb1[52].wzww
  add r1.xyz, -r2.xyzx, r3.xyzx
  add r0.xyz, r0.xyzx, -r4.xyzx
  rsq r0.w, r2.z
  mul r1.xyz, r0.wwww, r1.xyzx
  mul r0.xyz, r0.wwww, r0.xyzx
  mul r1.xy, r1.xyxx, cb0[0].xyxx
  mul r0.xy, r0.xyxx, cb0[0].xyxx
  div r0.w, l(16.000000), r2.z
  mad r2.xyz, r1.xyzx, r5.xxxx, r2.xyzx
  mad r3.xyz, r0.xyzx, r5.xxxx, r4.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r4.w, r4.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r4.w, l(1.000000)
    mul r4.xyzw, r1.wwww, r4.xyzw
  else
    mov r4.xyzw, l(0,0,0,0)
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r2.xyz, r1.xyzx, r2.xyzx
  add r3.xyz, r0.xyzx, r3.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t2.yzwx, s0, l(0.000000)
  mul r2.w, r1.w, r1.w
  mad r1.w, -r1.w, r1.w, r2.z
  mad r1.w, r1.w, r0.w, l(1.000000)
  min r1.w, |r1.w|, l(1.000000)
  ne r3.w, r1.w, l(1.000000)
  if_nz r3.w
    mul r2.w, r2.w, l(1048576.000000)
    min r2.w, r2.w, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r3.xyxx, t3.xyzw, s0, l(0.000000)
    mad r3.w, -r5.w, r5.w, r3.z
    mul r3.w, r3.w, l(256.000000)
    add_sat r3.w, |r3.w|, l(-1.000000)
    add r3.w, -r3.w, l(1.000000)
    add r1.w, -r1.w, l(1.000000)
    mul r1.w, r1.w, r3.w
    mul r1.w, r2.w, r1.w
    mov r5.w, l(1.000000)
    mul r5.xyzw, r1.wwww, r5.xyzw
    add r1.w, -r4.w, l(1.000000)
    mad r4.xyzw, r5.xyzw, r1.wwww, r4.xyzw
  endif
  add r1.xyz, r1.xyzx, r2.xyzx
  sample_l_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t2.xyzw, s0, l(0.000000)
  mul r1.y, r1.x, r1.x
  mad r1.x, -r1.x, r1.x, r1.z
  mad r0.w, r1.x, r0.w, l(1.000000)
  min r0.w, |r0.w|, l(1.000000)
  ne r1.x, r0.w, l(1.000000)
  if_nz r1.x
    add r0.xyz, r0.xyzx, r3.xyzx
    mul r1.x, r1.y, l(1048576.000000)
    min r1.x, r1.x, l(1.000000)
    sample_l_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.xyxx, t3.xyzw, s0, l(0.000000)
    mad r0.x, -r2.w, r2.w, r0.z
    mul r0.x, r0.x, l(256.000000)
    add_sat r0.x, |r0.x|, l(-1.000000)
    add r0.x, -r0.x, l(1.000000)
    add r0.y, -r0.w, l(1.000000)
    mul r0.x, r0.y, r0.x
    mul r0.x, r1.x, r0.x
    mov r2.w, l(1.000000)
    mul r0.xyzw, r0.xxxx, r2.xyzw
    add r1.x, -r4.w, l(1.000000)
    mad r4.xyzw, r0.xyzw, r1.xxxx, r4.xyzw
  endif
  div r0.x, l(1.41421354), cb0[0].z
  mul r4.xyz, r0.xxxx, r4.xyzx
else
  mov r4.xyzw, l(0,0,0,-1024.000000)
endif
store_uav_typed u0.xyzw, vThreadID.xyyy, r4.xyzw
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v1.3.16 on Sat May 22 12:04:39 2021
// Texture2D<float4> t3 : register(t3);
//
// Texture2D<float4> t2 : register(t2);
//
// Texture2D<float4> t1 : register(t1);
//
// Texture2D<uint4> t0 : register(t0);
//
// SamplerState s0_s : register(s0);
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[13];
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[81];
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[1];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main)
// {
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_texture2d (float,float,float,float) u0
//   float4 r0,r1,r2,r3,r4,r5,r6,r7;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_thread_group 8, 8, 1
//   r0.xy = vThreadID.xy;
//   r0.zw = float2(0,0);
//   r1.x = t1.Load(r0.xyw).x;
//   r1.x = r1.x * r1.x;
//   r2.z = max(9.99999997e-007, r1.x);
//   r1.x = cmp(r1.x != r2.z);
//   if (r1.x == 0) {
//     r1.xy = (int2)vThreadID.xy;
//     r1.xy = float2(0.5,0.5) + r1.xy;
//     r2.xy = cb2[3].zw * r1.xy;
//     r0.x = t0.Load(r0.xyz).x;
//     r0.y = (int)r0.x & 1023;
//     if (10 == 0) r0.x = 0; else if (10+10 < 32) {     r0.x = (uint)r0.x << (32-(10 + 10)); r0.x = (uint)r0.x >> (32-10);    } else r0.x = (uint)r0.x >> 10;
//     r3.xy = (uint2)r0.yx;
//     r0.xy = r3.xy * float2(0.00195503421,0.00195503421) + float2(-1,-1);
//     r0.z = dot(float2(1,1), abs(r0.xy));
//     r3.z = 1 + -r0.z;
//     r0.zw = float2(1,1) + -abs(r0.yx);
//     r1.zw = cmp(r0.xy >= float2(0,0));
//     r0.zw = r1.zw ? r0.zw : -r0.zw;
//     r1.z = cmp(r3.z < 0);
//     r3.xy = r1.zz ? r0.zw : r0.xy;
//     r0.x = dot(r3.xyz, r3.xyz);
//     r0.x = rsqrt(r0.x);
//     r0.xyz = r3.xyz * r0.xxx;
//     r1.zw = cmp(abs(r0.xy) < abs(r0.zz));
//     r0.w = r1.w ? r1.z : 0;
//     r3.xyz = r0.www ? float3(1,0,0) : float3(0,0,1);
//     r0.w = dot(r3.xz, r0.xz);
//     r3.xyz = -r0.xyz * r0.www + r3.xyz;
//     r0.w = dot(r3.xyz, r3.xyz);
//     r0.w = rsqrt(r0.w);
//     r3.xyz = r3.xyz * r0.www;
//     r4.xyz = r3.zxy * r0.yzx;
//     r4.xyz = r3.yzx * r0.zxy + -r4.xyz;
//     r0.w = (uint)vThreadID.y << 4;
//     r0.w = (int)r0.w + 0xa341316c;
//     r1.z = (int)vThreadID.y + 0x9e3779b9;
//     r0.w = (int)r0.w ^ (int)r1.z;
//     r1.z = (uint)vThreadID.y >> 5;
//     r1.z = (int)r1.z + 0xc8013ea4;
//     r0.w = (int)r0.w ^ (int)r1.z;
//     r0.w = (int)vThreadID.x + (int)r0.w;
//     r1.z = (uint)r0.w << 4;
//     r1.z = (int)r1.z + 0xad90777d;
//     r1.w = (int)r0.w + 0x9e3779b9;
//     r1.z = (int)r1.w ^ (int)r1.z;
//     r1.w = (uint)r0.w >> 5;
//     r1.w = (int)r1.w + 0x7e95761e;
//     r1.z = (int)r1.w ^ (int)r1.z;
//     r1.z = (int)vThreadID.y + (int)r1.z;
//     r1.w = (uint)r1.z << 4;
//     r1.w = (int)r1.w + 0xa341316c;
//     r2.w = (int)r1.z + 0x3c6ef372;
//     r1.w = (int)r1.w ^ (int)r2.w;
//     r2.w = (uint)r1.z >> 5;
//     r2.w = (int)r2.w + 0xc8013ea4;
//     r1.w = (int)r1.w ^ (int)r2.w;
//     r0.w = (int)r0.w + (int)r1.w;
//     r1.w = (uint)r0.w << 4;
//     r1.w = (int)r1.w + 0xad90777d;
//     r2.w = (int)r0.w + 0x3c6ef372;
//     r1.w = (int)r1.w ^ (int)r2.w;
//     r2.w = (uint)r0.w >> 5;
//     r2.w = (int)r2.w + 0x7e95761e;
//     r1.w = (int)r1.w ^ (int)r2.w;
//     r1.z = (int)r1.z + (int)r1.w;
//     r1.w = (uint)r1.z << 4;
//     r1.w = (int)r1.w + 0xa341316c;
//     r2.w = (int)r1.z + 0xdaa66d2b;
//     r1.w = (int)r1.w ^ (int)r2.w;
//     r2.w = (uint)r1.z >> 5;
//     r2.w = (int)r2.w + 0xc8013ea4;
//     r1.w = (int)r1.w ^ (int)r2.w;
//     r5.x = (int)r0.w + (int)r1.w;
//     r0.w = (uint)r5.x << 4;
//     r0.w = (int)r0.w + 0xad90777d;
//     r1.w = (int)r5.x + 0xdaa66d2b;
//     r0.w = (int)r0.w ^ (int)r1.w;
//     r1.w = (uint)r5.x >> 5;
//     r1.w = (int)r1.w + 0x7e95761e;
//     r0.w = (int)r0.w ^ (int)r1.w;
//     r5.y = (int)r1.z + (int)r0.w;
//     r1.zw = (int2)r5.xy * asint(cb2[12].yy);
//     r1.zw = (int2)r1.zw & int2(0xffffff,0xffffff);
//     r1.zw = (uint2)r1.zw;
//     r1.zw = float2(0.5,0.5) + r1.zw;
//     r5.xy = float2(5.96046519e-008,3.74507039e-007) * r1.zw;
//     r0.w = sqrt(r5.x);
//     sincos(r5.y, r6.x, r7.x);
//     r1.w = r7.x * r0.w;
//     r0.w = r6.x * r0.w;
//     r1.z = -r1.z * 5.96046519e-008 + 1;
//     r1.z = sqrt(r1.z);
//     r4.xyz = r0.www * r4.xyz;
//     r3.xyz = r1.www * r3.xyz + r4.xyz;
//     r0.xyz = r1.zzz * r0.xyz + r3.xyz;
//     r3.xyzw = cb1[37].xyzw * r1.yyyy;
//     r1.xyzw = r1.xxxx * cb1[36].xyzw + r3.xyzw;
//     r1.xyzw = r2.zzzz * cb1[38].xyzw + r1.xyzw;
//     r1.xyzw = cb1[39].xyzw + r1.xyzw;
//     r1.xyz = r1.xyz / r1.www;
//     r3.xyz = r1.xyz + r0.xyz;
//     r4.xyzw = cb1[1].xyzw * r3.yyyy;
//     r4.xyzw = r3.xxxx * cb1[0].xyzw + r4.xyzw;
//     r3.xyzw = r3.zzzz * cb1[2].xyzw + r4.xyzw;
//     r3.xyzw = cb1[3].xyzw + r3.xyzw;
//     r3.xyz = r3.xyz / r3.www;
//     r3.xy = r3.xy * cb1[52].xy + cb1[52].wz;
//     r1.xyz = cb2[10].xyz + r1.xyz;
//     r4.xyzw = cb1[78].xyzw * r1.yyyy;
//     r4.xyzw = r1.xxxx * cb1[77].xyzw + r4.xyzw;
//     r4.xyzw = r1.zzzz * cb1[79].xyzw + r4.xyzw;
//     r4.xyzw = cb1[80].xyzw + r4.xyzw;
//     r4.xyz = r4.xyz / r4.www;
//     r4.xy = r4.xy * cb1[52].xy + cb1[52].wz;
//     r0.xyz = r1.xyz + r0.xyz;
//     r1.xyzw = cb1[78].xyzw * r0.yyyy;
//     r1.xyzw = r0.xxxx * cb1[77].xyzw + r1.xyzw;
//     r0.xyzw = r0.zzzz * cb1[79].xyzw + r1.xyzw;
//     r0.xyzw = cb1[80].xyzw + r0.xyzw;
//     r0.xyz = r0.xyz / r0.www;
//     r0.xy = r0.xy * cb1[52].xy + cb1[52].wz;
//     r1.xyz = r3.xyz + -r2.xyz;
//     r0.xyz = -r4.xyz + r0.xyz;
//     r0.w = rsqrt(r2.z);
//     r1.xyz = r1.xyz * r0.www;
//     r0.xyz = r0.xyz * r0.www;
//     r1.xy = cb0[0].xy * r1.xy;
//     r0.xy = cb0[0].xy * r0.xy;
//     r0.w = 16 / r2.z;
//     r2.xyz = r1.xyz * r5.xxx + r2.xyz;
//     r3.xyz = r0.xyz * r5.xxx + r4.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r4.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r4.w * r4.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r4.w = 1;
//       r4.xyzw = r4.xyzw * r1.wwww;
//     } else {
//       r4.xyzw = float4(0,0,0,0);
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r2.xyz = r2.xyz + r1.xyz;
//     r3.xyz = r3.xyz + r0.xyz;
//     r1.w = t2.SampleLevel(s0_s, r2.xy, 0).x;
//     r2.w = r1.w * r1.w;
//     r1.w = -r1.w * r1.w + r2.z;
//     r1.w = r1.w * r0.w + 1;
//     r1.w = min(1, abs(r1.w));
//     r3.w = cmp(r1.w != 1.000000);
//     if (r3.w != 0) {
//       r2.w = 1048576 * r2.w;
//       r2.w = min(1, r2.w);
//       r5.xyzw = t3.SampleLevel(s0_s, r3.xy, 0).xyzw;
//       r3.w = -r5.w * r5.w + r3.z;
//       r3.w = 256 * r3.w;
//       r3.w = saturate(-1 + abs(r3.w));
//       r3.w = 1 + -r3.w;
//       r1.w = 1 + -r1.w;
//       r1.w = r3.w * r1.w;
//       r1.w = r1.w * r2.w;
//       r5.w = 1;
//       r5.xyzw = r5.xyzw * r1.wwww;
//       r1.w = 1 + -r4.w;
//       r4.xyzw = r5.xyzw * r1.wwww + r4.xyzw;
//     }
//     r1.xyz = r2.xyz + r1.xyz;
//     r1.x = t2.SampleLevel(s0_s, r1.xy, 0).x;
//     r1.y = r1.x * r1.x;
//     r1.x = -r1.x * r1.x + r1.z;
//     r0.w = r1.x * r0.w + 1;
//     r0.w = min(1, abs(r0.w));
//     r1.x = cmp(r0.w != 1.000000);
//     if (r1.x != 0) {
//       r0.xyz = r3.xyz + r0.xyz;
//       r1.x = 1048576 * r1.y;
//       r1.x = min(1, r1.x);
//       r2.xyzw = t3.SampleLevel(s0_s, r0.xy, 0).xyzw;
//       r0.x = -r2.w * r2.w + r0.z;
//       r0.x = 256 * r0.x;
//       r0.x = saturate(-1 + abs(r0.x));
//       r0.x = 1 + -r0.x;
//       r0.y = 1 + -r0.w;
//       r0.x = r0.x * r0.y;
//       r0.x = r0.x * r1.x;
//       r2.w = 1;
//       r0.xyzw = r2.xyzw * r0.xxxx;
//       r1.x = 1 + -r4.w;
//       r4.xyzw = r0.xyzw * r1.xxxx + r4.xyzw;
//     }
//     r0.x = 1.41421354 / cb0[0].z;
//     r4.xyz = r4.xyz * r0.xxx;
//   } else {
//     r4.xyzw = float4(0,0,0,-1024);
//   }
// // No code for instruction (needs manual fix):
// store_uav_typed u0.xyzw, vThreadID.xyyy, r4.xyzw
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// F:\SteamLibrary\steamapps\common\Days Gone\BendGame\Binaries\Win64\ShaderFixes\b27fbe65a1623e2e-cs_replace.txt(36,10): error X3000: syntax error: unexpected token ')'
/////////////////////////////////////////////////////////////////////////////
