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);
}
