//
// 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;
//   sampler2D colour_overlay_texture_sampler;
//   sampler2D combined_foam_texture_sampler;
//   sampler2D detail_normal_sampler;
//   float4x4 g_amHardSplit[4];
//   float3 g_deep_water_colour;
//   float g_detail_normal_uv_scale1;
//   float g_detail_normal_uv_scale2;
//   float g_detail_normal_uv_speed1;
//   float g_detail_normal_uv_speed2;
//   float2 g_fFadeRange;
//   float g_fog_clear_distance;
//   float g_fog_colour_blend;
//   float g_fog_distance_scale;
//   float g_fog_distance_start;
//   float g_fog_distance_strength;
//   float g_fog_height_bottom;
//   float g_fog_height_strength;
//   float g_fog_height_top;
//   float g_hdr_on;
//   float g_iSplitCount;
//   float g_refraction_light_scatter;
//   float g_sample_bias;
//   float4 g_screen_size;
//   float3 g_sea_bed_light_scatter;
//   float3 g_shadow_light_direction;
//   float4 g_vSplitDepth;
//   float3 g_volume_fog_colour;
//   float g_vpos_texel_offset;
//   sampler2D gbuffer_channel_4_sampler;
//   float4x4 inv_view_projection;
//   sampler2D reflection_texture_sampler;
//   sampler2D refraction_texture_sampler;
//   sampler2D sHardShadowBuffer;
//   samplerCUBE s_sky;
//   sampler2D sea_surface_sampler;
//   float3 sun_colour;
//   float3 sun_direction;
//   sampler2D swell_surface_sampler;
//   float time_in_sec;
//   sampler2D ui_colour_overlay_texture_sampler;
//
//
// Registers:
//
//   Name                              Reg   Size
//   --------------------------------- ----- ----
//   g_amHardSplit                     c0      16
//   inv_view_projection               c16      4
//   ambient_cube_lr                   c20      2
//   ambient_cube_tb                   c22      2
//   ambient_cube_fb                   c24      2
//   camera_position                   c26      1
//   time_in_sec                       c27      1
//   g_screen_size                     c28      1
//   g_vpos_texel_offset               c29      1
//   g_iSplitCount                     c30      1
//   g_vSplitDepth                     c31      1
//   g_fFadeRange                      c32      1
//   g_sample_bias                     c33      1
//   g_shadow_light_direction          c34      1
//   sun_direction                     c35      1
//   sun_colour                        c36      1
//   g_deep_water_colour               c37      1
//   g_sea_bed_light_scatter           c38      1
//   g_refraction_light_scatter        c39      1
//   g_hdr_on                          c40      1
//   g_volume_fog_colour               c41      1
//   g_fog_distance_start              c42      1
//   g_fog_distance_strength           c43      1
//   g_fog_distance_scale              c44      1
//   g_fog_height_bottom               c45      1
//   g_fog_height_top                  c46      1
//   g_fog_height_strength             c47      1
//   g_fog_colour_blend                c48      1
//   g_fog_clear_distance              c49      1
//   g_detail_normal_uv_scale1         c50      1
//   g_detail_normal_uv_scale2         c51      1
//   g_detail_normal_uv_speed1         c52      1
//   g_detail_normal_uv_speed2         c53      1
//   s_sky                             s0       1
//   sHardShadowBuffer                 s1       1
//   gbuffer_channel_4_sampler         s2       1
//   sea_surface_sampler               s3       1
//   swell_surface_sampler             s4       1
//   combined_foam_texture_sampler     s5       1
//   reflection_texture_sampler        s6       1
//   refraction_texture_sampler        s7       1
//   colour_overlay_texture_sampler    s8       1
//   ui_colour_overlay_texture_sampler s9       1
//   detail_normal_sampler             s10      1
//

    ps_3_0
    def c54, 0, 2, -1, 6.28318548
    def c55, 0.212599993, 0.715200007, 0.0722000003, 0.00100000005
    def c56, 0.5, -0.00139173458, -0.00990268029, 0.00196078443
    def c57, -0.00694658188, -0.00719339959, 2, -1
    def c58, 0.159154937, 0.25, 0.5, -0.00138883968
    def c59, 6.28318548, -3.14159274, -2.52398507e-007, 2.47609005e-005
    def c60, 0.0416666418, 1, 4, 9.99999975e-005
    def c61, 1, 360, 0.00400000019, 0.222222224
    def c62, 0.850000024, 0.150000006, 0.0799999982, 0.0199999996
    def c63, -0, -1, -2, -3
    def c64, 0.140012279, 1.27323949, 1, 1.44269502
    def c65, 0, -1, -2, 3
    def c66, -0.0187292993, 0.0742610022, -0.212114394, 1.57072878
    def c67, -2, 2, 1, -1
    def c68, -2, 3.14159274, 0.99984771, 1.00015235
    def c69, -0.0174532924, 0.0174532924, 2.13605046, 23.2532482
    def c70, 60, 0.980000019, 0.0199999996, 0.0500000007
    def c71, 0.850000024, 0.800000012, 0.150000006, 0.200000003
    def c72, 5.77078009, -0.600000024, 0.5, 1
    def c73, 7.5, 1.66666663, 8, -4
    def c74, 0.400000006, 0.5, 0.600000024, 1000
    def c75, 1.5, 0, 0, 0
def c220, 0, 0, 0.0625, 0
dcl_2d s13
    dcl_texcoord v0
    dcl_texcoord1 v1.xyw
    dcl_texcoord2 v2.xyw
    dcl_texcoord4 v3
    dcl vPos.xy
    dcl_cube s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_2d s10
    mov r0.x, c27.x
    mul r0.y, r0.x, c53.x
    mul r0.yz, r0.y, c57.xxyw
    mad r0.yz, v3.xxyw, c51.x, r0
    texld r1, r0.yzzw, s10
    add r0.yz, r1.xwyw, c56.w
    mad r1.xz, r0.yyzw, c57.z, c57.w
    dp2add r0.y, r1.xzzw, -r1.xzzw, -c57.w
    max r1.w, r0.y, c54.x
    rsq r0.y, r1.w
    rcp r1.y, r0.y
    mad r0.yzw, r1.xxyz, c56.x, c56.x
    mad r0.yzw, r0, c67.xxyx, c67.xzwz
    mul r1.x, r0.x, c52.x
    mul r1.xy, r1.x, c56.yzzw
    mad r1.xy, v3, c50.x, r1
    texld r1, r1, s10
    add r1.xy, r1.wyzw, c56.w
    mad r1.xz, r1.xyyw, c57.z, c57.w
    dp2add r1.w, r1.xzzw, -r1.xzzw, -c57.w
    max r2.x, r1.w, c54.x
    rsq r1.w, r2.x
    rcp r1.y, r1.w
    mad r1.xyz, r1, c56.x, c56.x
    mad r1.xyz, r1, c54.y, c54.zxzw
    dp3 r1.w, r1, r0.yzww
    mul r0.yzw, r0, r1.y
    mad r0.yzw, r1.xxyz, r1.w, -r0
    dp3 r1.x, r0.yzww, r0.yzww
    rsq r1.x, r1.x
    mul r0.yzw, r0, r1.x
    mad r0.yzw, r0, c56.x, c56.x
    mad r0.yzw, r0, c67.xxyx, c67.xzwz
    texld r1, v3.zwzw, s4
    add r1, r1.xyxy, -c56.x
    mul r1, r1, c54.w
    texld r2, v3, s3
    add r2, r2.xyxy, -c56.x
    mad r1, r2, c54.w, r1
    mad r1, r1, c58.x, c58.yyzz
    frc r1, r1
    mad r1, r1, c59.x, c59.y
    mul r1, r1, r1
    mad r2, r1, c59.z, c59.w
    mad r2, r1, r2, c58.w
    mad r2, r1, r2, c60.x
    mad r2, r1, r2, -c56.x
    mad r1, r1.xzyw, r2.xzyw, -c57.w
    mul r1.y, r1.w, r1.y
    nrm r2.xyz, r1
    mad r1.xyz, r2, c56.x, c56.x
    mad r1.xyz, r1, c54.y, c54.zxzw
    dp3 r1.w, r1, r0.yzww
    mul r0.yzw, r0, r1.y
    mad r0.yzw, r1.xxyz, r1.w, -r0
    dp3 r1.x, r0.yzww, r0.yzww
    rsq r1.x, r1.x
    mul r0.yzw, r0, r1.x
    add r1.xyz, c26, -v0
    nrm r2.xyz, r1
    dp3 r1.x, -r2, r0.yzww
    add r1.x, r1.x, r1.x
    mad r1.xyz, r0.yzww, -r1.x, -r2
    dp3 r1.w, -c35, r1
    dp3 r1.x, r1, -r2
    dp3 r1.y, -c35, -r2
    max r2.x, c60.w, r1.x
    max r2.y, c57.w, r1.w
    min r1.x, r2.y, -c57.w
    mad r1.z, r1_abs.x, c66.x, c66.y
    mad r1.z, r1.z, r1_abs.x, c66.z
    mad r1.z, r1.z, r1_abs.x, c66.w
    add r1.w, -r1_abs.x, -c57.w
    cmp r1.x, r1.x, c54_abs.x, c54_abs.z
    rsq r1.w, r1.w
    rcp r1.w, r1.w
    mul r1.z, r1.w, r1.z
    mad r1.w, r1.z, c68.x, c68.y
    mad r1.x, r1.w, r1.x, r1.z
    add r3, r1.x, c69.xyxy
    cmp r1.x, r3.z, -c54_abs.x, -c54_abs.z
    mul r3, r3, c69.zzww
    cmp r1.zw, -r3.xyxz, c54_abs.x, c54_abs.z
    mul r3, r3, r3
    add r1.xz, r1.x, r1.zyww
    mad r4, r3.zzww, c64.x, c64.yzyz
    rcp r1.w, r4.y
    mul r1.w, r1.w, r4.x
    mul r1.w, r1.w, -r3.z
    mul r1.w, r1.w, c64.w
    exp r1.w, r1.w
    add r1.w, -r1.w, -c57.w
    rsq r1.w, r1.w
    rcp r1.w, r1.w
    mad r1.z, r1.z, r1.w, -c57.w
    mul r1.z, r1.z, c56.x
    rcp r1.w, r4.w
    mul r1.w, r1.w, r4.z
    mul r1.w, r1.w, -r3.w
    mul r1.w, r1.w, c64.w
    exp r1.w, r1.w
    add r1.w, -r1.w, -c57.w
    rsq r1.w, r1.w
    rcp r1.w, r1.w
    add r1.w, r1.w, -c57.w
    mad r1.z, r1.w, c56.x, -r1.z
    dp3 r1.w, r0.yzww, -c35
    add r2.y, r1.w, c68.z
    mul_sat r2.y, r2.y, c68.w
    mul r1.z, r1.z, r2.y
    pow r2.z, r1.y, c70.x
    add r1.y, -r1.y, c60.w
    mad r2.z, r2.z, c70.y, c70.z
    cmp r1.y, r1.y, c62.w, r2.z
    mul r1.z, r1.y, r1.z
    mul r4.xyz, r1.z, c36
    mul r4.xyz, r4, c71.y
    mad r5, r3.xxyy, c64.x, c64.yzyz
    rcp r1.z, r5.y
    mul r1.z, r1.z, r5.x
    mul r1.z, r1.z, -r3.x
    mul r1.z, r1.z, c64.w
    exp r1.z, r1.z
    add r1.z, -r1.z, -c57.w
    rsq r1.z, r1.z
    rcp r1.z, r1.z
    mad r1.x, r1.x, r1.z, -c57.w
    mul r1.x, r1.x, c56.x
    rcp r1.z, r5.w
    mul r1.z, r1.z, r5.z
    mul r1.z, r1.z, -r3.y
    mul r1.z, r1.z, c64.w
    exp r1.z, r1.z
    add r1.z, -r1.z, -c57.w
    rsq r1.z, r1.z
    rcp r1.z, r1.z
    add r1.z, r1.z, -c57.w
    mad r1.x, r1.z, c56.x, -r1.x
    mul r1.x, r1.x, r2.y
    mul r1.x, r1.y, r1.x
    mul r1.xyz, r1.x, c36
    mad r1.xyz, r1, c71.w, r4
    mul r2.y, r2.x, r2.x
    mul r2.y, r2.y, r2.y
    mul r2.x, r2.y, r2.x
    mad r2.x, r2.x, c62.x, c62.y
    mul r2.y, r2.x, c56.x
    mad r2.x, r2.x, -c72.z, c72.w
    mul r3, r0.ywyw, c62.zzww
    mul r0.yzw, r0, c60.xyzy
    nrm r4.xyz, r0.yzww
    add r0.yz, c29.x, vPos.xxyw
    mad r5.xy, r0.yzzw, c28.zwzw, r3
    mul r6.xy, r0.yzzw, c28.zwzw
    add r5.z, -r5.y, -c57.w
    texld r5, r5.xzzw, s6
    mul r0.yzw, r2.y, r5.xxyz
    mov r5.xyz, c22
    cmp r2.yzw, r4.y, r5.xxyz, c23.xxyz
    mul r5.xyz, r4, r4
    mul r2.yzw, r2, r5.y
    mov r7.xyz, c20
    cmp r4.xyw, r4.x, r7.xyzz, c21.xyzz
    mov r7.xyz, c24
    cmp r7.xyz, r4.z, r7, c25
    mad r2.yzw, r5.x, r4.xxyw, r2
    mad r2.yzw, r5.z, r7.xxyz, r2
    mov r4.xyz, c61
    cmp r3.xy, -c40.x, r4.x, r4.yzzw
    mul r2.yzw, r2, r3.x
    mul r4.xyz, r2.yzww, c37
    mov r6.zw, c54.x
    texldl r5, r6, s2
    mad r5.zw, r5.x, c54_abs.xyzx, c54_abs.xyxz
    mad r5.xy, r6, c67.yxzw, c67.wzzw
    dp4 r7.x, r5, c16
    dp4 r7.z, r5, c18
    dp4 r3.x, r5, c19
    dp4 r7.y, r5, c17
    rcp r3.x, r3.x
    mad r5.xyz, r7, r3.x, -v0
    mad r3.x, r7.y, -r3.x, v0.y
    max r4.w, r3.x, c54.x
    dp3 r3.x, r5, r5
    rsq r3.x, r3.x
    rcp r3.x, r3.x
    mul_sat r5.x, r3.x, c61.w
    mul r5.y, r5.x, v0.y
    mov r5.xz, v0
    mov r7.xyz, c34
    mad r5.xyz, r7, -c33.x, r5
    add r7, -c31, v0.w
    cmp r7, r7, c54_abs.z, c54_abs.x
    dp4 r6.z, r7, r7
    add r7.xyz, r6.z, c65
    mov r8.x, c54.x
    cmp r9, -r7_abs.x, c4, r8.x
    cmp r9, -r7_abs.y, c8, r9
    cmp r9, -r7_abs.z, c12, r9
    mov r5.w, -c57.w
	
mov r20, r5

dp4 r21.x, r20, c200
dp4 r21.y, r20, c201
dp4 r21.z, r20, c202
dp4 r21.w, r20, c203

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, c204
dp4 r20.y, r21, c205
dp4 r20.z, r21, c206
dp4 r20.w, r21, c207

mov r5, r20

    dp4 r9.x, r5, r9
    cmp r10, -r7_abs.x, c5, r8.x
    cmp r10, -r7_abs.y, c9, r10
    cmp r10, -r7_abs.z, c13, r10
    dp4 r9.y, r5, r10
    cmp r10, -r7_abs.x, c6, r8.x
    cmp r10, -r7_abs.y, c10, r10
    cmp r10, -r7_abs.z, c14, r10
    dp4 r9.z, r5, r10
    cmp r10, -r7_abs.x, c7, r8.x
    cmp r10, -r7_abs.y, c11, r10
    cmp r7, -r7_abs.z, c15, r10
    dp4 r9.w, r5, r7
    texldp r7, r9, s1
    add r6.w, r6.z, -c30.x
    add r9, r6.z, c63
    add r6.z, r6.w, -c57.w
    cmp r6.z, r6.z, -c57.w, r7.x
    cmp r7, -r9_abs.x, c0, r8.x
    cmp r7, -r9_abs.y, c4, r7
    cmp r7, -r9_abs.z, c8, r7
    cmp r7, -r9_abs.w, c12, r7
    dp4 r7.x, r5, r7
    cmp r10, -r9_abs.x, c1, r8.x
    cmp r10, -r9_abs.y, c5, r10
    cmp r10, -r9_abs.z, c9, r10
    cmp r10, -r9_abs.w, c13, r10
    dp4 r7.y, r5, r10
    cmp r10, -r9_abs.x, c2, r8.x
    cmp r10, -r9_abs.y, c6, r10
    cmp r10, -r9_abs.z, c10, r10
    cmp r10, -r9_abs.w, c14, r10
    dp4 r7.z, r5, r10
    cmp r10, -r9_abs.x, c3, r8.x
    cmp r10, -r9_abs.y, c7, r10
    cmp r10, -r9_abs.z, c11, r10
    cmp r10, -r9_abs.w, c15, r10
    cmp r9, -r9_abs, c54_abs.z, c54_abs.x
    dp4 r8.y, c31, r9
    add r8.y, r8.y, -c32.x
    add r8.y, -r8.y, v0.w
    dp4 r7.w, r5, r10
    texldp r5, r7, s1
    cmp r5.x, r6.w, -c57.w, r5.x
    rcp r5.y, c32.x
    mul_sat r5.y, r5.y, r8.y
    lrp r7.x, r5.y, r6.z, r5.x
    cmp r5.x, -r5.y, r5.x, r7.x
    mov r5.w, c57.w
    add r5.y, r5.w, c30.x
    frc r5.z, c30.x
    add r5.y, r5.y, -r5.z
    add r7, r5.y, c63
    cmp r7, -r7_abs, c54_abs.z, c54_abs.x
    dp4 r5.y, c31, r7
    add r5.z, r5.y, -c32.y
    add r5.y, -r5.z, r5.y
    add r5.z, -r5.z, v0.w
    rcp r5.y, r5.y
    mul_sat r5.y, r5.y, r5.z
    mad r5.z, r5.y, c65.z, c65.w
    mul r5.y, r5.y, r5.y
    mad_sat r5.x, r5.z, r5.y, r5.x
    mad r5.yz, r5.x, c71.xxyw, c71.xzww
    mov r7.y, c35.y
    mul r7.xyz, -r7.y, c37
    mul r7.xyz, r7, c36
    mul r7.xyz, r3.y, r7
    mul r7.xyz, r5.y, r7
    cmp r7.xyz, c35.y, r8.x, r7
    mad r4.xyz, r4, r3.y, r7
    min r5.y, r4.w, -c63.w
    mad r7.xy, r3.zwzw, r5.y, r6
    texld r6, r6, s7
    texld r9, r7, s7
    mov r7.zw, c54.x
    texldl r10, r7, s2
    mad r7.xy, r7, c67.yxzw, c67.wzzw
    mad r7.zw, r10.x, c54_abs.xyzx, c54_abs.xyxz
    dp4 r3.z, r7, c19
    rcp r3.z, r3.z
    dp4 r10.x, r7, c16
    dp4 r10.y, r7, c17
    dp4 r10.z, r7, c18
    mad r7.xyz, r10, r3.z, -c26
    dp3 r3.z, r7, r7
    rsq r3.z, r3.z
    rcp r3.z, r3.z
    add r7.xyz, -c26, v0
    dp3 r3.w, r7, r7
    rsq r3.w, r3.w
    rcp r3.w, r3.w
    add r3.z, -r3.z, r3.w
    cmp r6.xyz, r3.z, r6, r9
    mov r9.xyz, c38
    mad r8.yzw, r9.xxyz, -c39.x, -r5.w
    mul r8.yzw, r3.x, -r8
    mov_sat r3.x, r3.x
    mul r8.yzw, r8, c72.x
    exp r9.x, r8.y
    exp r9.y, r8.z
    exp r9.z, r8.w
    mad r6.xyz, r6, r9, -r4
    mad r4.xyz, r9, r6, r4
    mul r4.xyz, r2.x, r4
    mad r0.yzw, r0, r3.x, r4.xxyz
    mad r0.yzw, r5.x, r1.xxyz, r0
    add r1.x, r4.w, c72.y
    mul_sat r1.y, r4.w, c73.y
    mov_sat r1.x, r1.x
    add r1.x, -r1.x, -c57.w
    mul r0.x, r0.x, c70.w
    mad r3.xz, v3.xyyw, c73.x, -r0.x
    mad r4.xy, v3, c73.x, r0.x
    texld r4, r4, s5
    texld r6, r3.xzzw, s5
    mul r0.x, r4.y, r6.z
    rsq r0.x, r0.x
    rcp_sat r0.x, r0.x
    mul r0.x, r1.x, r0.x
    mul r4.w, r1.y, r0.x
    rcp r0.x, v1.w
    mad r1.xy, v1, r0.x, c56.x
    texld r6, r1, s8
    mov r4.xyz, c74
    lrp r9, r6.w, r6, r4
    mul r1.xyz, r1.w, r9
    mul r1.xyz, r1, c36
    mul r1.xyz, r3.y, r1
    mul r1.xyz, r5.z, r1
    cmp r1.xyz, r1.w, r1, c54.x
    mul r2.xyz, r2.yzww, r9
    mad r1.xyz, r2, r3.y, r1
    lrp r2.xyz, r9.w, r1, r0.yzww
    rcp r0.x, v2.w
    mad r0.xy, v2, r0.x, c56.x
    texld r0, r0, s9
    mov r1.xyz, c36
    dp3 r1.w, r1, c55
    mul r1.w, r3.y, r1.w
    mul r1.w, r1.w, c58.y
    mad r0.xyz, r0, r1.w, -r2
    mad r0.xyz, r0.w, r0, r2
    max r7.w, r7.y, c54.x
    texld r2, r7.xwzw, s0
    mul r1.xyz, r1, c41
    mul r1.xyz, r1, c75.x
    abs r0.w, c35.y
    mul r1.xyz, r0.w, r1
    mad r2.xyz, r1, -r3.y, r2
    mul r1.xyz, r3.y, r1
    add r0.w, -r5.w, -c43.x
    mul r0.w, r0.w, c74.w
    rcp r0.w, r0.w
    add r1.w, -r5.w, -c42.x
    mad r1.w, r1.w, c73.z, c73.w
    mad r0.w, r3.w, r0.w, r1.w
    mul r0.w, r0.w, c64.w
    exp r0.w, r0.w
    rcp r0.w, r0.w
    mad_sat r0.w, c44.x, -r0.w, c44.x
    dp2add_sat r1.w, r0.w, c48.x, r8.x
    mad r1.xyz, r1.w, r2, r1
    add r1.xyz, -r0, r1
    mov r1.w, c55.w
    add r1.w, r1.w, -c49.x
    rcp r2.x, c49.x
    cmp r1.w, r1.w, c74.w, r2.x
    mul_sat r1.w, r1.w, r3.w
    mad r2.x, r1.w, c65.z, c65.w
    mul r1.w, r1.w, r1.w
    mul r1.w, r1.w, r2.x
    add r2.x, c46.x, -v0.y
    add r2.x, r2.x, -c45.x
    mov r3.x, c46.x
    add r2.y, r3.x, -c45.x
    rcp r2.y, r2.y
    mul_sat r2.x, r2.y, r2.x
    mad r2.y, r2.x, c65.z, c65.w
    mul r2.x, r2.x, r2.x
    mul r2.x, r2.x, r2.y
    mad r0.w, c47.x, r2.x, r0.w
    mul_sat r0.w, r0.w, r1.w
    mad oC0.xyz, r0.w, r1, r0
    mov oC0.w, -c57.w

// approximately 398 instruction slots used (18 texture, 380 arithmetic)
 