/* Generated by Frama-C */
#include "stddef.h"
#include "stdio.h"
void f(int *dest, int val)
{
  __e_acsl_store_block((void *)(& dest),(size_t)8);
  int *ptr = dest;
  __e_acsl_store_block((void *)(& ptr),(size_t)8);
  __e_acsl_full_init((void *)(& ptr));
  __e_acsl_initialize((void *)ptr,sizeof(int));
  *ptr = val;
  __e_acsl_delete_block((void *)(& dest));
  __e_acsl_delete_block((void *)(& ptr));
  return;
}

int main(void)
{
  int __retres;
  int i;
  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
  __e_acsl_store_block((void *)(& i),(size_t)4);
  f(& i,255);
  {
    int __gen_e_acsl_initialized;
    __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& i),
                                                    sizeof(int));
    __e_acsl_assert(__gen_e_acsl_initialized,"Assertion","main",
                    "\\initialized(&i)","tests/memory/alias.i",14);
  }
  /*@ assert \initialized(&i); */ ;
  __retres = 0;
  __e_acsl_delete_block((void *)(& i));
  __e_acsl_memory_clean();
  return __retres;
}


