//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float3 ambient_cube_fb[2];
//   float3 ambient_cube_lr[2];
//   float3 ambient_cube_tb[2];
//   float3 camera_position;
//   float4x4 g_amHardSplit[4];
//   float2 g_fFadeRange;
//   float g_hdr_on;
//   float g_iSplitCount;
//   float g_refraction_depth;
//   float g_sample_bias;
//   float4 g_screen_size;
//   float3 g_shadow_light_direction;
//   float4 g_vSplitDepth;
//   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;
//   sampler2D sHardShadowBuffer;
//   sampler2D s_ssao;
//   float3 sun_colour;
//   float3 sun_direction;
//   float4x4 view_projection;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   g_amHardSplit             c0      16
//   view_projection           c16      4
//   inv_view_projection       c20      4
//   ambient_cube_lr           c24      2
//   ambient_cube_tb           c26      2
//   ambient_cube_fb           c28      2
//   g_iSplitCount             c30      1
//   g_vSplitDepth             c31      1
//   g_fFadeRange              c32      1
//   g_sample_bias             c33      1
//   g_shadow_light_direction  c34      1
//   camera_position           c35      1
//   g_screen_size             c36      1
//   g_vpos_texel_offset       c37      1
//   sun_direction             c38      1
//   sun_colour                c39      1
//   g_hdr_on                  c40      1
//   g_refraction_depth        c41      1
//   sHardShadowBuffer         s0       1
//   s_ssao                    s1       1
//   gbuffer_channel_1_sampler s2       1
//   gbuffer_channel_2_sampler s3       1
//   gbuffer_channel_3_sampler s4       1
//   gbuffer_channel_4_sampler s5       1
//

    ps_3_0
    def c42, 1, 0, -0, 2
    def c43, -0, -1, -2, -3
    def c44, -2, 3, 0.5, -0.5
    def c45, 0.00400000019, 360, 0.600000024, 1
    def c46, 0.694444418, 0.444444448, 1, 4
    def c47, 0.800000012, 0.899999976, 0.300000012, 0.5
    def c48, 1, 0.800000012, 0.649999976, 0.300000012
    def c49, 127, 1.60000002, 0, 0.75
    def c50, 0.612065971, 0.456263006, 0.0500000007, 1.5
    def c51, 2, -1, -2, 1
    def c52, 0.319999993, 0.0500000007, 0.00600000005, 0
def c220, 0, 0, 0.0625, 0
dcl_2d s13
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    add r0.xy, c37.x, vPos
    mul r0.xy, r0, c36.zwzw
    texldl r1, r0.xyyy, s5
    mad r1.zw, r1.x, c42.xyxy, c42.xyzx
    mad r1.xy, r0, c51.xzzw, c51.ywzw
    dp4 r0.z, r1, c23
    rcp r0.z, r0.z
    dp4 r2.x, r1, c20
    dp4 r2.z, r1, c22
    dp4 r2.y, r1, c21
    mul r1.xyz, r0.z, r2
    mad r2.xzw, r2.xyyz, r0.z, -c35.xyyz
    mad r0.z, r2.y, -r0.z, c51.x
    nrm r3.xyz, r2.xzww
    mov r1.w, c51.w
    dp4 r0.w, r1, c19
    add r2, r0.w, -c31
    cmp r2, r2, c42.x, c42.y
    dp4 r2.x, r2, r2
    add r4, r2.x, c43
    mov r2.y, c42.y
    cmp r5, -r4_abs.x, c0, r2.y
    cmp r5, -r4_abs.y, c4, r5
    cmp r5, -r4_abs.z, c8, r5
    cmp r5, -r4_abs.w, c12, r5
    mov r6.xyz, c34
    mad r6.xyz, r6, -c33.x, r1
    mov r6.w, c51.w

mov r20, r6

dp4 r21.x, r20, c16
dp4 r21.y, r20, c17
dp4 r21.z, r20, c18
dp4 r21.w, r20, c19

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, c20
dp4 r20.y, r21, c21
dp4 r20.z, r21, c22
dp4 r20.w, r21, c23

mov r6, r20	
	
    dp4 r5.x, r6, r5
    cmp r7, -r4_abs.x, c1, r2.y
    cmp r7, -r4_abs.y, c5, r7
    cmp r7, -r4_abs.z, c9, r7
    cmp r7, -r4_abs.w, c13, r7
    dp4 r5.y, r6, r7
    cmp r7, -r4_abs.x, c2, r2.y
    cmp r7, -r4_abs.y, c6, r7
    cmp r7, -r4_abs.z, c10, r7
    cmp r7, -r4_abs.w, c14, r7
    dp4 r5.z, r6, r7
    cmp r7, -r4_abs.x, c3, r2.y
    cmp r7, -r4_abs.y, c7, r7
    cmp r7, -r4_abs.z, c11, r7
    cmp r7, -r4_abs.w, c15, r7
    cmp r4, -r4_abs, c42.x, c42.y
    dp4 r2.z, c31, r4
    add r2.z, r2.z, -c32.x
    add r2.z, r0.w, -r2.z
    dp4 r5.w, r6, r7
    texldp r4, r5, s0
    add r2.w, r2.x, -c30.x
    add r4.yzw, r2.x, -c42.xzxw
    cmp r2.x, r2.w, c51.w, r4.x
    add r2.w, r2.w, c51.w
    cmp r5, -r4_abs.y, c4, r2.y
    cmp r5, -r4_abs.z, c8, r5
    cmp r5, -r4_abs.w, c12, r5
    dp4 r5.x, r6, r5
    cmp r7, -r4_abs.y, c5, r2.y
    cmp r7, -r4_abs.z, c9, r7
    cmp r7, -r4_abs.w, c13, r7
    dp4 r5.y, r6, r7
    cmp r7, -r4_abs.y, c6, r2.y
    cmp r7, -r4_abs.z, c10, r7
    cmp r7, -r4_abs.w, c14, r7
    dp4 r5.z, r6, r7
    cmp r7, -r4_abs.y, c7, r2.y
    cmp r7, -r4_abs.z, c11, r7
    cmp r4, -r4_abs.w, c15, r7
    dp4 r5.w, r6, r4
    texldp r4, r5, s0
    cmp r2.y, r2.w, c51.w, r4.x
    rcp r2.w, c32.x
    mul_sat r2.z, r2.w, r2.z
    lrp r3.w, r2.z, r2.y, r2.x
    cmp r2.x, -r2.z, r2.x, r3.w
    mov r2.y, c51.y
    add r2.y, r2.y, c30.x
    frc r2.z, c30.x
    add r2.y, r2.y, -r2.z
    add r4, r2.y, c43
    cmp r4, -r4_abs, c42.x, c42.y
    dp4 r2.y, c31, r4
    add r2.z, r2.y, -c32.y
    add r2.y, -r2.z, r2.y
    add r2.z, r0.w, -r2.z
    rcp r0.w, r0.w
    rcp r2.y, r2.y
    mul_sat r2.y, r2.y, r2.z
    mad r2.z, r2.y, c44.x, c44.y
    mul r2.y, r2.y, r2.y
    mad_sat r2.x, r2.z, r2.y, r2.x
    dp3_sat r2.y, r3, -c38
    mul r2.y, r2.y, r2.y
    mul r2.y, r2.y, r2.y
    texldl r4, r0.xyyy, s2
    mad r4.xyz, r4, c51.x, c51.y
    mul r2.z, r4.w, r4.w
    mad r2.z, r2.z, c49.x, c49.y
    dp3 r2.w, r4, r4
    rsq r2.w, r2.w
    mul r5.xyz, r2.w, r4
    mad r4.xyz, r4, r2.w, c49.zwzw
    dp3 r2.w, r5, c38
    mov_sat r3.w, r2.w
    add r2.w, r2.w, r2.w
    mad r6.xyz, r5, -r2.w, c38
    dp3 r2.w, r6, -r3
    max r4.w, r2.w, c42.y
    pow_sat r5.w, r4.w, r2.z
    mul r2.z, r3.w, r3.w
    mul r2.y, r2.y, r2.z
    texldl r6, r0.xyyy, s4
    texldl r7, r0.xyyy, s3
    mul r0.x, r2.y, r6.z
    mul r2.yzw, r6.y, c39.xxyz
    mov r8.xyz, c39
    mad r2.yzw, r2, -c48.xwxx, r8.xxyz
    mov r8.xyz, c48
    mov r9.x, c40.x
    cmp r8, -r9.x, r8.xxyz, c45
    mul r2.yzw, r2, r8.x
    mul r2.yzw, r0.x, r2
    mul r2.yzw, r2.x, r2
    mul r2.yzw, r2, r7.xxyz
    mul r2.yzw, r2, c47.y
    dp3 r0.x, r5, -c38
    mad r9.xyz, r0.x, c47, c47.zwzw
    mul_sat r9.xyz, r9, c46.xxyw
    mad r0.y, r0.x, r9.x, c48.w
    add_sat r0.y, -r0.y, c51.w
    mul r10.xyz, r9.y, c50
    mul r11.xyz, r0.y, r10
    mad r10.xyz, r10, -r0.y, c51.w
    mad r11.xyz, r0.x, r9.x, r11
    mad r0.y, r0.x, -r9.x, c51.w
    mul r9.xyz, r9.z, c52
    mul r9.xyz, r0.y, r9
    mad r9.xyz, r9, r10, r11
    lrp_sat r10.xyz, r6.y, r9, r0.x
    mul r6.yzw, r7.xxyz, r10.xxyz
    mul r6.yzw, r6, c39.xxyz
    mul r6.yzw, r8.x, r6
    mad r2.yzw, r6, c47.y, r2
    mul r0.x, r5.w, r7.w
    mul r6.yzw, r0.x, c39.xxyz
    mul r6.yzw, r8.x, r6
    mad r2.yzw, r6, c51.x, r2
    mul r2.xyz, r2.yzww, r2.x
    dp3 r0.x, -r3, r5
    add r0.y, r0.x, r0.x
    add_sat r0.x, -r0.x, c51.w
    mul r0.x, r0.x, r0.x
    mul r0.x, r6.x, r0.x
    mul r0.x, r0.x, c50.w
    mul r0.x, r8.w, r0.x
    mad r3.xyz, r5, -r0.y, -r3
    mul r5.xyz, r5, c46.zwzw
    nrm r6.xyz, r5
    mul r3.xyz, r3, c46.zwzw
    nrm r5.xyz, r3
    mov r3.xyz, c24
    cmp r9.xyz, r5.x, r3, c25
    mov r10.xyz, c26
    cmp r11.xyz, r5.y, r10, c27
    mul r5.xyw, r5.xyzz, r5.xyzz
    mov r12.xyz, c28
    cmp r13.xyz, r5.z, r12, c29
    mul r11.xyz, r11, r5.y
    mad r5.xyz, r5.x, r9, r11
    mad r5.xyz, r5.w, r13, r5
    dp3 r0.y, r4, r4
    rsq r0.y, r0.y
    mul r0.y, r0.y, r4.y
    mul r0.x, r0.y, r0.x
    cmp r0.x, r0.y, r0.x, c42.y
    mul r4.xyz, r5, r0.x
    cmp r5.xyz, r6.y, r10, c27
    mul r9.xyz, r6, r6
    mul r5.xyz, r5, r9.y
    cmp r3.xyz, r6.x, r3, c25
    cmp r6.xyz, r6.z, r12, c29
    mad r3.xyz, r9.x, r3, r5
    mad r3.xyz, r9.z, r6, r3
    mul r3.xyz, r3, r7
    mul r3.xyz, r8.y, r3
    mul r0.x, r8.z, r8.x
    mad r3.xyz, r3, r0.x, r4
    dp4 r0.x, r1, c16
    dp4 r0.y, r1, c17
    mul_sat r1.x, -r1.y, c41.x
    cmp oC0.w, r0.z, r1.x, c51.w
    mul r0.xy, r0.w, r0
    mad r0.xy, r0, c44.zwzw, c44.z
    texld r0, r0, s1
    mad oC0.xyz, r0.x, r3, r2

// approximately 207 instruction slots used (11 texture, 196 arithmetic)
 