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

struct __sFILEX;
enum _1_fib_$op;
union _1_fib_$node;
struct __sFILE;
struct __sbuf;
struct timespec;
struct timeval;
extern int pthread_cond_signal(int *cond ) ;
extern void exit(int status ) ;
typedef long long __int64_t;
extern int fclose(void *stream ) ;
extern int fseek(struct __sFILE *stream , long offs , int whence ) ;
extern int close(int filedes ) ;
typedef struct __sFILE FILE;
extern int __swbuf(int  , FILE * ) ;
extern int pthread_create(void *thread , void *attr , void *start_routine , void *arg ) ;
char **_global_argv  =    (char **)0;
extern void *dlsym(void *handle , char *symbol ) ;
extern int unlink(char const   *filename ) ;
extern int fcntl(int filedes , int cmd  , ...) ;
extern int pthread_mutex_lock(int *mutex ) ;
struct timeval {
   long tv_sec ;
   int tv_usec ;
};
extern int pthread_cond_init(int *cond , int *attr ) ;
extern unsigned long strtoul(char const   *str , char const   *endptr , int base ) ;
typedef __int64_t __darwin_off_t;
extern int raise(int sig ) ;
enum _1_fib_$op {
    _1_fib__store_int$left_STA_0$right_STA_1 = 240,
    _1_fib__global$result_STA_0$value_LIT_0 = 146,
    _1_fib__returnVoid$ = 181,
    _1_fib__goto$label_LAB_0 = 203,
    _1_fib__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1 = 36,
    _1_fib__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__PlusA_int_int2int$left_STA_0$result_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__PlusA_int_int2int$left_STA_0$result_STA_0$right_STA_1__local$result_STA_0$value_LIT_0 = 23,
    _1_fib__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__Lt_int_int2int$left_STA_0$result_STA_0$right_STA_1__branchIfTrue$expr_STA_0$label_LAB_0 = 137,
    _1_fib__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0 = 150,
    _1_fib__load_void_star$left_STA_0$result_STA_0__store_int$left_STA_0$right_STA_1 = 10
} ;
unsigned char _1_fib_$array[1][131]  = { {        _1_fib__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1,        (unsigned char)0,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)24,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)1,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)28,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)1,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)32,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)1,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)36,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        _1_fib__goto$label_LAB_0,        (unsigned char)4,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)0,        _1_fib__global$result_STA_0$value_LIT_0,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        _1_fib__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__Lt_int_int2int$left_STA_0$result_STA_0$right_STA_1__branchIfTrue$expr_STA_0$label_LAB_0, 
            (unsigned char)36,        (unsigned char)0,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)18,        (unsigned char)0,        (unsigned char)0,        (unsigned char)0, 
            _1_fib__goto$label_LAB_0,        (unsigned char)4,        (unsigned char)0,        (unsigned char)0, 
            (unsigned char)0,        _1_fib__goto$label_LAB_0,        (unsigned char)56,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)0,        _1_fib__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__PlusA_int_int2int$left_STA_0$result_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__PlusA_int_int2int$left_STA_0$result_STA_0$right_STA_1__local$result_STA_0$value_LIT_0,        (unsigned char)28, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)24, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)32, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)28, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)24, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)32, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)28, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)1, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)36, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        (unsigned char)36, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        _1_fib__store_int$left_STA_0$right_STA_1, 
            _1_fib__goto$label_LAB_0,        (unsigned char)189,        (unsigned char)255,        (unsigned char)255, 
            (unsigned char)255,        _1_fib__goto$label_LAB_0,        (unsigned char)184,        (unsigned char)255, 
            (unsigned char)255,        (unsigned char)255,        _1_fib__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0,        (unsigned char)32, 
            (unsigned char)0,        (unsigned char)0,        (unsigned char)0,        _1_fib__global$result_STA_0$value_LIT_0, 
            (unsigned char)1,        (unsigned char)0,        (unsigned char)0,        (unsigned char)0, 
            _1_fib__load_void_star$left_STA_0$result_STA_0__store_int$left_STA_0$right_STA_1,        _1_fib__goto$label_LAB_0,        (unsigned char)4,        (unsigned char)0, 
            (unsigned char)0,        (unsigned char)0,        _1_fib__returnVoid$}};
extern void abort() ;
int *_1_fib__result ;
extern int atoi(char const   *s ) ;
void fac(int n ) ;
extern void *malloc(unsigned long size ) ;
extern double ceil(double x ) ;
extern int getpagesize() ;
extern int posix_memalign(void **memptr , unsigned long alignment , unsigned long size ) ;
extern int pthread_cond_broadcast(int *cond ) ;
extern int pthread_join(void *thread , void **value_ptr ) ;
extern int pthread_barrier_destroy(int *barrier ) ;
extern int rand(void) ;
extern void free(void *ptr ) ;
char const   *_1_fib_$strings  =    "";
extern unsigned long strlen(char const   *s ) ;
extern int ptrace(int request , void *pid , void *addr , int data ) ;
int main(int argc , char **argv , char **_formal_envp ) ;
void _1_fib__result_i$nit(void) ;
extern long write(int filedes , void *buf , unsigned long nbyte ) ;
typedef long __darwin_time_t;
struct timespec {
   __darwin_time_t tv_sec ;
   long tv_nsec ;
};
extern long strtol(char const   *str , char const   *endptr , int base ) ;
extern int gettimeofday(struct timeval *tv , void *tz ) ;
int _global_argc  =    0;
char **_global_envp  =    (char **)0;
void megaInit(void) ;
extern int fscanf(struct __sFILE *stream , char const   *format  , ...) ;
extern int ( /* format attribute */  printf)(char const   * __restrict    , ...) ;
void fib(int *operation , int n , int *result ) ;
extern long clock(void) ;
extern int scanf(char const   *format  , ...) ;
extern void perror(char const   *str ) ;
extern int mprotect(void *addr , unsigned long len , int prot ) ;
extern int pthread_barrier_init(int *barrier , int *attr , unsigned int count ) ;
extern int nanosleep(struct timespec  const  *__rqtp , struct timespec *__rmtp )  __asm__("_nanosleep")  ;
extern long read(int filedes , void *buf , unsigned long nbyte ) ;
extern int pthread_mutex_unlock(int *mutex ) ;
typedef __darwin_off_t fpos_t;
extern int pthread_cond_wait(int *cond , int *mutex ) ;
extern float strtof(char const   *str , char const   *endptr ) ;
extern int gethostname(char *name , unsigned long namelen ) ;
struct __sbuf {
   unsigned char *_base ;
   int _size ;
};
struct __sFILE {
   unsigned char *_p ;
   int _r ;
   int _w ;
   short _flags ;
   short _file ;
   struct __sbuf _bf ;
   int _lbfsize ;
   void *_cookie ;
   int (*_close)(void * ) ;
   int (*_read)(void * , char * , int  ) ;
   fpos_t (*_seek)(void * , fpos_t  , int  ) ;
   int (*_write)(void * , char const   * , int  ) ;
   struct __sbuf _ub ;
   struct __sFILEX *_extra ;
   int _ur ;
   unsigned char _ubuf[3] ;
   unsigned char _nbuf[1] ;
   struct __sbuf _lb ;
   int _blksize ;
   fpos_t _offset ;
};
extern void qsort(void *base , unsigned long nel , unsigned long width , int (*compar)(void *a ,
                                                                                       void *b ) ) ;
extern unsigned long strnlen(char const   *s , unsigned long maxlen ) ;
extern double strtod(char const   *str , char const   *endptr ) ;
void _1_fib__n_i$nit(void) ;
extern int pthread_mutex_init(int *mutex , int *attr ) ;
extern int strcmp(char const   *a , char const   *b ) ;
extern void *fopen(char const   *filename , char const   *mode ) ;
extern double difftime(long tv1 , long tv0 ) ;
extern void signal(int sig , void *func ) ;
extern long time(long *tloc ) ;
__inline int ( __attribute__((__always_inline__)) __sputc)(int _c , FILE *_p ) ;
extern int fprintf(struct __sFILE *stream , char const   *format  , ...) ;
union _1_fib_$node {
   void *_void_star ;
   unsigned long long _unsigned_long_long ;
   long long _long_long ;
   unsigned long _unsigned_long ;
   long _long ;
   unsigned short _unsigned_short ;
   short _short ;
   unsigned int _unsigned_int ;
   int _int ;
   unsigned char _unsigned_char ;
   signed char _signed_char ;
   char _char ;
};
extern int strncmp(char const   *s1 , char const   *s2 , unsigned long maxlen ) ;
extern double sqrt(double x ) ;
extern int open(char const   *filename , int oflag  , ...) ;
extern void srand(unsigned int  ) ;
extern int pthread_barrier_wait(int *barrier ) ;
extern double log(double x ) ;
int _1_fib__n ;
extern int snprintf(char *str , unsigned long size , char const   *format  , ...) ;
extern void *memcpy(void *s1 , void const   *s2 , unsigned long size ) ;
void _1_fib__n_i$nit(void) 
{ 


  {

}
}
void _1_fib__result_i$nit(void) 
{ 


  {

}
}
void megaInit(void) 
{ 


  {
  _1_fib__n_i$nit();
  _1_fib__result_i$nit();
}
}
int main(int argc , char **argv , char **_formal_envp ) 
{ 
  int operation ;
  int result ;
  int bogus1 ;
  int bogus2 ;
  int n ;
  int tmp ;

  {
  megaInit();
  _global_argc = argc;
  _global_argv = argv;
  _global_envp = _formal_envp;
  printf((char const   */* __restrict  */)"FIRST TEST\n");
  operation = -10;
  srand(123456U);
  tmp = rand();
  n = tmp % 20 + 1;
  fib(& operation, n, & result);
  while (operation < 0) {
    fac(10);
    operation = 10;
    fib(& operation, bogus1, & bogus2);
  }
  printf((char const   */* __restrict  */)"fib(%i)=%i\n", n, result);
  printf((char const   */* __restrict  */)"\nSECOND TEST\n");
  operation = -10;
  n = 5;
  fib(& operation, n, & result);
  operation = 10;
  fib(& operation, bogus1, & bogus2);
  if (operation < 0) {
    fac(10);
    operation = 1000;
    fib(& operation, bogus1, & bogus2);
  }
  printf((char const   */* __restrict  */)"fib(%i)=%i\n", n, result);
  operation = 1000;
  fib(& operation, bogus1, & bogus2);
  printf((char const   */* __restrict  */)"fib(%i)=%i\n", n, result);
  printf((char const   */* __restrict  */)"\nTHIRD TEST\n");
  operation = -10000;
  n = 20;
  fib(& operation, n, & result);
  printf((char const   */* __restrict  */)"fib(%i)=%i\n", n, result);
  return (0);
}
}
void fib(int *operation , int n , int *result ) 
{ 
  static char _1_fib_$locals[40] ;
  static int _1_fib_$internalState ;
  int _1_fib_$iteration ;
  static union _1_fib_$node _1_fib_$stack[1][32] ;
  static union _1_fib_$node *_1_fib_$sp[1] ;
  static unsigned char *_1_fib_$pc[1] ;
  unsigned char _1_fib_$currentOp ;

  {
  if (*operation < 0) {
    _1_fib_$iteration = - *operation;
    _1_fib_$internalState = 0;
  } else {
    _1_fib_$iteration = *operation;
  }
  if (_1_fib_$internalState == 0) {
    _1_fib_$sp[0] = _1_fib_$stack[0];
    _1_fib_$pc[0] = _1_fib_$array[0];
    _1_fib__n = n;
    _1_fib__result = result;
    _1_fib_$internalState = -1;
  } else
  if (_1_fib_$internalState > 0) {
    *operation = 1;
    return;
  } else {

  }
  while (1) {
    if (_1_fib_$iteration == 0) {
      *operation = -1;
      return;
    } else {
      _1_fib_$iteration --;
    }
    _1_fib_$currentOp = *(_1_fib_$pc[0]);
    if (_1_fib_$currentOp == _1_fib__store_int$left_STA_0$right_STA_1) {
      (_1_fib_$pc[0]) ++;
      *((int *)(_1_fib_$sp[0] + 0)->_void_star) = (_1_fib_$sp[0] + -1)->_int;
      _1_fib_$sp[0] += -2;
    } else
    if (_1_fib_$currentOp == _1_fib__global$result_STA_0$value_LIT_0) {
      (_1_fib_$pc[0]) ++;
      switch (*((int *)_1_fib_$pc[0])) {
      case 0: 
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(& _1_fib__n);
      break;
      case 1: 
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(& _1_fib__result);
      break;
      }
      (_1_fib_$sp[0]) ++;
      _1_fib_$pc[0] += 4;
    } else
    if (_1_fib_$currentOp == _1_fib__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1) {
      (_1_fib_$pc[0]) ++;
      (_1_fib_$sp[0] + 1)->_int = *((int *)_1_fib_$pc[0]);
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 4)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$pc[0] + 8));
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 12)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$pc[0] + 16));
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 20)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$pc[0] + 24));
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 28)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      _1_fib_$pc[0] += 32;
    } else
    if (_1_fib_$currentOp == _1_fib__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__Lt_int_int2int$left_STA_0$result_STA_0$right_STA_1__branchIfTrue$expr_STA_0$label_LAB_0) {
      (_1_fib_$pc[0]) ++;
      (_1_fib_$sp[0] + 0)->_int = *((int *)(_1_fib_$sp[0] + 0)->_void_star);
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(_1_fib_$locals + *((int *)_1_fib_$pc[0]));
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$sp[0] + 1)->_void_star);
      (_1_fib_$sp[0] + 0)->_int = (_1_fib_$sp[0] + 1)->_int < (_1_fib_$sp[0] + 0)->_int;
      if ((_1_fib_$sp[0] + 0)->_int) {
        _1_fib_$pc[0] += *((int *)(_1_fib_$pc[0] + 4));
      } else {
        _1_fib_$pc[0] += 8;
      }
      (_1_fib_$sp[0]) --;
    } else
    if (_1_fib_$currentOp == _1_fib__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0) {
      (_1_fib_$pc[0]) ++;
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(_1_fib_$locals + *((int *)_1_fib_$pc[0]));
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$sp[0] + 1)->_void_star);
      (_1_fib_$sp[0]) ++;
      _1_fib_$pc[0] += 4;
    } else
    if (_1_fib_$currentOp == _1_fib__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__PlusA_int_int2int$left_STA_0$result_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__local$result_STA_0$value_LIT_0__store_int$left_STA_0$right_STA_1__constant_int$result_STA_0$value_LIT_0__local$result_STA_0$value_LIT_0__load_int$left_STA_0$result_STA_0__PlusA_int_int2int$left_STA_0$result_STA_0$right_STA_1__local$result_STA_0$value_LIT_0) {
      (_1_fib_$pc[0]) ++;
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(_1_fib_$locals + *((int *)_1_fib_$pc[0]));
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$sp[0] + 1)->_void_star);
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 4)));
      (_1_fib_$sp[0] + 2)->_int = *((int *)(_1_fib_$sp[0] + 2)->_void_star);
      (_1_fib_$sp[0] + 1)->_int = (_1_fib_$sp[0] + 2)->_int + (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 8)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 12)));
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$sp[0] + 1)->_void_star);
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 16)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 1)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 20)));
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$sp[0] + 1)->_void_star);
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 24)));
      *((int *)(_1_fib_$sp[0] + 2)->_void_star) = (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 1)->_int = *((int *)(_1_fib_$pc[0] + 28));
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 32)));
      (_1_fib_$sp[0] + 2)->_int = *((int *)(_1_fib_$sp[0] + 2)->_void_star);
      (_1_fib_$sp[0] + 1)->_int = (_1_fib_$sp[0] + 2)->_int + (_1_fib_$sp[0] + 1)->_int;
      (_1_fib_$sp[0] + 2)->_void_star = (void *)(_1_fib_$locals + *((int *)(_1_fib_$pc[0] + 36)));
      _1_fib_$sp[0] += 2;
      _1_fib_$pc[0] += 40;
    } else
    if (_1_fib_$currentOp == _1_fib__returnVoid$) {
      (_1_fib_$pc[0]) ++;
      _1_fib_$internalState = 1;
      *operation = 1;
      return;
    } else
    if (_1_fib_$currentOp == _1_fib__goto$label_LAB_0) {
      (_1_fib_$pc[0]) ++;
      _1_fib_$pc[0] += *((int *)_1_fib_$pc[0]);
    } else
    if (_1_fib_$currentOp == _1_fib__load_void_star$left_STA_0$result_STA_0__store_int$left_STA_0$right_STA_1) {
      (_1_fib_$pc[0]) ++;
      (_1_fib_$sp[0] + 0)->_void_star = *((void **)(_1_fib_$sp[0] + 0)->_void_star);
      *((int *)(_1_fib_$sp[0] + 0)->_void_star) = (_1_fib_$sp[0] + -1)->_int;
      _1_fib_$sp[0] += -2;
    } else {

    }
  }
}
}
__inline int ( __attribute__((__always_inline__)) __sputc)(int _c , FILE *_p ) 
{ 
  unsigned char *tmp ;
  unsigned char tmp___0 ;
  int tmp___1 ;

  {
  (_p->_w) --;
  if (_p->_w >= 0) {
    tmp = _p->_p;
    (_p->_p) ++;
    tmp___0 = (unsigned char )_c;
    *tmp = tmp___0;
    return ((int )tmp___0);
  } else
  if (_p->_w >= _p->_lbfsize) {
    if ((int )((char )_c) != 10) {
      tmp = _p->_p;
      (_p->_p) ++;
      tmp___0 = (unsigned char )_c;
      *tmp = tmp___0;
      return ((int )tmp___0);
    } else {
      tmp___1 = __swbuf(_c, _p);
      return (tmp___1);
    }
  } else {
    tmp___1 = __swbuf(_c, _p);
    return (tmp___1);
  }
}
}
void fac(int n ) 
{ 
  int p ;
  int i ;

  {
  p = 1;
  i = 1;
  while (i <= n) {
    p *= i;
    i ++;
  }
  printf((char const   */* __restrict  */)"fac(%i)=%i\n", n, p);
  return;
}
}
