typedef union {
  int   __i ;
  void *__p ;
} _reg ;
// Argument registers
_reg _arg0 ;
_reg _arg1 ;
_reg _arg2 ;
_reg _arg3 ;

// Temporary registers
_reg _tmp0 ;
_reg _tmp1 ;
_reg _tmp2 ;
_reg _tmp3 ;

// Return registers
_reg _ret0 ;
_reg _ret1 ;

#define _it0 _tmp0.__i
#define _pt0 _tmp0.__p
#define _it1 _tmp1.__i
#define _pt1 _tmp1.__p
#define _it2 _tmp2.__i
#define _pt2 _tmp2.__p
#define _it3 _tmp3.__i
#define _pt3 _tmp3.__p

#define _ia0 _arg0.__i
#define _pa0 _arg0.__p
#define _ia1 _arg1.__i
#define _pa1 _arg1.__p
#define _ia2 _arg2.__i
#define _pa2 _arg2.__p
#define _ia3 _arg3.__i
#define _pa3 _arg3.__p

#define _ir0 _ret0.__i
#define _pr0 _ret0.__p
#define _ir1 _ret1.__i
#define _pr1 _ret1.__p
