/* 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 ;
};
extern void __ccuredInit(void) ;
extern  __attribute__((__noreturn__)) void abort_deepcopy(char *errmsg ) ;
extern char *strchr(char * , int  ) ;
struct meta_fseqp_char {
   void *_e ;
}   ;
struct fseqp_char {
   char * __FSEQ  _p ;
   struct meta_fseqp_char _ms ;
}   ;
typedef struct fseqp_char fseqp_char;
fseqp_char /*1*/strchr_wrapper3_fs(char *str , int chr ) ;
void foo(char *s ) ;
void foo(char *s ) 
{ char * __FSEQ  res ;
  char * __FSEQ  tmp ;
  fseqp_char __cil_tmp4 ;
  char * __FSEQ  __cil_tmp5 ;
  char * __FSEQ  __cil_tmp6 ;
  char * __FSEQ  __cil_tmp7 ;
  void *res_e13 ;
  void *tmp_e14 ;
  void *__cil_tmp5_e15 ;
  void *__cil_tmp6_e16 ;
  void *__cil_tmp7_e17 ;

  {
  tmp_e14 = (void *)0;
  tmp = (char */* __FSEQ  */)0;
  res_e13 = (void *)0;
  res = (char */* __FSEQ  */)0;
  __cil_tmp4 = /*1*/strchr_wrapper3_fs((char *)s, 'q');
  __cil_tmp5 = __cil_tmp4._p;
  __cil_tmp5_e15 = __cil_tmp4._ms._e;
  tmp_e14 = __cil_tmp5_e15;
  tmp = __cil_tmp5;
  __cil_tmp6 = tmp;
  __cil_tmp6_e16 = tmp_e14;
  res_e13 = __cil_tmp6_e16;
  res = __cil_tmp6;
  CHECK_FSEQARITH((void *)res, sizeof(char ), (void *)(res + 1), res_e13, 0);
  __cil_tmp7 = res + 1;
  __cil_tmp7_e17 = res_e13;
  res_e13 = __cil_tmp7_e17;
  res = __cil_tmp7;
  return;
}
}
extern struct fseqp_char /*3*/__mkptr_string_fs(char *p ) ;
fseqp_char /*1*/strchr_wrapper3_fs(char *str , int chr ) ;
fseqp_char /*1*/strchr_wrapper3_fs(char *str , int chr ) 
{ char *result ;
  void *tmp ;
  char * __FSEQ  tmp___0 ;
  void *__cil_tmp6 ;
  char *__cil_tmp7 ;
  struct fseqp_char __cil_tmp8 ;
  char * __FSEQ  __cil_tmp9 ;
  fseqp_char __cil_tmp10 ;
  void *tmp___0_e13 ;
  void *__cil_tmp9_e14 ;

  {
  tmp___0_e13 = (void *)0;
  tmp___0 = (char */* __FSEQ  */)0;
  tmp = (void *)0;
  result = (char *)0;
  __cil_tmp6 = (void *)((void *)str);
  tmp = (void *)__cil_tmp6;
  __cil_tmp7 = strchr((char *)((char *)tmp), chr);
  result = (char *)__cil_tmp7;
  __cil_tmp8 = /*3*/__mkptr_string_fs((char *)((char *)result));
  __cil_tmp9 = __cil_tmp8._p;
  __cil_tmp9_e14 = __cil_tmp8._ms._e;
  tmp___0_e13 = __cil_tmp9_e14;
  tmp___0 = __cil_tmp9;
  __cil_tmp10._p = tmp___0;
  __cil_tmp10._ms._e = tmp___0_e13;
  return (__cil_tmp10);
}
}
