//Motion blur PS 2.
// ---- Created with 3Dmigoto v0.6.151 on Sat Apr  1 20:17:36 2023
Texture2D<uint4> t2 : register(t2);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

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

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




// 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,
  out float4 o1 : SV_Target1)
{
  float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r12,r13,r14,r22;
  uint4 bitmask, uiDest;
  float4 fDest;
  
  float4 stereo = StereoParams.Load(0);
  
  r0.xy = (int2)v0.xy;
  r1.xy = (uint2)r0.xy << int2(1,1);
  r0.zw = (int2)r1.xy;
  r2.xy = float2(0.5,0.5) + r0.zw;
  
  //Future block.
  r10.zw = cb12[271].xx * r0.zw;
  r13.xy = (uint2)r10.zw;
  r10.zw = cb12[23].zw * r2.xy;
  r10.zw = cb12[271].xx * r10.zw;
  r10.zw = r10.zw * float2(2,2) + float2(-1,-1);
  r12.xy = float2(1,-1) * r10.zw;
  r13.xy = r13.xy;
  r13.zw = float2(0,0);
  r14.x = t1.Load(r13.xyw).x;
  r22.w=r14.x;
  r13.x = t2.Load(r13.xyz).y;
  r22.y=r14.x;
  r13.x = (int)r13.x & 2;
  r12.z = r14.x * cb12[22].x + cb12[22].y;
  r22.z=r12.z;
  r12.w = 1;
  r13.y = dot(r12.xyzw, cb3[24].xyzw);
  r22.x=r13.y;
  r3.y = max(0.25, r13.y);
  r14.x = dot(r12.xyzw, cb3[21].xyzw);
  r14.y = dot(r12.xyzw, cb3[22].xyzw);
  r12.x = r12.z * cb12[21].x + cb12[21].y;
  r12.x = rcp(r12.x);
  r12.x = max(-3.40282347e+38, r12.x);
  r12.x = min(3.40282347e+38, r12.x);
  
  r22.x=r12.x;
  
  r12.yz = r14.xy / r13.yy;
  r10.zw = r0.zw * float2(1,-1) + -r12.yz;
  r10.zw = float2(0.5,-0.5) * r10.zw;
  r12.y = saturate(r12.x * cb3[0].z + cb3[0].w);
  r12.x = saturate(r12.x * cb3[1].z + cb3[1].w);
  r12.x = cb3[1].x * r12.x + cb3[1].y;
  r12.x = r13.x ? r12.x : 1;
  r12.y = cb3[0].x * r12.y + cb3[0].y;
  r13.xy = r12.yy * r10.zw;
  r10.zw = r13.xy * r12.xx;
  r10.zw = cb12[220].xy * r10.zw;
  r10.zw = cb12[271].yy * r10.zw;
  r10.z = dot(r10.zw, r10.zw);
  r10.z = sqrt(r10.z);
  r13.z = max(0.00999999978, r10.z);
  
  r0.z-=stereo.x*(1-stereo.y/r22.x);
  
  r0.zw = cb12[271].xx * r0.zw;
  r3.xy = (uint2)r0.zw;
  r0.zw = cb12[23].zw * r2.xy;
  
  r0.z-=stereo.x*(1-stereo.y/r22.x);
  
  r0.zw = cb12[271].xx * r0.zw;
  r0.zw = r0.zw * float2(2,2) + float2(-1,-1);
  r2.xy = float2(1,-1) * r0.zw;
  r3.zw = float2(0,0);
  r4.x = t1.Load(r3.xyw).x;
  r3.x = t2.Load(r3.xyz).y;
  r3.x = (int)r3.x & 2;
  r2.z = r4.x * cb12[22].x + cb12[22].y;
  r2.w = 1;
  r3.y = dot(r2.xyzw, cb3[24].xyzw);
  r3.y = max(0.25, r3.y);
  r4.x = dot(r2.xyzw, cb3[21].xyzw);
  r4.y = dot(r2.xyzw, cb3[22].xyzw);
  r2.x = r2.z * cb12[21].x + cb12[21].y;
  r2.x = rcp(r2.x);
  r2.x = max(-3.40282347e+38, r2.x);
  r2.x = min(3.40282347e+38, r2.x);
  r2.yz = r4.xy / r3.yy;
  r0.zw = r0.zw * float2(1,-1) + -r2.yz;
  r0.zw = float2(0.5,-0.5) * r0.zw;
  r2.y = saturate(r2.x * cb3[0].z + cb3[0].w);
  r2.x = saturate(r2.x * cb3[1].z + cb3[1].w);
  r2.x = cb3[1].x * r2.x + cb3[1].y;
  r2.x = r3.x ? r2.x : 1;
  r2.y = cb3[0].x * r2.y + cb3[0].y;
  r3.xy = r2.yy * r0.zw;
  r0.zw = r3.xy * r2.xx;
  r0.zw = cb12[220].xy * r0.zw;
  r0.zw = cb12[271].yy * r0.zw;
  r0.z = dot(r0.zw, r0.zw);
  r0.z = sqrt(r0.z);
  r3.z = max(0.00999999978, r0.z);
  bitmask.x = ((~(-1 << 31)) << 1) & 0xffffffff;  r2.x = (((uint)r0.x << 1) & bitmask.x) | ((uint)1 & ~bitmask.x);
  bitmask.y = ((~(-1 << 31)) << 1) & 0xffffffff;  r2.y = (((uint)r0.y << 1) & bitmask.y) | ((uint)0 & ~bitmask.y);
  bitmask.z = ((~(-1 << 31)) << 1) & 0xffffffff;  r2.z = (((uint)r0.x << 1) & bitmask.z) | ((uint)0 & ~bitmask.z);
  bitmask.w = ((~(-1 << 31)) << 1) & 0xffffffff;  r2.w = (((uint)r0.y << 1) & bitmask.w) | ((uint)1 & ~bitmask.w);
  bitmask.x = ((~(-1 << 31)) << 1) & 0xffffffff;  r0.x = (((uint)r0.x << 1) & bitmask.x) | ((uint)1 & ~bitmask.x);
  bitmask.y = ((~(-1 << 31)) << 1) & 0xffffffff;  r0.y = (((uint)r0.y << 1) & bitmask.y) | ((uint)1 & ~bitmask.y);
  r4.xyzw = (int4)r2.zwxy;
  r5.xyzw = float4(0.5,0.5,0.5,0.5) + r4.xyzw;
  r4.xyzw = cb12[271].xxxx * r4.xyzw;
  r4.xyzw = (uint4)r4.zwxy;
  r5.xyzw = cb12[23].zwzw * r5.xyzw;
  r5.xyzw = cb12[271].xxxx * r5.xyzw;
  r5.xyzw = r5.xyzw * float4(2,2,2,2) + float4(-1,-1,-1,-1);
  r6.xyzw = float4(1,-1,1,-1) * r5.zwxy;
  r7.xy = r6.zw;
  r8.xy = r4.zw;
  r8.zw = float2(0,0);
  r3.w = t1.Load(r8.xyw).x;
  r8.x = t2.Load(r8.xyz).y;
  r8.x = (int)r8.x & 2;
  r7.z = r3.w * cb12[22].x + cb12[22].y;
  r7.w = 1;
  r3.w = dot(r7.xyzw, cb3[24].xyzw);
  r3.w = max(0.25, r3.w);
  r9.x = dot(r7.xyzw, cb3[21].xyzw);
  r9.y = dot(r7.xyzw, cb3[22].xyzw);
  r7.x = r7.z * cb12[21].x + cb12[21].y;
  r7.x = rcp(r7.x);
  r7.x = max(-3.40282347e+38, r7.x);
  r7.x = min(3.40282347e+38, r7.x);
  r7.yz = r9.xy / r3.ww;
  r5.xy = r5.xy * float2(1,-1) + -r7.yz;
  r5.xy = float2(0.5,-0.5) * r5.xy;
  r3.w = saturate(r7.x * cb3[0].z + cb3[0].w);
  r7.x = saturate(r7.x * cb3[1].z + cb3[1].w);
  r7.x = cb3[1].x * r7.x + cb3[1].y;
  r7.x = r8.x ? r7.x : 1;
  r3.w = cb3[0].x * r3.w + cb3[0].y;
  r8.xy = r5.xy * r3.ww;
  r5.xy = r8.xy * r7.xx;
  r5.xy = cb12[220].xy * r5.xy;
  r5.xy = cb12[271].yy * r5.xy;
  r3.w = dot(r5.xy, r5.xy);
  r3.w = sqrt(r3.w);
  r8.z = max(0.00999999978, r3.w);
  r7.xy = r2.zw;
  r7.zw = float2(0,0);
  r7.xyz = t0.Load(r7.xyz).xyz;
  r7.xyz = r7.xyz * r8.zzz;
  r3.xyw = r8.xyz + r3.xyz;
  r1.zw = float2(0,0);
  r1.xyz = t0.Load(r1.xyz).xyz;
  r1.xyz = r1.xyz * r3.zzz + r7.xyz;
  r4.zw = float2(0,0);
  r1.w = t1.Load(r4.xyw).x;
  r3.z = t2.Load(r4.xyz).y;
  r3.z = (int)r3.z & 2;
  r6.z = r1.w * cb12[22].x + cb12[22].y;
  r6.w = 1;
  r1.w = dot(r6.xyzw, cb3[24].xyzw);
  r1.w = max(0.25, r1.w);
  r4.x = dot(r6.xyzw, cb3[21].xyzw);
  r4.y = dot(r6.xyzw, cb3[22].xyzw);
  r4.z = r6.z * cb12[21].x + cb12[21].y;
  r4.z = rcp(r4.z);
  r4.z = max(-3.40282347e+38, r4.z);
  r4.z = min(3.40282347e+38, r4.z);
  r4.xy = r4.xy / r1.ww;
  r4.xy = r5.zw * float2(1,-1) + -r4.xy;
  r4.xy = float2(0.5,-0.5) * r4.xy;
  r1.w = saturate(r4.z * cb3[0].z + cb3[0].w);
  r4.z = saturate(r4.z * cb3[1].z + cb3[1].w);
  r4.z = cb3[1].x * r4.z + cb3[1].y;
  r3.z = r3.z ? r4.z : 1;
  r1.w = cb3[0].x * r1.w + cb3[0].y;
  r4.xy = r4.xy * r1.ww;
  r5.xy = r4.xy * r3.zz;
  r5.xy = cb12[220].xy * r5.xy;
  r5.xy = cb12[271].yy * r5.xy;
  r1.w = dot(r5.xy, r5.xy);
  r1.w = sqrt(r1.w);
  r4.z = max(0.00999999978, r1.w);
  r2.zw = float2(0,0);
  r2.xyz = t0.Load(r2.xyz).xyz;
  r1.xyz = r2.xyz * r4.zzz + r1.xyz;
  r2.xyz = r4.xyz + r3.xyw;
  r3.xy = (int2)r0.xy;
  r3.zw = float2(0.5,0.5) + r3.xy;
  r3.xy = cb12[271].xx * r3.xy;
  r4.xy = (uint2)r3.xy;
  r3.xy = cb12[23].zw * r3.zw;
  
  r3.x-=stereo.x*(1-stereo.y/r22.x);
  
  r3.xy = cb12[271].xx * r3.xy;
  r3.xy = r3.xy * float2(2,2) + float2(-1,-1);
  r5.xy = float2(1,-1) * r3.xy;
  r4.zw = float2(0,0);
  r1.w = t1.Load(r4.xyw).x;
  r2.w = t2.Load(r4.xyz).y;
  r2.w = (int)r2.w & 2;
  r5.z = r1.w * cb12[22].x + cb12[22].y;
  r5.w = 1;
  r1.w = dot(r5.xyzw, cb3[24].xyzw);
  r1.w = max(0.25, r1.w);
  r4.x = dot(r5.xyzw, cb3[21].xyzw);
  r4.y = dot(r5.xyzw, cb3[22].xyzw);
  r3.z = r5.z * cb12[21].x + cb12[21].y;
  r3.z = rcp(r3.z);
  r3.z = max(-3.40282347e+38, r3.z);
  r3.z = min(3.40282347e+38, r3.z);
  r4.xy = r4.xy / r1.ww;
  r3.xy = r3.xy * float2(1,-1) + -r4.xy;
  r3.xy = float2(0.5,-0.5) * r3.xy;
  r1.w = saturate(r3.z * cb3[0].z + cb3[0].w);
  r3.z = saturate(r3.z * cb3[1].z + cb3[1].w);
  r3.z = cb3[1].x * r3.z + cb3[1].y;
  r2.w = r2.w ? r3.z : 1;
  r1.w = cb3[0].x * r1.w + cb3[0].y;
  r3.xy = r3.xy * r1.ww;
  r4.xy = r3.xy * r2.ww;
  r4.xy = cb12[220].xy * r4.xy;
  r4.xy = cb12[271].yy * r4.xy;
  r1.w = dot(r4.xy, r4.xy);
  r1.w = sqrt(r1.w);
  r3.z = max(0.00999999978, r1.w);
  r0.zw = float2(0,0);
  r0.xyz = t0.Load(r0.xyz).xyz;
  r0.xyz = r0.xyz * r3.zzz + r1.xyz;
  r1.xyz = r3.xyz + r2.xyz;
  r2.xyz = float3(0.25,0.25,0.25) * r0.xyz;
  r0.xyz = float3(0.25000003,0.25000003,0.25000003) * r0.xyz;
  r2.x = abs(r2.x) + abs(r2.y);
  r2.x = r2.x + abs(r2.z);
  r2.x = cmp(1.00000001e-07 < r2.x);
  r0.w = 4.00000048;
  o0.xyzw = r2.xxxx ? r0.xyzw : float4(0,0,0,1);
  r0.xy = r1.xy * float2(1.25,1.25) + float2(1,1);
  r0.xy = max(float2(0,0), r0.xy);
  o1.xy = min(float2(2,2), r0.xy);
  r1.w = 4;
  o1.zw = float2(0.25,1) * r1.zw;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.151 on Sat Apr  1 20:17:36 2023
//
//
// 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
// SV_Target                1   xyzw        1   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB3[25], immediateIndexed
dcl_constantbuffer CB12[272], immediateIndexed
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (uint,uint,uint,uint) t2
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 10
ftoi r0.xy, v0.xyxx
ishl r1.xy, r0.xyxx, l(1, 1, 0, 0)
itof r0.zw, r1.xxxy
add r2.xy, r0.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r0.zw, r0.zzzw, cb12[271].xxxx
ftou r3.xy, r0.zwzz
mul r0.zw, r2.xxxy, cb12[23].zzzw
mul r0.zw, r0.zzzw, cb12[271].xxxx
mad r0.zw, r0.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
mul r2.xy, r0.zwzz, l(1.000000, -1.000000, 0.000000, 0.000000)
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r4.x, r3.xyww, t1.xyzw
ld_indexable(texture2d)(uint,uint,uint,uint) r3.x, r3.xyzw, t2.yxzw
and r3.x, r3.x, l(2)
mad r2.z, r4.x, cb12[22].x, cb12[22].y
mov r2.w, l(1.000000)
dp4 r3.y, r2.xyzw, cb3[24].xyzw
max r3.y, r3.y, l(0.250000)
dp4 r4.x, r2.xyzw, cb3[21].xyzw
dp4 r4.y, r2.xyzw, cb3[22].xyzw
mad r2.x, r2.z, cb12[21].x, cb12[21].y
rcp r2.x, r2.x
max r2.x, r2.x, l(-340282346638528859811704183484516925440.000000)
min r2.x, r2.x, l(340282346638528859811704183484516925440.000000)
div r2.yz, r4.xxyx, r3.yyyy
mad r0.zw, r0.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000), -r2.yyyz
mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.500000, -0.500000)
mad_sat r2.y, r2.x, cb3[0].z, cb3[0].w
mad_sat r2.x, r2.x, cb3[1].z, cb3[1].w
mad r2.x, cb3[1].x, r2.x, cb3[1].y
movc r2.x, r3.x, r2.x, l(1.000000)
mad r2.y, cb3[0].x, r2.y, cb3[0].y
mul r3.xy, r0.zwzz, r2.yyyy
mul r0.zw, r2.xxxx, r3.xxxy
mul r0.zw, r0.zzzw, cb12[220].xxxy
mul r0.zw, r0.zzzw, cb12[271].yyyy
dp2 r0.z, r0.zwzz, r0.zwzz
sqrt r0.z, r0.z
max r3.z, r0.z, l(0.010000)
bfi r2.xyzw, l(31, 31, 31, 31), l(1, 1, 1, 1), r0.xyxy, l(1, 0, 0, 1)
bfi r0.xy, l(31, 31, 0, 0), l(1, 1, 0, 0), r0.xyxx, l(1, 1, 0, 0)
itof r4.xyzw, r2.zwxy
add r5.xyzw, r4.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
mul r4.xyzw, r4.xyzw, cb12[271].xxxx
ftou r4.xyzw, r4.zwxy
mul r5.xyzw, r5.xyzw, cb12[23].zwzw
mul r5.xyzw, r5.xyzw, cb12[271].xxxx
mad r5.xyzw, r5.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
mul r6.xyzw, r5.zwxy, l(1.000000, -1.000000, 1.000000, -1.000000)
mov r7.xy, r6.zwzz
mov r8.xy, r4.zwzz
mov r8.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.w, r8.xyww, t1.yzwx
ld_indexable(texture2d)(uint,uint,uint,uint) r8.x, r8.xyzw, t2.yxzw
and r8.x, r8.x, l(2)
mad r7.z, r3.w, cb12[22].x, cb12[22].y
mov r7.w, l(1.000000)
dp4 r3.w, r7.xyzw, cb3[24].xyzw
max r3.w, r3.w, l(0.250000)
dp4 r9.x, r7.xyzw, cb3[21].xyzw
dp4 r9.y, r7.xyzw, cb3[22].xyzw
mad r7.x, r7.z, cb12[21].x, cb12[21].y
rcp r7.x, r7.x
max r7.x, r7.x, l(-340282346638528859811704183484516925440.000000)
min r7.x, r7.x, l(340282346638528859811704183484516925440.000000)
div r7.yz, r9.xxyx, r3.wwww
mad r5.xy, r5.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), -r7.yzyy
mul r5.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
mad_sat r3.w, r7.x, cb3[0].z, cb3[0].w
mad_sat r7.x, r7.x, cb3[1].z, cb3[1].w
mad r7.x, cb3[1].x, r7.x, cb3[1].y
movc r7.x, r8.x, r7.x, l(1.000000)
mad r3.w, cb3[0].x, r3.w, cb3[0].y
mul r8.xy, r3.wwww, r5.xyxx
mul r5.xy, r7.xxxx, r8.xyxx
mul r5.xy, r5.xyxx, cb12[220].xyxx
mul r5.xy, r5.xyxx, cb12[271].yyyy
dp2 r3.w, r5.xyxx, r5.xyxx
sqrt r3.w, r3.w
max r8.z, r3.w, l(0.010000)
mov r7.xy, r2.zwzz
mov r7.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r7.xyz, r7.xyzw, t0.xyzw
mul r7.xyz, r8.zzzz, r7.xyzx
add r3.xyw, r3.xyxz, r8.xyxz
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyzw, t0.xyzw
mad r1.xyz, r1.xyzx, r3.zzzz, r7.xyzx
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.w, r4.xyww, t1.yzwx
ld_indexable(texture2d)(uint,uint,uint,uint) r3.z, r4.xyzw, t2.xzyw
and r3.z, r3.z, l(2)
mad r6.z, r1.w, cb12[22].x, cb12[22].y
mov r6.w, l(1.000000)
dp4 r1.w, r6.xyzw, cb3[24].xyzw
max r1.w, r1.w, l(0.250000)
dp4 r4.x, r6.xyzw, cb3[21].xyzw
dp4 r4.y, r6.xyzw, cb3[22].xyzw
mad r4.z, r6.z, cb12[21].x, cb12[21].y
rcp r4.z, r4.z
max r4.z, r4.z, l(-340282346638528859811704183484516925440.000000)
min r4.z, r4.z, l(340282346638528859811704183484516925440.000000)
div r4.xy, r4.xyxx, r1.wwww
mad r4.xy, r5.zwzz, l(1.000000, -1.000000, 0.000000, 0.000000), -r4.xyxx
mul r4.xy, r4.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
mad_sat r1.w, r4.z, cb3[0].z, cb3[0].w
mad_sat r4.z, r4.z, cb3[1].z, cb3[1].w
mad r4.z, cb3[1].x, r4.z, cb3[1].y
movc r3.z, r3.z, r4.z, l(1.000000)
mad r1.w, cb3[0].x, r1.w, cb3[0].y
mul r4.xy, r1.wwww, r4.xyxx
mul r5.xy, r3.zzzz, r4.xyxx
mul r5.xy, r5.xyxx, cb12[220].xyxx
mul r5.xy, r5.xyxx, cb12[271].yyyy
dp2 r1.w, r5.xyxx, r5.xyxx
sqrt r1.w, r1.w
max r4.z, r1.w, l(0.010000)
mov r2.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r2.xyz, r2.xyzw, t0.xyzw
mad r1.xyz, r2.xyzx, r4.zzzz, r1.xyzx
add r2.xyz, r3.xywx, r4.xyzx
itof r3.xy, r0.xyxx
add r3.zw, r3.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
mul r3.xy, r3.xyxx, cb12[271].xxxx
ftou r4.xy, r3.xyxx
mul r3.xy, r3.zwzz, cb12[23].zwzz
mul r3.xy, r3.xyxx, cb12[271].xxxx
mad r3.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r5.xy, r3.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.w, r4.xyww, t1.yzwx
ld_indexable(texture2d)(uint,uint,uint,uint) r2.w, r4.xyzw, t2.xzwy
and r2.w, r2.w, l(2)
mad r5.z, r1.w, cb12[22].x, cb12[22].y
mov r5.w, l(1.000000)
dp4 r1.w, r5.xyzw, cb3[24].xyzw
max r1.w, r1.w, l(0.250000)
dp4 r4.x, r5.xyzw, cb3[21].xyzw
dp4 r4.y, r5.xyzw, cb3[22].xyzw
mad r3.z, r5.z, cb12[21].x, cb12[21].y
rcp r3.z, r3.z
max r3.z, r3.z, l(-340282346638528859811704183484516925440.000000)
min r3.z, r3.z, l(340282346638528859811704183484516925440.000000)
div r4.xy, r4.xyxx, r1.wwww
mad r3.xy, r3.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), -r4.xyxx
mul r3.xy, r3.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
mad_sat r1.w, r3.z, cb3[0].z, cb3[0].w
mad_sat r3.z, r3.z, cb3[1].z, cb3[1].w
mad r3.z, cb3[1].x, r3.z, cb3[1].y
movc r2.w, r2.w, r3.z, l(1.000000)
mad r1.w, cb3[0].x, r1.w, cb3[0].y
mul r3.xy, r1.wwww, r3.xyxx
mul r4.xy, r2.wwww, r3.xyxx
mul r4.xy, r4.xyxx, cb12[220].xyxx
mul r4.xy, r4.xyxx, cb12[271].yyyy
dp2 r1.w, r4.xyxx, r4.xyxx
sqrt r1.w, r1.w
max r3.z, r1.w, l(0.010000)
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyzw, t0.xyzw
mad r0.xyz, r0.xyzx, r3.zzzz, r1.xyzx
add r1.xyz, r2.xyzx, r3.xyzx
mul r2.xyz, r0.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mul r0.xyz, r0.xyzx, l(0.250000030, 0.250000030, 0.250000030, 0.000000)
add r2.x, |r2.y|, |r2.x|
add r2.x, |r2.z|, r2.x
lt r2.x, l(1.000000012E-07), r2.x
mov r0.w, l(4.00000048)
movc o0.xyzw, r2.xxxx, r0.xyzw, l(0,0,0,1.000000)
mad r0.xy, r1.xyxx, l(1.250000, 1.250000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
max r0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
min o1.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
mov r1.w, l(4.000000)
mul o1.zw, r1.zzzw, l(0.000000, 0.000000, 0.250000, 1.000000)
ret
// Approximately 0 instruction slots used

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