//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D DepthBuffer;
//   sampler2D NormalsBuffer;
//   float4 ScreenDimensions;
//   float3 gCameraPos;
//   float gInvLightRange[4];
//   float4x4 gInvViewProj;
//   float4 gLightAtten[4];
//   bool gLightCastShadows[4];
//   float4 gLightColor[4];
//   float4 gLightPosition;
//   float4x4 gLightViewProj[4];
//   float gShadowMapSize;
//   sampler2D gShadowSamplers[3];
//   float4 gSpotLightDirection;
//   float4 gSpotLightParams;
//   float4 gTime;
//   float4 gViewport;
//
//
// Registers:
//
//   Name                Reg   Size
//   ------------------- ----- ----
//   gLightCastShadows   b10      1
//   ScreenDimensions    c0       1
//   gViewport           c50      1
//   gTime               c51      1
//   gCameraPos          c52      1
//   gInvViewProj        c70      4
//   gLightPosition      c103     1
//   gSpotLightDirection c104     1
//   gSpotLightParams    c105     1
//   gLightColor         c107     1
//   gLightAtten         c115     1
//   gInvLightRange      c119     1
//   gLightViewProj      c123     4
//   gShadowMapSize      c141     1
//   NormalsBuffer       s0       1
//   DepthBuffer         s1       1
//   gShadowSamplers     s12      1
//

    ps_3_0
    def c1, 0.5, 2, -1, 1
    def c2, 1, 0, -0.0187292993, 0.0742610022
    def c3, -0.212114394, 1.57072878, -2, 3.14159274
    def c4, 0.159154937, 0.5, 6.28318548, -3.14159274
    def c5, -2, 3, 0, 2
    def c6, 10, 1, 0.899999976, 0.100000001
    def c7, 8, 0.0399999991, 0, 0
    def c8, 0, 4, 0.0625, -8.65616989
def c201, 1.0, 0.006, 0.0625, 0.0
dcl_2d s13
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s12
    add r0.xy, c1.x, vPos
    mul r0.zw, r0.xyxy, c0
    texld_pp r1, r0.zwzw, s0
    mad_pp r1.xyz, r1, c1.y, c1.z
    nrm_pp r2.xyz, r1
    mov r3.zw, c0
    mad r0.xy, r0, r3.zwzw, c51.yzzw
    texld r3, r0, s1
    rcp_pp r0.x, c50.z
    rcp_pp r0.y, c50.w
    mad r0.xy, r0.zwzw, r0, c50
    mad r0.x, r0.x, c1.y, c1.z
    add r0.y, -r0.y, c1.w
    mad r0.y, r0.y, c1.y, c1.z
    mul r4, r0.y, c71
    mad r0, c70, r0.x, r4
    mad r0, c72, r3.x, r0
    add r0, r0, c73
texldl r12, c201.z, s13	
if_ne r12.x, c201.w
	rcp r0.w, r0.w
	mul r13.xyz, r0, r0.w 
	mov r13.w, c201.x
	dp4 r10.z, r13, c68
	dp4 r10.x, r13, c66
	dp4 r10.y, r13, c67
	dp4 r10.w, r13, c69

	add r12.y, r10.w, -r12.y
	mul r12.x, r12.x, r12.y
	add r10.x, r10.x, -r12.x
			
	mul r4, r10.y, c71
	mad r0, c70, r10.x, r4
	mad r0, c72, r10.z, r0
	mad r0, c73, r10.w, r0
endif
    rcp r0.w, r0.w
    mul r3.xyz, r0.w, r0
    mad r1.xyz, r0, -r0.w, c103
    dp3 r2.w, r1, r1
    rsq r2.w, r2.w
    mul_pp r1.xyz, r1, r2.w
    dp3_pp r4.x, r1, c104
    rcp r2.w, r2.w
    cmp r4.yz, r4.x, c2.xxyw, c2.xyxw
    mad r4.w, r2.w, r4.x, -c115.x
    mul_sat_pp r4.w, r4.w, c115.y
    add_pp r4.w, -r4.w, c1.w
    mul_pp r4.y, r4.w, r4.y
    add r4.w, -r4_abs.x, c1.w
    rsq r4.w, r4.w
    rcp r4.w, r4.w
    mad r5.x, r4_abs.x, c2.z, c2.w
    mad r5.x, r5.x, r4_abs.x, c3.x
    mad r4.x, r5.x, r4_abs.x, c3.y
    mul r4.x, r4.w, r4.x
    mad r4.w, r4.x, c3.z, c3.w
    mad r4.x, r4.w, r4.z, r4.x
    mad r4.x, r4.x, c4.x, c4.y
    frc r4.x, r4.x
    mad r4.x, r4.x, c4.z, c4.w
    sincos r5.y, r4.x
    add r4.xz, -c105.zyww, c105.xyyw
    mad r5.xy, r2.w, r5.y, -c105.zwzw
    rcp r2.w, r4.x
    mul_sat r2.w, r2.w, r5.x
    mad r4.x, r2.w, c5.x, c5.y
    mul r2.w, r2.w, r2.w
    mul r2.w, r2.w, r4.x
    rcp r4.x, r4.z
    mul_sat r4.x, r4.x, r5.y
    mad r4.z, r4.x, c5.x, c5.y
    mul r4.x, r4.x, r4.x
    mul r4.x, r4.x, r4.z
    mul_pp r2.w, r2.w, r4.x
    mul_pp r2.w, r2.w, r4.y
    if b10
      mov r3.w, c1.w
      dp4 r4.x, r3, c123
      dp4 r4.y, r3, c124
      dp4 r4.z, r3, c125
      dp4 r3.x, r3, c126
      rcp r3.x, r3.x
      mul r3.yz, r3.x, r4.xxyw
      mov r5.y, c5.y
      mul r3.w, r5.y, c119.x
      mad r3.w, r4.z, c119.x, -r3.w
      frc r4.z, c141.x
      add r4.w, -r4.z, c141.x
      cmp r4.z, -r4.z, c2.y, c2.x
      mov r5.yz, c2.y
      cmp r4.z, c141.x, r5.y, r4.z
      add r4.z, r4.z, r4.w
      rcp r5.x, r4.z
      mov r6.x, -r5.x
      mad r4.zw, r4.xyxy, r3.x, r6.x
      texld r7, r4.zwzw, s12
      add r4.z, r3.w, -r7.x
      cmp r4.z, r4.z, c2.y, c2.x
      mov r6.y, c2.y
      mad r6, r4.xyxy, r3.x, r6.yxxy
      texld r7, r6, s12
      add r4.w, r3.w, -r7.x
      cmp r4.w, r4.w, c5.z, c5.w
      add r4.z, r4.w, r4.z
      mov r5.yw, -r5.x
      mad r7, r4.xyxy, r3.x, r5.xywx
      texld r8, r7, s12
      add r4.w, r3.w, -r8.x
      cmp r4.w, r4.w, c2.y, c2.x
      add r4.z, r4.w, r4.z
      texld r6, r6.zwzw, s12
      add r4.w, r3.w, -r6.x
      cmp r4.w, r4.w, c5.z, c5.w
      add r4.z, r4.w, r4.z
      texld r6, r3.yzzw, s12
      add r3.y, r3.w, -r6.x
      cmp r3.y, r3.y, c8.x, c8.y
      add r3.y, r3.y, r4.z
      mad r6, r4.xyxy, r3.x, r5.xzzx
      texld r8, r6, s12
      add r3.z, r3.w, -r8.x
      cmp r3.z, r3.z, c5.z, c5.w
      add r3.y, r3.z, r3.y
      texld r7, r7.zwzw, s12
      add r3.z, r3.w, -r7.x
      cmp r3.z, r3.z, c2.y, c2.x
      add r3.y, r3.z, r3.y
      texld r6, r6.zwzw, s12
      add r3.z, r3.w, -r6.x
      cmp r3.z, r3.z, c5.z, c5.w
      add r3.y, r3.z, r3.y
      mad r3.xz, r4.xyyw, r3.x, r5.x
      texld r4, r3.xzzw, s12
      add r3.x, r3.w, -r4.x
      cmp r3.x, r3.x, c2.y, c2.x
      add r3.x, r3.x, r3.y
      mul_pp r3.x, r2.w, r3.x
      mul_pp r2.w, r3.x, c8.z
    endif
    mul_pp r3.xyz, r2.w, c107
    mad r0.xyz, r0, -r0.w, c52
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mad_pp r1.w, r1.w, c6.x, c6.y
    exp_pp r1.w, r1.w
    mad_pp r0.xyz, r0, r0.w, r1
    nrm_pp r4.xyz, r0
    dp3_sat_pp r0.x, r2, r1
    dp3_sat_pp r0.y, r2, r4
    mul_pp oC0.xyz, r0.x, r3
    dp3_sat_pp r0.z, r1, r4
    mul_pp r0.z, r0.z, c8.w
    exp_pp r0.z, r0.z
    mad_pp r0.z, r0.z, c6.z, c6.w
    add_pp r0.w, r1.w, c7.x
    mul_pp r0.z, r0.z, r0.w
    mul_pp r0.z, r0.z, c7.y
    pow_pp r2.x, r0.y, r1.w
    mul_pp r0.y, r0.z, r2.x
    mul_pp r0.yzw, r3.xxyz, r0.y
    mul_pp oC1.xyz, r0.x, r0.yzww
    mov_pp oC0.w, c1.w
    mov_pp oC1.w, c1.w

// approximately 161 instruction slots used (11 texture, 150 arithmetic)
 