/* 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"
char *__gen_e_acsl_literal_string;
extern  __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict;

struct A {
   int a ;
};
union U {
   int a ;
   float b ;
};
enum EBool {
    EBOOL_MIN = (_Bool)0,
    EBOOL_MAX = (_Bool)1
};
enum EChar {
    ECHAR_MIN = (char)(-128),
    ECHAR_MAX = (char)127
};
enum ESChar {
    ESCHAR_MIN = (signed char)(-128),
    ESCHAR_MAX = (signed char)127
};
enum EUChar {
    EUCHAR_MIN = (unsigned char)0,
    EUCHAR_MAX = (unsigned char)255
};
enum EInt {
    EINT_MIN = -2147483647 - 1,
    EINT_MAX = 2147483647
};
enum EUInt {
    EUINT_MIN = (unsigned int)0,
    EUINT_MAX = 4294967295U
};
enum EShort {
    ESHORT_MIN = (short)(-32768),
    ESHORT_MAX = (short)32767
};
enum EUShort {
    EUSHORT_MIN = (unsigned short)0,
    EUSHORT_MAX = (unsigned short)65535
};
enum ELong {
    ELONG_MIN = -9223372036854775807L - 1L,
    ELONG_MAX = 9223372036854775807L
};
enum EULong {
    EULONG_MIN = (unsigned long)0,
    EULONG_MAX = 18446744073709551615UL
};
enum ELLong {
    ELLONG_MIN = -9223372036854775807LL - 1LL,
    ELLONG_MAX = 9223372036854775807LL
};
enum EULLong {
    EULLONG_MIN = (unsigned long long)0,
    EULLONG_MAX = 18446744073709551615ULL
};
void f(void)
{
  return;
}

void g(void)
{
  return;
}

int lvalue = 1;
int array1[4] = {1, 2, 3, 4};
int array2[2] = {5, 6};
void __e_acsl_globals_init(void)
{
  static char __e_acsl_already_run = 0;
  if (! __e_acsl_already_run) {
    __e_acsl_already_run = 1;
    __gen_e_acsl_literal_string = "EVERY ASSERTION SHOULD PRINT ITS DATA IN EXECUTION LOG\n";
    __e_acsl_store_block((void *)__gen_e_acsl_literal_string,
                         sizeof("EVERY ASSERTION SHOULD PRINT ITS DATA IN EXECUTION LOG\n"));
    __e_acsl_full_init((void *)__gen_e_acsl_literal_string);
    __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string);
    __e_acsl_store_block((void *)(& lvalue),4UL);
    __e_acsl_full_init((void *)(& lvalue));
  }
  return;
}

void __e_acsl_globals_clean(void)
{
  __e_acsl_delete_block((void *)(& lvalue));
  return;
}

int main(void)
{
  int __retres;
  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
  __e_acsl_globals_init();
  fprintf(stderr,__gen_e_acsl_literal_string); /* fprintf_va_1 */
  _Bool int_bool = (_Bool)1;
  __e_acsl_store_block((void *)(& int_bool),1UL);
  __e_acsl_full_init((void *)(& int_bool));
  {
    int __gen_e_acsl_x;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
    __e_acsl_assert_register_bool(& __gen_e_acsl_assert_data,"int_bool",0,
                                  int_bool);
    __gen_e_acsl_x = int_bool;
    __gen_e_acsl_assert_data.blocking = 1;
    __gen_e_acsl_assert_data.kind = "Assertion";
    __gen_e_acsl_assert_data.pred_txt = "\\let x = int_bool; \\true";
    __gen_e_acsl_assert_data.file = "printed_data.c";
    __gen_e_acsl_assert_data.fct = "main";
    __gen_e_acsl_assert_data.line = 69;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
  }
  /*@ assert \let x = int_bool; \true; */ ;
  char int_char = (char)127;
  __e_acsl_store_block((void *)(& int_char),1UL);
  __e_acsl_full_init((void *)(& int_char));
  {
    int __gen_e_acsl_x_2;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
      {.values = (void *)0};
    __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"int_char",0,
                                  int_char);
    __gen_e_acsl_x_2 = int_char;
    __gen_e_acsl_assert_data_2.blocking = 1;
    __gen_e_acsl_assert_data_2.kind = "Assertion";
    __gen_e_acsl_assert_data_2.pred_txt = "\\let x = int_char; \\true";
    __gen_e_acsl_assert_data_2.file = "printed_data.c";
    __gen_e_acsl_assert_data_2.fct = "main";
    __gen_e_acsl_assert_data_2.line = 71;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_2);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
  }
  /*@ assert \let x = int_char; \true; */ ;
  signed char int_schar = (signed char)127;
  __e_acsl_store_block((void *)(& int_schar),1UL);
  __e_acsl_full_init((void *)(& int_schar));
  {
    int __gen_e_acsl_x_3;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
      {.values = (void *)0};
    __e_acsl_assert_register_schar(& __gen_e_acsl_assert_data_3,"int_schar",
                                   0,int_schar);
    __gen_e_acsl_x_3 = int_schar;
    __gen_e_acsl_assert_data_3.blocking = 1;
    __gen_e_acsl_assert_data_3.kind = "Assertion";
    __gen_e_acsl_assert_data_3.pred_txt = "\\let x = int_schar; \\true";
    __gen_e_acsl_assert_data_3.file = "printed_data.c";
    __gen_e_acsl_assert_data_3.fct = "main";
    __gen_e_acsl_assert_data_3.line = 73;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_3);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3);
  }
  /*@ assert \let x = int_schar; \true; */ ;
  unsigned char int_uchar = (unsigned char)255;
  __e_acsl_store_block((void *)(& int_uchar),1UL);
  __e_acsl_full_init((void *)(& int_uchar));
  {
    int __gen_e_acsl_x_4;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
      {.values = (void *)0};
    __e_acsl_assert_register_uchar(& __gen_e_acsl_assert_data_4,"int_uchar",
                                   0,int_uchar);
    __gen_e_acsl_x_4 = int_uchar;
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Assertion";
    __gen_e_acsl_assert_data_4.pred_txt = "\\let x = int_uchar; \\true";
    __gen_e_acsl_assert_data_4.file = "printed_data.c";
    __gen_e_acsl_assert_data_4.fct = "main";
    __gen_e_acsl_assert_data_4.line = 75;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
  }
  /*@ assert \let x = int_uchar; \true; */ ;
  int int_int = 2147483647;
  __e_acsl_store_block((void *)(& int_int),4UL);
  __e_acsl_full_init((void *)(& int_int));
  {
    int __gen_e_acsl_x_5;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"int_int",0,
                                 int_int);
    __gen_e_acsl_x_5 = int_int;
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Assertion";
    __gen_e_acsl_assert_data_5.pred_txt = "\\let x = int_int; \\true";
    __gen_e_acsl_assert_data_5.file = "printed_data.c";
    __gen_e_acsl_assert_data_5.fct = "main";
    __gen_e_acsl_assert_data_5.line = 77;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
  }
  /*@ assert \let x = int_int; \true; */ ;
  unsigned int int_uint = 4294967295U;
  __e_acsl_store_block((void *)(& int_uint),4UL);
  __e_acsl_full_init((void *)(& int_uint));
  {
    unsigned int __gen_e_acsl_x_6;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
      {.values = (void *)0};
    __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_6,"int_uint",0,
                                  int_uint);
    __gen_e_acsl_x_6 = int_uint;
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Assertion";
    __gen_e_acsl_assert_data_6.pred_txt = "\\let x = int_uint; \\true";
    __gen_e_acsl_assert_data_6.file = "printed_data.c";
    __gen_e_acsl_assert_data_6.fct = "main";
    __gen_e_acsl_assert_data_6.line = 79;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
  }
  /*@ assert \let x = int_uint; \true; */ ;
  short int_short = (short)32767;
  __e_acsl_store_block((void *)(& int_short),2UL);
  __e_acsl_full_init((void *)(& int_short));
  {
    int __gen_e_acsl_x_7;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
      {.values = (void *)0};
    __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_7,"int_short",
                                   0,int_short);
    __gen_e_acsl_x_7 = int_short;
    __gen_e_acsl_assert_data_7.blocking = 1;
    __gen_e_acsl_assert_data_7.kind = "Assertion";
    __gen_e_acsl_assert_data_7.pred_txt = "\\let x = int_short; \\true";
    __gen_e_acsl_assert_data_7.file = "printed_data.c";
    __gen_e_acsl_assert_data_7.fct = "main";
    __gen_e_acsl_assert_data_7.line = 81;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_7);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
  }
  /*@ assert \let x = int_short; \true; */ ;
  unsigned short int_ushort = (unsigned short)65535;
  __e_acsl_store_block((void *)(& int_ushort),2UL);
  __e_acsl_full_init((void *)(& int_ushort));
  {
    int __gen_e_acsl_x_8;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
      {.values = (void *)0};
    __e_acsl_assert_register_ushort(& __gen_e_acsl_assert_data_8,
                                    "int_ushort",0,int_ushort);
    __gen_e_acsl_x_8 = int_ushort;
    __gen_e_acsl_assert_data_8.blocking = 1;
    __gen_e_acsl_assert_data_8.kind = "Assertion";
    __gen_e_acsl_assert_data_8.pred_txt = "\\let x = int_ushort; \\true";
    __gen_e_acsl_assert_data_8.file = "printed_data.c";
    __gen_e_acsl_assert_data_8.fct = "main";
    __gen_e_acsl_assert_data_8.line = 83;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_8);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
  }
  /*@ assert \let x = int_ushort; \true; */ ;
  long int_long = 9223372036854775807L;
  __e_acsl_store_block((void *)(& int_long),8UL);
  __e_acsl_full_init((void *)(& int_long));
  {
    long __gen_e_acsl_x_9;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
      {.values = (void *)0};
    __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_9,"int_long",0,
                                  int_long);
    __gen_e_acsl_x_9 = int_long;
    __gen_e_acsl_assert_data_9.blocking = 1;
    __gen_e_acsl_assert_data_9.kind = "Assertion";
    __gen_e_acsl_assert_data_9.pred_txt = "\\let x = int_long; \\true";
    __gen_e_acsl_assert_data_9.file = "printed_data.c";
    __gen_e_acsl_assert_data_9.fct = "main";
    __gen_e_acsl_assert_data_9.line = 85;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_9);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
  }
  /*@ assert \let x = int_long; \true; */ ;
  unsigned long int_ulong = 18446744073709551615UL;
  __e_acsl_store_block((void *)(& int_ulong),8UL);
  __e_acsl_full_init((void *)(& int_ulong));
  {
    unsigned long __gen_e_acsl_x_10;
    __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,"int_ulong",
                                   0,int_ulong);
    __gen_e_acsl_x_10 = int_ulong;
    __gen_e_acsl_assert_data_10.blocking = 1;
    __gen_e_acsl_assert_data_10.kind = "Assertion";
    __gen_e_acsl_assert_data_10.pred_txt = "\\let x = int_ulong; \\true";
    __gen_e_acsl_assert_data_10.file = "printed_data.c";
    __gen_e_acsl_assert_data_10.fct = "main";
    __gen_e_acsl_assert_data_10.line = 87;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_10);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
  }
  /*@ assert \let x = int_ulong; \true; */ ;
  long long int_llong = 9223372036854775807LL;
  __e_acsl_store_block((void *)(& int_llong),8UL);
  __e_acsl_full_init((void *)(& int_llong));
  {
    long __gen_e_acsl_x_11;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 =
      {.values = (void *)0};
    __e_acsl_assert_register_longlong(& __gen_e_acsl_assert_data_11,
                                      "int_llong",0,int_llong);
    __gen_e_acsl_x_11 = int_llong;
    __gen_e_acsl_assert_data_11.blocking = 1;
    __gen_e_acsl_assert_data_11.kind = "Assertion";
    __gen_e_acsl_assert_data_11.pred_txt = "\\let x = int_llong; \\true";
    __gen_e_acsl_assert_data_11.file = "printed_data.c";
    __gen_e_acsl_assert_data_11.fct = "main";
    __gen_e_acsl_assert_data_11.line = 89;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_11);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
  }
  /*@ assert \let x = int_llong; \true; */ ;
  unsigned long long int_ullong = 18446744073709551615ULL;
  __e_acsl_store_block((void *)(& int_ullong),8UL);
  __e_acsl_full_init((void *)(& int_ullong));
  {
    unsigned long __gen_e_acsl_x_12;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulonglong(& __gen_e_acsl_assert_data_12,
                                       "int_ullong",0,int_ullong);
    __gen_e_acsl_x_12 = int_ullong;
    __gen_e_acsl_assert_data_12.blocking = 1;
    __gen_e_acsl_assert_data_12.kind = "Assertion";
    __gen_e_acsl_assert_data_12.pred_txt = "\\let x = int_ullong; \\true";
    __gen_e_acsl_assert_data_12.file = "printed_data.c";
    __gen_e_acsl_assert_data_12.fct = "main";
    __gen_e_acsl_assert_data_12.line = 91;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_12);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12);
  }
  /*@ assert \let x = int_ullong; \true; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_int_mpz;
    __e_acsl_mpz_t __gen_e_acsl_;
    __e_acsl_mpz_t __gen_e_acsl__2;
    __e_acsl_mpz_t __gen_e_acsl_add;
    int __gen_e_acsl_ne;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 =
      {.values = (void *)0};
    __gmpz_init_set_ui(__gen_e_acsl_,18446744073709551615UL);
    __gmpz_init_set_si(__gen_e_acsl__2,1L);
    __gmpz_init(__gen_e_acsl_add);
    __gmpz_add(__gen_e_acsl_add,(__e_acsl_mpz_struct const *)(__gen_e_acsl_),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
    __gmpz_init_set(__gen_e_acsl_int_mpz,
                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_add));
    __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_13,"int_mpz",0,
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_int_mpz));
    __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_int_mpz),
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_));
    __gen_e_acsl_assert_data_13.blocking = 1;
    __gen_e_acsl_assert_data_13.kind = "Assertion";
    __gen_e_acsl_assert_data_13.pred_txt = "\\let int_mpz = 18446744073709551615ULL + 1;\n  int_mpz != 18446744073709551615ULL";
    __gen_e_acsl_assert_data_13.file = "printed_data.c";
    __gen_e_acsl_assert_data_13.fct = "main";
    __gen_e_acsl_assert_data_13.line = 93;
    __e_acsl_assert(__gen_e_acsl_ne != 0,& __gen_e_acsl_assert_data_13);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13);
    __gmpz_clear(__gen_e_acsl_int_mpz);
    __gmpz_clear(__gen_e_acsl_);
    __gmpz_clear(__gen_e_acsl__2);
    __gmpz_clear(__gen_e_acsl_add);
  }
  /*@
  assert
  \let int_mpz = 18446744073709551615ULL + 1;
    int_mpz != 18446744073709551615ULL;
   */
  ;
  float real_float = (float)0x1.fffffep+127;
  __e_acsl_store_block((void *)(& real_float),4UL);
  __e_acsl_full_init((void *)(& real_float));
  {
    float __gen_e_acsl_x_13;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 =
      {.values = (void *)0};
    __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_14,
                                   "real_float",real_float);
    __gen_e_acsl_x_13 = real_float;
    __gen_e_acsl_assert_data_14.blocking = 1;
    __gen_e_acsl_assert_data_14.kind = "Assertion";
    __gen_e_acsl_assert_data_14.pred_txt = "\\let x = real_float; \\true";
    __gen_e_acsl_assert_data_14.file = "printed_data.c";
    __gen_e_acsl_assert_data_14.fct = "main";
    __gen_e_acsl_assert_data_14.line = 98;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_14);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14);
  }
  /*@ assert \let x = real_float; \true; */ ;
  double real_double = 0x1.fffffffffffffp+1023;
  __e_acsl_store_block((void *)(& real_double),8UL);
  __e_acsl_full_init((void *)(& real_double));
  {
    double __gen_e_acsl_x_14;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 =
      {.values = (void *)0};
    __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_15,
                                    "real_double",real_double);
    __gen_e_acsl_x_14 = real_double;
    __gen_e_acsl_assert_data_15.blocking = 1;
    __gen_e_acsl_assert_data_15.kind = "Assertion";
    __gen_e_acsl_assert_data_15.pred_txt = "\\let x = real_double; \\true";
    __gen_e_acsl_assert_data_15.file = "printed_data.c";
    __gen_e_acsl_assert_data_15.fct = "main";
    __gen_e_acsl_assert_data_15.line = 100;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_15);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15);
  }
  /*@ assert \let x = real_double; \true; */ ;
  /*@ assert
      Eva: is_nan_or_infinite:
        \is_finite((long double)0x1.fffffffffffffffep+16383L);
  */
  long double real_ldouble = 0x1.fffffffffffffffep+16383L;
  __e_acsl_store_block((void *)(& real_ldouble),16UL);
  __e_acsl_full_init((void *)(& real_ldouble));
  {
    long double __gen_e_acsl_x_15;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 =
      {.values = (void *)0};
    /*@ assert Eva: is_nan_or_infinite: \is_finite(real_ldouble); */
    __e_acsl_assert_register_longdouble(& __gen_e_acsl_assert_data_16,
                                        "real_ldouble",real_ldouble);
    /*@ assert Eva: is_nan_or_infinite: \is_finite(real_ldouble); */
    __gen_e_acsl_x_15 = real_ldouble;
    __gen_e_acsl_assert_data_16.blocking = 1;
    __gen_e_acsl_assert_data_16.kind = "Assertion";
    __gen_e_acsl_assert_data_16.pred_txt = "\\let x = real_ldouble; \\true";
    __gen_e_acsl_assert_data_16.file = "printed_data.c";
    __gen_e_acsl_assert_data_16.fct = "main";
    __gen_e_acsl_assert_data_16.line = 102;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_16);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_16);
  }
  /*@ assert \let x = real_ldouble; \true; */ ;
  {
    __e_acsl_mpq_t __gen_e_acsl_real_mpq;
    __e_acsl_mpq_t __gen_e_acsl__3;
    __e_acsl_mpq_t __gen_e_acsl__4;
    int __gen_e_acsl_ne_2;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 =
      {.values = (void *)0};
    __gmpq_init(__gen_e_acsl__3);
    __gmpq_set_str(__gen_e_acsl__3,"01/10",10);
    __gmpq_init(__gen_e_acsl_real_mpq);
    __gmpq_set(__gen_e_acsl_real_mpq,
               (__e_acsl_mpq_struct const *)(__gen_e_acsl__3));
    __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data_17,"real_mpq",
                                 (__e_acsl_mpq_struct const *)(__gen_e_acsl_real_mpq));
    __gmpq_init(__gen_e_acsl__4);
    __gmpq_set_str(__gen_e_acsl__4,"1",10);
    __gen_e_acsl_ne_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_real_mpq),
                                   (__e_acsl_mpq_struct const *)(__gen_e_acsl__4));
    __gen_e_acsl_assert_data_17.blocking = 1;
    __gen_e_acsl_assert_data_17.kind = "Assertion";
    __gen_e_acsl_assert_data_17.pred_txt = "\\let real_mpq = 0.1; real_mpq != 1";
    __gen_e_acsl_assert_data_17.file = "printed_data.c";
    __gen_e_acsl_assert_data_17.fct = "main";
    __gen_e_acsl_assert_data_17.line = 104;
    __e_acsl_assert(__gen_e_acsl_ne_2 != 0,& __gen_e_acsl_assert_data_17);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17);
    __gmpq_clear(__gen_e_acsl_real_mpq);
    __gmpq_clear(__gen_e_acsl__3);
    __gmpq_clear(__gen_e_acsl__4);
  }
  /*@ assert \let real_mpq = 0.1; real_mpq != 1; */ ;
  void *ptr = (void *)(& lvalue);
  __e_acsl_store_block((void *)(& ptr),8UL);
  __e_acsl_full_init((void *)(& ptr));
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"ptr",ptr);
    __gen_e_acsl_assert_data_18.blocking = 1;
    __gen_e_acsl_assert_data_18.kind = "Assertion";
    __gen_e_acsl_assert_data_18.pred_txt = "ptr != (void *)0";
    __gen_e_acsl_assert_data_18.file = "printed_data.c";
    __gen_e_acsl_assert_data_18.fct = "main";
    __gen_e_acsl_assert_data_18.line = 109;
    __e_acsl_assert(ptr != (void *)0,& __gen_e_acsl_assert_data_18);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18);
  }
  /*@ assert ptr != (void *)0; */ ;
  {
    int __gen_e_acsl_ne_3;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 =
      {.values = (void *)0};
    __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"array1",
                                   (void *)(array1));
    __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"array2",
                                   (void *)(array2));
    __gen_e_acsl_ne_3 = 0;
    if (0) {
      unsigned long __gen_e_acsl_iter;
      __gen_e_acsl_iter = 0;
      while (__gen_e_acsl_iter < 4) {
        if (array1[__gen_e_acsl_iter] != array2[__gen_e_acsl_iter]) {
          __gen_e_acsl_ne_3 = 1;
          break;
        }
        __gen_e_acsl_iter ++;
      }
    }
    else __gen_e_acsl_ne_3 = 1;
    __gen_e_acsl_assert_data_19.blocking = 1;
    __gen_e_acsl_assert_data_19.kind = "Assertion";
    __gen_e_acsl_assert_data_19.pred_txt = "array1 != array2";
    __gen_e_acsl_assert_data_19.file = "printed_data.c";
    __gen_e_acsl_assert_data_19.fct = "main";
    __gen_e_acsl_assert_data_19.line = 113;
    __e_acsl_assert(__gen_e_acsl_ne_3,& __gen_e_acsl_assert_data_19);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_19);
  }
  /*@ assert array1 != array2; */ ;
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 =
      {.values = (void *)0};
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,"&f",
                                 (void *)(& f));
    __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,"&g",
                                 (void *)(& g));
    __gen_e_acsl_assert_data_20.blocking = 1;
    __gen_e_acsl_assert_data_20.kind = "Assertion";
    __gen_e_acsl_assert_data_20.pred_txt = "&f != &g";
    __gen_e_acsl_assert_data_20.file = "printed_data.c";
    __gen_e_acsl_assert_data_20.fct = "main";
    __gen_e_acsl_assert_data_20.line = 118;
    __e_acsl_assert(& f != & g,& __gen_e_acsl_assert_data_20);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20);
  }
  /*@ assert &f != &g; */ ;
  struct A struct1 = {.a = 1};
  __e_acsl_store_block((void *)(& struct1),4UL);
  __e_acsl_full_init((void *)(& struct1));
  {
    struct A __gen_e_acsl_x_16;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 =
      {.values = (void *)0};
    __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_21,"struct1");
    __gen_e_acsl_x_16 = struct1;
    __gen_e_acsl_assert_data_21.blocking = 1;
    __gen_e_acsl_assert_data_21.kind = "Assertion";
    __gen_e_acsl_assert_data_21.pred_txt = "\\let x = struct1; \\true";
    __gen_e_acsl_assert_data_21.file = "printed_data.c";
    __gen_e_acsl_assert_data_21.fct = "main";
    __gen_e_acsl_assert_data_21.line = 123;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_21);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21);
  }
  /*@ assert \let x = struct1; \true; */ ;
  union U union1 = {.b = (float)1.};
  __e_acsl_store_block((void *)(& union1),4UL);
  __e_acsl_full_init((void *)(& union1));
  {
    union U __gen_e_acsl_x_17;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 =
      {.values = (void *)0};
    __e_acsl_assert_register_union(& __gen_e_acsl_assert_data_22,"union1");
    __gen_e_acsl_x_17 = union1;
    __gen_e_acsl_assert_data_22.blocking = 1;
    __gen_e_acsl_assert_data_22.kind = "Assertion";
    __gen_e_acsl_assert_data_22.pred_txt = "\\let x = union1; \\true";
    __gen_e_acsl_assert_data_22.file = "printed_data.c";
    __gen_e_acsl_assert_data_22.fct = "main";
    __gen_e_acsl_assert_data_22.line = 128;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_22);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_22);
  }
  /*@ assert \let x = union1; \true; */ ;
  enum EBool enum_bool = (enum EBool)EBOOL_MAX;
  __e_acsl_store_block((void *)(& enum_bool),4UL);
  __e_acsl_full_init((void *)(& enum_bool));
  {
    unsigned int __gen_e_acsl_x_18;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 =
      {.values = (void *)0};
    __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_23,"enum_bool",
                                  1,enum_bool);
    __gen_e_acsl_x_18 = enum_bool;
    __gen_e_acsl_assert_data_23.blocking = 1;
    __gen_e_acsl_assert_data_23.kind = "Assertion";
    __gen_e_acsl_assert_data_23.pred_txt = "\\let x = enum_bool; \\true";
    __gen_e_acsl_assert_data_23.file = "printed_data.c";
    __gen_e_acsl_assert_data_23.fct = "main";
    __gen_e_acsl_assert_data_23.line = 133;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_23);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23);
  }
  /*@ assert \let x = enum_bool; \true; */ ;
  enum EChar enum_char = (enum EChar)ECHAR_MAX;
  __e_acsl_store_block((void *)(& enum_char),4UL);
  __e_acsl_full_init((void *)(& enum_char));
  {
    int __gen_e_acsl_x_19;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"enum_char",1,
                                 enum_char);
    __gen_e_acsl_x_19 = enum_char;
    __gen_e_acsl_assert_data_24.blocking = 1;
    __gen_e_acsl_assert_data_24.kind = "Assertion";
    __gen_e_acsl_assert_data_24.pred_txt = "\\let x = enum_char; \\true";
    __gen_e_acsl_assert_data_24.file = "printed_data.c";
    __gen_e_acsl_assert_data_24.fct = "main";
    __gen_e_acsl_assert_data_24.line = 135;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_24);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_24);
  }
  /*@ assert \let x = enum_char; \true; */ ;
  enum ESChar enum_schar = (enum ESChar)ESCHAR_MAX;
  __e_acsl_store_block((void *)(& enum_schar),4UL);
  __e_acsl_full_init((void *)(& enum_schar));
  {
    int __gen_e_acsl_x_20;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"enum_schar",
                                 1,enum_schar);
    __gen_e_acsl_x_20 = enum_schar;
    __gen_e_acsl_assert_data_25.blocking = 1;
    __gen_e_acsl_assert_data_25.kind = "Assertion";
    __gen_e_acsl_assert_data_25.pred_txt = "\\let x = enum_schar; \\true";
    __gen_e_acsl_assert_data_25.file = "printed_data.c";
    __gen_e_acsl_assert_data_25.fct = "main";
    __gen_e_acsl_assert_data_25.line = 137;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_25);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_25);
  }
  /*@ assert \let x = enum_schar; \true; */ ;
  enum EUChar enum_uchar = (enum EUChar)EUCHAR_MAX;
  __e_acsl_store_block((void *)(& enum_uchar),4UL);
  __e_acsl_full_init((void *)(& enum_uchar));
  {
    unsigned int __gen_e_acsl_x_21;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 =
      {.values = (void *)0};
    __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_26,"enum_uchar",
                                  1,enum_uchar);
    __gen_e_acsl_x_21 = enum_uchar;
    __gen_e_acsl_assert_data_26.blocking = 1;
    __gen_e_acsl_assert_data_26.kind = "Assertion";
    __gen_e_acsl_assert_data_26.pred_txt = "\\let x = enum_uchar; \\true";
    __gen_e_acsl_assert_data_26.file = "printed_data.c";
    __gen_e_acsl_assert_data_26.fct = "main";
    __gen_e_acsl_assert_data_26.line = 139;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_26);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_26);
  }
  /*@ assert \let x = enum_uchar; \true; */ ;
  enum EInt enum_int = EINT_MAX;
  __e_acsl_store_block((void *)(& enum_int),4UL);
  __e_acsl_full_init((void *)(& enum_int));
  {
    int __gen_e_acsl_x_22;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"enum_int",1,
                                 enum_int);
    __gen_e_acsl_x_22 = enum_int;
    __gen_e_acsl_assert_data_27.blocking = 1;
    __gen_e_acsl_assert_data_27.kind = "Assertion";
    __gen_e_acsl_assert_data_27.pred_txt = "\\let x = enum_int; \\true";
    __gen_e_acsl_assert_data_27.file = "printed_data.c";
    __gen_e_acsl_assert_data_27.fct = "main";
    __gen_e_acsl_assert_data_27.line = 141;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_27);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_27);
  }
  /*@ assert \let x = enum_int; \true; */ ;
  enum EUInt enum_uint = EUINT_MAX;
  __e_acsl_store_block((void *)(& enum_uint),4UL);
  __e_acsl_full_init((void *)(& enum_uint));
  {
    unsigned int __gen_e_acsl_x_23;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_28 =
      {.values = (void *)0};
    __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_28,"enum_uint",
                                  1,enum_uint);
    __gen_e_acsl_x_23 = enum_uint;
    __gen_e_acsl_assert_data_28.blocking = 1;
    __gen_e_acsl_assert_data_28.kind = "Assertion";
    __gen_e_acsl_assert_data_28.pred_txt = "\\let x = enum_uint; \\true";
    __gen_e_acsl_assert_data_28.file = "printed_data.c";
    __gen_e_acsl_assert_data_28.fct = "main";
    __gen_e_acsl_assert_data_28.line = 143;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_28);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_28);
  }
  /*@ assert \let x = enum_uint; \true; */ ;
  enum EShort enum_short = (enum EShort)ESHORT_MAX;
  __e_acsl_store_block((void *)(& enum_short),4UL);
  __e_acsl_full_init((void *)(& enum_short));
  {
    int __gen_e_acsl_x_24;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_29 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29,"enum_short",
                                 1,enum_short);
    __gen_e_acsl_x_24 = enum_short;
    __gen_e_acsl_assert_data_29.blocking = 1;
    __gen_e_acsl_assert_data_29.kind = "Assertion";
    __gen_e_acsl_assert_data_29.pred_txt = "\\let x = enum_short; \\true";
    __gen_e_acsl_assert_data_29.file = "printed_data.c";
    __gen_e_acsl_assert_data_29.fct = "main";
    __gen_e_acsl_assert_data_29.line = 145;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_29);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_29);
  }
  /*@ assert \let x = enum_short; \true; */ ;
  enum EUShort enum_ushort = (enum EUShort)EUSHORT_MAX;
  __e_acsl_store_block((void *)(& enum_ushort),4UL);
  __e_acsl_full_init((void *)(& enum_ushort));
  {
    unsigned int __gen_e_acsl_x_25;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_30 =
      {.values = (void *)0};
    __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_30,
                                  "enum_ushort",1,enum_ushort);
    __gen_e_acsl_x_25 = enum_ushort;
    __gen_e_acsl_assert_data_30.blocking = 1;
    __gen_e_acsl_assert_data_30.kind = "Assertion";
    __gen_e_acsl_assert_data_30.pred_txt = "\\let x = enum_ushort; \\true";
    __gen_e_acsl_assert_data_30.file = "printed_data.c";
    __gen_e_acsl_assert_data_30.fct = "main";
    __gen_e_acsl_assert_data_30.line = 147;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_30);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_30);
  }
  /*@ assert \let x = enum_ushort; \true; */ ;
  enum ELong enum_long = ELONG_MAX;
  __e_acsl_store_block((void *)(& enum_long),8UL);
  __e_acsl_full_init((void *)(& enum_long));
  {
    long __gen_e_acsl_x_26;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_31 =
      {.values = (void *)0};
    __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_31,"enum_long",
                                  1,enum_long);
    __gen_e_acsl_x_26 = enum_long;
    __gen_e_acsl_assert_data_31.blocking = 1;
    __gen_e_acsl_assert_data_31.kind = "Assertion";
    __gen_e_acsl_assert_data_31.pred_txt = "\\let x = enum_long; \\true";
    __gen_e_acsl_assert_data_31.file = "printed_data.c";
    __gen_e_acsl_assert_data_31.fct = "main";
    __gen_e_acsl_assert_data_31.line = 149;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_31);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_31);
  }
  /*@ assert \let x = enum_long; \true; */ ;
  enum EULong enum_ulong = EULONG_MAX;
  __e_acsl_store_block((void *)(& enum_ulong),8UL);
  __e_acsl_full_init((void *)(& enum_ulong));
  {
    unsigned long __gen_e_acsl_x_27;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_32 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_32,
                                   "enum_ulong",1,enum_ulong);
    __gen_e_acsl_x_27 = enum_ulong;
    __gen_e_acsl_assert_data_32.blocking = 1;
    __gen_e_acsl_assert_data_32.kind = "Assertion";
    __gen_e_acsl_assert_data_32.pred_txt = "\\let x = enum_ulong; \\true";
    __gen_e_acsl_assert_data_32.file = "printed_data.c";
    __gen_e_acsl_assert_data_32.fct = "main";
    __gen_e_acsl_assert_data_32.line = 151;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_32);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_32);
  }
  /*@ assert \let x = enum_ulong; \true; */ ;
  enum ELLong enum_llong = ELLONG_MAX;
  __e_acsl_store_block((void *)(& enum_llong),8UL);
  __e_acsl_full_init((void *)(& enum_llong));
  {
    long __gen_e_acsl_x_28;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_33 =
      {.values = (void *)0};
    __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_33,"enum_llong",
                                  1,enum_llong);
    __gen_e_acsl_x_28 = enum_llong;
    __gen_e_acsl_assert_data_33.blocking = 1;
    __gen_e_acsl_assert_data_33.kind = "Assertion";
    __gen_e_acsl_assert_data_33.pred_txt = "\\let x = enum_llong; \\true";
    __gen_e_acsl_assert_data_33.file = "printed_data.c";
    __gen_e_acsl_assert_data_33.fct = "main";
    __gen_e_acsl_assert_data_33.line = 153;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_33);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_33);
  }
  /*@ assert \let x = enum_llong; \true; */ ;
  enum EULLong enum_ullong = EULLONG_MAX;
  __e_acsl_store_block((void *)(& enum_ullong),8UL);
  __e_acsl_full_init((void *)(& enum_ullong));
  {
    unsigned long __gen_e_acsl_x_29;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_34 =
      {.values = (void *)0};
    __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_34,
                                   "enum_ullong",1,enum_ullong);
    __gen_e_acsl_x_29 = enum_ullong;
    __gen_e_acsl_assert_data_34.blocking = 1;
    __gen_e_acsl_assert_data_34.kind = "Assertion";
    __gen_e_acsl_assert_data_34.pred_txt = "\\let x = enum_ullong; \\true";
    __gen_e_acsl_assert_data_34.file = "printed_data.c";
    __gen_e_acsl_assert_data_34.fct = "main";
    __gen_e_acsl_assert_data_34.line = 155;
    __e_acsl_assert(1,& __gen_e_acsl_assert_data_34);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_34);
  }
  /*@ assert \let x = enum_ullong; \true; */ ;
  int a = 2;
  int b = 3;
  {
    long __gen_e_acsl_c;
    int __gen_e_acsl_and;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_35 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"a",0,a);
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"b",0,b);
    __gen_e_acsl_c = a + (long)b;
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"a",0,a);
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"b",0,b);
    if (a != b) {
      __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_35,"c",0,
                                    __gen_e_acsl_c);
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"a",0,a);
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"b",0,b);
      __gen_e_acsl_and = __gen_e_acsl_c == a + (long)b;
    }
    else __gen_e_acsl_and = 0;
    __gen_e_acsl_assert_data_35.blocking = 1;
    __gen_e_acsl_assert_data_35.kind = "Assertion";
    __gen_e_acsl_assert_data_35.pred_txt = "\\let c = a + b; a != b && c == a + b";
    __gen_e_acsl_assert_data_35.file = "printed_data.c";
    __gen_e_acsl_assert_data_35.fct = "main";
    __gen_e_acsl_assert_data_35.line = 161;
    __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_35);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_35);
  }
  /*@ assert \let c = a + b; a != b && c == a + b; */ ;
  __retres = 0;
  __e_acsl_delete_block((void *)(& enum_ullong));
  __e_acsl_delete_block((void *)(& enum_llong));
  __e_acsl_delete_block((void *)(& enum_ulong));
  __e_acsl_delete_block((void *)(& enum_long));
  __e_acsl_delete_block((void *)(& enum_ushort));
  __e_acsl_delete_block((void *)(& enum_short));
  __e_acsl_delete_block((void *)(& enum_uint));
  __e_acsl_delete_block((void *)(& enum_int));
  __e_acsl_delete_block((void *)(& enum_uchar));
  __e_acsl_delete_block((void *)(& enum_schar));
  __e_acsl_delete_block((void *)(& enum_char));
  __e_acsl_delete_block((void *)(& enum_bool));
  __e_acsl_delete_block((void *)(& union1));
  __e_acsl_delete_block((void *)(& struct1));
  __e_acsl_delete_block((void *)(& ptr));
  __e_acsl_delete_block((void *)(& real_ldouble));
  __e_acsl_delete_block((void *)(& real_double));
  __e_acsl_delete_block((void *)(& real_float));
  __e_acsl_delete_block((void *)(& int_ullong));
  __e_acsl_delete_block((void *)(& int_llong));
  __e_acsl_delete_block((void *)(& int_ulong));
  __e_acsl_delete_block((void *)(& int_long));
  __e_acsl_delete_block((void *)(& int_ushort));
  __e_acsl_delete_block((void *)(& int_short));
  __e_acsl_delete_block((void *)(& int_uint));
  __e_acsl_delete_block((void *)(& int_int));
  __e_acsl_delete_block((void *)(& int_uchar));
  __e_acsl_delete_block((void *)(& int_schar));
  __e_acsl_delete_block((void *)(& int_char));
  __e_acsl_delete_block((void *)(& int_bool));
  __e_acsl_globals_clean();
  __e_acsl_memory_clean();
  return __retres;
}


