monoeg_g_file_test (const gchar * filename, GFileTest test)
{
  gboolean D.6320;
  unsigned int D.6321;
  int D.6324;
  unsigned int D.6327;
  int D.6330;
  unsigned int D.6333;
  int D.6336;
  _Bool D.6337;
  unsigned int D.6340;
  unsigned int D.6341;
  unsigned int D.6344;
  int D.6349;
  _Bool D.6350;
  unsigned int D.6355;
  int D.6360;
  _Bool D.6361;
  struct stat st;
  gboolean have_stat;

  try
    {
      if (filename == 0B) goto <D.6317>; else goto <D.6319>;
      <D.6319>:
      if (test == 0) goto <D.6317>; else goto <D.6318>;
      <D.6317>:
      D.6320 = 0;
      return D.6320;
      <D.6318>:
      have_stat = 0;
      D.6321 = test & 16;
      if (D.6321 != 0) goto <D.6322>; else goto <D.6323>;
      <D.6322>:
      D.6324 = access (filename, 0);
      if (D.6324 == 0) goto <D.6325>; else goto <D.6326>;
      <D.6325>:
      D.6320 = 1;
      return D.6320;
      <D.6326>:
      <D.6323>:
      D.6327 = test & 8;
      if (D.6327 != 0) goto <D.6328>; else goto <D.6329>;
      <D.6328>:
      D.6330 = access (filename, 1);
      if (D.6330 == 0) goto <D.6331>; else goto <D.6332>;
      <D.6331>:
      D.6320 = 1;
      return D.6320;
      <D.6332>:
      <D.6329>:
      D.6333 = test & 2;
      if (D.6333 != 0) goto <D.6334>; else goto <D.6335>;
      <D.6334>:
      D.6336 = lstat (filename, &st);
      D.6337 = D.6336 == 0;
      have_stat = (gboolean) D.6337;
      if (have_stat != 0) goto <D.6338>; else goto <D.6339>;
      <D.6338>:
      D.6340 = st.st_mode;
      D.6341 = D.6340 & 61440;
      if (D.6341 == 40960) goto <D.6342>; else goto <D.6343>;
      <D.6342>:
      D.6320 = 1;
      return D.6320;
      <D.6343>:
      <D.6339>:
      <D.6335>:
      D.6344 = test & 1;
      if (D.6344 != 0) goto <D.6345>; else goto <D.6346>;
      <D.6345>:
      if (have_stat == 0) goto <D.6347>; else goto <D.6348>;
      <D.6347>:
      D.6349 = stat (filename, &st);
      D.6350 = D.6349 == 0;
      have_stat = (gboolean) D.6350;
      <D.6348>:
      if (have_stat != 0) goto <D.6351>; else goto <D.6352>;
      <D.6351>:
      D.6340 = st.st_mode;
      D.6341 = D.6340 & 61440;
      if (D.6341 == 32768) goto <D.6353>; else goto <D.6354>;
      <D.6353>:
      D.6320 = 1;
      return D.6320;
      <D.6354>:
      <D.6352>:
      <D.6346>:
      D.6355 = test & 4;
      if (D.6355 != 0) goto <D.6356>; else goto <D.6357>;
      <D.6356>:
      if (have_stat == 0) goto <D.6358>; else goto <D.6359>;
      <D.6358>:
      D.6360 = stat (filename, &st);
      D.6361 = D.6360 == 0;
      have_stat = (gboolean) D.6361;
      <D.6359>:
      if (have_stat != 0) goto <D.6362>; else goto <D.6363>;
      <D.6362>:
      D.6340 = st.st_mode;
      D.6341 = D.6340 & 61440;
      if (D.6341 == 16384) goto <D.6364>; else goto <D.6365>;
      <D.6364>:
      D.6320 = 1;
      return D.6320;
      <D.6365>:
      <D.6363>:
      <D.6357>:
      D.6320 = 0;
      return D.6320;
    }
  finally
    {
      st = {CLOBBER};
    }
}


__attribute__((__gnu_inline__, __leaf__, __nothrow__))
lstat (const char * __path, struct stat * __statbuf)
{
  int D.6368;

  D.6368 = __lxstat (1, __path, __statbuf);
  return D.6368;
}


__attribute__((__gnu_inline__, __leaf__, __nothrow__))
stat (const char * __path, struct stat * __statbuf)
{
  int D.6370;

  D.6370 = __xstat (1, __path, __statbuf);
  return D.6370;
}


