/* 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)
{
  __e_acsl_contract_t *__gen_e_acsl_contract_3;
  __e_acsl_contract_t *__gen_e_acsl_contract_2;
  __e_acsl_contract_t *__gen_e_acsl_contract;
  int __retres;
  int z;
  __e_acsl_memory_init((int *)0,(char ***)0,8UL);
  int x = 0;
  int y = 2;
  {
    /*@ ensures x == 1; */
    x = 1;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x);
    __gen_e_acsl_assert_data.blocking = 1;
    __gen_e_acsl_assert_data.kind = "Postcondition";
    __gen_e_acsl_assert_data.pred_txt = "x == 1";
    __gen_e_acsl_assert_data.file = "stmt_contract.i";
    __gen_e_acsl_assert_data.fct = "main";
    __gen_e_acsl_assert_data.line = 8;
    __e_acsl_assert(x == 1,& __gen_e_acsl_assert_data);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
  }
  {
    int __gen_e_acsl_and;
    /*@ ensures x == 2;
        ensures y == 2;
        ensures x == 2 && y == 2; */
    x = 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);
    __gen_e_acsl_assert_data_2.blocking = 1;
    __gen_e_acsl_assert_data_2.kind = "Postcondition";
    __gen_e_acsl_assert_data_2.pred_txt = "x == 2";
    __gen_e_acsl_assert_data_2.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_2.fct = "main";
    __gen_e_acsl_assert_data_2.line = 11;
    __e_acsl_assert(x == 2,& __gen_e_acsl_assert_data_2);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"y",0,y);
    __gen_e_acsl_assert_data_3.blocking = 1;
    __gen_e_acsl_assert_data_3.kind = "Postcondition";
    __gen_e_acsl_assert_data_3.pred_txt = "y == 2";
    __gen_e_acsl_assert_data_3.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_3.fct = "main";
    __gen_e_acsl_assert_data_3.line = 12;
    __e_acsl_assert(y == 2,& __gen_e_acsl_assert_data_3);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_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);
    if (x == 2) {
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"y",0,y);
      __gen_e_acsl_and = y == 2;
    }
    else __gen_e_acsl_and = 0;
    __gen_e_acsl_assert_data_4.blocking = 1;
    __gen_e_acsl_assert_data_4.kind = "Postcondition";
    __gen_e_acsl_assert_data_4.pred_txt = "x == 2 && y == 2";
    __gen_e_acsl_assert_data_4.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_4.fct = "main";
    __gen_e_acsl_assert_data_4.line = 13;
    __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_4);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_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);
    __gen_e_acsl_assert_data_5.blocking = 1;
    __gen_e_acsl_assert_data_5.kind = "Precondition";
    __gen_e_acsl_assert_data_5.pred_txt = "x == 2";
    __gen_e_acsl_assert_data_5.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_5.fct = "main";
    __gen_e_acsl_assert_data_5.line = 17;
    __e_acsl_assert(x == 2,& __gen_e_acsl_assert_data_5);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
  }
  /*@ requires x == 2; */
  x ++;
  {
    __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);
    __gen_e_acsl_assert_data_6.blocking = 1;
    __gen_e_acsl_assert_data_6.kind = "Precondition";
    __gen_e_acsl_assert_data_6.pred_txt = "x == 3";
    __gen_e_acsl_assert_data_6.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_6.fct = "main";
    __gen_e_acsl_assert_data_6.line = 20;
    __e_acsl_assert(x == 3,& __gen_e_acsl_assert_data_6);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_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,"y",0,y);
    __gen_e_acsl_assert_data_7.blocking = 1;
    __gen_e_acsl_assert_data_7.kind = "Precondition";
    __gen_e_acsl_assert_data_7.pred_txt = "y == 2";
    __gen_e_acsl_assert_data_7.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_7.fct = "main";
    __gen_e_acsl_assert_data_7.line = 21;
    __e_acsl_assert(y == 2,& __gen_e_acsl_assert_data_7);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
  }
  /*@ requires x == 3;
      requires y == 2; */
  x += y;
  {
    int __gen_e_acsl_assumes_value_2;
    {
      int __gen_e_acsl_assumes_value;
      __gen_e_acsl_contract = __e_acsl_contract_init(2UL);
      __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,0UL,1);
      __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,1UL,1);
      __gen_e_acsl_assumes_value = __e_acsl_contract_get_behavior_assumes
      ((__e_acsl_contract_t const *)__gen_e_acsl_contract,0UL);
      if (__gen_e_acsl_assumes_value) {
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
          {.values = (void *)0};
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x);
        __gen_e_acsl_assert_data_8.blocking = 1;
        __gen_e_acsl_assert_data_8.kind = "Precondition";
        __gen_e_acsl_assert_data_8.pred_txt = "x == 5";
        __gen_e_acsl_assert_data_8.file = "stmt_contract.i";
        __gen_e_acsl_assert_data_8.fct = "main";
        __gen_e_acsl_assert_data_8.line = 25;
        __gen_e_acsl_assert_data_8.name = "b1";
        __e_acsl_assert(x == 5,& __gen_e_acsl_assert_data_8);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8);
      }
      __gen_e_acsl_assumes_value = __e_acsl_contract_get_behavior_assumes
      ((__e_acsl_contract_t const *)__gen_e_acsl_contract,1UL);
      if (__gen_e_acsl_assumes_value) {
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 =
          {.values = (void *)0};
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"x",0,x);
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"y",0,y);
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 =
          {.values = (void *)0};
        __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"y",0,y);
        __gen_e_acsl_assert_data_10.blocking = 1;
        __gen_e_acsl_assert_data_10.kind = "Precondition";
        __gen_e_acsl_assert_data_10.pred_txt = "y == 2";
        __gen_e_acsl_assert_data_10.file = "stmt_contract.i";
        __gen_e_acsl_assert_data_10.fct = "main";
        __gen_e_acsl_assert_data_10.line = 29;
        __gen_e_acsl_assert_data_10.name = "b2";
        __e_acsl_assert(y == 2,& __gen_e_acsl_assert_data_10);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10);
        __gen_e_acsl_assert_data_9.blocking = 1;
        __gen_e_acsl_assert_data_9.kind = "Precondition";
        __gen_e_acsl_assert_data_9.pred_txt = "x == 3 + y";
        __gen_e_acsl_assert_data_9.file = "stmt_contract.i";
        __gen_e_acsl_assert_data_9.fct = "main";
        __gen_e_acsl_assert_data_9.line = 28;
        __gen_e_acsl_assert_data_9.name = "b2";
        __e_acsl_assert((long)x == 3L + y,& __gen_e_acsl_assert_data_9);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
      }
    }
    /*@ behavior b1:
          requires x == 5;
          ensures x == 3;
        
        behavior b2:
          requires x == 3 + y;
          requires y == 2;
          ensures x == y + 1;
    */
    x = 3;
    __gen_e_acsl_assumes_value_2 = __e_acsl_contract_get_behavior_assumes
    ((__e_acsl_contract_t const *)__gen_e_acsl_contract,0UL);
    if (__gen_e_acsl_assumes_value_2) {
      __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);
      __gen_e_acsl_assert_data_11.blocking = 1;
      __gen_e_acsl_assert_data_11.kind = "Postcondition";
      __gen_e_acsl_assert_data_11.pred_txt = "x == 3";
      __gen_e_acsl_assert_data_11.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_11.fct = "main";
      __gen_e_acsl_assert_data_11.line = 26;
      __gen_e_acsl_assert_data_11.name = "b1";
      __e_acsl_assert(x == 3,& __gen_e_acsl_assert_data_11);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11);
    }
    __gen_e_acsl_assumes_value_2 = __e_acsl_contract_get_behavior_assumes
    ((__e_acsl_contract_t const *)__gen_e_acsl_contract,1UL);
    if (__gen_e_acsl_assumes_value_2) {
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"x",0,x);
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"y",0,y);
      __gen_e_acsl_assert_data_12.blocking = 1;
      __gen_e_acsl_assert_data_12.kind = "Postcondition";
      __gen_e_acsl_assert_data_12.pred_txt = "x == y + 1";
      __gen_e_acsl_assert_data_12.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_12.fct = "main";
      __gen_e_acsl_assert_data_12.line = 30;
      __gen_e_acsl_assert_data_12.name = "b2";
      __e_acsl_assert((long)x == y + 1L,& __gen_e_acsl_assert_data_12);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12);
    }
    __e_acsl_contract_clean(__gen_e_acsl_contract);
  }
  {
    int __gen_e_acsl_and_2;
    int __gen_e_acsl_assumes_value_3;
    __gen_e_acsl_contract_2 = __e_acsl_contract_init(2UL);
    __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract_2,0UL,
                                           x == 1);
    if (x == 3) __gen_e_acsl_and_2 = y == 2; else __gen_e_acsl_and_2 = 0;
    __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract_2,1UL,
                                           __gen_e_acsl_and_2);
    __gen_e_acsl_assumes_value_3 = __e_acsl_contract_get_behavior_assumes
    ((__e_acsl_contract_t const *)__gen_e_acsl_contract_2,0UL);
    if (__gen_e_acsl_assumes_value_3) {
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"x",0,x);
      __gen_e_acsl_assert_data_13.blocking = 1;
      __gen_e_acsl_assert_data_13.kind = "Precondition";
      __gen_e_acsl_assert_data_13.pred_txt = "x == 0";
      __gen_e_acsl_assert_data_13.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_13.fct = "main";
      __gen_e_acsl_assert_data_13.line = 35;
      __gen_e_acsl_assert_data_13.name = "b1";
      __e_acsl_assert(x == 0,& __gen_e_acsl_assert_data_13);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13);
    }
    __gen_e_acsl_assumes_value_3 = __e_acsl_contract_get_behavior_assumes
    ((__e_acsl_contract_t const *)__gen_e_acsl_contract_2,1UL);
    if (__gen_e_acsl_assumes_value_3) {
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"x",0,x);
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"x",0,x);
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"y",0,y);
      __gen_e_acsl_assert_data_15.blocking = 1;
      __gen_e_acsl_assert_data_15.kind = "Precondition";
      __gen_e_acsl_assert_data_15.pred_txt = "x + y == 5";
      __gen_e_acsl_assert_data_15.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_15.fct = "main";
      __gen_e_acsl_assert_data_15.line = 40;
      __gen_e_acsl_assert_data_15.name = "b2";
      __e_acsl_assert(x + (long)y == 5L,& __gen_e_acsl_assert_data_15);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15);
      __gen_e_acsl_assert_data_14.blocking = 1;
      __gen_e_acsl_assert_data_14.kind = "Precondition";
      __gen_e_acsl_assert_data_14.pred_txt = "x == 3";
      __gen_e_acsl_assert_data_14.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_14.fct = "main";
      __gen_e_acsl_assert_data_14.line = 39;
      __gen_e_acsl_assert_data_14.name = "b2";
      __e_acsl_assert(x == 3,& __gen_e_acsl_assert_data_14);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14);
    }
  }
  /*@ behavior b1:
        assumes x == 1;
        requires x == 0;
      
      behavior b2:
        assumes x == 3;
        assumes y == 2;
        requires x == 3;
        requires x + y == 5;
  */
  x += y;
  __e_acsl_contract_clean(__gen_e_acsl_contract_2);
  {
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"x",0,x);
    __gen_e_acsl_assert_data_16.blocking = 1;
    __gen_e_acsl_assert_data_16.kind = "Precondition";
    __gen_e_acsl_assert_data_16.pred_txt = "x == 5";
    __gen_e_acsl_assert_data_16.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_16.fct = "main";
    __gen_e_acsl_assert_data_16.line = 43;
    __e_acsl_assert(x == 5,& __gen_e_acsl_assert_data_16);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_16);
  }
  /*@ requires x == 5; */
  {
    {
      __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,"y",0,y);
      __gen_e_acsl_assert_data_17.blocking = 1;
      __gen_e_acsl_assert_data_17.kind = "Precondition";
      __gen_e_acsl_assert_data_17.pred_txt = "y == 2";
      __gen_e_acsl_assert_data_17.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_17.fct = "main";
      __gen_e_acsl_assert_data_17.line = 44;
      __e_acsl_assert(y == 2,& __gen_e_acsl_assert_data_17);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17);
    }
    /*@ requires y == 2; */
    x += y;
  }
  {
    int __gen_e_acsl_assumes_value_4;
    {
      int __gen_e_acsl_active_bhvrs;
      __gen_e_acsl_contract_3 = __e_acsl_contract_init(2UL);
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"x",0,x);
      __gen_e_acsl_assert_data_18.blocking = 1;
      __gen_e_acsl_assert_data_18.kind = "Precondition";
      __gen_e_acsl_assert_data_18.pred_txt = "x > -1000";
      __gen_e_acsl_assert_data_18.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_18.fct = "main";
      __gen_e_acsl_assert_data_18.line = 49;
      __e_acsl_assert(x > -1000,& __gen_e_acsl_assert_data_18);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18);
      __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract_3,0UL,
                                             x >= 0);
      __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract_3,1UL,
                                             x < 0);
      __gen_e_acsl_active_bhvrs = __e_acsl_contract_partial_count_all_behaviors
      ((__e_acsl_contract_t const *)__gen_e_acsl_contract_3);
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,
                                   "number of active behaviors",0,
                                   __gen_e_acsl_active_bhvrs);
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,
                                   "number of active behaviors",0,
                                   __gen_e_acsl_active_bhvrs);
      if (__gen_e_acsl_active_bhvrs != 1) {
        __gen_e_acsl_assert_data_19.blocking = 1;
        __gen_e_acsl_assert_data_19.kind = "Precondition";
        __gen_e_acsl_assert_data_19.pred_txt = "all behaviors complete";
        __gen_e_acsl_assert_data_19.file = "stmt_contract.i";
        __gen_e_acsl_assert_data_19.fct = "main";
        __gen_e_acsl_assert_data_19.line = 64;
        __e_acsl_assert(__gen_e_acsl_active_bhvrs >= 1,
                        & __gen_e_acsl_assert_data_19);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_19);
        __gen_e_acsl_assert_data_20.blocking = 1;
        __gen_e_acsl_assert_data_20.kind = "Precondition";
        __gen_e_acsl_assert_data_20.pred_txt = "all behaviors disjoint";
        __gen_e_acsl_assert_data_20.file = "stmt_contract.i";
        __gen_e_acsl_assert_data_20.fct = "main";
        __gen_e_acsl_assert_data_20.line = 64;
        __e_acsl_assert(__gen_e_acsl_active_bhvrs <= 1,
                        & __gen_e_acsl_assert_data_20);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20);
      }
    }
    /*@ requires x > -1000;
        ensures z >= 0;
        assigns x;
        
        behavior pos:
          assumes x >= 0;
          ensures z == x;
        
        behavior neg:
          assumes x < 0;
          ensures z == -x;
        
        complete behaviors neg, pos;
        disjoint behaviors neg, pos;
    */
    if (x < 0) z = - x; else z = x;
    __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 =
      {.values = (void *)0};
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21,"z",0,z);
    __gen_e_acsl_assert_data_21.blocking = 1;
    __gen_e_acsl_assert_data_21.kind = "Postcondition";
    __gen_e_acsl_assert_data_21.pred_txt = "z >= 0";
    __gen_e_acsl_assert_data_21.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_21.fct = "main";
    __gen_e_acsl_assert_data_21.line = 51;
    __e_acsl_assert(z >= 0,& __gen_e_acsl_assert_data_21);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21);
    __gen_e_acsl_assumes_value_4 = __e_acsl_contract_get_behavior_assumes
    ((__e_acsl_contract_t const *)__gen_e_acsl_contract_3,0UL);
    if (__gen_e_acsl_assumes_value_4) {
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"z",0,z);
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"x",0,x);
      __gen_e_acsl_assert_data_22.blocking = 1;
      __gen_e_acsl_assert_data_22.kind = "Postcondition";
      __gen_e_acsl_assert_data_22.pred_txt = "z == x";
      __gen_e_acsl_assert_data_22.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_22.fct = "main";
      __gen_e_acsl_assert_data_22.line = 55;
      __gen_e_acsl_assert_data_22.name = "pos";
      __e_acsl_assert(z == x,& __gen_e_acsl_assert_data_22);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_22);
    }
    __gen_e_acsl_assumes_value_4 = __e_acsl_contract_get_behavior_assumes
    ((__e_acsl_contract_t const *)__gen_e_acsl_contract_3,1UL);
    if (__gen_e_acsl_assumes_value_4) {
      __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 =
        {.values = (void *)0};
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"z",0,z);
      __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"x",0,x);
      __gen_e_acsl_assert_data_23.blocking = 1;
      __gen_e_acsl_assert_data_23.kind = "Postcondition";
      __gen_e_acsl_assert_data_23.pred_txt = "z == -x";
      __gen_e_acsl_assert_data_23.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_23.fct = "main";
      __gen_e_acsl_assert_data_23.line = 59;
      __gen_e_acsl_assert_data_23.name = "neg";
      __e_acsl_assert((long)z == - ((long)x),& __gen_e_acsl_assert_data_23);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23);
    }
    __e_acsl_contract_clean(__gen_e_acsl_contract_3);
  }
  {
    {
      __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,"x",0,x);
      __gen_e_acsl_assert_data_24.blocking = 1;
      __gen_e_acsl_assert_data_24.kind = "Precondition";
      __gen_e_acsl_assert_data_24.pred_txt = "x == 7";
      __gen_e_acsl_assert_data_24.file = "stmt_contract.i";
      __gen_e_acsl_assert_data_24.fct = "main";
      __gen_e_acsl_assert_data_24.line = 70;
      __e_acsl_assert(x == 7,& __gen_e_acsl_assert_data_24);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_24);
    }
    /*@ requires x == 7;
        ensures x == 7; */
    {
      __retres = 0;
      goto return_label;
    }
    __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,"x",0,x);
    __gen_e_acsl_assert_data_25.blocking = 1;
    __gen_e_acsl_assert_data_25.kind = "Postcondition";
    __gen_e_acsl_assert_data_25.pred_txt = "x == 7";
    __gen_e_acsl_assert_data_25.file = "stmt_contract.i";
    __gen_e_acsl_assert_data_25.fct = "main";
    __gen_e_acsl_assert_data_25.line = 71;
    __e_acsl_assert(x == 7,& __gen_e_acsl_assert_data_25);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_25);
  }
  return_label: {
                  __e_acsl_memory_clean();
                  return __retres;
                }
}


