//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CBLightVolume__packed0;
//   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
//   CBLightVolume__packed0            c41      1
//   fLightGroup                       c42      1
//   __tShadowMapCombine__invsize      c43      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 c44, 0.5, 1, 0.00392156886, 1.53787005e-005
    def c45, 0.99609375, 0.001953125, -1, -0
    def c46, -1, 0, 1, 0.25
    def c47, -16.6096401, 0.298911989, 0.586610019, 0.114478
    def c48, 0.25, 0.5, 1, -9.99999975e-006
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, c44.x, vPos
    mul r0.xy, r0, c38.zwzw
    texld r1, r0, s0
    texld r0, r0, s2
    dp3 r0.x, r0, c44.yzww
    add r0.x, r0.x, c33.z
    rcp r0.x, r0.x
    mul r0.y, r0.x, c34.z
    mov r2.xyz, c41
    mad r3.x, c34.z, r0.x, -r2.y
    mad r3.yzw, c34.z, -r0.x, r2.z
    texkill r3
    mul r3.x, r1.w, c45.x
    mov r0.x, c45.x
    mul r3.y, r0.x, c42.x
    add r0.xz, r3.xyyw, c45.y
    texld r3, r0.xzzw, s1
    add r0.x, -r3.y, c44.x
    cmp r3, r0.x, c45.z, c45.w
    texkill r3
    dp3 r0.z, c40, v0
    rcp r0.z, r0.z
    mul r2.yzw, r0.z, v0.xxyz

    mad r0.yzw, r0.y, r2, c39.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, 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.yzw, r21.xyz



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

// approximately 170 instruction slots used (23 texture, 147 arithmetic)
 
