/* 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;

int A[4] = {1, 2, 3, 4};
int *PA;
void __e_acsl_globals_init(void)
{
  static char __e_acsl_already_run = 0;
  if (! __e_acsl_already_run) {
    __e_acsl_already_run = 1;
    __e_acsl_store_block((void *)(& PA),8UL);
    __e_acsl_full_init((void *)(& PA));
    __e_acsl_store_block((void *)(A),16UL);
    __e_acsl_full_init((void *)(& A));
  }
  return;
}

void __e_acsl_globals_clean(void)
{
  __e_acsl_delete_block((void *)(& PA));
  __e_acsl_delete_block((void *)(A));
  return;
}

int main(void)
{
  int __retres;
  int *pa;
  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
  __e_acsl_globals_init();
  __e_acsl_store_block((void *)(& pa),8UL);
  PA = (int *)(& A);
  {
    void *__gen_e_acsl_base_addr;
    void *__gen_e_acsl_base_addr_2;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
    __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)(A));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,
                                 "\\base_addr((int *)A)",
                                 __gen_e_acsl_base_addr);
    __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)(& A));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,
                                 "\\base_addr(&A)",__gen_e_acsl_base_addr_2);
    __gen_e_acsl_assert_data.blocking = 1;
    __gen_e_acsl_assert_data.kind = "Assertion";
    __gen_e_acsl_assert_data.pred_txt = "\\base_addr((int *)A) == \\base_addr(&A)";
    __gen_e_acsl_assert_data.file = "base_addr.c";
    __gen_e_acsl_assert_data.fct = "main";
    __gen_e_acsl_assert_data.line = 13;
    __e_acsl_assert(__gen_e_acsl_base_addr == __gen_e_acsl_base_addr_2,
                    & __gen_e_acsl_assert_data);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
  }
  /*@ assert \base_addr((int *)A) == \base_addr(&A); */ ;
  {
    void *__gen_e_acsl_base_addr_3;
    void *__gen_e_acsl_base_addr_4;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_3 = __e_acsl_base_addr((void *)(A));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,
                                 "\\base_addr((int *)A)",
                                 __gen_e_acsl_base_addr_3);
    __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)PA);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,
                                 "\\base_addr(PA)",__gen_e_acsl_base_addr_4);
    __gen_e_acsl_assert_data_2.blocking = 1;
    __gen_e_acsl_assert_data_2.kind = "Assertion";
    __gen_e_acsl_assert_data_2.pred_txt = "\\base_addr((int *)A) == \\base_addr(PA)";
    __gen_e_acsl_assert_data_2.file = "base_addr.c";
    __gen_e_acsl_assert_data_2.fct = "main";
    __gen_e_acsl_assert_data_2.line = 14;
    __e_acsl_assert(__gen_e_acsl_base_addr_3 == __gen_e_acsl_base_addr_4,
                    & __gen_e_acsl_assert_data_2);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
  }
  /*@ assert \base_addr((int *)A) == \base_addr(PA); */ ;
  {
    void *__gen_e_acsl_base_addr_5;
    void *__gen_e_acsl_base_addr_6;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_5 = __e_acsl_base_addr((void *)(& A[3]));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,
                                 "\\base_addr(&A[3])",
                                 __gen_e_acsl_base_addr_5);
    __gen_e_acsl_base_addr_6 = __e_acsl_base_addr((void *)PA);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,
                                 "\\base_addr(PA)",__gen_e_acsl_base_addr_6);
    __gen_e_acsl_assert_data_3.blocking = 1;
    __gen_e_acsl_assert_data_3.kind = "Assertion";
    __gen_e_acsl_assert_data_3.pred_txt = "\\base_addr(&A[3]) == \\base_addr(PA)";
    __gen_e_acsl_assert_data_3.file = "base_addr.c";
    __gen_e_acsl_assert_data_3.fct = "main";
    __gen_e_acsl_assert_data_3.line = 15;
    __e_acsl_assert(__gen_e_acsl_base_addr_5 == __gen_e_acsl_base_addr_6,
                    & __gen_e_acsl_assert_data_3);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
  }
  /*@ assert \base_addr(&A[3]) == \base_addr(PA); */ ;
  PA ++;
  {
    void *__gen_e_acsl_base_addr_7;
    void *__gen_e_acsl_base_addr_8;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_7 = __e_acsl_base_addr((void *)PA);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,
                                 "\\base_addr(PA)",__gen_e_acsl_base_addr_7);
    __gen_e_acsl_base_addr_8 = __e_acsl_base_addr((void *)(A));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,
                                 "\\base_addr((int *)A)",
                                 __gen_e_acsl_base_addr_8);
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Assertion";
    __gen_e_acsl_assert_data_4.pred_txt = "\\base_addr(PA) == \\base_addr((int *)A)";
    __gen_e_acsl_assert_data_4.file = "base_addr.c";
    __gen_e_acsl_assert_data_4.fct = "main";
    __gen_e_acsl_assert_data_4.line = 17;
    __e_acsl_assert(__gen_e_acsl_base_addr_7 == __gen_e_acsl_base_addr_8,
                    & __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
  }
  /*@ assert \base_addr(PA) == \base_addr((int *)A); */ ;
  {
    void *__gen_e_acsl_base_addr_9;
    void *__gen_e_acsl_base_addr_10;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_9 = __e_acsl_base_addr((void *)(PA + 2));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,
                                 "\\base_addr(PA + 2)",
                                 __gen_e_acsl_base_addr_9);
    __gen_e_acsl_base_addr_10 = __e_acsl_base_addr((void *)(& A[3]));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,
                                 "\\base_addr(&A[3])",
                                 __gen_e_acsl_base_addr_10);
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Assertion";
    __gen_e_acsl_assert_data_5.pred_txt = "\\base_addr(PA + 2) == \\base_addr(&A[3])";
    __gen_e_acsl_assert_data_5.file = "base_addr.c";
    __gen_e_acsl_assert_data_5.fct = "main";
    __gen_e_acsl_assert_data_5.line = 18;
    __e_acsl_assert(__gen_e_acsl_base_addr_9 == __gen_e_acsl_base_addr_10,
                    & __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
  }
  /*@ assert \base_addr(PA + 2) == \base_addr(&A[3]); */ ;
  int a[4] = {1, 2, 3, 4};
  __e_acsl_store_block((void *)(a),16UL);
  __e_acsl_full_init((void *)(& a));
  __e_acsl_full_init((void *)(& pa));
  pa = (int *)(& a);
  {
    void *__gen_e_acsl_base_addr_11;
    void *__gen_e_acsl_base_addr_12;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_11 = __e_acsl_base_addr((void *)(a));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,
                                 "\\base_addr((int *)a)",
                                 __gen_e_acsl_base_addr_11);
    __gen_e_acsl_base_addr_12 = __e_acsl_base_addr((void *)(& a));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,
                                 "\\base_addr(&a)",__gen_e_acsl_base_addr_12);
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Assertion";
    __gen_e_acsl_assert_data_6.pred_txt = "\\base_addr((int *)a) == \\base_addr(&a)";
    __gen_e_acsl_assert_data_6.file = "base_addr.c";
    __gen_e_acsl_assert_data_6.fct = "main";
    __gen_e_acsl_assert_data_6.line = 25;
    __e_acsl_assert(__gen_e_acsl_base_addr_11 == __gen_e_acsl_base_addr_12,
                    & __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
  }
  /*@ assert \base_addr((int *)a) == \base_addr(&a); */ ;
  {
    void *__gen_e_acsl_base_addr_13;
    void *__gen_e_acsl_base_addr_14;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_13 = __e_acsl_base_addr((void *)(a));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,
                                 "\\base_addr((int *)a)",
                                 __gen_e_acsl_base_addr_13);
    __gen_e_acsl_base_addr_14 = __e_acsl_base_addr((void *)pa);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,
                                 "\\base_addr(pa)",__gen_e_acsl_base_addr_14);
    __gen_e_acsl_assert_data_7.blocking = 1;
    __gen_e_acsl_assert_data_7.kind = "Assertion";
    __gen_e_acsl_assert_data_7.pred_txt = "\\base_addr((int *)a) == \\base_addr(pa)";
    __gen_e_acsl_assert_data_7.file = "base_addr.c";
    __gen_e_acsl_assert_data_7.fct = "main";
    __gen_e_acsl_assert_data_7.line = 26;
    __e_acsl_assert(__gen_e_acsl_base_addr_13 == __gen_e_acsl_base_addr_14,
                    & __gen_e_acsl_assert_data_7);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
  }
  /*@ assert \base_addr((int *)a) == \base_addr(pa); */ ;
  {
    void *__gen_e_acsl_base_addr_15;
    void *__gen_e_acsl_base_addr_16;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_15 = __e_acsl_base_addr((void *)(& a[3]));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,
                                 "\\base_addr(&a[3])",
                                 __gen_e_acsl_base_addr_15);
    __gen_e_acsl_base_addr_16 = __e_acsl_base_addr((void *)pa);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,
                                 "\\base_addr(pa)",__gen_e_acsl_base_addr_16);
    __gen_e_acsl_assert_data_8.blocking = 1;
    __gen_e_acsl_assert_data_8.kind = "Assertion";
    __gen_e_acsl_assert_data_8.pred_txt = "\\base_addr(&a[3]) == \\base_addr(pa)";
    __gen_e_acsl_assert_data_8.file = "base_addr.c";
    __gen_e_acsl_assert_data_8.fct = "main";
    __gen_e_acsl_assert_data_8.line = 27;
    __e_acsl_assert(__gen_e_acsl_base_addr_15 == __gen_e_acsl_base_addr_16,
                    & __gen_e_acsl_assert_data_8);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
  }
  /*@ assert \base_addr(&a[3]) == \base_addr(pa); */ ;
  __e_acsl_full_init((void *)(& pa));
  pa ++;
  {
    void *__gen_e_acsl_base_addr_17;
    void *__gen_e_acsl_base_addr_18;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_17 = __e_acsl_base_addr((void *)pa);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,
                                 "\\base_addr(pa)",__gen_e_acsl_base_addr_17);
    __gen_e_acsl_base_addr_18 = __e_acsl_base_addr((void *)(a));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,
                                 "\\base_addr((int *)a)",
                                 __gen_e_acsl_base_addr_18);
    __gen_e_acsl_assert_data_9.blocking = 1;
    __gen_e_acsl_assert_data_9.kind = "Assertion";
    __gen_e_acsl_assert_data_9.pred_txt = "\\base_addr(pa) == \\base_addr((int *)a)";
    __gen_e_acsl_assert_data_9.file = "base_addr.c";
    __gen_e_acsl_assert_data_9.fct = "main";
    __gen_e_acsl_assert_data_9.line = 29;
    __e_acsl_assert(__gen_e_acsl_base_addr_17 == __gen_e_acsl_base_addr_18,
                    & __gen_e_acsl_assert_data_9);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
  }
  /*@ assert \base_addr(pa) == \base_addr((int *)a); */ ;
  {
    void *__gen_e_acsl_base_addr_19;
    void *__gen_e_acsl_base_addr_20;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_19 = __e_acsl_base_addr((void *)(pa + 2));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,
                                 "\\base_addr(pa + 2)",
                                 __gen_e_acsl_base_addr_19);
    __gen_e_acsl_base_addr_20 = __e_acsl_base_addr((void *)(a));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,
                                 "\\base_addr((int *)a)",
                                 __gen_e_acsl_base_addr_20);
    __gen_e_acsl_assert_data_10.blocking = 1;
    __gen_e_acsl_assert_data_10.kind = "Assertion";
    __gen_e_acsl_assert_data_10.pred_txt = "\\base_addr(pa + 2) == \\base_addr((int *)a)";
    __gen_e_acsl_assert_data_10.file = "base_addr.c";
    __gen_e_acsl_assert_data_10.fct = "main";
    __gen_e_acsl_assert_data_10.line = 30;
    __e_acsl_assert(__gen_e_acsl_base_addr_19 == __gen_e_acsl_base_addr_20,
                    & __gen_e_acsl_assert_data_10);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
  }
  /*@ assert \base_addr(pa + 2) == \base_addr((int *)a); */ ;
  long l = (long)4;
  __e_acsl_store_block((void *)(& l),8UL);
  __e_acsl_full_init((void *)(& l));
  char *pl = (char *)(& l);
  __e_acsl_store_block((void *)(& pl),8UL);
  __e_acsl_full_init((void *)(& pl));
  {
    void *__gen_e_acsl_base_addr_21;
    void *__gen_e_acsl_base_addr_22;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_21 = __e_acsl_base_addr((void *)(& l));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,
                                 "\\base_addr(&l)",__gen_e_acsl_base_addr_21);
    __gen_e_acsl_base_addr_22 = __e_acsl_base_addr((void *)pl);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,
                                 "\\base_addr(pl)",__gen_e_acsl_base_addr_22);
    __gen_e_acsl_assert_data_11.blocking = 1;
    __gen_e_acsl_assert_data_11.kind = "Assertion";
    __gen_e_acsl_assert_data_11.pred_txt = "\\base_addr(&l) == \\base_addr(pl)";
    __gen_e_acsl_assert_data_11.file = "base_addr.c";
    __gen_e_acsl_assert_data_11.fct = "main";
    __gen_e_acsl_assert_data_11.line = 35;
    __e_acsl_assert(__gen_e_acsl_base_addr_21 == __gen_e_acsl_base_addr_22,
                    & __gen_e_acsl_assert_data_11);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
  }
  /*@ assert \base_addr(&l) == \base_addr(pl); */ ;
  {
    void *__gen_e_acsl_base_addr_23;
    void *__gen_e_acsl_base_addr_24;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_23 = __e_acsl_base_addr((void *)(pl + 2));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,
                                 "\\base_addr(pl + 2)",
                                 __gen_e_acsl_base_addr_23);
    __gen_e_acsl_base_addr_24 = __e_acsl_base_addr((void *)(& l));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,
                                 "\\base_addr(&l)",__gen_e_acsl_base_addr_24);
    __gen_e_acsl_assert_data_12.blocking = 1;
    __gen_e_acsl_assert_data_12.kind = "Assertion";
    __gen_e_acsl_assert_data_12.pred_txt = "\\base_addr(pl + 2) == \\base_addr(&l)";
    __gen_e_acsl_assert_data_12.file = "base_addr.c";
    __gen_e_acsl_assert_data_12.fct = "main";
    __gen_e_acsl_assert_data_12.line = 36;
    __e_acsl_assert(__gen_e_acsl_base_addr_23 == __gen_e_acsl_base_addr_24,
                    & __gen_e_acsl_assert_data_12);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12);
  }
  /*@ assert \base_addr(pl + 2) == \base_addr(&l); */ ;
  short *pi = (short *)(& l);
  __e_acsl_store_block((void *)(& pi),8UL);
  __e_acsl_full_init((void *)(& pi));
  __e_acsl_full_init((void *)(& pi));
  pi ++;
  __e_acsl_full_init((void *)(& pl));
  pl ++;
  {
    void *__gen_e_acsl_base_addr_25;
    void *__gen_e_acsl_base_addr_26;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_25 = __e_acsl_base_addr((void *)pi);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,
                                 "\\base_addr(pi)",__gen_e_acsl_base_addr_25);
    __gen_e_acsl_base_addr_26 = __e_acsl_base_addr((void *)pl);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,
                                 "\\base_addr(pl)",__gen_e_acsl_base_addr_26);
    __gen_e_acsl_assert_data_13.blocking = 1;
    __gen_e_acsl_assert_data_13.kind = "Assertion";
    __gen_e_acsl_assert_data_13.pred_txt = "\\base_addr(pi) == \\base_addr(pl)";
    __gen_e_acsl_assert_data_13.file = "base_addr.c";
    __gen_e_acsl_assert_data_13.fct = "main";
    __gen_e_acsl_assert_data_13.line = 40;
    __e_acsl_assert(__gen_e_acsl_base_addr_25 == __gen_e_acsl_base_addr_26,
                    & __gen_e_acsl_assert_data_13);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13);
  }
  /*@ assert \base_addr(pi) == \base_addr(pl); */ ;
  {
    void *__gen_e_acsl_base_addr_27;
    void *__gen_e_acsl_base_addr_28;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_27 = __e_acsl_base_addr((void *)pl);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,
                                 "\\base_addr(pl)",__gen_e_acsl_base_addr_27);
    __gen_e_acsl_base_addr_28 = __e_acsl_base_addr((void *)(& l));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,
                                 "\\base_addr(&l)",__gen_e_acsl_base_addr_28);
    __gen_e_acsl_assert_data_14.blocking = 1;
    __gen_e_acsl_assert_data_14.kind = "Assertion";
    __gen_e_acsl_assert_data_14.pred_txt = "\\base_addr(pl) == \\base_addr(&l)";
    __gen_e_acsl_assert_data_14.file = "base_addr.c";
    __gen_e_acsl_assert_data_14.fct = "main";
    __gen_e_acsl_assert_data_14.line = 41;
    __e_acsl_assert(__gen_e_acsl_base_addr_27 == __gen_e_acsl_base_addr_28,
                    & __gen_e_acsl_assert_data_14);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14);
  }
  /*@ assert \base_addr(pl) == \base_addr(&l); */ ;
  char *p = malloc((size_t)12);
  __e_acsl_store_block((void *)(& p),8UL);
  __e_acsl_full_init((void *)(& p));
  char *pd = p;
  __e_acsl_store_block((void *)(& pd),8UL);
  __e_acsl_full_init((void *)(& pd));
  {
    void *__gen_e_acsl_base_addr_29;
    void *__gen_e_acsl_base_addr_30;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_29 = __e_acsl_base_addr((void *)p);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,
                                 "\\base_addr(p)",__gen_e_acsl_base_addr_29);
    __gen_e_acsl_base_addr_30 = __e_acsl_base_addr((void *)pd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,
                                 "\\base_addr(pd)",__gen_e_acsl_base_addr_30);
    __gen_e_acsl_assert_data_15.blocking = 1;
    __gen_e_acsl_assert_data_15.kind = "Assertion";
    __gen_e_acsl_assert_data_15.pred_txt = "\\base_addr(p) == \\base_addr(pd)";
    __gen_e_acsl_assert_data_15.file = "base_addr.c";
    __gen_e_acsl_assert_data_15.fct = "main";
    __gen_e_acsl_assert_data_15.line = 46;
    __e_acsl_assert(__gen_e_acsl_base_addr_29 == __gen_e_acsl_base_addr_30,
                    & __gen_e_acsl_assert_data_15);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15);
  }
  /*@ assert \base_addr(p) == \base_addr(pd); */ ;
  {
    void *__gen_e_acsl_base_addr_31;
    void *__gen_e_acsl_base_addr_32;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_31 = __e_acsl_base_addr((void *)(p + 1));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,
                                 "\\base_addr(p + 1)",
                                 __gen_e_acsl_base_addr_31);
    __gen_e_acsl_base_addr_32 = __e_acsl_base_addr((void *)(pd + 5));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,
                                 "\\base_addr(pd + 5)",
                                 __gen_e_acsl_base_addr_32);
    __gen_e_acsl_assert_data_16.blocking = 1;
    __gen_e_acsl_assert_data_16.kind = "Assertion";
    __gen_e_acsl_assert_data_16.pred_txt = "\\base_addr(p + 1) == \\base_addr(pd + 5)";
    __gen_e_acsl_assert_data_16.file = "base_addr.c";
    __gen_e_acsl_assert_data_16.fct = "main";
    __gen_e_acsl_assert_data_16.line = 47;
    __e_acsl_assert(__gen_e_acsl_base_addr_31 == __gen_e_acsl_base_addr_32,
                    & __gen_e_acsl_assert_data_16);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_16);
  }
  /*@ assert \base_addr(p + 1) == \base_addr(pd + 5); */ ;
  {
    void *__gen_e_acsl_base_addr_33;
    void *__gen_e_acsl_base_addr_34;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_33 = __e_acsl_base_addr((void *)(p + 11));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,
                                 "\\base_addr(p + 11)",
                                 __gen_e_acsl_base_addr_33);
    __gen_e_acsl_base_addr_34 = __e_acsl_base_addr((void *)(pd + 1));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,
                                 "\\base_addr(pd + 1)",
                                 __gen_e_acsl_base_addr_34);
    __gen_e_acsl_assert_data_17.blocking = 1;
    __gen_e_acsl_assert_data_17.kind = "Assertion";
    __gen_e_acsl_assert_data_17.pred_txt = "\\base_addr(p + 11) == \\base_addr(pd + 1)";
    __gen_e_acsl_assert_data_17.file = "base_addr.c";
    __gen_e_acsl_assert_data_17.fct = "main";
    __gen_e_acsl_assert_data_17.line = 48;
    __e_acsl_assert(__gen_e_acsl_base_addr_33 == __gen_e_acsl_base_addr_34,
                    & __gen_e_acsl_assert_data_17);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17);
  }
  /*@ assert \base_addr(p + 11) == \base_addr(pd + 1); */ ;
  __e_acsl_full_init((void *)(& p));
  p += 5;
  {
    void *__gen_e_acsl_base_addr_35;
    void *__gen_e_acsl_base_addr_36;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_35 = __e_acsl_base_addr((void *)(p + 5));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,
                                 "\\base_addr(p + 5)",
                                 __gen_e_acsl_base_addr_35);
    __gen_e_acsl_base_addr_36 = __e_acsl_base_addr((void *)pd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,
                                 "\\base_addr(pd)",__gen_e_acsl_base_addr_36);
    __gen_e_acsl_assert_data_18.blocking = 1;
    __gen_e_acsl_assert_data_18.kind = "Assertion";
    __gen_e_acsl_assert_data_18.pred_txt = "\\base_addr(p + 5) == \\base_addr(pd)";
    __gen_e_acsl_assert_data_18.file = "base_addr.c";
    __gen_e_acsl_assert_data_18.fct = "main";
    __gen_e_acsl_assert_data_18.line = 50;
    __e_acsl_assert(__gen_e_acsl_base_addr_35 == __gen_e_acsl_base_addr_36,
                    & __gen_e_acsl_assert_data_18);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18);
  }
  /*@ assert \base_addr(p + 5) == \base_addr(pd); */ ;
  {
    void *__gen_e_acsl_base_addr_37;
    void *__gen_e_acsl_base_addr_38;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_37 = __e_acsl_base_addr((void *)(p - 5));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19,
                                 "\\base_addr(p - 5)",
                                 __gen_e_acsl_base_addr_37);
    __gen_e_acsl_base_addr_38 = __e_acsl_base_addr((void *)pd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19,
                                 "\\base_addr(pd)",__gen_e_acsl_base_addr_38);
    __gen_e_acsl_assert_data_19.blocking = 1;
    __gen_e_acsl_assert_data_19.kind = "Assertion";
    __gen_e_acsl_assert_data_19.pred_txt = "\\base_addr(p - 5) == \\base_addr(pd)";
    __gen_e_acsl_assert_data_19.file = "base_addr.c";
    __gen_e_acsl_assert_data_19.fct = "main";
    __gen_e_acsl_assert_data_19.line = 51;
    __e_acsl_assert(__gen_e_acsl_base_addr_37 == __gen_e_acsl_base_addr_38,
                    & __gen_e_acsl_assert_data_19);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_19);
  }
  /*@ assert \base_addr(p - 5) == \base_addr(pd); */ ;
  long *q = malloc((unsigned long)30 * sizeof(long));
  __e_acsl_store_block((void *)(& q),8UL);
  __e_acsl_full_init((void *)(& q));
  long *qd = q;
  __e_acsl_store_block((void *)(& qd),8UL);
  __e_acsl_full_init((void *)(& qd));
  {
    void *__gen_e_acsl_base_addr_39;
    void *__gen_e_acsl_base_addr_40;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_39 = __e_acsl_base_addr((void *)q);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,
                                 "\\base_addr(q)",__gen_e_acsl_base_addr_39);
    __gen_e_acsl_base_addr_40 = __e_acsl_base_addr((void *)qd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,
                                 "\\base_addr(qd)",__gen_e_acsl_base_addr_40);
    __gen_e_acsl_assert_data_20.blocking = 1;
    __gen_e_acsl_assert_data_20.kind = "Assertion";
    __gen_e_acsl_assert_data_20.pred_txt = "\\base_addr(q) == \\base_addr(qd)";
    __gen_e_acsl_assert_data_20.file = "base_addr.c";
    __gen_e_acsl_assert_data_20.fct = "main";
    __gen_e_acsl_assert_data_20.line = 57;
    __e_acsl_assert(__gen_e_acsl_base_addr_39 == __gen_e_acsl_base_addr_40,
                    & __gen_e_acsl_assert_data_20);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20);
  }
  /*@ assert \base_addr(q) == \base_addr(qd); */ ;
  __e_acsl_full_init((void *)(& q));
  q ++;
  {
    void *__gen_e_acsl_base_addr_41;
    void *__gen_e_acsl_base_addr_42;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_41 = __e_acsl_base_addr((void *)q);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,
                                 "\\base_addr(q)",__gen_e_acsl_base_addr_41);
    __gen_e_acsl_base_addr_42 = __e_acsl_base_addr((void *)qd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,
                                 "\\base_addr(qd)",__gen_e_acsl_base_addr_42);
    __gen_e_acsl_assert_data_21.blocking = 1;
    __gen_e_acsl_assert_data_21.kind = "Assertion";
    __gen_e_acsl_assert_data_21.pred_txt = "\\base_addr(q) == \\base_addr(qd)";
    __gen_e_acsl_assert_data_21.file = "base_addr.c";
    __gen_e_acsl_assert_data_21.fct = "main";
    __gen_e_acsl_assert_data_21.line = 59;
    __e_acsl_assert(__gen_e_acsl_base_addr_41 == __gen_e_acsl_base_addr_42,
                    & __gen_e_acsl_assert_data_21);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21);
  }
  /*@ assert \base_addr(q) == \base_addr(qd); */ ;
  __e_acsl_full_init((void *)(& q));
  q += 2;
  {
    void *__gen_e_acsl_base_addr_43;
    void *__gen_e_acsl_base_addr_44;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_43 = __e_acsl_base_addr((void *)q);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22,
                                 "\\base_addr(q)",__gen_e_acsl_base_addr_43);
    __gen_e_acsl_base_addr_44 = __e_acsl_base_addr((void *)qd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22,
                                 "\\base_addr(qd)",__gen_e_acsl_base_addr_44);
    __gen_e_acsl_assert_data_22.blocking = 1;
    __gen_e_acsl_assert_data_22.kind = "Assertion";
    __gen_e_acsl_assert_data_22.pred_txt = "\\base_addr(q) == \\base_addr(qd)";
    __gen_e_acsl_assert_data_22.file = "base_addr.c";
    __gen_e_acsl_assert_data_22.fct = "main";
    __gen_e_acsl_assert_data_22.line = 61;
    __e_acsl_assert(__gen_e_acsl_base_addr_43 == __gen_e_acsl_base_addr_44,
                    & __gen_e_acsl_assert_data_22);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_22);
  }
  /*@ assert \base_addr(q) == \base_addr(qd); */ ;
  __e_acsl_full_init((void *)(& q));
  q += 4;
  {
    void *__gen_e_acsl_base_addr_45;
    void *__gen_e_acsl_base_addr_46;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 =
      {.values = (void *)0};
    __gen_e_acsl_base_addr_45 = __e_acsl_base_addr((void *)q);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23,
                                 "\\base_addr(q)",__gen_e_acsl_base_addr_45);
    __gen_e_acsl_base_addr_46 = __e_acsl_base_addr((void *)qd);
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23,
                                 "\\base_addr(qd)",__gen_e_acsl_base_addr_46);
    __gen_e_acsl_assert_data_23.blocking = 1;
    __gen_e_acsl_assert_data_23.kind = "Assertion";
    __gen_e_acsl_assert_data_23.pred_txt = "\\base_addr(q) == \\base_addr(qd)";
    __gen_e_acsl_assert_data_23.file = "base_addr.c";
    __gen_e_acsl_assert_data_23.fct = "main";
    __gen_e_acsl_assert_data_23.line = 63;
    __e_acsl_assert(__gen_e_acsl_base_addr_45 == __gen_e_acsl_base_addr_46,
                    & __gen_e_acsl_assert_data_23);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23);
  }
  /*@ assert \base_addr(q) == \base_addr(qd); */ ;
  __retres = 0;
  __e_acsl_delete_block((void *)(& qd));
  __e_acsl_delete_block((void *)(& q));
  __e_acsl_delete_block((void *)(& pd));
  __e_acsl_delete_block((void *)(& p));
  __e_acsl_delete_block((void *)(& pi));
  __e_acsl_delete_block((void *)(& pl));
  __e_acsl_delete_block((void *)(& l));
  __e_acsl_delete_block((void *)(& pa));
  __e_acsl_delete_block((void *)(a));
  __e_acsl_globals_clean();
  __e_acsl_memory_clean();
  return __retres;
}


