int fir4_c[16] = { 1129, 60034, 64720, 5595, 494, 59867, 65370, 5724, 5724, 65370, 59867, 494, 5595, 64720, 60034, 1129, }; int fir4_in[56] = { 1, 0, 16384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7986, 8993, 1808, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, }; extern void *__builtin___memcpy_chk(void *, void *, unsigned int, unsigned int); extern void *__builtin___memmove_chk(void *, void *, unsigned int, unsigned int); extern void *__builtin___mempcpy_chk(void *, void *, unsigned int, unsigned int); extern void *__builtin___memset_chk(void *, int, unsigned int, unsigned int); extern unsigned char *__builtin___stpcpy_chk(unsigned char *, unsigned char *, unsigned int); extern unsigned char *__builtin___strcat_chk(unsigned char *, unsigned char *, unsigned int); extern unsigned char *__builtin___strcpy_chk(unsigned char *, unsigned char *, unsigned int); extern unsigned char *__builtin___strncat_chk(unsigned char *, unsigned char *, unsigned int, unsigned int); extern unsigned char *__builtin___strncpy_chk(unsigned char *, unsigned char *, unsigned int, unsigned int); extern int __builtin___vfprintf_chk(void *, int, unsigned char *, void *); extern int __builtin___vprintf_chk(int, unsigned char *, void *); extern int __builtin___vsnprintf_chk(unsigned char *, unsigned int, int, unsigned int, unsigned char *, void *); extern int __builtin___vsprintf_chk(unsigned char *, int, unsigned int, unsigned char *, void *); extern double __builtin_acos(double); extern float __builtin_acosf(float); extern double __builtin_acosl(double); extern void *__builtin_alloca(unsigned int); extern double __builtin_asin(double); extern float __builtin_asinf(float); extern double __builtin_asinl(double); extern double __builtin_atan(double); extern float __builtin_atanf(float); extern double __builtin_atanl(double); extern double __builtin_atan2(double, double); extern float __builtin_atan2f(float, float); extern double __builtin_atan2l(double, double); extern double __builtin_ceil(double); extern float __builtin_ceilf(float); extern double __builtin_ceill(double); extern double __builtin_cos(double); extern float __builtin_cosf(float); extern double __builtin_cosl(double); extern double __builtin_cosh(double); extern float __builtin_coshf(float); extern double __builtin_coshl(double); extern int __builtin_clz(unsigned int); extern int __builtin_clzl(unsigned int); extern int __builtin_clzll(unsigned int); extern int __builtin_constant_p(int); extern int __builtin_ctz(unsigned int); extern int __builtin_ctzl(unsigned int); extern int __builtin_ctzll(unsigned int); extern double __builtin_exp(double); extern float __builtin_expf(float); extern double __builtin_expl(double); extern int __builtin_expect(int, int); extern double __builtin_fabs(double); extern float __builtin_fabsf(float); extern double __builtin_fabsl(double); extern int __builtin_ffs(unsigned int); extern int __builtin_ffsl(unsigned int); extern int __builtin_ffsll(unsigned int); extern void *__builtin_frame_address(unsigned int); extern double __builtin_floor(double); extern float __builtin_floorf(float); extern double __builtin_floorl(double); extern double __builtin_huge_val(void); extern float __builtin_huge_valf(void); extern double __builtin_huge_vall(void); extern double __builtin_inf(void); extern float __builtin_inff(void); extern double __builtin_infl(void); extern void *__builtin_memcpy(void *, void *, unsigned int); extern void *__builtin_mempcpy(void *, void *, unsigned int); extern double __builtin_fmod(double); extern float __builtin_fmodf(float); extern double __builtin_fmodl(double); extern double __builtin_frexp(double, int *); extern float __builtin_frexpf(float, int *); extern double __builtin_frexpl(double, int *); extern double __builtin_ldexp(double, int); extern float __builtin_ldexpf(float, int); extern double __builtin_ldexpl(double, int); extern double __builtin_log(double); extern float __builtin_logf(float); extern double __builtin_logl(double); extern double __builtin_log10(double); extern float __builtin_log10f(float); extern double __builtin_log10l(double); extern float __builtin_modff(float, float *); extern double __builtin_modfl(double, double *); extern double __builtin_nan(unsigned char *); extern float __builtin_nanf(unsigned char *); extern double __builtin_nanl(unsigned char *); extern double __builtin_nans(unsigned char *); extern float __builtin_nansf(unsigned char *); extern double __builtin_nansl(unsigned char *); extern void *__builtin_next_arg(void); extern unsigned int __builtin_object_size(void *, int); extern int __builtin_parity(unsigned int); extern int __builtin_parityl(unsigned int); extern int __builtin_parityll(unsigned int); extern int __builtin_popcount(unsigned int); extern int __builtin_popcountl(unsigned int); extern int __builtin_popcountll(unsigned int); extern double __builtin_powi(double, int); extern float __builtin_powif(float, int); extern double __builtin_powil(double, int); extern void __builtin_return(void *); extern void *__builtin_return_address(unsigned int); extern double __builtin_sin(double); extern float __builtin_sinf(float); extern double __builtin_sinl(double); extern double __builtin_sinh(double); extern float __builtin_sinhf(float); extern double __builtin_sinhl(double); extern double __builtin_sqrt(double); extern float __builtin_sqrtf(float); extern double __builtin_sqrtl(double); extern unsigned char *__builtin_stpcpy(unsigned char *, unsigned char *); extern unsigned char *__builtin_strchr(unsigned char *, unsigned char); extern int __builtin_strcmp(unsigned char *, unsigned char *); extern unsigned char *__builtin_strcpy(unsigned char *, unsigned char *); extern unsigned int __builtin_strcspn(unsigned char *, unsigned char *); extern unsigned char *__builtin_strncat(unsigned char *, unsigned char *, unsigned int); extern int __builtin_strncmp(unsigned char *, unsigned char *, unsigned int); extern unsigned char *__builtin_strncpy(unsigned char *, unsigned char *, unsigned int); extern int __builtin_strspn(unsigned char *, unsigned char *); extern unsigned char *__builtin_strpbrk(unsigned char *, unsigned char *); extern int __builtin_types_compatible_p(unsigned int, unsigned int); extern double __builtin_tan(double); extern float __builtin_tanf(float); extern double __builtin_tanl(double); extern double __builtin_tanh(double); extern float __builtin_tanhf(float); extern double __builtin_tanhl(double); extern void __builtin_va_end(void *); extern void __builtin_varargs_start(void *); extern void __builtin_va_start(void *, void *); extern void __builtin_stdarg_start(void *); extern void __builtin_va_arg(void *, unsigned int); extern void __builtin_va_copy(void *, void *); int fir4(int *fir4_in__1, int *fir4_c__1, int *fir4_out, int size) { int i; int j; int tmp1; int tmp2; int tmp3; int tmp4; int x[16]; int adx; int res; c25: adx = 0; c24: res = 0; c23: for (({ c22: i = 0; }); (/* c21 */ i < 16); ({ c20: i = i + 1; })) { c19: x[i] = 0; } c18: for (({ c17: j = 0; }); (/* c16 */ j < size); ({ c15: j = j + 1; })) { c14: x[adx] = fir4_in__1[j]; c13: res = 0; c12: for (({ c11: i = 0; }); (/* c10 */ i < 16); ({ c9: i = i + 4; })) { c8: tmp1 = x[adx] * fir4_c__1[i]; c7: tmp2 = x[((adx + 1) % 16)] * fir4_c__1[(i + 1)]; c6: tmp3 = x[((adx + 2) % 16)] * fir4_c__1[(i + 2)]; c5: tmp4 = x[((adx + 3) % 16)] * fir4_c__1[(i + 3)]; c4: res = (((res + tmp1) + tmp2) + tmp3) + tmp4; c3: adx = (adx + 4) % 16; } c2: adx = (adx + 1) % 16; c1: fir4_out[j] = res >> 16; } c0: return 0; } int main(void) { int fir4_out[16]; int t; c27: t = fir4(fir4_in, fir4_c, fir4_out, 16); c26: return t; }