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

int main(void)
{
  int __retres;
  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
  int x = -3;
  int y = 2;
  long z = 2L;
  {
    __e_acsl_mpz_t __gen_e_acsl_;
    __e_acsl_mpz_t __gen_e_acsl_neg;
    __e_acsl_mpz_t __gen_e_acsl_x;
    int __gen_e_acsl_eq;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl_,3L);
    __gmpz_init(__gen_e_acsl_neg);
    __gmpz_neg(__gen_e_acsl_neg,(__e_acsl_mpz_struct const *)(__gen_e_acsl_));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x,(long)x);
    __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg),
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_x));
    __gen_e_acsl_assert_data.blocking = 1;
    __gen_e_acsl_assert_data.kind = "Assertion";
    __gen_e_acsl_assert_data.pred_txt = "-3 == x";
    __gen_e_acsl_assert_data.file = "arith.i";
    __gen_e_acsl_assert_data.fct = "main";
    __gen_e_acsl_assert_data.line = 10;
    __e_acsl_assert(__gen_e_acsl_eq == 0,& __gen_e_acsl_assert_data);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
    __gmpz_clear(__gen_e_acsl_);
    __gmpz_clear(__gen_e_acsl_neg);
    __gmpz_clear(__gen_e_acsl_x);
  }
  /*@ assert -3 == x; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_2;
    __e_acsl_mpz_t __gen_e_acsl__2;
    __e_acsl_mpz_t __gen_e_acsl_neg_2;
    int __gen_e_acsl_eq_2;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x);
    __gmpz_init_set_si(__gen_e_acsl__2,3L);
    __gmpz_init(__gen_e_acsl_neg_2);
    __gmpz_neg(__gen_e_acsl_neg_2,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__2));
    __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_2));
    __gen_e_acsl_assert_data_2.blocking = 1;
    __gen_e_acsl_assert_data_2.kind = "Assertion";
    __gen_e_acsl_assert_data_2.pred_txt = "x == -3";
    __gen_e_acsl_assert_data_2.file = "arith.i";
    __gen_e_acsl_assert_data_2.fct = "main";
    __gen_e_acsl_assert_data_2.line = 11;
    __e_acsl_assert(__gen_e_acsl_eq_2 == 0,& __gen_e_acsl_assert_data_2);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
    __gmpz_clear(__gen_e_acsl_x_2);
    __gmpz_clear(__gen_e_acsl__2);
    __gmpz_clear(__gen_e_acsl_neg_2);
  }
  /*@ assert x == -3; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__3;
    __e_acsl_mpz_t __gen_e_acsl_bnot;
    int __gen_e_acsl_ne;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__3,0L);
    __gmpz_init(__gen_e_acsl_bnot);
    __gmpz_com(__gen_e_acsl_bnot,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__3));
    __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__3),
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_bnot));
    __gen_e_acsl_assert_data_3.blocking = 1;
    __gen_e_acsl_assert_data_3.kind = "Assertion";
    __gen_e_acsl_assert_data_3.pred_txt = "0 != ~0";
    __gen_e_acsl_assert_data_3.file = "arith.i";
    __gen_e_acsl_assert_data_3.fct = "main";
    __gen_e_acsl_assert_data_3.line = 12;
    __e_acsl_assert(__gen_e_acsl_ne != 0,& __gen_e_acsl_assert_data_3);
    __gmpz_clear(__gen_e_acsl__3);
    __gmpz_clear(__gen_e_acsl_bnot);
  }
  /*@ assert 0 != ~0; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_3;
    __e_acsl_mpz_t __gen_e_acsl__4;
    __e_acsl_mpz_t __gen_e_acsl_add;
    __e_acsl_mpz_t __gen_e_acsl__5;
    __e_acsl_mpz_t __gen_e_acsl_neg_3;
    int __gen_e_acsl_eq_3;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_3,(long)x);
    __gmpz_init_set_si(__gen_e_acsl__4,1L);
    __gmpz_init(__gen_e_acsl_add);
    __gmpz_add(__gen_e_acsl_add,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__4));
    __gmpz_init_set_si(__gen_e_acsl__5,2L);
    __gmpz_init(__gen_e_acsl_neg_3);
    __gmpz_neg(__gen_e_acsl_neg_3,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__5));
    __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_3));
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Assertion";
    __gen_e_acsl_assert_data_4.pred_txt = "x + 1 == -2";
    __gen_e_acsl_assert_data_4.file = "arith.i";
    __gen_e_acsl_assert_data_4.fct = "main";
    __gen_e_acsl_assert_data_4.line = 14;
    __e_acsl_assert(__gen_e_acsl_eq_3 == 0,& __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
    __gmpz_clear(__gen_e_acsl_x_3);
    __gmpz_clear(__gen_e_acsl__4);
    __gmpz_clear(__gen_e_acsl_add);
    __gmpz_clear(__gen_e_acsl__5);
    __gmpz_clear(__gen_e_acsl_neg_3);
  }
  /*@ assert x + 1 == -2; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_4;
    __e_acsl_mpz_t __gen_e_acsl__6;
    __e_acsl_mpz_t __gen_e_acsl_sub;
    __e_acsl_mpz_t __gen_e_acsl__7;
    __e_acsl_mpz_t __gen_e_acsl_neg_4;
    int __gen_e_acsl_eq_4;
    __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,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_4,(long)x);
    __gmpz_init_set_si(__gen_e_acsl__6,1L);
    __gmpz_init(__gen_e_acsl_sub);
    __gmpz_sub(__gen_e_acsl_sub,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_4),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__6));
    __gmpz_init_set_si(__gen_e_acsl__7,4L);
    __gmpz_init(__gen_e_acsl_neg_4);
    __gmpz_neg(__gen_e_acsl_neg_4,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__7));
    __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_4));
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Assertion";
    __gen_e_acsl_assert_data_5.pred_txt = "x - 1 == -4";
    __gen_e_acsl_assert_data_5.file = "arith.i";
    __gen_e_acsl_assert_data_5.fct = "main";
    __gen_e_acsl_assert_data_5.line = 15;
    __e_acsl_assert(__gen_e_acsl_eq_4 == 0,& __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
    __gmpz_clear(__gen_e_acsl_x_4);
    __gmpz_clear(__gen_e_acsl__6);
    __gmpz_clear(__gen_e_acsl_sub);
    __gmpz_clear(__gen_e_acsl__7);
    __gmpz_clear(__gen_e_acsl_neg_4);
  }
  /*@ assert x - 1 == -4; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_5;
    __e_acsl_mpz_t __gen_e_acsl__8;
    __e_acsl_mpz_t __gen_e_acsl_mul;
    __e_acsl_mpz_t __gen_e_acsl__9;
    __e_acsl_mpz_t __gen_e_acsl_neg_5;
    int __gen_e_acsl_eq_5;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_5,(long)x);
    __gmpz_init_set_si(__gen_e_acsl__8,3L);
    __gmpz_init(__gen_e_acsl_mul);
    __gmpz_mul(__gen_e_acsl_mul,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_5),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__8));
    __gmpz_init_set_si(__gen_e_acsl__9,9L);
    __gmpz_init(__gen_e_acsl_neg_5);
    __gmpz_neg(__gen_e_acsl_neg_5,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__9));
    __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_5));
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Assertion";
    __gen_e_acsl_assert_data_6.pred_txt = "x * 3 == -9";
    __gen_e_acsl_assert_data_6.file = "arith.i";
    __gen_e_acsl_assert_data_6.fct = "main";
    __gen_e_acsl_assert_data_6.line = 16;
    __e_acsl_assert(__gen_e_acsl_eq_5 == 0,& __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
    __gmpz_clear(__gen_e_acsl_x_5);
    __gmpz_clear(__gen_e_acsl__8);
    __gmpz_clear(__gen_e_acsl_mul);
    __gmpz_clear(__gen_e_acsl__9);
    __gmpz_clear(__gen_e_acsl_neg_5);
  }
  /*@ assert x * 3 == -9; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_6;
    __e_acsl_mpz_t __gen_e_acsl__10;
    __e_acsl_mpz_t __gen_e_acsl__11;
    int __gen_e_acsl_div_guard;
    __e_acsl_mpz_t __gen_e_acsl_div;
    __e_acsl_mpz_t __gen_e_acsl__12;
    __e_acsl_mpz_t __gen_e_acsl_neg_6;
    int __gen_e_acsl_eq_6;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_6,(long)x);
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__10,3L);
    __gmpz_init_set_si(__gen_e_acsl__11,0L);
    __gen_e_acsl_div_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__10),
                                        (__e_acsl_mpz_struct const *)(__gen_e_acsl__11));
    __gmpz_init(__gen_e_acsl_div);
    /*@ assert E_ACSL: 3 != 0; */
    {
      __gen_e_acsl_assert_data_8.blocking = 1;
      __gen_e_acsl_assert_data_8.kind = "Assertion";
      __gen_e_acsl_assert_data_8.pred_txt = "3 != 0";
      __gen_e_acsl_assert_data_8.file = "arith.i";
      __gen_e_acsl_assert_data_8.fct = "main";
      __gen_e_acsl_assert_data_8.line = 17;
      __e_acsl_assert(__gen_e_acsl_div_guard != 0,
                      & __gen_e_acsl_assert_data_8);
    }
    __gmpz_tdiv_q(__gen_e_acsl_div,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__10));
    __gmpz_init_set_si(__gen_e_acsl__12,1L);
    __gmpz_init(__gen_e_acsl_neg_6);
    __gmpz_neg(__gen_e_acsl_neg_6,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__12));
    __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_6));
    __gen_e_acsl_assert_data_7.blocking = 1;
    __gen_e_acsl_assert_data_7.kind = "Assertion";
    __gen_e_acsl_assert_data_7.pred_txt = "x / 3 == -1";
    __gen_e_acsl_assert_data_7.file = "arith.i";
    __gen_e_acsl_assert_data_7.fct = "main";
    __gen_e_acsl_assert_data_7.line = 17;
    __e_acsl_assert(__gen_e_acsl_eq_6 == 0,& __gen_e_acsl_assert_data_7);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
    __gmpz_clear(__gen_e_acsl_x_6);
    __gmpz_clear(__gen_e_acsl__10);
    __gmpz_clear(__gen_e_acsl__11);
    __gmpz_clear(__gen_e_acsl_div);
    __gmpz_clear(__gen_e_acsl__12);
    __gmpz_clear(__gen_e_acsl_neg_6);
  }
  /*@ assert x / 3 == -1; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__13;
    __e_acsl_mpz_t __gen_e_acsl__14;
    int __gen_e_acsl_div_guard_2;
    __e_acsl_mpz_t __gen_e_acsl_div_2;
    __e_acsl_mpz_t __gen_e_acsl__15;
    int __gen_e_acsl_eq_7;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
      {.values = (void *)0};
    __gmpz_init_set_str(__gen_e_acsl__13,"309485009821345068724781055",10);
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__14,0L);
    __gen_e_acsl_div_guard_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__13),
                                          (__e_acsl_mpz_struct const *)(__gen_e_acsl__14));
    __gmpz_init(__gen_e_acsl_div_2);
    /*@ assert E_ACSL: 0xffffffffffffffffffffff != 0; */
    {
      __gen_e_acsl_assert_data_10.blocking = 1;
      __gen_e_acsl_assert_data_10.kind = "Assertion";
      __gen_e_acsl_assert_data_10.pred_txt = "0xffffffffffffffffffffff != 0";
      __gen_e_acsl_assert_data_10.file = "arith.i";
      __gen_e_acsl_assert_data_10.fct = "main";
      __gen_e_acsl_assert_data_10.line = 18;
      __e_acsl_assert(__gen_e_acsl_div_guard_2 != 0,
                      & __gen_e_acsl_assert_data_10);
    }
    __gmpz_tdiv_q(__gen_e_acsl_div_2,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__13),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__13));
    __gmpz_init_set_si(__gen_e_acsl__15,1L);
    __gen_e_acsl_eq_7 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_2),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__15));
    __gen_e_acsl_assert_data_9.blocking = 1;
    __gen_e_acsl_assert_data_9.kind = "Assertion";
    __gen_e_acsl_assert_data_9.pred_txt = "0xffffffffffffffffffffff / 0xffffffffffffffffffffff == 1";
    __gen_e_acsl_assert_data_9.file = "arith.i";
    __gen_e_acsl_assert_data_9.fct = "main";
    __gen_e_acsl_assert_data_9.line = 18;
    __e_acsl_assert(__gen_e_acsl_eq_7 == 0,& __gen_e_acsl_assert_data_9);
    __gmpz_clear(__gen_e_acsl__13);
    __gmpz_clear(__gen_e_acsl__14);
    __gmpz_clear(__gen_e_acsl_div_2);
    __gmpz_clear(__gen_e_acsl__15);
  }
  /*@ assert 0xffffffffffffffffffffff / 0xffffffffffffffffffffff == 1; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_7;
    __e_acsl_mpz_t __gen_e_acsl__16;
    __e_acsl_mpz_t __gen_e_acsl__17;
    int __gen_e_acsl_mod_guard;
    __e_acsl_mpz_t __gen_e_acsl_mod;
    __e_acsl_mpz_t __gen_e_acsl__18;
    __e_acsl_mpz_t __gen_e_acsl_neg_7;
    int __gen_e_acsl_eq_8;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_7,(long)x);
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__16,2L);
    __gmpz_init_set_si(__gen_e_acsl__17,0L);
    __gen_e_acsl_mod_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__16),
                                        (__e_acsl_mpz_struct const *)(__gen_e_acsl__17));
    __gmpz_init(__gen_e_acsl_mod);
    /*@ assert E_ACSL: 2 != 0; */
    {
      __gen_e_acsl_assert_data_12.blocking = 1;
      __gen_e_acsl_assert_data_12.kind = "Assertion";
      __gen_e_acsl_assert_data_12.pred_txt = "2 != 0";
      __gen_e_acsl_assert_data_12.file = "arith.i";
      __gen_e_acsl_assert_data_12.fct = "main";
      __gen_e_acsl_assert_data_12.line = 19;
      __e_acsl_assert(__gen_e_acsl_mod_guard != 0,
                      & __gen_e_acsl_assert_data_12);
    }
    __gmpz_tdiv_r(__gen_e_acsl_mod,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_7),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__16));
    __gmpz_init_set_si(__gen_e_acsl__18,1L);
    __gmpz_init(__gen_e_acsl_neg_7);
    __gmpz_neg(__gen_e_acsl_neg_7,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__18));
    __gen_e_acsl_eq_8 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_7));
    __gen_e_acsl_assert_data_11.blocking = 1;
    __gen_e_acsl_assert_data_11.kind = "Assertion";
    __gen_e_acsl_assert_data_11.pred_txt = "x % 2 == -1";
    __gen_e_acsl_assert_data_11.file = "arith.i";
    __gen_e_acsl_assert_data_11.fct = "main";
    __gen_e_acsl_assert_data_11.line = 19;
    __e_acsl_assert(__gen_e_acsl_eq_8 == 0,& __gen_e_acsl_assert_data_11);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
    __gmpz_clear(__gen_e_acsl_x_7);
    __gmpz_clear(__gen_e_acsl__16);
    __gmpz_clear(__gen_e_acsl__17);
    __gmpz_clear(__gen_e_acsl_mod);
    __gmpz_clear(__gen_e_acsl__18);
    __gmpz_clear(__gen_e_acsl_neg_7);
  }
  /*@ assert x % 2 == -1; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__19;
    __e_acsl_mpz_t __gen_e_acsl_neg_8;
    __e_acsl_mpz_t __gen_e_acsl__20;
    __e_acsl_mpz_t __gen_e_acsl_neg_9;
    __e_acsl_mpz_t __gen_e_acsl__21;
    int __gen_e_acsl_mod_guard_2;
    __e_acsl_mpz_t __gen_e_acsl_mod_2;
    __e_acsl_mpz_t __gen_e_acsl__22;
    __e_acsl_mpz_t __gen_e_acsl_neg_10;
    int __gen_e_acsl_eq_9;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__19,3L);
    __gmpz_init(__gen_e_acsl_neg_8);
    __gmpz_neg(__gen_e_acsl_neg_8,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__19));
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__20,2L);
    __gmpz_init(__gen_e_acsl_neg_9);
    __gmpz_neg(__gen_e_acsl_neg_9,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__20));
    __gmpz_init_set_si(__gen_e_acsl__21,0L);
    __gen_e_acsl_mod_guard_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_9),
                                          (__e_acsl_mpz_struct const *)(__gen_e_acsl__21));
    __gmpz_init(__gen_e_acsl_mod_2);
    /*@ assert E_ACSL: -2 != 0; */
    {
      __gen_e_acsl_assert_data_14.blocking = 1;
      __gen_e_acsl_assert_data_14.kind = "Assertion";
      __gen_e_acsl_assert_data_14.pred_txt = "-2 != 0";
      __gen_e_acsl_assert_data_14.file = "arith.i";
      __gen_e_acsl_assert_data_14.fct = "main";
      __gen_e_acsl_assert_data_14.line = 20;
      __e_acsl_assert(__gen_e_acsl_mod_guard_2 != 0,
                      & __gen_e_acsl_assert_data_14);
    }
    __gmpz_tdiv_r(__gen_e_acsl_mod_2,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_8),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_9));
    __gmpz_init_set_si(__gen_e_acsl__22,1L);
    __gmpz_init(__gen_e_acsl_neg_10);
    __gmpz_neg(__gen_e_acsl_neg_10,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__22));
    __gen_e_acsl_eq_9 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod_2),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_10));
    __gen_e_acsl_assert_data_13.blocking = 1;
    __gen_e_acsl_assert_data_13.kind = "Assertion";
    __gen_e_acsl_assert_data_13.pred_txt = "-3 % -2 == -1";
    __gen_e_acsl_assert_data_13.file = "arith.i";
    __gen_e_acsl_assert_data_13.fct = "main";
    __gen_e_acsl_assert_data_13.line = 20;
    __e_acsl_assert(__gen_e_acsl_eq_9 == 0,& __gen_e_acsl_assert_data_13);
    __gmpz_clear(__gen_e_acsl__19);
    __gmpz_clear(__gen_e_acsl_neg_8);
    __gmpz_clear(__gen_e_acsl__20);
    __gmpz_clear(__gen_e_acsl_neg_9);
    __gmpz_clear(__gen_e_acsl__21);
    __gmpz_clear(__gen_e_acsl_mod_2);
    __gmpz_clear(__gen_e_acsl__22);
    __gmpz_clear(__gen_e_acsl_neg_10);
  }
  /*@ assert -3 % -2 == -1; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__23;
    __e_acsl_mpz_t __gen_e_acsl__24;
    __e_acsl_mpz_t __gen_e_acsl_neg_11;
    __e_acsl_mpz_t __gen_e_acsl__25;
    int __gen_e_acsl_mod_guard_3;
    __e_acsl_mpz_t __gen_e_acsl_mod_3;
    __e_acsl_mpz_t __gen_e_acsl__26;
    int __gen_e_acsl_eq_10;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__23,3L);
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__24,2L);
    __gmpz_init(__gen_e_acsl_neg_11);
    __gmpz_neg(__gen_e_acsl_neg_11,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__24));
    __gmpz_init_set_si(__gen_e_acsl__25,0L);
    __gen_e_acsl_mod_guard_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_11),
                                          (__e_acsl_mpz_struct const *)(__gen_e_acsl__25));
    __gmpz_init(__gen_e_acsl_mod_3);
    /*@ assert E_ACSL: -2 != 0; */
    {
      __gen_e_acsl_assert_data_16.blocking = 1;
      __gen_e_acsl_assert_data_16.kind = "Assertion";
      __gen_e_acsl_assert_data_16.pred_txt = "-2 != 0";
      __gen_e_acsl_assert_data_16.file = "arith.i";
      __gen_e_acsl_assert_data_16.fct = "main";
      __gen_e_acsl_assert_data_16.line = 21;
      __e_acsl_assert(__gen_e_acsl_mod_guard_3 != 0,
                      & __gen_e_acsl_assert_data_16);
    }
    __gmpz_tdiv_r(__gen_e_acsl_mod_3,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__23),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_11));
    __gmpz_init_set_si(__gen_e_acsl__26,1L);
    __gen_e_acsl_eq_10 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod_3),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__26));
    __gen_e_acsl_assert_data_15.blocking = 1;
    __gen_e_acsl_assert_data_15.kind = "Assertion";
    __gen_e_acsl_assert_data_15.pred_txt = "3 % -2 == 1";
    __gen_e_acsl_assert_data_15.file = "arith.i";
    __gen_e_acsl_assert_data_15.fct = "main";
    __gen_e_acsl_assert_data_15.line = 21;
    __e_acsl_assert(__gen_e_acsl_eq_10 == 0,& __gen_e_acsl_assert_data_15);
    __gmpz_clear(__gen_e_acsl__23);
    __gmpz_clear(__gen_e_acsl__24);
    __gmpz_clear(__gen_e_acsl_neg_11);
    __gmpz_clear(__gen_e_acsl__25);
    __gmpz_clear(__gen_e_acsl_mod_3);
    __gmpz_clear(__gen_e_acsl__26);
  }
  /*@ assert 3 % -2 == 1; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl_x_8;
    __e_acsl_mpz_t __gen_e_acsl__27;
    __e_acsl_mpz_t __gen_e_acsl_mul_2;
    __e_acsl_mpz_t __gen_e_acsl__28;
    __e_acsl_mpz_t __gen_e_acsl_y;
    __e_acsl_mpz_t __gen_e_acsl_add_2;
    __e_acsl_mpz_t __gen_e_acsl_add_3;
    __e_acsl_mpz_t __gen_e_acsl__29;
    __e_acsl_mpz_t __gen_e_acsl_sub_2;
    __e_acsl_mpz_t __gen_e_acsl_sub_3;
    __e_acsl_mpz_t __gen_e_acsl_add_4;
    __e_acsl_mpz_t __gen_e_acsl__30;
    __e_acsl_mpz_t __gen_e_acsl_neg_12;
    int __gen_e_acsl_eq_11;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_8,(long)x);
    __gmpz_init_set_si(__gen_e_acsl__27,2L);
    __gmpz_init(__gen_e_acsl_mul_2);
    __gmpz_mul(__gen_e_acsl_mul_2,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_8),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__27));
    __gmpz_init_set_si(__gen_e_acsl__28,3L);
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"y",0,y);
    __gmpz_init_set_si(__gen_e_acsl_y,(long)y);
    __gmpz_init(__gen_e_acsl_add_2);
    __gmpz_add(__gen_e_acsl_add_2,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__28),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_y));
    __gmpz_init(__gen_e_acsl_add_3);
    __gmpz_add(__gen_e_acsl_add_3,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2));
    __gmpz_init_set_si(__gen_e_acsl__29,4L);
    __gmpz_init(__gen_e_acsl_sub_2);
    __gmpz_sub(__gen_e_acsl_sub_2,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__29));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"x",0,x);
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"y",0,y);
    __gmpz_init(__gen_e_acsl_sub_3);
    __gmpz_sub(__gen_e_acsl_sub_3,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_8),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_y));
    __gmpz_init(__gen_e_acsl_add_4);
    __gmpz_add(__gen_e_acsl_add_4,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_2),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_3));
    __gmpz_init_set_si(__gen_e_acsl__30,10L);
    __gmpz_init(__gen_e_acsl_neg_12);
    __gmpz_neg(__gen_e_acsl_neg_12,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__30));
    __gen_e_acsl_eq_11 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_4),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_12));
    __gen_e_acsl_assert_data_17.blocking = 1;
    __gen_e_acsl_assert_data_17.kind = "Assertion";
    __gen_e_acsl_assert_data_17.pred_txt = "((x * 2 + (3 + y)) - 4) + (x - y) == -10";
    __gen_e_acsl_assert_data_17.file = "arith.i";
    __gen_e_acsl_assert_data_17.fct = "main";
    __gen_e_acsl_assert_data_17.line = 23;
    __e_acsl_assert(__gen_e_acsl_eq_11 == 0,& __gen_e_acsl_assert_data_17);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17);
    __gmpz_clear(__gen_e_acsl_x_8);
    __gmpz_clear(__gen_e_acsl__27);
    __gmpz_clear(__gen_e_acsl_mul_2);
    __gmpz_clear(__gen_e_acsl__28);
    __gmpz_clear(__gen_e_acsl_y);
    __gmpz_clear(__gen_e_acsl_add_2);
    __gmpz_clear(__gen_e_acsl_add_3);
    __gmpz_clear(__gen_e_acsl__29);
    __gmpz_clear(__gen_e_acsl_sub_2);
    __gmpz_clear(__gen_e_acsl_sub_3);
    __gmpz_clear(__gen_e_acsl_add_4);
    __gmpz_clear(__gen_e_acsl__30);
    __gmpz_clear(__gen_e_acsl_neg_12);
  }
  /*@ assert ((x * 2 + (3 + y)) - 4) + (x - y) == -10; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__31;
    __e_acsl_mpz_t __gen_e_acsl__32;
    int __gen_e_acsl_eq_12;
    __e_acsl_mpz_t __gen_e_acsl__33;
    int __gen_e_acsl_eq_13;
    __e_acsl_mpz_t __gen_e_acsl__34;
    int __gen_e_acsl_not;
    __e_acsl_mpz_t __gen_e_acsl__35;
    int __gen_e_acsl_eq_14;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__31,0L);
    __gmpz_init_set_si(__gen_e_acsl__32,1L);
    __gen_e_acsl_eq_12 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__31),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__32));
    __gmpz_init_set_si(__gen_e_acsl__33,(long)(__gen_e_acsl_eq_12 == 0));
    __gen_e_acsl_eq_13 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__31),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__31));
    __gmpz_init_set_si(__gen_e_acsl__34,(long)(__gen_e_acsl_eq_13 == 0));
    __gen_e_acsl_not = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__34),
                                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__31));
    __gmpz_init_set_si(__gen_e_acsl__35,(long)(__gen_e_acsl_not == 0));
    __gen_e_acsl_eq_14 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__33),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__35));
    __gen_e_acsl_assert_data_18.blocking = 1;
    __gen_e_acsl_assert_data_18.kind = "Assertion";
    __gen_e_acsl_assert_data_18.pred_txt = "(0 == 1) == !(0 == 0)";
    __gen_e_acsl_assert_data_18.file = "arith.i";
    __gen_e_acsl_assert_data_18.fct = "main";
    __gen_e_acsl_assert_data_18.line = 25;
    __e_acsl_assert(__gen_e_acsl_eq_14 == 0,& __gen_e_acsl_assert_data_18);
    __gmpz_clear(__gen_e_acsl__31);
    __gmpz_clear(__gen_e_acsl__32);
    __gmpz_clear(__gen_e_acsl__33);
    __gmpz_clear(__gen_e_acsl__34);
    __gmpz_clear(__gen_e_acsl__35);
  }
  /*@ assert (0 == 1) == !(0 == 0); */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__36;
    __e_acsl_mpz_t __gen_e_acsl__37;
    __e_acsl_mpz_t __gen_e_acsl_neg_13;
    int __gen_e_acsl_le;
    __e_acsl_mpz_t __gen_e_acsl__38;
    int __gen_e_acsl_gt;
    __e_acsl_mpz_t __gen_e_acsl__39;
    int __gen_e_acsl_eq_15;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__36,0L);
    __gmpz_init_set_si(__gen_e_acsl__37,1L);
    __gmpz_init(__gen_e_acsl_neg_13);
    __gmpz_neg(__gen_e_acsl_neg_13,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__37));
    __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__36),
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_13));
    __gmpz_init_set_si(__gen_e_acsl__38,(long)(__gen_e_acsl_le <= 0));
    __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__36),
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl__36));
    __gmpz_init_set_si(__gen_e_acsl__39,(long)(__gen_e_acsl_gt > 0));
    __gen_e_acsl_eq_15 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__38),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__39));
    __gen_e_acsl_assert_data_19.blocking = 1;
    __gen_e_acsl_assert_data_19.kind = "Assertion";
    __gen_e_acsl_assert_data_19.pred_txt = "(0 <= -1) == (0 > 0)";
    __gen_e_acsl_assert_data_19.file = "arith.i";
    __gen_e_acsl_assert_data_19.fct = "main";
    __gen_e_acsl_assert_data_19.line = 26;
    __e_acsl_assert(__gen_e_acsl_eq_15 == 0,& __gen_e_acsl_assert_data_19);
    __gmpz_clear(__gen_e_acsl__36);
    __gmpz_clear(__gen_e_acsl__37);
    __gmpz_clear(__gen_e_acsl_neg_13);
    __gmpz_clear(__gen_e_acsl__38);
    __gmpz_clear(__gen_e_acsl__39);
  }
  /*@ assert (0 <= -1) == (0 > 0); */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__40;
    __e_acsl_mpz_t __gen_e_acsl__41;
    __e_acsl_mpz_t __gen_e_acsl_neg_14;
    int __gen_e_acsl_ge;
    __e_acsl_mpz_t __gen_e_acsl__42;
    int __gen_e_acsl_le_2;
    __e_acsl_mpz_t __gen_e_acsl__43;
    int __gen_e_acsl_eq_16;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__40,0L);
    __gmpz_init_set_si(__gen_e_acsl__41,1L);
    __gmpz_init(__gen_e_acsl_neg_14);
    __gmpz_neg(__gen_e_acsl_neg_14,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__41));
    __gen_e_acsl_ge = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__40),
                                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_14));
    __gmpz_init_set_si(__gen_e_acsl__42,(long)(__gen_e_acsl_ge >= 0));
    __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__40),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__40));
    __gmpz_init_set_si(__gen_e_acsl__43,(long)(__gen_e_acsl_le_2 <= 0));
    __gen_e_acsl_eq_16 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__42),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__43));
    __gen_e_acsl_assert_data_20.blocking = 1;
    __gen_e_acsl_assert_data_20.kind = "Assertion";
    __gen_e_acsl_assert_data_20.pred_txt = "(0 >= -1) == (0 <= 0)";
    __gen_e_acsl_assert_data_20.file = "arith.i";
    __gen_e_acsl_assert_data_20.fct = "main";
    __gen_e_acsl_assert_data_20.line = 27;
    __e_acsl_assert(__gen_e_acsl_eq_16 == 0,& __gen_e_acsl_assert_data_20);
    __gmpz_clear(__gen_e_acsl__40);
    __gmpz_clear(__gen_e_acsl__41);
    __gmpz_clear(__gen_e_acsl_neg_14);
    __gmpz_clear(__gen_e_acsl__42);
    __gmpz_clear(__gen_e_acsl__43);
  }
  /*@ assert (0 >= -1) == (0 <= 0); */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__44;
    __e_acsl_mpz_t __gen_e_acsl__45;
    int __gen_e_acsl_ne_2;
    __e_acsl_mpz_t __gen_e_acsl__46;
    int __gen_e_acsl_ne_3;
    __e_acsl_mpz_t __gen_e_acsl__47;
    int __gen_e_acsl_not_2;
    __e_acsl_mpz_t __gen_e_acsl__48;
    int __gen_e_acsl_eq_17;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__44,0L);
    __gmpz_init_set_si(__gen_e_acsl__45,1L);
    __gen_e_acsl_ne_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__44),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__45));
    __gmpz_init_set_si(__gen_e_acsl__46,(long)(__gen_e_acsl_ne_2 != 0));
    __gen_e_acsl_ne_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__44),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__44));
    __gmpz_init_set_si(__gen_e_acsl__47,(long)(__gen_e_acsl_ne_3 != 0));
    __gen_e_acsl_not_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__47),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__44));
    __gmpz_init_set_si(__gen_e_acsl__48,(long)(__gen_e_acsl_not_2 == 0));
    __gen_e_acsl_eq_17 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__46),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__48));
    __gen_e_acsl_assert_data_21.blocking = 1;
    __gen_e_acsl_assert_data_21.kind = "Assertion";
    __gen_e_acsl_assert_data_21.pred_txt = "(0 != 1) == !(0 != 0)";
    __gen_e_acsl_assert_data_21.file = "arith.i";
    __gen_e_acsl_assert_data_21.fct = "main";
    __gen_e_acsl_assert_data_21.line = 28;
    __e_acsl_assert(__gen_e_acsl_eq_17 == 0,& __gen_e_acsl_assert_data_21);
    __gmpz_clear(__gen_e_acsl__44);
    __gmpz_clear(__gen_e_acsl__45);
    __gmpz_clear(__gen_e_acsl__46);
    __gmpz_clear(__gen_e_acsl__47);
    __gmpz_clear(__gen_e_acsl__48);
  }
  /*@ assert (0 != 1) == !(0 != 0); */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__49;
    int __gen_e_acsl_ne_4;
    __e_acsl_mpz_t __gen_e_acsl__50;
    __e_acsl_mpz_t __gen_e_acsl__51;
    int __gen_e_acsl_ne_5;
    __e_acsl_mpz_t __gen_e_acsl__52;
    int __gen_e_acsl_not_3;
    __e_acsl_mpz_t __gen_e_acsl__53;
    int __gen_e_acsl_eq_18;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__49,0L);
    __gen_e_acsl_ne_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__49),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__49));
    __gmpz_init_set_si(__gen_e_acsl__50,(long)(__gen_e_acsl_ne_4 != 0));
    __gmpz_init_set_si(__gen_e_acsl__51,1L);
    __gen_e_acsl_ne_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__51),
                                   (__e_acsl_mpz_struct const *)(__gen_e_acsl__49));
    __gmpz_init_set_si(__gen_e_acsl__52,(long)(__gen_e_acsl_ne_5 != 0));
    __gen_e_acsl_not_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__52),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__49));
    __gmpz_init_set_si(__gen_e_acsl__53,(long)(__gen_e_acsl_not_3 == 0));
    __gen_e_acsl_eq_18 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__50),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__53));
    __gen_e_acsl_assert_data_22.blocking = 1;
    __gen_e_acsl_assert_data_22.kind = "Assertion";
    __gen_e_acsl_assert_data_22.pred_txt = "(0 != 0) == !(1 != 0)";
    __gen_e_acsl_assert_data_22.file = "arith.i";
    __gen_e_acsl_assert_data_22.fct = "main";
    __gen_e_acsl_assert_data_22.line = 30;
    __e_acsl_assert(__gen_e_acsl_eq_18 == 0,& __gen_e_acsl_assert_data_22);
    __gmpz_clear(__gen_e_acsl__49);
    __gmpz_clear(__gen_e_acsl__50);
    __gmpz_clear(__gen_e_acsl__51);
    __gmpz_clear(__gen_e_acsl__52);
    __gmpz_clear(__gen_e_acsl__53);
  }
  /*@ assert (0 != 0) == !(1 != 0); */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__54;
    __e_acsl_mpz_t __gen_e_acsl_y_2;
    __e_acsl_mpz_t __gen_e_acsl__55;
    int __gen_e_acsl_div_guard_3;
    __e_acsl_mpz_t __gen_e_acsl_div_3;
    __e_acsl_mpz_t __gen_e_acsl__56;
    int __gen_e_acsl_eq_19;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__54,4L);
    __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,"y",0,y);
    __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y);
    __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_23,
                                & __gen_e_acsl_assert_data_24);
    __gmpz_init_set_si(__gen_e_acsl__55,0L);
    __gen_e_acsl_div_guard_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2),
                                          (__e_acsl_mpz_struct const *)(__gen_e_acsl__55));
    __gmpz_init(__gen_e_acsl_div_3);
    /*@ assert E_ACSL: y != 0; */
    {
      __gen_e_acsl_assert_data_24.blocking = 1;
      __gen_e_acsl_assert_data_24.kind = "Assertion";
      __gen_e_acsl_assert_data_24.pred_txt = "y != 0";
      __gen_e_acsl_assert_data_24.file = "arith.i";
      __gen_e_acsl_assert_data_24.fct = "main";
      __gen_e_acsl_assert_data_24.line = 31;
      __e_acsl_assert(__gen_e_acsl_div_guard_3 != 0,
                      & __gen_e_acsl_assert_data_24);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_24);
    }
    __gmpz_tdiv_q(__gen_e_acsl_div_3,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl__54),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2));
    __gmpz_init_set_si(__gen_e_acsl__56,2L);
    __gen_e_acsl_eq_19 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_3),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__56));
    __gen_e_acsl_assert_data_23.blocking = 1;
    __gen_e_acsl_assert_data_23.kind = "Assertion";
    __gen_e_acsl_assert_data_23.pred_txt = "4 / y == 2";
    __gen_e_acsl_assert_data_23.file = "arith.i";
    __gen_e_acsl_assert_data_23.fct = "main";
    __gen_e_acsl_assert_data_23.line = 31;
    __e_acsl_assert(__gen_e_acsl_eq_19 == 0,& __gen_e_acsl_assert_data_23);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23);
    __gmpz_clear(__gen_e_acsl__54);
    __gmpz_clear(__gen_e_acsl_y_2);
    __gmpz_clear(__gen_e_acsl__55);
    __gmpz_clear(__gen_e_acsl_div_3);
    __gmpz_clear(__gen_e_acsl__56);
  }
  /*@ assert 4 / y == 2; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__57;
    __e_acsl_mpz_t __gen_e_acsl_z;
    __e_acsl_mpz_t __gen_e_acsl_add_5;
    __e_acsl_mpz_t __gen_e_acsl_y_3;
    __e_acsl_mpz_t __gen_e_acsl__58;
    __e_acsl_mpz_t __gen_e_acsl_sub_4;
    __e_acsl_mpz_t __gen_e_acsl__59;
    int __gen_e_acsl_div_guard_4;
    __e_acsl_mpz_t __gen_e_acsl_div_4;
    __e_acsl_mpz_t __gen_e_acsl_add_6;
    int __gen_e_acsl_eq_20;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__57,1L);
    __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_25,"z",0,z);
    __gmpz_init_set_si(__gen_e_acsl_z,z);
    __gmpz_init(__gen_e_acsl_add_5);
    __gmpz_add(__gen_e_acsl_add_5,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_z),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__57));
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"y",0,y);
    __gmpz_init_set_si(__gen_e_acsl_y_3,(long)y);
    __gmpz_init_set_ui(__gen_e_acsl__58,123456789123456789UL);
    __gmpz_init(__gen_e_acsl_sub_4);
    __gmpz_sub(__gen_e_acsl_sub_4,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_3),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__58));
    __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_25,
                                & __gen_e_acsl_assert_data_26);
    __gmpz_init_set_si(__gen_e_acsl__59,0L);
    __gen_e_acsl_div_guard_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_4),
                                          (__e_acsl_mpz_struct const *)(__gen_e_acsl__59));
    __gmpz_init(__gen_e_acsl_div_4);
    /*@ assert E_ACSL: y - 123456789123456789 != 0; */
    {
      __gen_e_acsl_assert_data_26.blocking = 1;
      __gen_e_acsl_assert_data_26.kind = "Assertion";
      __gen_e_acsl_assert_data_26.pred_txt = "y - 123456789123456789 != 0";
      __gen_e_acsl_assert_data_26.file = "arith.i";
      __gen_e_acsl_assert_data_26.fct = "main";
      __gen_e_acsl_assert_data_26.line = 34;
      __e_acsl_assert(__gen_e_acsl_div_guard_4 != 0,
                      & __gen_e_acsl_assert_data_26);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_26);
    }
    __gmpz_tdiv_q(__gen_e_acsl_div_4,
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_5),
                  (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_4));
    __gmpz_init(__gen_e_acsl_add_6);
    __gmpz_add(__gen_e_acsl_add_6,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__57),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_div_4));
    __gen_e_acsl_eq_20 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_6),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl__57));
    __gen_e_acsl_assert_data_25.blocking = 1;
    __gen_e_acsl_assert_data_25.kind = "Assertion";
    __gen_e_acsl_assert_data_25.pred_txt = "1 + (z + 1) / (y - 123456789123456789) == 1";
    __gen_e_acsl_assert_data_25.file = "arith.i";
    __gen_e_acsl_assert_data_25.fct = "main";
    __gen_e_acsl_assert_data_25.line = 34;
    __e_acsl_assert(__gen_e_acsl_eq_20 == 0,& __gen_e_acsl_assert_data_25);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_25);
    __gmpz_clear(__gen_e_acsl__57);
    __gmpz_clear(__gen_e_acsl_z);
    __gmpz_clear(__gen_e_acsl_add_5);
    __gmpz_clear(__gen_e_acsl_y_3);
    __gmpz_clear(__gen_e_acsl__58);
    __gmpz_clear(__gen_e_acsl_sub_4);
    __gmpz_clear(__gen_e_acsl__59);
    __gmpz_clear(__gen_e_acsl_div_4);
    __gmpz_clear(__gen_e_acsl_add_6);
  }
  /*@ assert 1 + (z + 1) / (y - 123456789123456789) == 1; */ ;
  {
    __e_acsl_mpz_t __gen_e_acsl__60;
    __e_acsl_mpz_t __gen_e_acsl_x_9;
    __e_acsl_mpz_t __gen_e_acsl_sub_5;
    __e_acsl_mpz_t __gen_e_acsl_neg_15;
    __e_acsl_mpz_t __gen_e_acsl_add_7;
    int __gen_e_acsl_eq_21;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 =
      {.values = (void *)0};
    __gmpz_init_set_si(__gen_e_acsl__60,1L);
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"x",0,x);
    __gmpz_init_set_si(__gen_e_acsl_x_9,(long)x);
    __gmpz_init(__gen_e_acsl_sub_5);
    __gmpz_sub(__gen_e_acsl_sub_5,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__60),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_9));
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"x",0,x);
    __gmpz_init(__gen_e_acsl_neg_15);
    __gmpz_neg(__gen_e_acsl_neg_15,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_9));
    __gmpz_init(__gen_e_acsl_add_7);
    __gmpz_add(__gen_e_acsl_add_7,
               (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_15),
               (__e_acsl_mpz_struct const *)(__gen_e_acsl__60));
    __gen_e_acsl_eq_21 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_5),
                                    (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_7));
    __gen_e_acsl_assert_data_27.blocking = 1;
    __gen_e_acsl_assert_data_27.kind = "Assertion";
    __gen_e_acsl_assert_data_27.pred_txt = "1 - x == -x + 1";
    __gen_e_acsl_assert_data_27.file = "arith.i";
    __gen_e_acsl_assert_data_27.fct = "main";
    __gen_e_acsl_assert_data_27.line = 36;
    __e_acsl_assert(__gen_e_acsl_eq_21 == 0,& __gen_e_acsl_assert_data_27);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_27);
    __gmpz_clear(__gen_e_acsl__60);
    __gmpz_clear(__gen_e_acsl_x_9);
    __gmpz_clear(__gen_e_acsl_sub_5);
    __gmpz_clear(__gen_e_acsl_neg_15);
    __gmpz_clear(__gen_e_acsl_add_7);
  }
  /*@ assert 1 - x == -x + 1; */ ;
  short a = (short)1;
  short b = (short)1;
  {
    __e_acsl_mpz_t __gen_e_acsl_a;
    __e_acsl_mpz_t __gen_e_acsl_b;
    __e_acsl_mpq_t __gen_e_acsl__61;
    __e_acsl_mpq_t __gen_e_acsl__62;
    __e_acsl_mpq_t __gen_e_acsl_add_8;
    __e_acsl_mpq_t __gen_e_acsl__63;
    __e_acsl_mpq_t __gen_e_acsl__64;
    __e_acsl_mpq_t __gen_e_acsl_sub_6;
    int __gen_e_acsl_gt_2;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_28 =
      {.values = (void *)0};
    __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_28,"a",0,a);
    __gmpz_init_set_si(__gen_e_acsl_a,(long)a);
    __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_28,"b",0,b);
    __gmpz_init_set_si(__gen_e_acsl_b,(long)b);
    __gmpq_init(__gen_e_acsl__61);
    __gmpq_set_z(__gen_e_acsl__61,
                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_a));
    __gmpq_init(__gen_e_acsl__62);
    __gmpq_set_z(__gen_e_acsl__62,
                 (__e_acsl_mpz_struct const *)(__gen_e_acsl_b));
    __gmpq_init(__gen_e_acsl_add_8);
    __gmpq_add(__gen_e_acsl_add_8,
               (__e_acsl_mpq_struct const *)(__gen_e_acsl__61),
               (__e_acsl_mpq_struct const *)(__gen_e_acsl__62));
    __gmpq_init(__gen_e_acsl__63);
    __gmpq_set_d(__gen_e_acsl__63,2.);
    __gmpq_init(__gen_e_acsl__64);
    __gmpq_set_d(__gen_e_acsl__64,1.);
    __gmpq_init(__gen_e_acsl_sub_6);
    __gmpq_sub(__gen_e_acsl_sub_6,
               (__e_acsl_mpq_struct const *)(__gen_e_acsl__63),
               (__e_acsl_mpq_struct const *)(__gen_e_acsl__64));
    __gen_e_acsl_gt_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_add_8),
                                   (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub_6));
    __gen_e_acsl_assert_data_28.blocking = 1;
    __gen_e_acsl_assert_data_28.kind = "Assertion";
    __gen_e_acsl_assert_data_28.pred_txt = "a + b > 2. - 1.";
    __gen_e_acsl_assert_data_28.file = "arith.i";
    __gen_e_acsl_assert_data_28.fct = "main";
    __gen_e_acsl_assert_data_28.line = 39;
    __e_acsl_assert(__gen_e_acsl_gt_2 > 0,& __gen_e_acsl_assert_data_28);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_28);
    __gmpz_clear(__gen_e_acsl_a);
    __gmpz_clear(__gen_e_acsl_b);
    __gmpq_clear(__gen_e_acsl__61);
    __gmpq_clear(__gen_e_acsl__62);
    __gmpq_clear(__gen_e_acsl_add_8);
    __gmpq_clear(__gen_e_acsl__63);
    __gmpq_clear(__gen_e_acsl__64);
    __gmpq_clear(__gen_e_acsl_sub_6);
  }
  /*@ assert a + b > 2. - 1.; */ ;
  __retres = 0;
  __e_acsl_memory_clean();
  return __retres;
}


