//
// 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;
//   float2 ShadowBufferSize;
//   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
//   ShadowBufferSize          c20      1
//   ShadowModulateColor       c21      1
//   LightPosition             c22      1
//   FalloffExponent           c23      1
//   SpotDirection             c24      1
//   SpotAngles                c25      1
//   SceneColorTexture         s0       1
//   ShadowDepthTexture        s1       1
//   RandomAngleTexture        s2       1
//

    ps_3_0
    def c26, 0.999000013, 2, -1, -0
    def c27, 0.03125, 1, -1, 9.99999975e-005
    def c28, -0.999899983, 0.0833333358, 0.699999988, 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 r11.xy, r1, r0.w
    mul r1, r11.y, c9
  texldl r16, c200.z, s13
  add r16.y, r0.w, -r16.y
  mul r16.x, r16.x, r16.y
  add r11.x, r11.x, -r16.x
    mad r1, c8, r11.x, r1
    mad r1, c10, r0.w, r1
    add r1, r1, c11
    rcp r11.w, r1.w
    mul r0.xy, vPos, c0
    texld r2, r0, s2
    mad_pp r3.xy, c26.y, r2, c26.z
    mov_pp r3.zw, -r3.y
    mul r7, r1.xyxy, r11.w
    mad r2, r3.xzxz, c12.xxzz, r7
    mad_pp r2, r3.yxyx, c12.yyww, r2
    min r5.z, r1.z, c26.x
    mul r5.xyw, r2.xyzx, -c26.zzzw
    texldl r4, r5, s1
    add r4, r5.z, -r4
    cmp_pp r4, r4, -c26.w, -c26.z
    dp4_pp r0.z, r4, c27.x
    mul r5.xyw, r2.zwzx, -c26.zzzw
    texldl r2, r5, s1
    add r4, r5.z, -r2
    mad r2, r3.xwxw, c13.xxzz, r7
    cmp_pp r8, r4, -c26.w, -c26.z
    mad_pp r2, r3.yxyx, c13.yyww, r2
    mov r4.zw, r5
    mov_pp r4.xy, r2
    texldl r6, r4, s1
    add r6, r5.z, -r6
    dp4_pp r0.y, r8, c27.x
    cmp_pp r6, r6, -c26.w, -c26.z
    add_pp r0.z, r0.z, r0.y
    dp4_pp r0.y, r6, c27.x
    mov_pp r4.xy, r2.zwzw
    texldl r2, r4, s1
    add r2, r5.z, -r2
    add_pp r0.z, r0.z, r0.y
    cmp_pp r2, r2, -c26.w, -c26.z
    dp4_pp r0.y, r2, c27.x
    mul_pp r6, r3.xyxy, c27.yzyz
    add_pp r0.z, r0.z, r0.y
    mad r2, r6, c15.xxzz, r7
    mad_pp r2, r3.yxyx, c15.yyww, r2
    mad r6, r6, c14.xxzz, r7
    mad_pp r3, r3.yxyx, c14.yyww, r6
    mov r8.zw, r4
    mov_pp r4.xy, r3
    texldl r4, r4, s1
    add r4, r5.z, -r4
    cmp_pp r4, r4, -c26.w, -c26.z
    mov_pp r8.xy, r3.zwzw
    texldl r3, r8, s1
    add r3, r5.z, -r3
    dp4_pp r0.y, r4, c27.x
    cmp_pp r3, r3, -c26.w, -c26.z
    add_pp r0.z, r0.z, r0.y
    dp4_pp r0.y, r3, c27.x
    mov_pp r8.xy, r2
    texldl r3, r8, s1
    add r3, r5.z, -r3
    add_pp r0.z, r0.z, r0.y
    cmp_pp r3, r3, -c26.w, -c26.z
    mov_pp r8.xy, r2.zwzw
    texldl r2, r8, s1
    add r2, r5.z, -r2
    dp4_pp r0.y, r3, c27.x
    cmp_pp r2, r2, -c26.w, -c26.z
    add_pp r0.z, r0.z, r0.y
    dp4_pp r0.y, r2, c27.x
    add_pp r0.z, r0.z, r0.y
    add_pp r0.y, -r0.z, c27.w
    add_pp r0.x, r0.z, c28.x
    cmp r0.y, r0.y, -c26.w, -c26.z
    cmp r0.x, r0.x, -c26.w, -c26.z
    mul r0.y, r0.y, r0.x
    if_ne r0.y, -r0.y
      mov r7.zw, r8
      mov r6.zw, r7
      mad_pp r2, r1.xyxy, r11.w, c2
      mov r3.zw, r6
      mul r4, r2, c20.xyxy
      frc_pp r4, r4
      mov_pp r7.xy, r2.zwzw
      texldl r9, r7, s1
      add r1.zw, r5.z, -r9.xywx
      cmp_pp r7.zw, r1, -c26.w, -c26.z
      add r1.zw, r5.z, -r9.xyyz
      cmp_pp r2.zw, r1, -c26.w, -c26.z
      mov_pp r8.xy, r2
      texldl r8, r8, s1
      add r8, r5.z, -r8.wxyz
      cmp_pp r7.xy, r8, -c26.w, -c26.z
      cmp_pp r2.xy, r8.zwzw, -c26.w, -c26.z
      lrp_pp r8, r4.yyww, r2, r7
      mad_pp r7, r1.xyxy, r11.w, c3
      lrp_pp r2.xy, r4.xzzw, r8.ywzw, r8.xzzw
      mul r4, r7, c20.xyxy
      frc_pp r4, r4
      mov_pp r3.xy, r7.zwzw
      texldl r9, r3, s1
      add r1.zw, r5.z, -r9.xywx
      cmp_pp r8.zw, r1, -c26.w, -c26.z
      add r1.zw, r5.z, -r9.xyyz
      cmp_pp r7.zw, r1, -c26.w, -c26.z
      mov_pp r6.xy, r7
      texldl r6, r6, s1
      add r6, r5.z, -r6.wxyz
      cmp_pp r8.xy, r6, -c26.w, -c26.z
      cmp_pp r7.xy, r6.zwzw, -c26.w, -c26.z
      lrp_pp r6, r4.yyww, r7, r8
      lrp_pp r2.zw, r4.xyxz, r6.xyyw, r6.xyxz
      mov r7.zw, r3
      dp4_pp r0.y, r2, c28.y
      mov r2.zw, r7
      mov r8.zw, r2
      mad_pp r6, r1.xyxy, r11.w, c4
      mul r4, r6, c20.xyxy
      mov_pp r7.xy, r6.zwzw
      texldl r9, r7, s1
      add r1.zw, r5.z, -r9.xywx
      frc_pp r4, r4
      cmp_pp r7.zw, r1, -c26.w, -c26.z
      add r1.zw, r5.z, -r9.xyyz
      mov_pp r3.xy, r6
      texldl r3, r3, s1
      add r6, r5.z, -r3.wxyz
      cmp_pp r3.zw, r1, -c26.w, -c26.z
      cmp_pp r7.xy, r6, -c26.w, -c26.z
      cmp_pp r3.xy, r6.zwzw, -c26.w, -c26.z
      mad_pp r6, r1.xyxy, r11.w, c5
      lrp_pp r9, r4.yyww, r3, r7
      mul r3, r6, c20.xyxy
      frc_pp r3, r3
      mov_pp r8.xy, r6.zwzw
      texldl r10, r8, s1
      add r1.zw, r5.z, -r10.xywx
      cmp_pp r7.zw, r1, -c26.w, -c26.z
      add r1.zw, r5.z, -r10.xyyz
      cmp_pp r6.zw, r1, -c26.w, -c26.z
      mov_pp r2.xy, r6
      texldl r2, r2, s1
      add r2, r5.z, -r2.wxyz
      cmp_pp r7.xy, r2, -c26.w, -c26.z
      cmp_pp r6.xy, r2.zwzw, -c26.w, -c26.z
      lrp_pp r2.xy, r4.xzzw, r9.ywzw, r9.xzzw
      lrp_pp r4, r3.yyww, r6, r7
      lrp_pp r2.zw, r3.xyxz, r4.xyyw, r4.xyxz
      dp4_pp r0.x, r2, c28.y
      mov r6.zw, r8
      mov r2.zw, r6
      mad_pp r3, r1.xyxy, r11.w, c7
      mov r7.zw, r2
      mul r4, r3, c20.xyxy
      frc_pp r4, r4
      mov_pp r7.xy, r3.zwzw
      texldl r7, r7, s1
      add r3.zw, r5.z, -r7.xywx
      add r1.zw, r5.z, -r7.xyyz
      cmp_pp r7.zw, r3, -c26.w, -c26.z
      cmp_pp r3.zw, r1, -c26.w, -c26.z
      mov_pp r2.xy, r3
      texldl r2, r2, s1
      add r2, r5.z, -r2.wxyz
      cmp_pp r7.xy, r2, -c26.w, -c26.z
      mad_pp r1, r1.xyxy, r11.w, c6
      cmp_pp r3.xy, r2.zwzw, -c26.w, -c26.z
      mul r2, r1, c20.xyxy
      frc_pp r2, r2
      mov_pp r6.xy, r1.zwzw
      texldl r9, r6, s1
      add r1.zw, r5.z, -r9.xywx
      cmp_pp r6.zw, r1, -c26.w, -c26.z
      add r1.zw, r5.z, -r9.xyyz
      cmp_pp r1.zw, r1, -c26.w, -c26.z
      mov_pp r8.xy, r1
      texldl r8, r8, s1
      add r5, r5.z, -r8.wxyz
      cmp_pp r6.xy, r5, -c26.w, -c26.z
      cmp_pp r1.xy, r5.zwzw, -c26.w, -c26.z
      lrp_pp r5, r4.yyww, r3, r7
      lrp_pp r3, r2.yyww, r1, r6
      lrp_pp r1.zw, r4.xyxz, r5.xyyw, r5.xyxz
      lrp_pp r1.xy, r2.xzzw, r3.ywzw, r3.xzzw
      add_pp r0.y, r0.y, r0.x
      dp4_pp r0.x, r1, c28.y
      add_pp r0.y, r0.y, r0.x
      add_pp r0.y, -r0.z, r0.y
      mad_pp r2.z, r0.y, c28.z, r0.z
    else
      mov_pp r2.z, r0.z
    endif
    mul r0.xyz, r11.y, c17
    mad r0.xyz, c16, r11.x, r0
    mad r0.xyz, c18, r0.w, r0
    add r0.xyz, r0, c19
    add r0.xyz, -r0, c22
    mul r0.xyz, r0, c22.w
    dp3 r1.w, r0, r0
    rsq r0.w, r1.w
    mul r0.xyz, r0, r0.w
    dp3 r0.w, r0, -c24
    add r0.w, r0.w, -c25.x
    mul_sat r0.w, r0.w, c25.y
    add_sat r1.w, -r1.w, -c26.z
    mul r0.z, r0.w, r0.w
    pow r0.w, r1.w, c23.x
    mul_pp r1.w, r0.z, r0.w
    mov r0.y, c26.z
    add r0, r0.y, c21
    mul_pp r2.w, r2.z, r2.z
    mad_pp r1, r1.w, r0, -c26.z
    mul_pp r2.w, r2.z, r2.w
    add_pp r0, -r1, -c26.z
    mad_pp oC0, r2.w, r0, r1

// approximately 242 instruction slots used (42 texture, 200 arithmetic)
 

