//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   sampler2D g_AlbedoTex;
//   float4 g_FadeColor;
//   
//   struct
//   {
//       float4 posDirRadius;
//       float4 color;
//       float4 params1;
//       float4 params2;
//
//   } g_Light;
//   
//   sampler2D g_NormalsTex;
//   
//   struct
//   {
//       float4 MinRangeX;
//       float4 MinRangeY;
//       float4 MaxRangeX;
//       float4 MaxRangeY;
//       row_major float4x4 eye2lightMtx;
//       float4 OrthoShiftU;
//       float4 OrthoShiftV;
//       float4 OrthoShiftZ;
//       float4 OrthoScaleU;
//       float4 OrthoScaleV;
//       float4 OrthoScaleZ;
//       float4 softShadowFixedSpread;
//       float4 softShadowSpreadRatio;
//       float4 noiseScale;
//
//   } g_Parallel;
//   
//   sampler2D g_ProjectedTex;
//   sampler2D g_SceneDepthTex;
//   
//   struct
//   {
//       float4 shadowFactors;
//       float4 lightDirPos;
//       float4 params;
//
//   } g_ShadowCommon;
//   
//   sampler2D g_ShadowMapTex;
//   float4 g_fogParams1;
//   float4 g_fogParams2;
//   float4 g_fogParams3;
//   float4 g_fogParams4;
//   float4 g_projectedTexCoordUAxis;
//   float4 g_projectedTexCoordVAxis;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   g_ShadowCommon           c150     1
//   g_Parallel               c153    14
//   g_Light                  c180     4
//   g_projectedTexCoordUAxis c188     1
//   g_projectedTexCoordVAxis c189     1
//   g_FadeColor              c190     1
//   g_fogParams1             c200     1
//   g_fogParams2             c201     1
//   g_fogParams3             c202     1
//   g_fogParams4             c203     1
//   g_SceneDepthTex          s0       1
//   g_NormalsTex             s2       1
//   g_ShadowMapTex           s4       1
//   g_AlbedoTex              s6       1
//   g_ProjectedTex           s7       1
//

    ps_3_0
    def c0, 0.00999999978, 0.5, 1, 0.99000001
    def c1, 1, 0, -0.501176476, -2
    def c2, 1, 0, -0, 0.100000001
    def c3, 3, 0, 0, 0

def c220, 0, 0, 0.0625, 0
dcl_2d s14
dcl_texcoord8 v8

    dcl_texcoord v0
    dcl_texcoord1 v1.xyw
    dcl_2d s0
    dcl_2d s2
    dcl_2d s4
    dcl_2d s6
    dcl_2d s7
    mul r0.xy, c1, v1.w
    mul r1, c1.xxyy, v0.xyxx
    texldl r1, r1, s0
    mad r0.z, r1.x, -v1.y, c1.x
    rcp r0.z, r0.z
    mul r1.z, r0.z, v1.x

    mad r1.xy, v0.zwzw, r1.z, r0

texldl r24, c220.z, s14
add r24.y,  r1.z, -r24.y
mul r24.x, r24.x, r24.y
mul r24.x, r24.x, v8.x
add  r1.x,  r1.x, -r24.x


    mul r0.xyw, r1.y, c158.xyzz
    mad r0.xyw, r1.x, c157.xyzz, r0
    mad r0.xyw, r1.z, c159.xyzz, r0
    add r0.xyw, r0, c160.xyzz
    add r2, r0.y, -c156
    cmp r2, r2, c1.y, c1.x
    add r3, r0.y, -c154
    cmp r2, r3, r2, c1.y
    add r3, r0.x, -c155
    cmp r2, r3, c1.y, r2
    add r3, r0.x, -c153
    cmp r2, r3, r2, c1.y
    mad r2, r2.x, -c1.yxxx, r2
    max r3, r2, c1.y
    mad r2, r3.y, -c1.yyxx, r3
    max r3, r2, c1.y
    mad r2, r3.z, -c1.yyyx, r3
    max r3, r2, c1.y
    dp4 r2.x, r3, c164
    dp4 r2.y, r3, c165
    dp4 r2.z, r3, c166
    dp4 r4.x, r3, c161
    dp4 r4.y, r3, c162
    dp4 r4.z, r3, c163
    dp4 r2.w, r3, c1.x
    cmp r2.w, -r2.w, c1.y, c1.x
    mad r0.xyw, r0, r2.xyzz, r4.xyzz
    mul r0.xyw, r2.w, r0
    min r2.z, r0.w, c0.w
    mad r2.xyw, r0.xyzx, c2.xxzy, c2.zzzx
    texldp r2, r2, s4
    add_pp r0.x, -r2.x, c1.x
    mad r0.y, v1.x, r0.z, -c150.y
    mad r0.zw, v1.x, r0.z, -c183.xyxw
    mul_sat r0.y, r0.y, c150.z
    add_pp r0.y, -r0.y, c1.x
    mul_pp r0.x, r0.x, r0.y
    texld_pp r2, v0, s6
    add r0.y, r2.w, c1.z
    mul_pp r2.xyz, r2, r2
    cmp_pp r0.y, r0.y, c1.x, c1.y
    mov r2.w, c2.w
    mul r2.w, r2.w, c183.w
    rcp r2.w, r2.w
    mul_sat r0.w, r0.w, r2.w
    mul_sat r0.z, r0.z, c183.y
    add_pp r0.w, -r0.w, c1.x
    mov r1.w, c1.x
    dp4 r3.x, r1, c188
    dp4 r3.y, r1, c189
    texld r3, r3, s7
    mul r0.w, r0.w, r3.y
    mad_pp r0.x, r0.x, r0.y, r0.w
    add_sat_pp r0.x, -r0.x, c1.x
    mov r3.xyz, c181
    add r3.xyz, -r3, c190
    mad_pp r0.yzw, r0.z, r3.xxyz, c181.xxyz
    mul_pp r0.yzw, r0, c182.z
    mul_pp r0.yzw, r0, r0
    mul_pp r0.xyz, r0.x, r0.yzww
    texld_pp r3, v0, s2
    mad_pp r3.xy, r3, -c1.w, -c1.x
    cmp_pp r4.xy, -r3, c1.y, c1.x
    cmp_pp r4.zw, r3.xyxy, -c1.y, -c1.x
    mad r3.xy, r3, -r3, c1.x
    add_pp r4.xy, r4, r4.zwzw
    mul_pp r4.xy, r3, r4
    mad_pp r0.w, r4.x, -r4.x, c1.x
    mad_pp r0.w, r4.y, -r4.y, r0.w
    rsq_pp r1.w, r0.w
    rcp_pp r1.w, r1.w
    cmp_pp r4.z, -r0.w, c1.y, -r1.w
    nrm r5.xyz, -r1
    dp3 r0.w, r5, r4
    add r0.w, r0.w, r0.w
    mad_pp r5.xyz, r4, -r0.w, r5
    dp3_pp r0.w, -c180, r4
    max_pp r1.w, r0.w, c1.y
    dp3_sat_pp r0.w, -r5, -c180
    mad_pp r2.w, r3.w, r3.w, c0.x
    rcp_pp r2.w, r2.w
    pow_pp r3.x, r0.w, r2.w
    mad_pp r0.w, r2.w, c0.y, c0.z
    mul_pp r0.w, r3.z, r0.w
    mul_pp r0.w, r3.x, r0.w
    mul_pp r2.w, r1.w, c182.x
    mul_pp r3.xyz, r0, r1.w
    mul_pp r0.w, r0.w, r2.w
    mul_pp r0.xyz, r0, r0.w
    mad_pp r0.xyz, r2, r3, r0
    dp3_pp r0.w, r1, c202
    mul r1.w, -r0.w, c200.w
    rcp r0.w, r0.w
    exp r1.w, r1.w
    add r1.w, -r1.w, c1.x
    mul r1.w, r1.w, c201.w
    mul r0.w, r0.w, r1.w
    dp3 r1.w, r1, r1
    rsq r1.w, r1.w
    rcp_pp r2.x, r1.w
    mul_pp r1.xyz, r1, r1.w
    dp3_sat_pp r1.x, -c180, r1
    mul_pp r1.x, r1.x, r1.x
    mul_pp r1.x, r1.x, r1.x
    mul_pp r1.x, r1.x, c3.x
    mov_pp r3.xyz, c203
    mad_pp r1.xyz, r1.x, r3, c201
    mul_pp r1.xyz, r1, c200
    rcp r1.w, c203.w
    mul_sat r1.w, r2.x, r1.w
    mul r1.w, r1.w, c203.w
    mul r1.w, r1.w, c202.w
    mad r0.w, r2.x, r0.w, r1.w
    exp_sat_pp r0.w, -r0.w
    lrp_pp oC0.xyz, r0.w, r0, r1
    add_pp r0.x, -r0.w, c1.x
    mov_pp oC0.w, r0.x

// approximately 129 instruction slots used (6 texture, 123 arithmetic)
 
