//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.15.779.0000
//
// Parameters:
//
//   float FalloffExponent;
//   float4 LightPosition;
//   float4 SampleOffsets[2];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   float4x4 ScreenToWorld;
//   sampler2D ShadowDepthTexture;
//   float4 ShadowModulateColor;
//   float2 SpotAngles;
//   float3 SpotDirection;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   ShadowModulateColor     c0       1
//   ScreenPositionScaleBias c1       1
//   ScreenToWorld           c2       4
//   ScreenToShadowMatrix    c6       4
//   SampleOffsets           c10      2
//   LightPosition           c12      1
//   FalloffExponent         c13      1
//   SpotDirection           c14      1
//   SpotAngles              c15      1
//   SceneColorTexture       s0       1
//   ShadowDepthTexture      s1       1
//

    ps_3_0
    def c16, 0.999000013, 1, 0, 0.25
  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 r0.xy, r0.w, v0
    mad r1.xy, r0, c1, c1.wzzw
    texld_pp r1, r1, s0
    mul r5.xy, r0, r1.w
    mul r0, r5.y, c7
  texldl r16, c200.z, s13
  add r16.y, r1.w, -r16.y
  mul r16.x, r16.x, r16.y
  add r5.x, r5.x, -r16.x
    mad r0, c6, r5.x, r0
    mad r0, c8, r1.w, r0
    add r4, r0, c9
    rcp r0.w, r4.w
    mad_pp r2, r4.xyxy, r0.w, c10
    mad_pp r0, r4.xyxy, r0.w, c11.zwxy
    min r3.z, r4.z, c16.x
    mad r3.xyw, r2.xyzx, c16.yyzz, c16.zzzy
    mad r4.xyw, r2.zwzx, c16.yyzz, c16.zzzy
    texldp_pp r2, r3, s1
    mov r4.z, r3.z
    texldp_pp r3, r4, s1
    mov r3.zw, r4
    add_pp r1.z, r2.x, r3.x
    mov_pp r3.xy, r0.zwzw
    texldp_pp r2, r3, s1
    mov r0.zw, r3
    add_pp r2.w, r1.z, r2.x
    texldp_pp r0, r0, s1
    mul r1.xyz, r5.y, c3
    mad r1.xyz, c2, r5.x, r1
    mad r1.xyz, c4, r1.w, r1
    add r1.xyz, r1, c5
    add r1.xyz, -r1, c12
    mul r1.xyz, r1, c12.w
    dp3 r0.z, r1, r1
    rsq r0.w, r0.z
    mul r1.xyz, r1, r0.w
    dp3 r0.w, r1, -c14
    add_pp r1.z, r2.w, r0.x
    add r0.w, r0.w, -c15.x
    add_sat r1.w, -r0.z, c16.y
    mul_sat r0.w, r0.w, c15.y
    mul r0.z, r0.w, r0.w
    pow r0.w, r1.w, c13.x
    mul_pp r1.w, r0.z, r0.w
    mov r0.z, c16.y
    add r0, -r0.z, c0
    mul_pp r2.w, r1.z, c16.w
    mad r1, r1.w, r0, c16.y
    mul r2.w, r2.w, r2.w
    add r0, -r1, c16.y
    mad_pp oC0, r2.w, r0, r1

// approximately 51 instruction slots used (5 texture, 46 arithmetic)
 

