/* Generated by Frama-C */
#include "stddef.h"
#include "stdio.h"
int goto_bts(void)
{
  int __retres;
  int *p;
  __e_acsl_store_block((void *)(& p),(size_t)8);
  {
    int a = 0;
    __e_acsl_store_block((void *)(& a),(size_t)4);
    __e_acsl_full_init((void *)(& a));
    __e_acsl_full_init((void *)(& p));
    p = & a;
    {
      int __gen_e_acsl_initialized;
      int __gen_e_acsl_and;
      __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
      if (__gen_e_acsl_initialized) {
        int __gen_e_acsl_valid;
        __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
        __gen_e_acsl_and = __gen_e_acsl_valid;
      }
      else __gen_e_acsl_and = 0;
      __e_acsl_assert(__gen_e_acsl_and,"Assertion","goto_bts","\\valid(p)",
                      "tests/memory/early_exit.c",13);
    }
    /*@ assert \valid(p); */ ;
    __e_acsl_delete_block((void *)(& a));
    goto L;
    __e_acsl_delete_block((void *)(& a));
  }
  L:
  /*@ assert ¬\valid(p); */
  {
    int __gen_e_acsl_initialized_2;
    int __gen_e_acsl_and_2;
    __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_2) {
      int __gen_e_acsl_valid_2;
      /*@ assert Eva: dangling_pointer: ¬\dangling(&p); */
      __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
    }
    else __gen_e_acsl_and_2 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","goto_bts",
                    "!\\valid(p)","tests/memory/early_exit.c",18);
  }
  __retres = 0;
  __e_acsl_delete_block((void *)(& p));
  return __retres;
}

int goto_valid(void)
{
  int __retres;
  int *p;
  int *q;
  int *r;
  __e_acsl_store_block((void *)(& r),(size_t)8);
  __e_acsl_store_block((void *)(& q),(size_t)8);
  __e_acsl_store_block((void *)(& p),(size_t)8);
  int a = 9;
  {
    int a1 = 0;
    __e_acsl_store_block((void *)(& a1),(size_t)4);
    __e_acsl_full_init((void *)(& a1));
    __e_acsl_full_init((void *)(& p));
    p = & a1;
    {
      int a2 = 0;
      __e_acsl_store_block((void *)(& a2),(size_t)4);
      __e_acsl_full_init((void *)(& a2));
      __e_acsl_full_init((void *)(& q));
      q = & a2;
      {
        int a3 = 0;
        __e_acsl_store_block((void *)(& a3),(size_t)4);
        __e_acsl_full_init((void *)(& a3));
        __e_acsl_full_init((void *)(& r));
        r = & a3;
        __e_acsl_delete_block((void *)(& a2));
        __e_acsl_delete_block((void *)(& a3));
        goto FIRST;
        __e_acsl_full_init((void *)(& p));
        p = (int *)0;
        __e_acsl_full_init((void *)(& q));
        q = & a;
        __e_acsl_full_init((void *)(& r));
        r = q;
        __e_acsl_delete_block((void *)(& a3));
        __e_acsl_delete_block((void *)(& a2));
      }
    }
    FIRST:
    /*@ assert \valid(p); */
    {
      int __gen_e_acsl_initialized;
      int __gen_e_acsl_and;
      __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
      if (__gen_e_acsl_initialized) {
        int __gen_e_acsl_valid;
        __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
        __gen_e_acsl_and = __gen_e_acsl_valid;
      }
      else __gen_e_acsl_and = 0;
      __e_acsl_assert(__gen_e_acsl_and,"Assertion","goto_valid","\\valid(p)",
                      "tests/memory/early_exit.c",46);
    }
    {
      int __gen_e_acsl_initialized_2;
      int __gen_e_acsl_and_2;
      __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                        sizeof(int *));
      if (__gen_e_acsl_initialized_2) {
        int __gen_e_acsl_valid_2;
        __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                              (void *)q,(void *)(& q));
        __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
      }
      else __gen_e_acsl_and_2 = 0;
      __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","goto_valid",
                      "!\\valid(q)","tests/memory/early_exit.c",47);
    }
    /*@ assert ¬\valid(q); */ ;
    {
      int __gen_e_acsl_initialized_3;
      int __gen_e_acsl_and_3;
      __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r),
                                                        sizeof(int *));
      if (__gen_e_acsl_initialized_3) {
        int __gen_e_acsl_valid_3;
        __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int),
                                              (void *)r,(void *)(& r));
        __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
      }
      else __gen_e_acsl_and_3 = 0;
      __e_acsl_assert(! __gen_e_acsl_and_3,"Assertion","goto_valid",
                      "!\\valid(r)","tests/memory/early_exit.c",48);
    }
    /*@ assert ¬\valid(r); */ ;
    __e_acsl_delete_block((void *)(& a1));
    goto SECOND;
    __e_acsl_full_init((void *)(& q));
    q = & a;
    __e_acsl_full_init((void *)(& r));
    r = q;
    __e_acsl_full_init((void *)(& p));
    p = r;
    __e_acsl_delete_block((void *)(& a1));
  }
  SECOND:
  /*@ assert ¬\valid(p); */
  {
    int __gen_e_acsl_initialized_4;
    int __gen_e_acsl_and_4;
    __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_4) {
      int __gen_e_acsl_valid_4;
      __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
    }
    else __gen_e_acsl_and_4 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","goto_valid",
                    "!\\valid(p)","tests/memory/early_exit.c",56);
  }
  {
    int __gen_e_acsl_initialized_5;
    int __gen_e_acsl_and_5;
    __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_5) {
      int __gen_e_acsl_valid_5;
      __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int),(void *)q,
                                            (void *)(& q));
      __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
    }
    else __gen_e_acsl_and_5 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","goto_valid",
                    "!\\valid(q)","tests/memory/early_exit.c",57);
  }
  /*@ assert ¬\valid(q); */ ;
  {
    int __gen_e_acsl_initialized_6;
    int __gen_e_acsl_and_6;
    __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_6) {
      int __gen_e_acsl_valid_6;
      __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int),(void *)r,
                                            (void *)(& r));
      __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
    }
    else __gen_e_acsl_and_6 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_6,"Assertion","goto_valid",
                    "!\\valid(r)","tests/memory/early_exit.c",58);
  }
  /*@ assert ¬\valid(r); */ ;
  __retres = 0;
  __e_acsl_delete_block((void *)(& r));
  __e_acsl_delete_block((void *)(& q));
  __e_acsl_delete_block((void *)(& p));
  return __retres;
}

int switch_valid(void)
{
  int __retres;
  int *p;
  int *q;
  int *s;
  __e_acsl_store_block((void *)(& s),(size_t)8);
  __e_acsl_store_block((void *)(& q),(size_t)8);
  __e_acsl_store_block((void *)(& p),(size_t)8);
  int i = 1;
  __e_acsl_store_block((void *)(& i),(size_t)4);
  __e_acsl_full_init((void *)(& i));
  __e_acsl_full_init((void *)(& s));
  s = & i;
  switch (i) {
    default:
    {
      int a1 = 0;
      __e_acsl_store_block((void *)(& a1),(size_t)4);
      __e_acsl_full_init((void *)(& a1));
      __e_acsl_full_init((void *)(& p));
      p = & a1;
      {
        int a2 = 0;
        __e_acsl_store_block((void *)(& a2),(size_t)4);
        __e_acsl_full_init((void *)(& a2));
        __e_acsl_full_init((void *)(& q));
        q = & a2;
        {
          int __gen_e_acsl_initialized;
          int __gen_e_acsl_and;
          __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                          sizeof(int *));
          if (__gen_e_acsl_initialized) {
            int __gen_e_acsl_valid;
            __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),
                                                (void *)p,(void *)(& p));
            __gen_e_acsl_and = __gen_e_acsl_valid;
          }
          else __gen_e_acsl_and = 0;
          __e_acsl_assert(__gen_e_acsl_and,"Assertion","switch_valid",
                          "\\valid(p)","tests/memory/early_exit.c",76);
        }
        /*@ assert \valid(p); */ ;
        {
          int __gen_e_acsl_initialized_2;
          int __gen_e_acsl_and_2;
          __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                            sizeof(int *));
          if (__gen_e_acsl_initialized_2) {
            int __gen_e_acsl_valid_2;
            __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                                  (void *)q,(void *)(& q));
            __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
          }
          else __gen_e_acsl_and_2 = 0;
          __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","switch_valid",
                          "\\valid(q)","tests/memory/early_exit.c",77);
        }
        /*@ assert \valid(q); */ ;
        {
          int __gen_e_acsl_initialized_3;
          int __gen_e_acsl_and_3;
          __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& s),
                                                            sizeof(int *));
          if (__gen_e_acsl_initialized_3) {
            int __gen_e_acsl_valid_3;
            __gen_e_acsl_valid_3 = __e_acsl_valid((void *)s,sizeof(int),
                                                  (void *)s,(void *)(& s));
            __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
          }
          else __gen_e_acsl_and_3 = 0;
          __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","switch_valid",
                          "\\valid(s)","tests/memory/early_exit.c",78);
        }
        /*@ assert \valid(s); */ ;
        __e_acsl_delete_block((void *)(& a1));
        __e_acsl_delete_block((void *)(& a2));
        break;
        __e_acsl_delete_block((void *)(& a2));
      }
      __e_acsl_full_init((void *)(& q));
      q = & i;
      __e_acsl_full_init((void *)(& p));
      p = q;
      __e_acsl_full_init((void *)(& s));
      s = (int *)0;
      __e_acsl_delete_block((void *)(& a1));
    }
  }
  {
    int __gen_e_acsl_initialized_4;
    int __gen_e_acsl_and_4;
    __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_4) {
      int __gen_e_acsl_valid_4;
      __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),(void *)q,
                                            (void *)(& q));
      __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
    }
    else __gen_e_acsl_and_4 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","switch_valid",
                    "!\\valid(q)","tests/memory/early_exit.c",87);
  }
  /*@ assert ¬\valid(q); */ ;
  {
    int __gen_e_acsl_initialized_5;
    int __gen_e_acsl_and_5;
    __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_5) {
      int __gen_e_acsl_valid_5;
      __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
    }
    else __gen_e_acsl_and_5 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","switch_valid",
                    "!\\valid(p)","tests/memory/early_exit.c",88);
  }
  /*@ assert ¬\valid(p); */ ;
  {
    int __gen_e_acsl_initialized_6;
    int __gen_e_acsl_and_6;
    __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& s),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_6) {
      int __gen_e_acsl_valid_6;
      __gen_e_acsl_valid_6 = __e_acsl_valid((void *)s,sizeof(int),(void *)s,
                                            (void *)(& s));
      __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
    }
    else __gen_e_acsl_and_6 = 0;
    __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","switch_valid",
                    "\\valid(s)","tests/memory/early_exit.c",89);
  }
  /*@ assert \valid(s); */ ;
  __retres = 0;
  __e_acsl_delete_block((void *)(& s));
  __e_acsl_delete_block((void *)(& q));
  __e_acsl_delete_block((void *)(& p));
  __e_acsl_delete_block((void *)(& i));
  return __retres;
}

int while_valid(void)
{
  int __retres;
  int *p;
  int *q;
  int *r;
  __e_acsl_store_block((void *)(& r),(size_t)8);
  __e_acsl_store_block((void *)(& q),(size_t)8);
  __e_acsl_store_block((void *)(& p),(size_t)8);
  int i = 5;
  {
    int a0 = 0;
    __e_acsl_store_block((void *)(& a0),(size_t)4);
    __e_acsl_full_init((void *)(& a0));
    __e_acsl_full_init((void *)(& r));
    r = & a0;
    while (1) {
      i --;
      if (! i) break;
      {
        int a1 = 0;
        __e_acsl_store_block((void *)(& a1),(size_t)4);
        __e_acsl_full_init((void *)(& a1));
        __e_acsl_full_init((void *)(& p));
        p = & a1;
        {
          int a2 = 0;
          __e_acsl_store_block((void *)(& a2),(size_t)4);
          __e_acsl_full_init((void *)(& a2));
          __e_acsl_full_init((void *)(& q));
          q = & a2;
          {
            int __gen_e_acsl_initialized;
            int __gen_e_acsl_and;
            __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                            sizeof(int *));
            if (__gen_e_acsl_initialized) {
              int __gen_e_acsl_valid;
              __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),
                                                  (void *)p,(void *)(& p));
              __gen_e_acsl_and = __gen_e_acsl_valid;
            }
            else __gen_e_acsl_and = 0;
            __e_acsl_assert(__gen_e_acsl_and,"Assertion","while_valid",
                            "\\valid(p)","tests/memory/early_exit.c",108);
          }
          /*@ assert \valid(p); */ ;
          {
            int __gen_e_acsl_initialized_2;
            int __gen_e_acsl_and_2;
            __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                              sizeof(int *));
            if (__gen_e_acsl_initialized_2) {
              int __gen_e_acsl_valid_2;
              __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                                    (void *)q,(void *)(& q));
              __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
            }
            else __gen_e_acsl_and_2 = 0;
            __e_acsl_assert(__gen_e_acsl_and_2,"Assertion","while_valid",
                            "\\valid(q)","tests/memory/early_exit.c",109);
          }
          /*@ assert \valid(q); */ ;
          {
            int __gen_e_acsl_initialized_3;
            int __gen_e_acsl_and_3;
            __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r),
                                                              sizeof(int *));
            if (__gen_e_acsl_initialized_3) {
              int __gen_e_acsl_valid_3;
              __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int),
                                                    (void *)r,(void *)(& r));
              __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
            }
            else __gen_e_acsl_and_3 = 0;
            __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","while_valid",
                            "\\valid(r)","tests/memory/early_exit.c",110);
          }
          /*@ assert \valid(r); */ ;
          if (! i) {
            __e_acsl_delete_block((void *)(& a1));
            __e_acsl_delete_block((void *)(& a2));
            break;
          }
          __e_acsl_delete_block((void *)(& a2));
          __e_acsl_delete_block((void *)(& a1));
        }
      }
    }
    {
      int __gen_e_acsl_initialized_4;
      int __gen_e_acsl_and_4;
      __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p),
                                                        sizeof(int *));
      if (__gen_e_acsl_initialized_4) {
        int __gen_e_acsl_valid_4;
        __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int),
                                              (void *)p,(void *)(& p));
        __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
      }
      else __gen_e_acsl_and_4 = 0;
      __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","while_valid",
                      "!\\valid(p)","tests/memory/early_exit.c",116);
    }
    /*@ assert ¬\valid(p); */ ;
    {
      int __gen_e_acsl_initialized_5;
      int __gen_e_acsl_and_5;
      __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q),
                                                        sizeof(int *));
      if (__gen_e_acsl_initialized_5) {
        int __gen_e_acsl_valid_5;
        __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int),
                                              (void *)q,(void *)(& q));
        __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
      }
      else __gen_e_acsl_and_5 = 0;
      __e_acsl_assert(! __gen_e_acsl_and_5,"Assertion","while_valid",
                      "!\\valid(q)","tests/memory/early_exit.c",117);
    }
    /*@ assert ¬\valid(q); */ ;
    {
      int __gen_e_acsl_initialized_6;
      int __gen_e_acsl_and_6;
      __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r),
                                                        sizeof(int *));
      if (__gen_e_acsl_initialized_6) {
        int __gen_e_acsl_valid_6;
        __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int),
                                              (void *)r,(void *)(& r));
        __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
      }
      else __gen_e_acsl_and_6 = 0;
      __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","while_valid",
                      "\\valid(r)","tests/memory/early_exit.c",118);
    }
    /*@ assert \valid(r); */ ;
    __e_acsl_delete_block((void *)(& a0));
  }
  __retres = 0;
  __e_acsl_delete_block((void *)(& r));
  __e_acsl_delete_block((void *)(& q));
  __e_acsl_delete_block((void *)(& p));
  return __retres;
}

void continue_valid(void)
{
  int *p;
  int *q;
  __e_acsl_store_block((void *)(& q),(size_t)8);
  __e_acsl_store_block((void *)(& p),(size_t)8);
  int i = 0;
  while (1) {
    int tmp;
    tmp = i;
    i ++;
    ;
    if (! tmp) break;
    {
      {
        int __gen_e_acsl_initialized;
        int __gen_e_acsl_and;
        __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                        sizeof(int *));
        if (__gen_e_acsl_initialized) {
          int __gen_e_acsl_valid;
          __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),
                                              (void *)p,(void *)(& p));
          __gen_e_acsl_and = __gen_e_acsl_valid;
        }
        else __gen_e_acsl_and = 0;
        __e_acsl_assert(! __gen_e_acsl_and,"Assertion","continue_valid",
                        "!\\valid(p)","tests/memory/early_exit.c",130);
      }
      /*@ assert ¬\valid(p); */ ;
      {
        int __gen_e_acsl_initialized_2;
        int __gen_e_acsl_and_2;
        __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                          sizeof(int *));
        if (__gen_e_acsl_initialized_2) {
          int __gen_e_acsl_valid_2;
          __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                                (void *)q,(void *)(& q));
          __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
        }
        else __gen_e_acsl_and_2 = 0;
        __e_acsl_assert(! __gen_e_acsl_and_2,"Assertion","continue_valid",
                        "!\\valid(q)","tests/memory/early_exit.c",131);
      }
      /*@ assert ¬\valid(q); */ ;
      int a1 = 1;
      __e_acsl_store_block((void *)(& a1),(size_t)4);
      __e_acsl_full_init((void *)(& a1));
      __e_acsl_full_init((void *)(& p));
      p = & a1;
      {
        int __gen_e_acsl_initialized_3;
        int __gen_e_acsl_and_3;
        __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p),
                                                          sizeof(int *));
        if (__gen_e_acsl_initialized_3) {
          int __gen_e_acsl_valid_3;
          __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),
                                                (void *)p,(void *)(& p));
          __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
        }
        else __gen_e_acsl_and_3 = 0;
        __e_acsl_assert(__gen_e_acsl_and_3,"Assertion","continue_valid",
                        "\\valid(p)","tests/memory/early_exit.c",135);
      }
      /*@ assert \valid(p); */ ;
      {
        int __gen_e_acsl_initialized_4;
        int __gen_e_acsl_and_4;
        __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q),
                                                          sizeof(int *));
        if (__gen_e_acsl_initialized_4) {
          int __gen_e_acsl_valid_4;
          __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),
                                                (void *)q,(void *)(& q));
          __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
        }
        else __gen_e_acsl_and_4 = 0;
        __e_acsl_assert(! __gen_e_acsl_and_4,"Assertion","continue_valid",
                        "!\\valid(q)","tests/memory/early_exit.c",136);
      }
      /*@ assert ¬\valid(q); */ ;
      {
        int a2 = 1;
        __e_acsl_store_block((void *)(& a2),(size_t)4);
        __e_acsl_full_init((void *)(& a2));
        __e_acsl_full_init((void *)(& q));
        q = & a2;
        {
          int __gen_e_acsl_initialized_5;
          int __gen_e_acsl_and_5;
          __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p),
                                                            sizeof(int *));
          if (__gen_e_acsl_initialized_5) {
            int __gen_e_acsl_valid_5;
            __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),
                                                  (void *)p,(void *)(& p));
            __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
          }
          else __gen_e_acsl_and_5 = 0;
          __e_acsl_assert(__gen_e_acsl_and_5,"Assertion","continue_valid",
                          "\\valid(p)","tests/memory/early_exit.c",141);
        }
        /*@ assert \valid(p); */ ;
        {
          int __gen_e_acsl_initialized_6;
          int __gen_e_acsl_and_6;
          __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& q),
                                                            sizeof(int *));
          if (__gen_e_acsl_initialized_6) {
            int __gen_e_acsl_valid_6;
            __gen_e_acsl_valid_6 = __e_acsl_valid((void *)q,sizeof(int),
                                                  (void *)q,(void *)(& q));
            __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
          }
          else __gen_e_acsl_and_6 = 0;
          __e_acsl_assert(__gen_e_acsl_and_6,"Assertion","continue_valid",
                          "\\valid(q)","tests/memory/early_exit.c",142);
        }
        /*@ assert \valid(q); */ ;
        __e_acsl_delete_block((void *)(& a1));
        __e_acsl_delete_block((void *)(& a2));
        continue;
        __e_acsl_delete_block((void *)(& a2));
      }
      if (i == 5) {
        __e_acsl_delete_block((void *)(& a1));
        break;
      }
      __e_acsl_delete_block((void *)(& a1));
    }
  }
  {
    int __gen_e_acsl_initialized_7;
    int __gen_e_acsl_and_7;
    __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_7) {
      int __gen_e_acsl_valid_7;
      __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __gen_e_acsl_and_7 = __gen_e_acsl_valid_7;
    }
    else __gen_e_acsl_and_7 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_7,"Assertion","continue_valid",
                    "!\\valid(p)","tests/memory/early_exit.c",150);
  }
  /*@ assert ¬\valid(p); */ ;
  {
    int __gen_e_acsl_initialized_8;
    int __gen_e_acsl_and_8;
    __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q),
                                                      sizeof(int *));
    if (__gen_e_acsl_initialized_8) {
      int __gen_e_acsl_valid_8;
      __gen_e_acsl_valid_8 = __e_acsl_valid((void *)q,sizeof(int),(void *)q,
                                            (void *)(& q));
      __gen_e_acsl_and_8 = __gen_e_acsl_valid_8;
    }
    else __gen_e_acsl_and_8 = 0;
    __e_acsl_assert(! __gen_e_acsl_and_8,"Assertion","continue_valid",
                    "!\\valid(q)","tests/memory/early_exit.c",151);
  }
  /*@ assert ¬\valid(q); */ ;
  __e_acsl_delete_block((void *)(& q));
  __e_acsl_delete_block((void *)(& p));
  return;
}

int main(int argc, char const **argv)
{
  int __retres;
  __e_acsl_memory_init(& argc,(char ***)(& argv),(size_t)8);
  goto_bts();
  goto_valid();
  switch_valid();
  while_valid();
  continue_valid();
  __retres = 0;
  __e_acsl_memory_clean();
  return __retres;
}


