// NO FIX
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float4x4 colour_matrix;
//   sampler2D frame_sampler;
//   float g_brightness;
//   float g_fog_of_war_blend;
//   float g_fog_of_war_outfield_blend;
//   float g_inv_gamma_output;
//   float4 g_screen_size;
//   float g_vpos_texel_offset;
//   sampler2D gbuffer_channel_4_sampler;
//   float4x4 inv_view_projection;
//   sampler2D s_fog_of_war_mask;
//
//
// Registers:
//
//   Name                        Reg   Size
//   --------------------------- ----- ----
//   inv_view_projection         c0       4
//   colour_matrix               c4       3
//   g_screen_size               c7       1
//   g_vpos_texel_offset         c8       1
//   g_brightness                c9       1
//   g_inv_gamma_output          c10      1
//   g_fog_of_war_blend          c11      1
//   g_fog_of_war_outfield_blend c12      1
//   gbuffer_channel_4_sampler   s0       1
//   s_fog_of_war_mask           s1       1
//   frame_sampler               s2       1
//

    ps_3_0
    def c13, 2, -2, -1, 1
    def c14, 1, 0, 0.00048828125, 0.5
    def c15, -1, 0, 1, 50
    def c16, 0.270000011, 0.670000017, 0.0599999987, 0.25
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    add r0.xy, c8.x, vPos
    mul r0.xy, r0, c7.zwzw
    texldl r1, r0.xyyy, s2
    texldl r2, r0.xyyy, s0
    mad r0.xy, r0, c13, c13.zwzw
    mad r0.zw, r2.x, c14.xyxy, c14.xyyx
    dp4 r2.x, r0, c0
    dp4 r2.y, r0, c2
    dp4 r0.x, r0, c3

// mov r20.x, r2.x
// dp4 r20.y, r0, c1
// mov r20.z, r2.y
// mov r20.w, r0.x

// rcp r0.x, r23.w
// mul r20, r20, r23.w

// 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 

// mul r20, r20, r0.x
// mov r2.x, r20.x
// mov r2.y, r20.z

	
    rcp r0.x, r0.x
    mul r0.xy, r0.x, r2
    mad r0.xy, r0, c14.z, c14.w
    cmp r2.x, r0.x, c14.y, c14.x
    add r2.yz, -r0.xyxw, c13.w
    cmp r2.zw, r2.xyzy, c14.y, c14.x
    add r2.x, r2.z, r2.x
    cmp r2.x, -r2.x, c14.y, c14.x
    add r2.x, r2.w, r2.x
    cmp r2.x, -r2.x, c14.y, c14.x
    add r2.y, -r2.y, c13.w
    cmp r2.y, r2.y, c14.y, c14.x
    add r2.x, r2.y, r2.x
    if_lt -r2.x, c14.y
      mov r2.w, c13.w
      mov r2.x, c12.x
      mad r2.x, r2.x, -c11.x, r2.w
    else
      mad r0.zw, r0.y, c15.xyxy, c15.xyzy
      texldl r3, r0.xzww, s1
      mov r2.zw, c13
      add r0.w, r2.z, c12.x
      mad r4, r0.xxzy, c15.zxzz, c15.yzyy
      mul r4, r4, c15.w
      min r5, r4, c13.w
      min r0.xy, r5.ywzw, r5.xzzw
      min r2.y, r0.y, r0.x
      add r0.x, -r2.y, c13.w
      max r2.y, r3.x, r0.x
      cmp r0.x, r0.w, r3.x, r2.y
      add r0.y, r2.w, -c11.x
      max r2.x, r0.x, r0.y
    endif
    dp3 r0.x, r1, c16
    mul r0.xyz, r0.x, c16.w
    mov r0.w, r1.w
    add r1, -r0.zzzw, r1
    mad r0, r2.x, r1, r0
    mul_sat r0.xyz, r0, c9.x
    log r1.x, r0.x
    log r1.y, r0.y
    log r1.z, r0.z
    mul r0.xyz, r1, c10.x
    exp r1.x, r0.x
    exp r1.y, r0.y
    exp r1.z, r0.z
    mov r1.w, c13.w
    dp4 oC0.x, r1, c4
    dp4 oC0.y, r1, c5
    dp4 oC0.z, r1, c6
    mov oC0.w, r0.w

// approximately 65 instruction slots used (6 texture, 59 arithmetic)
 