monoeg_g_file_test (const gchar * filename, GFileTest test)
{
  gboolean D.5891;
  unsigned int D.5892;
  int D.5895;
  unsigned int D.5898;
  int D.5901;
  unsigned int D.5904;
  int D.5907;
  _Bool D.5908;
  unsigned int D.5911;
  unsigned int D.5912;
  unsigned int D.5915;
  int D.5920;
  _Bool D.5921;
  unsigned int D.5926;
  int D.5931;
  _Bool D.5932;
  struct stat st;
  gboolean have_stat;

  try
    {
      if (filename == 0B) goto <D.5888>; else goto <D.5890>;
      <D.5890>:
      if (test == 0) goto <D.5888>; else goto <D.5889>;
      <D.5888>:
      D.5891 = 0;
      return D.5891;
      <D.5889>:
      have_stat = 0;
      D.5892 = test & 16;
      if (D.5892 != 0) goto <D.5893>; else goto <D.5894>;
      <D.5893>:
      D.5895 = access (filename, 0);
      if (D.5895 == 0) goto <D.5896>; else goto <D.5897>;
      <D.5896>:
      D.5891 = 1;
      return D.5891;
      <D.5897>:
      <D.5894>:
      D.5898 = test & 8;
      if (D.5898 != 0) goto <D.5899>; else goto <D.5900>;
      <D.5899>:
      D.5901 = access (filename, 1);
      if (D.5901 == 0) goto <D.5902>; else goto <D.5903>;
      <D.5902>:
      D.5891 = 1;
      return D.5891;
      <D.5903>:
      <D.5900>:
      D.5904 = test & 2;
      if (D.5904 != 0) goto <D.5905>; else goto <D.5906>;
      <D.5905>:
      D.5907 = lstat (filename, &st);
      D.5908 = D.5907 == 0;
      have_stat = (gboolean) D.5908;
      if (have_stat != 0) goto <D.5909>; else goto <D.5910>;
      <D.5909>:
      D.5911 = st.st_mode;
      D.5912 = D.5911 & 61440;
      if (D.5912 == 40960) goto <D.5913>; else goto <D.5914>;
      <D.5913>:
      D.5891 = 1;
      return D.5891;
      <D.5914>:
      <D.5910>:
      <D.5906>:
      D.5915 = test & 1;
      if (D.5915 != 0) goto <D.5916>; else goto <D.5917>;
      <D.5916>:
      if (have_stat == 0) goto <D.5918>; else goto <D.5919>;
      <D.5918>:
      D.5920 = stat (filename, &st);
      D.5921 = D.5920 == 0;
      have_stat = (gboolean) D.5921;
      <D.5919>:
      if (have_stat != 0) goto <D.5922>; else goto <D.5923>;
      <D.5922>:
      D.5911 = st.st_mode;
      D.5912 = D.5911 & 61440;
      if (D.5912 == 32768) goto <D.5924>; else goto <D.5925>;
      <D.5924>:
      D.5891 = 1;
      return D.5891;
      <D.5925>:
      <D.5923>:
      <D.5917>:
      D.5926 = test & 4;
      if (D.5926 != 0) goto <D.5927>; else goto <D.5928>;
      <D.5927>:
      if (have_stat == 0) goto <D.5929>; else goto <D.5930>;
      <D.5929>:
      D.5931 = stat (filename, &st);
      D.5932 = D.5931 == 0;
      have_stat = (gboolean) D.5932;
      <D.5930>:
      if (have_stat != 0) goto <D.5933>; else goto <D.5934>;
      <D.5933>:
      D.5911 = st.st_mode;
      D.5912 = D.5911 & 61440;
      if (D.5912 == 16384) goto <D.5935>; else goto <D.5936>;
      <D.5935>:
      D.5891 = 1;
      return D.5891;
      <D.5936>:
      <D.5934>:
      <D.5928>:
      D.5891 = 0;
      return D.5891;
    }
  finally
    {
      st = {CLOBBER};
    }
}


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

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


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

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


