monoeg_g_file_test (const gchar * filename, GFileTest test)
{
  _Bool D.8476;
  _Bool D.8477;
  _Bool D.8478;
  gboolean D.8481;
  unsigned int D.8482;
  int D.8485;
  unsigned int D.8488;
  int D.8491;
  unsigned int D.8494;
  int D.8497;
  _Bool D.8498;
  unsigned int D.8501;
  unsigned int D.8502;
  unsigned int D.8505;
  int D.8510;
  _Bool D.8511;
  unsigned int D.8516;
  int D.8521;
  _Bool D.8522;
  struct stat st;
  gboolean have_stat;

  try
    {
      D.8476 = filename == 0B;
      D.8477 = test == 0;
      D.8478 = D.8476 | D.8477;
      if (D.8478 != 0) goto <D.8479>; else goto <D.8480>;
      <D.8479>:
      D.8481 = 0;
      return D.8481;
      <D.8480>:
      have_stat = 0;
      D.8482 = test & 16;
      if (D.8482 != 0) goto <D.8483>; else goto <D.8484>;
      <D.8483>:
      D.8485 = access (filename, 0);
      if (D.8485 == 0) goto <D.8486>; else goto <D.8487>;
      <D.8486>:
      D.8481 = 1;
      return D.8481;
      <D.8487>:
      <D.8484>:
      D.8488 = test & 8;
      if (D.8488 != 0) goto <D.8489>; else goto <D.8490>;
      <D.8489>:
      D.8491 = access (filename, 1);
      if (D.8491 == 0) goto <D.8492>; else goto <D.8493>;
      <D.8492>:
      D.8481 = 1;
      return D.8481;
      <D.8493>:
      <D.8490>:
      D.8494 = test & 2;
      if (D.8494 != 0) goto <D.8495>; else goto <D.8496>;
      <D.8495>:
      D.8497 = lstat (filename, &st);
      D.8498 = D.8497 == 0;
      have_stat = (gboolean) D.8498;
      if (have_stat != 0) goto <D.8499>; else goto <D.8500>;
      <D.8499>:
      D.8501 = st.st_mode;
      D.8502 = D.8501 & 61440;
      if (D.8502 == 40960) goto <D.8503>; else goto <D.8504>;
      <D.8503>:
      D.8481 = 1;
      return D.8481;
      <D.8504>:
      <D.8500>:
      <D.8496>:
      D.8505 = test & 1;
      if (D.8505 != 0) goto <D.8506>; else goto <D.8507>;
      <D.8506>:
      if (have_stat == 0) goto <D.8508>; else goto <D.8509>;
      <D.8508>:
      D.8510 = stat (filename, &st);
      D.8511 = D.8510 == 0;
      have_stat = (gboolean) D.8511;
      <D.8509>:
      if (have_stat != 0) goto <D.8512>; else goto <D.8513>;
      <D.8512>:
      D.8501 = st.st_mode;
      D.8502 = D.8501 & 61440;
      if (D.8502 == 32768) goto <D.8514>; else goto <D.8515>;
      <D.8514>:
      D.8481 = 1;
      return D.8481;
      <D.8515>:
      <D.8513>:
      <D.8507>:
      D.8516 = test & 4;
      if (D.8516 != 0) goto <D.8517>; else goto <D.8518>;
      <D.8517>:
      if (have_stat == 0) goto <D.8519>; else goto <D.8520>;
      <D.8519>:
      D.8521 = stat (filename, &st);
      D.8522 = D.8521 == 0;
      have_stat = (gboolean) D.8522;
      <D.8520>:
      if (have_stat != 0) goto <D.8523>; else goto <D.8524>;
      <D.8523>:
      D.8501 = st.st_mode;
      D.8502 = D.8501 & 61440;
      if (D.8502 == 16384) goto <D.8525>; else goto <D.8526>;
      <D.8525>:
      D.8481 = 1;
      return D.8481;
      <D.8526>:
      <D.8524>:
      <D.8518>:
      D.8481 = 0;
      return D.8481;
    }
  finally
    {
      st = {CLOBBER};
    }
}


lstat (const char * __path, struct stat * __statbuf)
{
  int D.8529;

  D.8529 = __lxstat (3, __path, __statbuf);
  return D.8529;
}


stat (const char * __path, struct stat * __statbuf)
{
  int D.8531;

  D.8531 = __xstat (3, __path, __statbuf);
  return D.8531;
}


