struct S1 {
  unsigned f0;
};
static int g_161;
void func_109(unsigned g_227, unsigned t) {
  struct S1 l_178;
  int l_160 = 0x1FAE99D5L;
  int *l_230[] = {&l_160};
  if (l_160) {
    for (l_178.f0 = -7; l_178.f0;) {
      ++g_227;
      break;
    }
    (g_161) = g_227;
  }
  (g_161) &= t;
}
