//Nvidia Ansel shadows PS 1.
// ---- Created with 3Dmigoto v1.3.16 on Sat Dec 17 01:04:19 2022
Texture2DArray<float4> t19 : register(t19);

Texture2DArray<float4> t15 : register(t15);

Texture2DArray<float4> t14 : register(t14);

Texture2DArray<float4> t8 : register(t8);

Texture2D<float4> t2 : register(t2);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s14_s : register(s14);

SamplerState s10_s : register(s10);

SamplerComparisonState s9_s : register(s9);

cbuffer cb13 : register(b13)
{
  float4 cb13[49];
}

cbuffer cb12 : register(b12)
{
  float4 cb12[225];
}




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


void main(
  float4 v0 : SV_Position0,
  out float4 o0 : SV_Target0)
{
  const float4 icb[] = { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000} };
  float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r22;
  uint4 bitmask, uiDest;
  float4 fDest;
  
  float4 stereo = StereoParams.Load(0);
  
  r0.xy = (uint2)v0.xy;
  r0.zw = float2(0,0);
  r1.x = t0.Load(r0.xyw).x;
  r1.y = r1.x * cb12[22].x + cb12[22].y;
  r1.y = cmp(r1.y < 1);
  if (r1.y != 0) {
    r1.yzw = t1.Load(r0.xyw).xyz;
    r0.z = t2.Load(r0.xyz).w;
    r0.xy = (uint2)r0.xy;
	
	r22.xyzw = cb12[212].xyzw * r0.yyyy;
    r22.xyzw = cb12[211].xyzw * r0.xxxx + r22.xyzw;
    r22.xyzw = cb12[213].xyzw * r1.xxxx + r22.xyzw;
    r22.xyzw = cb12[214].xyzw + r22.xyzw;
	
	r0.x+=stereo.x*(stereo.y*r22.w-1)*cb12[220].x;
	
    r2.xyzw = cb12[212].xyzw * r0.yyyy;
    r2.xyzw = cb12[211].xyzw * r0.xxxx + r2.xyzw;
    r2.xyzw = cb12[213].xyzw * r1.xxxx + r2.xyzw;
    r2.xyzw = cb12[214].xyzw + r2.xyzw;
    r2.xyz = r2.xyz / r2.www;
    r1.xyz = float3(-0.5,-0.5,-0.5) + r1.yzw;
    r0.w = dot(r1.xyz, r1.xyz);
    r0.w = rsqrt(r0.w);
    r1.xyz = r1.xyz * r0.www;
    r0.z = r0.z * 255 + 0.5;
    r0.z = (uint)r0.z;
    r0.z = (int)r0.z & 26;
    r0.w = cmp(0 < asint(cb13[35].x));
    if (r0.w != 0) {
      r0.w = cmp(0 < asint(cb13[35].y));
      if (r0.w != 0) {
        r3.y = 0;
        r4.xyz = float3(0,0,0);
        r0.w = 0;
        while (true) {
          r1.w = cmp((int)r4.z >= asint(cb13[35].y));
          r0.w = 0;
          if (r1.w != 0) break;
          r3.zw = -cb13[r4.z+39].xy + r2.xy;
          r3.zw = cb13[r4.z+39].zw * r3.zw;
          r5.xy = cmp(r3.zw >= float2(0,0));
          r1.w = r5.y ? r5.x : 0;
          r5.xy = cmp(float2(1,1) >= r3.zw);
          r1.w = r1.w ? r5.x : 0;
          r1.w = r5.y ? r1.w : 0;
          if (r1.w != 0) {
            r5.xy = cb13[r4.z+44].zw + -cb13[r4.z+44].xy;
            r3.zw = r3.zw * r5.xy + cb13[r4.z+44].xy;
            r5.xyzw = float4(0.00048828125,-0.00048828125,0.00244140625,-0.00048828125) + r3.zwzw;
            r6.z = (int)r4.z;
            r6.xy = r5.xy;
            r2.w = t15.SampleLevel(s10_s, r6.xyz, 0).x;
            r4.x = cb13[38].x * r2.w + cb13[38].y;
            r6.xy = r5.zw;
            r2.w = t15.SampleLevel(s10_s, r6.xyz, 0).x;
            r2.w = cb13[38].x * r2.w + cb13[38].y;
            r5.xyzw = float4(0.00048828125,0.00146484375,-0.00146484375,-0.00048828125) + r3.zwzw;
            r6.xy = r5.xy;
            r4.w = t15.SampleLevel(s10_s, r6.xyz, 0).x;
            r4.w = cb13[38].x * r4.w + cb13[38].y;
            r6.xy = r5.zw;
            r5.x = t15.SampleLevel(s10_s, r6.xyz, 0).x;
            r5.x = cb13[38].x * r5.x + cb13[38].y;
            r6.xy = float2(0.00048828125,-0.00244140625) + r3.zw;
            r3.z = t15.SampleLevel(s10_s, r6.xyz, 0).x;
            r3.z = cb13[38].x * r3.z + cb13[38].y;
            r2.w = r2.w + -r4.x;
            r3.w = r5.x + -r4.x;
            r2.w = max(abs(r3.w), abs(r2.w));
            r3.w = r4.w + -r4.x;
            r3.z = r3.z + -r4.x;
            r3.z = max(abs(r3.w), abs(r3.z));
            r4.y = max(r3.z, r2.w);
            r0.w = -1;
            break;
          }
          r3.x = (int)r4.z + 1;
          r4.xyz = r3.yyx;
          r0.w = r1.w;
        }
      } else {
        r0.w = 0;
      }
      r3.xy = r0.ww ? r4.xy : float2(-10000,0);
      r3.zw = -cb12[0].xy + r2.xy;
      r0.w = dot(r3.zw, r3.zw);
      r0.w = sqrt(r0.w);
      r4.xyz = -cb12[0].xyz + r2.xyz;
      r1.w = dot(r4.xyz, r4.xyz);
      r1.w = sqrt(r1.w);
      r2.w = cmp(r0.w < cb13[36].y);
      if (r2.w != 0) {
        r2.w = max(0.100000001, r3.y);
        r2.w = 1 / r2.w;
        r3.y = cb13[37].z * r0.w;
        r3.y = max(1, r3.y);
        r3.y = cb13[36].x / r3.y;
        r2.w = min(r3.y, r2.w);
        r1.w = r1.w * 0.0199999996 + 0.0500000007;
        r0.w = cb13[36].z + r0.w;
        r0.w = saturate(cb13[36].w * r0.w);
        r3.z = r2.z;
        r3.yw = float2(0,0);
        r4.x = 0;
        while (true) {
          r4.y = cmp((int)r3.w >= asint(cb13[35].x));
          r4.x = 0;
          if (r4.y != 0) break;
          r4.yz = -cb13[r3.w+39].xy + r2.xy;
          r5.xy = cb13[r3.w+39].zw * r4.yz;
          r4.yw = cmp(r5.xy >= float2(0,0));
          r4.y = r4.w ? r4.y : 0;
          r6.xy = cmp(float2(1,1) >= r5.xy);
          r4.y = r4.y ? r6.x : 0;
          r4.y = r6.y ? r4.y : 0;
          if (r4.y != 0) {
            r5.z = (int)r3.w;
            r5.w = -r4.z * cb13[r3.w+39].w + 1;
            r4.z = t19.SampleLevel(s10_s, r5.xwz, 0).x;
            r4.z = cb13[38].x * r4.z + cb13[38].y;
            r4.w = r3.x + -r3.z;
            r4.w = cmp(abs(r4.w) < r1.w);
            r4.w = r4.w ? r3.x : r3.z;
            r4.z = -0.100000001 + r4.z;
            r4.z = r4.z + -r4.w;
            r4.z = saturate(r4.z * r2.w);
            r4.z = 1 + -r4.z;
            r4.w = 1 + -r4.z;
            r4.z = r0.w * r4.w + r4.z;
            r4.x = -1;
            r3.y = r4.z;
            break;
          }
          r3.w = (int)r3.w + 1;
          r4.x = r4.y;
        }
      } else {
        r4.x = 0;
      }
    } else {
      r4.x = 0;
    }
    r0.w = r4.x ? r3.y : 1;
    r1.w = cmp(0 < r0.w);
    if (r1.w != 0) {
      r1.x = dot(r1.xyz, cb13[0].xyz);
      r0.x = dot(r0.xy, float2(12.9898005,78.2330017));
      r0.x = sin(r0.x);
      r0.x = 43758.5469 * r0.x;
      r0.x = frac(r0.x);
      r0.x = 6.28318548 * r0.x;
      r1.yzw = cb13[5].xyz * r2.yyy;
      r1.yzw = cb13[4].xyz * r2.xxx + r1.yzw;
      r1.yzw = cb13[6].xyz * r2.zzz + r1.yzw;
      r1.yzw = cb13[7].xyz + r1.yzw;
      r0.y = cmp(abs(r1.w) >= 0.999000013);
      if (r0.y != 0) {
        r2.w = 1;
      }
      if (r0.y == 0) {
        r3.xyzw = -cb13[8].xyzw + r1.yyyy;
        r4.xyzw = -cb13[9].xyzw + r1.zzzz;
        r3.xyzw = max(abs(r4.xyzw), abs(r3.xyzw));
        r4.xyzw = cmp(r3.xyzw < cb13[10].xyzw);
        r4.xyzw = r4.xyzw ? float4(1,1,1,1) : 0;
        r5.xyzw = cmp(float4(0.5,1.5,2.5,3.5) < cb13[15].zzzz);
        r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0;
        r0.y = dot(r4.xyzw, r5.xyzw);
        r4.x = cmp(r0.y < 0.5);
        if (r4.x != 0) {
          r2.w = 1;
        }
        if (r4.x == 0) {
          r3.xyzw = r3.xyzw / cb13[10].xyzw;
          r5.xyzw = float4(1,1,1,1) + -cb13[17].xyzw;
          r3.xyzw = -r5.xyzw + r3.xyzw;
          r3.xyzw = saturate(r3.xyzw / cb13[17].xyzw);
          r0.y = cb13[15].z + -r0.y;
          r4.y = (int)r0.y;
          r4.z = (int)cb13[15].z;
          r4.z = (int)r4.z + -1;
          r4.w = dot(r3.xyzw, icb[r4.y+0].xyzw);
          r5.x = cmp(0 < r4.w);
          if (r5.x != 0) {
            r5.xy = cb13[r4.y+11].zz * float2(1,-1);
            r5.xy = r1.yz * r5.xy + cb13[r4.y+11].xy;
            r5.w = max(0, r1.x);
            r5.w = sqrt(r5.w);
            r5.w = 1 / r5.w;
            r5.w = -1 + r5.w;
            r5.w = max(1, r5.w);
            r5.w = min(4, r5.w);
            r6.x = cb13[r4.y+11].w;
            r6.y = 0;
            r6.xy = r0.zz ? cb13[r4.y+19].xy : r6.xy;
            r6.z = cmp((int)r0.z != 0);
            r6.w = cmp(0 < cb13[r4.y+19].z);
            r6.w = r6.w ? r6.z : 0;
            r5.z = trunc(r0.y);
            r6.x = r6.x * r5.w;
            r7.x = cmp(asint(cb13[18].x) >= 1);
            r6.w = cmp((int)r6.w == 0);
            r6.w = r6.w ? r7.x : 0;
            if (r6.w != 0) {
              sincos(r0.x, r8.x, r9.x);
              r6.w = t8.SampleCmpLevelZero(s9_s, r5.xyz, r1.w).x;
              r10.xyzw = float4(-0.263353914,0.0396538191,-0.717202425,0.368303299) * r6.xxxx;
              r9.y = r9.x;
              r9.z = r8.x;
              r9.x = -r8.x;
              r8.xyzw = r9.yzxy * r10.xxyy;
              r7.yz = r8.xy + r8.zw;
              r8.xyzw = -r6.yyyy * float4(0.0370370373,0.0740740746,0.111111112,0.148148149) + r1.wwww;
              r11.xy = r7.yz + r5.xy;
              r11.z = r5.z;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r8.x).x;
              r6.w = r7.y + r6.w;
              r10.xyzw = r9.yzxy * r10.zzww;
              r7.yz = r10.xy + r10.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r8.y).x;
              r6.w = r7.y + r6.w;
              r10.xyzw = float4(-0.0199530609,-0.398839206,-0.440993786,-0.22101) * r6.xxxx;
              r12.xyzw = r10.xxyy * r9.yzxy;
              r7.yz = r12.xy + r12.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r8.z).x;
              r6.w = r7.y + r6.w;
              r10.xyzw = r10.zzww * r9.yzxy;
              r7.yz = r10.xy + r10.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r8.w).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.220039204,0.294344813,-0.767565727,-0.148275301) * r6.xxxx;
              r10.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r10.xy + r10.zw;
              r10.xyzw = -r6.yyyy * float4(0.185185179,0.222222224,0.259259254,0.296296299) + r1.wwww;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.x).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.y).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(-0.2381019,0.547106206,0.217303097,-0.134587899) * r6.xxxx;
              r12.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r12.xy + r12.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.z).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.w).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(-0.638777375,0.756133914,-0.1614144,0.977652073) * r6.xxxx;
              r10.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r10.xy + r10.zw;
              r10.xyzw = -r6.yyyy * float4(0.333333343,0.370370358,0.407407403,0.444444448) + r1.wwww;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.x).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.y).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.215631902,0.612341285,0.232887506,0.945287228) * r6.xxxx;
              r12.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r12.xy + r12.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.z).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.w).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(-0.944064379,0.123607703,-0.740823686,-0.507682979) * r6.xxxx;
              r10.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r10.xy + r10.zw;
              r10.xyzw = -r6.yyyy * float4(0.481481493,0.518518507,0.555555582,0.592592597) + r1.wwww;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.x).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.y).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(-0.411301911,-0.890596688,-0.248642907,-0.621399283) * r6.xxxx;
              r12.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r12.xy + r12.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.z).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.w).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.696784973,0.264493704,0.539436281,0.817321479) * r6.xxxx;
              r10.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r10.xy + r10.zw;
              r10.xyzw = -r6.yyyy * float4(0.629629612,0.666666687,0.703703701,0.740740716) + r1.wwww;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.x).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.y).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.615120828,-0.149864003,0.0936533585,-0.78174752) * r6.xxxx;
              r12.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r12.xy + r12.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.z).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.w).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.276806712,-0.489596814,0.663918078,-0.600717187) * r6.xxxx;
              r10.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r10.xy + r10.zw;
              r10.xyzw = -r6.yyyy * float4(0.777777791,0.814814806,0.851851881,0.888888896) + r1.wwww;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.x).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.y).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.388036907,-0.895089388,0.991614401,-0.0793915167) * r6.xxxx;
              r12.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r12.xy + r12.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.z).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r8.xy + r8.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r10.w).x;
              r6.w = r7.y + r6.w;
              r8.xyzw = float4(0.783184826,0.602934778,0.899860322,-0.398354292) * r6.xxxx;
              r10.xyzw = r9.yzxy * r8.xxyy;
              r7.yz = r10.xy + r10.zw;
              r8.xy = -r6.yy * float2(0.92592591,0.962962985) + r1.ww;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r8.x).x;
              r6.w = r7.y + r6.w;
              r9.xyzw = r9.yzxy * r8.zzww;
              r7.yz = r9.xy + r9.zw;
              r11.xy = r7.yz + r5.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r11.xyz, r8.y).x;
              r6.w = r7.y + r6.w;
              r6.w = 0.0370370373 * r6.w;
              r6.w = r6.w * r6.w;
            } else {
              r7.y = t8.SampleCmpLevelZero(s9_s, r5.xyz, r1.w).x;
              r8.xyzw = -r6.yyyy * float4(0.0769230798,0.15384616,0.230769232,0.307692319) + r1.wwww;
              r9.xyzw = r6.xxxx * float4(-0.507720828,-0.617089927,-0.0515490212,-0.750809789) + r5.xyxy;
              r10.xy = r9.xy;
              r10.z = r5.z;
              r5.z = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.x).x;
              r5.z = r7.y + r5.z;
              r10.xy = r9.zw;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.y).x;
              r5.z = r7.y + r5.z;
              r9.xyzw = r6.xxxx * float4(-0.764104187,0.200915202,0.00728477398,-0.205946997) + r5.xyxy;
              r10.xy = r9.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.z).x;
              r5.z = r7.y + r5.z;
              r10.xy = r9.zw;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.w).x;
              r5.z = r7.y + r5.z;
              r8.xyzw = -r6.yyyy * float4(0.384615391,0.461538464,0.538461566,0.615384638) + r1.wwww;
              r9.xyzw = r6.xxxx * float4(-0.366203994,0.732379675,-0.923958182,-0.255964309) + r5.xyxy;
              r10.xy = r9.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.x).x;
              r5.z = r7.y + r5.z;
              r10.xy = r9.zw;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.y).x;
              r5.z = r7.y + r5.z;
              r9.xyzw = r6.xxxx * float4(-0.286924005,0.278052986,0.772301197,0.157332897) + r5.xyxy;
              r10.xy = r9.xy;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.z).x;
              r5.z = r7.y + r5.z;
              r10.xy = r9.zw;
              r7.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.w).x;
              r5.z = r7.y + r5.z;
              r8.xyzw = -r6.yyyy * float4(0.692307711,0.769230783,0.846153855,0.923076928) + r1.wwww;
              r9.xyzw = r6.xxxx * float4(0.378513008,0.405219913,0.463021696,-0.691461921) + r5.xyxy;
              r10.xy = r9.xy;
              r6.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.x).x;
              r5.z = r6.y + r5.z;
              r10.xy = r9.zw;
              r6.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.y).x;
              r5.z = r6.y + r5.z;
              r9.xyzw = r6.xxxx * float4(0.423523009,0.86302799,0.855864286,-0.338255405) + r5.xyxy;
              r10.xy = r9.xy;
              r5.x = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.z).x;
              r5.x = r5.z + r5.x;
              r10.xy = r9.zw;
              r5.y = t8.SampleCmpLevelZero(s9_s, r10.xyz, r8.w).x;
              r5.x = r5.x + r5.y;
              r5.x = 0.0769230798 * r5.x;
              r6.w = r5.x * r5.x;
            }
            r5.x = (int)r4.y + 1;
            r5.yz = cb13[r5.x+11].zz * float2(1,-1);
            r8.xy = r1.yz * r5.yz + cb13[r5.x+11].xy;
            r5.y = r0.z ? cb13[r5.x+19].x : cb13[r5.x+11].w;
            r5.z = r0.z ? cb13[r5.x+19].y : 0;
            r6.x = cmp(0 < cb13[r5.x+19].z);
            r6.x = r6.x ? r6.z : 0;
            r8.z = (int)r5.x;
            r5.x = r5.w * r5.y;
            r5.y = cmp((int)r6.x == 0);
            r5.y = r5.y ? r7.x : 0;
            if (r5.y != 0) {
              sincos(r0.x, r6.x, r7.x);
              r5.y = t8.SampleCmpLevelZero(s9_s, r8.xyz, r1.w).x;
              r9.xyzw = float4(-0.263353914,0.0396538191,-0.717202425,0.368303299) * r5.xxxx;
              r7.y = r7.x;
              r7.z = r6.x;
              r7.x = -r6.x;
              r10.xyzw = r7.yzxy * r9.xxyy;
              r6.xy = r10.xy + r10.zw;
              r10.xyzw = -r5.zzzz * float4(0.0370370373,0.0740740746,0.111111112,0.148148149) + r1.wwww;
              r6.xy = r8.xy + r6.xy;
              r6.z = r8.z;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r7.yzxy * r9.zzww;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(-0.0199530609,-0.398839206,-0.440993786,-0.22101) * r5.xxxx;
              r11.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r11.xy + r11.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.z).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.w).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.220039204,0.294344813,-0.767565727,-0.148275301) * r5.xxxx;
              r10.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r10.xy + r10.zw;
              r10.xyzw = -r5.zzzz * float4(0.185185179,0.222222224,0.259259254,0.296296299) + r1.wwww;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(-0.2381019,0.547106206,0.217303097,-0.134587899) * r5.xxxx;
              r11.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r11.xy + r11.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.z).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.w).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(-0.638777375,0.756133914,-0.1614144,0.977652073) * r5.xxxx;
              r10.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r10.xy + r10.zw;
              r10.xyzw = -r5.zzzz * float4(0.333333343,0.370370358,0.407407403,0.444444448) + r1.wwww;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.215631902,0.612341285,0.232887506,0.945287228) * r5.xxxx;
              r11.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r11.xy + r11.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.z).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.w).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(-0.944064379,0.123607703,-0.740823686,-0.507682979) * r5.xxxx;
              r10.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r10.xy + r10.zw;
              r10.xyzw = -r5.zzzz * float4(0.481481493,0.518518507,0.555555582,0.592592597) + r1.wwww;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(-0.411301911,-0.890596688,-0.248642907,-0.621399283) * r5.xxxx;
              r11.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r11.xy + r11.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.z).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.w).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.696784973,0.264493704,0.539436281,0.817321479) * r5.xxxx;
              r10.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r10.xy + r10.zw;
              r10.xyzw = -r5.zzzz * float4(0.629629612,0.666666687,0.703703701,0.740740716) + r1.wwww;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.615120828,-0.149864003,0.0936533585,-0.78174752) * r5.xxxx;
              r11.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r11.xy + r11.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.z).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.w).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.276806712,-0.489596814,0.663918078,-0.600717187) * r5.xxxx;
              r10.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r10.xy + r10.zw;
              r10.xyzw = -r5.zzzz * float4(0.777777791,0.814814806,0.851851881,0.888888896) + r1.wwww;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.388036907,-0.895089388,0.991614401,-0.0793915167) * r5.xxxx;
              r11.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r11.xy + r11.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.z).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = r9.zzww * r7.yzxy;
              r9.xy = r9.xy + r9.zw;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.w).x;
              r5.y = r5.y + r5.w;
              r9.xyzw = float4(0.783184826,0.602934778,0.899860322,-0.398354292) * r5.xxxx;
              r10.xyzw = r9.xxyy * r7.yzxy;
              r9.xy = r10.xy + r10.zw;
              r10.xy = -r5.zz * float2(0.92592591,0.962962985) + r1.ww;
              r6.xy = r9.xy + r8.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.x).x;
              r5.y = r5.y + r5.w;
              r7.xyzw = r9.zzww * r7.yzxy;
              r7.xy = r7.xy + r7.zw;
              r6.xy = r8.xy + r7.xy;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r10.y).x;
              r5.y = r5.y + r5.w;
              r5.y = 0.0370370373 * r5.y;
              r5.y = r5.y * r5.y;
            } else {
              r5.w = t8.SampleCmpLevelZero(s9_s, r8.xyz, r1.w).x;
              r7.xyzw = -r5.zzzz * float4(0.0769230798,0.15384616,0.230769232,0.307692319) + r1.wwww;
              r9.xyzw = r5.xxxx * float4(-0.507720828,-0.617089927,-0.0515490212,-0.750809789) + r8.xyxy;
              r6.xy = r9.xy;
              r6.z = r8.z;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.x).x;
              r5.w = r7.x + r5.w;
              r6.xy = r9.zw;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.y).x;
              r5.w = r7.x + r5.w;
              r9.xyzw = r5.xxxx * float4(-0.764104187,0.200915202,0.00728477398,-0.205946997) + r8.xyxy;
              r6.xy = r9.xy;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.z).x;
              r5.w = r7.x + r5.w;
              r6.xy = r9.zw;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.w).x;
              r5.w = r7.x + r5.w;
              r7.xyzw = -r5.zzzz * float4(0.384615391,0.461538464,0.538461566,0.615384638) + r1.wwww;
              r9.xyzw = r5.xxxx * float4(-0.366203994,0.732379675,-0.923958182,-0.255964309) + r8.xyxy;
              r6.xy = r9.xy;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.x).x;
              r5.w = r7.x + r5.w;
              r6.xy = r9.zw;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.y).x;
              r5.w = r7.x + r5.w;
              r9.xyzw = r5.xxxx * float4(-0.286924005,0.278052986,0.772301197,0.157332897) + r8.xyxy;
              r6.xy = r9.xy;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.z).x;
              r5.w = r7.x + r5.w;
              r6.xy = r9.zw;
              r7.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.w).x;
              r5.w = r7.x + r5.w;
              r7.xyzw = -r5.zzzz * float4(0.692307711,0.769230783,0.846153855,0.923076928) + r1.wwww;
              r9.xyzw = r5.xxxx * float4(0.378513008,0.405219913,0.463021696,-0.691461921) + r8.xyxy;
              r6.xy = r9.xy;
              r5.z = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.x).x;
              r5.z = r5.w + r5.z;
              r6.xy = r9.zw;
              r5.w = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.y).x;
              r5.z = r5.z + r5.w;
              r8.xyzw = r5.xxxx * float4(0.423523009,0.86302799,0.855864286,-0.338255405) + r8.xyxy;
              r6.xy = r8.xy;
              r5.x = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.z).x;
              r5.x = r5.z + r5.x;
              r6.xy = r8.zw;
              r5.z = t8.SampleCmpLevelZero(s9_s, r6.xyz, r7.w).x;
              r5.x = r5.x + r5.z;
              r5.x = 0.0769230798 * r5.x;
              r5.y = r5.x * r5.x;
            }
            r5.x = r5.y + -r6.w;
            r4.w = r4.w * r5.x + r6.w;
          } else {
            r5.xy = cb13[r4.y+11].zz * float2(1,-1);
            r5.xy = r1.yz * r5.xy + cb13[r4.y+11].xy;
            r1.x = max(0, r1.x);
            r1.x = sqrt(r1.x);
            r1.x = 1 / r1.x;
            r1.x = -1 + r1.x;
            r1.x = max(1, r1.x);
            r1.x = min(4, r1.x);
            r6.x = cb13[r4.y+11].w;
            r6.y = 0;
            r1.yz = r0.zz ? cb13[r4.y+19].xy : r6.xy;
            r0.z = cmp((int)r0.z != 0);
            r4.y = cmp(0 < cb13[r4.y+19].z);
            r0.z = r0.z ? r4.y : 0;
            r5.z = trunc(r0.y);
            r1.x = r1.x * r1.y;
            r1.y = cmp(asint(cb13[18].x) >= 1);
            r0.z = cmp((int)r0.z == 0);
            r0.z = r0.z ? r1.y : 0;
            if (r0.z != 0) {
              sincos(r0.x, r0.x, r6.x);
              r0.z = t8.SampleCmpLevelZero(s9_s, r5.xyz, r1.w).x;
              r7.xyzw = float4(-0.263353914,0.0396538191,-0.717202425,0.368303299) * r1.xxxx;
              r6.y = r6.x;
              r6.z = r0.x;
              r6.x = -r0.x;
              r8.xyzw = r6.yzxy * r7.xxyy;
              r7.xy = r8.xy + r8.zw;
              r8.xyzw = -r1.zzzz * float4(0.0370370373,0.0740740746,0.111111112,0.148148149) + r1.wwww;
              r9.xy = r7.xy + r5.xy;
              r9.z = r5.z;
              r0.x = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.z + r0.x;
              r7.xyzw = r6.yzxy * r7.zzww;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(-0.0199530609,-0.398839206,-0.440993786,-0.22101) * r1.xxxx;
              r10.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r10.xy + r10.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.z).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.w).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.220039204,0.294344813,-0.767565727,-0.148275301) * r1.xxxx;
              r8.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r8.xy + r8.zw;
              r8.xyzw = -r1.zzzz * float4(0.185185179,0.222222224,0.259259254,0.296296299) + r1.wwww;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(-0.2381019,0.547106206,0.217303097,-0.134587899) * r1.xxxx;
              r10.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r10.xy + r10.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.z).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.w).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(-0.638777375,0.756133914,-0.1614144,0.977652073) * r1.xxxx;
              r8.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r8.xy + r8.zw;
              r8.xyzw = -r1.zzzz * float4(0.333333343,0.370370358,0.407407403,0.444444448) + r1.wwww;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.215631902,0.612341285,0.232887506,0.945287228) * r1.xxxx;
              r10.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r10.xy + r10.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.z).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.w).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(-0.944064379,0.123607703,-0.740823686,-0.507682979) * r1.xxxx;
              r8.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r8.xy + r8.zw;
              r8.xyzw = -r1.zzzz * float4(0.481481493,0.518518507,0.555555582,0.592592597) + r1.wwww;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(-0.411301911,-0.890596688,-0.248642907,-0.621399283) * r1.xxxx;
              r10.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r10.xy + r10.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.z).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.w).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.696784973,0.264493704,0.539436281,0.817321479) * r1.xxxx;
              r8.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r8.xy + r8.zw;
              r8.xyzw = -r1.zzzz * float4(0.629629612,0.666666687,0.703703701,0.740740716) + r1.wwww;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.615120828,-0.149864003,0.0936533585,-0.78174752) * r1.xxxx;
              r10.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r10.xy + r10.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.z).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.w).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.276806712,-0.489596814,0.663918078,-0.600717187) * r1.xxxx;
              r8.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r8.xy + r8.zw;
              r8.xyzw = -r1.zzzz * float4(0.777777791,0.814814806,0.851851881,0.888888896) + r1.wwww;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.388036907,-0.895089388,0.991614401,-0.0793915167) * r1.xxxx;
              r10.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r10.xy + r10.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.z).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r7.zzww * r6.yzxy;
              r7.xy = r7.xy + r7.zw;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.w).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = float4(0.783184826,0.602934778,0.899860322,-0.398354292) * r1.xxxx;
              r8.xyzw = r7.xxyy * r6.yzxy;
              r7.xy = r8.xy + r8.zw;
              r8.xy = -r1.zz * float2(0.92592591,0.962962985) + r1.ww;
              r9.xy = r7.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.x).x;
              r0.x = r0.x + r0.z;
              r6.xyzw = r7.zzww * r6.yzxy;
              r6.xy = r6.xy + r6.zw;
              r9.xy = r6.xy + r5.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r9.xyz, r8.y).x;
              r0.x = r0.x + r0.z;
              r0.x = 0.0370370373 * r0.x;
              r4.w = r0.x * r0.x;
            } else {
              r0.x = t8.SampleCmpLevelZero(s9_s, r5.xyz, r1.w).x;
              r6.xyzw = -r1.zzzz * float4(0.0769230798,0.15384616,0.230769232,0.307692319) + r1.wwww;
              r7.xyzw = r1.xxxx * float4(-0.507720828,-0.617089927,-0.0515490212,-0.750809789) + r5.xyxy;
              r8.xy = r7.xy;
              r8.z = r5.z;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.x).x;
              r0.x = r0.x + r0.z;
              r8.xy = r7.zw;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r1.xxxx * float4(-0.764104187,0.200915202,0.00728477398,-0.205946997) + r5.xyxy;
              r8.xy = r7.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.z).x;
              r0.x = r0.x + r0.z;
              r8.xy = r7.zw;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.w).x;
              r0.x = r0.x + r0.z;
              r6.xyzw = -r1.zzzz * float4(0.384615391,0.461538464,0.538461566,0.615384638) + r1.wwww;
              r7.xyzw = r1.xxxx * float4(-0.366203994,0.732379675,-0.923958182,-0.255964309) + r5.xyxy;
              r8.xy = r7.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.x).x;
              r0.x = r0.x + r0.z;
              r8.xy = r7.zw;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.y).x;
              r0.x = r0.x + r0.z;
              r7.xyzw = r1.xxxx * float4(-0.286924005,0.278052986,0.772301197,0.157332897) + r5.xyxy;
              r8.xy = r7.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.z).x;
              r0.x = r0.x + r0.z;
              r8.xy = r7.zw;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.w).x;
              r0.x = r0.x + r0.z;
              r6.xyzw = -r1.zzzz * float4(0.692307711,0.769230783,0.846153855,0.923076928) + r1.wwww;
              r7.xyzw = r1.xxxx * float4(0.378513008,0.405219913,0.463021696,-0.691461921) + r5.xyxy;
              r8.xy = r7.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.x).x;
              r0.x = r0.x + r0.z;
              r8.xy = r7.zw;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.y).x;
              r0.x = r0.x + r0.z;
              r1.xyzw = r1.xxxx * float4(0.423523009,0.86302799,0.855864286,-0.338255405) + r5.xyxy;
              r8.xy = r1.xy;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.z).x;
              r0.x = r0.x + r0.z;
              r8.xy = r1.zw;
              r0.z = t8.SampleCmpLevelZero(s9_s, r8.xyz, r6.w).x;
              r0.x = r0.x + r0.z;
              r0.x = 0.0769230798 * r0.x;
              r4.w = r0.x * r0.x;
            }
          }
          r0.x = (int)r4.z;
          r0.y = trunc(r0.y);
          r0.x = cmp(r0.y >= r0.x);
          r0.x = r0.x ? 1.000000 : 0;
          r0.y = dot(r3.xyzw, icb[r4.z+0].xyzw);
          r0.x = saturate(r0.x * r0.y + r4.w);
        } else {
          r0.x = 1;
        }
        r2.w = r4.x ? r2.w : r0.x;
      }
      r0.x = r2.w * r0.w;
      r0.y = 20 * cb12[66].x;
      r1.zw = trunc(cb12[68].xy);
      r3.xyz = -cb12[0].xyz + r2.xyz;
      r0.z = dot(r3.xyz, r3.xyz);
      r0.z = sqrt(r0.z);
      r3.xy = cb12[67].xy;
      r3.z = 0;
      r3.xyz = r3.xyz + r2.xyz;
      r3.xyz = float3(0.00999999978,0.00999999978,0.00999999978) * r3.xyz;
      r3.xyz = r3.xyz / cb12[66].xxx;
      r4.xy = float2(20,20) * cb12[67].xy;
      r4.z = 0;
      r2.xyz = r4.xyz + r2.xyz;
      r2.xyz = float3(0.00999999978,0.00999999978,0.00999999978) * r2.xyz;
      r2.xyz = r2.xyz / r0.yyy;
      r3.zw = cb13[0].xy * r3.zz;
      r3.zw = r3.zw / cb13[0].zz;
      r1.xy = r3.xy + -r3.zw;
      r2.zw = cb13[0].xy * r2.zz;
      r2.zw = r2.zw / cb13[0].zz;
      r2.xy = r2.xy + -r2.zw;
      r0.y = t14.SampleLevel(s14_s, r1.xyz, 1).x;
      r1.x = t14.SampleLevel(s14_s, r1.xyw, 1).x;
      r1.x = r1.x + -r0.y;
      r0.y = cb12[66].w * r1.x + r0.y;
      r2.zw = r1.zw;
      r1.x = t14.SampleLevel(s14_s, r2.xyz, 1).x;
      r1.y = t14.SampleLevel(s14_s, r2.xyw, 1).x;
      r1.y = r1.y + -r1.x;
      r1.x = cb12[66].w * r1.y + r1.x;
      r1.y = -0.25 + cb13[0].z;
      r1.y = saturate(10 * r1.y);
      r0.z = -100 + r0.z;
      r0.z = saturate(0.00666666683 * r0.z);
      r1.x = r1.x + -r0.y;
      r0.y = r0.z * r1.x + r0.y;
      r0.y = -r1.y * r0.y + 1;
      r0.w = r0.x * r0.y;
    }
  } else {
    r0.w = 1;
  }
  o0.xyzw = r0.wwww;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Sat Dec 17 01:04:19 2022
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0},
                              { 0, 1.000000, 0, 0},
                              { 0, 0, 1.000000, 0},
                              { 0, 0, 0, 1.000000} }
dcl_constantbuffer CB12[215], immediateIndexed
dcl_constantbuffer CB13[49], dynamicIndexed
dcl_sampler s9, mode_comparison
dcl_sampler s10, mode_default
dcl_sampler s14, 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_texture2darray (float,float,float,float) t8
dcl_resource_texture2darray (float,float,float,float) t14
dcl_resource_texture2darray (float,float,float,float) t15
dcl_resource_texture2darray (float,float,float,float) t19
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 13
ftou r0.xy, v0.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.x, r0.xyww, t0.xyzw
mad r1.y, r1.x, cb12[22].x, cb12[22].y
lt r1.y, r1.y, l(1.000000)
if_nz r1.y
  ld_indexable(texture2d)(float,float,float,float) r1.yzw, r0.xyww, t1.wxyz
  ld_indexable(texture2d)(float,float,float,float) r0.z, r0.xyzw, t2.xywz
  utof r0.xy, r0.xyxx
  mul r2.xyzw, r0.yyyy, cb12[212].xyzw
  mad r2.xyzw, cb12[211].xyzw, r0.xxxx, r2.xyzw
  mad r2.xyzw, cb12[213].xyzw, r1.xxxx, r2.xyzw
  add r2.xyzw, r2.xyzw, cb12[214].xyzw
  div r2.xyz, r2.xyzx, r2.wwww
  add r1.xyz, r1.yzwy, l(-0.500000, -0.500000, -0.500000, 0.000000)
  dp3 r0.w, r1.xyzx, r1.xyzx
  rsq r0.w, r0.w
  mul r1.xyz, r0.wwww, r1.xyzx
  mad r0.z, r0.z, l(255.000000), l(0.500000)
  ftou r0.z, r0.z
  and r0.z, r0.z, l(26)
  ilt r0.w, l(0), cb13[35].x
  if_nz r0.w
    ilt r0.w, l(0), cb13[35].y
    if_nz r0.w
      mov r3.y, l(0)
      mov r4.xyz, l(0,0,0,0)
      mov r0.w, l(0)
      loop
        ige r1.w, r4.z, cb13[35].y
        mov r0.w, l(0)
        breakc_nz r1.w
        add r3.zw, r2.xxxy, -cb13[r4.z + 39].xxxy
        mul r3.zw, r3.zzzw, cb13[r4.z + 39].zzzw
        ge r5.xy, r3.zwzz, l(0.000000, 0.000000, 0.000000, 0.000000)
        and r1.w, r5.y, r5.x
        ge r5.xy, l(1.000000, 1.000000, 0.000000, 0.000000), r3.zwzz
        and r1.w, r1.w, r5.x
        and r1.w, r5.y, r1.w
        if_nz r1.w
          add r5.xy, -cb13[r4.z + 44].xyxx, cb13[r4.z + 44].zwzz
          mad r3.zw, r3.zzzw, r5.xxxy, cb13[r4.z + 44].xxxy
          add r5.xyzw, r3.zwzw, l(0.000488281250, -0.000488281250, 0.00244140625, -0.000488281250)
          itof r6.z, r4.z
          mov r6.xy, r5.xyxx
          sample_l_indexable(texture2darray)(float,float,float,float) r2.w, r6.xyzx, t15.yzwx, s10, l(0.000000)
          mad r4.x, cb13[38].x, r2.w, cb13[38].y
          mov r6.xy, r5.zwzz
          sample_l_indexable(texture2darray)(float,float,float,float) r2.w, r6.xyzx, t15.yzwx, s10, l(0.000000)
          mad r2.w, cb13[38].x, r2.w, cb13[38].y
          add r5.xyzw, r3.zwzw, l(0.000488281250, 0.00146484375, -0.00146484375, -0.000488281250)
          mov r6.xy, r5.xyxx
          sample_l_indexable(texture2darray)(float,float,float,float) r4.w, r6.xyzx, t15.yzwx, s10, l(0.000000)
          mad r4.w, cb13[38].x, r4.w, cb13[38].y
          mov r6.xy, r5.zwzz
          sample_l_indexable(texture2darray)(float,float,float,float) r5.x, r6.xyzx, t15.xyzw, s10, l(0.000000)
          mad r5.x, cb13[38].x, r5.x, cb13[38].y
          add r6.xy, r3.zwzz, l(0.000488281250, -0.00244140625, 0.000000, 0.000000)
          sample_l_indexable(texture2darray)(float,float,float,float) r3.z, r6.xyzx, t15.yzxw, s10, l(0.000000)
          mad r3.z, cb13[38].x, r3.z, cb13[38].y
          add r2.w, -r4.x, r2.w
          add r3.w, -r4.x, r5.x
          max r2.w, |r2.w|, |r3.w|
          add r3.w, -r4.x, r4.w
          add r3.z, -r4.x, r3.z
          max r3.z, |r3.z|, |r3.w|
          max r4.y, r2.w, r3.z
          mov r0.w, l(-1)
          break
        endif
        iadd r3.x, r4.z, l(1)
        mov r4.xyz, r3.yyxy
        mov r0.w, r1.w
      endloop
    else
      mov r0.w, l(0)
    endif
    movc r3.xy, r0.wwww, r4.xyxx, l(-10000.000000,0,0,0)
    add r3.zw, r2.xxxy, -cb12[0].xxxy
    dp2 r0.w, r3.zwzz, r3.zwzz
    sqrt r0.w, r0.w
    add r4.xyz, r2.xyzx, -cb12[0].xyzx
    dp3 r1.w, r4.xyzx, r4.xyzx
    sqrt r1.w, r1.w
    lt r2.w, r0.w, cb13[36].y
    if_nz r2.w
      max r2.w, r3.y, l(0.100000)
      div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r2.w
      mul r3.y, r0.w, cb13[37].z
      max r3.y, r3.y, l(1.000000)
      div r3.y, cb13[36].x, r3.y
      min r2.w, r2.w, r3.y
      mad r1.w, r1.w, l(0.020000), l(0.050000)
      add r0.w, r0.w, cb13[36].z
      mul_sat r0.w, r0.w, cb13[36].w
      mov r3.z, r2.z
      mov r3.yw, l(0,0,0,0)
      mov r4.x, l(0)
      loop
        ige r4.y, r3.w, cb13[35].x
        mov r4.x, l(0)
        breakc_nz r4.y
        add r4.yz, r2.xxyx, -cb13[r3.w + 39].xxyx
        mul r5.xy, r4.yzyy, cb13[r3.w + 39].zwzz
        ge r4.yw, r5.xxxy, l(0.000000, 0.000000, 0.000000, 0.000000)
        and r4.y, r4.w, r4.y
        ge r6.xy, l(1.000000, 1.000000, 0.000000, 0.000000), r5.xyxx
        and r4.y, r4.y, r6.x
        and r4.y, r6.y, r4.y
        if_nz r4.y
          itof r5.z, r3.w
          mad r5.w, -r4.z, cb13[r3.w + 39].w, l(1.000000)
          sample_l_indexable(texture2darray)(float,float,float,float) r4.z, r5.xwzx, t19.yzxw, s10, l(0.000000)
          mad r4.z, cb13[38].x, r4.z, cb13[38].y
          add r4.w, -r3.z, r3.x
          lt r4.w, |r4.w|, r1.w
          movc r4.w, r4.w, r3.x, r3.z
          add r4.z, r4.z, l(-0.100000)
          add r4.z, -r4.w, r4.z
          mul_sat r4.z, r2.w, r4.z
          add r4.z, -r4.z, l(1.000000)
          add r4.w, -r4.z, l(1.000000)
          mad r4.z, r0.w, r4.w, r4.z
          mov r4.x, l(-1)
          mov r3.y, r4.z
          break
        endif
        iadd r3.w, r3.w, l(1)
        mov r4.x, r4.y
      endloop
    else
      mov r4.x, l(0)
    endif
  else
    mov r4.x, l(0)
  endif
  movc r0.w, r4.x, r3.y, l(1.000000)
  lt r1.w, l(0.000000), r0.w
  if_nz r1.w
    dp3 r1.x, r1.xyzx, cb13[0].xyzx
    dp2 r0.x, r0.xyxx, l(12.989800, 78.233002, 0.000000, 0.000000)
    sincos r0.x, null, r0.x
    mul r0.x, r0.x, l(43758.546875)
    frc r0.x, r0.x
    mul r0.x, r0.x, l(6.28318548)
    mul r1.yzw, r2.yyyy, cb13[5].xxyz
    mad r1.yzw, cb13[4].xxyz, r2.xxxx, r1.yyzw
    mad r1.yzw, cb13[6].xxyz, r2.zzzz, r1.yyzw
    add r1.yzw, r1.yyzw, cb13[7].xxyz
    ge r0.y, |r1.w|, l(0.999000)
    if_nz r0.y
      mov r2.w, l(1.000000)
    endif
    if_z r0.y
      add r3.xyzw, r1.yyyy, -cb13[8].xyzw
      add r4.xyzw, r1.zzzz, -cb13[9].xyzw
      max r3.xyzw, |r3.xyzw|, |r4.xyzw|
      lt r4.xyzw, r3.xyzw, cb13[10].xyzw
      and r4.xyzw, r4.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
      lt r5.xyzw, l(0.500000, 1.500000, 2.500000, 3.500000), cb13[15].zzzz
      and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
      dp4 r0.y, r4.xyzw, r5.xyzw
      lt r4.x, r0.y, l(0.500000)
      if_nz r4.x
        mov r2.w, l(1.000000)
      endif
      if_z r4.x
        div r3.xyzw, r3.xyzw, cb13[10].xyzw
        add r5.xyzw, -cb13[17].xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
        add r3.xyzw, r3.xyzw, -r5.xyzw
        div_sat r3.xyzw, r3.xyzw, cb13[17].xyzw
        add r0.y, -r0.y, cb13[15].z
        ftoi r4.y, r0.y
        ftoi r4.z, cb13[15].z
        iadd r4.z, r4.z, l(-1)
        dp4 r4.w, r3.xyzw, icb[r4.y + 0].xyzw
        lt r5.x, l(0.000000), r4.w
        if_nz r5.x
          mul r5.xy, l(1.000000, -1.000000, 0.000000, 0.000000), cb13[r4.y + 11].zzzz
          mad r5.xy, r1.yzyy, r5.xyxx, cb13[r4.y + 11].xyxx
          max r5.w, r1.x, l(0.000000)
          sqrt r5.w, r5.w
          div r5.w, l(1.000000, 1.000000, 1.000000, 1.000000), r5.w
          add r5.w, r5.w, l(-1.000000)
          max r5.w, r5.w, l(1.000000)
          min r5.w, r5.w, l(4.000000)
          mov r6.x, cb13[r4.y + 11].w
          mov r6.y, l(0)
          movc r6.xy, r0.zzzz, cb13[r4.y + 19].xyxx, r6.xyxx
          ine r6.z, r0.z, l(0)
          lt r6.w, l(0.000000), cb13[r4.y + 19].z
          and r6.w, r6.w, r6.z
          round_z r5.z, r0.y
          mul r6.x, r5.w, r6.x
          ige r7.x, cb13[18].x, l(1)
          ieq r6.w, r6.w, l(0)
          and r6.w, r6.w, r7.x
          if_nz r6.w
            sincos r8.x, r9.x, r0.x
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r6.w, r5.xyzx, t8.xxxx, s9, r1.w
            mul r10.xyzw, r6.xxxx, l(-0.263353914, 0.0396538191, -0.717202425, 0.368303299)
            mov r9.y, r9.x
            mov r9.z, r8.x
            mov r9.x, -r8.x
            mul r8.xyzw, r10.xxyy, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            mad r8.xyzw, -r6.yyyy, l(0.0370370373, 0.0740740746, 0.111111112, 0.148148149), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            mov r11.z, r5.z
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r8.x
            add r6.w, r6.w, r7.y
            mul r10.xyzw, r10.zzww, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r8.y
            add r6.w, r6.w, r7.y
            mul r10.xyzw, r6.xxxx, l(-0.0199530609, -0.398839206, -0.440993786, -0.221010)
            mul r12.xyzw, r9.yzxy, r10.xxyy
            add r7.yz, r12.zzwz, r12.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r8.z
            add r6.w, r6.w, r7.y
            mul r10.xyzw, r9.yzxy, r10.zzww
            add r7.yz, r10.zzwz, r10.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r8.w
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.220039204, 0.294344813, -0.767565727, -0.148275301)
            mul r10.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            mad r10.xyzw, -r6.yyyy, l(0.185185179, 0.222222224, 0.259259254, 0.296296299), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.x
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.y
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(-0.238101900, 0.547106206, 0.217303097, -0.134587899)
            mul r12.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r12.zzwz, r12.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.z
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.w
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(-0.638777375, 0.756133914, -0.161414400, 0.977652073)
            mul r10.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            mad r10.xyzw, -r6.yyyy, l(0.333333343, 0.370370358, 0.407407403, 0.444444448), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.x
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.y
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.215631902, 0.612341285, 0.232887506, 0.945287228)
            mul r12.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r12.zzwz, r12.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.z
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.w
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(-0.944064379, 0.123607703, -0.740823686, -0.507683)
            mul r10.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            mad r10.xyzw, -r6.yyyy, l(0.481481493, 0.518518507, 0.555555582, 0.592592597), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.x
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.y
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(-0.411301911, -0.890596688, -0.248642907, -0.621399283)
            mul r12.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r12.zzwz, r12.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.z
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.w
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.696785, 0.264493704, 0.539436281, 0.817321479)
            mul r10.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            mad r10.xyzw, -r6.yyyy, l(0.629629612, 0.666666687, 0.703703701, 0.740740716), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.x
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.y
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.615120828, -0.149864, 0.0936533585, -0.781747520)
            mul r12.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r12.zzwz, r12.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.z
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.w
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.276806712, -0.489596814, 0.663918078, -0.600717187)
            mul r10.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            mad r10.xyzw, -r6.yyyy, l(0.777777791, 0.814814806, 0.851851881, 0.888888896), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.x
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.y
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.388036907, -0.895089388, 0.991614401, -0.0793915167)
            mul r12.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r12.zzwz, r12.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.z
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r8.zzwz, r8.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r10.w
            add r6.w, r6.w, r7.y
            mul r8.xyzw, r6.xxxx, l(0.783184826, 0.602934778, 0.899860322, -0.398354292)
            mul r10.xyzw, r8.xxyy, r9.yzxy
            add r7.yz, r10.zzwz, r10.xxyx
            mad r8.xy, -r6.yyyy, l(0.925925910, 0.962963, 0.000000, 0.000000), r1.wwww
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r8.x
            add r6.w, r6.w, r7.y
            mul r9.xyzw, r8.zzww, r9.yzxy
            add r7.yz, r9.zzwz, r9.xxyx
            add r11.xy, r5.xyxx, r7.yzyy
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r11.xyzx, t8.xxxx, s9, r8.y
            add r6.w, r6.w, r7.y
            mul r6.w, r6.w, l(0.0370370373)
            mul r6.w, r6.w, r6.w
          else
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r5.xyzx, t8.xxxx, s9, r1.w
            mad r8.xyzw, -r6.yyyy, l(0.0769230798, 0.153846160, 0.230769232, 0.307692319), r1.wwww
            mad r9.xyzw, r6.xxxx, l(-0.507720828, -0.617089927, -0.0515490212, -0.750809789), r5.xyxy
            mov r10.xy, r9.xyxx
            mov r10.z, r5.z
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.z, r10.xyzx, t8.xxxx, s9, r8.x
            add r5.z, r5.z, r7.y
            mov r10.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.y
            add r5.z, r5.z, r7.y
            mad r9.xyzw, r6.xxxx, l(-0.764104187, 0.200915202, 0.00728477398, -0.205947), r5.xyxy
            mov r10.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.z
            add r5.z, r5.z, r7.y
            mov r10.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.w
            add r5.z, r5.z, r7.y
            mad r8.xyzw, -r6.yyyy, l(0.384615391, 0.461538464, 0.538461566, 0.615384638), r1.wwww
            mad r9.xyzw, r6.xxxx, l(-0.366204, 0.732379675, -0.923958182, -0.255964309), r5.xyxy
            mov r10.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.x
            add r5.z, r5.z, r7.y
            mov r10.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.y
            add r5.z, r5.z, r7.y
            mad r9.xyzw, r6.xxxx, l(-0.286924, 0.278053, 0.772301197, 0.157332897), r5.xyxy
            mov r10.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.z
            add r5.z, r5.z, r7.y
            mov r10.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.y, r10.xyzx, t8.xxxx, s9, r8.w
            add r5.z, r5.z, r7.y
            mad r8.xyzw, -r6.yyyy, l(0.692307711, 0.769230783, 0.846153855, 0.923076928), r1.wwww
            mad r9.xyzw, r6.xxxx, l(0.378513, 0.405219913, 0.463021696, -0.691461921), r5.xyxy
            mov r10.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r6.y, r10.xyzx, t8.xxxx, s9, r8.x
            add r5.z, r5.z, r6.y
            mov r10.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r6.y, r10.xyzx, t8.xxxx, s9, r8.y
            add r5.z, r5.z, r6.y
            mad r9.xyzw, r6.xxxx, l(0.423523, 0.863028, 0.855864286, -0.338255405), r5.xyxy
            mov r10.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.x, r10.xyzx, t8.xxxx, s9, r8.z
            add r5.x, r5.x, r5.z
            mov r10.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.y, r10.xyzx, t8.xxxx, s9, r8.w
            add r5.x, r5.y, r5.x
            mul r5.x, r5.x, l(0.0769230798)
            mul r6.w, r5.x, r5.x
          endif
          iadd r5.x, r4.y, l(1)
          mul r5.yz, l(0.000000, 1.000000, -1.000000, 0.000000), cb13[r5.x + 11].zzzz
          mad r8.xy, r1.yzyy, r5.yzyy, cb13[r5.x + 11].xyxx
          movc r5.y, r0.z, cb13[r5.x + 19].x, cb13[r5.x + 11].w
          movc r5.z, r0.z, cb13[r5.x + 19].y, l(0)
          lt r6.x, l(0.000000), cb13[r5.x + 19].z
          and r6.x, r6.x, r6.z
          itof r8.z, r5.x
          mul r5.x, r5.y, r5.w
          ieq r5.y, r6.x, l(0)
          and r5.y, r5.y, r7.x
          if_nz r5.y
            sincos r6.x, r7.x, r0.x
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.y, r8.xyzx, t8.xxxx, s9, r1.w
            mul r9.xyzw, r5.xxxx, l(-0.263353914, 0.0396538191, -0.717202425, 0.368303299)
            mov r7.y, r7.x
            mov r7.z, r6.x
            mov r7.x, -r6.x
            mul r10.xyzw, r9.xxyy, r7.yzxy
            add r6.xy, r10.zwzz, r10.xyxx
            mad r10.xyzw, -r5.zzzz, l(0.0370370373, 0.0740740746, 0.111111112, 0.148148149), r1.wwww
            add r6.xy, r6.xyxx, r8.xyxx
            mov r6.z, r8.z
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r9.zzww, r7.yzxy
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(-0.0199530609, -0.398839206, -0.440993786, -0.221010)
            mul r11.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r11.zwzz, r11.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.z
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.w
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.220039204, 0.294344813, -0.767565727, -0.148275301)
            mul r10.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r10.zwzz, r10.xyxx
            mad r10.xyzw, -r5.zzzz, l(0.185185179, 0.222222224, 0.259259254, 0.296296299), r1.wwww
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(-0.238101900, 0.547106206, 0.217303097, -0.134587899)
            mul r11.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r11.zwzz, r11.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.z
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.w
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(-0.638777375, 0.756133914, -0.161414400, 0.977652073)
            mul r10.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r10.zwzz, r10.xyxx
            mad r10.xyzw, -r5.zzzz, l(0.333333343, 0.370370358, 0.407407403, 0.444444448), r1.wwww
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.215631902, 0.612341285, 0.232887506, 0.945287228)
            mul r11.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r11.zwzz, r11.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.z
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.w
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(-0.944064379, 0.123607703, -0.740823686, -0.507683)
            mul r10.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r10.zwzz, r10.xyxx
            mad r10.xyzw, -r5.zzzz, l(0.481481493, 0.518518507, 0.555555582, 0.592592597), r1.wwww
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(-0.411301911, -0.890596688, -0.248642907, -0.621399283)
            mul r11.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r11.zwzz, r11.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.z
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.w
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.696785, 0.264493704, 0.539436281, 0.817321479)
            mul r10.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r10.zwzz, r10.xyxx
            mad r10.xyzw, -r5.zzzz, l(0.629629612, 0.666666687, 0.703703701, 0.740740716), r1.wwww
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.615120828, -0.149864, 0.0936533585, -0.781747520)
            mul r11.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r11.zwzz, r11.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.z
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.w
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.276806712, -0.489596814, 0.663918078, -0.600717187)
            mul r10.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r10.zwzz, r10.xyxx
            mad r10.xyzw, -r5.zzzz, l(0.777777791, 0.814814806, 0.851851881, 0.888888896), r1.wwww
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.388036907, -0.895089388, 0.991614401, -0.0793915167)
            mul r11.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r11.zwzz, r11.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.z
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r7.yzxy, r9.zzww
            add r9.xy, r9.zwzz, r9.xyxx
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.w
            add r5.y, r5.w, r5.y
            mul r9.xyzw, r5.xxxx, l(0.783184826, 0.602934778, 0.899860322, -0.398354292)
            mul r10.xyzw, r7.yzxy, r9.xxyy
            add r9.xy, r10.zwzz, r10.xyxx
            mad r10.xy, -r5.zzzz, l(0.925925910, 0.962963, 0.000000, 0.000000), r1.wwww
            add r6.xy, r8.xyxx, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.x
            add r5.y, r5.w, r5.y
            mul r7.xyzw, r7.yzxy, r9.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r6.xy, r7.xyxx, r8.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r10.y
            add r5.y, r5.w, r5.y
            mul r5.y, r5.y, l(0.0370370373)
            mul r5.y, r5.y, r5.y
          else
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r8.xyzx, t8.xxxx, s9, r1.w
            mad r7.xyzw, -r5.zzzz, l(0.0769230798, 0.153846160, 0.230769232, 0.307692319), r1.wwww
            mad r9.xyzw, r5.xxxx, l(-0.507720828, -0.617089927, -0.0515490212, -0.750809789), r8.xyxy
            mov r6.xy, r9.xyxx
            mov r6.z, r8.z
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.x
            add r5.w, r5.w, r7.x
            mov r6.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.y
            add r5.w, r5.w, r7.x
            mad r9.xyzw, r5.xxxx, l(-0.764104187, 0.200915202, 0.00728477398, -0.205947), r8.xyxy
            mov r6.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.z
            add r5.w, r5.w, r7.x
            mov r6.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.w
            add r5.w, r5.w, r7.x
            mad r7.xyzw, -r5.zzzz, l(0.384615391, 0.461538464, 0.538461566, 0.615384638), r1.wwww
            mad r9.xyzw, r5.xxxx, l(-0.366204, 0.732379675, -0.923958182, -0.255964309), r8.xyxy
            mov r6.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.x
            add r5.w, r5.w, r7.x
            mov r6.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.y
            add r5.w, r5.w, r7.x
            mad r9.xyzw, r5.xxxx, l(-0.286924, 0.278053, 0.772301197, 0.157332897), r8.xyxy
            mov r6.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.z
            add r5.w, r5.w, r7.x
            mov r6.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r7.x, r6.xyzx, t8.xxxx, s9, r7.w
            add r5.w, r5.w, r7.x
            mad r7.xyzw, -r5.zzzz, l(0.692307711, 0.769230783, 0.846153855, 0.923076928), r1.wwww
            mad r9.xyzw, r5.xxxx, l(0.378513, 0.405219913, 0.463021696, -0.691461921), r8.xyxy
            mov r6.xy, r9.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.z, r6.xyzx, t8.xxxx, s9, r7.x
            add r5.z, r5.z, r5.w
            mov r6.xy, r9.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.w, r6.xyzx, t8.xxxx, s9, r7.y
            add r5.z, r5.w, r5.z
            mad r8.xyzw, r5.xxxx, l(0.423523, 0.863028, 0.855864286, -0.338255405), r8.xyxy
            mov r6.xy, r8.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.x, r6.xyzx, t8.xxxx, s9, r7.z
            add r5.x, r5.x, r5.z
            mov r6.xy, r8.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r5.z, r6.xyzx, t8.xxxx, s9, r7.w
            add r5.x, r5.z, r5.x
            mul r5.x, r5.x, l(0.0769230798)
            mul r5.y, r5.x, r5.x
          endif
          add r5.x, -r6.w, r5.y
          mad r4.w, r4.w, r5.x, r6.w
        else
          mul r5.xy, l(1.000000, -1.000000, 0.000000, 0.000000), cb13[r4.y + 11].zzzz
          mad r5.xy, r1.yzyy, r5.xyxx, cb13[r4.y + 11].xyxx
          max r1.x, r1.x, l(0.000000)
          sqrt r1.x, r1.x
          div r1.x, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
          add r1.x, r1.x, l(-1.000000)
          max r1.x, r1.x, l(1.000000)
          min r1.x, r1.x, l(4.000000)
          mov r6.x, cb13[r4.y + 11].w
          mov r6.y, l(0)
          movc r1.yz, r0.zzzz, cb13[r4.y + 19].xxyx, r6.xxyx
          ine r0.z, r0.z, l(0)
          lt r4.y, l(0.000000), cb13[r4.y + 19].z
          and r0.z, r0.z, r4.y
          round_z r5.z, r0.y
          mul r1.x, r1.y, r1.x
          ige r1.y, cb13[18].x, l(1)
          ieq r0.z, r0.z, l(0)
          and r0.z, r0.z, r1.y
          if_nz r0.z
            sincos r0.x, r6.x, r0.x
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r5.xyzx, t8.xxxx, s9, r1.w
            mul r7.xyzw, r1.xxxx, l(-0.263353914, 0.0396538191, -0.717202425, 0.368303299)
            mov r6.y, r6.x
            mov r6.z, r0.x
            mov r6.x, -r0.x
            mul r8.xyzw, r7.xxyy, r6.yzxy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xyzw, -r1.zzzz, l(0.0370370373, 0.0740740746, 0.111111112, 0.148148149), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            mov r9.z, r5.z
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.x, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.x, r0.z
            mul r7.xyzw, r7.zzww, r6.yzxy
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(-0.0199530609, -0.398839206, -0.440993786, -0.221010)
            mul r10.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r10.zwzz, r10.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.z
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.w
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.220039204, 0.294344813, -0.767565727, -0.148275301)
            mul r8.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xyzw, -r1.zzzz, l(0.185185179, 0.222222224, 0.259259254, 0.296296299), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(-0.238101900, 0.547106206, 0.217303097, -0.134587899)
            mul r10.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r10.zwzz, r10.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.z
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.w
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(-0.638777375, 0.756133914, -0.161414400, 0.977652073)
            mul r8.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xyzw, -r1.zzzz, l(0.333333343, 0.370370358, 0.407407403, 0.444444448), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.215631902, 0.612341285, 0.232887506, 0.945287228)
            mul r10.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r10.zwzz, r10.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.z
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.w
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(-0.944064379, 0.123607703, -0.740823686, -0.507683)
            mul r8.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xyzw, -r1.zzzz, l(0.481481493, 0.518518507, 0.555555582, 0.592592597), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(-0.411301911, -0.890596688, -0.248642907, -0.621399283)
            mul r10.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r10.zwzz, r10.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.z
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.w
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.696785, 0.264493704, 0.539436281, 0.817321479)
            mul r8.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xyzw, -r1.zzzz, l(0.629629612, 0.666666687, 0.703703701, 0.740740716), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.615120828, -0.149864, 0.0936533585, -0.781747520)
            mul r10.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r10.zwzz, r10.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.z
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.w
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.276806712, -0.489596814, 0.663918078, -0.600717187)
            mul r8.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xyzw, -r1.zzzz, l(0.777777791, 0.814814806, 0.851851881, 0.888888896), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.388036907, -0.895089388, 0.991614401, -0.0793915167)
            mul r10.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r10.zwzz, r10.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.z
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r6.yzxy, r7.zzww
            add r7.xy, r7.zwzz, r7.xyxx
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.w
            add r0.x, r0.z, r0.x
            mul r7.xyzw, r1.xxxx, l(0.783184826, 0.602934778, 0.899860322, -0.398354292)
            mul r8.xyzw, r6.yzxy, r7.xxyy
            add r7.xy, r8.zwzz, r8.xyxx
            mad r8.xy, -r1.zzzz, l(0.925925910, 0.962963, 0.000000, 0.000000), r1.wwww
            add r9.xy, r5.xyxx, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.x
            add r0.x, r0.z, r0.x
            mul r6.xyzw, r6.yzxy, r7.zzww
            add r6.xy, r6.zwzz, r6.xyxx
            add r9.xy, r5.xyxx, r6.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r9.xyzx, t8.xxxx, s9, r8.y
            add r0.x, r0.z, r0.x
            mul r0.x, r0.x, l(0.0370370373)
            mul r4.w, r0.x, r0.x
          else
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.x, r5.xyzx, t8.xxxx, s9, r1.w
            mad r6.xyzw, -r1.zzzz, l(0.0769230798, 0.153846160, 0.230769232, 0.307692319), r1.wwww
            mad r7.xyzw, r1.xxxx, l(-0.507720828, -0.617089927, -0.0515490212, -0.750809789), r5.xyxy
            mov r8.xy, r7.xyxx
            mov r8.z, r5.z
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.x
            add r0.x, r0.z, r0.x
            mov r8.xy, r7.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.y
            add r0.x, r0.z, r0.x
            mad r7.xyzw, r1.xxxx, l(-0.764104187, 0.200915202, 0.00728477398, -0.205947), r5.xyxy
            mov r8.xy, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.z
            add r0.x, r0.z, r0.x
            mov r8.xy, r7.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.w
            add r0.x, r0.z, r0.x
            mad r6.xyzw, -r1.zzzz, l(0.384615391, 0.461538464, 0.538461566, 0.615384638), r1.wwww
            mad r7.xyzw, r1.xxxx, l(-0.366204, 0.732379675, -0.923958182, -0.255964309), r5.xyxy
            mov r8.xy, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.x
            add r0.x, r0.z, r0.x
            mov r8.xy, r7.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.y
            add r0.x, r0.z, r0.x
            mad r7.xyzw, r1.xxxx, l(-0.286924, 0.278053, 0.772301197, 0.157332897), r5.xyxy
            mov r8.xy, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.z
            add r0.x, r0.z, r0.x
            mov r8.xy, r7.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.w
            add r0.x, r0.z, r0.x
            mad r6.xyzw, -r1.zzzz, l(0.692307711, 0.769230783, 0.846153855, 0.923076928), r1.wwww
            mad r7.xyzw, r1.xxxx, l(0.378513, 0.405219913, 0.463021696, -0.691461921), r5.xyxy
            mov r8.xy, r7.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.x
            add r0.x, r0.z, r0.x
            mov r8.xy, r7.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.y
            add r0.x, r0.z, r0.x
            mad r1.xyzw, r1.xxxx, l(0.423523, 0.863028, 0.855864286, -0.338255405), r5.xyxy
            mov r8.xy, r1.xyxx
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.z
            add r0.x, r0.z, r0.x
            mov r8.xy, r1.zwzz
            sample_c_lz_indexable(texture2darray)(float,float,float,float) r0.z, r8.xyzx, t8.xxxx, s9, r6.w
            add r0.x, r0.z, r0.x
            mul r0.x, r0.x, l(0.0769230798)
            mul r4.w, r0.x, r0.x
          endif
        endif
        itof r0.x, r4.z
        round_z r0.y, r0.y
        ge r0.x, r0.y, r0.x
        and r0.x, r0.x, l(0x3f800000)
        dp4 r0.y, r3.xyzw, icb[r4.z + 0].xyzw
        mad_sat r0.x, r0.x, r0.y, r4.w
      else
        mov r0.x, l(1.000000)
      endif
      movc r2.w, r4.x, r2.w, r0.x
    endif
    mul r0.x, r0.w, r2.w
    mul r0.y, cb12[66].x, l(20.000000)
    round_z r1.zw, cb12[68].xxxy
    add r3.xyz, r2.xyzx, -cb12[0].xyzx
    dp3 r0.z, r3.xyzx, r3.xyzx
    sqrt r0.z, r0.z
    mov r3.xy, cb12[67].xyxx
    mov r3.z, l(0)
    add r3.xyz, r2.xyzx, r3.xyzx
    mul r3.xyz, r3.xyzx, l(0.010000, 0.010000, 0.010000, 0.000000)
    div r3.xyz, r3.xyzx, cb12[66].xxxx
    mul r4.xy, cb12[67].xyxx, l(20.000000, 20.000000, 0.000000, 0.000000)
    mov r4.z, l(0)
    add r2.xyz, r2.xyzx, r4.xyzx
    mul r2.xyz, r2.xyzx, l(0.010000, 0.010000, 0.010000, 0.000000)
    div r2.xyz, r2.xyzx, r0.yyyy
    mul r3.zw, r3.zzzz, cb13[0].xxxy
    div r3.zw, r3.zzzw, cb13[0].zzzz
    add r1.xy, -r3.zwzz, r3.xyxx
    mul r2.zw, r2.zzzz, cb13[0].xxxy
    div r2.zw, r2.zzzw, cb13[0].zzzz
    add r2.xy, -r2.zwzz, r2.xyxx
    sample_l_indexable(texture2darray)(float,float,float,float) r0.y, r1.xyzx, t14.yxzw, s14, l(1.000000)
    sample_l_indexable(texture2darray)(float,float,float,float) r1.x, r1.xywx, t14.xyzw, s14, l(1.000000)
    add r1.x, -r0.y, r1.x
    mad r0.y, cb12[66].w, r1.x, r0.y
    mov r2.zw, r1.zzzw
    sample_l_indexable(texture2darray)(float,float,float,float) r1.x, r2.xyzx, t14.xyzw, s14, l(1.000000)
    sample_l_indexable(texture2darray)(float,float,float,float) r1.y, r2.xywx, t14.yxzw, s14, l(1.000000)
    add r1.y, -r1.x, r1.y
    mad r1.x, cb12[66].w, r1.y, r1.x
    add r1.y, cb13[0].z, l(-0.250000)
    mul_sat r1.y, r1.y, l(10.000000)
    add r0.z, r0.z, l(-100.000000)
    mul_sat r0.z, r0.z, l(0.00666666683)
    add r1.x, -r0.y, r1.x
    mad r0.y, r0.z, r1.x, r0.y
    mad r0.y, -r1.y, r0.y, l(1.000000)
    mul r0.w, r0.y, r0.x
  endif
else
  mov r0.w, l(1.000000)
endif
mov o0.xyzw, r0.wwww
ret
// Approximately 0 instruction slots used

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