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

extern size_t __e_acsl_heap_allocation_size;

int main(int argc, char **argv)
{
  int __retres;
  __e_acsl_memory_init(& argc,& argv,8UL);
  char *a = malloc((size_t)7);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data.blocking = 1;
    __gen_e_acsl_assert_data.kind = "Assertion";
    __gen_e_acsl_assert_data.pred_txt = "__e_acsl_heap_allocation_size == 7";
    __gen_e_acsl_assert_data.file = "memsize.c";
    __gen_e_acsl_assert_data.fct = "main";
    __gen_e_acsl_assert_data.line = 15;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 7UL,
                    & __gen_e_acsl_assert_data);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
  }
  /*@ assert __e_acsl_heap_allocation_size == 7; */ ;
  char *b = malloc((size_t)14);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_2.blocking = 1;
    __gen_e_acsl_assert_data_2.kind = "Assertion";
    __gen_e_acsl_assert_data_2.pred_txt = "__e_acsl_heap_allocation_size == 21";
    __gen_e_acsl_assert_data_2.file = "memsize.c";
    __gen_e_acsl_assert_data_2.fct = "main";
    __gen_e_acsl_assert_data_2.line = 17;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 21UL,
                    & __gen_e_acsl_assert_data_2);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
  }
  /*@ assert __e_acsl_heap_allocation_size == 21; */ ;
  free((void *)a);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_3.blocking = 1;
    __gen_e_acsl_assert_data_3.kind = "Assertion";
    __gen_e_acsl_assert_data_3.pred_txt = "__e_acsl_heap_allocation_size == 14";
    __gen_e_acsl_assert_data_3.file = "memsize.c";
    __gen_e_acsl_assert_data_3.fct = "main";
    __gen_e_acsl_assert_data_3.line = 21;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 14UL,
                    & __gen_e_acsl_assert_data_3);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
  }
  /*@ assert __e_acsl_heap_allocation_size == 14; */ ;
  a = (char *)0;
  free((void *)a);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Assertion";
    __gen_e_acsl_assert_data_4.pred_txt = "__e_acsl_heap_allocation_size == 14";
    __gen_e_acsl_assert_data_4.file = "memsize.c";
    __gen_e_acsl_assert_data_4.fct = "main";
    __gen_e_acsl_assert_data_4.line = 26;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 14UL,
                    & __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
  }
  /*@ assert __e_acsl_heap_allocation_size == 14; */ ;
  b = (char *)realloc((void *)b,(size_t)9);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Assertion";
    __gen_e_acsl_assert_data_5.pred_txt = "__e_acsl_heap_allocation_size == 9";
    __gen_e_acsl_assert_data_5.file = "memsize.c";
    __gen_e_acsl_assert_data_5.fct = "main";
    __gen_e_acsl_assert_data_5.line = 30;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 9UL,
                    & __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
  }
  /*@ assert __e_acsl_heap_allocation_size == 9; */ ;
  b = (char *)realloc((void *)b,(size_t)18);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Assertion";
    __gen_e_acsl_assert_data_6.pred_txt = "__e_acsl_heap_allocation_size == 18";
    __gen_e_acsl_assert_data_6.file = "memsize.c";
    __gen_e_acsl_assert_data_6.fct = "main";
    __gen_e_acsl_assert_data_6.line = 34;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 18UL,
                    & __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
  }
  /*@ assert __e_acsl_heap_allocation_size == 18; */ ;
  b = (char *)realloc((void *)b,(size_t)0);
  b = (char *)0;
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_7.blocking = 1;
    __gen_e_acsl_assert_data_7.kind = "Assertion";
    __gen_e_acsl_assert_data_7.pred_txt = "__e_acsl_heap_allocation_size == 0";
    __gen_e_acsl_assert_data_7.file = "memsize.c";
    __gen_e_acsl_assert_data_7.fct = "main";
    __gen_e_acsl_assert_data_7.line = 39;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 0UL,
                    & __gen_e_acsl_assert_data_7);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
  }
  /*@ assert __e_acsl_heap_allocation_size == 0; */ ;
  b = (char *)realloc((void *)b,(size_t)8);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_8.blocking = 1;
    __gen_e_acsl_assert_data_8.kind = "Assertion";
    __gen_e_acsl_assert_data_8.pred_txt = "__e_acsl_heap_allocation_size == 8";
    __gen_e_acsl_assert_data_8.file = "memsize.c";
    __gen_e_acsl_assert_data_8.fct = "main";
    __gen_e_acsl_assert_data_8.line = 43;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 8UL,
                    & __gen_e_acsl_assert_data_8);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
  }
  /*@ assert __e_acsl_heap_allocation_size == 8; */ ;
  b = (char *)realloc((void *)0,(size_t)8);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_9.blocking = 1;
    __gen_e_acsl_assert_data_9.kind = "Assertion";
    __gen_e_acsl_assert_data_9.pred_txt = "__e_acsl_heap_allocation_size == 16";
    __gen_e_acsl_assert_data_9.file = "memsize.c";
    __gen_e_acsl_assert_data_9.fct = "main";
    __gen_e_acsl_assert_data_9.line = 47;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,
                    & __gen_e_acsl_assert_data_9);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
  }
  /*@ assert __e_acsl_heap_allocation_size == 16; */ ;
  b = (char *)realloc((void *)0,18446744073709551615UL);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_10.blocking = 1;
    __gen_e_acsl_assert_data_10.kind = "Assertion";
    __gen_e_acsl_assert_data_10.pred_txt = "__e_acsl_heap_allocation_size == 16";
    __gen_e_acsl_assert_data_10.file = "memsize.c";
    __gen_e_acsl_assert_data_10.fct = "main";
    __gen_e_acsl_assert_data_10.line = 51;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,
                    & __gen_e_acsl_assert_data_10);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
  }
  /*@ assert __e_acsl_heap_allocation_size == 16; */ ;
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"b",(void *)b);
    __gen_e_acsl_assert_data_11.blocking = 1;
    __gen_e_acsl_assert_data_11.kind = "Assertion";
    __gen_e_acsl_assert_data_11.pred_txt = "b == (char *)0";
    __gen_e_acsl_assert_data_11.file = "memsize.c";
    __gen_e_acsl_assert_data_11.fct = "main";
    __gen_e_acsl_assert_data_11.line = 52;
    __e_acsl_assert(b == (char *)0,& __gen_e_acsl_assert_data_11);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
  }
  /*@ assert b == (char *)0; */ ;
  b = (char *)calloc(18446744073709551615UL,18446744073709551615UL);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_12.blocking = 1;
    __gen_e_acsl_assert_data_12.kind = "Assertion";
    __gen_e_acsl_assert_data_12.pred_txt = "__e_acsl_heap_allocation_size == 16";
    __gen_e_acsl_assert_data_12.file = "memsize.c";
    __gen_e_acsl_assert_data_12.fct = "main";
    __gen_e_acsl_assert_data_12.line = 56;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,
                    & __gen_e_acsl_assert_data_12);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12);
  }
  /*@ assert __e_acsl_heap_allocation_size == 16; */ ;
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"b",(void *)b);
    __gen_e_acsl_assert_data_13.blocking = 1;
    __gen_e_acsl_assert_data_13.kind = "Assertion";
    __gen_e_acsl_assert_data_13.pred_txt = "b == (char *)0";
    __gen_e_acsl_assert_data_13.file = "memsize.c";
    __gen_e_acsl_assert_data_13.fct = "main";
    __gen_e_acsl_assert_data_13.line = 57;
    __e_acsl_assert(b == (char *)0,& __gen_e_acsl_assert_data_13);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13);
  }
  /*@ assert b == (char *)0; */ ;
  b = (char *)malloc(18446744073709551615UL);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14,
                                   "__e_acsl_heap_allocation_size",0,
                                   __e_acsl_heap_allocation_size);
    __gen_e_acsl_assert_data_14.blocking = 1;
    __gen_e_acsl_assert_data_14.kind = "Assertion";
    __gen_e_acsl_assert_data_14.pred_txt = "__e_acsl_heap_allocation_size == 16";
    __gen_e_acsl_assert_data_14.file = "memsize.c";
    __gen_e_acsl_assert_data_14.fct = "main";
    __gen_e_acsl_assert_data_14.line = 61;
    __e_acsl_assert(__e_acsl_heap_allocation_size == 16UL,
                    & __gen_e_acsl_assert_data_14);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14);
  }
  /*@ assert __e_acsl_heap_allocation_size == 16; */ ;
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"b",(void *)b);
    __gen_e_acsl_assert_data_15.blocking = 1;
    __gen_e_acsl_assert_data_15.kind = "Assertion";
    __gen_e_acsl_assert_data_15.pred_txt = "b == (char *)0";
    __gen_e_acsl_assert_data_15.file = "memsize.c";
    __gen_e_acsl_assert_data_15.fct = "main";
    __gen_e_acsl_assert_data_15.line = 62;
    __e_acsl_assert(b == (char *)0,& __gen_e_acsl_assert_data_15);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15);
  }
  /*@ assert b == (char *)0; */ ;
  __retres = 0;
  __e_acsl_memory_clean();
  return __retres;
}


