/* Generated by Frama-C */
#include "stddef.h"
#include "stdint.h"
#include "stdio.h"
#include "stdlib.h"
struct __anonstruct_int32_pair_t_1 {
   int32_t a ;
   int32_t b ;
};
typedef struct __anonstruct_int32_pair_t_1 int32_pair_t;
int main(void)
{
  int __retres;
  __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8);
  {
    int32_pair_t static_pair;
    __e_acsl_store_block((void *)(& static_pair),(size_t)8);
    {
      int __gen_e_acsl_initialized;
      __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& static_pair.a),
                                                      sizeof(int32_t));
      __e_acsl_assert(! __gen_e_acsl_initialized,"Assertion","main",
                      "!\\initialized(&static_pair.a)",
                      "tests/memory/struct_initialized.c",13);
    }
    /*@ assert ¬\initialized(&static_pair.a); */ ;
    {
      int __gen_e_acsl_initialized_2;
      __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& static_pair.b),
                                                        sizeof(int32_t));
      __e_acsl_assert(! __gen_e_acsl_initialized_2,"Assertion","main",
                      "!\\initialized(&static_pair.b)",
                      "tests/memory/struct_initialized.c",14);
    }
    /*@ assert ¬\initialized(&static_pair.b); */ ;
    __e_acsl_initialize((void *)(& static_pair.a),sizeof(int32_t));
    static_pair.a = 1;
    {
      int __gen_e_acsl_initialized_3;
      __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& static_pair.a),
                                                        sizeof(int32_t));
      __e_acsl_assert(__gen_e_acsl_initialized_3,"Assertion","main",
                      "\\initialized(&static_pair.a)",
                      "tests/memory/struct_initialized.c",16);
    }
    /*@ assert \initialized(&static_pair.a); */ ;
    {
      int __gen_e_acsl_initialized_4;
      __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& static_pair.b),
                                                        sizeof(int32_t));
      __e_acsl_assert(! __gen_e_acsl_initialized_4,"Assertion","main",
                      "!\\initialized(&static_pair.b)",
                      "tests/memory/struct_initialized.c",17);
    }
    /*@ assert ¬\initialized(&static_pair.b); */ ;
    __e_acsl_initialize((void *)(& static_pair.b),sizeof(int32_t));
    static_pair.b = 2;
    {
      int __gen_e_acsl_initialized_5;
      __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& static_pair.a),
                                                        sizeof(int32_t));
      __e_acsl_assert(__gen_e_acsl_initialized_5,"Assertion","main",
                      "\\initialized(&static_pair.a)",
                      "tests/memory/struct_initialized.c",19);
    }
    /*@ assert \initialized(&static_pair.a); */ ;
    {
      int __gen_e_acsl_initialized_6;
      __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& static_pair.b),
                                                        sizeof(int32_t));
      __e_acsl_assert(__gen_e_acsl_initialized_6,"Assertion","main",
                      "\\initialized(&static_pair.b)",
                      "tests/memory/struct_initialized.c",20);
    }
    /*@ assert \initialized(&static_pair.b); */ ;
    __e_acsl_delete_block((void *)(& static_pair));
  }
  {
    int32_pair_t *heap_pair = malloc(sizeof(int32_pair_t));
    __e_acsl_store_block((void *)(& heap_pair),(size_t)8);
    __e_acsl_full_init((void *)(& heap_pair));
    {
      int __gen_e_acsl_initialized_7;
      __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& heap_pair->a),
                                                        sizeof(int32_t));
      __e_acsl_assert(! __gen_e_acsl_initialized_7,"Assertion","main",
                      "!\\initialized(&heap_pair->a)",
                      "tests/memory/struct_initialized.c",26);
    }
    /*@ assert ¬\initialized(&heap_pair->a); */ ;
    {
      int __gen_e_acsl_initialized_8;
      __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& heap_pair->b),
                                                        sizeof(int32_t));
      __e_acsl_assert(! __gen_e_acsl_initialized_8,"Assertion","main",
                      "!\\initialized(&heap_pair->b)",
                      "tests/memory/struct_initialized.c",27);
    }
    /*@ assert ¬\initialized(&heap_pair->b); */ ;
    __e_acsl_initialize((void *)(& heap_pair->a),sizeof(int32_t));
    heap_pair->a = 3;
    {
      int __gen_e_acsl_initialized_9;
      __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& heap_pair->a),
                                                        sizeof(int32_t));
      __e_acsl_assert(__gen_e_acsl_initialized_9,"Assertion","main",
                      "\\initialized(&heap_pair->a)",
                      "tests/memory/struct_initialized.c",29);
    }
    /*@ assert \initialized(&heap_pair->a); */ ;
    {
      int __gen_e_acsl_initialized_10;
      __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& heap_pair->b),
                                                         sizeof(int32_t));
      __e_acsl_assert(! __gen_e_acsl_initialized_10,"Assertion","main",
                      "!\\initialized(&heap_pair->b)",
                      "tests/memory/struct_initialized.c",30);
    }
    /*@ assert ¬\initialized(&heap_pair->b); */ ;
    __e_acsl_initialize((void *)(& heap_pair->b),sizeof(int32_t));
    heap_pair->b = 4;
    {
      int __gen_e_acsl_initialized_11;
      __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& heap_pair->a),
                                                         sizeof(int32_t));
      __e_acsl_assert(__gen_e_acsl_initialized_11,"Assertion","main",
                      "\\initialized(&heap_pair->a)",
                      "tests/memory/struct_initialized.c",32);
    }
    /*@ assert \initialized(&heap_pair->a); */ ;
    {
      int __gen_e_acsl_initialized_12;
      __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& heap_pair->b),
                                                         sizeof(int32_t));
      __e_acsl_assert(__gen_e_acsl_initialized_12,"Assertion","main",
                      "\\initialized(&heap_pair->b)",
                      "tests/memory/struct_initialized.c",33);
    }
    /*@ assert \initialized(&heap_pair->b); */ ;
    __e_acsl_delete_block((void *)(& heap_pair));
  }
  __retres = 0;
  __e_acsl_memory_clean();
  return __retres;
}


