//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   sampler2D DepthBuffer;
//   row_major float4x4 InverseProjection;
//   float4 LightViewPosRadius;
//   sampler2D ShadowMap0;
//   row_major float4x4 ShadowMapTextureProjection;
//   float4 ShadowParams;
//
//
// Registers:
//
//   Name                       Reg   Size
//   -------------------------- ----- ----
//   LightViewPosRadius         c0       1
//   ShadowParams               c1       1
//   ShadowMapTextureProjection c16      4
//   InverseProjection          c27      4
//   DepthBuffer                s0       1
//   ShadowMap0                 s4       1
//

    ps_3_0
    def c2, 1, 2, -1, -0.75
    def c3, 0.25, -0.00367975095, -0.00155883655, 0
    def c4, 0.00369369565, -0.00300354394, 0, 0.0625
    def c5, -0.000367906643, -0.00363042462, 0, 0
    def c6, 0.00134749757, 0.00114795938, 0, 0
    def c7, -0.00357767893, 0.00178794656, 0, 0
    def c8, -0.00318532158, -0.00343408063, 0, 0
    def c9, -0.00149521651, 0.00108112674, 0, 0
    def c10, 0.00380798429, 0.00295501482, 0, 0
    def c11, 0.00173137989, -0.00380904507, 0, 0
    def c12, 0.00209933519, -0.00185052422, 0, 0
    def c13, -0.00103503559, -0.00163644622, 0, 0
    def c14, 0.00309365289, 0.000745710451, 0, 0
    def c15, -0.000944876578, 0.00389478542, 0, 0
    def c20, -0.00318007637, 0.00357178086, 0, 0
    def c21, 0.000780629925, 0.0030719284, 0, 0
    def c22, 0.000561842229, -0.00055081211, 0, 0
    def c23, 0.0625, 1, 0, 0
	def c24, 0.0005255, 0.0009259, 0.0625, 0.5
	//def c220, 1920, 1080, 0.0625, 0.5
	
    dcl_texcoord_pp v0.xyw
	dcl_texcoord1 v1.x
	dcl vPos.xy
    dcl_2d s0
    dcl_2d s4
	dcl_2d s14
    rcp r0.x, v0.w
    mad_pp r1.z, v0.y, -r0.x, c2.x
    mul_pp r1.xy, r0.x, v0
    mad_pp r0.xy, r1.xzzw, c2.y, c2.z
	
	texldl r11, c24.z, s14	
	rcp r11.w, r1.x
	add r11.y, v1.x, -r11.y		
	mul r11.x, r11.x, r11.y
	mov r11.xy, vPos.xy
	rcp r11.z, c210.x
	rcp r11.w, c210.y
	mul r11.xy, r11.xy, r11.zw
	rcp r11.z, c210.x
	rcp r11.w, c210.y
	mul r11.zw, r11.zw, c24.ww
    add	r1.xy, r11.xy, r11.zw
	//mov r1.xy, vPos
	//add r1.x, r1.x, -r11.x
	
    texld_pp r1, r1, s0
	//add r1.x,r1.x,  c24.w
    mul r0.xy, r0, r1.x
	
    mul r2, r0.y, c28
    mad r0, r0.x, c27, r2
    mad r0, r1.x, c29, r0
    add_pp r0, r0, c30
    rcp r0.w, r0.w
    mul_pp r0.xyz, r0.w, r0
	
	
	
    mul r1, r0.y, c17
    mad r1, r0.x, c16, r1
    mad r0, r0.z, c18, r1
    add r0, r0.zxyw, c19.zxyw
    rcp r1.x, r0.w
    mad r1.yz, r0, r1.x, -c1.xzww
    add_pp r2.xy, -r1_abs.yzzw, c1.y
    mul r3, r0.yzxw, r1.x
    mad r0.y, r0.x, r1.x, c2.w
    mov_sat r0.x, r0.x
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    max r1.x, c3.x, r0.y
    mov_pp r2.zw, r3.z
    texkill r2
    mad r4, r1.x, c3.yzww, r3
    texldp_pp r4, r4, s4
    mad r5, r1.x, c4.xyzz, r3
    texldp r5, r5, s4
    add_pp r0.y, r4.x, r5.x
    mad r4, r1.x, c5.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c6.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c7.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c8.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c9.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c10.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c11.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c12.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c13.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c14.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c15.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c20.xyzz, r3
    texldp r4, r4, s4
    add_pp r0.y, r0.y, r4.x
    mad r4, r1.x, c21.xyzz, r3
    mad r1, r1.x, c22.xyzz, r3
    mul r0.z, r2.z, c0.w
    mul r0.z, r0.z, r0.z
    mul r0.z, r0.z, r0.z
    mul_sat r0.z, r0.z, r0.z
    texldp r1, r1, s4
    texldp r2, r4, s4
    add_pp r0.y, r0.y, r2.x
    add_pp r0.y, r1.x, r0.y
    mul_pp r0.w, r0.y, c4.w
    mad r0.y, r0.y, -c23.x, c23.y
    mad_pp r0.y, r0.z, r0.y, r0.w
    add_pp r0.y, -r0.y, c2.x
    mul r0.y, r0.y, c1.x
    mad_pp oC0, r0.y, -r0.x, c2.x
	//mov oC0, c24

// approximately 84 instruction slots used (17 texture, 67 arithmetic)
 