struct  printf_arguments {
   int i ;
   double d ;
   char  *3s  &4;
   long long ll ;
};
 extern void __ccuredInit(void) ;
 extern void abort_deepcopy(char  * errmsg  ) ;
void  *9apply(void  *10( *12f)(void  *11  )   &15,
            void  *13arg   &16)  &14;
 void  *9apply(void  *10( *12f)(void  *11  )   &15,
            void  *13arg   &16) 
{ void  *17tmp  &18;

  {
  tmp = (void  *17)((*f))(arg);
  return (tmp);
}
}
int  * deref(int  *  * addr  ) ;
 int  * deref(int  *  * addr  ) 
{ 

  {
  return ((*addr));
}
}
int main(void) ;
 int main(void) 
{ int  * x ;
  int  * res ;
  int  * tmp ;

  {
  __ccuredAlwaysStopOnError = 0;
  __ccuredUseStrings = 1;
  __ccuredLogNonPointers = 0;
  __ccuredInit ();
  x = 0;
  tmp = (int  * )apply ((void  *31( *33)(void  *32  ))(& deref ),
                       (void  *34)(& x));
  res = tmp;
  return (0);
}
}