// Lighting/shadows - fixed
Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerComparisonState s1_s : register(s1);

SamplerState s0_s : register(s0);

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

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

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

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




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


void main( 
  float4 v0 : TEXCOORD0,
  float4 v1 : TEXCOORD1,
  float4 v2 : TEXCOORD2,
  float3 v3 : TEXCOORD3,
  float4 v4 : SV_POSITION0,
  out float4 o0 : SV_Target0,
float fov : TEXCOORD4)
{
  float4 r0,r1,r2,r3,r4,r5,r6,r7;
  uint4 bitmask, uiDest;
  float4 fDest;

  r0.xyzw = t0.Sample(s0_s, v0.xy).xyzw;
  r0.y = cb1[7].x * r0.x + cb1[7].y;
  r0.y = 1 / r0.y;
  r0.z = r0.x + -r0.y;
  r0.y = cb1[8].w * r0.z + r0.y;
  r1.xyz = v3.xyz + -v2.xyz;
  r0.xzw = r0.xxx * r1.xyz + v2.xyz;
  r0.xzw = -v1.xyz * r0.yyy + r0.xzw;
  r1.xyz = v1.xyz * r0.yyy;
  r0.xyz = cb1[8].www * r0.xzw + r1.xyz;
  r1.xyzw = cmp(r0.zzzz >= cb2[6].xyzw);
  r1.xyzw = r1.xyzw ? float4(1,1,1,1) : 0;
  r2.xyzw = cmp(r0.zzzz < cb2[7].xyzw);
  r2.xyzw = r2.xyzw ? float4(1,1,1,1) : 0;
  r1.xyzw = r2.xyzw * r1.xyzw;
float4 stereo = StereoParams.Load(0);
float4 params = IniParams.Load(0);
r0.x -= stereo.x * (r0.z - stereo.y)*fov;
  r2.xyzw = cb3[1].xyzw * r0.yyyy;
  r2.xyzw = cb3[0].xyzw * r0.xxxx + r2.xyzw;
  r2.xyzw = cb3[2].xyzw * r0.zzzz + r2.xyzw;
  r0.x = saturate(r0.z * cb2[24].z + cb2[24].w);
  r2.xyzw = cb3[3].xyzw + r2.xyzw;
  r0.yzw = cb2[13].xyz * r2.yyy;
  r0.yzw = cb2[12].xyz * r2.xxx + r0.yzw;
  r0.yzw = cb2[14].xyz * r2.zzz + r0.yzw;
  r0.yzw = cb2[15].xyz * r2.www + r0.yzw;
  r0.yzw = r0.yzw * r1.yyy;
  r3.xyz = cb2[9].xyz * r2.yyy;
  r3.xyz = cb2[8].xyz * r2.xxx + r3.xyz;
  r3.xyz = cb2[10].xyz * r2.zzz + r3.xyz;
  r3.xyz = cb2[11].xyz * r2.www + r3.xyz;
  r0.yzw = r3.xyz * r1.xxx + r0.yzw;
  r3.xyz = cb2[17].xyz * r2.yyy;
  r3.xyz = cb2[16].xyz * r2.xxx + r3.xyz;
  r3.xyz = cb2[18].xyz * r2.zzz + r3.xyz;
  r3.xyz = cb2[19].xyz * r2.www + r3.xyz;
  r0.yzw = r3.xyz * r1.zzz + r0.yzw;
  r1.xyz = cb2[21].xyz * r2.yyy;
  r1.xyz = cb2[20].xyz * r2.xxx + r1.xyz;
  r1.xyz = cb2[22].xyz * r2.zzz + r1.xyz;
  r1.xyz = cb2[23].xyz * r2.www + r1.xyz;
  r0.yzw = r1.xyz * r1.www + r0.yzw;
  r0.yz = r0.yz * cb0[7].zw + float2(0.5,0.5);
  r1.xy = floor(r0.yz);
  r0.yz = frac(r0.yz);
  r1.xy = float2(-0.5,-0.5) + r1.xy;
  r1.zw = -r0.yz * float2(2,2) + float2(3,3);
  r2.xy = -r0.yz * float2(3,3) + float2(4,4);
  r1.zw = r1.zw / r2.xy;
  r3.xy = float2(-2,-2) + r1.zw;
  r4.z = r3.y;
  r1.zw = r0.yz * float2(3,3) + float2(1,1);
  r2.xz = r0.yz / r1.zw;
  r4.xw = float2(2,2) + r2.xz;
  r3.w = r4.x;
  r2.xz = float2(3,3) + r0.yz;
  r0.y = 3 * r0.y;
  r5.xz = r0.yy * float2(-1,1) + float2(4,1);
  r4.xy = cb0[7].xy * r2.xz;
  r6.xz = cb0[7].yy;
  r6.y = 0.142857149;
  r6.xyz = r6.xyz * r4.zyw;
  r3.z = r4.x;
  r4.w = r6.x;
  r7.xz = cb0[7].xx;
  r7.y = 0.142857149;
  r4.xyz = r7.yxz * r3.zxw;
  r3.xyzw = r1.xyxy * cb0[7].xyxy + r4.ywxw;
  r0.yz = r1.xy * cb0[7].xy + r4.zw;
  r0.y = t1.SampleCmpLevelZero(s1_s, r0.yz, r0.w).x;
  r0.z = t1.SampleCmpLevelZero(s1_s, r3.xy, r0.w).x;
  r1.z = t1.SampleCmpLevelZero(s1_s, r3.zw, r0.w).x;
  r5.y = 7;
  r2.xyz = r5.xyz * r2.yyy;
  r3.xyz = r5.xyz * r1.www;
  r5.xy = float2(7,7) * r5.xz;
  r1.z = r2.y * r1.z;
  r0.z = r2.x * r0.z + r1.z;
  r0.y = r2.z * r0.y + r0.z;
  r6.w = r4.y;
  r2.xyzw = r1.xyxy * cb0[7].xyxy + r6.wywz;
  r4.yw = r6.yz;
  r0.z = t1.SampleCmpLevelZero(s1_s, r2.xy, r0.w).x;
  r1.z = t1.SampleCmpLevelZero(s1_s, r2.zw, r0.w).x;
  r0.y = r5.x * r0.z + r0.y;
  r2.xyzw = r1.xyxy * cb0[7].xyxy + r4.xyzy;
  r4.xyzw = r1.xyxy * cb0[7].xyxy + r4.xwzw;
  r0.z = t1.SampleCmpLevelZero(s1_s, r2.xy, r0.w).x;
  r1.x = t1.SampleCmpLevelZero(s1_s, r2.zw, r0.w).x;
  r0.y = r0.z * 49 + r0.y;
  r0.y = r5.y * r1.x + r0.y;
  r0.y = r3.x * r1.z + r0.y;
  r0.z = t1.SampleCmpLevelZero(s1_s, r4.xy, r0.w).x;
  r0.w = t1.SampleCmpLevelZero(s1_s, r4.zw, r0.w).x;
  r0.y = r3.y * r0.z + r0.y;
  r0.y = r3.z * r0.w + r0.y;
  r0.y = 0.0069444445 * r0.y;
  r0.z = 1 + -cb2[24].x;
  r0.y = r0.y * r0.z + cb2[24].x;
  o0.xyzw = r0.yyyy + r0.xxxx;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Original ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xy          0     NONE   float   xy  
// TEXCOORD                 1   xyz         1     NONE   float   xyz 
// TEXCOORD                 2   xyz         2     NONE   float   xyz 
// TEXCOORD                 3   xyz         3     NONE   float   xyz 
// SV_POSITION              0   xyzw        4      POS   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer cb0[8], immediateIndexed
dcl_constantbuffer cb1[9], immediateIndexed
dcl_constantbuffer cb2[25], immediateIndexed
dcl_constantbuffer cb3[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_comparison
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.xyz
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.xyz
dcl_output o0.xyzw
dcl_temps 8
sample r0.xyzw, v0.xyxx, t0.xyzw, s0
mad r0.y, cb1[7].x, r0.x, cb1[7].y
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
add r0.z, -r0.y, r0.x
mad r0.y, cb1[8].w, r0.z, r0.y
add r1.xyz, -v2.xyzx, v3.xyzx
mad r0.xzw, r0.xxxx, r1.xxyz, v2.xxyz
mad r0.xzw, -v1.xxyz, r0.yyyy, r0.xxzw
mul r1.xyz, r0.yyyy, v1.xyzx
mad r0.xyz, cb1[8].wwww, r0.xzwx, r1.xyzx
ge r1.xyzw, r0.zzzz, cb2[6].xyzw
and r1.xyzw, r1.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
lt r2.xyzw, r0.zzzz, cb2[7].xyzw
and r2.xyzw, r2.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
mul r1.xyzw, r1.xyzw, r2.xyzw
mul r2.xyzw, r0.yyyy, cb3[1].xyzw
mad r2.xyzw, cb3[0].xyzw, r0.xxxx, r2.xyzw
mad r2.xyzw, cb3[2].xyzw, r0.zzzz, r2.xyzw
mad_sat r0.x, r0.z, cb2[24].z, cb2[24].w
add r2.xyzw, r2.xyzw, cb3[3].xyzw
mul r0.yzw, r2.yyyy, cb2[13].xxyz
mad r0.yzw, cb2[12].xxyz, r2.xxxx, r0.yyzw
mad r0.yzw, cb2[14].xxyz, r2.zzzz, r0.yyzw
mad r0.yzw, cb2[15].xxyz, r2.wwww, r0.yyzw
mul r0.yzw, r1.yyyy, r0.yyzw
mul r3.xyz, r2.yyyy, cb2[9].xyzx
mad r3.xyz, cb2[8].xyzx, r2.xxxx, r3.xyzx
mad r3.xyz, cb2[10].xyzx, r2.zzzz, r3.xyzx
mad r3.xyz, cb2[11].xyzx, r2.wwww, r3.xyzx
mad r0.yzw, r3.xxyz, r1.xxxx, r0.yyzw
mul r3.xyz, r2.yyyy, cb2[17].xyzx
mad r3.xyz, cb2[16].xyzx, r2.xxxx, r3.xyzx
mad r3.xyz, cb2[18].xyzx, r2.zzzz, r3.xyzx
mad r3.xyz, cb2[19].xyzx, r2.wwww, r3.xyzx
mad r0.yzw, r3.xxyz, r1.zzzz, r0.yyzw
mul r1.xyz, r2.yyyy, cb2[21].xyzx
mad r1.xyz, cb2[20].xyzx, r2.xxxx, r1.xyzx
mad r1.xyz, cb2[22].xyzx, r2.zzzz, r1.xyzx
mad r1.xyz, cb2[23].xyzx, r2.wwww, r1.xyzx
mad r0.yzw, r1.xxyz, r1.wwww, r0.yyzw
mad r0.yz, r0.yyzy, cb0[7].zzwz, l(0.000000, 0.500000, 0.500000, 0.000000)
round_ni r1.xy, r0.yzyy
frc r0.yz, r0.yyzy
add r1.xy, r1.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
mad r1.zw, -r0.yyyz, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, 3.000000, 3.000000)
mad r2.xy, -r0.yzyy, l(3.000000, 3.000000, 0.000000, 0.000000), l(4.000000, 4.000000, 0.000000, 0.000000)
div r1.zw, r1.zzzw, r2.xxxy
add r3.xy, r1.zwzz, l(-2.000000, -2.000000, 0.000000, 0.000000)
mov r4.z, r3.y
mad r1.zw, r0.yyyz, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, 1.000000, 1.000000)
div r2.xz, r0.yyzy, r1.zzwz
add r4.xw, r2.xxxz, l(2.000000, 0.000000, 0.000000, 2.000000)
mov r3.w, r4.x
add r2.xz, r0.yyzy, l(3.000000, 0.000000, 3.000000, 0.000000)
mul r0.y, r0.y, l(3.000000)
mad r5.xz, r0.yyyy, l(-1.000000, 0.000000, 1.000000, 0.000000), l(4.000000, 0.000000, 1.000000, 0.000000)
mul r4.xy, r2.xzxx, cb0[7].xyxx
mov r6.xz, cb0[7].yyyy
mov r6.y, l(0.142857)
mul r6.xyz, r4.zywz, r6.xyzx
mov r3.z, r4.x
mov r4.w, r6.x
mov r7.xz, cb0[7].xxxx
mov r7.y, l(0.142857)
mul r4.xyz, r3.zxwz, r7.yxzy
mad r3.xyzw, r1.xyxy, cb0[7].xyxy, r4.ywxw
mad r0.yz, r1.xxyx, cb0[7].xxyx, r4.zzwz
sample_c_lz r0.y, r0.yzyy, t1.xxxx, s1, r0.w
sample_c_lz r0.z, r3.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r1.z, r3.zwzz, t1.xxxx, s1, r0.w
mov r5.y, l(7.000000)
mul r2.xyz, r2.yyyy, r5.xyzx
mul r3.xyz, r1.wwww, r5.xyzx
mul r5.xy, r5.xzxx, l(7.000000, 7.000000, 0.000000, 0.000000)
mul r1.z, r1.z, r2.y
mad r0.z, r2.x, r0.z, r1.z
mad r0.y, r2.z, r0.y, r0.z
mov r6.w, r4.y
mad r2.xyzw, r1.xyxy, cb0[7].xyxy, r6.wywz
mov r4.yw, r6.yyyz
sample_c_lz r0.z, r2.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r1.z, r2.zwzz, t1.xxxx, s1, r0.w
mad r0.y, r5.x, r0.z, r0.y
mad r2.xyzw, r1.xyxy, cb0[7].xyxy, r4.xyzy
mad r4.xyzw, r1.xyxy, cb0[7].xyxy, r4.xwzw
sample_c_lz r0.z, r2.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r1.x, r2.zwzz, t1.xxxx, s1, r0.w
mad r0.y, r0.z, l(49.000000), r0.y
mad r0.y, r5.y, r1.x, r0.y
mad r0.y, r3.x, r1.z, r0.y
sample_c_lz r0.z, r4.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r0.w, r4.zwzz, t1.xxxx, s1, r0.w
mad r0.y, r3.y, r0.z, r0.y
mad r0.y, r3.z, r0.w, r0.y
mul r0.y, r0.y, l(0.006944)
add r0.z, -cb2[24].x, l(1.000000)
mad r0.y, r0.y, r0.z, cb2[24].x
add o0.xyzw, r0.xxxx, r0.yyyy
ret 
// Approximately 0 instruction slots used

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


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Recompiled ASM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20789
//
//   using 3Dmigoto v1.2.43 on Wed Aug 17 22:48:57 2016
//
//
// Buffer Definitions: 
//
// cbuffer cb3
// {
//
//   float4 cb3[4];                     // Offset:    0 Size:    64
//
// }
//
// cbuffer cb2
// {
//
//   float4 cb2[25];                    // Offset:    0 Size:   400
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[9];                     // Offset:    0 Size:   144
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[8];                     // Offset:    0 Size:   128
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// s1_s                            sampler_c      NA          NA    1        1
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// cb0                               cbuffer      NA          NA    0        1
// cb1                               cbuffer      NA          NA    1        1
// cb2                               cbuffer      NA          NA    2        1
// cb3                               cbuffer      NA          NA    3        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xy  
// TEXCOORD                 1   xyzw        1     NONE   float   xyz 
// TEXCOORD                 2   xyzw        2     NONE   float   xyz 
// TEXCOORD                 3   xyz         3     NONE   float   xyz 
// SV_POSITION              0   xyzw        4      POS   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer cb3[4], immediateIndexed
dcl_constantbuffer cb2[25], immediateIndexed
dcl_constantbuffer cb1[9], immediateIndexed
dcl_constantbuffer cb0[8], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_comparison
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.xyz
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.xyz
dcl_output o0.xyzw
dcl_temps 7
sample r0.xyzw, v0.xyxx, t0.xyzw, s0
mad r0.y, cb1[7].x, r0.x, cb1[7].y
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
add r0.z, -r0.y, r0.x
mad r0.y, cb1[8].w, r0.z, r0.y
add r1.xyz, -v2.xyzx, v3.xyzx
mad r0.xzw, r0.xxxx, r1.xxyz, v2.xxyz
mad r0.xzw, -v1.xxyz, r0.yyyy, r0.xxzw
mul r1.xyz, r0.yyyy, v1.xyzx
mad r0.xyz, cb1[8].wwww, r0.xzwx, r1.xyzx
ge r1.xyzw, r0.zzzz, cb2[6].xyzw
and r1.xyzw, r1.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
lt r2.xyzw, r0.zzzz, cb2[7].xyzw
and r2.xyzw, r2.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
mul r1.xyzw, r1.xyzw, r2.xyzw
mul r2.xyzw, r0.yyyy, cb3[1].xyzw
mad r2.xyzw, cb3[0].xyzw, r0.xxxx, r2.xyzw
mad r2.xyzw, cb3[2].xyzw, r0.zzzz, r2.xyzw
mad_sat r0.x, r0.z, cb2[24].z, cb2[24].w
add r2.xyzw, r2.xyzw, cb3[3].xyzw
mul r0.yzw, r2.yyyy, cb2[13].xxyz
mad r0.yzw, cb2[12].xxyz, r2.xxxx, r0.yyzw
mad r0.yzw, cb2[14].xxyz, r2.zzzz, r0.yyzw
mad r0.yzw, cb2[15].xxyz, r2.wwww, r0.yyzw
mul r0.yzw, r1.yyyy, r0.yyzw
mul r3.xyz, r2.yyyy, cb2[9].xyzx
mad r3.xyz, cb2[8].xyzx, r2.xxxx, r3.xyzx
mad r3.xyz, cb2[10].xyzx, r2.zzzz, r3.xyzx
mad r3.xyz, cb2[11].xyzx, r2.wwww, r3.xyzx
mad r0.yzw, r3.xxyz, r1.xxxx, r0.yyzw
mul r3.xyz, r2.yyyy, cb2[17].xyzx
mad r3.xyz, cb2[16].xyzx, r2.xxxx, r3.xyzx
mad r3.xyz, cb2[18].xyzx, r2.zzzz, r3.xyzx
mad r3.xyz, cb2[19].xyzx, r2.wwww, r3.xyzx
mad r0.yzw, r3.xxyz, r1.zzzz, r0.yyzw
mul r1.xyz, r2.yyyy, cb2[21].xyzx
mad r1.xyz, cb2[20].xyzx, r2.xxxx, r1.xyzx
mad r1.xyz, cb2[22].xyzx, r2.zzzz, r1.xyzx
mad r1.xyz, cb2[23].xyzx, r2.wwww, r1.xyzx
mad r0.yzw, r1.xxyz, r1.wwww, r0.yyzw
mad r0.yz, r0.yyzy, cb0[7].zzwz, l(0.000000, 0.500000, 0.500000, 0.000000)
frc r1.xy, r0.yzyy
round_ni r2.xyz, r0.yzyy
add r2.xyz, r2.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
mad r3.xyzw, r1.xyxy, l(-2.000000, -2.000000, -3.000000, -3.000000), l(3.000000, 3.000000, 4.000000, 4.000000)
add r0.yz, r1.xxyx, l(0.000000, 3.000000, 3.000000, 0.000000)
mul r4.xy, r0.yzyy, cb0[7].xyxx
mov r5.z, r4.y
mad r6.xyzw, r1.xyxx, l(3.000000, 3.000000, -3.000000, 3.000000), l(1.000000, 1.000000, 4.000000, 1.000000)
div r0.yz, r1.xxyx, r6.xxyx
add r5.xw, r0.yyyz, l(2.000000, 0.000000, 0.000000, 2.000000)
mov r4.w, r5.x
div r0.yz, r3.xxyx, r3.zzwz
add r5.xy, r0.yzyy, l(-2.000000, -2.000000, 0.000000, 0.000000)
mov r1.xz, cb0[7].yyyy
mov r1.y, l(0.142857149)
mul r1.xyz, r5.yzwy, r1.xyzx
mov r4.z, r5.x
mov r5.w, r1.x
mov r3.x, l(0.142857149)
mov r3.yz, cb0[7].xxxx
mul r5.xyz, r4.xzwx, r3.xyzx
mad r3.xyz, r2.zyzz, cb0[7].xyxx, r5.ywxy
mad r0.yz, r2.zzyz, cb0[7].xxyx, r5.zzwz
sample_c_lz r0.y, r0.yzyy, t1.xxxx, s1, r0.w
sample_c_lz r4.x, r3.zyzz, t1.xxxx, s1, r0.w
sample_c_lz r0.z, r3.xyxx, t1.xxxx, s1, r0.w
mov r4.yz, r6.zzwz
mul r3.xyz, r3.wwww, r4.yxzy
mul r1.x, r3.y, l(7.000000)
mad r0.z, r3.x, r0.z, r1.x
mad r0.y, r3.z, r0.y, r0.z
mov r1.w, r5.y
mad r3.xyz, r2.zyyz, cb0[7].xyyx, r1.wyzw
mov r5.yw, r1.yyyz
sample_c_lz r0.z, r3.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r1.x, r3.xzxx, t1.xxxx, s1, r0.w
mul r1.yz, r6.zzwz, l(0.000000, 7.000000, 7.000000, 0.000000)
mad r0.y, r1.y, r0.z, r0.y
mad r3.xyz, r2.zyzz, cb0[7].xyxx, r5.xyzx
mad r2.xyz, r2.xyzx, cb0[7].xyxx, r5.xwzx
sample_c_lz r0.z, r3.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r1.y, r3.zyzz, t1.xxxx, s1, r0.w
mad r0.y, r0.z, l(49.000000), r0.y
mad r0.y, r1.z, r1.y, r0.y
mov r4.w, l(7.000000)
mul r1.yzw, r6.yyyy, r4.yywz
mad r0.y, r1.y, r1.x, r0.y
sample_c_lz r0.z, r2.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r0.w, r2.zyzz, t1.xxxx, s1, r0.w
mad r0.y, r1.z, r0.z, r0.y
mad r0.y, r1.w, r0.w, r0.y
mul r0.y, r0.y, l(0.00694444450)
add r0.z, -cb2[24].x, l(1.000000)
mad r0.y, r0.y, r0.z, cb2[24].x
add o0.xyzw, r0.xxxx, r0.yyyy
ret 
// Approximately 97 instruction slots used

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