//
// 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 SSPoint__tLightMaskMap;
//   sampler2D SSWrapLinear__tSpotLightTexture0;
//   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;
//
//
// Registers:
//
//   Name                              Reg   Size
//   --------------------------------- ----- ----
//   sLightParam0                      c1      12
//   fProj                             c13      4
//   fViewI                            c17      3
//   CBScreen__packed1                 c20      1
//   CBViewProjection__packed4         c21      1
//   CBViewProjection__packed5         c22      1
//   CBLightVolume__packed0            c23      1
//   fLightGroup                       c24      1
//   SSBorderPoint__tGBuffer           s0       1
//   SSBorderPoint__tComparisonTexture s1       1
//   SSPoint__tDepthMap                s2       1
//   SSPoint__tLightMaskMap            s3       1
//   SSWrapLinear__tSpotLightTexture0  s4       1
//

    ps_3_0
    def c0, 4, -2, 800, 1
    def c25, 0.25, 0.5, 1, -9.99999975e-006
    def c26, 0.5, 1, 0.00392156886, 1.53787005e-005
    def c27, 0.99609375, 0.001953125, -1, -0
    def c28, 0.298911989, 0.586610019, 0.114478, 0
    def c29, -2, 3, -16.6096401, 0
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, c26.x, vPos
    mul r0.xy, r0, c20.zwzw
    texld r1, r0, s0
    texld r2, r0, s2
    dp3 r0.z, r2, c26.yzww
    add r0.z, r0.z, c15.z
    rcp r0.z, r0.z
    mul r0.w, r0.z, c16.z
    mov r2.xyz, c23
    mad r3.x, c16.z, r0.z, -r2.y
    mad r3.yzw, c16.z, -r0.z, r2.z
    texkill r3
    mul r3.x, r1.w, c27.x
    mov r4.x, c27.x
    mul r3.y, r4.x, c24.x
    add r2.yz, r3.xxyw, c27.y
    texld r3, r2.yzzw, s1
    add r0.z, -r3.y, c26.x
    cmp r3, r0.z, c27.z, c27.w
    texkill r3
    mad r1.xy, r1, c0.x, c0.y
    dp2add r1.w, r1, r1, -c27.w
    mad r2.yz, r1.w, -c25.xxyw, c25.z
    rsq r1.w, r2.y
    rcp r1.w, r1.w
    mul r1.xy, r1.w, r1
    mul r3.xyz, r1.y, c18
    mad r1.xyw, r1.x, c17.xyzz, r3.xyzz
    mad r1.xyw, r2.z, c19.xyzz, r1
    nrm r3.xyz, r1.xyww
    mul r1.x, r1.z, r1.z
    mul r1.x, r1.x, c0.z
    dp3 r1.y, c22, v0
    rcp r1.y, r1.y
    mul r1.yzw, r1.y, v0.xxyz

    mad r2.yzw, r0.w, r1, c21.xxyz
mov r21.xyz, r2.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 r2.yzw, r21.xyz



    dp3 r0.w, r1.yzww, r1.yzww
    rsq r0.w, r0.w
    texld r4, r0, s3
    mul r5.xyz, r2.x, c3
    mul r6, r2.z, c10
    mad r6, r2.y, c9, r6
    mad r2, r2.w, c11, r6
    add r2, r2, c12
    rcp r0.x, r2.w
    mul r6.xyz, r0.x, r2
    mad r2.xy, r6, -c0.y, -c0.w
    add r0.y, -c4.x, c4.y
    add r2.xy, r2_abs, -c4.x
    rcp r0.y, r0.y
    mul_sat r2.xy, r0.y, r2
    mad r4.xy, r2, c29.x, c29.y
    mul r2.xy, r2, r2
    mul r2.xy, r2, r4
    rcp r0.y, c4.z
    mul_sat r0.y, r0.y, r6.z
    mad r2.w, r0.y, c29.x, c29.y
    mul r0.y, r0.y, r0.y
    mul r0.y, r0.y, r2.w
    mov r4.y, c26.y
    add r2.w, -r4.y, c4.w
    mad r0.x, r2.z, r0.x, -c26.y
    rcp r2.z, r2.w
    mul_sat r0.x, r0.x, r2.z
    mad r2.z, r0.x, c29.x, c29.y
    mul r0.x, r0.x, r0.x
    mul r0.x, r0.x, r2.z
    mul r0.x, r0.x, r0.y
    mul r0.y, r4.z, c1.w
    mul r2.z, r4.w, c2.w
    max r3.w, r0.y, r2.z
    add r0.y, -r3.w, c26.y
    mul r2.x, r2.y, r2.x
    mul r0.x, r0.x, r2.x
    mul r0.x, r0.y, r0.x
    mul r2.xyz, r0.x, r5
    mov r0.y, c0.y
    add r0.x, -r0.y, -c3.w
    mul r4.xyz, r0.x, r2
    mul r2.xyz, r2, c3.w
    mov r6.w, -c27.w
    texldl r5, r6.xyww, s4
    mul r2.xyz, r2, r5
    mul r4.xyz, r4, r5
    dp3 r0.x, r3, c2
    mul r2.xyz, r0.x, r2
    cmp r2.xyz, r0.x, r2, -c27.w
    mad r0.xyw, r1.yzzw, -r0.w, c2.xyzz
    nrm r5.xyz, r0.xyww
    dp3 r0.x, r3, r5
    add r0.y, r0.x, c25.w
    log r0.x, r0.x
    cmp r0.x, r0.y, r0.x, c29.z
    mul r0.x, r0.x, r1.x
    exp r0.x, r0.x
    mul r0.xyw, r0.x, r4.xyzz
    dp3 r2.w, r0.xyww, c28
    cmp oC0, r0.z, -c27.w, r2

// approximately 104 instruction slots used (6 texture, 98 arithmetic)
 
