// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.151 on Sat Apr  1 22:05:19 2023
//
//
// Buffer Definitions:
//
// cbuffer cb12
// {
//
//   float4 cb12[272];                  // Index:    0-271            Components:  1088
//
// }
//
// cbuffer cb3
// {
//
//   float4 cb3[25];                    // Index:    0-24             Components:   100
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// t2                                texture   uint4          2d    2        1
// StereoParams                      texture  float4          2d  125        1
// cb3                               cbuffer      NA          NA    3        1
// cb12                              cbuffer      NA          NA   12        1
//
//
//
// 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 CB12[272], immediateIndexed
dcl_constantbuffer CB3[25], 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_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 9
mov r0.zw, l(0,0,0,0)
round_z r1.xy, v0.xyxx
ftou r1.xy, r1.xyxx
ishl r1.zw, r1.xxxy, l(0, 0, 1, 1)
bfi r1.xy, l(31, 31, 0, 0), l(1, 1, 0, 0), r1.xyxx, l(1, 1, 0, 0)
utof r2.xw, r1.xxxy
utof r1.yz, r1.zzwz
mul r3.xy, r1.yzyy, cb12[271].xxxx
ftou r3.xy, r3.xyxx
utof r3.xy, r3.xyxx
ftoi r0.xy, r3.xyxx
ld_indexable(texture2d)(float,float,float,float) r0.x, r0.xyzw, t1.xyzw
mad r0.x, r0.x, cb12[22].x, cb12[22].y
mad r0.x, r0.x, cb12[21].x, cb12[21].y
rcp r0.x, r0.x
max r0.x, r0.x, l(-340282346638528859811704183484516925440.000000)
min r0.x, r0.x, l(340282346638528859811704183484516925440.000000)
ld_indexable(buffer)(float,float,float,float) r0.yz, l(0, 0, 0, 0), t125.zxyw
div r0.x, r0.z, r0.x
add r0.x, -r0.x, l(1.000000)
mad r1.x, -r0.y, r0.x, r1.y
mul r0.x, r0.x, r0.y
mul r0.yz, r1.xxzx, cb12[271].xxxx
ftou r0.yz, r0.yyzy
utof r0.yz, r0.yyzy
ftoi r3.xy, r0.yzyy
mov r3.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.y, r3.xyww, t1.yxzw
ld_indexable(texture2d)(uint,uint,uint,uint) r0.z, r3.xyzw, t2.xzyw
utof r0.z, r0.z
ftoi r0.z, r0.z
and r0.z, r0.z, l(2)
itof r0.z, r0.z
ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), r0.z
mad r3.z, r0.y, cb12[22].x, cb12[22].y
add r0.yw, r1.yyyz, l(0.000000, 0.500000, 0.000000, 0.500000)
mad r4.x, cb12[23].z, r0.y, -r0.x
mul r4.z, r0.w, cb12[23].w
mul r0.yw, r4.xxxz, cb12[271].xxxx
mad r0.yw, r0.yyyw, l(0.000000, 2.000000, 0.000000, 2.000000), l(0.000000, -1.000000, 0.000000, -1.000000)
mul r3.xy, r0.ywyy, l(1.000000, -1.000000, 0.000000, 0.000000)
mov r3.w, l(1.000000)
dp4 r1.x, r3.xyzw, cb3[24].xyzw
dp4 r4.x, r3.xyzw, cb3[21].xyzw
dp4 r4.y, r3.xyzw, cb3[22].xyzw
mad r1.w, r3.z, cb12[21].x, cb12[21].y
rcp r1.w, r1.w
max r1.xw, r1.xxxw, l(0.250000, 0.000000, 0.000000, -340282346638528859811704183484516925440.000000)
min r1.w, r1.w, l(340282346638528859811704183484516925440.000000)
div r3.xy, r4.xyxx, r1.xxxx
mad r0.yw, r0.yyyw, l(0.000000, 1.000000, 0.000000, -1.000000), -r3.xxxy
mul r0.yw, r0.yyyw, l(0.000000, 0.500000, 0.000000, -0.500000)
mad_sat r1.x, r1.w, cb3[0].z, cb3[0].w
mad_sat r1.w, r1.w, cb3[1].z, cb3[1].w
mad r1.w, cb3[1].x, r1.w, cb3[1].y
movc r0.z, r0.z, r1.w, l(1.000000)
mad r1.x, cb3[0].x, r1.x, cb3[0].y
mul r3.xy, r0.ywyy, r1.xxxx
mul r0.yz, r0.zzzz, r3.xxyx
mul r0.yz, r0.yyzy, cb12[220].xxyx
mul r0.yz, r0.yyzy, cb12[271].yyyy
dp2 r0.y, r0.yzyy, r0.yzyy
sqrt r0.y, r0.y
max r3.z, r0.y, l(0.010000)
mov r2.yz, r1.zzyz
mul r4.xyzw, r2.xyzw, cb12[271].xxxx
add r5.xyzw, r2.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
ftou r4.xyzw, r4.xyzw
utof r4.xyzw, r4.xyzw
ftoi r6.xy, r4.zwzz
mov r6.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.y, r6.xyww, t1.yxzw
ld_indexable(texture2d)(uint,uint,uint,uint) r0.z, r6.xyzw, t2.xzyw
utof r0.z, r0.z
ftoi r0.z, r0.z
and r0.z, r0.z, l(2)
itof r0.z, r0.z
ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), r0.z
mad r6.z, r0.y, cb12[22].x, cb12[22].y
mul r7.xyzw, r5.xyzw, cb12[23].zwzw
mad r0.x, cb12[23].z, r5.x, -r0.x
mul r5.xyzw, r7.xyzw, cb12[271].xxxx
mov r0.y, r7.w
mul r0.xy, r0.xyxx, cb12[271].xxxx
mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mad r5.xyzw, r5.xyzw, l(2.000000, 2.000000, 2.000000, 2.000000), l(-1.000000, -1.000000, -1.000000, -1.000000)
mul r7.xyzw, r5.xyzw, l(1.000000, -1.000000, 1.000000, -1.000000)
mov r6.xy, r7.zwzz
mov r6.w, l(1.000000)
dp4 r0.w, r6.xyzw, cb3[24].xyzw
max r0.w, r0.w, l(0.250000)
dp4 r8.x, r6.xyzw, cb3[21].xyzw
dp4 r8.y, r6.xyzw, cb3[22].xyzw
mad r1.x, r6.z, cb12[21].x, cb12[21].y
rcp r1.x, r1.x
max r1.x, r1.x, l(-340282346638528859811704183484516925440.000000)
min r1.x, r1.x, l(340282346638528859811704183484516925440.000000)
div r2.yz, r8.xxyx, r0.wwww
mad r2.yz, r5.zzwz, l(0.000000, 1.000000, -1.000000, 0.000000), -r2.yyzy
mul r2.yz, r2.yyzy, l(0.000000, 0.500000, -0.500000, 0.000000)
mad_sat r0.w, r1.x, cb3[0].z, cb3[0].w
mad_sat r1.x, r1.x, cb3[1].z, cb3[1].w
mad r1.x, cb3[1].x, r1.x, cb3[1].y
movc r0.z, r0.z, r1.x, l(1.000000)
mad r0.w, cb3[0].x, r0.w, cb3[0].y
mul r6.xy, r0.wwww, r2.yzyy
mul r0.zw, r0.zzzz, r6.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 r6.z, r0.z, l(0.010000)
ftoi r8.x, r1.y
ftoi r8.y, r2.w
mov r8.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r8.xyz, r8.xyzw, t0.xyzw
mul r8.xyz, r6.zzzz, r8.xyzx
add r3.xyw, r3.xyxz, r6.xyxz
ftoi r6.xy, r1.yzyy
ftoi r1.y, r1.z
mov r6.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r6.xyz, r6.xyzw, t0.xyzw
mad r6.xyz, r6.xyzx, r3.zzzz, r8.xyzx
ftoi r8.xy, r4.xyxx
ftoi r4.xy, r4.xwxx
mov r8.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.z, r8.xyww, t1.yzxw
ld_indexable(texture2d)(uint,uint,uint,uint) r0.w, r8.xyzw, t2.xzwy
utof r0.w, r0.w
ftoi r0.w, r0.w
and r0.w, r0.w, l(2)
itof r0.w, r0.w
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), r0.w
mad r7.z, r0.z, cb12[22].x, cb12[22].y
mov r7.w, l(1.000000)
dp4 r0.z, r7.xyzw, cb3[24].xyzw
max r0.z, r0.z, l(0.250000)
dp4 r8.x, r7.xyzw, cb3[21].xyzw
dp4 r8.y, r7.xyzw, cb3[22].xyzw
mad r2.y, r7.z, cb12[21].x, cb12[21].y
rcp r2.y, r2.y
max r2.y, r2.y, l(-340282346638528859811704183484516925440.000000)
min r2.y, r2.y, l(340282346638528859811704183484516925440.000000)
div r5.zw, r8.xxxy, r0.zzzz
mad r5.xy, r5.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), -r5.zwzz
mul r5.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
mad_sat r0.z, r2.y, cb3[0].z, cb3[0].w
mad_sat r2.y, r2.y, cb3[1].z, cb3[1].w
mad r2.y, cb3[1].x, r2.y, cb3[1].y
movc r0.w, r0.w, r2.y, l(1.000000)
mad r0.z, cb3[0].x, r0.z, cb3[0].y
mul r5.xy, r0.zzzz, r5.xyxx
mul r0.zw, r0.wwww, r5.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 r5.z, r0.z, l(0.010000)
ftoi r1.x, r2.x
ftoi r2.xy, r2.xwxx
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, r5.zzzz, r6.xyzx
add r3.xyz, r3.xywx, r5.xyzx
mul r5.xy, r0.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) r0.z, r4.xyww, t1.yzxw
ld_indexable(texture2d)(uint,uint,uint,uint) r0.w, r4.xyzw, t2.xzwy
utof r0.w, r0.w
ftoi r0.w, r0.w
and r0.w, r0.w, l(2)
itof r0.w, r0.w
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), r0.w
mad r5.z, r0.z, cb12[22].x, cb12[22].y
mov r5.w, l(1.000000)
dp4 r0.z, r5.xyzw, cb3[24].xyzw
max r0.z, r0.z, l(0.250000)
dp4 r4.x, r5.xyzw, cb3[21].xyzw
dp4 r4.y, r5.xyzw, cb3[22].xyzw
mad r1.w, r5.z, cb12[21].x, cb12[21].y
rcp r1.w, r1.w
max r1.w, r1.w, l(-340282346638528859811704183484516925440.000000)
min r1.w, r1.w, l(340282346638528859811704183484516925440.000000)
div r4.xy, r4.xyxx, r0.zzzz
mad r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), -r4.xyxx
mul r0.xy, r0.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
mad_sat r0.z, r1.w, cb3[0].z, cb3[0].w
mad_sat r1.w, r1.w, cb3[1].z, cb3[1].w
mad r1.w, cb3[1].x, r1.w, cb3[1].y
movc r0.w, r0.w, r1.w, l(1.000000)
mad r0.z, cb3[0].x, r0.z, cb3[0].y
mul r0.xy, r0.zzzz, r0.xyxx
mul r4.xy, r0.wwww, r0.xyxx
mul r4.xy, r4.xyxx, cb12[220].xyxx
mul r4.xy, r4.xyxx, cb12[271].yyyy
dp2 r0.w, r4.xyxx, r4.xyxx
sqrt r0.w, r0.w
max r0.z, r0.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, r0.zzzz, r1.xyzx
add r0.xyz, r3.xyzx, r0.xyzx
mul r2.xyz, r1.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mul r1.xyz, r1.xyzx, l(0.250000030, 0.250000030, 0.250000030, 0.000000)
add r0.w, |r2.y|, |r2.x|
add r0.w, |r2.z|, r0.w
lt r0.w, l(1.000000012E-07), r0.w
mov r1.w, l(4.00000048)
movc o0.xyzw, r0.wwww, r1.xyzw, l(0,0,0,1.000000)
mad r0.xy, r0.xyxx, l(1.250000, 1.250000, 0.000000, 0.000000), l(1.000000, 1.000000, 0.000000, 0.000000)
mul o1.z, r0.z, l(0.250000)
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 o1.w, l(4.000000)
ret
// Approximately 215 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.151 on Sat Apr  1 22:05:19 2023
//
// cbuffer cb12 : register(b12)
// {
//   float4 cb12[272] : packoffset(c0);
// }
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3[25] : packoffset(c0);
// }
//
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<uint4> t2 : register(t2);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<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;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.zw = float2(0,0);
//   r1.xy = trunc(v0.xy);
//   r1.xy = (uint2)r1.xy;
//   r1.zw = (uint2)r1.xy << int2(1,1);
//   bitmask.x = ((~(-1 << 31)) << 1) & 0xffffffff;  r1.x = (((uint)r1.x << 1) & bitmask.x) | ((uint)1 & ~bitmask.x);
//   bitmask.y = ((~(-1 << 31)) << 1) & 0xffffffff;  r1.y = (((uint)r1.y << 1) & bitmask.y) | ((uint)1 & ~bitmask.y);
//   r2.xw = (uint2)r1.xy;
//   r1.yz = (uint2)r1.zw;
//   r3.xy = cb12[271].xx * r1.yz;
//   r3.xy = (uint2)r3.xy;
//   r3.xy = (uint2)r3.xy;
//   r0.xy = (int2)r3.xy;
//   r0.x = t1.Load(r0.xyz).x;
//   r0.x = r0.x * cb12[22].x + cb12[22].y;
//   r0.x = r0.x * cb12[21].x + cb12[21].y;
//   r0.x = rcp(r0.x);
//   r0.x = max(-3.40282347e+38, r0.x);
//   r0.x = min(3.40282347e+38, r0.x);
//   r0.yz = StereoParams.Load(float4(0,0,0,0)).xy;
//   r0.x = r0.z / r0.x;
//   r0.x = 1 + -r0.x;
//   r1.x = -r0.y * r0.x + r1.y;
//   r0.x = r0.y * r0.x;
//   r0.yz = cb12[271].xx * r1.xz;
//   r0.yz = (uint2)r0.yz;
//   r0.yz = (uint2)r0.yz;
//   r3.xy = (int2)r0.yz;
//   r3.zw = float2(0,0);
//   r0.y = t1.Load(r3.xyw).x;
//   r0.z = t2.Load(r3.xyz).y;
//   r0.z = (uint)r0.z;
//   r0.z = (int)r0.z;
//   r0.z = (int)r0.z & 2;
//   r0.z = (int)r0.z;
//   r0.z = cmp(0 != r0.z);
//   r3.z = r0.y * cb12[22].x + cb12[22].y;
//   r0.yw = float2(0.5,0.5) + r1.yz;
//   r4.x = cb12[23].z * r0.y + -r0.x;
//   r4.z = cb12[23].w * r0.w;
//   r0.yw = cb12[271].xx * r4.xz;
//   r0.yw = r0.yw * float2(2,2) + float2(-1,-1);
//   r3.xy = float2(1,-1) * r0.yw;
//   r3.w = 1;
//   r1.x = dot(r3.xyzw, cb3[24].xyzw);
//   r4.x = dot(r3.xyzw, cb3[21].xyzw);
//   r4.y = dot(r3.xyzw, cb3[22].xyzw);
//   r1.w = r3.z * cb12[21].x + cb12[21].y;
//   r1.w = rcp(r1.w);
//   r1.xw = max(float2(0.25,-3.40282347e+38), r1.xw);
//   r1.w = min(3.40282347e+38, r1.w);
//   r3.xy = r4.xy / r1.xx;
//   r0.yw = r0.yw * float2(1,-1) + -r3.xy;
//   r0.yw = float2(0.5,-0.5) * r0.yw;
//   r1.x = saturate(r1.w * cb3[0].z + cb3[0].w);
//   r1.w = saturate(r1.w * cb3[1].z + cb3[1].w);
//   r1.w = cb3[1].x * r1.w + cb3[1].y;
//   r0.z = r0.z ? r1.w : 1;
//   r1.x = cb3[0].x * r1.x + cb3[0].y;
//   r3.xy = r1.xx * r0.yw;
//   r0.yz = r3.xy * r0.zz;
//   r0.yz = cb12[220].xy * r0.yz;
//   r0.yz = cb12[271].yy * r0.yz;
//   r0.y = dot(r0.yz, r0.yz);
//   r0.y = sqrt(r0.y);
//   r3.z = max(0.00999999978, r0.y);
//   r2.yz = r1.zy;
//   r4.xyzw = cb12[271].xxxx * r2.xyzw;
//   r5.xyzw = float4(0.5,0.5,0.5,0.5) + r2.xyzw;
//   r4.xyzw = (uint4)r4.xyzw;
//   r4.xyzw = (uint4)r4.xyzw;
//   r6.xy = (int2)r4.zw;
//   r6.zw = float2(0,0);
//   r0.y = t1.Load(r6.xyw).x;
//   r0.z = t2.Load(r6.xyz).y;
//   r0.z = (uint)r0.z;
//   r0.z = (int)r0.z;
//   r0.z = (int)r0.z & 2;
//   r0.z = (int)r0.z;
//   r0.z = cmp(0 != r0.z);
//   r6.z = r0.y * cb12[22].x + cb12[22].y;
//   r7.xyzw = cb12[23].zwzw * r5.xyzw;
//   r0.x = cb12[23].z * r5.x + -r0.x;
//   r5.xyzw = cb12[271].xxxx * r7.xyzw;
//   r0.y = r7.w;
//   r0.xy = cb12[271].xx * r0.xy;
//   r0.xy = r0.xy * float2(2,2) + float2(-1,-1);
//   r5.xyzw = r5.xyzw * float4(2,2,2,2) + float4(-1,-1,-1,-1);
//   r7.xyzw = float4(1,-1,1,-1) * r5.xyzw;
//   r6.xy = r7.zw;
//   r6.w = 1;
//   r0.w = dot(r6.xyzw, cb3[24].xyzw);
//   r0.w = max(0.25, r0.w);
//   r8.x = dot(r6.xyzw, cb3[21].xyzw);
//   r8.y = dot(r6.xyzw, cb3[22].xyzw);
//   r1.x = r6.z * cb12[21].x + cb12[21].y;
//   r1.x = rcp(r1.x);
//   r1.x = max(-3.40282347e+38, r1.x);
//   r1.x = min(3.40282347e+38, r1.x);
//   r2.yz = r8.xy / r0.ww;
//   r2.yz = r5.zw * float2(1,-1) + -r2.yz;
//   r2.yz = float2(0.5,-0.5) * r2.yz;
//   r0.w = saturate(r1.x * cb3[0].z + cb3[0].w);
//   r1.x = saturate(r1.x * cb3[1].z + cb3[1].w);
//   r1.x = cb3[1].x * r1.x + cb3[1].y;
//   r0.z = r0.z ? r1.x : 1;
//   r0.w = cb3[0].x * r0.w + cb3[0].y;
//   r6.xy = r2.yz * r0.ww;
//   r0.zw = r6.xy * r0.zz;
//   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);
//   r6.z = max(0.00999999978, r0.z);
//   r8.x = (int)r1.y;
//   r8.y = (int)r2.w;
//   r8.zw = float2(0,0);
//   r8.xyz = t0.Load(r8.xyz).xyz;
//   r8.xyz = r8.xyz * r6.zzz;
//   r3.xyw = r6.xyz + r3.xyz;
//   r6.xy = (int2)r1.yz;
//   r1.y = (int)r1.z;
//   r6.zw = float2(0,0);
//   r6.xyz = t0.Load(r6.xyz).xyz;
//   r6.xyz = r6.xyz * r3.zzz + r8.xyz;
//   r8.xy = (int2)r4.xy;
//   r4.xy = (int2)r4.xw;
//   r8.zw = float2(0,0);
//   r0.z = t1.Load(r8.xyw).x;
//   r0.w = t2.Load(r8.xyz).y;
//   r0.w = (uint)r0.w;
//   r0.w = (int)r0.w;
//   r0.w = (int)r0.w & 2;
//   r0.w = (int)r0.w;
//   r0.w = cmp(0 != r0.w);
//   r7.z = r0.z * cb12[22].x + cb12[22].y;
//   r7.w = 1;
//   r0.z = dot(r7.xyzw, cb3[24].xyzw);
//   r0.z = max(0.25, r0.z);
//   r8.x = dot(r7.xyzw, cb3[21].xyzw);
//   r8.y = dot(r7.xyzw, cb3[22].xyzw);
//   r2.y = r7.z * cb12[21].x + cb12[21].y;
//   r2.y = rcp(r2.y);
//   r2.y = max(-3.40282347e+38, r2.y);
//   r2.y = min(3.40282347e+38, r2.y);
//   r5.zw = r8.xy / r0.zz;
//   r5.xy = r5.xy * float2(1,-1) + -r5.zw;
//   r5.xy = float2(0.5,-0.5) * r5.xy;
//   r0.z = saturate(r2.y * cb3[0].z + cb3[0].w);
//   r2.y = saturate(r2.y * cb3[1].z + cb3[1].w);
//   r2.y = cb3[1].x * r2.y + cb3[1].y;
//   r0.w = r0.w ? r2.y : 1;
//   r0.z = cb3[0].x * r0.z + cb3[0].y;
//   r5.xy = r5.xy * r0.zz;
//   r0.zw = r5.xy * r0.ww;
//   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);
//   r5.z = max(0.00999999978, r0.z);
//   r1.x = (int)r2.x;
//   r2.xy = (int2)r2.xw;
//   r1.zw = float2(0,0);
//   r1.xyz = t0.Load(r1.xyz).xyz;
//   r1.xyz = r1.xyz * r5.zzz + r6.xyz;
//   r3.xyz = r5.xyz + r3.xyw;
//   r5.xy = float2(1,-1) * r0.xy;
//   r4.zw = float2(0,0);
//   r0.z = t1.Load(r4.xyw).x;
//   r0.w = t2.Load(r4.xyz).y;
//   r0.w = (uint)r0.w;
//   r0.w = (int)r0.w;
//   r0.w = (int)r0.w & 2;
//   r0.w = (int)r0.w;
//   r0.w = cmp(0 != r0.w);
//   r5.z = r0.z * cb12[22].x + cb12[22].y;
//   r5.w = 1;
//   r0.z = dot(r5.xyzw, cb3[24].xyzw);
//   r0.z = max(0.25, r0.z);
//   r4.x = dot(r5.xyzw, cb3[21].xyzw);
//   r4.y = dot(r5.xyzw, cb3[22].xyzw);
//   r1.w = r5.z * cb12[21].x + cb12[21].y;
//   r1.w = rcp(r1.w);
//   r1.w = max(-3.40282347e+38, r1.w);
//   r1.w = min(3.40282347e+38, r1.w);
//   r4.xy = r4.xy / r0.zz;
//   r0.xy = r0.xy * float2(1,-1) + -r4.xy;
//   r0.xy = float2(0.5,-0.5) * r0.xy;
//   r0.z = saturate(r1.w * cb3[0].z + cb3[0].w);
//   r1.w = saturate(r1.w * cb3[1].z + cb3[1].w);
//   r1.w = cb3[1].x * r1.w + cb3[1].y;
//   r0.w = r0.w ? r1.w : 1;
//   r0.z = cb3[0].x * r0.z + cb3[0].y;
//   r0.xy = r0.xy * r0.zz;
//   r4.xy = r0.xy * r0.ww;
//   r4.xy = cb12[220].xy * r4.xy;
//   r4.xy = cb12[271].yy * r4.xy;
//   r0.w = dot(r4.xy, r4.xy);
//   r0.w = sqrt(r0.w);
//   r0.z = max(0.00999999978, r0.w);
//   r2.zw = float2(0,0);
//   r2.xyz = t0.Load(r2.xyz).xyz;
//   r1.xyz = r2.xyz * r0.zzz + r1.xyz;
//   r0.xyz = r0.xyz + r3.xyz;
//   r2.xyz = float3(0.25,0.25,0.25) * r1.xyz;
//   r1.xyz = float3(0.25000003,0.25000003,0.25000003) * r1.xyz;
//   r0.w = abs(r2.x) + abs(r2.y);
//   r0.w = r0.w + abs(r2.z);
//   r0.w = cmp(1.00000001e-07 < r0.w);
//   r1.w = 4.00000048;
//   o0.xyzw = r0.wwww ? r1.xyzw : float4(0,0,0,1);
//   r0.xy = r0.xy * float2(1.25,1.25) + float2(1,1);
//   o1.z = 0.25 * r0.z;
//   r0.xy = max(float2(0,0), r0.xy);
//   o1.xy = min(float2(2,2), r0.xy);
//   o1.w = 4;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
