monoeg_g_file_test (const gchar * filename, GFileTest test)
{
  _Bool D.5864;
  _Bool D.5865;
  _Bool D.5866;
  gboolean D.5869;
  unsigned int D.5870;
  int D.5873;
  unsigned int D.5876;
  int D.5879;
  unsigned int D.5882;
  int D.5885;
  _Bool D.5886;
  unsigned int D.5889;
  unsigned int D.5890;
  unsigned int D.5893;
  int D.5898;
  _Bool D.5899;
  unsigned int D.5904;
  int D.5909;
  _Bool D.5910;
  struct stat st;
  gboolean have_stat;

  try
    {
      D.5864 = filename == 0B;
      D.5865 = test == 0;
      D.5866 = D.5864 | D.5865;
      if (D.5866 != 0) goto <D.5867>; else goto <D.5868>;
      <D.5867>:
      D.5869 = 0;
      return D.5869;
      <D.5868>:
      have_stat = 0;
      D.5870 = test & 16;
      if (D.5870 != 0) goto <D.5871>; else goto <D.5872>;
      <D.5871>:
      D.5873 = access (filename, 0);
      if (D.5873 == 0) goto <D.5874>; else goto <D.5875>;
      <D.5874>:
      D.5869 = 1;
      return D.5869;
      <D.5875>:
      <D.5872>:
      D.5876 = test & 8;
      if (D.5876 != 0) goto <D.5877>; else goto <D.5878>;
      <D.5877>:
      D.5879 = access (filename, 1);
      if (D.5879 == 0) goto <D.5880>; else goto <D.5881>;
      <D.5880>:
      D.5869 = 1;
      return D.5869;
      <D.5881>:
      <D.5878>:
      D.5882 = test & 2;
      if (D.5882 != 0) goto <D.5883>; else goto <D.5884>;
      <D.5883>:
      D.5885 = lstat (filename, &st);
      D.5886 = D.5885 == 0;
      have_stat = (gboolean) D.5886;
      if (have_stat != 0) goto <D.5887>; else goto <D.5888>;
      <D.5887>:
      D.5889 = st.st_mode;
      D.5890 = D.5889 & 61440;
      if (D.5890 == 40960) goto <D.5891>; else goto <D.5892>;
      <D.5891>:
      D.5869 = 1;
      return D.5869;
      <D.5892>:
      <D.5888>:
      <D.5884>:
      D.5893 = test & 1;
      if (D.5893 != 0) goto <D.5894>; else goto <D.5895>;
      <D.5894>:
      if (have_stat == 0) goto <D.5896>; else goto <D.5897>;
      <D.5896>:
      D.5898 = stat (filename, &st);
      D.5899 = D.5898 == 0;
      have_stat = (gboolean) D.5899;
      <D.5897>:
      if (have_stat != 0) goto <D.5900>; else goto <D.5901>;
      <D.5900>:
      D.5889 = st.st_mode;
      D.5890 = D.5889 & 61440;
      if (D.5890 == 32768) goto <D.5902>; else goto <D.5903>;
      <D.5902>:
      D.5869 = 1;
      return D.5869;
      <D.5903>:
      <D.5901>:
      <D.5895>:
      D.5904 = test & 4;
      if (D.5904 != 0) goto <D.5905>; else goto <D.5906>;
      <D.5905>:
      if (have_stat == 0) goto <D.5907>; else goto <D.5908>;
      <D.5907>:
      D.5909 = stat (filename, &st);
      D.5910 = D.5909 == 0;
      have_stat = (gboolean) D.5910;
      <D.5908>:
      if (have_stat != 0) goto <D.5911>; else goto <D.5912>;
      <D.5911>:
      D.5889 = st.st_mode;
      D.5890 = D.5889 & 61440;
      if (D.5890 == 16384) goto <D.5913>; else goto <D.5914>;
      <D.5913>:
      D.5869 = 1;
      return D.5869;
      <D.5914>:
      <D.5912>:
      <D.5906>:
      D.5869 = 0;
      return D.5869;
    }
  finally
    {
      st = {CLOBBER};
    }
}


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

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


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

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


