//
// Generated by Microsoft (R) HLSL Shader Compiler 9.24.949.2307
//
// Parameters:
//
//   float3 FalloffParameters;
//   float4 LightPosition;
//   float4 SampleOffsets[8];
//   sampler2D SceneColorTexture;
//   float4 ScreenPositionScaleBias;
//   float4x4 ScreenToShadowMatrix;
//   float4x4 ScreenToWorld;
//   float2 ShadowBufferSize;
//   sampler2D ShadowDepthTexture;
//   float4 ShadowModulateColor;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   ShadowModulateColor     c0       1
//   ScreenPositionScaleBias c1       1
//   SampleOffsets           c2       8
//   ScreenToWorld           c10      4
//   ScreenToShadowMatrix    c14      4
//   LightPosition           c18      1
//   FalloffParameters       c19      1
//   ShadowBufferSize        c20      1
//   SceneColorTexture       s0       1
//   ShadowDepthTexture      s1       1
//

    ps_3_0
    def c21, 0.999000013, 0, 1, 0.0625
    def c22, 9.99999975e-005, 0, 0, 0
  def c200, 0.5, 0, 0.0625, 0
  dcl_2d s13
    dcl_texcoord v0.xyw
    dcl_2d s0
    dcl_2d s1
    rcp r0.x, v0.w
    mul r0.xy, r0.x, v0
    mad r0.zw, r0.xyxy, c1.xyxy, c1.xywz
    texld_pp r1, r0.zwzw, s0
    mul r0.xy, r0, r1.w
    mul r2, r0.y, c15
  texldl r16, c200.z, s13
  add r16.y, r1.w, -r16.y
  mul r16.x, r16.x, r16.y
  add r0.x, r0.x, -r16.x
    mad r2, c14, r0.x, r2
    mad r2, c16, r1.w, r2
    add r2, r2, c17
    rcp r0.z, r2.w
    mad_pp r3, r2.xyxy, r0.z, c2
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r5, r3, s1
    texld r3, r3.zwzw, s1
    min r0.w, r2.z, c21.x
    add r5, -r5.wxyz, r0.w
    cmp_pp r5, r5.zwxy, c21.y, c21.z
    mov_pp r6.xy, r5.zwzw
    add r3, -r3.wxyz, r0.w
    cmp_pp r3, r3, c21.y, c21.z
    mov_pp r6.zw, r3.xyxy
    mov_pp r5.zw, r3
    lrp_pp r3, r4.yyww, r5, r6
    lrp_pp r5.xy, r4.xzzw, r3.ywzw, r3.xzzw
    mad_pp r3, r2.xyxy, r0.z, c3
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r6, r3, s1
    texld r3, r3.zwzw, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3, c21.y, c21.z
    add r6, r0.w, -r6.wxyz
    cmp_pp r6, r6.zwxy, c21.y, c21.z
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r3.xyxy
    mov_pp r6.zw, r3
    lrp_pp r3, r4.yyww, r6, r7
    lrp_pp r5.zw, r4.xyxz, r3.xyyw, r3.xyxz
    dp4_pp r1.x, r5, c21.w
    mad_pp r3, r2.xyxy, r0.z, c4
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r5, r3, s1
    texld r3, r3.zwzw, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3, c21.y, c21.z
    add r5, r0.w, -r5.wxyz
    cmp_pp r5, r5.zwxy, c21.y, c21.z
    mov_pp r6.xy, r5.zwzw
    mov_pp r6.zw, r3.xyxy
    mov_pp r5.zw, r3
    lrp_pp r3, r4.yyww, r5, r6
    lrp_pp r5.xy, r4.xzzw, r3.ywzw, r3.xzzw
    mad_pp r3, r2.xyxy, r0.z, c5
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r6, r3, s1
    texld r3, r3.zwzw, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3, c21.y, c21.z
    add r6, r0.w, -r6.wxyz
    cmp_pp r6, r6.zwxy, c21.y, c21.z
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r3.xyxy
    mov_pp r6.zw, r3
    lrp_pp r3, r4.yyww, r6, r7
    lrp_pp r5.zw, r4.xyxz, r3.xyyw, r3.xyxz
    dp4_pp r1.y, r5, c21.w
    add_pp r1.x, r1.x, r1.y
    mad_pp r3, r2.xyxy, r0.z, c6
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r5, r3, s1
    texld r3, r3.zwzw, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3, c21.y, c21.z
    add r5, r0.w, -r5.wxyz
    cmp_pp r5, r5.zwxy, c21.y, c21.z
    mov_pp r6.xy, r5.zwzw
    mov_pp r6.zw, r3.xyxy
    mov_pp r5.zw, r3
    lrp_pp r3, r4.yyww, r5, r6
    lrp_pp r5.xy, r4.xzzw, r3.ywzw, r3.xzzw
    mad_pp r3, r2.xyxy, r0.z, c7
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r6, r3, s1
    texld r3, r3.zwzw, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3, c21.y, c21.z
    add r6, r0.w, -r6.wxyz
    cmp_pp r6, r6.zwxy, c21.y, c21.z
    mov_pp r7.xy, r6.zwzw
    mov_pp r7.zw, r3.xyxy
    mov_pp r6.zw, r3
    lrp_pp r3, r4.yyww, r6, r7
    lrp_pp r5.zw, r4.xyxz, r3.xyyw, r3.xyxz
    dp4_pp r1.y, r5, c21.w
    add_pp r1.x, r1.x, r1.y
    mad_pp r3, r2.xyxy, r0.z, c8
    mad_pp r2, r2.xyxy, r0.z, c9
    mul r4, r3, c20.xyxy
    frc_pp r4, r4
    texld r5, r3, s1
    texld r3, r3.zwzw, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3, c21.y, c21.z
    add r5, r0.w, -r5.wxyz
    cmp_pp r5, r5.zwxy, c21.y, c21.z
    mov_pp r6.xy, r5.zwzw
    mov_pp r6.zw, r3.xyxy
    mov_pp r5.zw, r3
    lrp_pp r3, r4.yyww, r5, r6
    lrp_pp r5.xy, r4.xzzw, r3.ywzw, r3.xzzw
    texld r3, r2, s1
    add r3, r0.w, -r3.wxyz
    cmp_pp r3, r3.zwxy, c21.y, c21.z
    mov_pp r4.xy, r3.zwzw
    texld r6, r2.zwzw, s1
    mul r2, r2, c20.xyxy
    frc_pp r2, r2
    add r6, r0.w, -r6.wxyz
    cmp_pp r6, r6, c21.y, c21.z
    mov_pp r4.zw, r6.xyxy
    mov_pp r3.zw, r6
    lrp_pp r6, r2.yyww, r3, r4
    lrp_pp r5.zw, r2.xyxz, r6.xyyw, r6.xyxz
    dp4_pp r0.z, r5, c21.w
    add_pp r0.z, r1.x, r0.z
    mul r0.z, r0.z, r0.z
    mul r1.xyz, r0.y, c11
    mad r0.xyw, c10.xyzz, r0.x, r1.xyzz
    mad r0.xyw, c12.xyzz, r1.w, r0
    add r0.xyw, r0, c13.xyzz
    add r0.xyw, -r0, c18.xyzz
    mul r0.xyw, r0, c18.w
    dp3 r0.x, r0.xyww, r0.xyww
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    mad r0.x, r0.x, c19.y, c19.z
    max r1.x, r0.x, c21.y
    mad_sat r0.x, r1.x, -r1.x, c21.z
    max r1.x, r0.x, c22.x
    pow_pp r0.x, r1.x, c19.x
    mov r1.z, c21.z
    add r1, -r1.z, c0
    mad r1, r0.x, r1, c21.z
    add r2, -r1, c21.z
    mad oC0, r0.z, r2, r1

// approximately 152 instruction slots used (17 texture, 135 arithmetic)
 

