//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float3 camera_position;
//   float g_clip;
//   float g_hdr_on;
//   float3 g_light_colour;
//   float3 g_light_position;
//   float g_light_radius;
//   float4 g_screen_size;
//   float4 g_viewport_offset_scale;
//   float g_vpos_texel_offset;
//   sampler2D gbuffer_channel_1_sampler;
//   sampler2D gbuffer_channel_2_sampler;
//   sampler2D gbuffer_channel_3_sampler;
//   sampler2D gbuffer_channel_4_sampler;
//   float4x4 inv_view_projection;
//   float4x4 view_projection;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   view_projection           c0       4
//   inv_view_projection       c4       4
//   camera_position           c8       1
//   g_screen_size             c9       1
//   g_vpos_texel_offset       c10      1
//   g_hdr_on                  c11      1
//   g_light_position          c12      1
//   g_light_colour            c13      1
//   g_light_radius            c14      1
//   g_viewport_offset_scale   c15      1
//   g_clip                    c16      1
//   gbuffer_channel_1_sampler s0       1
//   gbuffer_channel_2_sampler s1       1
//   gbuffer_channel_3_sampler s2       1
//   gbuffer_channel_4_sampler s3       1
//

    ps_3_0
    def c17, 2, -2, -1, 1
    def c18, 2, -1, 1, 0
    def c19, 1, 0.00400000019, 0.694444418, 0.444444448
    def c20, 0.800000012, 0.899999976, 0.300000012, 0.5
    def c21, 63, 1.60000002, 0, 0
    def c22, 0.600000024, 0.200000003, 0.100000001, 0
    def c23, 0.800000012, 0.699999988, 0.200000003, 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
    abs r0.x, c16.x
    cmp r0.x, -r0.x, c18.w, c18.z
    mad r1, v0.xyzx, c18.zzzw, c18.wwwz
    dp4 r0.y, r1, c3
    dp4 r0.z, r1, c2
    rcp r0.y, r0.y
    add r1.xy, c10.x, vPos
    mul r1.zw, r1.xyxy, c9
    mov r2.zw, c9
    mad r1.xy, r1, r2.zwzw, -c15
    texldl r2, r1.zwww, s3
    mad r0.y, r0.z, -r0.y, r2.x
    mad r2.zw, r2.x, c18, c18.xywz
    mul r0, r0.x, r0.y
    texkill r0
    rcp r0.x, c15.z
    rcp r0.y, c15.w
    mul r0.xy, r0, r1
    mad r2.xy, r0, c17, c17.zwzw
    dp4 r0.x, r2, c7
    rcp r0.x, r0.x
    dp4 r3.x, r2, c4
    dp4 r3.y, r2, c5
    dp4 r3.z, r2, c6
	
mov r20.xyz, r3.xyz
rcp r20, r0.x
mul r20, r20, r0.x

dp4 r21.x, r20, c0
dp4 r21.y, r20, c1
dp4 r21.z, r20, c2
dp4 r21.w, r20, c3

texldl r24, c220.z, s13
add r24.y, r21.w, -r24.y
mul r24.x, r24.x, r24.y
add r21.x, r21.x, -r24.x

dp4 r20.x, r21, c4
dp4 r20.y, r21, c5
dp4 r20.z, r21, c6
dp4 r20.w, r21, c7

rcp r23.w, r0.x
mul r20, r20, r23.w
mov r3.xyz, r20.xyz	

    mad r0.yzw, r3.xxyz, r0.x, -c8.xxyz
    mad r2.xyz, r3, r0.x, -c12
    nrm r3.xyz, r0.yzww
    dp3 r0.x, r2, r2
    rsq r0.x, r0.x
    mul r0.yzw, r0.x, r2.xxyz
    rcp r0.x, r0.x
    texldl r2, r1.zwww, s0
    mad r2.xyz, r2, c18.x, c18.y
    mad r1.x, r2.w, c21.x, c21.y
    nrm r4.xyz, r2
    dp3 r1.y, r0.yzww, r4
    add r1.y, r1.y, r1.y
    mad r2.xyz, r4, -r1.y, r0.yzww
    dp3 r0.y, r4, -r0.yzww
    dp3 r0.z, r2, -r3
    max r1.y, r0.z, c18.w
    pow_sat r0.z, r1.y, r1.x
    texldl r2, r1.zwww, s1
    texldl r1, r1.zwww, s2
    mul r0.z, r0.z, r2.w
    mul r0.z, r0.y, r0.z
    mul r1.xzw, r0.z, c13.xyyz
    mov r3.xy, c19
    cmp r0.z, -c11.x, r3.x, r3.y
    mul r1.xzw, r0.z, r1
    cmp r1.xzw, r0.y, r1, c18.w
    mad r3.xyz, r0.y, c20, c20.zwzw
    mul_sat r3.xyz, r3, c19.zzww
    mad r0.w, r0.y, r3.x, c20.z
    add_sat r0.w, -r0.w, c18.z
    mul r4.xyz, r3.y, c23
    mul r5.xyz, r0.w, r4
    mad r4.xyz, r4, -r0.w, c18.z
    mad r5.xyz, r0.y, r3.x, r5
    mad r0.w, r0.y, -r3.x, c18.z
    mul r3.xyz, r3.z, c22
    mul r3.xyz, r0.w, r3
    mad r3.xyz, r3, r4, r5
    lrp_sat r4.xyz, r1.y, r3, r0.y
    mul r2.xyz, r2, r4
    mul r2.xyz, r2, c13
    mul r0.yzw, r0.z, r2.xxyz
    mad r0.yzw, r0, c20.y, r1.xxzw
    rcp r1.x, c14.x
    mul_sat r0.x, r0.x, r1.x
    add r0.x, -r0.x, c18.z
    mul r0.x, r0.x, r0.x
    mul_sat oC0.xyz, r0.yzww, r0.x
    mov oC0.w, c18.z

// approximately 84 instruction slots used (8 texture, 76 arithmetic)
 