/* 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 str {
   int **ptrptr ;
   float f ;
};
union bar {
   int anint  __SELECTEDWHEN((tag) ==  (0) )  ;
   struct str structure  __SELECTEDWHEN((tag) ==  (1) )  ;
   int *ptrint  __SELECTEDWHEN(((tag) >=  (10) ) &&  ((tag) <=  (12) ) )  ;
};
struct host {
   short tag ;
   union bar data ;
};
extern void __ccuredInit(void) ;
extern  __attribute__((__noreturn__)) void abort_deepcopy(char *errmsg ) ;
struct host g  ;
int x  ;
static void /*1*/CHECK_INITUNIONFIELD(int selected , void *unionp , unsigned int size ) ;
int main(void) ;
int main(void) 
{ int *px ;
  int __retres2 ;

  {
  px = (int *)0;
  __ccuredAlwaysStopOnError = 0;
  __ccuredUseStrings = 1;
  __ccuredLogNonPointers = 0;
  __ccuredInit();
  /*1*/CHECK_INITUNIONFIELD(g.tag == (short)12, (void *)(& g.data), sizeof(g.data));
  g.tag = (short)12;
  CHECK_UNIONTAG(g.tag >= 10 && g.tag <= 12);
  g.data.ptrint = (int *)(& x);
  CHECK_UNIONTAG(g.tag >= 10 && g.tag <= 12);
  px = (int *)g.data.ptrint;
  __retres2 = 0;
  return (__retres2);
}
}
