//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.15.779.0000
//
// Parameters:
//
//   float4 EdgeSampleOffsets[4];
//   float FalloffExponent;
//   float2 InvRandomAngleTextureSize;
//   float4 LightPosition;
//   sampler2D RandomAngleTexture;
//   float4 RefiningSampleOffsets[6];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   float4x4 ScreenToWorld;
//   sampler2D ShadowDepthTexture;
//   float4 ShadowModulateColor;
//   float2 SpotAngles;
//   float3 SpotDirection;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   InvRandomAngleTextureSize c0       1
//   ScreenPositionScaleBias   c1       1
//   RefiningSampleOffsets     c2       6
//   ScreenToShadowMatrix      c8       4
//   EdgeSampleOffsets         c12      4
//   ScreenToWorld             c16      4
//   ShadowModulateColor       c20      1
//   LightPosition             c21      1
//   FalloffExponent           c22      1
//   SpotDirection             c23      1
//   SpotAngles                c24      1
//   SceneColorTexture         s0       1
//   ShadowDepthTexture        s1       1
//   RandomAngleTexture        s2       1
//

    ps_3_0
    def c25, 0.999000013, 2, -1, -0
    def c26, 1, -1, 0.125, 9.99999975e-005
    def c27, 0.125, -0.999899983, 0.0833333358, 0.699999988
  def c200, 0.5, 0, 0.0625, 0
  dcl_2d s13
    dcl_texcoord v0.xyw
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    rcp r0.w, v0.w
    mul r1.xy, r0.w, v0
    mad r0.xy, r1, c1, c1.wzzw
    texld_pp r0, r0, s0
    mul r14.xy, r1, r0.w
    mul r1, r14.y, c9
  texldl r16, c200.z, s13
  add r16.y, r0.w, -r16.y
  mul r16.x, r16.x, r16.y
  add r14.x, r14.x, -r16.x
    mad r1, c8, r14.x, r1
    mad r1, c10, r0.w, r1
    add r3, r1, c11
    rcp r14.w, r3.w
    min r2.z, r3.z, c25.x
    mov r12.z, r2.z
    mul r0.xy, vPos, c0
    texld r1, r0, s2
    mad_pp r5.xy, c25.y, r1, c25.z
    mul r9, r3.xyxy, r14.w
    mul_pp r8, r5.xyxy, c26.xyxy
    mad r1, r8, c15.xxzz, r9
    mov_pp r5.zw, -r5.y
    mad_pp r1, r5.yxyx, c15.yyww, r1
    mad r4, r5.xzxz, c12.xxzz, r9
    mad_pp r4, r5.yxyx, c12.yyww, r4
    mov_pp r10.xy, r1.zwzw
    mul r2.xyw, r4.xyzx, -c25.zzzw
    texldl_pp r2, r2, s1
    mul r12.xyw, r4.zwzx, -c25.zzzw
    texldl_pp r4, r12, s1
    mov r7.zw, r12
    mov r6.zw, r7
    mov r4.zw, r6
    add_pp r0.z, r2.x, r4.x
    mov r1.zw, r4
    texldl_pp r2, r1, s1
    mov r10.zw, r1
    texldl_pp r1, r10, s1
    mad r11, r5.xwxw, c13.xxzz, r9
    mad_pp r11, r5.yxyx, c13.yyww, r11
    mov_pp r12.xy, r11
    texldl_pp r12, r12, s1
    add_pp r0.z, r0.z, r12.x
    mov_pp r7.xy, r11.zwzw
    texldl_pp r7, r7, s1
    mad r8, r8, c14.xxzz, r9
    mad_pp r5, r5.yxyx, c14.yyww, r8
    add_pp r0.z, r0.z, r7.x
    mov_pp r6.xy, r5
    texldl_pp r6, r6, s1
    add_pp r0.z, r0.z, r6.x
    mov_pp r4.xy, r5.zwzw
    texldl_pp r4, r4, s1
    add_pp r0.z, r0.z, r4.x
    add_pp r0.z, r2.x, r0.z
    add_pp r0.z, r1.x, r0.z
    mad_pp r0.x, r0.z, c27.x, c27.y
    mad_pp r0.y, r0.z, -c26.z, c26.w
    cmp r0.x, r0.x, -c25.w, -c25.z
    cmp r0.y, r0.y, -c25.w, -c25.z
    mul r0.y, r0.x, r0.y
    mul_pp r0.z, r0.z, c26.z
    if_ne r0.y, -r0.y
      mov r13.zw, r10
      mov r11.zw, r13
      mov r8.zw, r11
      mov r9.zw, r8
      mov r6.zw, r9
      mov r7.zw, r6
      mov r4.zw, r7
      mov r5.zw, r4
      mov r3.zw, r5
      mov r2.zw, r3
      mad_pp r12, r3.xyxy, r14.w, c7
      mov r1.zw, r2
      mov_pp r1.xy, r12.zwzw
      texldl_pp r1, r1, s1
      mov_pp r2.xy, r12
      texldl_pp r2, r2, s1
      mad_pp r12, r3.xyxy, r14.w, c2
      mov_pp r13.xy, r12.zwzw
      texldl_pp r13, r13, s1
      mov_pp r10.xy, r12
      texldl_pp r12, r10, s1
      mad_pp r10, r3.xyxy, r14.w, c3
      add_pp r0.y, r13.x, r12.x
      mov_pp r11.xy, r10
      texldl_pp r11, r11, s1
      add_pp r0.y, r0.y, r11.x
      mov_pp r8.xy, r10.zwzw
      texldl_pp r10, r8, s1
      mad_pp r8, r3.xyxy, r14.w, c4
      add_pp r0.y, r0.y, r10.x
      mov_pp r9.xy, r8
      texldl_pp r9, r9, s1
      add_pp r0.y, r0.y, r9.x
      mov_pp r6.xy, r8.zwzw
      texldl_pp r8, r6, s1
      mad_pp r6, r3.xyxy, r14.w, c5
      add_pp r0.y, r0.y, r8.x
      mov_pp r7.xy, r6
      texldl_pp r7, r7, s1
      add_pp r0.y, r0.y, r7.x
      mov_pp r4.xy, r6.zwzw
      texldl_pp r6, r4, s1
      mad_pp r4, r3.xyxy, r14.w, c6
      add_pp r0.y, r0.y, r6.x
      mov_pp r5.xy, r4
      texldl_pp r5, r5, s1
      add_pp r0.y, r0.y, r5.x
      mov_pp r3.xy, r4.zwzw
      texldl_pp r3, r3, s1
      add_pp r0.y, r0.y, r3.x
      add_pp r0.y, r2.x, r0.y
      add_pp r0.y, r1.x, r0.y
      mad_pp r0.y, r0.y, c27.z, -r0.z
      mad_pp r2.z, r0.y, c27.w, r0.z
    else
      mov_pp r2.z, r0.z
    endif
    mul r0.xyz, r14.y, c17
    mad r0.xyz, c16, r14.x, r0
    mad r0.xyz, c18, r0.w, r0
    add r0.xyz, r0, c19
    add r0.xyz, -r0, c21
    mul r0.xyz, r0, c21.w
    dp3 r1.w, r0, r0
    rsq r0.w, r1.w
    mul r0.xyz, r0, r0.w
    dp3 r0.w, r0, -c23
    add r0.w, r0.w, -c24.x
    mul_sat r0.w, r0.w, c24.y
    add_sat r1.w, -r1.w, -c25.z
    mul r0.z, r0.w, r0.w
    pow r0.w, r1.w, c22.x
    mul_pp r1.w, r0.z, r0.w
    mov r0.y, c25.z
    add r0, r0.y, c20
    mul_pp r2.w, r2.z, r2.z
    mad_pp r1, r1.w, r0, -c25.z
    mul_pp r2.w, r2.z, r2.w
    add_pp r0, -r1, -c25.z
    mad_pp oC0, r2.w, r0, r1

// approximately 164 instruction slots used (42 texture, 122 arithmetic)
 

