/* 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 small {
   int *f1 ;
   int *f2 ;
};
struct large {
   struct small a ;
   int *f3 ;
};
struct __anonstruct_s3_1 {
   int *a1 ;
   int *a2 ;
   int *a3 ;
};
struct __anonstruct_s4_2 {
   int *a1 ;
   int *(a2)[2] ;
};
extern void __ccuredInit(void) ;
extern  __attribute__((__noreturn__)) void abort_deepcopy(char *errmsg ) ;
struct large x  ;
struct small *s1  =    (struct small *)((struct small *)(& x));
int **s2  =    (int **)((int **)(& x));
struct __anonstruct_s3_1 *s3  =    (struct __anonstruct_s3_1 *)((struct __anonstruct_s3_1 *)(& x));
struct __anonstruct_s4_2 *s4  =    (struct __anonstruct_s4_2 *)((struct __anonstruct_s4_2 *)(& x));
