var<private> x_GLF_color : vec4<f32>;

fn f_() -> f32 {
  var i : i32;
  i = 1;
  loop {
    let x_8 : i32 = i;
    if ((x_8 < 10)) {
    } else {
      break;
    }
    let x_9 : i32 = i;
    if ((f32(x_9) >= 1.0)) {
      return 1.0;
    } else {
      continue;
    }

    continuing {
      let x_10 : i32 = i;
      i = (x_10 + 1);
    }
  }
  return 1.0;
}

fn main_1() {
  var c : vec4<f32>;
  var i_1 : i32;
  c = vec4<f32>(1.0, 0.0, 0.0, 1.0);
  i_1 = 0;
  loop {
    let x_12 : i32 = i_1;
    if ((x_12 < 1)) {
    } else {
      break;
    }

    continuing {
      let x_39 : f32 = f_();
      c.x = x_39;
      let x_13 : i32 = i_1;
      i_1 = (x_13 + 1);
    }
  }
  let x_41 : vec4<f32> = c;
  x_GLF_color = x_41;
  return;
}

struct main_out {
  @location(0)
  x_GLF_color_1 : vec4<f32>,
}

@stage(fragment)
fn main() -> main_out {
  main_1();
  return main_out(x_GLF_color);
}
