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

    ps_3_0
    def c17, 0.999000013, 2, -1, -0
    def c18, 0.25, 9.99999975e-005, -0.999899983, 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, c3
  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, c2, r7.x, r1
    mad r1, c4, r0.w, r1
    add r3, r1, c5
    rcp r7.w, r3.w
    min r5.z, r3.z, c17.x
    mov r4.z, r5.z
    mul r0.xy, vPos, c0
    texld r1, r0, s2
    mad_pp r1.xy, c17.y, r1, c17.z
    mov_pp r1.zw, -r1.y
    mul r6, r3.xyxy, r7.w
    mad r2, r1.xwxw, c13.xxzz, r6
    mad r6, r1.xzxz, c12.xxzz, r6
    mad_pp r2, r1.yxyx, c13.yyww, r2
    mad_pp r6, r1.yxyx, c12.yyww, r6
    mov_pp r1.xy, r2
    mul r5.xyw, r6.xyzx, -c17.zzzw
    texldl_pp r5, r5, s1
    mul r4.xyw, r6.zwzx, -c17.zzzw
    texldl_pp r6, r4, s1
    add_pp r0.z, r5.x, r6.x
    mov r1.zw, r4
    texldl_pp r4, r1, s1
    add_pp r0.z, r0.z, r4.x
    mov_pp r1.xy, r2.zwzw
    texldl_pp r2, r1, s1
    add_pp r0.z, r0.z, r2.x
    mad_pp r0.x, r0.z, c18.x, c18.z
    mad_pp r0.y, r0.z, -c18.x, c18.y
    cmp r0.x, r0.x, -c17.w, -c17.z
    cmp r0.y, r0.y, -c17.w, -c17.z
    mul r0.y, r0.x, r0.y
    mul_pp r0.z, r0.z, c18.x
    if_ne r0.y, -r0.y
      mov r3.zw, r1
      mov r4.zw, r3
      mov r2.zw, r4
      mad_pp r5, r3.xyxy, r7.w, c11
      mov r1.zw, r2
      mov_pp r1.xy, r5.zwzw
      texldl_pp r1, r1, s1
      mov_pp r2.xy, r5
      texldl_pp r2, r2, s1
      mad_pp r5, r3.xyxy, r7.w, c10
      mov_pp r4.xy, r5.zwzw
      texldl_pp r4, r4, s1
      mov_pp r3.xy, r5
      texldl_pp r3, r3, s1
      add_pp r0.y, r4.x, r3.x
      add_pp r0.y, r2.x, r0.y
      add_pp r0.y, r1.x, r0.y
      mad_pp r0.y, r0.y, c18.x, -r0.z
      mad_pp r2.z, r0.y, c18.w, r0.z
    else
      mov_pp r2.z, r0.z
    endif
    mul r0.xyz, r7.y, c7
    mad r0.xyz, c6, r7.x, r0
    mad r0.xyz, c8, r0.w, r0
    add r0.xyz, r0, c9
    add r0.xyz, -r0, c15
    mul r0.xyz, r0, c15.w
    dp3 r0.w, r0, r0
    add_sat r0.w, -r0.w, -c17.z
    pow_pp r1.w, r0.w, c16.x
    mov r0.y, c17.z
    add r0, r0.y, c14
    mul_pp r2.w, r2.z, r2.z
    mad_pp r1, r1.w, r0, -c17.z
    mul_pp r2.w, r2.z, r2.w
    add_pp r0, -r1, -c17.z
    mad_pp oC0, r2.w, r0, r1

// approximately 90 instruction slots used (18 texture, 72 arithmetic)
 

