//
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float3 FalloffParameters;
//   float4 LightPosition;
//   float4 MinZ_MaxZRatio;
//   float4 SampleOffsets[8];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   float4x4 ScreenToWorld;
//   float2 ShadowBufferSize;
//   sampler2D ShadowDepthTexture;
//   float4 ShadowModulateColor;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   ShadowModulateColor     c0       1
//   ScreenPositionScaleBias c1       1
//   MinZ_MaxZRatio          c2       1
//   SampleOffsets           c3       8
//   ScreenToWorld           c11      4
//   ScreenToShadowMatrix    c15      4
//   LightPosition           c19      1
//   FalloffParameters       c20      1
//   ShadowBufferSize        c21      1
//   SceneColorTexture       s0       1
//   ShadowDepthTexture      s1       1
//

    ps_3_0
    def c22, 65503, 0.999000013, 0, 1
    def c23, 0.0625, -9.99999997e-007, 0, 0
    dcl_texcoord v0.xyw
    dcl_texcoord1 v1
    dcl_2d s0
    dcl_2d s1
    rcp r0.x, v0.w
    mul r0.xy, r0.x, v0
    mad r0.zw, r0.xyxy, c1.xyxy, c1.xywz
       rcp r6.x, v1.w
    mul r6.xy, r6.x, v1
    mad r6.zw, r6.xyxy, c1.xyxy, c1.xywz
    texld_pp r1, r6.zwzw, s0
    min_pp r0.z, r1.w, c22.x
    mad r0.z, r0.z, c2.z, -c2.w
    rcp_pp r0.z, r0.z
    mul r0.xy, r0, r0.z
    mul r1, r0.y, c16
    mad r1, c15, r0.x, r1
    mad r1, c17, r0.z, r1
    add r1, r1, c18
    rcp r0.w, r1.w
    mad_pp r2, r1.xyxy, r0.w, c3
    mul r3, r2, c21.xyxy
    frc_pp r3, r3
    texld_pp r4, r2, s1
    texld_pp r2, r2.zwzw, s1
    min r5.x, r1.z, c22.y
    add r4, -r4.wxyz, r5.x
    cmp_pp r4, r4.zwxy, c22.z, c22.w
    mov_pp r6.xy, r4.zwzw
    add r2, -r2.wxyz, r5.x
    cmp_pp r2, r2, c22.z, c22.w
    mov_pp r6.zw, r2.xyxy
    mov_pp r4.zw, r2
    lrp_pp r2, r3.yyww, r4, r6
    lrp_pp r4.xy, r3.xzzw, r2.ywzw, r2.xzzw
    mad_pp r2, r1.xyxy, r0.w, c4
    mul r3, r2, c21.xyxy
    frc_pp r3, r3
    texld_pp r6, r2, s1
    texld_pp r2, r2.zwzw, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2, c22.z, c22.w
    add r6, r5.x, -r6.wxyz
    cmp_pp r6, r6.zwxy, c22.z, c22.w
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r2.xyxy
    mov_pp r6.zw, r2
    lrp_pp r2, r3.yyww, r6, r7
    lrp_pp r4.zw, r3.xyxz, r2.xyyw, r2.xyxz
    dp4_pp r1.z, r4, c23.x
    mad_pp r2, r1.xyxy, r0.w, c5
    mul r3, r2, c21.xyxy
    frc_pp r3, r3
    texld_pp r4, r2, s1
    texld_pp r2, r2.zwzw, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2, c22.z, c22.w
    add r4, r5.x, -r4.wxyz
    cmp_pp r4, r4.zwxy, c22.z, c22.w
    mov_pp r6.xy, r4.zwzw
    mov_pp r6.zw, r2.xyxy
    mov_pp r4.zw, r2
    lrp_pp r2, r3.yyww, r4, r6
    lrp_pp r4.xy, r3.xzzw, r2.ywzw, r2.xzzw
    mad_pp r2, r1.xyxy, r0.w, c6
    mul r3, r2, c21.xyxy
    frc_pp r3, r3
    texld_pp r6, r2, s1
    texld_pp r2, r2.zwzw, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2, c22.z, c22.w
    add r6, r5.x, -r6.wxyz
    cmp_pp r6, r6.zwxy, c22.z, c22.w
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r2.xyxy
    mov_pp r6.zw, r2
    lrp_pp r2, r3.yyww, r6, r7
    lrp_pp r4.zw, r3.xyxz, r2.xyyw, r2.xyxz
    dp4_pp r1.w, r4, c23.x
    add_pp r1.z, r1.z, r1.w
    mad_pp r2, r1.xyxy, r0.w, c7
    mul r3, r2, c21.xyxy
    frc_pp r3, r3
    texld_pp r4, r2, s1
    texld_pp r2, r2.zwzw, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2, c22.z, c22.w
    add r4, r5.x, -r4.wxyz
    cmp_pp r4, r4.zwxy, c22.z, c22.w
    mov_pp r6.xy, r4.zwzw
    mov_pp r6.zw, r2.xyxy
    mov_pp r4.zw, r2
    lrp_pp r2, r3.yyww, r4, r6
    lrp_pp r4.xy, r3.xzzw, r2.ywzw, r2.xzzw
    mad_pp r2, r1.xyxy, r0.w, c8
    mul r3, r2, c21.xyxy
    frc_pp r3, r3
    texld_pp r6, r2, s1
    texld_pp r2, r2.zwzw, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2, c22.z, c22.w
    add r6, r5.x, -r6.wxyz
    cmp_pp r6, r6.zwxy, c22.z, c22.w
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r2.xyxy
    mov_pp r6.zw, r2
    lrp_pp r2, r3.yyww, r6, r7
    lrp_pp r4.zw, r3.xyxz, r2.xyyw, r2.xyxz
    dp4_pp r1.w, r4, c23.x
    add_pp r1.z, r1.z, r1.w
    mad_pp r2, r1.xyxy, r0.w, c9
    mad_pp r3, r1.xyxy, r0.w, c10
    mul r4, r2, c21.xyxy
    frc_pp r4, r4
    texld_pp r6, r2, s1
    texld_pp r2, r2.zwzw, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2, c22.z, c22.w
    add r6, r5.x, -r6.wxyz
    cmp_pp r6, r6.zwxy, c22.z, c22.w
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r2.xyxy
    mov_pp r6.zw, r2
    lrp_pp r2, r4.yyww, r6, r7
    lrp_pp r6.xy, r4.xzzw, r2.ywzw, r2.xzzw
    texld_pp r2, r3, s1
    add r2, r5.x, -r2.wxyz
    cmp_pp r2, r2.zwxy, c22.z, c22.w
    mov_pp r4.xy, r2.zwzw
    texld_pp r7, r3.zwzw, s1
    mul r3, r3, c21.xyxy
    frc_pp r3, r3
    add r5, r5.x, -r7.wxyz
    cmp_pp r5, r5, c22.z, c22.w
    mov_pp r4.zw, r5.xyxy
    mov_pp r2.zw, r5
    lrp_pp r5, r3.yyww, r2, r4
    lrp_pp r6.zw, r3.xyxz, r5.xyyw, r5.xyxz
    dp4_pp r0.w, r6, c23.x
    add_pp r0.w, r1.z, r0.w
    mul r0.w, r0.w, r0.w
    mul r1.xyz, r0.y, c12
    mad r1.xyz, c11, r0.x, r1
    mad r0.xyz, c13, r0.z, r1
    add r0.xyz, r0, c14
    add r0.xyz, -r0, c19
    mul r0.xyz, r0, c19.w
    dp3 r0.x, r0, r0
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    mad r0.x, r0.x, c20.y, c20.z
    max r1.x, r0.x, c22.z
    mad r0.x, r1.x, -r1.x, c22.w
    max r1.x, r0.x, c22.z
    add r0.x, r1.x, c23.y
    pow_pp r0.y, r1.x, c20.x
    mov r1.w, c22.w
    add r1, -r1.w, c0
    mad r1, r0.y, r1, c22.w
    cmp r1, r0.x, r1, c22.w
    add r2, -r1, c22.w
    mad oC0, r0.w, r2, r1

// approximately 157 instruction slots used (17 texture, 140 arithmetic)
 