/* Generated by Frama-C */
#include "pthread.h"
#include "sched.h"
#include "signal.h"
#include "stddef.h"
#include "stdint.h"
#include "stdio.h"
#include "time.h"
extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;

int goto_bts(void)
{
  int __retres;
  int *p;
  __e_acsl_store_block((void *)(& p),8UL);
  {
    int a = 0;
    __e_acsl_store_block((void *)(& a),4UL);
    __e_acsl_full_init((void *)(& a));
    __e_acsl_full_init((void *)(& p));
    p = & a;
    {
      int __gen_e_acsl_initialized;
      int __gen_e_acsl_and;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p",
                                   (void *)(& p));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                   "\\initialized(&p)",0,
                                   __gen_e_acsl_initialized);
      if (__gen_e_acsl_initialized) {
        int __gen_e_acsl_valid;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",
                                     (void *)p);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",
                                     0,__gen_e_acsl_valid);
        __gen_e_acsl_and = __gen_e_acsl_valid;
      }
      else __gen_e_acsl_and = 0;
      __gen_e_acsl_assert_data.blocking = 1;
      __gen_e_acsl_assert_data.kind = "Assertion";
      __gen_e_acsl_assert_data.pred_txt = "\\valid(p)";
      __gen_e_acsl_assert_data.file = "early_exit.c";
      __gen_e_acsl_assert_data.fct = "goto_bts";
      __gen_e_acsl_assert_data.line = 13;
      __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
    }
    /*@ assert \valid(p); */ ;
    __e_acsl_delete_block((void *)(& a));
    goto L;
    __e_acsl_delete_block((void *)(& a));
  }
  L:
  {
    int __gen_e_acsl_initialized_2;
    int __gen_e_acsl_and_2;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p",
                                 (void *)(& p));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                 "\\initialized(&p)",0,
                                 __gen_e_acsl_initialized_2);
    if (__gen_e_acsl_initialized_2) {
      int __gen_e_acsl_valid_2;
      /*@ assert Eva: dangling_pointer: !\dangling(&p); */
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",
                                   (void *)p);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(p)",
                                   0,__gen_e_acsl_valid_2);
      __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
    }
    else __gen_e_acsl_and_2 = 0;
    __gen_e_acsl_assert_data_2.blocking = 1;
    __gen_e_acsl_assert_data_2.kind = "Assertion";
    __gen_e_acsl_assert_data_2.pred_txt = "!\\valid(p)";
    __gen_e_acsl_assert_data_2.file = "early_exit.c";
    __gen_e_acsl_assert_data_2.fct = "goto_bts";
    __gen_e_acsl_assert_data_2.line = 18;
    __e_acsl_assert(! __gen_e_acsl_and_2,& __gen_e_acsl_assert_data_2);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
  }
  /*@ assert !\valid(p); */ ;
  __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),8UL);
  __e_acsl_store_block((void *)(& q),8UL);
  __e_acsl_store_block((void *)(& p),8UL);
  int a = 9;
  {
    int a1 = 0;
    __e_acsl_store_block((void *)(& a1),4UL);
    __e_acsl_full_init((void *)(& a1));
    __e_acsl_full_init((void *)(& p));
    p = & a1;
    {
      int a2 = 0;
      __e_acsl_store_block((void *)(& a2),4UL);
      __e_acsl_full_init((void *)(& a2));
      __e_acsl_full_init((void *)(& q));
      q = & a2;
      {
        int a3 = 0;
        __e_acsl_store_block((void *)(& a3),4UL);
        __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:
    {
      int __gen_e_acsl_initialized;
      int __gen_e_acsl_and;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p",
                                   (void *)(& p));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                   "\\initialized(&p)",0,
                                   __gen_e_acsl_initialized);
      if (__gen_e_acsl_initialized) {
        int __gen_e_acsl_valid;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",
                                     (void *)p);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",
                                     0,__gen_e_acsl_valid);
        __gen_e_acsl_and = __gen_e_acsl_valid;
      }
      else __gen_e_acsl_and = 0;
      __gen_e_acsl_assert_data.blocking = 1;
      __gen_e_acsl_assert_data.kind = "Assertion";
      __gen_e_acsl_assert_data.pred_txt = "\\valid(p)";
      __gen_e_acsl_assert_data.file = "early_exit.c";
      __gen_e_acsl_assert_data.fct = "goto_valid";
      __gen_e_acsl_assert_data.line = 46;
      __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
    }
    /*@ assert \valid(p); */ ;
    {
      int __gen_e_acsl_initialized_2;
      int __gen_e_acsl_and_2;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q",
                                   (void *)(& q));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                        sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                   "\\initialized(&q)",0,
                                   __gen_e_acsl_initialized_2);
      if (__gen_e_acsl_initialized_2) {
        int __gen_e_acsl_valid_2;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q",
                                     (void *)q);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                              (void *)q,(void *)(& q));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                     "\\valid(q)",0,__gen_e_acsl_valid_2);
        __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
      }
      else __gen_e_acsl_and_2 = 0;
      __gen_e_acsl_assert_data_2.blocking = 1;
      __gen_e_acsl_assert_data_2.kind = "Assertion";
      __gen_e_acsl_assert_data_2.pred_txt = "!\\valid(q)";
      __gen_e_acsl_assert_data_2.file = "early_exit.c";
      __gen_e_acsl_assert_data_2.fct = "goto_valid";
      __gen_e_acsl_assert_data_2.line = 47;
      __e_acsl_assert(! __gen_e_acsl_and_2,& __gen_e_acsl_assert_data_2);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
    }
    /*@ assert !\valid(q); */ ;
    {
      int __gen_e_acsl_initialized_3;
      int __gen_e_acsl_and_3;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&r",
                                   (void *)(& r));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r),
                                                        sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                   "\\initialized(&r)",0,
                                   __gen_e_acsl_initialized_3);
      if (__gen_e_acsl_initialized_3) {
        int __gen_e_acsl_valid_3;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"r",
                                     (void *)r);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int),
                                              (void *)r,(void *)(& r));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                     "\\valid(r)",0,__gen_e_acsl_valid_3);
        __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
      }
      else __gen_e_acsl_and_3 = 0;
      __gen_e_acsl_assert_data_3.blocking = 1;
      __gen_e_acsl_assert_data_3.kind = "Assertion";
      __gen_e_acsl_assert_data_3.pred_txt = "!\\valid(r)";
      __gen_e_acsl_assert_data_3.file = "early_exit.c";
      __gen_e_acsl_assert_data_3.fct = "goto_valid";
      __gen_e_acsl_assert_data_3.line = 48;
      __e_acsl_assert(! __gen_e_acsl_and_3,& __gen_e_acsl_assert_data_3);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
    }
    /*@ 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:
  {
    int __gen_e_acsl_initialized_4;
    int __gen_e_acsl_and_4;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&p",
                                 (void *)(& p));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
                                 "\\initialized(&p)",0,
                                 __gen_e_acsl_initialized_4);
    if (__gen_e_acsl_initialized_4) {
      int __gen_e_acsl_valid_4;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",
                                   (void *)p);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(p)",
                                   0,__gen_e_acsl_valid_4);
      __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
    }
    else __gen_e_acsl_and_4 = 0;
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Assertion";
    __gen_e_acsl_assert_data_4.pred_txt = "!\\valid(p)";
    __gen_e_acsl_assert_data_4.file = "early_exit.c";
    __gen_e_acsl_assert_data_4.fct = "goto_valid";
    __gen_e_acsl_assert_data_4.line = 56;
    __e_acsl_assert(! __gen_e_acsl_and_4,& __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
  }
  /*@ assert !\valid(p); */ ;
  {
    int __gen_e_acsl_initialized_5;
    int __gen_e_acsl_and_5;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&q",
                                 (void *)(& q));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,
                                 "\\initialized(&q)",0,
                                 __gen_e_acsl_initialized_5);
    if (__gen_e_acsl_initialized_5) {
      int __gen_e_acsl_valid_5;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"q",
                                   (void *)q);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int),(void *)q,
                                            (void *)(& q));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(q)",
                                   0,__gen_e_acsl_valid_5);
      __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
    }
    else __gen_e_acsl_and_5 = 0;
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Assertion";
    __gen_e_acsl_assert_data_5.pred_txt = "!\\valid(q)";
    __gen_e_acsl_assert_data_5.file = "early_exit.c";
    __gen_e_acsl_assert_data_5.fct = "goto_valid";
    __gen_e_acsl_assert_data_5.line = 57;
    __e_acsl_assert(! __gen_e_acsl_and_5,& __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
  }
  /*@ assert !\valid(q); */ ;
  {
    int __gen_e_acsl_initialized_6;
    int __gen_e_acsl_and_6;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&r",
                                 (void *)(& r));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                 "\\initialized(&r)",0,
                                 __gen_e_acsl_initialized_6);
    if (__gen_e_acsl_initialized_6) {
      int __gen_e_acsl_valid_6;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"r",
                                   (void *)r);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int),(void *)r,
                                            (void *)(& r));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"\\valid(r)",
                                   0,__gen_e_acsl_valid_6);
      __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
    }
    else __gen_e_acsl_and_6 = 0;
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Assertion";
    __gen_e_acsl_assert_data_6.pred_txt = "!\\valid(r)";
    __gen_e_acsl_assert_data_6.file = "early_exit.c";
    __gen_e_acsl_assert_data_6.fct = "goto_valid";
    __gen_e_acsl_assert_data_6.line = 58;
    __e_acsl_assert(! __gen_e_acsl_and_6,& __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
  }
  /*@ 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),8UL);
  __e_acsl_store_block((void *)(& q),8UL);
  __e_acsl_store_block((void *)(& p),8UL);
  int i = 1;
  __e_acsl_store_block((void *)(& i),4UL);
  __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),4UL);
      __e_acsl_full_init((void *)(& a1));
      __e_acsl_full_init((void *)(& p));
      p = & a1;
      {
        int a2 = 0;
        __e_acsl_store_block((void *)(& a2),4UL);
        __e_acsl_full_init((void *)(& a2));
        __e_acsl_full_init((void *)(& q));
        q = & a2;
        {
          int __gen_e_acsl_initialized;
          int __gen_e_acsl_and;
          __e_acsl_assert_data_t __gen_e_acsl_assert_data =
            {.values = (void *)0};
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p",
                                       (void *)(& p));
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                         "sizeof(int *)",0,sizeof(int *));
          __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                          sizeof(int *));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                       "\\initialized(&p)",0,
                                       __gen_e_acsl_initialized);
          if (__gen_e_acsl_initialized) {
            int __gen_e_acsl_valid;
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",
                                         (void *)p);
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                           "sizeof(int)",0,sizeof(int));
            __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),
                                                (void *)p,(void *)(& p));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                         "\\valid(p)",0,__gen_e_acsl_valid);
            __gen_e_acsl_and = __gen_e_acsl_valid;
          }
          else __gen_e_acsl_and = 0;
          __gen_e_acsl_assert_data.blocking = 1;
          __gen_e_acsl_assert_data.kind = "Assertion";
          __gen_e_acsl_assert_data.pred_txt = "\\valid(p)";
          __gen_e_acsl_assert_data.file = "early_exit.c";
          __gen_e_acsl_assert_data.fct = "switch_valid";
          __gen_e_acsl_assert_data.line = 76;
          __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
        }
        /*@ assert \valid(p); */ ;
        {
          int __gen_e_acsl_initialized_2;
          int __gen_e_acsl_and_2;
          __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
            {.values = (void *)0};
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q",
                                       (void *)(& q));
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                         "sizeof(int *)",0,sizeof(int *));
          __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                            sizeof(int *));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                       "\\initialized(&q)",0,
                                       __gen_e_acsl_initialized_2);
          if (__gen_e_acsl_initialized_2) {
            int __gen_e_acsl_valid_2;
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q",
                                         (void *)q);
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                           "sizeof(int)",0,sizeof(int));
            __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                                  (void *)q,(void *)(& q));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                         "\\valid(q)",0,__gen_e_acsl_valid_2);
            __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
          }
          else __gen_e_acsl_and_2 = 0;
          __gen_e_acsl_assert_data_2.blocking = 1;
          __gen_e_acsl_assert_data_2.kind = "Assertion";
          __gen_e_acsl_assert_data_2.pred_txt = "\\valid(q)";
          __gen_e_acsl_assert_data_2.file = "early_exit.c";
          __gen_e_acsl_assert_data_2.fct = "switch_valid";
          __gen_e_acsl_assert_data_2.line = 77;
          __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_2);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
        }
        /*@ assert \valid(q); */ ;
        {
          int __gen_e_acsl_initialized_3;
          int __gen_e_acsl_and_3;
          __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
            {.values = (void *)0};
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&s",
                                       (void *)(& s));
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                         "sizeof(int *)",0,sizeof(int *));
          __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& s),
                                                            sizeof(int *));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                       "\\initialized(&s)",0,
                                       __gen_e_acsl_initialized_3);
          if (__gen_e_acsl_initialized_3) {
            int __gen_e_acsl_valid_3;
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"s",
                                         (void *)s);
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                           "sizeof(int)",0,sizeof(int));
            __gen_e_acsl_valid_3 = __e_acsl_valid((void *)s,sizeof(int),
                                                  (void *)s,(void *)(& s));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                         "\\valid(s)",0,__gen_e_acsl_valid_3);
            __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
          }
          else __gen_e_acsl_and_3 = 0;
          __gen_e_acsl_assert_data_3.blocking = 1;
          __gen_e_acsl_assert_data_3.kind = "Assertion";
          __gen_e_acsl_assert_data_3.pred_txt = "\\valid(s)";
          __gen_e_acsl_assert_data_3.file = "early_exit.c";
          __gen_e_acsl_assert_data_3.fct = "switch_valid";
          __gen_e_acsl_assert_data_3.line = 78;
          __e_acsl_assert(__gen_e_acsl_and_3,& __gen_e_acsl_assert_data_3);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
        }
        /*@ 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;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q",
                                 (void *)(& q));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
                                 "\\initialized(&q)",0,
                                 __gen_e_acsl_initialized_4);
    if (__gen_e_acsl_initialized_4) {
      int __gen_e_acsl_valid_4;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q",
                                   (void *)q);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),(void *)q,
                                            (void *)(& q));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(q)",
                                   0,__gen_e_acsl_valid_4);
      __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
    }
    else __gen_e_acsl_and_4 = 0;
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Assertion";
    __gen_e_acsl_assert_data_4.pred_txt = "!\\valid(q)";
    __gen_e_acsl_assert_data_4.file = "early_exit.c";
    __gen_e_acsl_assert_data_4.fct = "switch_valid";
    __gen_e_acsl_assert_data_4.line = 87;
    __e_acsl_assert(! __gen_e_acsl_and_4,& __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
  }
  /*@ assert !\valid(q); */ ;
  {
    int __gen_e_acsl_initialized_5;
    int __gen_e_acsl_and_5;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&p",
                                 (void *)(& p));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,
                                 "\\initialized(&p)",0,
                                 __gen_e_acsl_initialized_5);
    if (__gen_e_acsl_initialized_5) {
      int __gen_e_acsl_valid_5;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p",
                                   (void *)p);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(p)",
                                   0,__gen_e_acsl_valid_5);
      __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
    }
    else __gen_e_acsl_and_5 = 0;
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Assertion";
    __gen_e_acsl_assert_data_5.pred_txt = "!\\valid(p)";
    __gen_e_acsl_assert_data_5.file = "early_exit.c";
    __gen_e_acsl_assert_data_5.fct = "switch_valid";
    __gen_e_acsl_assert_data_5.line = 88;
    __e_acsl_assert(! __gen_e_acsl_and_5,& __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
  }
  /*@ assert !\valid(p); */ ;
  {
    int __gen_e_acsl_initialized_6;
    int __gen_e_acsl_and_6;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&s",
                                 (void *)(& s));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& s),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                 "\\initialized(&s)",0,
                                 __gen_e_acsl_initialized_6);
    if (__gen_e_acsl_initialized_6) {
      int __gen_e_acsl_valid_6;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"s",
                                   (void *)s);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_6 = __e_acsl_valid((void *)s,sizeof(int),(void *)s,
                                            (void *)(& s));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"\\valid(s)",
                                   0,__gen_e_acsl_valid_6);
      __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
    }
    else __gen_e_acsl_and_6 = 0;
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Assertion";
    __gen_e_acsl_assert_data_6.pred_txt = "\\valid(s)";
    __gen_e_acsl_assert_data_6.file = "early_exit.c";
    __gen_e_acsl_assert_data_6.fct = "switch_valid";
    __gen_e_acsl_assert_data_6.line = 89;
    __e_acsl_assert(__gen_e_acsl_and_6,& __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
  }
  /*@ 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),8UL);
  __e_acsl_store_block((void *)(& q),8UL);
  __e_acsl_store_block((void *)(& p),8UL);
  int i = 5;
  {
    int a0 = 0;
    __e_acsl_store_block((void *)(& a0),4UL);
    __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),4UL);
        __e_acsl_full_init((void *)(& a1));
        __e_acsl_full_init((void *)(& p));
        p = & a1;
        {
          int a2 = 0;
          __e_acsl_store_block((void *)(& a2),4UL);
          __e_acsl_full_init((void *)(& a2));
          __e_acsl_full_init((void *)(& q));
          q = & a2;
          {
            int __gen_e_acsl_initialized;
            int __gen_e_acsl_and;
            __e_acsl_assert_data_t __gen_e_acsl_assert_data =
              {.values = (void *)0};
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p",
                                         (void *)(& p));
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                           "sizeof(int *)",0,sizeof(int *));
            __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                            sizeof(int *));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                         "\\initialized(&p)",0,
                                         __gen_e_acsl_initialized);
            if (__gen_e_acsl_initialized) {
              int __gen_e_acsl_valid;
              __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",
                                           (void *)p);
              __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                             "sizeof(int)",0,sizeof(int));
              __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),
                                                  (void *)p,(void *)(& p));
              __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                           "\\valid(p)",0,__gen_e_acsl_valid);
              __gen_e_acsl_and = __gen_e_acsl_valid;
            }
            else __gen_e_acsl_and = 0;
            __gen_e_acsl_assert_data.blocking = 1;
            __gen_e_acsl_assert_data.kind = "Assertion";
            __gen_e_acsl_assert_data.pred_txt = "\\valid(p)";
            __gen_e_acsl_assert_data.file = "early_exit.c";
            __gen_e_acsl_assert_data.fct = "while_valid";
            __gen_e_acsl_assert_data.line = 108;
            __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data);
            __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
          }
          /*@ assert \valid(p); */ ;
          {
            int __gen_e_acsl_initialized_2;
            int __gen_e_acsl_and_2;
            __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
              {.values = (void *)0};
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q",
                                         (void *)(& q));
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                           "sizeof(int *)",0,sizeof(int *));
            __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                              sizeof(int *));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                         "\\initialized(&q)",0,
                                         __gen_e_acsl_initialized_2);
            if (__gen_e_acsl_initialized_2) {
              int __gen_e_acsl_valid_2;
              __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q",
                                           (void *)q);
              __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                             "sizeof(int)",0,sizeof(int));
              __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                                    (void *)q,(void *)(& q));
              __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                           "\\valid(q)",0,
                                           __gen_e_acsl_valid_2);
              __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
            }
            else __gen_e_acsl_and_2 = 0;
            __gen_e_acsl_assert_data_2.blocking = 1;
            __gen_e_acsl_assert_data_2.kind = "Assertion";
            __gen_e_acsl_assert_data_2.pred_txt = "\\valid(q)";
            __gen_e_acsl_assert_data_2.file = "early_exit.c";
            __gen_e_acsl_assert_data_2.fct = "while_valid";
            __gen_e_acsl_assert_data_2.line = 109;
            __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_2);
            __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
          }
          /*@ assert \valid(q); */ ;
          {
            int __gen_e_acsl_initialized_3;
            int __gen_e_acsl_and_3;
            __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
              {.values = (void *)0};
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&r",
                                         (void *)(& r));
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                           "sizeof(int *)",0,sizeof(int *));
            __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r),
                                                              sizeof(int *));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                         "\\initialized(&r)",0,
                                         __gen_e_acsl_initialized_3);
            if (__gen_e_acsl_initialized_3) {
              int __gen_e_acsl_valid_3;
              __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"r",
                                           (void *)r);
              __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                             "sizeof(int)",0,sizeof(int));
              __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int),
                                                    (void *)r,(void *)(& r));
              __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                           "\\valid(r)",0,
                                           __gen_e_acsl_valid_3);
              __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
            }
            else __gen_e_acsl_and_3 = 0;
            __gen_e_acsl_assert_data_3.blocking = 1;
            __gen_e_acsl_assert_data_3.kind = "Assertion";
            __gen_e_acsl_assert_data_3.pred_txt = "\\valid(r)";
            __gen_e_acsl_assert_data_3.file = "early_exit.c";
            __gen_e_acsl_assert_data_3.fct = "while_valid";
            __gen_e_acsl_assert_data_3.line = 110;
            __e_acsl_assert(__gen_e_acsl_and_3,& __gen_e_acsl_assert_data_3);
            __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
          }
          /*@ 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;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&p",
                                   (void *)(& p));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p),
                                                        sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
                                   "\\initialized(&p)",0,
                                   __gen_e_acsl_initialized_4);
      if (__gen_e_acsl_initialized_4) {
        int __gen_e_acsl_valid_4;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",
                                     (void *)p);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int),
                                              (void *)p,(void *)(& p));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
                                     "\\valid(p)",0,__gen_e_acsl_valid_4);
        __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
      }
      else __gen_e_acsl_and_4 = 0;
      __gen_e_acsl_assert_data_4.blocking = 1;
      __gen_e_acsl_assert_data_4.kind = "Assertion";
      __gen_e_acsl_assert_data_4.pred_txt = "!\\valid(p)";
      __gen_e_acsl_assert_data_4.file = "early_exit.c";
      __gen_e_acsl_assert_data_4.fct = "while_valid";
      __gen_e_acsl_assert_data_4.line = 116;
      __e_acsl_assert(! __gen_e_acsl_and_4,& __gen_e_acsl_assert_data_4);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
    }
    /*@ assert !\valid(p); */ ;
    {
      int __gen_e_acsl_initialized_5;
      int __gen_e_acsl_and_5;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&q",
                                   (void *)(& q));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q),
                                                        sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,
                                   "\\initialized(&q)",0,
                                   __gen_e_acsl_initialized_5);
      if (__gen_e_acsl_initialized_5) {
        int __gen_e_acsl_valid_5;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"q",
                                     (void *)q);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int),
                                              (void *)q,(void *)(& q));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,
                                     "\\valid(q)",0,__gen_e_acsl_valid_5);
        __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
      }
      else __gen_e_acsl_and_5 = 0;
      __gen_e_acsl_assert_data_5.blocking = 1;
      __gen_e_acsl_assert_data_5.kind = "Assertion";
      __gen_e_acsl_assert_data_5.pred_txt = "!\\valid(q)";
      __gen_e_acsl_assert_data_5.file = "early_exit.c";
      __gen_e_acsl_assert_data_5.fct = "while_valid";
      __gen_e_acsl_assert_data_5.line = 117;
      __e_acsl_assert(! __gen_e_acsl_and_5,& __gen_e_acsl_assert_data_5);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
    }
    /*@ assert !\valid(q); */ ;
    {
      int __gen_e_acsl_initialized_6;
      int __gen_e_acsl_and_6;
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
        {.values = (void *)0};
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&r",
                                   (void *)(& r));
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                     "sizeof(int *)",0,sizeof(int *));
      __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r),
                                                        sizeof(int *));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                   "\\initialized(&r)",0,
                                   __gen_e_acsl_initialized_6);
      if (__gen_e_acsl_initialized_6) {
        int __gen_e_acsl_valid_6;
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"r",
                                     (void *)r);
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                       "sizeof(int)",0,sizeof(int));
        __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int),
                                              (void *)r,(void *)(& r));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                     "\\valid(r)",0,__gen_e_acsl_valid_6);
        __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
      }
      else __gen_e_acsl_and_6 = 0;
      __gen_e_acsl_assert_data_6.blocking = 1;
      __gen_e_acsl_assert_data_6.kind = "Assertion";
      __gen_e_acsl_assert_data_6.pred_txt = "\\valid(r)";
      __gen_e_acsl_assert_data_6.file = "early_exit.c";
      __gen_e_acsl_assert_data_6.fct = "while_valid";
      __gen_e_acsl_assert_data_6.line = 118;
      __e_acsl_assert(__gen_e_acsl_and_6,& __gen_e_acsl_assert_data_6);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
    }
    /*@ 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),8UL);
  __e_acsl_store_block((void *)(& p),8UL);
  int i = 0;
  while (1) {
    int tmp;
    tmp = i;
    i ++;
    ;
    if (! tmp) break;
    {
      {
        int __gen_e_acsl_initialized;
        int __gen_e_acsl_and;
        __e_acsl_assert_data_t __gen_e_acsl_assert_data =
          {.values = (void *)0};
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p",
                                     (void *)(& p));
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                       "sizeof(int *)",0,sizeof(int *));
        __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p),
                                                        sizeof(int *));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                     "\\initialized(&p)",0,
                                     __gen_e_acsl_initialized);
        if (__gen_e_acsl_initialized) {
          int __gen_e_acsl_valid;
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",
                                       (void *)p);
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                         "sizeof(int)",0,sizeof(int));
          __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),
                                              (void *)p,(void *)(& p));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,
                                       "\\valid(p)",0,__gen_e_acsl_valid);
          __gen_e_acsl_and = __gen_e_acsl_valid;
        }
        else __gen_e_acsl_and = 0;
        __gen_e_acsl_assert_data.blocking = 1;
        __gen_e_acsl_assert_data.kind = "Assertion";
        __gen_e_acsl_assert_data.pred_txt = "!\\valid(p)";
        __gen_e_acsl_assert_data.file = "early_exit.c";
        __gen_e_acsl_assert_data.fct = "continue_valid";
        __gen_e_acsl_assert_data.line = 130;
        __e_acsl_assert(! __gen_e_acsl_and,& __gen_e_acsl_assert_data);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
      }
      /*@ assert !\valid(p); */ ;
      {
        int __gen_e_acsl_initialized_2;
        int __gen_e_acsl_and_2;
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
          {.values = (void *)0};
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q",
                                     (void *)(& q));
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                       "sizeof(int *)",0,sizeof(int *));
        __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q),
                                                          sizeof(int *));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                     "\\initialized(&q)",0,
                                     __gen_e_acsl_initialized_2);
        if (__gen_e_acsl_initialized_2) {
          int __gen_e_acsl_valid_2;
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q",
                                       (void *)q);
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                         "sizeof(int)",0,sizeof(int));
          __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),
                                                (void *)q,(void *)(& q));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,
                                       "\\valid(q)",0,__gen_e_acsl_valid_2);
          __gen_e_acsl_and_2 = __gen_e_acsl_valid_2;
        }
        else __gen_e_acsl_and_2 = 0;
        __gen_e_acsl_assert_data_2.blocking = 1;
        __gen_e_acsl_assert_data_2.kind = "Assertion";
        __gen_e_acsl_assert_data_2.pred_txt = "!\\valid(q)";
        __gen_e_acsl_assert_data_2.file = "early_exit.c";
        __gen_e_acsl_assert_data_2.fct = "continue_valid";
        __gen_e_acsl_assert_data_2.line = 131;
        __e_acsl_assert(! __gen_e_acsl_and_2,& __gen_e_acsl_assert_data_2);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
      }
      /*@ assert !\valid(q); */ ;
      int a1 = 1;
      __e_acsl_store_block((void *)(& a1),4UL);
      __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;
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
          {.values = (void *)0};
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p",
                                     (void *)(& p));
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                       "sizeof(int *)",0,sizeof(int *));
        __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p),
                                                          sizeof(int *));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                     "\\initialized(&p)",0,
                                     __gen_e_acsl_initialized_3);
        if (__gen_e_acsl_initialized_3) {
          int __gen_e_acsl_valid_3;
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",
                                       (void *)p);
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                         "sizeof(int)",0,sizeof(int));
          __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),
                                                (void *)p,(void *)(& p));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,
                                       "\\valid(p)",0,__gen_e_acsl_valid_3);
          __gen_e_acsl_and_3 = __gen_e_acsl_valid_3;
        }
        else __gen_e_acsl_and_3 = 0;
        __gen_e_acsl_assert_data_3.blocking = 1;
        __gen_e_acsl_assert_data_3.kind = "Assertion";
        __gen_e_acsl_assert_data_3.pred_txt = "\\valid(p)";
        __gen_e_acsl_assert_data_3.file = "early_exit.c";
        __gen_e_acsl_assert_data_3.fct = "continue_valid";
        __gen_e_acsl_assert_data_3.line = 135;
        __e_acsl_assert(__gen_e_acsl_and_3,& __gen_e_acsl_assert_data_3);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
      }
      /*@ assert \valid(p); */ ;
      {
        int __gen_e_acsl_initialized_4;
        int __gen_e_acsl_and_4;
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
          {.values = (void *)0};
        __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q",
                                     (void *)(& q));
        __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                       "sizeof(int *)",0,sizeof(int *));
        __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q),
                                                          sizeof(int *));
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
                                     "\\initialized(&q)",0,
                                     __gen_e_acsl_initialized_4);
        if (__gen_e_acsl_initialized_4) {
          int __gen_e_acsl_valid_4;
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q",
                                       (void *)q);
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                         "sizeof(int)",0,sizeof(int));
          __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),
                                                (void *)q,(void *)(& q));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,
                                       "\\valid(q)",0,__gen_e_acsl_valid_4);
          __gen_e_acsl_and_4 = __gen_e_acsl_valid_4;
        }
        else __gen_e_acsl_and_4 = 0;
        __gen_e_acsl_assert_data_4.blocking = 1;
        __gen_e_acsl_assert_data_4.kind = "Assertion";
        __gen_e_acsl_assert_data_4.pred_txt = "!\\valid(q)";
        __gen_e_acsl_assert_data_4.file = "early_exit.c";
        __gen_e_acsl_assert_data_4.fct = "continue_valid";
        __gen_e_acsl_assert_data_4.line = 136;
        __e_acsl_assert(! __gen_e_acsl_and_4,& __gen_e_acsl_assert_data_4);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
      }
      /*@ assert !\valid(q); */ ;
      {
        int a2 = 1;
        __e_acsl_store_block((void *)(& a2),4UL);
        __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;
          __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
            {.values = (void *)0};
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&p",
                                       (void *)(& p));
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                         "sizeof(int *)",0,sizeof(int *));
          __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p),
                                                            sizeof(int *));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,
                                       "\\initialized(&p)",0,
                                       __gen_e_acsl_initialized_5);
          if (__gen_e_acsl_initialized_5) {
            int __gen_e_acsl_valid_5;
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p",
                                         (void *)p);
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                           "sizeof(int)",0,sizeof(int));
            __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),
                                                  (void *)p,(void *)(& p));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,
                                         "\\valid(p)",0,__gen_e_acsl_valid_5);
            __gen_e_acsl_and_5 = __gen_e_acsl_valid_5;
          }
          else __gen_e_acsl_and_5 = 0;
          __gen_e_acsl_assert_data_5.blocking = 1;
          __gen_e_acsl_assert_data_5.kind = "Assertion";
          __gen_e_acsl_assert_data_5.pred_txt = "\\valid(p)";
          __gen_e_acsl_assert_data_5.file = "early_exit.c";
          __gen_e_acsl_assert_data_5.fct = "continue_valid";
          __gen_e_acsl_assert_data_5.line = 141;
          __e_acsl_assert(__gen_e_acsl_and_5,& __gen_e_acsl_assert_data_5);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
        }
        /*@ assert \valid(p); */ ;
        {
          int __gen_e_acsl_initialized_6;
          int __gen_e_acsl_and_6;
          __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
            {.values = (void *)0};
          __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&q",
                                       (void *)(& q));
          __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                         "sizeof(int *)",0,sizeof(int *));
          __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& q),
                                                            sizeof(int *));
          __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                       "\\initialized(&q)",0,
                                       __gen_e_acsl_initialized_6);
          if (__gen_e_acsl_initialized_6) {
            int __gen_e_acsl_valid_6;
            __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"q",
                                         (void *)q);
            __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                           "sizeof(int)",0,sizeof(int));
            __gen_e_acsl_valid_6 = __e_acsl_valid((void *)q,sizeof(int),
                                                  (void *)q,(void *)(& q));
            __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,
                                         "\\valid(q)",0,__gen_e_acsl_valid_6);
            __gen_e_acsl_and_6 = __gen_e_acsl_valid_6;
          }
          else __gen_e_acsl_and_6 = 0;
          __gen_e_acsl_assert_data_6.blocking = 1;
          __gen_e_acsl_assert_data_6.kind = "Assertion";
          __gen_e_acsl_assert_data_6.pred_txt = "\\valid(q)";
          __gen_e_acsl_assert_data_6.file = "early_exit.c";
          __gen_e_acsl_assert_data_6.fct = "continue_valid";
          __gen_e_acsl_assert_data_6.line = 142;
          __e_acsl_assert(__gen_e_acsl_and_6,& __gen_e_acsl_assert_data_6);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
        }
        /*@ 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;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&p",
                                 (void *)(& p));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& p),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,
                                 "\\initialized(&p)",0,
                                 __gen_e_acsl_initialized_7);
    if (__gen_e_acsl_initialized_7) {
      int __gen_e_acsl_valid_7;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"p",
                                   (void *)p);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int),(void *)p,
                                            (void *)(& p));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"\\valid(p)",
                                   0,__gen_e_acsl_valid_7);
      __gen_e_acsl_and_7 = __gen_e_acsl_valid_7;
    }
    else __gen_e_acsl_and_7 = 0;
    __gen_e_acsl_assert_data_7.blocking = 1;
    __gen_e_acsl_assert_data_7.kind = "Assertion";
    __gen_e_acsl_assert_data_7.pred_txt = "!\\valid(p)";
    __gen_e_acsl_assert_data_7.file = "early_exit.c";
    __gen_e_acsl_assert_data_7.fct = "continue_valid";
    __gen_e_acsl_assert_data_7.line = 150;
    __e_acsl_assert(! __gen_e_acsl_and_7,& __gen_e_acsl_assert_data_7);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
  }
  /*@ assert !\valid(p); */ ;
  {
    int __gen_e_acsl_initialized_8;
    int __gen_e_acsl_and_8;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&q",
                                 (void *)(& q));
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8,
                                   "sizeof(int *)",0,sizeof(int *));
    __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q),
                                                      sizeof(int *));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,
                                 "\\initialized(&q)",0,
                                 __gen_e_acsl_initialized_8);
    if (__gen_e_acsl_initialized_8) {
      int __gen_e_acsl_valid_8;
      __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"q",
                                   (void *)q);
      __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8,
                                     "sizeof(int)",0,sizeof(int));
      __gen_e_acsl_valid_8 = __e_acsl_valid((void *)q,sizeof(int),(void *)q,
                                            (void *)(& q));
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"\\valid(q)",
                                   0,__gen_e_acsl_valid_8);
      __gen_e_acsl_and_8 = __gen_e_acsl_valid_8;
    }
    else __gen_e_acsl_and_8 = 0;
    __gen_e_acsl_assert_data_8.blocking = 1;
    __gen_e_acsl_assert_data_8.kind = "Assertion";
    __gen_e_acsl_assert_data_8.pred_txt = "!\\valid(q)";
    __gen_e_acsl_assert_data_8.file = "early_exit.c";
    __gen_e_acsl_assert_data_8.fct = "continue_valid";
    __gen_e_acsl_assert_data_8.line = 151;
    __e_acsl_assert(! __gen_e_acsl_and_8,& __gen_e_acsl_assert_data_8);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
  }
  /*@ 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),8UL);
  goto_bts();
  goto_valid();
  switch_valid();
  while_valid();
  continue_valid();
  __retres = 0;
  __e_acsl_memory_clean();
  return __retres;
}


