/////////////////////////////// HLSL Code /////////////////////////////////
 // ---- Created with geo-11 v0.6.198 on Mon Oct 27 16:30:14 2025
 Texture2DArray<float4> t12 : register(t12);

 Texture2DArray<float4> t11 : register(t11);

 Texture2DArray<float4> t10 : register(t10);

 Texture2D<float4> t9 : register(t9);

 Texture2D<float4> t8 : register(t8);

 Texture2D<float4> t7 : register(t7);

 Texture2D<float4> t6 : register(t6);

 Texture2D<float4> t5 : register(t5);

 Texture2D<float4> t4 : register(t4);

 Texture2D<float4> t3 : register(t3);

 Texture2D<float4> t2 : register(t2);

 Texture2D<float4> t1 : register(t1);

 Texture2D<float4> t0 : register(t0);

 SamplerState s9_s : register(s9);

 SamplerState s8_s : register(s8);

 SamplerState s7_s : register(s7);

 SamplerState s6_s : register(s6);

 SamplerState s5_s : register(s5);

 SamplerState s4_s : register(s4);

 SamplerState s3_s : register(s3);

 SamplerState s2_s : register(s2);

 SamplerState s1_s : register(s1);

 SamplerState s0_s : register(s0);

 cbuffer cb4 : register(b4)
 {
   float4 cb4[3];
 }

 cbuffer cb3 : register(b3)
 {
   float4 cb3[34];
 }

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

 cbuffer cb1 : register(b1)
 {
   float4 cb1[20];
 }

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




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


 void main(
   float4 v0 : SV_POSITION0,
   float4 v1 : TEXCOORD0,
   float4 v2 : TEXCOORD1,
   float4 v3 : TEXCOORD2,
   float4 v4 : TEXCOORD3,
   float4 v5 : TEXCOORD4,
   float4 v6 : TEXCOORD5,
   float4 v7 : TEXCOORD6,
   float4 v8 : TEXCOORD7,
   float4 v9 : TEXCOORD8,
   float4 v10 : TEXCOORD9,
   float4 v11 : TEXCOORD10,
   float4 v12 : TEXCOORD11,
   uint v13 : SV_IsFrontFace0,
   out float4 o0 : SV_TARGET0)
 {
   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18,r19,r20,r21,r22,r23,r50;
   uint4 bitmask, uiDest;
   float4 fDest;
   
  float4 s = StereoParams.Load(0);
  float4 testeo = IniParams.Load(int2(90,0));
  //float fov = rsqrt(cb0[61].x * cb0[61].x + cb0[62].x * cb0[62].x + cb0[63].x * cb0[63].x);   
  // float fov = cb0[61].x * cb0[61].x + cb0[62].x * cb0[62].x + cb0[63].x * cb0[63].x; 

   r0.x = dot(v2.xyz, v2.xyz);
   r0.x = sqrt(r0.x);
   r0.x = 1 / r0.x;
   r0.y = cmp(0 < v3.w);
   r0.z = cmp(cb1[9].w >= 0);
   r0.yz = r0.yz ? float2(1,1) : float2(-1,-1);
   r0.y = r0.y * r0.z;
   r1.xyz = v3.yzx * v2.zxy;
   r1.xyz = v2.yzx * v3.zxy + -r1.xyz;
   r0.yzw = r1.xyz * r0.yyy;
   r1.xyz = v2.xyz * r0.xxx;
   r2.x = dot(r1.xyz, cb0[57].xyz);
   r2.y = dot(r1.xyz, cb0[58].xyz);
   r2.z = dot(r1.xyz, cb0[59].xyz);
   r3.xyz = v3.xyz * r0.xxx;
   r0.xyz = r0.xxx * r0.yzw;
   r4.xyz = cb0[54].xyz * v8.yyy;
   r4.xyz = cb0[53].xyz * v8.xxx + r4.xyz;
   r4.xyz = cb0[55].xyz * v8.zzz + r4.xyz;
   r0.w = cb0[54].z * v1.y;
   r0.w = cb0[53].z * v1.x + r0.w;
   r0.w = cb0[55].z * v1.z + r0.w;
   r0.w = cb0[56].z + r0.w;
   r5.xyz = cb0[62].xyw * v1.yyy;
   r5.xyz = cb0[61].xyw * v1.xxx + r5.xyz;
   r5.xyz = cb0[63].xyw * v1.zzz + r5.xyz;
   r5.xyz = cb0[64].xyw + r5.xyz;
   r6.xz = float2(0.5,0.5) * r5.xz;
   r1.w = cb0[12].x * r5.y;
   r6.w = 0.5 * r1.w;
   r5.xy = r6.xw + r6.zz;
   r1.w = cb2[11].x * 0.899999976 + 0.100000001;
   r6.xyz = cb2[11].yzw * r1.www;
   r7.w = asuint(cb3[33].w);
   r1.w = asint(cb3[33].w) + 1;
   r2.w = dot(v8.xyz, v8.xyz);
   r3.w = rsqrt(r2.w);
   r8.xyz = v8.xyz * r3.www;
   r3.w = cb3[33].w;
   r4.w = cb3[r3.w+2].x * cb3[r3.w+2].y;
   r9.z = 1 + r7.w;
   r5.w = cb3[r1.w+2].x * cb3[r1.w+2].y;
   r6.w = 1 + -v4.z;
   r8.w = cb3[r3.w+2].z * r6.w;
   r6.w = -r6.w * cb3[r3.w+2].z + 1;
   r6.w = cb3[r1.w+2].z * r6.w;
   r9.w = cmp(0.00100000005 < r8.w);
   if (r9.w != 0) {
     r10.xy = -cb3[r3.w+18].xy + v4.xy;
     r10.xy = r10.xy / r4.ww;
     r7.xy = float2(0.5,0.5) + r10.xy;
     r11.xyzw = t10.SampleLevel(s8_s, r7.xyw, 0).xyzw;
     r10.z = 0.5 + r10.x;
     r10.w = r7.w;
     r12.y = cb3[r3.w+2].w;
     r12.xz = float2(0.5,0);
     r13.xyz = r12.yxz + r10.zyw;
     r13.xyzw = t10.SampleLevel(s8_s, r13.xyz, 0).xyzw;
     r14.x = cb3[r3.w+2].x;
     r14.yz = float2(0,0);
     r13.xyz = r14.zzx + r13.yzx;
     r10.xyz = float3(0,0.5,0) + r10.xyw;
     r10.xyz = r10.xyz + r12.xyz;
     r10.xyzw = t10.SampleLevel(s8_s, r10.xyz, 0).xyzw;
     r10.xyz = r14.xyz + r10.zxy;
     r10.xyz = r10.xyz + -r11.zxy;
     r11.xyz = r13.xyz + -r11.yzx;
     r12.xyz = r11.xyz * r10.xyz;
     r10.xyz = r10.zxy * r11.yzx + -r12.xyz;
     r10.y = dot(r10.xyz, r10.xyz);
     r10.y = rsqrt(r10.y);
     r10.xy = r10.xz * r10.yy;
     r10.xy = r10.xy * r8.ww;
   } else {
     r10.xy = float2(0,0);
   }
   r10.w = cmp(0.00100000005 < r6.w);
   if (r10.w != 0) {
     r11.xy = -cb3[r1.w+18].xy + v4.xy;
     r7.xy = r11.xy / r5.ww;
     r9.xy = float2(0.5,0.5) + r7.xy;
     r11.xyzw = t10.SampleLevel(s8_s, r9.xyz, 0).xyzw;
     r7.z = 0.5 + r7.x;
     r12.y = cb3[r1.w+2].w;
     r12.xz = float2(0.5,1);
     r13.xyz = r12.yxz + r7.zyw;
     r13.xyzw = t10.SampleLevel(s8_s, r13.xyz, 0).xyzw;
     r14.x = cb3[r1.w+2].x;
     r14.yz = float2(0,0);
     r13.xyz = r14.zzx + r13.yzx;
     r15.xyz = float3(0,0.5,0) + r7.xyw;
     r12.xyz = r15.xyz + r12.xyz;
     r12.xyzw = t10.SampleLevel(s8_s, r12.xyz, 0).xyzw;
     r12.xyz = r14.xyz + r12.zxy;
     r12.xyz = r12.xyz + -r11.zxy;
     r11.xyz = r13.xyz + -r11.yzx;
     r13.xyz = r12.xyz * r11.xyz;
     r11.xyz = r12.zxy * r11.yzx + -r13.xyz;
     r7.z = dot(r11.xyz, r11.xyz);
     r7.z = rsqrt(r7.z);
     r11.xy = r11.xz * r7.zz;
     r10.xy = r6.ww * r11.xy + r10.xy;
   }
   r10.z = 1;
   r7.z = dot(r10.xyz, r10.xyz);
   r7.z = rsqrt(r7.z);
   r10.xyz = r10.xzy * r7.zzz;
   r10.xyz = v13.xxx ? r10.xyz : -r10.xyz;
   r7.z = v13.x ? 1 : -1;
   r11.x = cb3[1].x * cb2[0].x;
   r12.xyzw = float4(0.939999998,0.340000004,-0.850000024,-0.529999971) * cb4[0].xxxx;
   r13.xyzw = r12.xyzw * cb3[1].zzzz + v4.xyxy;
   r13.xyzw = r13.xyzw / r11.xxxx;
   r14.xyzw = t2.Sample(s2_s, r13.xy).xyzw;
   r14.x = r14.w * r14.x;
   r11.yz = r14.xy * float2(2,2) + float2(-1,-1);
   r13.xyzw = t2.Sample(s2_s, r13.zw).xyzw;
   r13.x = r13.w * r13.x;
   r11.yz = r13.xy * float2(2,2) + r11.yz;
   r11.yz = float2(-1,-1) + r11.yz;
   r11.w = cb3[0].y * v4.z;
   r13.x = cmp(0.00100000005 < r11.w);
   if (r13.x != 0) {
     r13.y = r11.x + r11.x;
     r14.xyzw = r12.xyzw * cb3[1].wwww + v4.xyxy;
     r14.xyzw = r14.xyzw / r13.yyyy;
     r15.xyzw = t2.Sample(s2_s, r14.xy).xyzw;
     r15.x = r15.w * r15.x;
     r13.yz = r15.xy * float2(2,2) + float2(-1,-1);
     r14.xyzw = t2.Sample(s2_s, r14.zw).xyzw;
     r14.x = r14.w * r14.x;
     r13.yz = r14.xy * float2(2,2) + r13.yz;
     r13.yz = float2(-1,-1) + r13.yz;
     r13.yz = r13.yz + -r11.yz;
     r13.yz = r11.ww * r13.yz + r11.yz;
   } else {
     r13.yz = r11.yz;
   }
   r13.yz = cb2[0].yy * r13.yz;
   r14.xz = r7.zz * r13.yz + r10.xz;
   r14.y = r10.y;
   r13.y = dot(r14.xyz, r14.xyz);
   r13.y = rsqrt(r13.y);
   r13.yzw = r14.xyz * r13.yyy;
   if (r13.x != 0) {
     r11.x = r11.x + r11.x;
     r12.xyzw = r12.xyzw * cb3[1].wwww + v4.xyxy;
     r12.xyzw = r12.xyzw / r11.xxxx;
     r15.xyzw = t2.Sample(s2_s, r12.xy).xyzw;
     r15.x = r15.w * r15.x;
     r12.xy = r15.xy * float2(2,2) + float2(-1,-1);
     r15.xyzw = t2.Sample(s2_s, r12.zw).xyzw;
     r15.x = r15.w * r15.x;
     r12.xy = r15.xy * float2(2,2) + r12.xy;
     r12.xy = float2(-1,-1) + r12.xy;
     r12.xy = r12.xy + -r11.yz;
     r11.yz = r11.ww * r12.xy + r11.yz;
   }
   r11.xy = cb2[0].yy * r11.yz;
   r14.xz = r7.zz * r11.xy + r10.xz;
   r7.z = dot(-r14.xyz, -r14.xyz);
   r7.z = rsqrt(r7.z);
   r11.xyz = -r14.xyz * r7.zzz;
   r7.z = dot(r10.xyz, r10.xyz);
   r7.z = rsqrt(r7.z);
   r10.xyz = r10.xyz * r7.zzz;
   r7.z = dot(-r8.xyz, r13.yzw);
   r7.z = r7.z + r7.z;
   r12.xyz = r13.yzw * -r7.zzz + -r8.xyz;
   r7.z = cmp(r12.y < cb2[6].z);
   r12.w = cb2[6].z;
   r11.w = dot(r12.xzw, r12.xzw);
   r11.w = rsqrt(r11.w);
   r12.xyz = r12.xwz * r11.www + r8.xyz;
   r11.w = dot(r12.xyz, r12.xyz);
   r11.w = rsqrt(r11.w);
   r12.xyz = r12.xyz * r11.www;
   r12.xyz = r7.zzz ? r12.xyz : r13.yzw;
   r7.z = dot(-r8.xyz, r10.xyz);
   r7.z = r7.z + r7.z;
   r14.xyz = r10.xyz * -r7.zzz + -r8.xyz;
   r7.z = cmp(r14.y < cb2[6].z);
   r14.w = cb2[6].z;
   r11.w = dot(r14.xzw, r14.xzw);
   r11.w = rsqrt(r11.w);
   r14.xyz = r14.xwz * r11.www + r8.xyz;
   r11.w = dot(r14.xyz, r14.xyz);
   r11.w = rsqrt(r11.w);
   r14.xyz = r14.xyz * r11.www;
   r14.xyz = r7.zzz ? r14.xyz : r10.xyz;
   r12.xyz = v13.xxx ? r12.xyz : r13.yzw;
   r13.xyz = v13.xxx ? r14.xyz : r10.xyz;
   r12.w = -r12.z;
   r7.z = dot(r12.xyw, r8.xyz);
   r7.z = max(0, r7.z);
   r10.x = 1 + -r7.z;
   r10.y = sqrt(r10.x);
   r10.z = r7.z * -0.0187292993 + 0.0742610022;
   r10.z = r10.z * r7.z + -0.212114394;
   r10.z = r10.z * r7.z + 1.57072878;
   r10.y = r10.z * r10.y;
   r10.y = sin(r10.y);
   r10.y = 1.33000004 * r10.y;
   r10.y = max(-1, r10.y);
   r10.y = min(1, r10.y);
   r10.z = 1 + -abs(r10.y);
   r10.z = sqrt(r10.z);
   r11.w = abs(r10.y) * -0.0187292993 + 0.0742610022;
   r11.w = r11.w * abs(r10.y) + -0.212114394;
   r11.w = r11.w * abs(r10.y) + 1.57072878;
   r14.x = r11.w * r10.z;
   r14.x = r14.x * -2 + 3.14159274;
   r10.y = cmp(r10.y < -r10.y);
   r10.y = r10.y ? r14.x : 0;
   r10.y = r11.w * r10.z + r10.y;
   r10.y = 1.57079637 + -r10.y;
   r10.y = cos(r10.y);
   r10.y = 1 + -r10.y;
   r10.y = rsqrt(r10.y);
   r10.y = 1 / r10.y;
   r10.y = r10.y * 0.979940653 + 0.0200593174;
   r10.y = 1 + -r10.y;
   r14.x = max(0, r10.y);
   r7.z = cmp(r7.z < 0.659317493);
   r14.y = r7.z ? 1.000000 : 0;
   r7.z = max(0, r10.x);
   r7.z = rsqrt(r7.z);
   r7.z = 1 / r7.z;
   r10.y = r7.z * 0.979940653 + 0.0200593174;
   r10.x = 1;
   r10.xy = v13.xx ? r10.xy : r14.xy;
   r14.xyz = -r13.zzz * r0.xyz;
   r14.xyz = r3.xyz * r13.xxx + r14.xyz;
   r14.xyz = r1.xyz * r13.yyy + r14.xyz;
   r7.z = dot(r14.xyz, r14.xyz);
   r7.z = rsqrt(r7.z);
   r14.xyz = r14.xyz * r7.zzz;
   r15.xy = -cb3[r3.w+18].xy + v1.xz;
   r15.xy = r15.xy / r4.ww;
   r7.xy = float2(0.5,0.5) + r15.xy;
   r15.xyzw = t12.SampleLevel(s8_s, r7.xyw, 0).xyzw;
   r15.xy = saturate(r15.xy);
   r4.w = -0.0500000007 * cb0[10].x;
   r16.xyzw = cb0[10].xxxx * float4(0.300000012,0.300000012,-0.150000006,-0.150000006) + v4.xyxy;
   r15.zw = float2(0.5,0.5) * r16.xy;
   r16.xy = floor(r15.zw);
   r15.zw = frac(r15.zw);
   r17.xyzw = float4(289,289,289,289) * r16.xyxy;
   r17.xyzw = cmp(r17.xyzw >= -r17.zwzw);
   r17.xyzw = r17.xyzw ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r17.zw = r17.zw * r16.xy;
   r17.zw = frac(r17.zw);
   r17.xy = r17.xy * r17.zw;
   r7.z = r17.x * 34 + 1;
   r7.z = r7.z * r17.x;
   r10.z = 289 * r7.z;
   r10.z = cmp(r10.z >= -r10.z);
   r17.xz = r10.zz ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r7.z = r17.z * r7.z;
   r7.z = frac(r7.z);
   r7.z = r17.x * r7.z + r17.y;
   r10.z = r7.z * 34 + 1;
   r7.z = r10.z * r7.z;
   r10.z = 289 * r7.z;
   r10.z = cmp(r10.z >= -r10.z);
   r17.xy = r10.zz ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r7.z = r17.y * r7.z;
   r7.z = frac(r7.z);
   r7.z = r17.x * r7.z;
   r7.z = 0.024390243 * r7.z;
   r7.z = frac(r7.z);
   r17.xy = r7.zz * float2(2,2) + float2(-1,-0.5);
   r7.z = floor(r17.y);
   r18.x = r17.x + -r7.z;
   r18.y = -0.5 + abs(r17.x);
   r7.z = dot(r18.xy, r18.xy);
   r7.z = rsqrt(r7.z);
   r17.xy = r18.xy * r7.zz;
   r7.z = dot(r17.xy, r15.zw);
   r17.xyzw = float4(0,1,1,0) + r16.xyxy;
   r18.xyzw = float4(289,289,289,289) * r17.xyzw;
   r18.xyzw = cmp(r18.xyzw >= -r18.xyzw);
   r19.xyzw = r18.xyxy ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r17.xy = r19.zw * r17.xy;
   r17.xy = frac(r17.xy);
   r17.xy = r19.xy * r17.xy;
   r10.z = r17.x * 34 + 1;
   r10.z = r10.z * r17.x;
   r11.w = 289 * r10.z;
   r11.w = cmp(r11.w >= -r11.w);
   r18.xy = r11.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r10.z = r18.y * r10.z;
   r10.z = frac(r10.z);
   r10.z = r18.x * r10.z + r17.y;
   r11.w = r10.z * 34 + 1;
   r10.z = r11.w * r10.z;
   r11.w = 289 * r10.z;
   r11.w = cmp(r11.w >= -r11.w);
   r17.xy = r11.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r10.z = r17.y * r10.z;
   r10.z = frac(r10.z);
   r10.z = r17.x * r10.z;
   r10.z = 0.024390243 * r10.z;
   r10.z = frac(r10.z);
   r17.xy = r10.zz * float2(2,2) + float2(-1,-0.5);
   r10.z = floor(r17.y);
   r18.x = r17.x + -r10.z;
   r18.y = -0.5 + abs(r17.x);
   r10.z = dot(r18.xy, r18.xy);
   r10.z = rsqrt(r10.z);
   r17.xy = r18.xy * r10.zz;
   r19.xyzw = float4(-0,-1,-1,-0) + r15.zwzw;
   r10.z = dot(r17.xy, r19.xy);
   r18.xyzw = r18.zwzw ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r17.xy = r18.zw * r17.zw;
   r17.xy = frac(r17.xy);
   r17.xy = r18.xy * r17.xy;
   r11.w = r17.x * 34 + 1;
   r11.w = r11.w * r17.x;
   r14.w = 289 * r11.w;
   r14.w = cmp(r14.w >= -r14.w);
   r17.xz = r14.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r11.w = r17.z * r11.w;
   r11.w = frac(r11.w);
   r11.w = r17.x * r11.w + r17.y;
   r14.w = r11.w * 34 + 1;
   r11.w = r14.w * r11.w;
   r14.w = 289 * r11.w;
   r14.w = cmp(r14.w >= -r14.w);
   r17.xy = r14.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r11.w = r17.y * r11.w;
   r11.w = frac(r11.w);
   r11.w = r17.x * r11.w;
   r11.w = 0.024390243 * r11.w;
   r11.w = frac(r11.w);
   r17.xy = r11.ww * float2(2,2) + float2(-1,-0.5);
   r11.w = floor(r17.y);
   r18.x = r17.x + -r11.w;
   r18.y = -0.5 + abs(r17.x);
   r11.w = dot(r18.xy, r18.xy);
   r11.w = rsqrt(r11.w);
   r17.xy = r18.xy * r11.ww;
   r11.w = dot(r17.xy, r19.zw);
   r16.xy = float2(1,1) + r16.xy;
   r17.xyzw = float4(289,289,289,289) * r16.xyxy;
   r17.xyzw = cmp(r17.xyzw >= -r17.zwzw);
   r17.xyzw = r17.xyzw ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r16.xy = r17.zw * r16.xy;
   r16.xy = frac(r16.xy);
   r16.xy = r17.xy * r16.xy;
   r14.w = r16.x * 34 + 1;
   r14.w = r14.w * r16.x;
   r16.x = 289 * r14.w;
   r16.x = cmp(r16.x >= -r16.x);
   r17.xy = r16.xx ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r14.w = r17.y * r14.w;
   r14.w = frac(r14.w);
   r14.w = r17.x * r14.w + r16.y;
   r16.x = r14.w * 34 + 1;
   r14.w = r16.x * r14.w;
   r16.x = 289 * r14.w;
   r16.x = cmp(r16.x >= -r16.x);
   r16.xy = r16.xx ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r14.w = r16.y * r14.w;
   r14.w = frac(r14.w);
   r14.w = r16.x * r14.w;
   r14.w = 0.024390243 * r14.w;
   r14.w = frac(r14.w);
   r16.xy = r14.ww * float2(2,2) + float2(-1,-0.5);
   r14.w = floor(r16.y);
   r17.x = r16.x + -r14.w;
   r17.y = -0.5 + abs(r16.x);
   r14.w = dot(r17.xy, r17.xy);
   r14.w = rsqrt(r14.w);
   r16.xy = r17.xy * r14.ww;
   r17.xy = float2(-1,-1) + r15.zw;
   r14.w = dot(r16.xy, r17.xy);
   r16.xy = r15.zw * r15.zw;
   r16.xy = r16.xy * r15.zw;
   r17.xy = r15.zw * float2(6,6) + float2(-15,-15);
   r15.zw = r15.zw * r17.xy + float2(10,10);
   r15.zw = r16.xy * r15.zw;
   r10.z = r10.z + -r7.z;
   r7.z = r15.w * r10.z + r7.z;
   r10.z = r14.w + -r11.w;
   r10.z = r15.w * r10.z + r11.w;
   r10.z = r10.z + -r7.z;
   r7.z = r15.z * r10.z + r7.z;
   r7.z = 0.5 + r7.z;
   r7.z = 15 * r7.z;
   r15.zw = floor(r16.zw);
   r16.xy = frac(r16.zw);
   r17.xyzw = float4(289,289,289,289) * r15.zwzw;
   r17.xyzw = cmp(r17.xyzw >= -r17.zwzw);
   r17.xyzw = r17.xyzw ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r16.zw = r17.zw * r15.zw;
   r16.zw = frac(r16.zw);
   r16.zw = r17.xy * r16.zw;
   r10.z = r16.z * 34 + 1;
   r10.z = r10.z * r16.z;
   r11.w = 289 * r10.z;
   r11.w = cmp(r11.w >= -r11.w);
   r17.xy = r11.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r10.z = r17.y * r10.z;
   r10.z = frac(r10.z);
   r10.z = r17.x * r10.z + r16.w;
   r11.w = r10.z * 34 + 1;
   r10.z = r11.w * r10.z;
   r11.w = 289 * r10.z;
   r11.w = cmp(r11.w >= -r11.w);
   r16.zw = r11.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r10.z = r16.w * r10.z;
   r10.z = frac(r10.z);
   r10.z = r16.z * r10.z;
   r10.z = 0.024390243 * r10.z;
   r10.z = frac(r10.z);
   r16.zw = r10.zz * float2(2,2) + float2(-1,-0.5);
   r10.z = floor(r16.w);
   r17.x = r16.z + -r10.z;
   r17.y = -0.5 + abs(r16.z);
   r10.z = dot(r17.xy, r17.xy);
   r10.z = rsqrt(r10.z);
   r16.zw = r17.xy * r10.zz;
   r10.z = dot(r16.zw, r16.xy);
   r17.xyzw = float4(0,1,1,0) + r15.zwzw;
   r18.xyzw = float4(289,289,289,289) * r17.xyzw;
   r18.xyzw = cmp(r18.xyzw >= -r18.xyzw);
   r19.xyzw = r18.xyxy ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r16.zw = r19.zw * r17.xy;
   r16.zw = frac(r16.zw);
   r16.zw = r19.xy * r16.zw;
   r11.w = r16.z * 34 + 1;
   r11.w = r11.w * r16.z;
   r14.w = 289 * r11.w;
   r14.w = cmp(r14.w >= -r14.w);
   r17.xy = r14.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r11.w = r17.y * r11.w;
   r11.w = frac(r11.w);
   r11.w = r17.x * r11.w + r16.w;
   r14.w = r11.w * 34 + 1;
   r11.w = r14.w * r11.w;
   r14.w = 289 * r11.w;
   r14.w = cmp(r14.w >= -r14.w);
   r16.zw = r14.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r11.w = r16.w * r11.w;
   r11.w = frac(r11.w);
   r11.w = r16.z * r11.w;
   r11.w = 0.024390243 * r11.w;
   r11.w = frac(r11.w);
   r16.zw = r11.ww * float2(2,2) + float2(-1,-0.5);
   r11.w = floor(r16.w);
   r17.x = r16.z + -r11.w;
   r17.y = -0.5 + abs(r16.z);
   r11.w = dot(r17.xy, r17.xy);
   r11.w = rsqrt(r11.w);
   r16.zw = r17.xy * r11.ww;
   r19.xyzw = float4(-0,-1,-1,-0) + r16.xyxy;
   r11.w = dot(r16.zw, r19.xy);
   r18.xyzw = r18.zwzw ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r16.zw = r18.zw * r17.zw;
   r16.zw = frac(r16.zw);
   r16.zw = r18.xy * r16.zw;
   r14.w = r16.z * 34 + 1;
   r14.w = r14.w * r16.z;
   r16.z = 289 * r14.w;
   r16.z = cmp(r16.z >= -r16.z);
   r17.xy = r16.zz ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r14.w = r17.y * r14.w;
   r14.w = frac(r14.w);
   r14.w = r17.x * r14.w + r16.w;
   r16.z = r14.w * 34 + 1;
   r14.w = r16.z * r14.w;
   r16.z = 289 * r14.w;
   r16.z = cmp(r16.z >= -r16.z);
   r16.zw = r16.zz ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r14.w = r16.w * r14.w;
   r14.w = frac(r14.w);
   r14.w = r16.z * r14.w;
   r14.w = 0.024390243 * r14.w;
   r14.w = frac(r14.w);
   r16.zw = r14.ww * float2(2,2) + float2(-1,-0.5);
   r14.w = floor(r16.w);
   r17.x = r16.z + -r14.w;
   r17.y = -0.5 + abs(r16.z);
   r14.w = dot(r17.xy, r17.xy);
   r14.w = rsqrt(r14.w);
   r16.zw = r17.xy * r14.ww;
   r14.w = dot(r16.zw, r19.zw);
   r15.zw = float2(1,1) + r15.zw;
   r17.xyzw = float4(289,289,289,289) * r15.zwzw;
   r17.xyzw = cmp(r17.xyzw >= -r17.zwzw);
   r17.xyzw = r17.xyzw ? float4(289,289,0.00346020772,0.00346020772) : float4(-289,-289,-0.00346020772,-0.00346020772);
   r15.zw = r17.zw * r15.zw;
   r15.zw = frac(r15.zw);
   r15.zw = r17.xy * r15.zw;
   r16.z = r15.z * 34 + 1;
   r15.z = r16.z * r15.z;
   r16.z = 289 * r15.z;
   r16.z = cmp(r16.z >= -r16.z);
   r16.zw = r16.zz ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r15.z = r16.w * r15.z;
   r15.z = frac(r15.z);
   r15.z = r16.z * r15.z + r15.w;
   r15.w = r15.z * 34 + 1;
   r15.z = r15.w * r15.z;
   r15.w = 289 * r15.z;
   r15.w = cmp(r15.w >= -r15.w);
   r16.zw = r15.ww ? float2(289,0.00346020772) : float2(-289,-0.00346020772);
   r15.z = r16.w * r15.z;
   r15.z = frac(r15.z);
   r15.z = r16.z * r15.z;
   r15.z = 0.024390243 * r15.z;
   r15.z = frac(r15.z);
   r15.zw = r15.zz * float2(2,2) + float2(-1,-0.5);
   r15.w = floor(r15.w);
   r17.x = r15.z + -r15.w;
   r17.y = -0.5 + abs(r15.z);
   r15.z = dot(r17.xy, r17.xy);
   r15.z = rsqrt(r15.z);
   r15.zw = r17.xy * r15.zz;
   r16.zw = float2(-1,-1) + r16.xy;
   r15.z = dot(r15.zw, r16.zw);
   r16.zw = r16.xy * r16.xy;
   r16.zw = r16.zw * r16.xy;
   r17.xy = r16.xy * float2(6,6) + float2(-15,-15);
   r16.xy = r16.xy * r17.xy + float2(10,10);
   r16.xy = r16.zw * r16.xy;
   r11.w = r11.w + -r10.z;
   r10.z = r16.y * r11.w + r10.z;
   r11.w = r15.z + -r14.w;
   r11.w = r16.y * r11.w + r14.w;
   r11.w = r11.w + -r10.z;
   r10.z = r16.x * r11.w + r10.z;
   r10.z = 0.5 + r10.z;
   r16.xyzw = r7.zzzz * r10.zzzz + float4(120,10,30,80);
   r15.zw = -cb4[2].yw + v1.xz;
   r11.w = dot(r15.zw, r15.zw);
   r11.w = sqrt(r11.w);
   r16.xyzw = r11.wwww + -r16.xyzw;
   r16.xyzw = saturate(float4(0.024390243,100.000099,100.000099,100.000099) * r16.xyzw);
   r16.xyzw = float4(1,1,1,1) + -r16.xyzw;
   r14.w = 1 + -v6.x;
   r17.xyz = cb2[1].xyz * r14.www;
   r15.z = saturate(v4.w / cb2[3].x);
   r15.z = 1 + -r15.z;
   r15.z = log2(r15.z);
   r15.z = cb2[3].y * r15.z;
   r15.z = exp2(r15.z);
   r18.xyz = r14.www * cb2[2].xyz + -r17.xyz;
   r17.xyz = r15.zzz * r18.xyz + r17.xyz;
   r18.xyz = cb0[4].xyz * r14.www;
   r19.x = cb1[17].w;
   r19.y = cb1[18].w;
   r19.z = cb1[19].w;
   r18.xyz = r18.xyz * float3(0.318310142,0.318310142,0.318310142) + r19.xyz;
   r15.z = dot(cb0[3].xyz, -r2.xyz);
   r15.z = max(0, r15.z);
   r15.z = log2(r15.z);
   r15.z = cb2[5].x * r15.z;
   r15.z = exp2(r15.z);
   r15.z = cb2[3].w * r15.z + cb2[3].z;
   r20.xyz = cb2[4].xyz * r15.zzz;
   r20.xyz = cb0[4].xyz * r20.xyz;
   r20.xyz = r20.xyz * r14.www;
   r20.xyz = saturate(v5.xxx * r20.xyz);
   r17.xyz = r17.xyz * r18.xyz + r20.xyz;
   r18.xz = v8.xz;
   r18.y = -0.5;
   r14.w = dot(r18.xyz, r18.xyz);
   r14.w = rsqrt(r14.w);
   r18.xyz = r18.xyz * r14.www;
   r14.w = saturate(dot(r14.xyz, r18.xyz));
   r14.w = log2(r14.w);
   r14.w = cb2[18].x * r14.w;
   r14.w = exp2(r14.w);
   r14.w = 4 * r14.w;
   r15.y = r15.y + r15.y;
   r14.w = r15.y * r14.w;
   r18.xz = -v8.xz;
   r18.y = -0.5;
   r15.z = dot(r18.xyz, r18.xyz);
   r15.z = rsqrt(r15.z);
   r18.xyz = r18.xyz * r15.zzz;
   r15.z = saturate(dot(r14.xyz, r18.xyz));
   r15.z = log2(r15.z);
   r15.z = cb2[18].y * r15.z;
   r15.z = exp2(r15.z);
   r15.z = 4 * r15.z;
   r15.y = r15.z * r15.y;
   r15.z = min(1, r14.w);
   r15.y = min(1, r15.y);
   r18.xyz = cb2[17].xyz * r15.yyy;
   r18.xyz = r15.zzz * cb2[16].xyz + r18.xyz;
   r18.xyz = r18.xyz * r16.xxx;
   r15.y = r15.z + r15.y;
   r15.y = min(1, r15.y);
   r15.y = r15.y * r16.x;
   r18.xyz = r18.xyz * float3(3,3,3) + -r17.xyz;
   r15.yzw = r15.yyy * r18.xyz + r17.xyz;
   r15.yzw = float3(0.600000024,0.600000024,0.600000024) * r15.yzw;
   r15.x = 4 * r15.x;
   r15.x = min(1, r15.x);
   r14.w = r14.w + r14.w;
   r14.w = min(1, r14.w);
   
 r5.x += s.x * (r5.z - s.y) * 0.5;  
   
   r5.xy = r5.xy / r5.zz;
   r17.xyzw = t0.Sample(s0_s, r5.xy).xyzw;
   r17.y = cb0[14].z * r17.x;
   r17.x = cb0[14].z * r17.x + cb0[14].w;
   r17.x = 1 / r17.x;
   r17.z = dot(r4.xyz, r4.xyz);
   r17.z = rsqrt(r17.z);
   r4.xy = r17.zz * r4.xy;
   r18.xy = -v4.xy + v1.xz;
   r18.xy = r18.xy * float2(0.699999988,0.699999988) + v4.xy;
   r17.w = 0.100000001 * cb4[0].x;
   r18.xy = cb4[0].xx * float2(0.432999998,0.25) + r18.xy;
   r18.xy = float2(0.74000001,0.74000001) * r18.xy;
   r18.xy = r18.xy / cb2[8].ww;
   r18.xy = r12.xy * float2(0.125,0.125) + r18.xy;
   r18.z = -r12.z * -0.5 + -cb2[10].x;
   r4.z = r4.z * r17.z + 0.419999987;
   r4.xy = r4.xy / r4.zz;
   r4.xy = r18.zz * r4.xy + r18.xy;
   r3.w = cb3[r3.w+2].x * 4;
   r18.xy = cb2[8].wy * r3.ww;
   r18.xz = r4.xy / r18.xx;
   r20.xyzw = t3.SampleLevel(s9_s, r18.xz, 3).xyzw;
   r3.w = cb3[r1.w+2].x * 4;
   r18.xz = cb2[8].wy * r3.ww;
   r4.xy = r4.xy / r18.xx;
   r21.xyzw = t3.SampleLevel(s9_s, r4.xy, 3).xyzw;
   r3.w = r21.x + -r20.x;
   r3.w = v4.z * r3.w + r20.x;
   r4.x = saturate(cb2[10].y * v5.y);
   r4.xyz = cb2[9].xyz * r4.xxx;
   r4.xyz = r4.xyz * r19.xyz;
   r19.xyzw = cb2[10].zzww * r12.xwxw;
   r17.z = r17.x + r0.w;
   r18.x = 0.5 * r17.z;
   r18.x = min(1, r18.x);
   r18.w = r18.x / r17.x;
   r20.xy = r19.xy * r18.ww;
   r19.xy = v13.xx ? r20.xy : r19.xy;
   r19.xy = r19.xy + r5.xy;
   r20.xyzw = t0.Sample(s0_s, r19.xy).xyzw;
   if (v13.x != 0) {
     r18.w = cb0[14].z * r20.x + cb0[14].w;
     r18.w = 1 / r18.w;
     r20.y = cmp(-r0.w < r18.w);
     if (r20.y != 0) {
       r18.w = r18.w + r0.w;
       r21.xyzw = t1.Sample(s1_s, r19.xy).xyzw;
       r20.yz = r19.xy * float2(2,2) + float2(-1,-1);
       r22.xyzw = cb0[66].xyzw * r20.zzzz;
       r22.xyzw = cb0[65].xyzw * r20.yyyy + r22.xyzw;
       r22.xyzw = cb0[67].xyzw * r20.xxxx + r22.xyzw;
       r22.xyzw = cb0[68].xyzw + r22.xyzw;
       r20.yzw = r22.xzy / r22.www;
     } else {
       r21.xyzw = t1.Sample(s1_s, r5.xy).xyzw;
       r18.w = max(0, r17.z);
       r17.y = r17.y / cb0[14].z;
       r22.xy = r5.xy * float2(2,2) + float2(-1,-1);
       r23.xyzw = cb0[66].xyzw * r22.yyyy;
       r22.xyzw = cb0[65].xyzw * r22.xxxx + r23.xyzw;
       r22.xyzw = cb0[67].xyzw * r17.yyyy + r22.xyzw;
       r22.xyzw = cb0[68].xyzw + r22.xyzw;
       r20.yzw = r22.xzy / r22.www;
     }
   } else {
     r21.xyzw = t1.Sample(s1_s, r19.xy).xyzw;
     r17.yz = r19.xy * float2(2,2) + float2(-1,-1);
     r22.xyzw = cb0[66].xyzw * r17.zzzz;
     r22.xyzw = cb0[65].xyzw * r17.yyyy + r22.xyzw;
     r22.xyzw = cb0[67].xyzw * r20.xxxx + r22.xyzw;
     r22.xyzw = cb0[68].xyzw + r22.xyzw;
     r20.yzw = r22.xzy / r22.www;
     r18.w = -r0.w;
   }
   r17.yz = -cb3[r1.w+18].xy + r20.yz;
   r17.yz = r17.yz / r5.ww;
   r9.xy = float2(0.5,0.5) + r17.yz;
   r22.xyzw = t10.SampleLevel(s8_s, r9.xyz, 0).xyzw;
   r17.y = cb4[1].y + r22.y;
   r17.z = cmp(r17.y >= r20.w);
   if (r17.z != 0) {
     r17.y = r17.y + -r20.w;
     r17.z = log2(r18.w);
     r19.x = -cb2[12].w + r17.y;
     r19.x = abs(r19.x) / cb2[13].x;
     r17.z = r19.x + r17.z;
     r19.xy = cb0[3].xz * r17.yy;
     r20.x = 4 * cb0[3].y;
     r19.xy = r19.xy / r20.xx;
     r19.xy = r20.yz + r19.xy;
     r20.xy = r19.xy / cb2[12].xx;
     r22.x = cb4[0].x * 0.0439999998 + r20.x;
     r20.z = 17.1599998;
     r22.y = -0.169 * cb4[0].x;
     r20.xy = r22.xy + r20.zy;
     r20.zw = float2(1.37,1.37) * r19.xy;
     r20.zw = r20.zw / cb2[12].xx;
     r20.zw = cb4[0].xx * float2(0.247999996,0.116999999) + r20.zw;
     if (v13.x == 0) {
       r19.xy = r19.xy / cb2[13].zz;
       r22.xyzw = t6.Sample(s9_s, r19.xy).xyzw;
       r23.xz = r22.ww * r22.xx;
       r23.yw = r22.yy;
       r22.xyzw = r23.xyzw * float4(2,2,2,2) + float4(-1,-1,-1,-1);
       r22.xyzw = cb2[13].yyyy * r22.xyzw;
       r20.xy = r22.xy * float2(1.29999995,1.29999995) + r20.xy;
       r20.zw = r22.zw * float2(1.76999998,1.76999998) + r20.zw;
     }
     r19.x = cb2[12].z * cb0[4].x;
     r17.y = r17.y * -r6.x;
     r17.y = 1.44269502 * r17.y;
     r17.y = exp2(r17.y);
     r17.y = 1 + -r17.y;
     r17.y = max(0, r17.y);
     r17.y = r17.y * -r19.x + r19.x;
     r22.xyzw = t5.SampleLevel(s9_s, r20.xy, r17.z).xyzw;
     r20.xyzw = t5.SampleLevel(s9_s, r20.zw, r17.z).xyzw;
     r20.xyz = float3(0.5,0.5,0.5) * r20.xyz;
     r20.xyz = r22.xyz * float3(0.5,0.5,0.5) + r20.xyz;
     r20.xyz = -cb2[12].yyy + r20.xyz;
     r20.xyz = r17.yyy * r20.xyz + float3(1,1,1);
     r21.xyz = r21.xyz * r20.xyz;
   }
   r4.xyz = r3.www * r4.xyz + r15.yzw;
   r6.xyz = r18.www * r6.xyz;
   r3.w = max(0.400000006, abs(r2.y));
   r3.w = min(1, r3.w);
   r6.xyz = r6.xyz * r3.www;
   r6.xyz = float3(-1.44269502,-1.44269502,-1.44269502) * r6.xyz;
   r6.xyz = exp2(r6.xyz);
   r6.xyz = float3(1,1,1) + -r6.xyz;
   r20.xyz = r4.xyz + -r21.xyz;
   r6.xyz = r6.xyz * r20.xyz + r21.xyz;
   r6.xyz = v13.xxx ? r6.xyz : r21.xyz;
   r17.yz = r19.zw * r18.xx;
   r17.yz = r17.yz / r17.xx;
   r17.yz = r17.yz + r5.xy;
     
   //r17.y -= s.x * 0.5;
   
   //r17.y -= s.x * (1 - s.y * testeo.x) * 0.5;
   r17.y -= s.x * (1 - s.y / v0.w) * 0.5;
  
   
   r19.xyzw = t8.Sample(s6_s, r17.yz).xyzw;
   r20.xyz = r19.xyz * r16.yyy;
   r4.xyz = r4.xyz * float3(0.300000012,0.300000012,0.300000012) + r20.xyz;
   r3.w = dot(r19.xyzw, r19.xyzw);
   r3.w = sqrt(r3.w);
   r3.w = cmp(r3.w >= 1);
   r3.w = r3.w ? 1.000000 : 0;
   r3.w = r16.y * r3.w;
   r4.xyz = r4.xyz + -r6.xyz;
   r4.xyz = r3.www * r4.xyz + r6.xyz;
   r6.xyz = r10.xxx * r4.xyz;
   r4.xyz = r10.xxx * r4.xyz + r15.yzw;
   r4.xyz = v13.xxx ? r6.xyz : r4.xyz;
   r2.x = dot(r12.xyw, r2.xyz);
   r2.x = max(0, r2.x);
   r2.y = cmp(r2.x < 0.659317493);
   r2.y = r2.y ? 1.000000 : 0;
   r2.x = 1 + -r2.x;
   r2.x = max(0, r2.x);
   r2.x = rsqrt(r2.x);
   r2.x = 1 / r2.x;
   r2.x = r2.x * 0.979940653 + 0.0200593174;
   r2.x = v13.x ? r2.x : r2.y;
   r2.y = r15.x * r2.x;
   r2.y = min(1, r2.y);
   r6.xyz = r11.yyy * r0.xyz;
   r6.xyz = r3.xyz * r11.xxx + r6.xyz;
   r6.xyz = r1.xyz * r11.zzz + r6.xyz;
   r5.z = 1;
   r6.xyz = float3(-1,-1,1) * r6.xyz;
   r2.z = dot(r5.xyz, r6.xyz);
   r2.z = r5.y * r2.z + -r6.y;
   r2.z = r2.z + -r5.y;
   r5.z = cb2[14].w * r2.z + r5.y;
   r5.xy = -v1.xy * float2(0,0.0160000008) + r5.xz;
 
r50 = r5; 
r50.x -= s.x * 0.5;  
   
   r19.xyzw = t9.Sample(s7_s, r50.xy).xyzw;
   r19.xyz = saturate(r19.xyz);
   r2.xz = float2(1,1) + -r2.xy;
   r2.x = r2.z * r2.x;
   r5.xyz = r19.xyz * r2.xxx + r2.yyy;
   r6.xyz = r5.xyz * r16.xxx;
   r2.x = cb2[14].z * r2.x;
   r11.xyz = float3(1,1,1) + -r4.xyz;
   r11.xyz = r11.xyz + r11.xyz;
   r5.xyz = -r5.xyz * r16.xxx + float3(1,1,1);
   r5.xyz = -r11.xyz * r5.xyz + float3(1,1,1);
   r6.xyz = r6.xyz * r4.xyz;
   r6.xyz = r6.xyz + r6.xyz;
   r11.xyz = cmp(float3(0.5,0.5,0.5) >= r4.xyz);
   r15.yzw = r11.xyz ? float3(1,1,1) : 0;
   r11.xyz = r11.xyz ? float3(0,0,0) : float3(1,1,1);
   r5.xyz = r11.xyz * r5.xyz;
   r5.xyz = r6.xyz * r15.yzw + r5.xyz;
   r5.xyz = r5.xyz + -r4.xyz;
   r2.xyz = r2.xxx * r5.xyz + r4.xyz;
   r3.w = saturate(-r0.w / cb2[6].x);
   r3.w = log2(r3.w);
   r3.w = cb2[6].y * r3.w;
   r3.w = exp2(r3.w);
   r4.x = cb2[5].w + -cb2[5].z;
   r3.w = r3.w * r4.x + cb2[5].z;
   r4.x = saturate(-r12.z);
   r4.x = r4.x * 2 + r17.x;
   r0.w = r4.x + r0.w;
   r0.w = saturate(-0.5 + r0.w);
   r0.w = 1 + -r0.w;
   r4.xy = cb0[10].xx + v4.xy;
   r4.xy = r4.xy * float2(1.25,1.25) + r17.ww;
   r5.xy = r4.xy / r18.yy;
   r20.zw = r4.xy / r18.zz;
   r4.xy = cb4[2].yw + -v1.xz;
   r4.xy = r4.xy * float2(-0.015625,-0.015625) + float2(0.5,0.5);
   r21.xyzw = t7.Sample(s5_s, r4.xy).xyzw;
   r4.xy = r21.xy * r16.zz;
   r5.xy = -r21.yy * r16.zz + r5.xy;
   r20.xy = r21.xx * r16.zz + r5.xy;
   r5.xy = float2(0.0700000003,0.0700000003) * v4.xy;
   r6.xy = v4.xy * float2(0.899999976,0.899999976) + -cb0[10].xx;
   r6.xy = r6.xy * float2(1.25,1.25) + r17.ww;
   r11.xy = r6.xy / r18.yy;
   r6.xy = r6.xy / r18.zz;
   r11.xy = -r21.yy * r16.zz + r11.xy;
   r11.xy = r21.xx * r16.zz + r11.xy;
   r4.z = cb2[15].x * v5.y;
   r17.xyzw = t4.Sample(s9_s, r11.xy).xyzw;
   r18.xyzw = t4.Sample(s9_s, r6.xy).xyzw;
   r5.z = r18.x + -r17.x;
   r5.z = v4.z * r5.z + r17.x;
   r5.z = r5.z * r4.z;
   r17.xyzw = r5.zzzz * float4(0.150000006,0.150000006,0.150000006,0.150000006) + r20.xyzw;
   r18.xyzw = t3.Sample(s9_s, r17.xy).xyzw;
   r17.xyzw = t3.Sample(s9_s, r17.zw).xyzw;
   r6.x = r17.x + -r18.x;
   r6.x = v4.z * r6.x + r18.x;
   r4.z = r6.x * r4.z;
   r4.z = r4.z * r5.z;
   r5.z = r16.w * -r14.w + 1;
   r4.z = saturate(dot(r4.zz, r5.zz));
   r0.w = r4.z + r0.w;
   r0.w = -0.300000012 + r0.w;
   r4.z = 1 / cb2[8].z;
   r0.w = saturate(r4.z * r0.w);
   r4.z = r0.w * -2 + 3;
   r0.w = r0.w * r0.w;
   r0.w = r4.z * r0.w;
   r4.xy = cmp(r4.xy >= float2(0.100000001,0.100000001));
   r4.xy = r4.xy ? float2(1,1) : 0;
   r0.w = r4.x * -r0.w + r0.w;
   r0.w = r0.w + r4.y;
   r0.w = min(1, r0.w);
   r4.xy = r12.xz * float2(0.0700000003,-0.0700000003) + r5.xy;
   r16.xyzw = t3.Sample(s3_s, r4.xy).xyzw;
   r4.xy = v4.xy * float2(0.0700000003,0.0399999991) + r4.ww;
   r4.xyzw = t4.Sample(s4_s, r4.xy).xyzw;
   r4.xyz = r16.xyz * r4.xxx;
   r4.xyz = float3(3.29999995,3.29999995,3.29999995) * r4.xyz;
   r5.xy = r7.zz * r10.zz + float2(6,40);
   r5.xy = r11.ww + -r5.xy;
   r5.xy = saturate(float2(0.666666687,100.000099) * r5.xy);
   r5.xy = float2(1,1) + -r5.xy;
   r4.w = 1 + -r5.x;
   r4.xyz = r4.xyz * r4.www + float3(-0.899999976,-0.899999976,-0.899999976);
   r4.xyz = saturate(float3(19.9999962,19.9999962,19.9999962) * r4.xyz);
   r6.xyz = r4.xyz * float3(-2,-2,-2) + float3(3,3,3);
   r4.xyz = r4.xyz * r4.xyz;
   r4.xyz = r6.xyz * r4.xyz;
   r4.w = saturate(-r13.z);
   r4.xyz = r4.xyz * r4.www;
   r4.xyz = -r4.xyz * cb2[7].xyz + float3(1,1,1);
   r6.xyz = -cb2[7].xyz * r0.www + float3(1,1,1);
   r2.xyz = -r4.xyz * r6.xyz + r2.xyz;
   r2.xyz = float3(1,1,1) + r2.xyz;
   r4.x = cb4[2].z * -0.0666666701 + cb2[8].x;
   r4.x = max(1, r4.x);
   r4.x = min(30, r4.x);
   r4.y = saturate(dot(r14.xyz, r8.xyz));
   r4.y = 1 + -r4.y;
   r4.y = log2(r4.y);
   r4.x = r4.x * r4.y;
   r4.x = exp2(r4.x);
   r4.x = r4.x * v1.y + -0.5;
   r4.x = saturate(100000.0 * r4.x);
   r4.y = r4.x * -2 + 3;
   r4.x = r4.x * r4.x;
   r4.x = r4.y * r4.x;
   r4.x = cb2[7].w * r4.x;
   r4.x = r4.x * r5.y;
   r0.w = r0.w * -r4.x + r4.x;
   r2.xyz = saturate(cb2[7].xyz * r0.www + r2.xyz);
   r13.w = -r13.z;
   r4.xyz = -r13.xwy + r12.xwy;
   r4.xyz = cb2[14].yyy * r4.xyz + r13.xwy;
   r5.xyz = r4.yyy * r0.xyz;
   r4.xyw = r3.xyz * r4.xxx + r5.xyz;
   r4.xyz = r1.xyz * r4.zzz + r4.xyw;
   r0.w = dot(-r4.xyz, -r4.xyz);
   r0.w = rsqrt(r0.w);
   r4.xyz = -r4.xyz * r0.www;
   r5.xz = v8.xz;
   r5.y = -5;
   r0.w = dot(r5.xyz, r5.xyz);
   r0.w = rsqrt(r0.w);
   r5.xyz = r5.xyz * r0.www;
   r0.w = saturate(dot(r4.xyz, r5.xyz));
   r0.w = 1 + -r0.w;
   r0.w = log2(r0.w);
   r0.w = cb2[14].x * r0.w;
   r0.w = exp2(r0.w);
   r4.xyz = cb2[19].xyz * r19.xyz + -r2.xyz;
   r4.xyz = r0.www * r4.xyz + r2.xyz;
   r0.w = -cb2[13].w * r15.x + 1;
   r5.xyz = float3(1,1,1) + -r2.xyz;
   r5.xyz = r5.xyz + r5.xyz;
   r6.xyz = float3(1,1,1) + -r4.xyz;
   r5.xyz = -r5.xyz * r6.xyz + float3(1,1,1);
   r6.xyz = r4.xyz * r2.xyz;
   r6.xyz = r6.xyz + r6.xyz;
   r8.xyz = cmp(float3(0.5,0.5,0.5) >= r2.xyz);
   r11.xyz = r8.xyz ? float3(1,1,1) : 0;
   r8.xyz = r8.xyz ? float3(0,0,0) : float3(1,1,1);
   r5.xyz = r8.xyz * r5.xyz;
   r5.xyz = r6.xyz * r11.xyz + r5.xyz;
   r5.xyz = r5.xyz + -r2.xyz;
   r2.xyz = r0.www * r5.xyz + r2.xyz;
   r4.xyz = r4.xyz + -r2.xyz;
   r2.xyz = saturate(cb2[20].xxx * r4.xyz + r2.xyz);
   r0.w = cb2[5].y * r10.y;
   r0.xyz = -r12.zzz * r0.xyz;
   r0.xyz = r3.xyz * r12.xxx + r0.xyz;
   r0.xyz = r1.xyz * r12.yyy + r0.xyz;
   r1.x = r3.w * 10 + 1;
   r1.x = exp2(r1.x);
   r1.y = dot(r0.xyz, r0.xyz);
   r1.y = rsqrt(r1.y);
   r0.xyz = r1.yyy * r0.xyz;
   r1.y = max(1.17549435e-38, r2.w);
   r1.y = rsqrt(r1.y);
   r3.xyz = v8.xyz * r1.yyy + cb0[3].xyz;
   r1.y = dot(r3.xyz, r3.xyz);
   r1.y = max(1.17549435e-38, r1.y);
   r1.y = rsqrt(r1.y);
   r3.xyz = r3.xyz * r1.yyy;
   r0.x = saturate(dot(r0.xyz, r3.xyz));
   r0.x = log2(r0.x);
   r0.x = r1.x * r0.x;
   r0.x = exp2(r0.x);
   r0.x = r0.w * r0.x + -0.100000001;
   r0.x = saturate(19.9999981 * r0.x);
   r0.y = r0.x * -2 + 3;
   r0.x = r0.x * r0.x;
   r0.x = r0.y * r0.x;
   r0.xyz = r0.xxx * cb0[4].xyz + r2.xyz;
   if (r9.w != 0) {
     r2.xyzw = t11.SampleLevel(s8_s, r7.xyw, 0).xyzw;
     r0.w = r8.w * r2.x;
   } else {
     r0.w = 0;
   }
   if (r10.w != 0) {
     r1.xy = -cb3[r1.w+18].xy + v1.xz;
     r1.xy = r1.xy / r5.ww;
     r9.xy = float2(0.5,0.5) + r1.xy;
     r1.xyzw = t11.SampleLevel(s8_s, r9.xyz, 0).xyzw;
     r0.w = r6.w * r1.x + r0.w;
   }
   r0.w = cmp(0.5 < r0.w);
   o0.w = r0.w ? 0 : 1;
   r0.xyz = -cb0[48].xyz + r0.xyz;
   o0.xyz = v11.xxx * r0.xyz + cb0[48].xyz;
   return;
 }
//////////////////////////////// HLSL Errors ////////////////////////////////
// C:\Program Files (x86)\Steam\steamapps\common\WavetaleL\ShaderFixes\8aff7aa7dc1a14c7-ps_replace.txt(986,19-21): error X3004: undeclared identifier 'inf'
/////////////////////////////////////////////////////////////////////////////
