//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 fs_exposure;
//   
//   struct
//   {
//       row_major float4x4 eye2lightProjMtx;
//       float4 MinRadiusSq;
//       float4 MaxRadiusSq;
//       float4 CascadeUVScale;
//       float4 CascadeZScale;
//       float4 CascadeZShift;
//       float4 Params;
//       float4 softShadowFixedSpread;
//       float4 softShadowSpreadRatio;
//       float4 noiseScale;
//
//   } g_Cascade;
//   
//   float4 g_FadeColor;
//   
//   struct
//   {
//       float4 posDirRadius;
//       float4 color;
//       float4 params1;
//       float4 params2;
//
//   } g_Light;
//   
//   sampler2D g_ProjectedTex;
//   
//   struct
//   {
//       float4 shadowFactors;
//       float4 lightDirPos;
//       float4 params;
//
//   } g_ShadowCommon;
//   
//   sampler2D g_ShadowMapTex;
//   float4 g_projectedTexCoordUAxis;
//   float4 g_projectedTexCoordVAxis;
//   sampler2D texture0;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   fs_exposure              c45      1
//   g_ShadowCommon           c150     1
//   g_Cascade                c153    10
//   g_Light                  c180     4
//   g_projectedTexCoordUAxis c188     1
//   g_projectedTexCoordVAxis c189     1
//   g_FadeColor              c190     1
//   texture0                 s0       1
//   g_ProjectedTex           s13      1
//   g_ShadowMapTex           s15      1
//

    ps_3_0
    def c0, 2, -1, 3, 0
    def c1, 0.5, -0.125, 0.125, 0.99000001
    def c2, 0.25, 0.5, 0.75, 0.100000001

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

    dcl_color v0
    dcl_texcoord_centroid v1.xy
    dcl_color1 v2.w
    dcl_texcoord1_centroid v3
    dcl_texcoord2_centroid v4
    dcl_texcoord4_centroid v5
    dcl_texcoord5_centroid v6
    dcl_texcoord6_centroid v7
    dcl_texcoord7_centroid v8
    dcl_2d s0
    dcl_2d s13
    dcl_2d s15
    mov r0, v5
    add r1, r0, v6
    add r2, r1, -v7
    add r1, r1, v7
    add r3, r2, v8

    add r2, r2, -v8

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


    mul r4.xyz, r3.y, c154
    mad r4.xyz, r3.x, c153, r4
    mad r4.xyz, r3.z, c155, r4
    mad r3.xyw, r3.w, c156.xyzz, r4.xyzz
    add r3.z, r3.z, -c150.y
    mul_sat r3.z, r3.z, c150.z
    add_pp r3.z, -r3.z, -c0.y
    mul_pp r4.xy, r3, r3
    max_pp r5.x, r4.x, r4.y
    add r4, r5.x, -c158
    add r5, r5.x, -c157
    cmp_pp r4, r4, c0_abs.w, c0_abs.y
    cmp_pp r4, r5, r4, c0.w
    dp4 r5.x, r4, c160
    dp4 r5.y, r4, c161
    mad r5.w, r3.w, r5.x, r5.y
    dp4 r3.w, r4, c159
    mul r3.xy, r3, r3.w
    mad r3.xy, r3, c1, c1.xzzw
    dp3_pp r3.w, r4.yzww, c2
    dp4_pp r4.x, r4, -c0.y
    mad r5.z, r3.y, c162.x, r3.w
    mul r5.x, r3.x, c162.x
    cmp r3.xyw, -r4.x, c0.w, r5.xzzw
    min r4.z, r3.w, c1.w
    mad r4.xyw, r3.xyzx, c0_abs.yyzw, c0_abs.wwzy
    texldp r4, r4, s15
    add r3.x, -r4.x, -c0.y
    mul r3.x, r3.z, r3.x
    add r4, r1, v8
    add r1, r1, -v8
    mul r3.yzw, r4.y, c154.xxyz
    mad r3.yzw, r4.x, c153.xxyz, r3
    mad r3.yzw, r4.z, c155.xxyz, r3
    mad r3.yzw, r4.w, c156.xxyz, r3
    add r4.x, r4.z, -c150.y
    mul_sat r4.x, r4.x, c150.z
    add_pp r4.x, -r4.x, -c0.y
    mul_pp r4.yz, r3, r3
    max_pp r5.x, r4.y, r4.z
    add r6, r5.x, -c158
    add r5, r5.x, -c157
    cmp_pp r6, r6, c0_abs.w, c0_abs.y
    cmp_pp r5, r5, r6, c0.w
    dp4 r4.y, r5, c160
    dp4 r4.z, r5, c161
    mad r6.w, r3.w, r4.y, r4.z
    dp4 r3.w, r5, c159
    mul r3.yz, r3, r3.w
    mad r3.yz, r3, c1.xxyw, c1.xxzw
    dp3_pp r3.w, r5.yzww, c2
    dp4_pp r4.y, r5, -c0.y
    mad r6.z, r3.z, c162.x, r3.w
    mul r6.x, r3.y, c162.x
    cmp r3.yzw, -r4.y, c0.w, r6.xxzw
    min r5.z, r3.w, c1.w
    mad r5.xyw, r3.yzzy, c0_abs.yyzw, c0_abs.wwzy
    texldp r5, r5, s15
    add r3.y, -r5.x, -c0.y
    mad_pp r3.x, r3.y, r4.x, r3.x
    add r0, r0, -v6
    add r4, r0, v7
    add r0, r0, -v7
    add r5, r4, v8
    add r4, r4, -v8
    mul r3.yzw, r5.y, c154.xxyz
    mad r3.yzw, r5.x, c153.xxyz, r3
    mad r3.yzw, r5.z, c155.xxyz, r3
    mad r3.yzw, r5.w, c156.xxyz, r3
    add r5.x, r5.z, -c150.y
    mul_sat r5.x, r5.x, c150.z
    add_pp r5.x, -r5.x, -c0.y
    mul_pp r5.yz, r3, r3
    max_pp r6.x, r5.y, r5.z
    add r7, r6.x, -c158
    add r6, r6.x, -c157
    cmp_pp r7, r7, c0_abs.w, c0_abs.y
    cmp_pp r6, r6, r7, c0.w
    dp4 r5.y, r6, c160
    dp4 r5.z, r6, c161
    mad r7.w, r3.w, r5.y, r5.z
    dp4 r3.w, r6, c159
    mul r3.yz, r3, r3.w
    mad r3.yz, r3, c1.xxyw, c1.xxzw
    dp3_pp r3.w, r6.yzww, c2
    dp4_pp r5.y, r6, -c0.y
    mad r7.z, r3.z, c162.x, r3.w
    mul r7.x, r3.y, c162.x
    cmp r3.yzw, -r5.y, c0.w, r7.xxzw
    min r6.z, r3.w, c1.w
    mad r6.xyw, r3.yzzy, c0_abs.yyzw, c0_abs.wwzy
    texldp r6, r6, s15
    add r3.y, -r6.x, -c0.y
    mad_pp r3.x, r3.y, r5.x, r3.x
    add r5, r0, v8
    add r0, r0, -v8
    mul r3.yzw, r5.y, c154.xxyz
    mad r3.yzw, r5.x, c153.xxyz, r3
    mad r3.yzw, r5.z, c155.xxyz, r3
    mad r3.yzw, r5.w, c156.xxyz, r3
    add r5.x, r5.z, -c150.y
    mul_sat r5.x, r5.x, c150.z
    add_pp r5.x, -r5.x, -c0.y
    mul_pp r5.yz, r3, r3
    max_pp r6.x, r5.y, r5.z
    add r7, r6.x, -c158
    add r6, r6.x, -c157
    cmp_pp r7, r7, c0_abs.w, c0_abs.y
    cmp_pp r6, r6, r7, c0.w
    dp4 r5.y, r6, c160
    dp4 r5.z, r6, c161
    mad r7.w, r3.w, r5.y, r5.z
    dp4 r3.w, r6, c159
    mul r3.yz, r3, r3.w
    mad r3.yz, r3, c1.xxyw, c1.xxzw
    dp3_pp r3.w, r6.yzww, c2
    dp4_pp r5.y, r6, -c0.y
    mad r7.z, r3.z, c162.x, r3.w
    mul r7.x, r3.y, c162.x
    cmp r3.yzw, -r5.y, c0.w, r7.xxzw
    min r6.z, r3.w, c1.w
    mad r6.xyw, r3.yzzy, c0_abs.yyzw, c0_abs.wwzy
    texldp r6, r6, s15
    add r3.y, -r6.x, -c0.y
    mad_pp r3.x, r3.y, r5.x, r3.x
    mul r3.yzw, r1.y, c154.xxyz
    mad r3.yzw, r1.x, c153.xxyz, r3
    mad r3.yzw, r1.z, c155.xxyz, r3
    mad r1.xyw, r1.w, c156.xyzz, r3.yzzw
    add r1.z, r1.z, -c150.y
    mul_sat r1.z, r1.z, c150.z
    add_pp r1.z, -r1.z, -c0.y
    mul_pp r3.yz, r1.xxyw, r1.xxyw
    max_pp r5.x, r3.y, r3.z
    add r6, r5.x, -c158
    add r5, r5.x, -c157
    cmp_pp r6, r6, c0_abs.w, c0_abs.y
    cmp_pp r5, r5, r6, c0.w
    dp4 r3.y, r5, c160
    dp4 r3.z, r5, c161
    mad r6.w, r1.w, r3.y, r3.z
    dp4 r1.w, r5, c159
    mul r1.xy, r1, r1.w
    mad r1.xy, r1, c1, c1.xzzw
    dp3_pp r1.w, r5.yzww, c2
    dp4_pp r3.y, r5, -c0.y
    mad r6.z, r1.y, c162.x, r1.w
    mul r6.x, r1.x, c162.x
    cmp r1.xyw, -r3.y, c0.w, r6.xzzw
    min r5.z, r1.w, c1.w
    mad r5.xyw, r1.xyzx, c0_abs.yyzw, c0_abs.wwzy
    texldp r5, r5, s15
    add r1.x, -r5.x, -c0.y
    mad_pp r1.x, r1.x, r1.z, r3.x
    mul r1.yzw, r2.y, c154.xxyz
    mad r1.yzw, r2.x, c153.xxyz, r1
    mad r1.yzw, r2.z, c155.xxyz, r1
    mad r1.yzw, r2.w, c156.xxyz, r1
    add r2.x, r2.z, -c150.y
    mul_sat r2.x, r2.x, c150.z
    add_pp r2.x, -r2.x, -c0.y
    mul_pp r2.yz, r1, r1
    max_pp r3.x, r2.y, r2.z
    add r5, r3.x, -c158
    add r3, r3.x, -c157
    cmp_pp r5, r5, c0_abs.w, c0_abs.y
    cmp_pp r3, r3, r5, c0.w
    dp4 r2.y, r3, c160
    dp4 r2.z, r3, c161
    mad r5.w, r1.w, r2.y, r2.z
    dp4 r1.w, r3, c159
    mul r1.yz, r1, r1.w
    mad r1.yz, r1, c1.xxyw, c1.xxzw
    dp3_pp r1.w, r3.yzww, c2
    dp4_pp r2.y, r3, -c0.y
    mad r5.z, r1.z, c162.x, r1.w
    mul r5.x, r1.y, c162.x
    cmp r1.yzw, -r2.y, c0.w, r5.xxzw
    min r3.z, r1.w, c1.w
    mad r3.xyw, r1.yzzy, c0_abs.yyzw, c0_abs.wwzy
    texldp r3, r3, s15
    add r1.y, -r3.x, -c0.y
    mad_pp r1.x, r1.y, r2.x, r1.x
    mul r1.yzw, r4.y, c154.xxyz
    mad r1.yzw, r4.x, c153.xxyz, r1
    mad r1.yzw, r4.z, c155.xxyz, r1
    mad r1.yzw, r4.w, c156.xxyz, r1
    add r2.x, r4.z, -c150.y
    mul_sat r2.x, r2.x, c150.z
    add_pp r2.x, -r2.x, -c0.y
    mul_pp r2.yz, r1, r1
    max_pp r3.x, r2.y, r2.z
    add r4, r3.x, -c158
    add r3, r3.x, -c157
    cmp_pp r4, r4, c0_abs.w, c0_abs.y
    cmp_pp r3, r3, r4, c0.w
    dp4 r2.y, r3, c160
    dp4 r2.z, r3, c161
    mad r4.w, r1.w, r2.y, r2.z
    dp4 r1.w, r3, c159
    mul r1.yz, r1, r1.w
    mad r1.yz, r1, c1.xxyw, c1.xxzw
    dp3_pp r1.w, r3.yzww, c2
    dp4_pp r2.y, r3, -c0.y
    mad r4.z, r1.z, c162.x, r1.w
    mul r4.x, r1.y, c162.x
    cmp r1.yzw, -r2.y, c0.w, r4.xxzw
    min r3.z, r1.w, c1.w
    mad r3.xyw, r1.yzzy, c0_abs.yyzw, c0_abs.wwzy
    texldp r3, r3, s15
    add r1.y, -r3.x, -c0.y
    mad_pp r1.x, r1.y, r2.x, r1.x
    mul r1.yzw, r0.y, c154.xxyz
    mad r1.yzw, r0.x, c153.xxyz, r1
    mad r1.yzw, r0.z, c155.xxyz, r1
    mad r0.xyw, r0.w, c156.xyzz, r1.yzzw
    add r0.z, r0.z, -c150.y
    mul_sat r0.z, r0.z, c150.z
    add_pp r0.z, -r0.z, -c0.y
    mul_pp r1.yz, r0.xxyw, r0.xxyw
    max_pp r2.x, r1.y, r1.z
    add r3, r2.x, -c158
    add r2, r2.x, -c157
    cmp_pp r3, r3, c0_abs.w, c0_abs.y
    cmp_pp r2, r2, r3, c0.w
    dp4 r1.y, r2, c160
    dp4 r1.z, r2, c161
    mad r3.w, r0.w, r1.y, r1.z
    dp4 r0.w, r2, c159
    mul r0.xy, r0, r0.w
    mad r0.xy, r0, c1, c1.xzzw
    dp3_pp r0.w, r2.yzww, c2
    dp4_pp r1.y, r2, -c0.y
    mad r3.z, r0.y, c162.x, r0.w
    mul r3.x, r0.x, c162.x
    cmp r0.xyw, -r1.y, c0.w, r3.xzzw
    min r2.z, r0.w, c1.w
    mad r2.xyw, r0.xyzx, c0_abs.yyzw, c0_abs.wwzy
    texldp r2, r2, s15
    add r0.x, -r2.x, -c0.y
    mad_pp r0.x, r0.x, r0.z, r1.x
    dp4 r1.x, v3, c188
    dp4 r1.y, v3, c189
    texld r1, r1, s13
    mov r0.w, c2.w
    mul r0.y, r0.w, c183.w
    rcp r0.y, r0.y
    add r0.zw, -c183.xyxw, v3.z
    mul_sat r0.y, r0.y, r0.w
    mul_sat r0.z, r0.z, c183.y
    add_pp r0.y, -r0.y, -c0.y
    mul r0.y, r1.y, r0.y
    mad_pp r0.x, r0.x, c1.z, r0.y
    add_sat_pp r0.x, -r0.x, -c0.y
    mov r1.xyz, c181
    add r1.xyz, -r1, c190
    mad_pp r0.yzw, r0.z, r1.xxyz, c181.xxyz
    mul_pp r0.yzw, r0, c182.z
    mov r1.w, c0.w
    cmp_pp r0.yzw, c182.z, r0, r1.w
    mul_pp r0.yzw, r0, r0
    mul_pp r0.xyz, r0.x, r0.yzww
    dp3_pp r0.w, -c180, -c180
    mul_pp r0.xyz, r0, r0.w
    mad_sat_pp r1.xyz, v0, c0.x, c0.y
    mul_pp r1.xyz, r1, r1
    add_pp r2.xyz, v0, v0
    mad_pp r1.xyz, r1, c0.z, r2
    texld r2, v1, s0
    mul_pp r1.xyz, r1, r2
    dp2add_pp r0.w, v0.w, r2.w, c0.w
    mul_pp r1.xyz, r1, r1
    mul_pp r0.xyz, r0, r1
    mov r1, v3
    dp4_sat r1.x, r1, v4
    mul_pp r0.w, r0.w, r1.x
    mul_pp r0.xyz, r0, r0.w
    mul_pp r0.xyz, r0, v2.w
    mul_pp r0.xyz, r0, c45.y
    rsq_pp r1.x, r0.x
    rsq_pp r1.y, r0.y
    rsq_pp r1.z, r0.z
    mul_pp r1.xyz, r0_abs, r1
    cmp_pp oC0.xyz, -c45.w, r0, r1
    mov_pp oC0.w, -c0.y

// approximately 292 instruction slots used (10 texture, 282 arithmetic)
 
