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

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

// approximately 95 instruction slots used (26 texture, 69 arithmetic)
 

