1type Arr = [[stride(16)]] array<f32, 2>;
2
3[[block]]
4struct buf1 {
5  x_GLF_uniform_float_values : Arr;
6};
7
8type Arr_1 = [[stride(16)]] array<i32, 3>;
9
10[[block]]
11struct buf0 {
12  x_GLF_uniform_int_values : Arr_1;
13};
14
15[[group(0), binding(1)]] var<uniform> x_6 : buf1;
16
17[[group(0), binding(0)]] var<uniform> x_8 : buf0;
18
19var<private> x_GLF_color : vec4<f32>;
20
21fn main_1() {
22  var m32 : mat3x2<f32>;
23  var sums : array<f32, 3>;
24  var x_52_phi : i32;
25  let x_40 : f32 = x_6.x_GLF_uniform_float_values[0];
26  m32 = mat3x2<f32>(vec2<f32>(x_40, 0.0), vec2<f32>(0.0, x_40), vec2<f32>(0.0, 0.0));
27  let x_45 : i32 = x_8.x_GLF_uniform_int_values[0];
28  if ((x_45 == 1)) {
29    m32[3][x_45] = x_40;
30  }
31  sums = array<f32, 3>(x_40, x_40, x_40);
32  x_52_phi = x_45;
33  loop {
34    var x_53 : i32;
35    let x_52 : i32 = x_52_phi;
36    let x_56 : i32 = x_8.x_GLF_uniform_int_values[2];
37    if ((x_52 < x_56)) {
38    } else {
39      break;
40    }
41
42    continuing {
43      let x_60 : f32 = m32[x_52][x_45];
44      let x_61 : ptr<function, f32> = &(sums[x_56]);
45      let x_62 : f32 = *(x_61);
46      *(x_61) = (x_62 + x_60);
47      x_53 = (x_52 + 1);
48      x_52_phi = x_53;
49    }
50  }
51  let x_65 : f32 = sums[x_45];
52  let x_67 : f32 = x_6.x_GLF_uniform_float_values[1];
53  let x_69 : i32 = x_8.x_GLF_uniform_int_values[1];
54  let x_71 : f32 = sums[x_69];
55  x_GLF_color = vec4<f32>(x_65, x_67, x_67, x_71);
56  return;
57}
58
59struct main_out {
60  [[location(0)]]
61  x_GLF_color_1 : vec4<f32>;
62};
63
64[[stage(fragment)]]
65fn main() -> main_out {
66  main_1();
67  return main_out(x_GLF_color);
68}
69