#include <metal_stdlib>

using namespace metal;
struct tint_array_wrapper {
  uint arr[2];
};
struct S {
  uint field0;
  float field1;
  tint_array_wrapper field2;
};

void main_1() {
  bool x_101_phi = false;
  bool const x_11 = (true & true);
  bool const x_12 = !(x_11);
  x_101_phi = x_11;
  if (true) {
    x_101_phi = x_12;
  }
  bool const x_101 = x_101_phi;
  return;
}

fragment void tint_symbol() {
  main_1();
  return;
}

