/* 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 = 0;
  int y = 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);
    __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"y",0,y);
    __gen_e_acsl_assert_data.blocking = 1;
    __gen_e_acsl_assert_data.kind = "Assertion";
    __gen_e_acsl_assert_data.pred_txt = "x < y";
    __gen_e_acsl_assert_data.file = "nested_code_annot.i";
    __gen_e_acsl_assert_data.fct = "main";
    __gen_e_acsl_assert_data.line = 7;
    __e_acsl_assert(x < y,& __gen_e_acsl_assert_data);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data);
  }
  /*@ assert x < y; */ ;
  {
    {
      __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 = "Precondition";
      __gen_e_acsl_assert_data_2.pred_txt = "x == 0";
      __gen_e_acsl_assert_data_2.file = "nested_code_annot.i";
      __gen_e_acsl_assert_data_2.fct = "main";
      __gen_e_acsl_assert_data_2.line = 8;
      __e_acsl_assert(x == 0,& __gen_e_acsl_assert_data_2);
      __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2);
    }
    /*@ requires x == 0;
        ensures x >= 1; */
    if (x) {
      {
        __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 =
          {.values = (void *)0};
        __gen_e_acsl_assert_data_3.blocking = 1;
        __gen_e_acsl_assert_data_3.kind = "Assertion";
        __gen_e_acsl_assert_data_3.pred_txt = "\\false";
        __gen_e_acsl_assert_data_3.file = "nested_code_annot.i";
        __gen_e_acsl_assert_data_3.fct = "main";
        __gen_e_acsl_assert_data_3.line = 12;
        __e_acsl_assert(0,& __gen_e_acsl_assert_data_3);
      }
      /*@ assert \false; */ ;
    }
    else {
      {
        {
          __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);
          __gen_e_acsl_assert_data_4.blocking = 1;
          __gen_e_acsl_assert_data_4.kind = "Precondition";
          __gen_e_acsl_assert_data_4.pred_txt = "x == 0";
          __gen_e_acsl_assert_data_4.file = "nested_code_annot.i";
          __gen_e_acsl_assert_data_4.fct = "main";
          __gen_e_acsl_assert_data_4.line = 14;
          __e_acsl_assert(x == 0,& __gen_e_acsl_assert_data_4);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4);
        }
        /*@ requires x == 0;
            ensures x == 1; */
        x ++;
        __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 = "Postcondition";
        __gen_e_acsl_assert_data_5.pred_txt = "x == 1";
        __gen_e_acsl_assert_data_5.file = "nested_code_annot.i";
        __gen_e_acsl_assert_data_5.fct = "main";
        __gen_e_acsl_assert_data_5.line = 15;
        __e_acsl_assert(x == 1,& __gen_e_acsl_assert_data_5);
        __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5);
      }
      if (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 == 1";
            __gen_e_acsl_assert_data_6.file = "nested_code_annot.i";
            __gen_e_acsl_assert_data_6.fct = "main";
            __gen_e_acsl_assert_data_6.line = 18;
            __e_acsl_assert(x == 1,& __gen_e_acsl_assert_data_6);
            __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6);
          }
          /*@ requires x == 1;
              ensures x == 2; */
          x ++;
          __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);
          __gen_e_acsl_assert_data_7.blocking = 1;
          __gen_e_acsl_assert_data_7.kind = "Postcondition";
          __gen_e_acsl_assert_data_7.pred_txt = "x == 2";
          __gen_e_acsl_assert_data_7.file = "nested_code_annot.i";
          __gen_e_acsl_assert_data_7.fct = "main";
          __gen_e_acsl_assert_data_7.line = 19;
          __e_acsl_assert(x == 2,& __gen_e_acsl_assert_data_7);
          __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7);
        }
      }
      else {
        {
          __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 =
            {.values = (void *)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 = "\\false";
          __gen_e_acsl_assert_data_8.file = "nested_code_annot.i";
          __gen_e_acsl_assert_data_8.fct = "main";
          __gen_e_acsl_assert_data_8.line = 21;
          __e_acsl_assert(0,& __gen_e_acsl_assert_data_8);
        }
        /*@ assert \false; */ ;
      }
    }
    __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);
    __gen_e_acsl_assert_data_9.blocking = 1;
    __gen_e_acsl_assert_data_9.kind = "Postcondition";
    __gen_e_acsl_assert_data_9.pred_txt = "x >= 1";
    __gen_e_acsl_assert_data_9.file = "nested_code_annot.i";
    __gen_e_acsl_assert_data_9.fct = "main";
    __gen_e_acsl_assert_data_9.line = 9;
    __e_acsl_assert(x >= 1,& __gen_e_acsl_assert_data_9);
    __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9);
  }
  __retres = 0;
  __e_acsl_memory_clean();
  return __retres;
}


