1  #define XSTR(a,b) a ## b
       2  #define T(a,b) XSTR(a,b)
       3  
       4  int  T(NAME,ii)(int a, int b)   { return -(a CODE b); }
       5  int  T(NAME,il)(long a, long b) { return -(a CODE b); }
       6  long T(NAME,li)(int a, int b)   { return -(a CODE b); }
       7  long T(NAME,ll)(long a, long b) { return -(a CODE b); }
       8  
       9  int  T(NAME,iin0)(int a)  { return -(a CODE 0); }
      10  int  T(NAME,iln0)(long a) { return -(a CODE 0); }
      11  long T(NAME,lin0)(int a)  { return -(a CODE 0); }
      12  long T(NAME,lln0)(long a) { return -(a CODE 0); }
      13  
      14  int  T(NAME,iin1)(int a)  { return -(a CODE 1); }
      15  int  T(NAME,iln1)(long a) { return -(a CODE 1); }
      16  long T(NAME,lin1)(int a)  { return -(a CODE 1); }
      17  long T(NAME,lln1)(long a) { return -(a CODE 1); }
      18  
      19  int  T(NAME,iinm1)(int a)  { return -(a CODE -1); }
      20  int  T(NAME,ilnm1)(long a) { return -(a CODE -1); }
      21  long T(NAME,linm1)(int a)  { return -(a CODE -1); }
      22  long T(NAME,llnm1)(long a) { return -(a CODE -1); }
      23  
      24  int  T(NAME,iin42)(int a)  { return -(a CODE 42); }
      25  int  T(NAME,iln42)(long a) { return -(a CODE 42); }
      26  long T(NAME,lin42)(int a)  { return -(a CODE 42); }
      27  long T(NAME,lln42)(long a) { return -(a CODE 42); }