var<private> outColor : vec4<f32>;

var<private> gl_FragDepth : f32;

var<private> gl_FragCoord : vec4<f32>;

fn main_1() {
  outColor = vec4<f32>(0.0, 0.0, 0.0, 0.0);
  let x_20 : f32 = gl_FragCoord.z;
  gl_FragDepth = x_20;
  return;
}

struct main_out {
  [[location(0)]]
  outColor_1 : vec4<f32>;
  [[builtin(frag_depth)]]
  gl_FragDepth_1 : f32;
};

[[stage(fragment)]]
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
  gl_FragCoord = gl_FragCoord_param;
  main_1();
  return main_out(outColor, gl_FragDepth);
}
