//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CBScreen__packed1;
//   float4 CBViewProjection__packed4;
//   sampler2D SSPoint__tDepthMap;
//   sampler2D SSShadowDepth__tShadowMapCombine;
//   float4 __tShadowMapCombine__invsize;
//   row_major float4x4 fProj;
//   
//   struct
//   {
//       float4 __packed0;
//       float4 __packed1;
//       float4 fShadowRange;
//       row_major float4x4 fShadowProjectNear;
//       row_major float4x4 fShadowProjectMiddle;
//       row_major float4x4 fShadowProjectFar;
//       float4 __packed15;
//       float4 __packed16;
//       float4 fShadowMapSize;
//       row_major float3x4 fShadowRangeMat;
//       float4 __packed21;
//       float4 __packed22;
//
//   } sShadowReceiveParam;
//
//
// Registers:
//
//   Name                             Reg   Size
//   -------------------------------- ----- ----
//   sShadowReceiveParam              c1      23
//   fProj                            c24      4
//   CBScreen__packed1                c28      1
//   CBViewProjection__packed4        c29      1
//   __tShadowMapCombine__invsize     c30      1
//   SSPoint__tDepthMap               s0       1
//   SSShadowDepth__tShadowMapCombine s1       1
//

    ps_3_0
    def c0, 0.5, 1, 0.00392156886, 1.53787005e-005
    def c31, -0.5, -0.166666672, -0.497500002, -0.165833339
    def c32, 0, 1, -2, -1
    def c33, 0.111111112, -5, -2, 3
def c200, 1, 0, 0.0625, 0.5
dcl_2d s13	
    dcl_texcoord v0.xyz
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    add r0.xy, c0.x, vPos
    mul r0.xy, r0, c28.zwzw
    texld r0, r0, s0
    dp3 r0.x, r0, c0.yzww
    add r0.x, r0.x, c26.z
    rcp r0.x, r0.x
    mul r0.x, r0.x, c27.z
    if_lt r0.x, c3.z
      mad r0.yzw, r0.x, v0.xxyz, c29.xxyz

mov r21.xyz, r0.yzw

mul r22, c175, r21.y
mad r22, c174, r21.x, r22
mad r22, c176, r21.z, r22
add r22, r22, c177

texldl r24, c200.z, s13
add r24.y, r22.w, -r24.y
mul r24.x, r24.x, r24.y
add r22.x, r22.x, -r24.x

rcp r22.w, r22.w
mul r22.xyz, r22.xyz, r22.w

mul r21, c171, r22.y
mad r21, c170, r22.x, r21
mad r21, c172, r22.z, r21
add r21, r21, c173

rcp r21.w, r21.w
mul r21.xyz, r21.xyz, r21.w

mov r0.yzw, r21.xyz	

      mul r1.xyz, r0.z, c5
      mad r1.xyz, r0.y, c4, r1
      mad r1.xyz, r0.w, c6, r1
      add r1.xyz, r1, c7
      mul r2.xyz, r0.z, c9
      mad r2.xyz, r0.y, c8, r2
      mad r2.xyz, r0.w, c10, r2
      add r2.xyz, r2, c11
      mul r3.xyz, r0.z, c13
      mad r3.xyz, r0.y, c12, r3
      mad r0.yzw, r0.w, c14.xxyz, r3.xxyz
      add r0.yzw, r0, c15.xxyz
      add r3.xy, r1, c31
      add r3.xy, r3_abs, c31.zwzw
      cmp r3.xy, r3, c32.x, c32.y
      mul r1.w, r3.y, r3.x
      add r3.xy, r2, -c0.x
      add r3.xy, r3_abs, c31.zwzw
      cmp r3.xy, r3, c32.x, c32.y
      mul r2.w, r3.y, r3.x
      cmp r0.yzw, -r2.w, r0, r2.xxyz
      cmp r1.xyz, -r1.w, r0.yzww, r1
      mov r2, c32
      mad r3, c30.xyxy, r2.zzzw, r1.xyxy
      mul r4, r3.xyxx, c32.yyxx
      texldl r4, r4, s1
      mul r3, r3.zwxx, c32.yyxx
      texldl r3, r3, s1
      mad r5, c30.xyxy, r2.zxzy, r1.xyxy
      mul r6, r5.xyxx, c32.yyxx
      texldl r6, r6, s1
      mul r5, r5.zwxx, c32.yyxx
      texldl r5, r5, s1
      mad r7, c30.xyxy, r2.wzwx, r1.xyxy
      mul r8, r7.xyxx, c32.yyxx
      texldl r8, r8, s1
      add r9.xy, r1, -c30
      mov r9.zw, c32.x
      texldl r9, r9, s1
      mul r7, r7.zwxx, c32.yyxx
      texldl r7, r7, s1
      mad r10, c30.xyxy, r2.wyxz, r1.xyxy
      mul r11, r10.xyxx, c32.yyxx
      texldl r11, r11, s1
      mul r10, r10.zwxx, c32.yyxx
      texldl r10, r10, s1
      mad r12, c30.xyxy, r2.xwxy, r1.xyxy
      mul r13, r12.xyxx, c32.yyxx
      texldl r13, r13, s1
      mov r1.w, c32.x
      texldl r14, r1.xyww, s1
      mul r12, r12.zwxx, c32.yyxx
      texldl r12, r12, s1
      mad r15, c30.xyxy, r2.yzyw, r1.xyxy
      mul r16, r15.xyxx, c32.yyxx
      texldl r16, r16, s1
      mul r15, r15.zwxx, c32.yyxx
      texldl r15, r15, s1
      mad r2.xy, c30, r2.yxzw, r1
      mov r2.zw, c32.x
      texldl r2, r2, s1
      add r17.xy, r1, c30
      mov r17.zw, c32.x
      texldl r17, r17, s1
      mov r4.y, r3.x
      mov r4.z, r6.x
      mov r4.w, r5.x
      add r3, r1.z, -r4
      cmp r4, r3, c32.y, c32.x
      mov r8.y, r9.x
      mov r8.z, r7.x
      mov r8.w, r11.x
      add r5, r1.z, -r8
      cmp r5, r5, c32.y, c32.x
      mov r10.y, r13.x
      mov r10.z, r14.x
      mov r10.w, r12.x
      add r6, r1.z, -r10
      cmp r6, r6, c32.y, c32.x
      mov r16.y, r15.x
      mov r16.z, r2.x
      mov r16.w, r17.x
      add r2, r1.z, -r16
      cmp r2, r2, c32.y, c32.x
      mul r0.yz, r1.xxyw, c18.xxyw
      frc r0.yz, r0
      add r1, r4, r5
      add r1, r6, r1
      cmp r3, r3, -c32.y, -c32.x
      add r2, r2, r3
      mad r1, r2, r0.y, r1
      add r0.y, r1.y, r1.x
      add r0.y, r1.z, r0.y
      add r0.w, -r1.x, r1.w
      mad r0.y, r0.w, r0.z, r0.y
      mul r0.y, r0.y, c33.x
    else
      mov r0.y, c32.x
    endif
    mov r0.w, c3.w
    mad r0.z, r0.x, r0.w, -c23.y
    mad r0.x, r0.x, r0.w, -c0.y
    mul_sat r0.x, r0.x, c33.y
    mad r0.w, r0.x, c33.z, c33.w
    mul r0.x, r0.x, r0.x
    mul r0.x, r0.x, r0.w
    cmp r0.x, r0.z, r0.x, c32.x
    mul oC0, r0.x, r0.y

// approximately 135 instruction slots used (33 texture, 102 arithmetic)
 