1 int fir4_c[16] = { 1129, 60034, 64720, 5595, 494, 59867, 65370, 5724, 5724,
2 65370, 59867, 494, 5595, 64720, 60034, 1129, };
4 int fir4_in[56] = { 1, 0, 16384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5 0, 0, 0, 0, 0, 0, 0, 7986, 8993, 1808, 4096, 4096, 4096, 4096, 4096, 4096,
6 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
7 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, };
9 extern void *__builtin___memcpy_chk(void *, void *, unsigned int, unsigned int);
11 extern void *__builtin___memmove_chk(void *, void *, unsigned int, unsigned int);
13 extern void *__builtin___mempcpy_chk(void *, void *, unsigned int, unsigned int);
15 extern void *__builtin___memset_chk(void *, int, unsigned int, unsigned int);
17 extern unsigned char *__builtin___stpcpy_chk(unsigned char *, unsigned char *, unsigned int);
19 extern unsigned char *__builtin___strcat_chk(unsigned char *, unsigned char *, unsigned int);
21 extern unsigned char *__builtin___strcpy_chk(unsigned char *, unsigned char *, unsigned int);
23 extern unsigned char *__builtin___strncat_chk(unsigned char *, unsigned char *, unsigned int, unsigned int);
25 extern unsigned char *__builtin___strncpy_chk(unsigned char *, unsigned char *, unsigned int, unsigned int);
27 extern int __builtin___vfprintf_chk(void *, int, unsigned char *, void *);
29 extern int __builtin___vprintf_chk(int, unsigned char *, void *);
31 extern int __builtin___vsnprintf_chk(unsigned char *, unsigned int, int, unsigned int, unsigned char *, void *);
33 extern int __builtin___vsprintf_chk(unsigned char *, int, unsigned int, unsigned char *, void *);
35 extern double __builtin_acos(double);
37 extern float __builtin_acosf(float);
39 extern double __builtin_acosl(double);
41 extern void *__builtin_alloca(unsigned int);
43 extern double __builtin_asin(double);
45 extern float __builtin_asinf(float);
47 extern double __builtin_asinl(double);
49 extern double __builtin_atan(double);
51 extern float __builtin_atanf(float);
53 extern double __builtin_atanl(double);
55 extern double __builtin_atan2(double, double);
57 extern float __builtin_atan2f(float, float);
59 extern double __builtin_atan2l(double, double);
61 extern double __builtin_ceil(double);
63 extern float __builtin_ceilf(float);
65 extern double __builtin_ceill(double);
67 extern double __builtin_cos(double);
69 extern float __builtin_cosf(float);
71 extern double __builtin_cosl(double);
73 extern double __builtin_cosh(double);
75 extern float __builtin_coshf(float);
77 extern double __builtin_coshl(double);
79 extern int __builtin_clz(unsigned int);
81 extern int __builtin_clzl(unsigned int);
83 extern int __builtin_clzll(unsigned int);
85 extern int __builtin_constant_p(int);
87 extern int __builtin_ctz(unsigned int);
89 extern int __builtin_ctzl(unsigned int);
91 extern int __builtin_ctzll(unsigned int);
93 extern double __builtin_exp(double);
95 extern float __builtin_expf(float);
97 extern double __builtin_expl(double);
99 extern int __builtin_expect(int, int);
101 extern double __builtin_fabs(double);
103 extern float __builtin_fabsf(float);
105 extern double __builtin_fabsl(double);
107 extern int __builtin_ffs(unsigned int);
109 extern int __builtin_ffsl(unsigned int);
111 extern int __builtin_ffsll(unsigned int);
113 extern void *__builtin_frame_address(unsigned int);
115 extern double __builtin_floor(double);
117 extern float __builtin_floorf(float);
119 extern double __builtin_floorl(double);
121 extern double __builtin_huge_val(void);
123 extern float __builtin_huge_valf(void);
125 extern double __builtin_huge_vall(void);
127 extern double __builtin_inf(void);
129 extern float __builtin_inff(void);
131 extern double __builtin_infl(void);
133 extern void *__builtin_memcpy(void *, void *, unsigned int);
135 extern void *__builtin_mempcpy(void *, void *, unsigned int);
137 extern double __builtin_fmod(double);
139 extern float __builtin_fmodf(float);
141 extern double __builtin_fmodl(double);
143 extern double __builtin_frexp(double, int *);
145 extern float __builtin_frexpf(float, int *);
147 extern double __builtin_frexpl(double, int *);
149 extern double __builtin_ldexp(double, int);
151 extern float __builtin_ldexpf(float, int);
153 extern double __builtin_ldexpl(double, int);
155 extern double __builtin_log(double);
157 extern float __builtin_logf(float);
159 extern double __builtin_logl(double);
161 extern double __builtin_log10(double);
163 extern float __builtin_log10f(float);
165 extern double __builtin_log10l(double);
167 extern float __builtin_modff(float, float *);
169 extern double __builtin_modfl(double, double *);
171 extern double __builtin_nan(unsigned char *);
173 extern float __builtin_nanf(unsigned char *);
175 extern double __builtin_nanl(unsigned char *);
177 extern double __builtin_nans(unsigned char *);
179 extern float __builtin_nansf(unsigned char *);
181 extern double __builtin_nansl(unsigned char *);
183 extern void *__builtin_next_arg(void);
185 extern unsigned int __builtin_object_size(void *, int);
187 extern int __builtin_parity(unsigned int);
189 extern int __builtin_parityl(unsigned int);
191 extern int __builtin_parityll(unsigned int);
193 extern int __builtin_popcount(unsigned int);
195 extern int __builtin_popcountl(unsigned int);
197 extern int __builtin_popcountll(unsigned int);
199 extern double __builtin_powi(double, int);
201 extern float __builtin_powif(float, int);
203 extern double __builtin_powil(double, int);
205 extern void __builtin_return(void *);
207 extern void *__builtin_return_address(unsigned int);
209 extern double __builtin_sin(double);
211 extern float __builtin_sinf(float);
213 extern double __builtin_sinl(double);
215 extern double __builtin_sinh(double);
217 extern float __builtin_sinhf(float);
219 extern double __builtin_sinhl(double);
221 extern double __builtin_sqrt(double);
223 extern float __builtin_sqrtf(float);
225 extern double __builtin_sqrtl(double);
227 extern unsigned char *__builtin_stpcpy(unsigned char *, unsigned char *);
229 extern unsigned char *__builtin_strchr(unsigned char *, unsigned char);
231 extern int __builtin_strcmp(unsigned char *, unsigned char *);
233 extern unsigned char *__builtin_strcpy(unsigned char *, unsigned char *);
235 extern unsigned int __builtin_strcspn(unsigned char *, unsigned char *);
237 extern unsigned char *__builtin_strncat(unsigned char *, unsigned char *, unsigned int);
239 extern int __builtin_strncmp(unsigned char *, unsigned char *, unsigned int);
241 extern unsigned char *__builtin_strncpy(unsigned char *, unsigned char *, unsigned int);
243 extern int __builtin_strspn(unsigned char *, unsigned char *);
245 extern unsigned char *__builtin_strpbrk(unsigned char *, unsigned char *);
247 extern int __builtin_types_compatible_p(unsigned int, unsigned int);
249 extern double __builtin_tan(double);
251 extern float __builtin_tanf(float);
253 extern double __builtin_tanl(double);
255 extern double __builtin_tanh(double);
257 extern float __builtin_tanhf(float);
259 extern double __builtin_tanhl(double);
261 extern void __builtin_va_end(void *);
263 extern void __builtin_varargs_start(void *);
265 extern void __builtin_va_start(void *, void *);
267 extern void __builtin_stdarg_start(void *);
269 extern void __builtin_va_arg(void *, unsigned int);
271 extern void __builtin_va_copy(void *, void *);
273 int fir4(int *fir4_in__1, int *fir4_c__1, int *fir4_out, int size)
289 for (({ c22: i = 0; }); (/* c21 */ i < 16); ({ c20: i = i + 1; })) {
294 for (({ c17: j = 0; }); (/* c16 */ j < size); ({ c15: j = j + 1; })) {
296 x[adx] = fir4_in__1[j];
300 for (({ c11: i = 0; }); (/* c10 */ i < 16); ({ c9: i = i + 4; })) {
302 tmp1 = x[adx] * fir4_c__1[i];
304 tmp2 = x[((adx + 1) % 16)] * fir4_c__1[(i + 1)];
306 tmp3 = x[((adx + 2) % 16)] * fir4_c__1[(i + 2)];
308 tmp4 = x[((adx + 3) % 16)] * fir4_c__1[(i + 3)];
310 res = (((res + tmp1) + tmp2) + tmp3) + tmp4;
312 adx = (adx + 4) % 16;
315 adx = (adx + 1) % 16;
317 fir4_out[j] = res >> 16;
328 t = fir4(fir4_in, fir4_c, fir4_out, 16);