//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CBScreen__packed1;
//   float4 CBViewProjection__packed4;
//   float4 CBViewProjection__packed5;
//   sampler2D SSBorderPoint__tComparisonTexture;
//   sampler2D SSBorderPoint__tGBuffer;
//   sampler2D SSPoint__tDepthMap;
//   sampler2D SSShadowDepth__tShadowMapCombine;
//   sampler2D SSWrapLinear__tSpotLightTexture0;
//   float4 __tShadowMapCombine__invsize;
//   float fLightGroup;
//   row_major float4x4 fProj;
//   row_major float4x4 fViewI;
//   
//   struct
//   {
//       float4 __packed0;
//       float4 __packed1;
//       float4 __packed2;
//       float4 fAttenuation;
//       float4 fAttenuation2;
//       row_major float3x4 fLightRangeMat;
//       row_major float4x4 fLightProjMat;
//
//   } sLightParam0;
//   
//   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      18
//   sLightParam0                      c19     12
//   fProj                             c31      4
//   fViewI                            c35      3
//   CBScreen__packed1                 c38      1
//   CBViewProjection__packed4         c39      1
//   CBViewProjection__packed5         c40      1
//   fLightGroup                       c41      1
//   __tShadowMapCombine__invsize      c42      1
//   SSBorderPoint__tGBuffer           s0       1
//   SSBorderPoint__tComparisonTexture s1       1
//   SSPoint__tDepthMap                s2       1
//   SSShadowDepth__tShadowMapCombine  s3       1
//   SSWrapLinear__tSpotLightTexture0  s4       1
//

    ps_3_0
    def c0, 4, -2, 800, 2
    def c43, 0.5, 0.99609375, 0.001953125, -1
    def c44, -1, 0, 1, 0.25
    def c45, -16.6096401, 0.298911989, 0.586610019, 0.114478
    def c46, 0.25, 0.5, 1, -9.99999975e-006
    def c47, -1, -0, -0.00392156886, -1.53787005e-005
def c220, 0, 0, 0.0625, 0
dcl_2d s13

    dcl_texcoord v0.xyz
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    add r0.xy, c43.x, vPos
    mul r0.xy, r0, c38.zwzw
    texld r1, r0, s0
    mul r2.x, r1.w, c43.y
    mov r3.yw, c43
    mul r2.y, r3.y, c41.x
    add r0.zw, r2.xyxy, c43.z
    texld r2, r0.zwzw, s1
    add r0.z, -r2.y, c43.x
    cmp r2, r0.z, c47.x, c47.y
    texkill r2
    dp3 r0.w, c40, v0
    rcp r0.w, r0.w
    mul r2.xyz, r0.w, v0
    texld r4, r0, s2
    dp3 r0.x, r4, -c47.xzww
    add r0.x, r0.x, c33.z
    rcp r0.x, r0.x
    mul r0.x, r0.x, c34.z

    mad r0.xyw, r0.x, r2.xyzz, c39.xyzz
mov r21.xyz, r0.xyw
mul r22, c175, r21.y
mad r22, c174, r21.x, r22
mad r22, c176, r21.z, r22
add r22, r22, c177
texldl r24, c220.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.xyw, r21.xyz



    mul r4, r0.y, c5
    mad r4, r0.x, c4, r4
    mad r4, r0.w, c6, r4
    add r4, r4, c7
    rcp r1.w, r4.w
    mul r5.xyz, r1.w, r4
    cmp r3.xyz, -r5, -c47.y, -c47.x
    mul r2.w, r3.y, r3.x
    mul r2.w, r3.z, r2.w
    mad r3.xyz, r4, r1.w, c43.w
    cmp r3.xyz, r3, -c47.y, -c47.x
    mul r3.x, r3.y, r3.x
    mul r3.x, r3.z, r3.x
    mul r2.w, r2.w, r3.x
    if_ne r2.w, -r2.w
      mad r6.xy, r4, r1.w, -c42
      mov r6.zw, -c47.y
      texldl r6, r6, s3
      mov r3.xy, c42
      mad r7, r3.xyxy, c44.xyxz, r5.xyxy
      mul r8, r7.xyxx, -c47.xxyy
      texldl r8, r8, s3
      mul r7, r7.zwxx, -c47.xxyy
      texldl r7, r7, s3
      mad r9, r3.xyxy, c44.yxyz, r5.xyxy
      mul r10, r9.xyxx, -c47.xxyy
      texldl r10, r10, s3
      mov r5.w, -c47.y
      texldl r11, r5.xyww, s3
      mul r9, r9.zwxx, -c47.xxyy
      texldl r9, r9, s3
      mad r12, r3.xyxy, c44.zxzy, r5.xyxy
      mul r13, r12.xyxx, -c47.xxyy
      texldl r13, r13, s3
      mul r12, r12.zwxx, -c47.xxyy
      texldl r12, r12, s3
      mad r14.xy, r4, r1.w, c42
      mov r14.zw, -c47.y
      texldl r14, r14, s3
      mov r6.y, r8.x
      mov r6.z, r7.x
      mad r3.xyz, r4.z, r1.w, -r6
      cmp r4.xyw, r3.xyzz, -c47.x, -c47.y
      mov r10.y, r11.x
      mov r10.z, r9.x
      mad r6.xyz, r4.z, r1.w, -r10
      cmp r6.xyz, r6, -c47.x, -c47.y
      mov r13.y, r12.x
      mov r13.z, r14.x
      mad r7.xyz, r4.z, r1.w, -r13
      cmp r7.xyz, r7, -c47.x, -c47.y
      mul r5.xy, r5, c18
      frc r5.xy, r5
      add r4.xyz, r4.xyww, r6
      cmp r3.xyz, r3, c47.x, c47.y
      add r3.xyz, r3, r7
      mad r3.xyz, r3, r5.x, r4
      add r1.w, r3.y, r3.x
      add r2.w, -r3.x, r3.z
      mad r1.w, r2.w, r5.y, r1.w
      mul r1.w, r1.w, c44.w
    else
      mov r1.w, -c47.y
    endif
    mad r1.xy, r1, c0.x, c0.y
    dp2add r2.w, r1, r1, -c47.y
    mad r3.xy, r2.w, -c46, c46.z
    rsq r2.w, r3.x
    rcp r2.w, r2.w
    mul r1.xy, r1, r2.w
    mul r4.xyz, r1.y, c36
    mad r4.xyz, r1.x, c35, r4
    mad r3.xyz, r3.y, c37, r4
    nrm r4.xyz, r3
    mul r1.x, r1.z, r1.z
    mul r1.x, r1.x, c0.z
    dp3 r1.y, r2, r2
    rsq r1.y, r1.y
    add r3.xyz, -r0.xyww, c19
    dp3 r1.z, r3, r3
    rsq r1.z, r1.z
    rcp r2.w, r1.z
    mul r3.xyz, r1.z, r3
    add r1.z, r2.w, -c22.x
    mul_sat r1.z, r1.z, c22.y
    add r1.z, -r1.z, -c43.w
    mul r1.z, r1.z, r1.z
    dp3 r2.w, -c20, r3
    add r2.w, r2.w, -c22.z
    mul_sat r2.w, r2.w, c22.w
    pow r4.w, r2.w, c23.x
    mul r2.w, r1.w, c19.w
    mad r1.w, r1.w, -c19.w, -r3.w
    cmp r1.w, r2.w, r1.w, -c43.w
    mul r1.z, r1.z, r4.w
    mul r1.z, r1.w, r1.z
    mul r5.xyz, r1.z, c21
    mov r1.w, c21.w
    add r1.z, -r1.w, c0.w
    mul r6.xyz, r1.z, r5
    mul r5.xyz, r5, c21.w
    mul r7.xyz, r0.y, c28.xyww
    mad r7.xyz, r0.x, c27.xyww, r7
    mad r0.xyw, r0.w, c29, r7.xyzz
    add r0.xyw, r0, c30
    rcp r0.w, r0.w
    mul r7.xy, r0.w, r0
    mov r7.zw, -c47.y
    texldl r7, r7, s4
    mul r0.xyw, r5.xyzz, r7.xyzz
    mul r5.xyz, r6, r7
    dp3 r1.z, r4, r3
    max r2.w, r1.z, -c47.y
    mul r6.xyz, r0.xyww, r2.w
    mad r0.xyw, r2.xyzz, -r1.y, r3.xyzz
    nrm r2.xyz, r0.xyww
    dp3 r0.x, r4, r2
    add r0.y, r0.x, c46.w
    log r0.x, r0.x
    cmp r0.x, r0.y, r0.x, c45.x
    mul r0.x, r0.x, r1.x
    exp r0.x, r0.x
    mul r0.xyw, r0.x, r5.xyzz
    dp3 r6.w, r0.xyww, c45.yzww
    cmp oC0, r0.z, -c47.y, r6

// approximately 164 instruction slots used (23 texture, 141 arithmetic)
 
