//lights/haze?
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float3 ambient_cube_tb[2];
//   float g_hdr_on;
//   float4 g_viewport_offset_scale;
//   sampler2D gbuffer_channel_4_sampler;
//   float4x4 inv_projection;
//   sampler2D s_diffuse1;
//   sampler2D s_diffuse2;
//   sampler2D s_diffuse3;
//   sampler2D s_diffuse4;
//   float3 sun_colour;
//   float4x4 view;
//   float4x4 view_projection;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   view_projection           c0       4
//   inv_projection            c4       4
//   view                      c8       3
//   sun_colour                c11      1
//   ambient_cube_tb           c12      1
//   g_hdr_on                  c13      1
//   g_viewport_offset_scale   c14      1
//   gbuffer_channel_4_sampler s0       1
//   s_diffuse1                s1       1
//   s_diffuse2                s2       1
//   s_diffuse3                s3       1
//   s_diffuse4                s4       1
//

    ps_3_0
    def c15, 0.100000001, -3, -2, -1
    def c16, 1, 0.00400000019, 360, 0
    def c17, 0.5, -0.5, 0, 0
    def c18, 2, 0.25, 0, 0
    def c19, 1, 0.400000006, 0, 0.5
    def c20, 2, -2, -1, 1
def c220, 0, 0, 0.0625, 0
dcl_2d s13
    dcl_color v0
    dcl_texcoord v1.xy
    dcl_texcoord1 v2.xyz
    dcl_texcoord2 v3.zw
    dcl_texcoord4 v4.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    add r0.xy, c15.x, v4
    frc r0.zw, r0.xyxy
    add r0.xz, -r0.zyww, r0.xyyw
    add r1, r0.x, c15.yzww
    cmp r2, -r1_abs, c19.xxxy, c19.z
    cmp r3.xy, -r0_abs.x, c19.xwzw, c19.z
    add r3.xy, r2.zwzw, r3
    cmp r0.x, -r3.x, c19.z, c19.x
    add r0.x, r2.y, r0.x
    cmp r0.x, -r0.x, c19.z, c19.x
    add r0.x, r2.x, r0.x
    if_lt -r0.x, c19.z
      if_eq r0.y, r0.w
        texld r4, v1, s1
      else
        if_eq r0.z, -c15.w
          texld r4, v1, s2
        else
          if_eq r0.z, -c15.z
            texld r4, v1, s3
          else
            if_eq r0.z, -c15.y
              texld r4, v1, s4
            else
              mov r4, c19.z
            endif
          endif
        endif
      endif
      mul r4, r4, v0
      mul r4.xyz, r4, v0.w
    else
      mov r4, v0
    endif
    add r0.y, r2.y, r3.x
    add r0.y, r2.x, r0.y
    cmp r0.zw, -r1_abs.xyyx, c18.xyxy, c18.z
    add r0.z, r0.z, r3.y
    add r0.z, r0.w, r0.z
    mul r3.xyz, r0.z, r4
    mul r5.xyz, r3, c11
    mov r6.xyz, c16
    cmp r0.zw, -c13.x, r6.x, r6.xyyz
    mul r6.xyz, r0.w, c12
    mul r3.xyz, r3, r6
    mul r3.xyz, r0.z, r3
    mad r3.xyz, r5, r0.z, r3
    mul r3.xyz, r3, v3.z
    mul r0.z, r4.w, v3.w
    cmp r3.w, -r0.y, r4.w, r0.z
    cmp r0, -r0.x, r4, r3
    add r1.y, r2.x, r2.z
    if_lt -r1.y, c19.z
      cmp r1.xy, -r1_abs.wxzw, c19.w, c19.z
      add r1.x, r1.y, r1.x
      mad r2, v2.xyzx, c19.xxxz, c19.zzzx
      dp4 r3.x, r2, c0
      dp4 r3.y, r2, c1
      dp4 r1.y, r2, c3
	  
texldl r24, c220.z, s13
add r24.y, r1.y, -r24.y
mul r24.x, r24.x, r24.y
add r3.x, r3.x, r24.x

      rcp r1.y, r1.y
      mul r1.yz, r1.y, r3.xxyw
      mad r1.yz, r1, c17.xxyw, c17.x
      mad r3.xy, r1.yzzw, c14.zwzw, c14
      mov r3.zw, c19.z
      texldl r4, r3, s0
      mad r3.xy, r3, c20, c20.zwzw
      mad r3.zw, r4.x, c19.xyxz, c19.xyzx
      dp4 r1.y, r3, c6
      dp4 r1.z, r3, c7
      rcp r1.z, r1.z
      dp4 r1.w, r2, c10
      mad r1.y, r1.y, r1.z, -r1.w
      rcp r1.x, r1.x
      mul_sat r1.x, r1.x, r1.y
      mul oC0, r0, r1.x
    else
      mov oC0, r0
    endif

// approximately 91 instruction slots used (6 texture, 85 arithmetic)
 