//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.15.779.0000
//
// Parameters:
//
//   float FalloffExponent;
//   float4 LightPosition;
//   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
//   SampleOffsets           c2       8
//   ScreenToWorld           c10      4
//   ScreenToShadowMatrix    c14      4
//   LightPosition           c18      1
//   FalloffExponent         c19      1
//   ShadowBufferSize        c20      1
//   SceneColorTexture       s0       1
//   ShadowDepthTexture      s1       1
//

    ps_3_0
    def c21, 0.999000013, 0, 1, 0.0625
  def c200, 0.5, 0, 0.0625, 0
  dcl_2d s13
    dcl_texcoord v0.xyw
    dcl_2d s0
    dcl_2d s1
    rcp r0.w, v0.w
    mul r1.xy, r0.w, v0
    mad r0.xy, r1, c1, c1.wzzw
    texld_pp r0, r0, s0
    mul r9.xy, r1, r0.w
    mul r1, r9.y, c15
  texldl r16, c200.z, s13
  add r16.y, r0.w, -r16.y
  mul r16.x, r16.x, r16.y
  add r9.x, r9.x, -r16.x
    mad r1, c14, r9.x, r1
    mad r1, c16, r0.w, r1
    add r2, r1, c17
    rcp r0.y, r2.w
    mad_pp r4, r2.xyxy, r0.y, c2
    mul r1, r4, c20.xyxy
    frc_pp r3, r1
    texld r1, r4, s1
    texld r5, r4.zwzw, s1
    min r0.z, r2.z, c21.x
    add r1, -r1.wxyz, r0.z
    cmp_pp r4.xy, r1, c21.y, c21.z
    cmp_pp r1.xy, r1.zwzw, c21.y, c21.z
    add r2.zw, -r5.xywx, r0.z
    add r1.zw, -r5.xyyz, r0.z
    cmp_pp r4.zw, r2, c21.y, c21.z
    cmp_pp r1.zw, r1, c21.y, c21.z
    mad_pp r5, r2.xyxy, r0.y, c3
    lrp_pp r6, r3.yyww, r1, r4
    mul r1, r5, c20.xyxy
    lrp_pp r4.xy, r3.xzzw, r6.ywzw, r6.xzzw
    frc_pp r3, r1
    texld r1, r5, s1
    texld r5, r5.zwzw, s1
    add r1, r0.z, -r1.wxyz
    cmp_pp r6.xy, r1, c21.y, c21.z
    cmp_pp r1.xy, r1.zwzw, c21.y, c21.z
    add r2.zw, r0.z, -r5.xywx
    add r1.zw, r0.z, -r5.xyyz
    cmp_pp r6.zw, r2, c21.y, c21.z
    cmp_pp r1.zw, r1, c21.y, c21.z
    lrp_pp r5, r3.yyww, r1, r6
    mad_pp r1, r2.xyxy, r0.y, c4
    lrp_pp r4.zw, r3.xyxz, r5.xyyw, r5.xyxz
    mul r3, r1, c20.xyxy
    dp4_pp r0.x, r4, c21.w
    frc_pp r4, r3
    texld r3, r1, s1
    texld r1, r1.zwzw, s1
    add r3, r0.z, -r3.wxyz
    cmp_pp r6.xy, r3, c21.y, c21.z
    cmp_pp r5.xy, r3.zwzw, c21.y, c21.z
    add r2.zw, r0.z, -r1.xywx
    add r1.zw, r0.z, -r1.xyyz
    cmp_pp r6.zw, r2, c21.y, c21.z
    mad_pp r3, r2.xyxy, r0.y, c5
    cmp_pp r5.zw, r1, c21.y, c21.z
    mul r1, r3, c20.xyxy
    lrp_pp r7, r4.yyww, r5, r6
    frc_pp r1, r1
    texld r5, r3, s1
    texld r3, r3.zwzw, s1
    add r5, r0.z, -r5.wxyz
    cmp_pp r6.xy, r5, c21.y, c21.z
    cmp_pp r5.xy, r5.zwzw, c21.y, c21.z
    add r5.zw, r0.z, -r3.xywx
    add r2.zw, r0.z, -r3.xyyz
    cmp_pp r6.zw, r5, c21.y, c21.z
    cmp_pp r5.zw, r2, c21.y, c21.z
    lrp_pp r3.xy, r4.xzzw, r7.ywzw, r7.xzzw
    lrp_pp r4, r1.yyww, r5, r6
    lrp_pp r3.zw, r1.xyxz, r4.xyyw, r4.xyxz
    mad_pp r1, r2.xyxy, r0.y, c6
    dp4_pp r2.w, r3, c21.w
    mul r3, r1, c20.xyxy
    add_pp r0.x, r0.x, r2.w
    frc_pp r5, r3
    texld r3, r1, s1
    texld r1, r1.zwzw, s1
    add r3, r0.z, -r3.wxyz
    cmp_pp r8.xy, r3, c21.y, c21.z
    cmp_pp r4.xy, r3.zwzw, c21.y, c21.z
    add r3.zw, r0.z, -r1.xywx
    add r2.zw, r0.z, -r1.xyyz
    mad_pp r6, r2.xyxy, r0.y, c7
    cmp_pp r8.zw, r3, c21.y, c21.z
    mul r1, r6, c20.xyxy
    cmp_pp r4.zw, r2, c21.y, c21.z
    frc_pp r3, r1
    texld r1, r6, s1
    texld r6, r6.zwzw, s1
    add r1, r0.z, -r1.wxyz
    cmp_pp r7.xy, r1, c21.y, c21.z
    cmp_pp r1.xy, r1.zwzw, c21.y, c21.z
    add r2.zw, r0.z, -r6.xywx
    add r1.zw, r0.z, -r6.xyyz
    cmp_pp r7.zw, r2, c21.y, c21.z
    cmp_pp r1.zw, r1, c21.y, c21.z
    lrp_pp r6, r5.yyww, r4, r8
    lrp_pp r4, r3.yyww, r1, r7
    lrp_pp r1.xy, r5.xzzw, r6.ywzw, r6.xzzw
    lrp_pp r1.zw, r3.xyxz, r4.xyyw, r4.xyxz
    dp4_pp r1.w, r1, c21.w
    mad_pp r4, r2.xyxy, r0.y, c8
    add_pp r6.w, r0.x, r1.w
    mul r1, r4, c20.xyxy
    mad_pp r2, r2.xyxy, r0.y, c9
    frc_pp r3, r1
    texld r1, r4, s1
    texld r4, r4.zwzw, s1
    add r1, r0.z, -r1.wxyz
    cmp_pp r5.xy, r1, c21.y, c21.z
    cmp_pp r1.xy, r1.zwzw, c21.y, c21.z
    add r5.zw, r0.z, -r4.xywx
    add r1.zw, r0.z, -r4.xyyz
    cmp_pp r5.zw, r5, c21.y, c21.z
    cmp_pp r1.zw, r1, c21.y, c21.z
    lrp_pp r4, r3.yyww, r1, r5
    mul r1, r2, c20.xyxy
    lrp_pp r0.xy, r3.xzzw, r4.ywzw, r4.xzzw
    frc_pp r1, r1
    texld r3, r2, s1
    texld r2, r2.zwzw, s1
    add r3, r0.z, -r3.wxyz
    cmp_pp r4.xy, r3, c21.y, c21.z
    cmp_pp r3.xy, r3.zwzw, c21.y, c21.z
    mul r5.xyz, r9.y, c11
    add r4.zw, r0.z, -r2.xywx
    mad r5.xyz, c10, r9.x, r5
    add r3.zw, r0.z, -r2.xyyz
    mad r2.xyz, c12, r0.w, r5
    cmp_pp r4.zw, r4, c21.y, c21.z
    add r2.xyz, r2, c13
    cmp_pp r3.zw, r3, c21.y, c21.z
    add r5.xyz, -r2, c18
    lrp_pp r2, r1.yyww, r3, r4
    mul r3.xyz, r5, c18.w
    lrp_pp r0.zw, r1.xyxz, r2.xyyw, r2.xyxz
    dp3 r1.w, r3, r3
    dp4_pp r1.z, r0, c21.w
    add_sat r0.w, -r1.w, c21.z
    pow_pp r1.w, r0.w, c19.x
    mov r0.y, c21.z
    add r0, -r0.y, c0
    add_pp r2.w, r6.w, r1.z
    mad r1, r1.w, r0, c21.z
    mul r2.w, r2.w, r2.w
    add r0, -r1, c21.z
    mad_pp oC0, r2.w, r0, r1

// approximately 147 instruction slots used (17 texture, 130 arithmetic)
 

