/* Generated by CIL v. 1.3.5 */
/* print_CIL_Input is false */

#define CCURED_SPLIT_ARGUMENTS
// #define CCURED_ALLOW_PARTIAL_ELEMENTS_IN_SEQUENCE
// #define CCURED_LOG_NON_POINTERS
#define CCURED_USE_STRINGS
// #define CCURED_FAIL_IS_TERSE
// #define CCURED_ALWAYS_STOP_ON_ERROR
// Include the definition of the checkers
#define CCURED
#define CCURED_POST
#include "ccuredcheck.h"
struct printf_arguments {
   int i ;
   double d ;
   char * __ROSTRING  s ;
   long long ll ;
};
struct foo {
   int *f1 ;
   int f2 ;
};
struct meta_fseqp_int {
   void *_e ;
}   ;
struct fseqp_int {
   int * __FSEQ  _p ;
   struct meta_fseqp_int _ms ;
}   ;
typedef struct fseqp_int fseqp_int;
struct bar {
   fseqp_int f1 ;
   int *f2 ;
};
extern void __ccuredInit(void) ;
extern  __attribute__((__noreturn__)) void abort_deepcopy(char *errmsg ) ;
struct meta_fseqp_void {
   void *_e ;
}   ;
struct meta_fseqp_s_foo {
   void *_e ;
}   ;
int main_f(struct bar * __FSEQ  p , void *p_e ) ;
int main_f(struct bar * __FSEQ  p , void *p_e ) 
{ struct foo * __FSEQ  q ;
  struct foo * __FSEQ  tmp ;
  int __retres4 ;
  void * __FSEQ  __cil_tmp5 ;
  void * __FSEQ  __cil_tmp6 ;
  struct foo * __FSEQ  __cil_tmp7 ;
  struct foo * __FSEQ  __cil_tmp8 ;
  int * __FSEQ  __cil_tmp9 ;
  void *q_e19 ;
  void *tmp_e20 ;
  void *__cil_tmp5_e21 ;
  void *__cil_tmp6_e22 ;
  void *__cil_tmp7_e23 ;
  void *__cil_tmp8_e24 ;
  void *__cil_tmp9_e25 ;

  {
  tmp_e20 = (void *)0;
  tmp = (struct foo */* __FSEQ  */)0;
  q_e19 = (void *)0;
  q = (struct foo */* __FSEQ  */)0;
  __ccuredAlwaysStopOnError = 0;
  __ccuredUseStrings = 1;
  __ccuredLogNonPointers = 0;
  __ccuredInit();
  __cil_tmp6 = (void */* __FSEQ  */)p;
  __cil_tmp6_e22 = p_e;
  __cil_tmp5_e21 = __cil_tmp6_e22;
  __cil_tmp5 = __cil_tmp6;
  CHECK_FSEQALIGN(sizeof(struct foo ), (void *)((struct foo */* __FSEQ  */)__cil_tmp5),
                  __cil_tmp5_e21);
  __cil_tmp7 = (struct foo */* __FSEQ  */)__cil_tmp5;
  __cil_tmp7_e23 = __cil_tmp5_e21;
  tmp_e20 = __cil_tmp7_e23;
  tmp = __cil_tmp7;
  __cil_tmp8 = tmp;
  __cil_tmp8_e24 = tmp_e20;
  q_e19 = __cil_tmp8_e24;
  q = __cil_tmp8;
  CHECK_FSEQ2SAFE(p_e, (void *)p, sizeof(struct bar ), sizeof(struct bar ), 1, 0);
  CHECK_FSEQARITH((void *)p->f1._p, sizeof(int ), (void *)(p->f1._p + 1), p->f1._ms._e,
                  0);
  __cil_tmp9 = p->f1._p + 1;
  __cil_tmp9_e25 = p->f1._ms._e;
  p->f1._ms._e = __cil_tmp9_e25;
  p->f1._p = __cil_tmp9;
  CHECK_FSEQARITH((void *)q, sizeof(struct foo ), (void *)(q + 1), q_e19, 0);
  CHECK_FSEQ2SAFE(q_e19, (void *)(q + 1), sizeof(struct foo ), sizeof(struct foo ),
                  1, 0);
  __retres4 = (q + 1)->f2;
  return (__retres4);
}
}
