typedef signed char *__restrict__ pRSINT8; typedef signed short *__restrict__ pRSINT16; typedef signed int *__restrict__ pRSINT32; typedef signed long long *__restrict__ pRSINT64; typedef unsigned char *__restrict__ pRUINT8; typedef unsigned short *__restrict__ pRUINT16; typedef unsigned int *__restrict__ pRUINT32; typedef unsigned long long *__restrict__ pRUINT64; typedef signed short SH; typedef unsigned short UH; typedef signed int SS; typedef unsigned int US; typedef signed long long SLL; typedef unsigned long long ULL; #define DEF_MULLB(sign) \ void widen_mult_##sign##b (pR##sign##INT##16 a, \ pR##sign##INT##8 b, \ pR##sign##INT##8 c) \ { \ int i; \ for (i=0; i