//
// 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[16];
//   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      16
//   ScreenToShadowMatrix      c18      4
//   EdgeSampleOffsets         c22      4
//   ScreenToWorld             c26      4
//   ShadowModulateColor       c30      1
//   LightPosition             c31      1
//   FalloffExponent           c32      1
//   SpotDirection             c33      1
//   SpotAngles                c34      1
//   SceneColorTexture         s0       1
//   ShadowDepthTexture        s1       1
//   RandomAngleTexture        s2       1
//

    ps_3_0
    def c35, 0.999000013, 2, -1, -0
    def c36, 0.125, 0, 1, -1
    def c37, 9.99999975e-005, -0.999899983, 0.03125, 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 r7.xy, r1, r0.w
    mul r1, r7.y, c19
  texldl r16, c200.z, s13
  add r16.y, r0.w, -r16.y
  mul r16.x, r16.x, r16.y
  add r7.x, r7.x, -r16.x
    mad r1, c18, r7.x, r1
    mad r1, c20, r0.w, r1
    add r4, r1, c21
    rcp r4.w, r4.w
    mul r0.xy, vPos, c0
    texld r1, r0, s2
    mad_pp r1.xy, c35.y, r1, c35.z
    mul r3, r4.xyxy, r4.w
    mul_pp r2, r1.xyxy, c36.zwzw
    mad r5, r2, c25.xxzz, r3
    min r7.w, r4.z, c35.x
    mad_pp r5, r1.yxyx, c25.yyww, r5
    texld r6, r5, s1
    texld r5, r5.zwzw, s1
    mov r0.x, r6.x
    mov_pp r1.zw, -r1.y
    mov r0.y, r5.x
    mad r5, r1.xzxz, c22.xxzz, r3
    add r8.xy, r7.w, -r0
    mad_pp r5, r1.yxyx, c22.yyww, r5
    texld r6, r5, s1
    texld r5, r5.zwzw, s1
    mov r0.x, r6.x
    mov r0.y, r5.x
    add r0.xy, r7.w, -r0
    mad r5, r1.xwxw, c23.xxzz, r3
    cmp_pp r9.xy, r0, -c35.w, -c35.z
    mad_pp r5, r1.yxyx, c23.yyww, r5
    texld r6, r5, s1
    texld r5, r5.zwzw, s1
    mov r0.x, r6.x
    mov r0.y, r5.x
    add r0.xy, r7.w, -r0
    mad r2, r2, c24.xxzz, r3
    cmp_pp r3.xy, r0, -c35.w, -c35.z
    mad_pp r1, r1.yxyx, c24.yyww, r2
    texld r2, r1, s1
    texld r1, r1.zwzw, s1
    mov r0.x, r2.x
    mov r0.y, r1.x
    dp2add_pp r0.z, r3, c36.x, c36.y
    add r0.xy, r7.w, -r0
    dp2add_pp r0.z, r9, c36.x, r0.z
    cmp_pp r1.xy, r0, -c35.w, -c35.z
    cmp_pp r0.xy, r8, -c35.w, -c35.z
    dp2add_pp r0.z, r1, c36.x, r0.z
    dp2add_pp r0.z, r0, c36.x, r0.z
    add_pp r0.y, -r0.z, c37.x
    add_pp r0.x, r0.z, c37.y
    cmp_pp r0.y, r0.y, -c35.w, -c35.z
    cmp_pp r0.x, r0.x, -c35.w, -c35.z
    mul r0.y, r0.y, r0.x
    if_ne r0.y, -r0.y
      mad_pp r1, r4.xyxy, r4.w, c17
      mul_pp r2, r1.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r1, r1.zwxx, -c35.zzww
      texldl r1, r1, s1
      mov r1.z, r2.x
      mad_pp r3, r4.xyxy, r4.w, c2
      mov r1.w, r1.x
      mul_pp r2, r3.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r3, r3.zwxx, -c35.zzww
      texldl r5, r3, s1
      mad_pp r3, r4.xyxy, r4.w, c3
      mov r2.y, r5.x
      mul_pp r5, r3.xyxx, -c35.zzww
      texldl r5, r5, s1
      mul_pp r3, r3.zwxx, -c35.zzww
      texldl r3, r3, s1
      mov r2.z, r5.x
      mov r2.w, r3.x
      mad_pp r5, r4.xyxy, r4.w, c4
      add r3, r7.w, -r2
      mul_pp r2, r5.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r5, r5.zwxx, -c35.zzww
      texldl r6, r5, s1
      mad_pp r5, r4.xyxy, r4.w, c5
      mov r2.y, r6.x
      mul_pp r6, r5.xyxx, -c35.zzww
      texldl r6, r6, s1
      mul_pp r5, r5.zwxx, -c35.zzww
      texldl r5, r5, s1
      mov r2.z, r6.x
      mov r2.w, r5.x
      cmp_pp r3, r3, -c35.w, -c35.z
      add r2, r7.w, -r2
      dp4_pp r0.y, r3, c37.z
      cmp_pp r2, r2, -c35.w, -c35.z
      dp4_pp r0.x, r2, c37.z
      mad_pp r3, r4.xyxy, r4.w, c6
      add_pp r0.y, r0.y, r0.x
      mul_pp r2, r3.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r3, r3.zwxx, -c35.zzww
      texldl r5, r3, s1
      mad_pp r3, r4.xyxy, r4.w, c7
      mov r2.y, r5.x
      mul_pp r5, r3.xyxx, -c35.zzww
      texldl r5, r5, s1
      mul_pp r3, r3.zwxx, -c35.zzww
      texldl r3, r3, s1
      mov r2.z, r5.x
      mov r2.w, r3.x
      add r2, r7.w, -r2
      mad_pp r5, r4.xyxy, r4.w, c8
      cmp_pp r3, r2, -c35.w, -c35.z
      mul_pp r2, r5.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r5, r5.zwxx, -c35.zzww
      texldl r6, r5, s1
      mad_pp r5, r4.xyxy, r4.w, c9
      mov r2.y, r6.x
      mul_pp r6, r5.xyxx, -c35.zzww
      texldl r6, r6, s1
      mul_pp r5, r5.zwxx, -c35.zzww
      texldl r5, r5, s1
      mov r2.z, r6.x
      mov r2.w, r5.x
      dp4_pp r0.x, r3, c37.z
      add r2, r7.w, -r2
      add_pp r0.y, r0.y, r0.x
      cmp_pp r2, r2, -c35.w, -c35.z
      dp4_pp r0.x, r2, c37.z
      mad_pp r3, r4.xyxy, r4.w, c10
      add_pp r0.y, r0.y, r0.x
      mul_pp r2, r3.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r3, r3.zwxx, -c35.zzww
      texldl r5, r3, s1
      mad_pp r3, r4.xyxy, r4.w, c11
      mov r2.y, r5.x
      mul_pp r5, r3.xyxx, -c35.zzww
      texldl r5, r5, s1
      mul_pp r3, r3.zwxx, -c35.zzww
      texldl r3, r3, s1
      mov r2.z, r5.x
      mov r2.w, r3.x
      add r2, r7.w, -r2
      mad_pp r5, r4.xyxy, r4.w, c12
      cmp_pp r3, r2, -c35.w, -c35.z
      mul_pp r2, r5.xyxx, -c35.zzww
      texldl r2, r2, s1
      mul_pp r5, r5.zwxx, -c35.zzww
      texldl r6, r5, s1
      mad_pp r5, r4.xyxy, r4.w, c13
      mov r2.y, r6.x
      mul_pp r6, r5.xyxx, -c35.zzww
      texldl r6, r6, s1
      mul_pp r5, r5.zwxx, -c35.zzww
      texldl r5, r5, s1
      mov r2.z, r6.x
      mov r2.w, r5.x
      dp4_pp r0.x, r3, c37.z
      add r2, r7.w, -r2
      add_pp r0.y, r0.y, r0.x
      cmp_pp r2, r2, -c35.w, -c35.z
      dp4_pp r0.x, r2, c37.z
      mad_pp r2, r4.xyxy, r4.w, c14
      add_pp r0.y, r0.y, r0.x
      mul_pp r3, r2.zwxx, -c35.zzww
      texldl r5, r3, s1
      mad_pp r6, r4.xyxy, r4.w, c16
      mul_pp r3, r6.zwxx, -c35.zzww
      texldl r3, r3, s1
      mul_pp r6, r6.xyxx, -c35.zzww
      texldl r6, r6, s1
      mov r1.x, r6.x
      mul_pp r2, r2.xyxx, -c35.zzww
      texldl r2, r2, s1
      mad_pp r4, r4.xyxy, r4.w, c15
      mov r2.y, r5.x
      mul_pp r5, r4.xyxx, -c35.zzww
      texldl r5, r5, s1
      mul_pp r4, r4.zwxx, -c35.zzww
      texldl r4, r4, s1
      mov r2.z, r5.x
      mov r2.w, r4.x
      mov r1.y, r3.x
      add r2, r7.w, -r2
      add r1, r7.w, -r1
      cmp_pp r2, r2, -c35.w, -c35.z
      cmp_pp r1, r1, -c35.w, -c35.z
      dp4_pp r2.w, r2, c37.z
      dp4_pp r0.x, r1, c37.z
      add_pp r0.y, r0.y, r2.w
      add_pp r0.y, r0.x, r0.y
      add_pp r0.y, -r0.z, r0.y
      mad_pp r2.z, r0.y, c37.w, r0.z
    else
      mov_pp r2.z, r0.z
    endif
    mul r0.xyz, r7.y, c27
    mad r0.xyz, c26, r7.x, r0
    mad r0.xyz, c28, r0.w, r0
    add r0.xyz, r0, c29
    add r0.xyz, -r0, c31
    mul r0.xyz, r0, c31.w
    dp3 r1.w, r0, r0
    rsq r0.w, r1.w
    mul r0.xyz, r0, r0.w
    dp3 r0.w, r0, -c33
    add r0.w, r0.w, -c34.x
    mul_sat r0.w, r0.w, c34.y
    add_sat r1.w, -r1.w, -c35.z
    mul r0.z, r0.w, r0.w
    pow r0.w, r1.w, c32.x
    mul_pp r1.w, r0.z, r0.w
    mov r0.y, c35.z
    add r0, r0.y, c30
    mul_pp r2.w, r2.z, r2.z
    mad_pp r1, r1.w, r0, -c35.z
    mul_pp r2.w, r2.z, r2.w
    add_pp r0, -r1, -c35.z
    mad_pp oC0, r2.w, r0, r1

// approximately 263 instruction slots used (74 texture, 189 arithmetic)
 

