var<private> result : vec4<f32>;

var<private> gl_FragCoord : vec4<f32>;

fn main_1() {
  let x_19 : f32 = gl_FragCoord.x;
  let x_23 : f32 = gl_FragCoord.y;
  result = vec4<f32>((floor(x_19) / 255.0), (floor(x_23) / 255.0), 0.0, 0.0);
  return;
}

struct main_out {
  @location(0)
  result_1 : vec4<f32>;
}

@stage(fragment)
fn main(@builtin(position) gl_FragCoord_param : vec4<f32>) -> main_out {
  gl_FragCoord = gl_FragCoord_param;
  main_1();
  return main_out(result);
}
