//
// 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;
//   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       8
//   fProj                             c9       4
//   fViewI                            c13      3
//   CBScreen__packed1                 c16      1
//   CBViewProjection__packed4         c17      1
//   CBViewProjection__packed5         c18      1
//   fLightGroup                       c19      1
//   CBLightVolume__packed0            c20      1
//   SSBorderPoint__tGBuffer           s0       1
//   SSBorderPoint__tComparisonTexture s1       1
//   SSPoint__tDepthMap                s2       1
//

    ps_3_0
    def c0, -1, -0, -0.00392156886, -1.53787005e-005
    def c21, 0.5, 0.99609375, 0.001953125, 1
    def c22, 4, -2, 800, 2
    def c23, 0.25, 0.5, 1, -9.99999975e-006
    def c24, -16.6096401, 0.298911989, 0.586610019, 0.114478
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
    add r0.xy, c21.x, vPos
    mul r0.xy, r0, c16.zwzw
    texld r1, r0, s0
    mul r2.x, r1.w, c21.y
    mov r3.y, c21.y
    mul r2.y, r3.y, c19.x
    add r0.zw, r2.xyxy, c21.z
    texld r2, r0.zwzw, s1
    add r0.z, -r2.y, c21.x
    cmp r2, r0.z, c0.x, c0.y
    texkill r2
    dp3 r0.w, c18, v0
    rcp r0.w, r0.w
    mul r2.xyz, r0.w, v0
    texld r3, r0, s2
    dp3 r0.x, r3, -c0.xzww
    add r0.x, r0.x, c11.z
    rcp r0.x, r0.x
    mul r0.x, r0.x, c12.z

    mad r3.xyz, r0.x, r2, c17
mov r21.xyz, r3.xyz
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 r3.xyz, r21.xyz



    mov r3.w, c21.w
    dp4 r4.x, c6, r3
    dp4 r4.y, c7, r3
    dp4 r4.z, c8, r3
    add r0.xyw, r4_abs.xyzz, -c21.w
    cmp r0.xyw, r0, -c0.x, -c0.y
    dp3 r0.x, r0.xyww, r0.xyww
    if_ge -r0.x, -c0.y
      mad r0.yw, r1.xxzy, c22.x, c22.y
      dp2add r1.x, r0.ywzw, r0.ywzw, -c0.y
      mad r1.xy, r1.x, -c23, c23.z
      rsq r1.x, r1.x
      rcp r1.x, r1.x
      mul r0.yw, r0, r1.x
      mul r4.xyz, r0.w, c14
      mad r4.xyz, r0.y, c13, r4
      mad r1.xyw, r1.y, c15.xyzz, r4.xyzz
      nrm r4.xyz, r1.xyww
      mul r0.y, r1.z, r1.z
      mul r0.y, r0.y, c22.z
      dp3 r0.w, r2, r2
      rsq r0.w, r0.w
      mov r1, c3
      mul r1.xyz, r1, c20.x
      add r3.xyz, -r3, c1
      dp3 r2.w, r3, r3
      rsq r2.w, r2.w
      rcp r3.w, r2.w
      mul r3.xyz, r2.w, r3
      add r2.w, r3.w, -c4.x
      mul_sat r2.w, r2.w, c4.y
      add r2.w, -r2.w, c21.w
      mul r2.w, r2.w, r2.w
      mul r1.xyz, r1, r2.w
      add r1.w, -r1.w, c22.w
      mul r5.xyz, r1.w, r1
      mul r1.xyz, r1, c3.w
      cmp r3.xyz, -r0.x, r3, -c0.y
      cmp r1.xyz, -r0.x, r1, -c0.y
      cmp r5.xyz, -r0.x, r5, -c0.y
      dp3 r0.x, r4, r3
      max r1.w, r0.x, -c0.y
      mul r1.xyz, r1.w, r1
      mad r2.xyz, r2, -r0.w, r3
      nrm r3.xyz, r2
      dp3 r0.x, r4, r3
      add r0.w, r0.x, c23.w
      log r0.x, r0.x
      cmp r0.x, r0.w, r0.x, c24.x
      mul r0.x, r0.x, r0.y
      exp r0.x, r0.x
      mul r0.xyw, r0.x, r5.xyzz
    else
      mov r1.xyz, -c0.y
      mov r0.xyw, -c0.y
    endif
    dp3 r1.w, r0.xyww, c24.yzww
    cmp oC0, r0.z, -c0.y, r1

// approximately 85 instruction slots used (3 texture, 82 arithmetic)
 
