//AO
// ---- Created with 3Dmigoto v1.3.11 on Sat Aug 11 17:29:30 2018
Texture2D<float4> t1 : register(t1);

Texture2DArray<float4> t0 : register(t0);

SamplerState s0_s : register(s0);

cbuffer cb2 : register(b2)
{
  float4 cb2[2];
}

cbuffer cb0 : register(b0)
{
  float4 cb0[4];
}




// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
  float4 v0 : SV_Position0,
  float2 v1 : TEXCOORD0,
  out float o0 : SV_TARGET0)
{
  float4 r0,r1,r2,r3,r4,r5,r6,r7,r8;
  uint4 bitmask, uiDest;
  float4 fDest;

  r0.xy = floor(v0.xy);
  r0.xy = r0.xy * float2(4,4) + cb2[1].xy;
  r0.zw = cb0[0].xy * r0.xy;
  r1.xy = float2(0.25,0.25) * r0.zw;
  r1.z = 0;
  r2.z = t0.SampleLevel(s0_s, r1.xyz, 0).x;
  r0.z = cb0[2].x / r2.z;
  r0.w = cmp(r0.z < 1);
  if (r0.w != 0) {
    o0.x = 1;
    return;
  }
  r1.zw = cb0[1].xy * r1.xy + cb0[1].zw;
  r2.xy = r1.zw * r2.zz;
  r3.xy = (int2)r0.xy;
  r3.zw = float2(0,0);
  r3.xyzw = t1.Load(r3.xyz).xyzw;
  r0.xyw = r3.xyz * float3(2,2,2) + float3(-1,-1,-1);
  r1.z = cb0[3].x * r3.w;
  r1.w = 0.0500000007 * r0.z;
  r1.w = cb2[0].z * r1.w + 1;
  r3.xy = cb2[0].xy * r1.ww;
  r3.xy = round(r3.xy);
  r3.xy = r3.xy * cb0[0].xy + r1.xy;
  r3.z = 0;
  r4.z = t0.SampleLevel(s0_s, r3.xyz, 0).x;
  r3.xy = cb0[1].xy * r3.xy + cb0[1].zw;
  r4.xy = r3.xy * r4.zz;
  r2.w = r0.z * 0.0500000007 + r1.w;
  r3.xyz = r4.xyz + -r2.xyz;
  r3.w = dot(r3.xyz, r3.xyz);
  r3.x = dot(r0.xyw, r3.xyz);
  r3.y = rsqrt(r3.w);
  r3.x = saturate(r3.x * r3.y + -cb0[2].w);
  r3.y = saturate(r3.w * cb0[2].z + 1);
  r3.zw = cb2[0].xy * r2.ww;
  r3.zw = round(r3.zw);
  r4.xy = r3.zw * cb0[0].xy + r1.xy;
  r4.z = 0;
  r5.z = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r3.zw = cb0[1].xy * r4.xy + cb0[1].zw;
  r5.xy = r3.zw * r5.zz;
  r3.z = r0.z * 0.0500000007 + r2.w;
  r4.xyz = r5.xyz + -r2.xyz;
  r3.w = dot(r4.xyz, r4.xyz);
  r4.x = dot(r0.xyw, r4.xyz);
  r4.y = rsqrt(r3.w);
  r4.x = saturate(r4.x * r4.y + -cb0[2].w);
  r3.w = saturate(r3.w * cb0[2].z + 1);
  r3.w = r4.x * r3.w;
  r3.x = r3.x * r3.y + r3.w;
  r3.yw = cb2[0].xy * r3.zz;
  r3.yw = round(r3.yw);
  r4.xy = r3.yw * cb0[0].xy + r1.xy;
  r4.z = 0;
  r5.z = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r3.yw = cb0[1].xy * r4.xy + cb0[1].zw;
  r5.xy = r3.yw * r5.zz;
  r0.z = r0.z * 0.0500000007 + r3.z;
  r4.xyz = r5.xyz + -r2.xyz;
  r3.y = dot(r4.xyz, r4.xyz);
  r3.w = dot(r0.xyw, r4.xyz);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = cb2[0].xy * r0.zz;
  r3.yw = round(r3.yw);
  r4.xy = r3.yw * cb0[0].xy + r1.xy;
  r4.z = 0;
  r5.z = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r3.yw = cb0[1].xy * r4.xy + cb0[1].zw;
  r5.xy = r3.yw * r5.zz;
  r4.xyz = r5.xyz + -r2.xyz;
  r3.y = dot(r4.xyz, r4.xyz);
  r3.w = dot(r0.xyw, r4.xyz);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = float2(0.707106769,0.707106769) * cb2[0].xy;
  r4.x = cb2[0].x * 0.707106769 + -r3.w;
  r4.y = r3.w + r3.y;
  r4.zw = r4.xy * r1.ww;
  r4.zw = round(r4.zw);
  r5.xy = r4.zw * cb0[0].xy + r1.xy;
  r5.z = 0;
  r6.z = t0.SampleLevel(s0_s, r5.xyz, 0).x;
  r4.zw = cb0[1].xy * r5.xy + cb0[1].zw;
  r6.xy = r4.zw * r6.zz;
  r5.xyz = r6.xyz + -r2.xyz;
  r4.z = dot(r5.xyz, r5.xyz);
  r4.w = dot(r0.xyw, r5.xyz);
  r5.x = rsqrt(r4.z);
  r4.w = saturate(r4.w * r5.x + -cb0[2].w);
  r4.z = saturate(r4.z * cb0[2].z + 1);
  r3.x = r4.w * r4.z + r3.x;
  r4.zw = r4.xy * r2.ww;
  r4.zw = round(r4.zw);
  r5.xy = r4.zw * cb0[0].xy + r1.xy;
  r5.z = 0;
  r6.z = t0.SampleLevel(s0_s, r5.xyz, 0).x;
  r4.zw = cb0[1].xy * r5.xy + cb0[1].zw;
  r6.xy = r4.zw * r6.zz;
  r5.xyz = r6.xyz + -r2.xyz;
  r4.z = dot(r5.xyz, r5.xyz);
  r4.w = dot(r0.xyw, r5.xyz);
  r5.x = rsqrt(r4.z);
  r4.w = saturate(r4.w * r5.x + -cb0[2].w);
  r4.z = saturate(r4.z * cb0[2].z + 1);
  r3.x = r4.w * r4.z + r3.x;
  r4.zw = r4.xy * r3.zz;
  r4.zw = round(r4.zw);
  r5.xy = r4.zw * cb0[0].xy + r1.xy;
  r5.z = 0;
  r6.z = t0.SampleLevel(s0_s, r5.xyz, 0).x;
  r4.zw = cb0[1].xy * r5.xy + cb0[1].zw;
  r6.xy = r4.zw * r6.zz;
  r5.xyz = r6.xyz + -r2.xyz;
  r4.z = dot(r5.xyz, r5.xyz);
  r4.w = dot(r0.xyw, r5.xyz);
  r5.x = rsqrt(r4.z);
  r4.w = saturate(r4.w * r5.x + -cb0[2].w);
  r4.z = saturate(r4.z * cb0[2].z + 1);
  r3.x = r4.w * r4.z + r3.x;
  r4.xy = r4.xy * r0.zz;
  r4.xy = round(r4.xy);
  r4.xy = r4.xy * cb0[0].xy + r1.xy;
  r4.z = 0;
  r5.z = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r4.xy = cb0[1].xy * r4.xy + cb0[1].zw;
  r5.xy = r4.xy * r5.zz;
  r4.xyz = r5.xyz + -r2.xyz;
  r4.w = dot(r4.xyz, r4.xyz);
  r4.x = dot(r0.xyw, r4.xyz);
  r4.y = rsqrt(r4.w);
  r4.x = saturate(r4.x * r4.y + -cb0[2].w);
  r4.y = saturate(r4.w * cb0[2].z + 1);
  r3.x = r4.x * r4.y + r3.x;
  r4.x = cb2[0].x * 1.79489656e-009 + -cb2[0].y;
  r4.y = cb2[0].y * 1.79489656e-009 + cb2[0].x;
  r4.zw = r4.xy * r1.ww;
  r4.zw = round(r4.zw);
  r5.xy = r4.zw * cb0[0].xy + r1.xy;
  r5.z = 0;
  r6.z = t0.SampleLevel(s0_s, r5.xyz, 0).x;
  r4.zw = cb0[1].xy * r5.xy + cb0[1].zw;
  r6.xy = r4.zw * r6.zz;
  r5.xyz = r6.xyz + -r2.xyz;
  r4.z = dot(r5.xyz, r5.xyz);
  r4.w = dot(r0.xyw, r5.xyz);
  r5.x = rsqrt(r4.z);
  r4.w = saturate(r4.w * r5.x + -cb0[2].w);
  r4.z = saturate(r4.z * cb0[2].z + 1);
  r3.x = r4.w * r4.z + r3.x;
  r4.zw = r4.xy * r2.ww;
  r4.zw = round(r4.zw);
  r5.xy = r4.zw * cb0[0].xy + r1.xy;
  r5.z = 0;
  r6.z = t0.SampleLevel(s0_s, r5.xyz, 0).x;
  r4.zw = cb0[1].xy * r5.xy + cb0[1].zw;
  r6.xy = r4.zw * r6.zz;
  r5.xyz = r6.xyz + -r2.xyz;
  r4.z = dot(r5.xyz, r5.xyz);
  r4.w = dot(r0.xyw, r5.xyz);
  r5.x = rsqrt(r4.z);
  r4.w = saturate(r4.w * r5.x + -cb0[2].w);
  r4.z = saturate(r4.z * cb0[2].z + 1);
  r3.x = r4.w * r4.z + r3.x;
  r4.zw = r4.xy * r3.zz;
  r4.zw = round(r4.zw);
  r5.xy = r4.zw * cb0[0].xy + r1.xy;
  r5.z = 0;
  r6.z = t0.SampleLevel(s0_s, r5.xyz, 0).x;
  r4.zw = cb0[1].xy * r5.xy + cb0[1].zw;
  r6.xy = r4.zw * r6.zz;
  r5.xyz = r6.xyz + -r2.xyz;
  r4.z = dot(r5.xyz, r5.xyz);
  r4.w = dot(r0.xyw, r5.xyz);
  r5.x = rsqrt(r4.z);
  r4.w = saturate(r4.w * r5.x + -cb0[2].w);
  r4.z = saturate(r4.z * cb0[2].z + 1);
  r3.x = r4.w * r4.z + r3.x;
  r4.xy = r4.xy * r0.zz;
  r4.xy = round(r4.xy);
  r4.xy = r4.xy * cb0[0].xy + r1.xy;
  r4.z = 0;
  r5.z = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r4.xy = cb0[1].xy * r4.xy + cb0[1].zw;
  r5.xy = r4.xy * r5.zz;
  r4.xyz = r5.xyz + -r2.xyz;
  r4.w = dot(r4.xyz, r4.xyz);
  r4.x = dot(r0.xyw, r4.xyz);
  r4.y = rsqrt(r4.w);
  r4.x = saturate(r4.x * r4.y + -cb0[2].w);
  r4.y = saturate(r4.w * cb0[2].z + 1);
  r3.x = r4.x * r4.y + r3.x;
  r4.xy = float2(-0.707106769,-0.707106769) * cb2[0].xy;
  r5.y = cb2[0].x * -0.707106769 + -r3.w;
  r5.zw = cb2[0].yx * float2(-0.707106769,-0.707106769) + r3.yw;
  r3.yw = r5.yz * r1.ww;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r7.z = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r7.xy = r3.yw * r7.zz;
  r6.xyz = r7.xyz + -r2.xyz;
  r3.y = dot(r6.xyz, r6.xyz);
  r3.w = dot(r0.xyw, r6.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r5.yz * r2.ww;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r7.z = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r7.xy = r3.yw * r7.zz;
  r6.xyz = r7.xyz + -r2.xyz;
  r3.y = dot(r6.xyz, r6.xyz);
  r3.w = dot(r0.xyw, r6.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r5.yz * r3.zz;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r7.z = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r7.xy = r3.yw * r7.zz;
  r6.xyz = r7.xyz + -r2.xyz;
  r3.y = dot(r6.xyz, r6.xyz);
  r3.w = dot(r0.xyw, r6.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r5.yz * r0.zz;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r7.z = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r7.xy = r3.yw * r7.zz;
  r6.xyz = r7.xyz + -r2.xyz;
  r3.y = dot(r6.xyz, r6.xyz);
  r3.w = dot(r0.xyw, r6.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r6.x = -cb2[0].y * 3.58979313e-009 + -cb2[0].x;
  r6.y = cb2[0].x * 3.58979313e-009 + -cb2[0].y;
  r3.yw = r6.xy * r1.ww;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r8.z = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r8.xy = r3.yw * r8.zz;
  r7.xyz = r8.xyz + -r2.xyz;
  r3.y = dot(r7.xyz, r7.xyz);
  r3.w = dot(r0.xyw, r7.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r2.ww;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r8.z = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r8.xy = r3.yw * r8.zz;
  r7.xyz = r8.xyz + -r2.xyz;
  r3.y = dot(r7.xyz, r7.xyz);
  r3.w = dot(r0.xyw, r7.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r3.zz;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r8.z = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r8.xy = r3.yw * r8.zz;
  r7.xyz = r8.xyz + -r2.xyz;
  r3.y = dot(r7.xyz, r7.xyz);
  r3.w = dot(r0.xyw, r7.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r0.zz;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r7.z = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r7.xy = r3.yw * r7.zz;
  r6.xyz = r7.xyz + -r2.xyz;
  r3.y = dot(r6.xyz, r6.xyz);
  r3.w = dot(r0.xyw, r6.xyz);
  r4.z = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.z + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r6.x = cb2[0].x * -0.707106769 + -r4.y;
  r6.y = r4.y + r4.x;
  r3.yw = r6.xy * r1.ww;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r4.w = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r2.ww;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r4.w = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r3.zz;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r4.w = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r0.zz;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r4.w = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r6.x = cb2[0].x * -5.38468914e-009 + cb2[0].y;
  r6.y = cb2[0].y * -5.38468914e-009 + -cb2[0].x;
  r3.yw = r6.xy * r1.ww;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r4.w = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r2.ww;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r4.w = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r3.zz;
  r3.yw = round(r3.yw);
  r7.xy = r3.yw * cb0[0].xy + r1.xy;
  r7.z = 0;
  r4.w = t0.SampleLevel(s0_s, r7.xyz, 0).x;
  r3.yw = cb0[1].xy * r7.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r3.yw = r6.xy * r0.zz;
  r3.yw = round(r3.yw);
  r6.xy = r3.yw * cb0[0].xy + r1.xy;
  r6.z = 0;
  r4.w = t0.SampleLevel(s0_s, r6.xyz, 0).x;
  r3.yw = cb0[1].xy * r6.xy + cb0[1].zw;
  r4.xz = r3.yw * r4.ww;
  r4.xzw = r4.xzw + -r2.xyz;
  r3.y = dot(r4.xzw, r4.xzw);
  r3.w = dot(r0.xyw, r4.xzw);
  r4.x = rsqrt(r3.y);
  r3.w = saturate(r3.w * r4.x + -cb0[2].w);
  r3.y = saturate(r3.y * cb0[2].z + 1);
  r3.x = r3.w * r3.y + r3.x;
  r5.x = cb2[0].x * 0.707106769 + -r4.y;
  r3.yw = r5.xw * r1.ww;
  r3.yw = round(r3.yw);
  r4.xy = r3.yw * cb0[0].xy + r1.xy;
  r4.z = 0;
  r6.z = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r3.yw = cb0[1].xy * r4.xy + cb0[1].zw;
  r6.xy = r3.yw * r6.zz;
  r4.xyz = r6.xyz + -r2.xyz;
  r1.w = dot(r4.xyz, r4.xyz);
  r3.y = dot(r0.xyw, r4.xyz);
  r3.w = rsqrt(r1.w);
  r3.y = saturate(r3.y * r3.w + -cb0[2].w);
  r1.w = saturate(r1.w * cb0[2].z + 1);
  r1.w = r3.y * r1.w + r3.x;
  r3.xy = r5.xw * r2.ww;
  r3.xy = round(r3.xy);
  r4.xy = r3.xy * cb0[0].xy + r1.xy;
  r4.z = 0;
  r3.w = t0.SampleLevel(s0_s, r4.xyz, 0).x;
  r4.xy = cb0[1].xy * r4.xy + cb0[1].zw;
  r3.xy = r4.xy * r3.ww;
  r3.xyw = r3.xyw + -r2.xyz;
  r2.w = dot(r3.xyw, r3.xyw);
  r3.x = dot(r0.xyw, r3.xyw);
  r3.y = rsqrt(r2.w);
  r3.x = saturate(r3.x * r3.y + -cb0[2].w);
  r2.w = saturate(r2.w * cb0[2].z + 1);
  r1.w = r3.x * r2.w + r1.w;
  r3.xy = r5.xw * r3.zz;
  r3.xy = round(r3.xy);
  r3.xy = r3.xy * cb0[0].xy + r1.xy;
  r3.z = 0;
  r4.z = t0.SampleLevel(s0_s, r3.xyz, 0).x;
  r3.xy = cb0[1].xy * r3.xy + cb0[1].zw;
  r4.xy = r3.xy * r4.zz;
  r3.xyz = r4.xyz + -r2.xyz;
  r2.w = dot(r3.xyz, r3.xyz);
  r3.x = dot(r0.xyw, r3.xyz);
  r3.y = rsqrt(r2.w);
  r3.x = saturate(r3.x * r3.y + -cb0[2].w);
  r2.w = saturate(r2.w * cb0[2].z + 1);
  r1.w = r3.x * r2.w + r1.w;
  r3.xy = r5.xw * r0.zz;
  r3.xy = round(r3.xy);
  r3.xy = r3.xy * cb0[0].xy + r1.xy;
  r3.z = 0;
  r4.z = t0.SampleLevel(s0_s, r3.xyz, 0).x;
  r1.xy = cb0[1].xy * r3.xy + cb0[1].zw;
  r4.xy = r1.xy * r4.zz;
  r2.xyz = r4.xyz + -r2.xyz;
  r0.z = dot(r2.xyz, r2.xyz);
  r0.x = dot(r0.xyw, r2.xyz);
  r0.y = rsqrt(r0.z);
  r0.x = saturate(r0.x * r0.y + -cb0[2].w);
  r0.y = saturate(r0.z * cb0[2].z + 1);
  r0.x = r0.x * r0.y + r1.w;
  r0.x = cb0[3].y * r0.x;
  r0.x = r1.z * 8 + r0.x;
  o0.x = saturate(-r0.x * 0.0625 + 1);
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.11 on Sat Aug 11 17:29:30 2018
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   x           0   TARGET   float   x
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[4], immediateIndexed
dcl_constantbuffer cb2[2], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2darray (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.x
dcl_temps 9
round_ni r0.xy, v0.xyxx
mad r0.xy, r0.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000), cb2[1].xyxx
mul r0.zw, r0.xxxy, cb0[0].xxxy
mul r1.xy, r0.zwzz, l(0.250000, 0.250000, 0.000000, 0.000000)
mov r1.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r2.z, r1.xyzx, t0.yzxw, s0, l(0.000000)
div r0.z, cb0[2].x, r2.z
lt r0.w, r0.z, l(1.000000)
if_nz r0.w
  mov o0.x, l(1.000000)
  ret
endif
mad r1.zw, cb0[1].xxxy, r1.xxxy, cb0[1].zzzw
mul r2.xy, r2.zzzz, r1.zwzz
ftoi r3.xy, r0.xyxx
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r3.xyzw, t1.xyzw
mad r0.xyw, r3.xyxz, l(2.000000, 2.000000, 0.000000, 2.000000), l(-1.000000, -1.000000, 0.000000, -1.000000)
mul r1.z, r3.w, cb0[3].x
mul r1.w, r0.z, l(0.050000)
mad r1.w, cb2[0].z, r1.w, l(1.000000)
mul r3.xy, r1.wwww, cb2[0].xyxx
round_ne r3.xy, r3.xyxx
mad r3.xy, r3.xyxx, cb0[0].xyxx, r1.xyxx
mov r3.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.z, r3.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.xy, cb0[1].xyxx, r3.xyxx, cb0[1].zwzz
mul r4.xy, r4.zzzz, r3.xyxx
mad r2.w, r0.z, l(0.050000), r1.w
add r3.xyz, -r2.xyzx, r4.xyzx
dp3 r3.w, r3.xyzx, r3.xyzx
dp3 r3.x, r0.xywx, r3.xyzx
rsq r3.y, r3.w
mad_sat r3.x, r3.x, r3.y, -cb0[2].w
mad_sat r3.y, r3.w, cb0[2].z, l(1.000000)
mul r3.zw, r2.wwww, cb2[0].xxxy
round_ne r3.zw, r3.zzzw
mad r4.xy, r3.zwzz, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.z, r4.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.zw, cb0[1].xxxy, r4.xxxy, cb0[1].zzzw
mul r5.xy, r5.zzzz, r3.zwzz
mad r3.z, r0.z, l(0.050000), r2.w
add r4.xyz, -r2.xyzx, r5.xyzx
dp3 r3.w, r4.xyzx, r4.xyzx
dp3 r4.x, r0.xywx, r4.xyzx
rsq r4.y, r3.w
mad_sat r4.x, r4.x, r4.y, -cb0[2].w
mad_sat r3.w, r3.w, cb0[2].z, l(1.000000)
mul r3.w, r3.w, r4.x
mad r3.x, r3.x, r3.y, r3.w
mul r3.yw, r3.zzzz, cb2[0].xxxy
round_ne r3.yw, r3.yyyw
mad r4.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.z, r4.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r4.xxxy, cb0[1].zzzw
mul r5.xy, r5.zzzz, r3.ywyy
mad r0.z, r0.z, l(0.050000), r3.z
add r4.xyz, -r2.xyzx, r5.xyzx
dp3 r3.y, r4.xyzx, r4.xyzx
dp3 r3.w, r0.xywx, r4.xyzx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r0.zzzz, cb2[0].xxxy
round_ne r3.yw, r3.yyyw
mad r4.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.z, r4.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r4.xxxy, cb0[1].zzzw
mul r5.xy, r5.zzzz, r3.ywyy
add r4.xyz, -r2.xyzx, r5.xyzx
dp3 r3.y, r4.xyzx, r4.xyzx
dp3 r3.w, r0.xywx, r4.xyzx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, cb2[0].xxxy, l(0.000000, 0.707106769, 0.000000, 0.707106769)
mad r4.x, cb2[0].x, l(0.707106769), -r3.w
add r4.y, r3.y, r3.w
mul r4.zw, r1.wwww, r4.xxxy
round_ne r4.zw, r4.zzzw
mad r5.xy, r4.zwzz, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r5.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.zw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r4.zwzz
add r5.xyz, -r2.xyzx, r6.xyzx
dp3 r4.z, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r4.z
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r4.z, r4.z, cb0[2].z, l(1.000000)
mad r3.x, r4.w, r4.z, r3.x
mul r4.zw, r2.wwww, r4.xxxy
round_ne r4.zw, r4.zzzw
mad r5.xy, r4.zwzz, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r5.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.zw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r4.zwzz
add r5.xyz, -r2.xyzx, r6.xyzx
dp3 r4.z, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r4.z
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r4.z, r4.z, cb0[2].z, l(1.000000)
mad r3.x, r4.w, r4.z, r3.x
mul r4.zw, r3.zzzz, r4.xxxy
round_ne r4.zw, r4.zzzw
mad r5.xy, r4.zwzz, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r5.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.zw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r4.zwzz
add r5.xyz, -r2.xyzx, r6.xyzx
dp3 r4.z, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r4.z
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r4.z, r4.z, cb0[2].z, l(1.000000)
mad r3.x, r4.w, r4.z, r3.x
mul r4.xy, r0.zzzz, r4.xyxx
round_ne r4.xy, r4.xyxx
mad r4.xy, r4.xyxx, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.z, r4.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.xy, cb0[1].xyxx, r4.xyxx, cb0[1].zwzz
mul r5.xy, r5.zzzz, r4.xyxx
add r4.xyz, -r2.xyzx, r5.xyzx
dp3 r4.w, r4.xyzx, r4.xyzx
dp3 r4.x, r0.xywx, r4.xyzx
rsq r4.y, r4.w
mad_sat r4.x, r4.x, r4.y, -cb0[2].w
mad_sat r4.y, r4.w, cb0[2].z, l(1.000000)
mad r3.x, r4.x, r4.y, r3.x
mad r4.x, cb2[0].x, l(1.794896565E-009), -cb2[0].y
mad r4.y, cb2[0].y, l(1.794896565E-009), cb2[0].x
mul r4.zw, r1.wwww, r4.xxxy
round_ne r4.zw, r4.zzzw
mad r5.xy, r4.zwzz, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r5.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.zw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r4.zwzz
add r5.xyz, -r2.xyzx, r6.xyzx
dp3 r4.z, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r4.z
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r4.z, r4.z, cb0[2].z, l(1.000000)
mad r3.x, r4.w, r4.z, r3.x
mul r4.zw, r2.wwww, r4.xxxy
round_ne r4.zw, r4.zzzw
mad r5.xy, r4.zwzz, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r5.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.zw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r4.zwzz
add r5.xyz, -r2.xyzx, r6.xyzx
dp3 r4.z, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r4.z
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r4.z, r4.z, cb0[2].z, l(1.000000)
mad r3.x, r4.w, r4.z, r3.x
mul r4.zw, r3.zzzz, r4.xxxy
round_ne r4.zw, r4.zzzw
mad r5.xy, r4.zwzz, cb0[0].xyxx, r1.xyxx
mov r5.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r5.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.zw, cb0[1].xxxy, r5.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r4.zwzz
add r5.xyz, -r2.xyzx, r6.xyzx
dp3 r4.z, r5.xyzx, r5.xyzx
dp3 r4.w, r0.xywx, r5.xyzx
rsq r5.x, r4.z
mad_sat r4.w, r4.w, r5.x, -cb0[2].w
mad_sat r4.z, r4.z, cb0[2].z, l(1.000000)
mad r3.x, r4.w, r4.z, r3.x
mul r4.xy, r0.zzzz, r4.xyxx
round_ne r4.xy, r4.xyxx
mad r4.xy, r4.xyxx, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r5.z, r4.xyzx, t0.yzxw, s0, l(0.000000)
mad r4.xy, cb0[1].xyxx, r4.xyxx, cb0[1].zwzz
mul r5.xy, r5.zzzz, r4.xyxx
add r4.xyz, -r2.xyzx, r5.xyzx
dp3 r4.w, r4.xyzx, r4.xyzx
dp3 r4.x, r0.xywx, r4.xyzx
rsq r4.y, r4.w
mad_sat r4.x, r4.x, r4.y, -cb0[2].w
mad_sat r4.y, r4.w, cb0[2].z, l(1.000000)
mad r3.x, r4.x, r4.y, r3.x
mul r4.xy, cb2[0].xyxx, l(-0.707106769, -0.707106769, 0.000000, 0.000000)
mad r5.y, cb2[0].x, l(-0.707106769), -r3.w
mad r5.zw, cb2[0].yyyx, l(0.000000, 0.000000, -0.707106769, -0.707106769), r3.yyyw
mul r3.yw, r1.wwww, r5.yyyz
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.z, r6.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.xy, r7.zzzz, r3.ywyy
add r6.xyz, -r2.xyzx, r7.xyzx
dp3 r3.y, r6.xyzx, r6.xyzx
dp3 r3.w, r0.xywx, r6.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r2.wwww, r5.yyyz
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.z, r6.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.xy, r7.zzzz, r3.ywyy
add r6.xyz, -r2.xyzx, r7.xyzx
dp3 r3.y, r6.xyzx, r6.xyzx
dp3 r3.w, r0.xywx, r6.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r3.zzzz, r5.yyyz
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.z, r6.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.xy, r7.zzzz, r3.ywyy
add r6.xyz, -r2.xyzx, r7.xyzx
dp3 r3.y, r6.xyzx, r6.xyzx
dp3 r3.w, r0.xywx, r6.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r0.zzzz, r5.yyyz
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.z, r6.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.xy, r7.zzzz, r3.ywyy
add r6.xyz, -r2.xyzx, r7.xyzx
dp3 r3.y, r6.xyzx, r6.xyzx
dp3 r3.w, r0.xywx, r6.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mad r6.x, -cb2[0].y, l(3.589793129E-009), -cb2[0].x
mad r6.y, cb2[0].x, l(3.589793129E-009), -cb2[0].y
mul r3.yw, r1.wwww, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.z, r7.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r8.xy, r8.zzzz, r3.ywyy
add r7.xyz, -r2.xyzx, r8.xyzx
dp3 r3.y, r7.xyzx, r7.xyzx
dp3 r3.w, r0.xywx, r7.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r2.wwww, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.z, r7.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r8.xy, r8.zzzz, r3.ywyy
add r7.xyz, -r2.xyzx, r8.xyzx
dp3 r3.y, r7.xyzx, r7.xyzx
dp3 r3.w, r0.xywx, r7.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r3.zzzz, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r8.z, r7.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r8.xy, r8.zzzz, r3.ywyy
add r7.xyz, -r2.xyzx, r8.xyzx
dp3 r3.y, r7.xyzx, r7.xyzx
dp3 r3.w, r0.xywx, r7.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r0.zzzz, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r7.z, r6.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r7.xy, r7.zzzz, r3.ywyy
add r6.xyz, -r2.xyzx, r7.xyzx
dp3 r3.y, r6.xyzx, r6.xyzx
dp3 r3.w, r0.xywx, r6.xyzx
rsq r4.z, r3.y
mad_sat r3.w, r3.w, r4.z, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mad r6.x, cb2[0].x, l(-0.707106769), -r4.y
add r6.y, r4.x, r4.y
mul r3.yw, r1.wwww, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r7.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r2.wwww, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r7.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r3.zzzz, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r7.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r0.zzzz, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r6.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mad r6.x, cb2[0].x, l(-5.384689139E-009), cb2[0].y
mad r6.y, cb2[0].y, l(-5.384689139E-009), -cb2[0].x
mul r3.yw, r1.wwww, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r7.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r2.wwww, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r7.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r3.zzzz, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r7.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r7.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r7.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r7.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mul r3.yw, r0.zzzz, r6.xxxy
round_ne r3.yw, r3.yyyw
mad r6.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r6.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r6.xyzx, t0.ywzx, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r6.xxxy, cb0[1].zzzw
mul r4.xz, r4.wwww, r3.yywy
add r4.xzw, -r2.xxyz, r4.xxzw
dp3 r3.y, r4.xzwx, r4.xzwx
dp3 r3.w, r0.xywx, r4.xzwx
rsq r4.x, r3.y
mad_sat r3.w, r3.w, r4.x, -cb0[2].w
mad_sat r3.y, r3.y, cb0[2].z, l(1.000000)
mad r3.x, r3.w, r3.y, r3.x
mad r5.x, cb2[0].x, l(0.707106769), -r4.y
mul r3.yw, r1.wwww, r5.xxxw
round_ne r3.yw, r3.yyyw
mad r4.xy, r3.ywyy, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r6.z, r4.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.yw, cb0[1].xxxy, r4.xxxy, cb0[1].zzzw
mul r6.xy, r6.zzzz, r3.ywyy
add r4.xyz, -r2.xyzx, r6.xyzx
dp3 r1.w, r4.xyzx, r4.xyzx
dp3 r3.y, r0.xywx, r4.xyzx
rsq r3.w, r1.w
mad_sat r3.y, r3.y, r3.w, -cb0[2].w
mad_sat r1.w, r1.w, cb0[2].z, l(1.000000)
mad r1.w, r3.y, r1.w, r3.x
mul r3.xy, r2.wwww, r5.xwxx
round_ne r3.xy, r3.xyxx
mad r4.xy, r3.xyxx, cb0[0].xyxx, r1.xyxx
mov r4.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r3.w, r4.xyzx, t0.yzwx, s0, l(0.000000)
mad r4.xy, cb0[1].xyxx, r4.xyxx, cb0[1].zwzz
mul r3.xy, r3.wwww, r4.xyxx
add r3.xyw, -r2.xyxz, r3.xyxw
dp3 r2.w, r3.xywx, r3.xywx
dp3 r3.x, r0.xywx, r3.xywx
rsq r3.y, r2.w
mad_sat r3.x, r3.x, r3.y, -cb0[2].w
mad_sat r2.w, r2.w, cb0[2].z, l(1.000000)
mad r1.w, r3.x, r2.w, r1.w
mul r3.xy, r3.zzzz, r5.xwxx
round_ne r3.xy, r3.xyxx
mad r3.xy, r3.xyxx, cb0[0].xyxx, r1.xyxx
mov r3.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.z, r3.xyzx, t0.yzxw, s0, l(0.000000)
mad r3.xy, cb0[1].xyxx, r3.xyxx, cb0[1].zwzz
mul r4.xy, r4.zzzz, r3.xyxx
add r3.xyz, -r2.xyzx, r4.xyzx
dp3 r2.w, r3.xyzx, r3.xyzx
dp3 r3.x, r0.xywx, r3.xyzx
rsq r3.y, r2.w
mad_sat r3.x, r3.x, r3.y, -cb0[2].w
mad_sat r2.w, r2.w, cb0[2].z, l(1.000000)
mad r1.w, r3.x, r2.w, r1.w
mul r3.xy, r0.zzzz, r5.xwxx
round_ne r3.xy, r3.xyxx
mad r3.xy, r3.xyxx, cb0[0].xyxx, r1.xyxx
mov r3.z, l(0)
sample_l_indexable(texture2darray)(float,float,float,float) r4.z, r3.xyzx, t0.yzxw, s0, l(0.000000)
mad r1.xy, cb0[1].xyxx, r3.xyxx, cb0[1].zwzz
mul r4.xy, r4.zzzz, r1.xyxx
add r2.xyz, -r2.xyzx, r4.xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
dp3 r0.x, r0.xywx, r2.xyzx
rsq r0.y, r0.z
mad_sat r0.x, r0.x, r0.y, -cb0[2].w
mad_sat r0.y, r0.z, cb0[2].z, l(1.000000)
mad r0.x, r0.x, r0.y, r1.w
mul r0.x, r0.x, cb0[3].y
mad r0.x, r1.z, l(8.000000), r0.x
mad_sat o0.x, -r0.x, l(0.062500), l(1.000000)
ret
// Approximately 0 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
