//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CBScreen__packed1;
//   float4 CBViewProjection__packed4;
//   sampler2D SSBorderPoint__tGBuffer;
//   sampler2D SSPoint__tDepthMap;
//   sampler2D SSShadowDepth__tShadowMapCombine;
//   float4 __tShadowMapCombine__invsize;
//   row_major float4x4 fProj;
//   row_major float4x4 fViewI;
//   
//   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      22
//   fProj                            c23      4
//   fViewI                           c27      3
//   CBScreen__packed1                c30      1
//   CBViewProjection__packed4        c31      1
//   __tShadowMapCombine__invsize     c32      1
//   SSPoint__tDepthMap               s0       1
//   SSBorderPoint__tGBuffer          s1       1
//   SSShadowDepth__tShadowMapCombine s2       1
//

    ps_3_0
    def c0, 0.5, 1, 0.00392156886, 1.53787005e-005
    def c33, 4, -2, 0, 1
    def c34, 0.25, 0.5, 1, 0.111111112
    def c35, -2, 3, 0, 0
    def c36, -1, -2, 0, 1
def c200, 1, 0, 0.0625, 0.5
dcl_2d s13	
    dcl_texcoord v0.xyz
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    add r0.xy, c0.x, vPos
    mul r0.xy, r0, c30.zwzw
    texld r1, r0, s0
    dp3 r0.z, r1, c0.yzww
    add r0.z, r0.z, c25.z
    rcp r0.z, r0.z
    mul r0.z, r0.z, c26.z
    mad r1.xyz, r0.z, v0, c31

mov r21.xyz, r1.xyz

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 r1.xyz, r21.xyz	
	
    texld r0, r0, s1
    mad r0.xy, r0, c33.x, c33.y
    dp2add r0.z, r0, r0, c33.z
    mad r0.zw, r0.z, -c34.xyxy, c34.z
    rsq r0.z, r0.z
    rcp r0.z, r0.z
    mul r0.xy, r0.z, r0
    mul r2.xyz, r0.y, c28
    mad r0.xyz, r0.x, c27, r2
    mad r0.xyz, r0.w, c29, r0
    nrm r2.xyz, r0
    add r0.xyz, -r1, c1
    nrm r3.xyz, r0
    dp3 r0.x, r3, r2
    if_lt r0.x, c33.z
      mov r0.y, c0.y
    else
      mul r2, r1.y, c5
      mad r2, r1.x, c4, r2
      mad r2, r1.z, c6, r2
      add r2, r2, c7
      rcp r0.z, r2.w
      mul r3.xyz, r0.z, r2
      cmp r4.xyz, -r3, c33.z, c33.w
      mul r0.w, r4.y, r4.x
      mul r0.w, r4.z, r0.w
      mad r4.xyz, r2, r0.z, -c0.y
      cmp r4.xyz, r4, c33.z, c33.w
      mul r1.w, r4.y, r4.x
      mul r1.w, r4.z, r1.w
      mul r0.w, r0.w, r1.w
      if_ne r0.w, -r0.w
        mov r4.yzw, c33
        mad r5, c32.xyxy, -r4_abs.yyyw, r3.xyxy
        mul r6, r5.xyxx, c33.wwzz
        texldl r6, r6, s2
        mul r5, r5.zwxx, c33.wwzz
        texldl r5, r5, s2
        mad r7, c32.xyxy, r4.yzyw, r3.xyxy
        mul r8, r7.xyxx, c33.wwzz
        texldl r8, r8, s2
        mul r7, r7.zwxx, c33.wwzz
        texldl r7, r7, s2
        mov r4.xy, c32
        mad r9, r4.xyxy, c36.xyxz, r3.xyxy
        mul r10, r9.xyxx, c33.wwzz
        texldl r10, r10, s2
        mad r11.xy, r2, r0.z, -c32
        mov r11.zw, c33.z
        texldl r11, r11, s2
        mul r9, r9.zwxx, c33.wwzz
        texldl r9, r9, s2
        mad r12, r4.xyxy, c36.xwzy, r3.xyxy
        mul r13, r12.xyxx, c33.wwzz
        texldl r13, r13, s2
        mul r12, r12.zwxx, c33.wwzz
        texldl r12, r12, s2
        mad r14, r4.xyxy, c36.zxzw, r3.xyxy
        mul r15, r14.xyxx, c33.wwzz
        texldl r15, r15, s2
        mov r3.w, c33.z
        texldl r16, r3.xyww, s2
        mul r14, r14.zwxx, c33.wwzz
        texldl r14, r14, s2
        mad r17, r4.xyxy, c36.wywx, r3.xyxy
        mul r18, r17.xyxx, c33.wwzz
        texldl r18, r18, s2
        mul r17, r17.zwxx, c33.wwzz
        texldl r17, r17, s2
        mad r4.xy, c32, r4.wzzw, r3
        mov r4.zw, c33.z
        texldl r4, r4, s2
        mad r19.xy, r2, r0.z, c32
        mov r19.zw, c33.z
        texldl r19, r19, s2
        mov r6.y, r5.x
        mov r6.z, r8.x
        mov r6.w, r7.x
        mad r5, r2.z, r0.z, -r6
        cmp r6, r5, c33.w, c33.z
        mov r10.y, r11.x
        mov r10.z, r9.x
        mov r10.w, r13.x
        mad r7, r2.z, r0.z, -r10
        cmp r7, r7, c33.w, c33.z
        mov r12.y, r15.x
        mov r12.z, r16.x
        mov r12.w, r14.x
        mad r8, r2.z, r0.z, -r12
        cmp r8, r8, c33.w, c33.z
        mov r18.y, r17.x
        mov r18.z, r4.x
        mov r18.w, r19.x
        mad r2, r2.z, r0.z, -r18
        cmp r2, r2, c33.w, c33.z
        mul r0.zw, r3.xyxy, c18.xyxy
        frc r0.zw, r0
        add r3, r6, r7
        add r3, r8, r3
        cmp r4, r5, -c33.w, -c33.z
        add r2, r2, r4
        mad r2, r2, r0.z, r3
        add r0.z, r2.y, r2.x
        add r0.z, r2.z, r0.z
        add r1.w, -r2.x, r2.w
        mad r0.z, r1.w, r0.w, r0.z
        mul r1.w, r0.z, c34.w
      else
        mov r1.w, c33.z
      endif
      mul_sat r0.x, r0.x, c22.x
      add r2.x, -r0.x, c0.y
      max r0.y, r1.w, r2.x
    endif
    add r0.xzw, r1.xyyz, -c1.xyyz
    dp3 r1.x, r0.xzww, r0.xzww
    rsq r1.x, r1.x
    rcp r1.y, r1.x
    mul r0.xzw, r0, r1.x
    add r1.xz, -c16.yyww, c16
    add r1.y, r1.y, -c16.y
    rcp r1.x, r1.x
    mul_sat r1.x, r1.x, r1.y
    mad r1.y, r1.x, c35.x, c35.y
    mul r1.x, r1.x, r1.x
    mul r1.x, r1.x, r1.y
    dp3 r0.x, r0.xzww, c2.yzww
    add r0.x, r0.x, -c16.w
    rcp r0.z, r1.z
    mul_sat r0.x, r0.z, r0.x
    mad r0.z, r0.x, c35.x, c35.y
    mul r0.x, r0.x, r0.x
    mul r0.x, r0.x, r0.z
    mul r0.x, r0.x, r1.x
    mul oC0, r0.x, r0.y

// approximately 168 instruction slots used (34 texture, 134 arithmetic)
 