public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* optimization/9939: gcc for ARM infinite loops when using optimization
@ 2003-03-04 14:46 staelin
  0 siblings, 0 replies; 2+ messages in thread
From: staelin @ 2003-03-04 14:46 UTC (permalink / raw)
  To: gcc-gnats


>Number:         9939
>Category:       optimization
>Synopsis:       gcc for ARM infinite loops when using optimization
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 04 14:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     staelin@hpl.hp.com
>Release:        3.2.1
>Organization:
>Environment:
MontaVista arm-xscale_le-80321 version 3.0 cross-compiler from an i686 platform.

gcc -v output:

Reading specs from /opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/specs
Configured with: ../configure --host=i686-pc-linux-gnu --target=armv5tel-hardhat-linux --prefix=/opt/hardhat/devkit/arm/xscale_le --exec-prefix=/opt/hardhat/devkit/arm/xscale_le --bindir=/opt/hardhat/devkit/arm/xscale_le/bin --sbindir=/opt/hardhat/devkit/arm/xscale_le/sbin --sysconfdir=/opt/hardhat/devkit/arm/xscale_le/etc --datadir=/opt/hardhat/devkit/arm/xscale_le/share --includedir=/opt/hardhat/devkit/arm/xscale_le/include --libdir=/opt/hardhat/devkit/arm/xscale_le/lib --libexecdir=/opt/hardhat/devkit/arm/xscale_le/libexec --localstatedir=/opt/hardhat/devkit/arm/xscale_le/var --sharedstatedir=/opt/hardhat/devkit/arm/xscale_le/share --mandir=/opt/hardhat/devkit/arm/xscale_le/man --infodir=/opt/hardhat/devkit/arm/xscale_le/info --program-transform-name=s,^,xscale_le-, --enable-cross --with-gxx-include-dir=${prefix}/armv5tel-hardhat-linux/include/g++-v3 --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-float=soft --with-cpu=xscale
Thread model: posix
gcc version 3.2.1 20020930 (MontaVista)

>Description:
When compiling with the optimizer enabled (e.g. '-O' flag), the compiler goes into an infinite loop.  It completes nearly instantaneously if optimization is not enabled.
>How-To-Repeat:
gcc -O -c mhz.i
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
 >=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; } return p + a + b; } void mhz_4(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_4(1, __p, 1, 1); { double __usecs; { stat ic iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_4(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0);  if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __it erations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); } 
 char* name_5() { return "a>>=a+a;"; } TYPE** _mhz_5 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a;  a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a> >=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>= a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+a; a>>=a+ a; a>>=a+a; a>>=a+a; a>>=a+a; } return p + a + b; } void mhz_5(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_5(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enoug h(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_5(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * _ _enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations);  settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
 char* name_6() { return "a^=a<<b;"; } TYPE** _mhz_6 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b;  a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^ =a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a <<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<<b; a^=a<< b; a^=a<<b; a^=a<<b; a^=a<<b; } return p + a + b; } void mhz_6(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_6(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enoug h(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_6(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * _ _enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations);  settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
 char* name_7() { return "a^=a+b;"; } TYPE** _mhz_7 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+ b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^= a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a ^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; a^=a+b; } return p + a + b; } void mhz_7(int enough) { TYPE __i = 1; TYPE *__x= (TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_7(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n =  __iterations; __n > 0; __n--) { __q = _mhz_7(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iter ations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead (); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
 char* name_8() { return "a+=(a+b)&07;"; } TYPE** _mhz_8 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07;  a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b )&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a +=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b) &07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+ =(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; a+=(a+b)&07; } return p + a + b; } void mhz_8(int enough) { TYPE __i = 1; TYPE *__x=(TY PE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_8(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __ iterations; __n > 0; __n--) { __q = _mhz_8(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterati ons = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead();  settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
 char* name_9() { return "a++;a^=1;a<<=1;"; } TYPE** _mhz_9 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a ^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++ ;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a ++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1;  a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<= 1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a< <=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; a++;a^=1;a<<=1; } return p + a + b; } voi d mhz_9(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_9(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__re sult < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_9(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterat ions / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent();  __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
 
 typedef void (*loop_f)(int);
 loop_f loops[] = {
         mhz_1,
         mhz_2,
         mhz_3,
         mhz_4,
         mhz_5,
         mhz_6,
         mhz_7,
         mhz_8,
         mhz_9,
 };
 # 180 "mhz.c"
 int
 filter_data(double values[], int size)
 {
         int i;
         int tests;
         double median;
         double *d = (double *)malloc((size + 1) * sizeof(double));
 
         for (i = 0; i < size; ++i) d[i] = values[i];
         qsort(d, size, sizeof(double), double_compare);
 
         median = d[size/2];
         if (size > 0 && size % 2 == 0) median = (median + d[size/2 - 1]) / 2.0;
 
         free(d);
 
 
 
 
         for (i = 0, tests = 0; i < size; ++i)
                 if (0.05 * median < values[i] && values[i] < 20.0 * median) {
                         if (i > tests) values[tests] = values[i];
                         tests++;
                 }
 
         return tests;
 }
 
 
 
 
 
 
 int
 classes(double values[], int size)
 {
         int i;
         double median;
         double *d = (double *)malloc(size * sizeof(double));
         int classid;
 
         for (i = 0; i < size; ++i) d[i] = values[i];
         qsort(d, size, sizeof(double), double_compare);
 
         median = d[size/2];
         if (size % 2 == 0) median = (median + d[size/2 - 1]) / 2.0;
 
 
 
 
         for (i = 1, classid = 1; i < size; ++i)
             if ((d[i] - d[i-1]) > 0.05 * median) classid++;
 
         free(d);
         return classid;
 }
 
 
 
 
 
 
 int
 mode(double values[], int n)
 {
         int i, n_mode, n_curr;
         int mode, curr;
 
         qsort(values, n, sizeof(double), double_compare);
 
         n_mode = 1;
         n_curr = 1;
         mode = (int)(values[0] + 0.5);
         curr = (int)(values[0] + 0.5);
 
         for (i = 1; i < n; ++i) {
                 int v = (int)(values[i] + 0.5);
                 if (curr != v) {
                         curr = v;
                         n_curr = 0;
                 }
                 n_curr++;
                 if (n_curr > n_mode) {
                         mode = curr;
                         n_mode = n_curr;
                 }
         }
 
         return mode;
 }
 
 
 
 
 
 
 
 void
 cross_values(double values[], int size, double **cvalues, int *csize)
 {
         int i, j;
 
         *cvalues = (double *)malloc(size * size * sizeof(double));
         *csize = 0;
 
         for (i = 0; i < size; ++i) {
                 (*cvalues)[(*csize)++] = values[i];
 
                 for (j = i + 1; j < size; ++j) {
                         (*cvalues)[(*csize)++] = ((values[i] - values[j]) < 0 ? -(values[i] - values[j]) : (values[i] - values[j]));
                 }
         }
 }
 # 320 "mhz.c"
 double
 gcd(double values[], int size)
 {
 
 
         int i, n, count;
         double min, result, min_chi2 = 0.0, a, b, sig_a, sig_b, chi2;
         double *y, *x = (double *)malloc(size * size * sizeof(double));
 
 
         result = min = double_min(values, size);
 
 
         cross_values(values, size, &y, &n);
 
 
         y[n++] = 0.0;
 
         for (count = 1; count < 6; ++count) {
 
 
 
 
                 for (i = 0; i < n; ++i) {
                         int m = (int)((double)count * y[i] / min + 0.5);
                         x[i] = (double)m;
                 }
 
 
                 regression(x, y, ((void *)0), n, &a, &b, &sig_a, &sig_b, &chi2);
 
                 if (count == 1 || count * count * chi2 < min_chi2) {
                         result = b;
                         min_chi2 = chi2;
                 }
         }
         free(x);
         free(y);
         return result;
 }
 # 369 "mhz.c"
 int
 compute_mhz(result_t *r)
 {
         int i, j, mhz[2], n, subset, ntests;
         double data[(sizeof(loops) / sizeof(loop_f))], results[1<<(sizeof(loops) / sizeof(loop_f))];
 
         for (i = 0; i < 2; ++i) {
                 for (subset = 0, ntests = 0; subset < (1<<(sizeof(loops) / sizeof(loop_f))); ++subset) {
                         for (j = 0, n = 0; j < (sizeof(loops) / sizeof(loop_f)); ++j)
                                 if (((subset) & 1 << (j)) && r[j].N > 11/2)
                                         data[n++] = r[j].v[r[j].N-1-i].u / (double)r[j].v[r[j].N-1-i].n;
                         if (n < 2
                             || (n = filter_data(data, n)) < 2
                             ||classes(data, n) < 2)
                                 continue;
                         results[ntests++] = 1.0 / gcd(data, n);
                 }
                 mhz[i] = mode(results, ntests);
         }
 
         if (((mhz[0] - mhz[1]) < 0 ? -(mhz[0] - mhz[1]) : (mhz[0] - mhz[1])) / (double)mhz[0] <= 0.01
             || ((mhz[0] - mhz[1]) < 0 ? -(mhz[0] - mhz[1]) : (mhz[0] - mhz[1])) <= 1)
                 return mhz[0];
 
         return -1;
 }
 
 void
 save_data(result_t* data, result_t* data_save)
 {
         int i;
 
         for (i = 0; i < (sizeof(loops) / sizeof(loop_f)); ++i) {
                 data_save[i] = data[i];
         }
 }
 
 void
 print_data(double mhz, result_t* data)
 {
         int i, j;
         char *CPU_name = "CPU";
         char *uname = "uname";
         char *email = "email";
         int speed = -1;
         char *names[(sizeof(loops) / sizeof(loop_f))];
 
         names[0] = name_1();
         names[1] = name_2();
         names[2] = name_3();
         names[3] = name_4();
         names[4] = name_5();
         names[5] = name_6();
         names[6] = name_7();
         names[7] = name_8();
         names[8] = name_9();
 
         printf("/* \"%s\", \"%s\", \"%s\", %d, %.0f, %d, %f, %f */\n",
                CPU_name, uname, email, speed,
                mhz, get_enough(0), l_overhead(), t_overhead());
         printf("result_t* data[] = { \n");
         for (i = 0; i < (sizeof(loops) / sizeof(loop_f)); ++i) {
             printf("\t/* %s */ { %d, {", names[i], data[i].N);
             for (j = 0; j < data[i].N; ++j) {
                 printf("\n\t\t{ /* %f */ %lu, %lu}", data[i].v[j].u / (100. * data[i].v[j].n), (unsigned long)data[i].v[j].u, (unsigned long)data[i].v[j].n);
                 if (j < 11 - 1) printf(", ");
             }
             if (i < (sizeof(loops) / sizeof(loop_f)) - 1) printf("}},\n");
             else printf("}}\n");
         }
         printf("};\n");
 }
 
 int
 main(int ac, char **av)
 {
         int c, i, j, k, mhz = -1;
         double runtime;
         result_t data[(sizeof(loops) / sizeof(loop_f))];
         result_t data_save[(sizeof(loops) / sizeof(loop_f))];
         char *usage = "[-d] [-c]\n";
 
         putenv("LOOP_O=0.0");
 
         runtime = ((sizeof(loops) / sizeof(loop_f)) * 11 * 3 * get_enough(0)) / 1000000.;
         if (runtime > 3.) {
           fprintf(stderr, "mhz: should take approximately %.0f seconds\n", runtime);
         }
 
 
         for (i = 0; i < 3 && mhz < 0; ++i) {
 
             for (j = 0; j < (sizeof(loops) / sizeof(loop_f)); ++j)
                 insertinit(&data[j]);
 
 
 
 
 
 
 
             for (j = 0; j < 11; ++j) {
                 for (k = 0; k < (sizeof(loops) / sizeof(loop_f)); ++k) {
                     (*loops[k])(0);
                     insertsort(usecs_spent(), get_n(), &data[k]);
                 }
             }
             save_data(data, data_save);
             mhz = compute_mhz(data);
         }
 
         while (( c = mygetopt(ac, av, "cd")) != (-1)) {
                 switch(c) {
                 case 'c':
                         if (mhz > 0) {
                                 printf("%.4f\n", 1000. / (double)mhz);
                                 mhz = 0;
                         }
                         break;
                 case 'd':
                         print_data(mhz, data_save);
                         break;
                 default:
                         lmbench_usage(ac, av, usage);
                         break;
                 }
         }
 
         if (mhz < 0) {
                 printf("-1 System too busy\n");
                 exit(1);
         }
 
         if (mhz > 0) {
                 printf("%d MHz, %.4f nanosec clock\n",
                        mhz, 1000. / (double)mhz);
         }
         exit(0);
 }
----gnatsweb-attachment----
Content-Type: text/plain; name="mhz.i"
Content-Disposition: inline; filename="mhz.i"

# 1 "mhz.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "mhz.c"
# 104 "mhz.c"
char *id = "$Id$\n";

# 1 "bench.h" 1
# 12 "bench.h"
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/assert.h" 1 3
# 36 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/assert.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/features.h" 1 3
# 283 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/features.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/cdefs.h" 1 3
# 284 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/features.h" 2 3
# 312 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/features.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/gnu/stubs.h" 1 3
# 313 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/features.h" 2 3
# 37 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/assert.h" 2 3
# 65 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/assert.h" 3



extern void __assert_fail (__const char *__assertion, __const char *__file,
                           unsigned int __line, __const char *__function)
     __attribute__ ((__noreturn__));


extern void __assert_perror_fail (int __errnum, __const char *__file,
                                  unsigned int __line,
                                  __const char *__function)
     __attribute__ ((__noreturn__));




extern void __assert (const char *__assertion, const char *__file, int __line)
     __attribute__ ((__noreturn__));



# 13 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 1 3
# 27 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/types.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/types.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 201 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 3
typedef unsigned int size_t;
# 30 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/types.h" 2 3


typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;

__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;

typedef __quad_t *__qaddr_t;

typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;

typedef struct
  {
    int __val[2];
  } __fsid_t;


typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;

typedef long int __clock_t;


typedef int __clockid_t;


typedef int __timer_t;






typedef int __key_t;


typedef unsigned short int __ipc_pid_t;



typedef long int __blksize_t;




typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;


typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;


typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;


typedef __u_quad_t __ino64_t;


typedef __loff_t __off64_t;


typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;


typedef int __intptr_t;


typedef unsigned int __socklen_t;




# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/pthreadtypes.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sched.h" 1 3
# 68 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sched.h" 3
struct __sched_param
  {
    int __sched_priority;
  };
# 24 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/pthreadtypes.h" 2 3


struct _pthread_fastlock
{
  long int __status;
  int __spinlock;

};



typedef struct _pthread_descr_struct *_pthread_descr;





typedef struct __pthread_attr_s
{
  int __detachstate;
  int __schedpolicy;
  struct __sched_param __schedparam;
  int __inheritsched;
  int __scope;
  size_t __guardsize;
  int __stackaddr_set;
  void *__stackaddr;
  size_t __stacksize;
} pthread_attr_t;



typedef struct
{
  struct _pthread_fastlock __c_lock;
  _pthread_descr __c_waiting;
} pthread_cond_t;



typedef struct
{
  int __dummy;
} pthread_condattr_t;


typedef unsigned int pthread_key_t;





typedef struct
{
  int __m_reserved;
  int __m_count;
  _pthread_descr __m_owner;
  int __m_kind;
  struct _pthread_fastlock __m_lock;
} pthread_mutex_t;



typedef struct
{
  int __mutexkind;
} pthread_mutexattr_t;



typedef int pthread_once_t;
# 140 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/pthreadtypes.h" 3
typedef unsigned long int pthread_t;
# 144 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/types.h" 2 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 2 3


# 40 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/endian.h" 1 3
# 37 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/endian.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/endian.h" 1 3
# 38 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/endian.h" 2 3
# 41 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 2 3






enum
{
  _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
  _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
  _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
  _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
  _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
  _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
  _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
  _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
  _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
  _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
  _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
  _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
};
# 75 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 3
extern __const unsigned short int *__ctype_b;
extern __const __int32_t *__ctype_tolower;
extern __const __int32_t *__ctype_toupper;
# 91 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 3
extern int isalnum (int) ;
extern int isalpha (int) ;
extern int iscntrl (int) ;
extern int isdigit (int) ;
extern int islower (int) ;
extern int isgraph (int) ;
extern int isprint (int) ;
extern int ispunct (int) ;
extern int isspace (int) ;
extern int isupper (int) ;
extern int isxdigit (int) ;







extern int tolower (int __c) ;


extern int toupper (int __c) ;






extern int isascii (int __c) ;



extern int toascii (int __c) ;



extern int _toupper (int) ;
extern int _tolower (int) ;
# 167 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 3
extern __inline int
tolower (int __c)
{
  return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c;
}

extern __inline int
toupper (int __c)
{
  return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c;
}
# 276 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/ctype.h" 3

# 14 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 1 3
# 39 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3




# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 44 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 2 3
# 54 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 64 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 74 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 1 3
# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 1 3
# 14 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 294 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 3
typedef long int wchar_t;
# 321 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 2 3
# 24 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 1 3
# 48 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 49 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 2 3

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/wchar.h" 1 3
# 51 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 2 3
# 67 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 3
typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    char __wchb[4];
  } __value;
} __mbstate_t;
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 2 3

typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;
# 44 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/gconv.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/gconv.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 1 3
# 48 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 49 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/wchar.h" 2 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/gconv.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/gconv.h" 2 3





enum
{
  __GCONV_OK = 0,
  __GCONV_NOCONV,
  __GCONV_NODB,
  __GCONV_NOMEM,

  __GCONV_EMPTY_INPUT,
  __GCONV_FULL_OUTPUT,
  __GCONV_ILLEGAL_INPUT,
  __GCONV_INCOMPLETE_INPUT,

  __GCONV_ILLEGAL_DESCRIPTOR,
  __GCONV_INTERNAL_ERROR
};



enum
{
  __GCONV_IS_LAST = 0x0001,
  __GCONV_IGNORE_ERRORS = 0x0002
};



struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;



typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
                            __const unsigned char **, __const unsigned char *,
                            unsigned char **, size_t *, int, int);


typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);



typedef int (*__gconv_trans_fct) (struct __gconv_step *,
                                  struct __gconv_step_data *, void *,
                                  __const unsigned char *,
                                  __const unsigned char **,
                                  __const unsigned char *, unsigned char **,
                                  size_t *);


typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
                                          __const unsigned char *,
                                          unsigned char *, unsigned char *);


typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
                                        size_t *);


typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);

struct __gconv_trans_data
{

  __gconv_trans_fct __trans_fct;
  __gconv_trans_context_fct __trans_context_fct;
  __gconv_trans_end_fct __trans_end_fct;
  void *__data;
  struct __gconv_trans_data *__next;
};



struct __gconv_step
{
  struct __gconv_loaded_object *__shlib_handle;
  __const char *__modname;

  int __counter;

  char *__from_name;
  char *__to_name;

  __gconv_fct __fct;
  __gconv_init_fct __init_fct;
  __gconv_end_fct __end_fct;



  int __min_needed_from;
  int __max_needed_from;
  int __min_needed_to;
  int __max_needed_to;


  int __stateful;

  void *__data;
};



struct __gconv_step_data
{
  unsigned char *__outbuf;
  unsigned char *__outbufend;



  int __flags;



  int __invocation_counter;



  int __internal_use;

  __mbstate_t *__statep;
  __mbstate_t __state;



  struct __gconv_trans_data *__trans;
};



typedef struct __gconv_info
{
  size_t __nsteps;
  struct __gconv_step *__steps;
  __extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/_G_config.h" 2 3
typedef union
{
  struct __gconv_info __cd;
  struct
  {
    struct __gconv_info __cd;
    struct __gconv_step_data __data;
  } __combined;
} _G_iconv_t;

typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 33 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 2 3
# 53 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdarg.h" 1 3
# 43 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 54 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 2 3
# 160 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 170 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
typedef void _IO_lock_t;





struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;



  int _pos;
# 193 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 261 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
struct _IO_FILE {
  int _flags;




  char* _IO_read_ptr;
  char* _IO_read_end;
  char* _IO_read_base;
  char* _IO_write_base;
  char* _IO_write_ptr;
  char* _IO_write_end;
  char* _IO_buf_base;
  char* _IO_buf_end;

  char *_IO_save_base;
  char *_IO_backup_base;
  char *_IO_save_end;

  struct _IO_marker *_markers;

  struct _IO_FILE *_chain;

  int _fileno;
  int _blksize;
  __off_t _old_offset;



  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];



  _IO_lock_t *_lock;
# 305 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
  __off64_t _offset;





  void *__pad1;
  void *__pad2;

  int _mode;

  char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];

};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;

extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 344 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);







typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
                                 size_t __n);







typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);


typedef int __io_close_fn (void *__cookie);
# 396 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
extern int __underflow (_IO_FILE *) ;
extern int __uflow (_IO_FILE *) ;
extern int __overflow (_IO_FILE *, int) ;
extern wint_t __wunderflow (_IO_FILE *) ;
extern wint_t __wuflow (_IO_FILE *) ;
extern wint_t __woverflow (_IO_FILE *, wint_t) ;
# 426 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;

extern int _IO_peekc_locked (_IO_FILE *__fp) ;





extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 456 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
                        __gnuc_va_list, int *__restrict) ;
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
                         __gnuc_va_list) ;
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ;
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ;

extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ;
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ;

extern void _IO_free_backup_area (_IO_FILE *) ;
# 75 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 2 3
# 89 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
typedef _G_fpos_t fpos_t;
# 138 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/stdio_lim.h" 1 3
# 139 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 2 3



extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;






extern int remove (__const char *__filename) ;

extern int rename (__const char *__old, __const char *__new) ;




extern FILE *tmpfile (void) ;
# 170 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern char *tmpnam (char *__s) ;




extern char *tmpnam_r (char *__s) ;
# 187 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
     __attribute__ ((__malloc__));




extern int fclose (FILE *__stream) ;

extern int fflush (FILE *__stream) ;



extern int fflush_unlocked (FILE *__stream) ;
# 210 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes) ;

extern FILE *freopen (__const char *__restrict __filename,
                      __const char *__restrict __modes,
                      FILE *__restrict __stream) ;
# 240 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern FILE *fdopen (int __fd, __const char *__modes) ;
# 263 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ;



extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
                    int __modes, size_t __n) ;




extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
                       size_t __size) ;


extern void setlinebuf (FILE *__stream) ;




extern int fprintf (FILE *__restrict __stream,
                    __const char *__restrict __format, ...) ;

extern int printf (__const char *__restrict __format, ...) ;

extern int sprintf (char *__restrict __s,
                    __const char *__restrict __format, ...) ;


extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) ;

extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg)
     ;

extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) ;



extern int snprintf (char *__restrict __s, size_t __maxlen,
                     __const char *__restrict __format, ...)
     __attribute__ ((__format__ (__printf__, 3, 4)));

extern int vsnprintf (char *__restrict __s, size_t __maxlen,
                      __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__printf__, 3, 0)));
# 334 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern int fscanf (FILE *__restrict __stream,
                   __const char *__restrict __format, ...) ;

extern int scanf (__const char *__restrict __format, ...) ;

extern int sscanf (__const char *__restrict __s,
                   __const char *__restrict __format, ...) ;
# 360 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;


extern int getchar (void) ;







extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;




extern int fgetc_unlocked (FILE *__stream) ;




extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;


extern int putchar (int __c) ;







extern int fputc_unlocked (int __c, FILE *__stream) ;




extern int putc_unlocked (int __c, FILE *__stream) ;
extern int putchar_unlocked (int __c) ;





extern int getw (FILE *__stream) ;


extern int putw (int __w, FILE *__stream) ;




extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
     ;
# 426 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern char *gets (char *__s) ;
# 450 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
     ;
# 460 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern int puts (__const char *__s) ;



extern int ungetc (int __c, FILE *__stream) ;



extern size_t fread (void *__restrict __ptr, size_t __size,
                     size_t __n, FILE *__restrict __stream) ;

extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
                      size_t __n, FILE *__restrict __s) ;



extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
                              size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
                               size_t __n, FILE *__restrict __stream) ;




extern int fseek (FILE *__stream, long int __off, int __whence) ;

extern long int ftell (FILE *__stream) ;

extern void rewind (FILE *__stream) ;
# 504 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
     ;

extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 540 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern void clearerr (FILE *__stream) ;

extern int feof (FILE *__stream) ;

extern int ferror (FILE *__stream) ;



extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;




extern void perror (__const char *__s) ;




extern int sys_nerr;
extern __const char *__const sys_errlist[];
# 571 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern int fileno (FILE *__stream) ;




extern int fileno_unlocked (FILE *__stream) ;






extern FILE *popen (__const char *__command, __const char *__modes) ;


extern int pclose (FILE *__stream) ;





extern char *ctermid (char *__s) ;
# 618 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
extern void flockfile (FILE *__stream) ;



extern int ftrylockfile (FILE *__stream) ;


extern void funlockfile (FILE *__stream) ;
# 639 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/stdio.h" 1 3
# 33 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
  return vfprintf (stdout, __fmt, __arg);
}


extern __inline int
getchar (void)
{
  return _IO_getc (stdin);
}




extern __inline int
getc_unlocked (FILE *__fp)
{
  return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}


extern __inline int
getchar_unlocked (void)
{
  return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}




extern __inline int
putchar (int __c)
{
  return _IO_putc (__c, stdout);
}




extern __inline int
fputc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}





extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}


extern __inline int
putchar_unlocked (int __c)
{
  return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
# 111 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/stdio.h" 3
extern __inline int
feof_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x10) != 0);
}


extern __inline int
ferror_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x20) != 0);
}
# 640 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stdio.h" 2 3



# 15 "bench.h" 2

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3

# 175 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/posix_opt.h" 1 3
# 176 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 2 3
# 193 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
typedef __ssize_t ssize_t;





# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 200 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 2 3
# 240 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
typedef __intptr_t intptr_t;






typedef __socklen_t socklen_t;
# 260 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
# 290 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 306 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int close (int __fd) ;



extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;


extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
# 353 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int pipe (int __pipedes[2]) ;
# 362 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 371 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;






extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
     ;



extern int usleep (__useconds_t __useconds) ;





extern int pause (void) ;



extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
     ;



extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;




extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
     ;




extern int chdir (__const char *__path) ;



extern int fchdir (int __fd) ;
# 423 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
# 436 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern char *getwd (char *__buf) ;




extern int dup (int __fd) ;


extern int dup2 (int __fd, int __fd2) ;


extern char **__environ;







extern int execve (__const char *__path, char *__const __argv[],
                   char *__const __envp[]) ;
# 467 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int execv (__const char *__path, char *__const __argv[]) ;



extern int execle (__const char *__path, __const char *__arg, ...) ;



extern int execl (__const char *__path, __const char *__arg, ...) ;



extern int execvp (__const char *__file, char *__const __argv[]) ;




extern int execlp (__const char *__file, __const char *__arg, ...) ;




extern int nice (int __inc) ;




extern void _exit (int __status) __attribute__ ((__noreturn__));





# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/confname.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/confname.h" 3
enum
  {
    _PC_LINK_MAX,

    _PC_MAX_CANON,

    _PC_MAX_INPUT,

    _PC_NAME_MAX,

    _PC_PATH_MAX,

    _PC_PIPE_BUF,

    _PC_CHOWN_RESTRICTED,

    _PC_NO_TRUNC,

    _PC_VDISABLE,

    _PC_SYNC_IO,

    _PC_ASYNC_IO,

    _PC_PRIO_IO,

    _PC_SOCK_MAXBUF,

    _PC_FILESIZEBITS,

    _PC_REC_INCR_XFER_SIZE,

    _PC_REC_MAX_XFER_SIZE,

    _PC_REC_MIN_XFER_SIZE,

    _PC_REC_XFER_ALIGN,

    _PC_ALLOC_SIZE_MIN,

    _PC_SYMLINK_MAX

  };


enum
  {
    _SC_ARG_MAX,

    _SC_CHILD_MAX,

    _SC_CLK_TCK,

    _SC_NGROUPS_MAX,

    _SC_OPEN_MAX,

    _SC_STREAM_MAX,

    _SC_TZNAME_MAX,

    _SC_JOB_CONTROL,

    _SC_SAVED_IDS,

    _SC_REALTIME_SIGNALS,

    _SC_PRIORITY_SCHEDULING,

    _SC_TIMERS,

    _SC_ASYNCHRONOUS_IO,

    _SC_PRIORITIZED_IO,

    _SC_SYNCHRONIZED_IO,

    _SC_FSYNC,

    _SC_MAPPED_FILES,

    _SC_MEMLOCK,

    _SC_MEMLOCK_RANGE,

    _SC_MEMORY_PROTECTION,

    _SC_MESSAGE_PASSING,

    _SC_SEMAPHORES,

    _SC_SHARED_MEMORY_OBJECTS,

    _SC_AIO_LISTIO_MAX,

    _SC_AIO_MAX,

    _SC_AIO_PRIO_DELTA_MAX,

    _SC_DELAYTIMER_MAX,

    _SC_MQ_OPEN_MAX,

    _SC_MQ_PRIO_MAX,

    _SC_VERSION,

    _SC_PAGESIZE,


    _SC_RTSIG_MAX,

    _SC_SEM_NSEMS_MAX,

    _SC_SEM_VALUE_MAX,

    _SC_SIGQUEUE_MAX,

    _SC_TIMER_MAX,




    _SC_BC_BASE_MAX,

    _SC_BC_DIM_MAX,

    _SC_BC_SCALE_MAX,

    _SC_BC_STRING_MAX,

    _SC_COLL_WEIGHTS_MAX,

    _SC_EQUIV_CLASS_MAX,

    _SC_EXPR_NEST_MAX,

    _SC_LINE_MAX,

    _SC_RE_DUP_MAX,

    _SC_CHARCLASS_NAME_MAX,


    _SC_2_VERSION,

    _SC_2_C_BIND,

    _SC_2_C_DEV,

    _SC_2_FORT_DEV,

    _SC_2_FORT_RUN,

    _SC_2_SW_DEV,

    _SC_2_LOCALEDEF,


    _SC_PII,

    _SC_PII_XTI,

    _SC_PII_SOCKET,

    _SC_PII_INTERNET,

    _SC_PII_OSI,

    _SC_POLL,

    _SC_SELECT,

    _SC_UIO_MAXIOV,

    _SC_IOV_MAX = _SC_UIO_MAXIOV,

    _SC_PII_INTERNET_STREAM,

    _SC_PII_INTERNET_DGRAM,

    _SC_PII_OSI_COTS,

    _SC_PII_OSI_CLTS,

    _SC_PII_OSI_M,

    _SC_T_IOV_MAX,



    _SC_THREADS,

    _SC_THREAD_SAFE_FUNCTIONS,

    _SC_GETGR_R_SIZE_MAX,

    _SC_GETPW_R_SIZE_MAX,

    _SC_LOGIN_NAME_MAX,

    _SC_TTY_NAME_MAX,

    _SC_THREAD_DESTRUCTOR_ITERATIONS,

    _SC_THREAD_KEYS_MAX,

    _SC_THREAD_STACK_MIN,

    _SC_THREAD_THREADS_MAX,

    _SC_THREAD_ATTR_STACKADDR,

    _SC_THREAD_ATTR_STACKSIZE,

    _SC_THREAD_PRIORITY_SCHEDULING,

    _SC_THREAD_PRIO_INHERIT,

    _SC_THREAD_PRIO_PROTECT,

    _SC_THREAD_PROCESS_SHARED,


    _SC_NPROCESSORS_CONF,

    _SC_NPROCESSORS_ONLN,

    _SC_PHYS_PAGES,

    _SC_AVPHYS_PAGES,

    _SC_ATEXIT_MAX,

    _SC_PASS_MAX,


    _SC_XOPEN_VERSION,

    _SC_XOPEN_XCU_VERSION,

    _SC_XOPEN_UNIX,

    _SC_XOPEN_CRYPT,

    _SC_XOPEN_ENH_I18N,

    _SC_XOPEN_SHM,


    _SC_2_CHAR_TERM,

    _SC_2_C_VERSION,

    _SC_2_UPE,


    _SC_XOPEN_XPG2,

    _SC_XOPEN_XPG3,

    _SC_XOPEN_XPG4,


    _SC_CHAR_BIT,

    _SC_CHAR_MAX,

    _SC_CHAR_MIN,

    _SC_INT_MAX,

    _SC_INT_MIN,

    _SC_LONG_BIT,

    _SC_WORD_BIT,

    _SC_MB_LEN_MAX,

    _SC_NZERO,

    _SC_SSIZE_MAX,

    _SC_SCHAR_MAX,

    _SC_SCHAR_MIN,

    _SC_SHRT_MAX,

    _SC_SHRT_MIN,

    _SC_UCHAR_MAX,

    _SC_UINT_MAX,

    _SC_ULONG_MAX,

    _SC_USHRT_MAX,


    _SC_NL_ARGMAX,

    _SC_NL_LANGMAX,

    _SC_NL_MSGMAX,

    _SC_NL_NMAX,

    _SC_NL_SETMAX,

    _SC_NL_TEXTMAX,


    _SC_XBS5_ILP32_OFF32,

    _SC_XBS5_ILP32_OFFBIG,

    _SC_XBS5_LP64_OFF64,

    _SC_XBS5_LPBIG_OFFBIG,


    _SC_XOPEN_LEGACY,

    _SC_XOPEN_REALTIME,

    _SC_XOPEN_REALTIME_THREADS,


    _SC_ADVISORY_INFO,

    _SC_BARRIERS,

    _SC_BASE,

    _SC_C_LANG_SUPPORT,

    _SC_C_LANG_SUPPORT_R,

    _SC_CLOCK_SELECTION,

    _SC_CPUTIME,

    _SC_THREAD_CPUTIME,

    _SC_DEVICE_IO,

    _SC_DEVICE_SPECIFIC,

    _SC_DEVICE_SPECIFIC_R,

    _SC_FD_MGMT,

    _SC_FIFO,

    _SC_PIPE,

    _SC_FILE_ATTRIBUTES,

    _SC_FILE_LOCKING,

    _SC_FILE_SYSTEM,

    _SC_MONOTONIC_CLOCK,

    _SC_MULTI_PROCESS,

    _SC_SINGLE_PROCESS,

    _SC_NETWORKING,

    _SC_READER_WRITER_LOCKS,

    _SC_SPIN_LOCKS,

    _SC_REGEXP,

    _SC_REGEX_VERSION,

    _SC_SHELL,

    _SC_SIGNALS,

    _SC_SPAWN,

    _SC_SPORADIC_SERVER,

    _SC_THREAD_SPORADIC_SERVER,

    _SC_SYSTEM_DATABASE,

    _SC_SYSTEM_DATABASE_R,

    _SC_TIMEOUTS,

    _SC_TYPED_MEMORY_OBJECTS,

    _SC_USER_GROUPS,

    _SC_USER_GROUPS_R,

    _SC_2_PBS,

    _SC_2_PBS_ACCOUNTING,

    _SC_2_PBS_LOCATE,

    _SC_2_PBS_MESSAGE,

    _SC_2_PBS_TRACK,

    _SC_SYMLOOP_MAX,

    _SC_STREAMS,

    _SC_2_PBS_CHECKPOINT,


    _SC_V6_ILP32_OFF32,

    _SC_V6_ILP32_OFFBIG,

    _SC_V6_LP64_OFF64,

    _SC_V6_LPBIG_OFFBIG,


    _SC_HOST_NAME_MAX,

    _SC_TRACE,

    _SC_TRACE_EVENT_FILTER,

    _SC_TRACE_INHERIT,

    _SC_TRACE_LOG

  };





enum
  {
    _CS_PATH,
# 563 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/confname.h" 3
    _CS_V6_WIDTH_RESTRICTED_ENVS

  };
# 501 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 2 3


extern long int pathconf (__const char *__path, int __name) ;


extern long int fpathconf (int __fd, int __name) ;


extern long int sysconf (int __name) __attribute__ ((__const__));



extern size_t confstr (int __name, char *__buf, size_t __len) ;




extern __pid_t getpid (void) ;


extern __pid_t getppid (void) ;




extern __pid_t getpgrp (void) ;
# 536 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;
# 545 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 562 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int setpgrp (void) ;
# 580 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern __pid_t setsid (void) ;







extern __uid_t getuid (void) ;


extern __uid_t geteuid (void) ;


extern __gid_t getgid (void) ;


extern __gid_t getegid (void) ;




extern int getgroups (int __size, __gid_t __list[]) ;
# 613 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int setuid (__uid_t __uid) ;




extern int setreuid (__uid_t __ruid, __uid_t __euid) ;




extern int seteuid (__uid_t __uid) ;






extern int setgid (__gid_t __gid) ;




extern int setregid (__gid_t __rgid, __gid_t __egid) ;




extern int setegid (__gid_t __gid) ;






extern __pid_t fork (void) ;






extern __pid_t vfork (void) ;





extern char *ttyname (int __fd) ;



extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;



extern int isatty (int __fd) ;





extern int ttyslot (void) ;




extern int link (__const char *__from, __const char *__to) ;



extern int symlink (__const char *__from, __const char *__to) ;




extern int readlink (__const char *__restrict __path, char *__restrict __buf,
                     size_t __len) ;



extern int unlink (__const char *__name) ;


extern int rmdir (__const char *__path) ;



extern __pid_t tcgetpgrp (int __fd) ;


extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;



extern char *getlogin (void) ;
# 717 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int setlogin (__const char *__name) ;
# 726 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/getopt.h" 1 3
# 47 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/getopt.h" 3
extern char *optarg;
# 61 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/getopt.h" 3
extern int optind;




extern int opterr;



extern int optopt;
# 145 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/getopt.h" 3
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
# 727 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 2 3







extern int gethostname (char *__name, size_t __len) ;






extern int sethostname (__const char *__name, size_t __len) ;



extern int sethostid (long int __id) ;





extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;





extern int vhangup (void) ;


extern int revoke (__const char *__file) ;







extern int profil (unsigned short int *__sample_buffer, size_t __size,
                   size_t __offset, unsigned int __scale) ;





extern int acct (__const char *__name) ;



extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;





extern int daemon (int __nochdir, int __noclose) ;






extern int chroot (__const char *__path) ;



extern char *getpass (__const char *__prompt) ;





extern int fsync (int __fd) ;






extern long int gethostid (void) ;


extern void sync (void) ;




extern int getpagesize (void) __attribute__ ((__const__));




extern int truncate (__const char *__file, __off_t __length) ;
# 841 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int ftruncate (int __fd, __off_t __length) ;
# 857 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int getdtablesize (void) ;
# 866 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int brk (void *__addr) ;





extern void *sbrk (intptr_t __delta) ;
# 887 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 907 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 938 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
# 983 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void),
                           void (*__parent) (void),
                           void (*__child) (void)) ;



# 17 "bench.h" 2

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 1 3
# 33 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 34 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 2 3


# 94 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
typedef struct
  {
    int quot;
    int rem;
  } div_t;



typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;
# 133 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern size_t __ctype_get_mb_cur_max (void) ;



extern double atof (__const char *__nptr) __attribute__ ((__pure__));

extern int atoi (__const char *__nptr) __attribute__ ((__pure__));

extern long int atol (__const char *__nptr) __attribute__ ((__pure__));



__extension__ extern long long int atoll (__const char *__nptr)
     __attribute__ ((__pure__));



extern double strtod (__const char *__restrict __nptr,
                      char **__restrict __endptr) ;
# 163 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern long int strtol (__const char *__restrict __nptr,
                        char **__restrict __endptr, int __base) ;

extern unsigned long int strtoul (__const char *__restrict __nptr,
                                  char **__restrict __endptr, int __base)
     ;



__extension__
extern long long int strtoq (__const char *__restrict __nptr,
                             char **__restrict __endptr, int __base) ;

__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
                                       char **__restrict __endptr, int __base)
     ;






__extension__
extern long long int strtoll (__const char *__restrict __nptr,
                              char **__restrict __endptr, int __base) ;

__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
                                        char **__restrict __endptr, int __base)
     ;
# 250 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern double __strtod_internal (__const char *__restrict __nptr,
                                 char **__restrict __endptr, int __group)
     ;
extern float __strtof_internal (__const char *__restrict __nptr,
                                char **__restrict __endptr, int __group)
     ;
extern long double __strtold_internal (__const char *__restrict __nptr,
                                       char **__restrict __endptr,
                                       int __group) ;

extern long int __strtol_internal (__const char *__restrict __nptr,
                                   char **__restrict __endptr,
                                   int __base, int __group) ;



extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
                                             char **__restrict __endptr,
                                             int __base, int __group) ;




__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
                                         char **__restrict __endptr,
                                         int __base, int __group) ;



__extension__
extern unsigned long long int __strtoull_internal (__const char *
                                                   __restrict __nptr,
                                                   char **__restrict __endptr,
                                                   int __base, int __group)
     ;







extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr)
{
  return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoul_internal (__nptr, __endptr, __base, 0);
}
# 325 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}



__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
          int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}


extern __inline double
atof (__const char *__nptr)
{
  return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
atoi (__const char *__nptr)
{
  return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
atol (__const char *__nptr)
{
  return strtol (__nptr, (char **) ((void *)0), 10);
}


__extension__ extern __inline long long int
atoll (__const char *__nptr)
{
  return strtoll (__nptr, (char **) ((void *)0), 10);
}
# 384 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern char *l64a (long int __n) ;


extern long int a64l (__const char *__s) __attribute__ ((__pure__));


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3






typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;




typedef __loff_t loff_t;



typedef __ino_t ino_t;
# 61 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
typedef __dev_t dev_t;




typedef __gid_t gid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __uid_t uid_t;





typedef __off_t off_t;
# 99 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
typedef __pid_t pid_t;




typedef __id_t id_t;
# 115 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;





typedef __key_t key_t;
# 132 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 1 3
# 70 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
typedef __time_t time_t;
# 82 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
typedef __clockid_t clockid_t;
# 94 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
typedef __timer_t timer_t;
# 133 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 2 3
# 146 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 147 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 2 3



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));


typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));

typedef int register_t __attribute__ ((__mode__ (__word__)));
# 215 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 1 3
# 31 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/select.h" 1 3
# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigset.h" 1 3
# 23 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigset.h" 3
typedef int __sig_atomic_t;




typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
# 35 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 2 3



typedef __sigset_t sigset_t;





# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 1 3
# 106 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
# 45 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 2 3

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/time.h" 1 3
# 63 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/time.h" 3
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
# 47 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 2 3


typedef __suseconds_t suseconds_t;





typedef long int __fd_mask;







typedef struct
  {






    __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];


  } fd_set;






typedef __fd_mask fd_mask;
# 95 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 3







extern int select (int __nfds, fd_set *__restrict __readfds,
                   fd_set *__restrict __writefds,
                   fd_set *__restrict __exceptfds,
                   struct timeval *__restrict __timeout) ;
# 118 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/select.h" 3

# 216 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/sysmacros.h" 1 3
# 219 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 2 3
# 230 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3
typedef __blkcnt_t blkcnt_t;



typedef __fsblkcnt_t fsblkcnt_t;



typedef __fsfilcnt_t fsfilcnt_t;
# 262 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/types.h" 3

# 391 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 2 3






extern long int random (void) ;


extern void srandom (unsigned int __seed) ;





extern char *initstate (unsigned int __seed, char *__statebuf,
                        size_t __statelen) ;



extern char *setstate (char *__statebuf) ;







struct random_data
  {
    int32_t *fptr;
    int32_t *rptr;
    int32_t *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int32_t *end_ptr;
  };

extern int random_r (struct random_data *__restrict __buf,
                     int32_t *__restrict __result) ;

extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;

extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
                        size_t __statelen,
                        struct random_data *__restrict __buf) ;

extern int setstate_r (char *__restrict __statebuf,
                       struct random_data *__restrict __buf) ;





extern int rand (void) ;

extern void srand (unsigned int __seed) ;



extern int rand_r (unsigned int *__seed) ;







extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;


extern long int lrand48 (void) ;
extern long int nrand48 (unsigned short int __xsubi[3]) ;


extern long int mrand48 (void) ;
extern long int jrand48 (unsigned short int __xsubi[3]) ;


extern void srand48 (long int __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;





struct drand48_data
  {
    unsigned short int __x[3];
    unsigned short int __old_x[3];
    unsigned short int __c;
    unsigned short int __init;
    unsigned long long int __a;
  };


extern int drand48_r (struct drand48_data *__restrict __buffer,
                      double *__restrict __result) ;
extern int erand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      double *__restrict __result) ;


extern int lrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;
extern int nrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;


extern int mrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;
extern int jrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;


extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
     ;

extern int seed48_r (unsigned short int __seed16v[3],
                     struct drand48_data *__buffer) ;

extern int lcong48_r (unsigned short int __param[7],
                      struct drand48_data *__buffer) ;
# 527 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));

extern void *calloc (size_t __nmemb, size_t __size)
     __attribute__ ((__malloc__));





extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__));

extern void free (void *__ptr) ;



extern void cfree (void *__ptr) ;



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/alloca.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/alloca.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/alloca.h" 2 3







extern void *alloca (size_t __size) ;






# 547 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 2 3




extern void *valloc (size_t __size) __attribute__ ((__malloc__));
# 561 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern void abort (void) __attribute__ ((__noreturn__));



extern int atexit (void (*__func) (void)) ;




extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
     ;





extern void exit (int __status) __attribute__ ((__noreturn__));
# 587 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern char *getenv (__const char *__name) ;



extern char *__secure_getenv (__const char *__name) ;





extern int putenv (char *__string) ;





extern int setenv (__const char *__name, __const char *__value, int __replace)
     ;


extern int unsetenv (__const char *__name) ;






extern int clearenv (void) ;
# 623 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) ;







extern int mkstemp (char *__template) ;
# 650 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern char *mkdtemp (char *__template) ;




extern int system (__const char *__command) ;
# 672 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern char *realpath (__const char *__restrict __name,
                       char *__restrict __resolved) ;






typedef int (*__compar_fn_t) (__const void *, __const void *);
# 689 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern void *bsearch (__const void *__key, __const void *__base,
                      size_t __nmemb, size_t __size, __compar_fn_t __compar);



extern void qsort (void *__base, size_t __nmemb, size_t __size,
                   __compar_fn_t __compar);



extern int abs (int __x) __attribute__ ((__const__));
extern long int labs (long int __x) __attribute__ ((__const__));
# 710 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern div_t div (int __numer, int __denom)
     __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
     __attribute__ ((__const__));
# 728 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) ;




extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) ;




extern char *gcvt (double __value, int __ndigit, char *__buf) ;




extern char *qecvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) ;
extern char *qfcvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;




extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) ;
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) ;

extern int qecvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) ;
extern int qfcvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) ;






extern int mblen (__const char *__s, size_t __n) ;


extern int mbtowc (wchar_t *__restrict __pwc,
                   __const char *__restrict __s, size_t __n) ;


extern int wctomb (char *__s, wchar_t __wchar) ;



extern size_t mbstowcs (wchar_t *__restrict __pwcs,
                        __const char *__restrict __s, size_t __n) ;

extern size_t wcstombs (char *__restrict __s,
                        __const wchar_t *__restrict __pwcs, size_t __n)
     ;







extern int rpmatch (__const char *__response) ;
# 858 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdlib.h" 3
extern int getloadavg (double __loadavg[], int __nelem) ;






# 19 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/fcntl.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/fcntl.h" 3




# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/fcntl.h" 1 3
# 137 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/fcntl.h" 3
struct flock
  {
    short int l_type;
    short int l_whence;

    __off_t l_start;
    __off_t l_len;




    __pid_t l_pid;
  };
# 34 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/fcntl.h" 2 3
# 60 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/fcntl.h" 3
extern int fcntl (int __fd, int __cmd, ...) ;





extern int open (__const char *__file, int __oflag, ...) ;
# 83 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/fcntl.h" 3
extern int creat (__const char *__file, __mode_t __mode) ;
# 165 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/fcntl.h" 3

# 20 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 1 3
# 31 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigset.h" 1 3
# 103 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigset.h" 3
extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
# 117 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigset.h" 3
extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; }
extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); }
extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); }
# 34 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3






typedef __sig_atomic_t sig_atomic_t;
# 56 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/signum.h" 1 3
# 57 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3
# 71 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
typedef void (*__sighandler_t) (int);




extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
     ;
# 87 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern __sighandler_t signal (int __sig, __sighandler_t __handler) ;
# 110 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern int kill (__pid_t __pid, int __sig) ;






extern int killpg (__pid_t __pgrp, int __sig) ;




# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigstack.h" 1 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigstack.h" 3
struct sigstack
  {
    void *ss_sp;
    int ss_onstack;
  };



enum
{
  SS_ONSTACK = 1,

  SS_DISABLE

};
# 50 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigstack.h" 3
typedef struct sigaltstack
  {
    void *ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
# 123 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3




extern int raise (int __sig) ;



extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ;
extern int gsignal (int __sig) ;




extern void psignal (int __sig, __const char *__s) ;
# 146 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern int __sigpause (int __sig_or_mask, int __is_sig) ;




extern int sigpause (int __mask) ;
# 174 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern int sigblock (int __mask) ;


extern int sigsetmask (int __mask) ;


extern int siggetmask (void) ;
# 194 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
typedef __sighandler_t sig_t;







# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 1 3
# 203 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/wordsize.h" 1 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 2 3







typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;
# 51 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 3
typedef struct siginfo
  {
    int si_signo;
    int si_errno;

    int si_code;

    union
      {
        int _pad[((128 / sizeof (int)) - 3)];


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
          } _kill;


        struct
          {
            unsigned int _timer1;
            unsigned int _timer2;
          } _timer;


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
            sigval_t si_sigval;
          } _rt;


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
            int si_status;
            __clock_t si_utime;
            __clock_t si_stime;
          } _sigchld;


        struct
          {
            void *si_addr;
          } _sigfault;


        struct
          {
            long int si_band;
            int si_fd;
          } _sigpoll;
      } _sifields;
  } siginfo_t;
# 128 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 3
enum
{
  SI_ASYNCNL = -6,

  SI_SIGIO,

  SI_ASYNCIO,

  SI_MESGQ,

  SI_TIMER,

  SI_QUEUE,

  SI_USER,

  SI_KERNEL = 0x80

};



enum
{
  ILL_ILLOPC = 1,

  ILL_ILLOPN,

  ILL_ILLADR,

  ILL_ILLTRP,

  ILL_PRVOPC,

  ILL_PRVREG,

  ILL_COPROC,

  ILL_BADSTK

};


enum
{
  FPE_INTDIV = 1,

  FPE_INTOVF,

  FPE_FLTDIV,

  FPE_FLTOVF,

  FPE_FLTUND,

  FPE_FLTRES,

  FPE_FLTINV,

  FPE_FLTSUB

};


enum
{
  SEGV_MAPERR = 1,

  SEGV_ACCERR

};


enum
{
  BUS_ADRALN = 1,

  BUS_ADRERR,

  BUS_OBJERR

};


enum
{
  TRAP_BRKPT = 1,

  TRAP_TRACE

};


enum
{
  CLD_EXITED = 1,

  CLD_KILLED,

  CLD_DUMPED,

  CLD_TRAPPED,

  CLD_STOPPED,

  CLD_CONTINUED

};


enum
{
  POLL_IN = 1,

  POLL_OUT,

  POLL_MSG,

  POLL_ERR,

  POLL_PRI,

  POLL_HUP

};
# 271 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 3
struct __pthread_attr_s;

typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;

    union
      {
        int _pad[((64 / sizeof (int)) - 3)];

        struct
          {
            void (*_function) (sigval_t);
            struct __pthread_attr_s *_attribute;
          } _sigev_thread;
      } _sigev_un;
  } sigevent_t;






enum
{
  SIGEV_SIGNAL = 0,

  SIGEV_NONE,

  SIGEV_THREAD

};
# 206 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3



extern int sigemptyset (sigset_t *__set) ;


extern int sigfillset (sigset_t *__set) ;


extern int sigaddset (sigset_t *__set, int __signo) ;


extern int sigdelset (sigset_t *__set, int __signo) ;


extern int sigismember (__const sigset_t *__set, int __signo) ;
# 238 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigaction.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigaction.h" 3
struct sigaction
  {


    union
      {

        __sighandler_t sa_handler;

        void (*sa_sigaction) (int, siginfo_t *, void *);
      }
    __sigaction_handler;







    __sigset_t sa_mask;


    int sa_flags;


    void (*sa_restorer) (void);
  };
# 239 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3


extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
                        sigset_t *__restrict __oset) ;



extern int sigsuspend (__const sigset_t *__set) ;


extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
                      struct sigaction *__restrict __oact) ;


extern int sigpending (sigset_t *__set) ;



extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
     ;



extern int sigwaitinfo (__const sigset_t *__restrict __set,
                        siginfo_t *__restrict __info) ;



extern int sigtimedwait (__const sigset_t *__restrict __set,
                         siginfo_t *__restrict __info,
                         __const struct timespec *__restrict __timeout)
     ;



extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
     ;
# 284 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern __const char *__const _sys_siglist[64];
extern __const char *__const sys_siglist[64];


struct sigvec
  {
    __sighandler_t sv_handler;
    int sv_mask;

    int sv_flags;

  };
# 308 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern int sigvec (int __sig, __const struct sigvec *__vec,
                   struct sigvec *__ovec) ;



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigcontext.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigcontext.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/sigcontext.h" 1 3
# 9 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/sigcontext.h" 3
struct sigcontext {
        unsigned long trap_no;
        unsigned long error_code;
        unsigned long oldmask;
        unsigned long arm_r0;
        unsigned long arm_r1;
        unsigned long arm_r2;
        unsigned long arm_r3;
        unsigned long arm_r4;
        unsigned long arm_r5;
        unsigned long arm_r6;
        unsigned long arm_r7;
        unsigned long arm_r8;
        unsigned long arm_r9;
        unsigned long arm_r10;
        unsigned long arm_fp;
        unsigned long arm_ip;
        unsigned long arm_sp;
        unsigned long arm_lr;
        unsigned long arm_pc;
        unsigned long arm_cpsr;
        unsigned long fault_address;
};
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigcontext.h" 2 3
# 314 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3


extern int sigreturn (struct sigcontext *__scp) ;
# 326 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern int siginterrupt (int __sig, int __interrupt) ;
# 335 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ;



extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
                        struct sigaltstack *__restrict __oss) ;
# 363 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigthread.h" 1 3
# 31 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sigthread.h" 3
extern int pthread_sigmask (int __how,
                            __const __sigset_t *__restrict __newmask,
                            __sigset_t *__restrict __oldmask);


extern int pthread_kill (pthread_t __threadid, int __signo) ;
# 364 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/signal.h" 2 3






extern int __libc_current_sigrtmin (void) ;

extern int __libc_current_sigrtmax (void) ;




# 21 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/errno.h" 1 3
# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/errno.h" 3




# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/errno.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/errno.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/linux/errno.h" 1 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/errno.h" 1 3
# 5 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/linux/errno.h" 2 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/errno.h" 2 3
# 36 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/errno.h" 3
extern int errno;


extern int *__errno_location (void) __attribute__ ((__const__));
# 37 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/errno.h" 2 3
# 59 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/errno.h" 3

# 22 "bench.h" 2

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/strings.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/strings.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 30 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/strings.h" 2 3




extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__pure__));


extern void bcopy (__const void *__src, void *__dest, size_t __n) ;


extern void bzero (void *__s, size_t __n) ;



extern int ffs (int __i) __attribute__ ((const));


extern char *index (__const char *__s, int __c) __attribute__ ((__pure__));


extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__));


extern int strcasecmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));


extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__pure__));


# 24 "bench.h" 2



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 1 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 27 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 2 3
# 42 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mman.h" 1 3
# 43 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 2 3





# 58 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 3
extern void *mmap (void *__addr, size_t __len, int __prot,
                   int __flags, int __fd, __off_t __offset) ;
# 77 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 3
extern int munmap (void *__addr, size_t __len) ;




extern int mprotect (void *__addr, size_t __len, int __prot) ;




extern int msync (void *__addr, size_t __len, int __flags) ;




extern int madvise (void *__addr, size_t __len, int __advice) ;
# 101 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/mman.h" 3
extern int mlock (__const void *__addr, size_t __len) ;


extern int munlock (__const void *__addr, size_t __len) ;




extern int mlockall (int __flags) ;



extern int munlockall (void) ;





extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
                     int __may_move) ;






extern int mincore (void *__start, size_t __len, unsigned char *__vec);




extern int shm_open (__const char *__name, int __oflag, mode_t __mode);


extern int shm_unlink (__const char *__name);


# 28 "bench.h" 2

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 1 3
# 96 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/stat.h" 1 3
# 36 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/stat.h" 3
struct stat
  {
    __dev_t st_dev;
    unsigned short int __pad1;

    __ino_t st_ino;



    __mode_t st_mode;
    __nlink_t st_nlink;
    __uid_t st_uid;
    __gid_t st_gid;
    __dev_t st_rdev;
    unsigned short int __pad2;

    __off_t st_size;



    __blksize_t st_blksize;


    __blkcnt_t st_blocks;



    __time_t st_atime;
    unsigned long int __unused1;
    __time_t st_mtime;
    unsigned long int __unused2;
    __time_t st_ctime;
    unsigned long int __unused3;

    unsigned long int __unused4;
    unsigned long int __unused5;



  };
# 99 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 2 3
# 200 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3
extern int stat (__const char *__restrict __file,
                 struct stat *__restrict __buf) ;



extern int fstat (int __fd, struct stat *__buf) ;
# 228 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3
extern int lstat (__const char *__restrict __file,
                  struct stat *__restrict __buf) ;
# 249 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3
extern int chmod (__const char *__file, __mode_t __mode) ;



extern int fchmod (int __fd, __mode_t __mode) ;





extern __mode_t umask (__mode_t __mask) ;
# 268 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3
extern int mkdir (__const char *__path, __mode_t __mode) ;





extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
     ;




extern int mkfifo (__const char *__path, __mode_t __mode) ;
# 306 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3
extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) ;
extern int __xstat (int __ver, __const char *__filename,
                    struct stat *__stat_buf) ;
extern int __lxstat (int __ver, __const char *__filename,
                     struct stat *__stat_buf) ;
# 337 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3
extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
                     __dev_t *__dev) ;




extern __inline__ int stat (__const char *__path,
                            struct stat *__statbuf)
{
  return __xstat (3, __path, __statbuf);
}


extern __inline__ int lstat (__const char *__path,
                             struct stat *__statbuf)
{
  return __lxstat (3, __path, __statbuf);
}


extern __inline__ int fstat (int __fd, struct stat *__statbuf)
{
  return __fxstat (3, __fd, __statbuf);
}


extern __inline__ int mknod (__const char *__path, __mode_t __mode,
                             __dev_t __dev)
{
  return __xmknod (1, __path, __mode, &__dev);
}
# 395 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/stat.h" 3

# 30 "bench.h" 2

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/resource.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/resource.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/resource.h" 1 3
# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/resource.h" 3
enum __rlimit_resource
{

  RLIMIT_CPU = 0,



  RLIMIT_FSIZE = 1,



  RLIMIT_DATA = 2,



  RLIMIT_STACK = 3,



  RLIMIT_CORE = 4,






  RLIMIT_RSS = 5,



  RLIMIT_NOFILE = 7,
  RLIMIT_OFILE = RLIMIT_NOFILE,




  RLIMIT_AS = 9,



  RLIMIT_NPROC = 6,



  RLIMIT_MEMLOCK = 8,



  RLIMIT_LOCKS = 10,


  RLIMIT_NLIMITS = 11,
  RLIM_NLIMITS = RLIMIT_NLIMITS


};
# 107 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/resource.h" 3
typedef __rlim_t rlim_t;







struct rlimit
  {

    rlim_t rlim_cur;

    rlim_t rlim_max;
  };
# 134 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/resource.h" 3
enum __rusage_who
{

  RUSAGE_SELF = 0,



  RUSAGE_CHILDREN = -1,



  RUSAGE_BOTH = -2

};


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/time.h" 1 3
# 151 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/resource.h" 2 3


struct rusage
  {

    struct timeval ru_utime;

    struct timeval ru_stime;

    long int ru_maxrss;


    long int ru_ixrss;

    long int ru_idrss;

    long int ru_isrss;


    long int ru_minflt;

    long int ru_majflt;

    long int ru_nswap;


    long int ru_inblock;

    long int ru_oublock;

    long int ru_msgsnd;

    long int ru_msgrcv;

    long int ru_nsignals;



    long int ru_nvcsw;


    long int ru_nivcsw;
  };







enum __priority_which
{
  PRIO_PROCESS = 0,

  PRIO_PGRP = 1,

  PRIO_USER = 2

};
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/resource.h" 2 3







# 43 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/resource.h" 3
typedef int __rlimit_resource_t;
typedef int __rusage_who_t;
typedef int __priority_which_t;





extern int getrlimit (__rlimit_resource_t __resource,
                      struct rlimit *__rlimits) ;
# 71 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/resource.h" 3
extern int setrlimit (__rlimit_resource_t __resource,
                      __const struct rlimit *__rlimits) ;
# 89 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/resource.h" 3
extern int getrusage (__rusage_who_t __who, struct rusage *__usage) ;





extern int getpriority (__priority_which_t __which, id_t __who) ;



extern int setpriority (__priority_which_t __which, id_t __who, int __prio)
     ;


# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 2 3





# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/waitflags.h" 1 3
# 38 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 2 3
# 62 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 3
typedef union
  {
    union wait *__uptr;
    int *__iptr;
  } __WAIT_STATUS __attribute__ ((__transparent_union__));
# 79 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/waitstatus.h" 1 3
# 65 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/waitstatus.h" 3
union wait
  {
    int w_status;
    struct
      {

        unsigned int __w_termsig:7;
        unsigned int __w_coredump:1;
        unsigned int __w_retcode:8;
        unsigned int:16;







      } __wait_terminated;
    struct
      {

        unsigned int __w_stopval:8;
        unsigned int __w_stopsig:8;
        unsigned int:16;






      } __wait_stopped;
  };
# 80 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 2 3
# 98 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 3
typedef enum
{
  P_ALL,
  P_PID,
  P_PGID
} idtype_t;





extern __pid_t wait (__WAIT_STATUS __stat_loc) ;
# 129 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 3
extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options) ;



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/wordsize.h" 1 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/siginfo.h" 2 3
# 134 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 2 3
# 142 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/wait.h" 3
extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
                   int __options) ;





struct rusage;






extern __pid_t wait3 (__WAIT_STATUS __stat_loc, int __options,
                      struct rusage * __usage) ;





struct rusage;


extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options,
                      struct rusage *__usage) ;




# 32 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 1 3
# 30 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3








# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 39 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 2 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/time.h" 1 3
# 40 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/time.h" 3
extern long int __sysconf (int);
# 43 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 2 3
# 59 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
typedef __clock_t clock_t;
# 118 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;


  long int tm_gmtoff;
  __const char *tm_zone;




};




struct itimerspec
  {
    struct timespec it_interval;
    struct timespec it_value;
  };


struct sigevent;
# 163 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
extern clock_t clock (void) ;


extern time_t time (time_t *__timer) ;


extern double difftime (time_t __time1, time_t __time0)
     __attribute__ ((__const__));


extern time_t mktime (struct tm *__tp) ;





extern size_t strftime (char *__restrict __s, size_t __maxsize,
                        __const char *__restrict __format,
                        __const struct tm *__restrict __tp) ;
# 194 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
extern struct tm *gmtime (__const time_t *__timer) ;



extern struct tm *localtime (__const time_t *__timer) ;




extern struct tm *gmtime_r (__const time_t *__restrict __timer,
                            struct tm *__restrict __tp) ;



extern struct tm *localtime_r (__const time_t *__restrict __timer,
                               struct tm *__restrict __tp) ;




extern char *asctime (__const struct tm *__tp) ;


extern char *ctime (__const time_t *__timer) ;






extern char *asctime_r (__const struct tm *__restrict __tp,
                        char *__restrict __buf) ;


extern char *ctime_r (__const time_t *__restrict __timer,
                      char *__restrict __buf) ;




extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;




extern char *tzname[2];



extern void tzset (void) ;



extern int daylight;
extern long int timezone;





extern int stime (__const time_t *__when) ;
# 271 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
extern time_t timegm (struct tm *__tp) ;


extern time_t timelocal (struct tm *__tp) ;


extern int dysize (int __year) __attribute__ ((__const__));





extern int nanosleep (__const struct timespec *__requested_time,
                      struct timespec *__remaining) ;



extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ;


extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ;


extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
     ;
# 309 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3
extern int timer_create (clockid_t __clock_id,
                         struct sigevent *__restrict __evp,
                         timer_t *__restrict __timerid) ;


extern int timer_delete (timer_t __timerid) ;


extern int timer_settime (timer_t __timerid, int __flags,
                          __const struct itimerspec *__restrict __value,
                          struct itimerspec *__restrict __ovalue) ;


extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
     ;


extern int timer_getoverrun (timer_t __timerid) ;
# 362 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/time.h" 3

# 33 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/time.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 2 3
# 38 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 3

# 56 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 3
struct timezone
  {
    int tz_minuteswest;
    int tz_dsttime;
  };

typedef struct timezone *__restrict __timezone_ptr_t;
# 72 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 3
extern int gettimeofday (struct timeval *__restrict __tv,
                         __timezone_ptr_t __tz) ;




extern int settimeofday (__const struct timeval *__tv,
                         __const struct timezone *__tz) ;





extern int adjtime (__const struct timeval *__delta,
                    struct timeval *__olddelta) ;




enum __itimer_which
  {

    ITIMER_REAL = 0,


    ITIMER_VIRTUAL = 1,



    ITIMER_PROF = 2

  };



struct itimerval
  {

    struct timeval it_interval;

    struct timeval it_value;
  };






typedef int __itimer_which_t;




extern int getitimer (__itimer_which_t __which,
                      struct itimerval *__value) ;




extern int setitimer (__itimer_which_t __which,
                      __const struct itimerval *__restrict __new,
                      struct itimerval *__restrict __old) ;



extern int utimes (__const char *__file, __const struct timeval __tvp[2])
     ;
# 171 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/time.h" 3

# 34 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/uio.h" 1 3
# 26 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/uio.h" 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/uio.h" 1 3
# 42 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/uio.h" 3
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
# 30 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/uio.h" 2 3







extern ssize_t readv (int __fd, __const struct iovec *__vector, int __count)
     ;






extern ssize_t writev (int __fd, __const struct iovec *__vector, int __count)
     ;


# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 2 3

# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 30 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 2 3





# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 30 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 2 3

# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 1 3
# 11 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/syslimits.h" 1 3






# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 1 3
# 132 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/limits.h" 1 3
# 144 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/limits.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/posix1_lim.h" 1 3
# 126 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/posix1_lim.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/local_lim.h" 1 3
# 36 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/local_lim.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/linux/limits.h" 1 3
# 37 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/local_lim.h" 2 3
# 127 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/posix1_lim.h" 2 3
# 145 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/limits.h" 2 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/posix2_lim.h" 1 3
# 149 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/limits.h" 2 3
# 133 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 2 3
# 8 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/syslimits.h" 2 3
# 12 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 2 3
# 32 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 2 3
# 41 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 3
enum __socket_type
{
  SOCK_STREAM = 1,


  SOCK_DGRAM = 2,


  SOCK_RAW = 3,

  SOCK_RDM = 4,

  SOCK_SEQPACKET = 5,


  SOCK_PACKET = 10



};
# 142 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sockaddr.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/sockaddr.h" 3
typedef unsigned short int sa_family_t;
# 143 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 2 3


struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
# 162 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 3
struct sockaddr_storage
  {
    sa_family_t ss_family;
    __uint32_t __ss_align;
    char __ss_padding[(128 - (2 * sizeof (__uint32_t)))];
  };



enum
  {
    MSG_OOB = 0x01,

    MSG_PEEK = 0x02,

    MSG_DONTROUTE = 0x04,






    MSG_CTRUNC = 0x08,

    MSG_PROXY = 0x10,

    MSG_TRUNC = 0x20,

    MSG_DONTWAIT = 0x40,

    MSG_EOR = 0x80,

    MSG_WAITALL = 0x100,

    MSG_FIN = 0x200,

    MSG_SYN = 0x400,

    MSG_CONFIRM = 0x800,

    MSG_RST = 0x1000,

    MSG_ERRQUEUE = 0x2000,

    MSG_NOSIGNAL = 0x4000,

    MSG_MORE = 0x8000

  };




struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;

    struct iovec *msg_iov;
    int msg_iovlen;

    void *msg_control;
    socklen_t msg_controllen;

    int msg_flags;
  };


struct cmsghdr
  {
    size_t cmsg_len;

    int cmsg_level;
    int cmsg_type;

    __extension__ unsigned char __cmsg_data [];

  };
# 257 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 3
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
                                      struct cmsghdr *__cmsg) ;




extern __inline struct cmsghdr *
__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
{
  if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))

    return 0;

  __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
                               + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)));
  if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
                                        + __mhdr->msg_controllen)
      || ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))
          > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))

    return 0;
  return __cmsg;
}




enum
  {
    SCM_RIGHTS = 0x01,


    SCM_CREDENTIALS = 0x02,


    __SCM_CONNECT = 0x03
  };



struct ucred
{
  pid_t pid;
  uid_t uid;
  gid_t gid;
};


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/socket.h" 1 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/sockios.h" 1 3
# 5 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/socket.h" 2 3
# 306 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/socket.h" 2 3



struct linger
  {
    int l_onoff;
    int l_linger;
  };
# 36 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 2 3




struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };




enum
{
  SHUT_RD = 0,

  SHUT_WR,

  SHUT_RDWR

};
# 100 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 3
extern int socket (int __domain, int __type, int __protocol) ;





extern int socketpair (int __domain, int __type, int __protocol,
                       int __fds[2]) ;


extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     ;


extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
                        socklen_t *__restrict __len) ;





extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     ;



extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
                        socklen_t *__restrict __len) ;



extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags)
     ;



extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags)
     ;



extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
                       int __flags, __const struct sockaddr * __addr,
                       socklen_t __addr_len) ;





extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags,
                         struct sockaddr *__restrict __addr, socklen_t *__restrict __addr_len)
     ;




extern ssize_t sendmsg (int __fd, __const struct msghdr *__message, int __flags)
     ;



extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags)
     ;





extern int getsockopt (int __fd, int __level, int __optname,
                       void *__restrict __optval,
                       socklen_t *__restrict __optlen) ;




extern int setsockopt (int __fd, int __level, int __optname,
                       __const void *__optval, socklen_t __optlen) ;





extern int listen (int __fd, int __n) ;






extern int accept (int __fd, struct sockaddr *__restrict __addr,
                   socklen_t *__restrict __addr_len)
     ;







extern int shutdown (int __fd, int __how) ;
# 212 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/socket.h" 3
extern int isfdtype (int __fd, int __fdtype) ;



# 35 "bench.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/un.h" 1 3
# 27 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/un.h" 3



struct sockaddr_un
  {
    sa_family_t sun_family;
    char sun_path[108];
  };



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3





# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 34 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 2 3



extern void *memcpy (void *__restrict __dest,
                     __const void *__restrict __src, size_t __n) ;


extern void *memmove (void *__dest, __const void *__src, size_t __n)
     ;





extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
                      int __c, size_t __n)
     ;




extern void *memset (void *__s, int __c, size_t __n) ;


extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__pure__));


extern void *memchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__pure__));
# 77 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
     ;

extern char *strncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n) ;


extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
     ;

extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
                      size_t __n) ;


extern int strcmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));

extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__pure__));


extern int strcoll (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));

extern size_t strxfrm (char *__restrict __dest,
                       __const char *__restrict __src, size_t __n) ;
# 120 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern char *strdup (__const char *__s) __attribute__ ((__malloc__));
# 155 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__));

extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__));
# 167 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern size_t strcspn (__const char *__s, __const char *__reject)
     __attribute__ ((__pure__));


extern size_t strspn (__const char *__s, __const char *__accept)
     __attribute__ ((__pure__));

extern char *strpbrk (__const char *__s, __const char *__accept)
     __attribute__ ((__pure__));

extern char *strstr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__pure__));
# 187 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
     ;



extern char *__strtok_r (char *__restrict __s,
                         __const char *__restrict __delim,
                         char **__restrict __save_ptr) ;

extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
                       char **__restrict __save_ptr) ;
# 218 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern size_t strlen (__const char *__s) __attribute__ ((__pure__));
# 229 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern char *strerror (int __errnum) ;



extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ;




extern void __bzero (void *__s, size_t __n) ;



extern void bcopy (__const void *__src, void *__dest, size_t __n) ;


extern void bzero (void *__s, size_t __n) ;


extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__pure__));


extern char *index (__const char *__s, int __c) __attribute__ ((__pure__));


extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__));



extern int ffs (int __i) __attribute__ ((__const__));
# 272 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern int strcasecmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));


extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__pure__));
# 294 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
extern char *strsep (char **__restrict __stringp,
                     __const char *__restrict __delim) ;
# 357 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string.h" 1 3
# 358 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 1 3
# 80 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
typedef struct { unsigned char __arr[2]; } __STRING2_COPY_ARR2 __attribute__ ((packed));
typedef struct { unsigned char __arr[3]; } __STRING2_COPY_ARR3 __attribute__ ((packed));
typedef struct { unsigned char __arr[4]; } __STRING2_COPY_ARR4 __attribute__ ((packed));
typedef struct { unsigned char __arr[5]; } __STRING2_COPY_ARR5 __attribute__ ((packed));
typedef struct { unsigned char __arr[6]; } __STRING2_COPY_ARR6 __attribute__ ((packed));
typedef struct { unsigned char __arr[7]; } __STRING2_COPY_ARR7 __attribute__ ((packed));
typedef struct { unsigned char __arr[8]; } __STRING2_COPY_ARR8 __attribute__ ((packed));
# 387 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 917 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, int __reject)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject)
    ++__result;
  return __result;
}

extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
                                     int __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2)
    ++__result;
  return __result;
}

extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
                                     int __reject2, int __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
              int __reject3)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2 && __s[__result] != __reject3)
    ++__result;
  return __result;
}
# 974 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, int __accept)
{
  register size_t __result = 0;

  while (__s[__result] == __accept)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
                                    int __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, int __accept1, int __accept2)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
                                    int __accept2, int __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2
         || __s[__result] == __accept3)
    ++__result;
  return __result;
}
# 1031 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
                                     int __accept2);
extern __inline char *
__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
{

  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
    ++__s;
  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}

extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
                                     int __accept2, int __accept3);
extern __inline char *
__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
              int __accept3)
{

  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
         && *__s != __accept3)
    ++__s;
  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
# 1083 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
  char *__result;
  if (__s == ((void *)0))
    __s = *__nextp;
  while (*__s == __sep)
    ++__s;
  __result = ((void *)0);
  if (*__s != '\0')
    {
      __result = __s++;
      while (*__s != '\0')
        if (*__s++ == __sep)
          {
            __s[-1] = '\0';
            break;
          }
      *__nextp = __s;
    }
  return __result;
}
# 1115 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1133 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern __inline char *__strsep_1c (char **__s, char __reject);
extern __inline char *
__strsep_1c (char **__s, char __reject)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0))
    *(*__s)++ = '\0';
  return __retval;
}

extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0))
    {
      register char *__cp = __retval;
      while (1)
        {
          if (*__cp == '\0')
            {
              __cp = ((void *)0);
          break;
            }
          if (*__cp == __reject1 || *__cp == __reject2)
            {
              *__cp++ = '\0';
              break;
            }
          ++__cp;
        }
      *__s = __cp;
    }
  return __retval;
}

extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
                                   char __reject3);
extern __inline char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0))
    {
      register char *__cp = __retval;
      while (1)
        {
          if (*__cp == '\0')
            {
              __cp = ((void *)0);
          break;
            }
          if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
            {
              *__cp++ = '\0';
              break;
            }
          ++__cp;
        }
      *__s = __cp;
    }
  return __retval;
}
# 1214 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1233 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
     __attribute__ ((__malloc__));
# 361 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/string.h" 2 3




# 39 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/un.h" 2 3







# 36 "bench.h" 2


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 1 3
# 41 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/types.h" 1 3
# 36 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/types.h" 3
typedef int bool_t;
typedef int enum_t;

typedef unsigned long rpcprog_t;
typedef unsigned long rpcvers_t;
typedef unsigned long rpcproc_t;
typedef unsigned long rpcprot_t;
typedef unsigned long rpcport_t;
# 88 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/types.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/param.h" 1 3
# 22 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/param.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/limits.h" 1 3
# 23 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/param.h" 2 3

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/linux/param.h" 1 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/param.h" 1 3
# 13 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/param.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/arch/param.h" 1 3
# 14 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/param.h" 2 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/proc/page.h" 1 3
# 15 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/asm/param.h" 2 3
# 5 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/linux/param.h" 2 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/sys/param.h" 2 3
# 89 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/types.h" 2 3

# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 1 3
# 23 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdint.h" 1 3
# 28 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdint.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/wordsize.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdint.h" 2 3
# 49 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdint.h" 3
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;

typedef unsigned int uint32_t;





__extension__
typedef unsigned long long int uint64_t;






typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;



__extension__
typedef long long int int_least64_t;



typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;



__extension__
typedef unsigned long long int uint_least64_t;






typedef signed char int_fast8_t;





typedef int int_fast16_t;
typedef int int_fast32_t;
__extension__
typedef long long int int_fast64_t;



typedef unsigned char uint_fast8_t;





typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
__extension__
typedef unsigned long long int uint_fast64_t;
# 129 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdint.h" 3
typedef unsigned int uintptr_t;
# 138 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/stdint.h" 3
__extension__
typedef long long int intmax_t;
__extension__
typedef unsigned long long int uintmax_t;
# 24 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 2 3






enum
  {
    IPPROTO_IP = 0,

    IPPROTO_HOPOPTS = 0,

    IPPROTO_ICMP = 1,

    IPPROTO_IGMP = 2,

    IPPROTO_IPIP = 4,

    IPPROTO_TCP = 6,

    IPPROTO_EGP = 8,

    IPPROTO_PUP = 12,

    IPPROTO_UDP = 17,

    IPPROTO_IDP = 22,

    IPPROTO_TP = 29,

    IPPROTO_IPV6 = 41,

    IPPROTO_ROUTING = 43,

    IPPROTO_FRAGMENT = 44,

    IPPROTO_RSVP = 46,

    IPPROTO_GRE = 47,

    IPPROTO_ESP = 50,

    IPPROTO_AH = 51,

    IPPROTO_ICMPV6 = 58,

    IPPROTO_NONE = 59,

    IPPROTO_DSTOPTS = 60,

    IPPROTO_MTP = 92,

    IPPROTO_ENCAP = 98,

    IPPROTO_PIM = 103,

    IPPROTO_COMP = 108,

    IPPROTO_RAW = 255,

    IPPROTO_MAX
  };



typedef uint16_t in_port_t;


enum
  {
    IPPORT_ECHO = 7,
    IPPORT_DISCARD = 9,
    IPPORT_SYSTAT = 11,
    IPPORT_DAYTIME = 13,
    IPPORT_NETSTAT = 15,
    IPPORT_FTP = 21,
    IPPORT_TELNET = 23,
    IPPORT_SMTP = 25,
    IPPORT_TIMESERVER = 37,
    IPPORT_NAMESERVER = 42,
    IPPORT_WHOIS = 43,
    IPPORT_MTP = 57,

    IPPORT_TFTP = 69,
    IPPORT_RJE = 77,
    IPPORT_FINGER = 79,
    IPPORT_TTYLINK = 87,
    IPPORT_SUPDUP = 95,


    IPPORT_EXECSERVER = 512,
    IPPORT_LOGINSERVER = 513,
    IPPORT_CMDSERVER = 514,
    IPPORT_EFSSERVER = 520,


    IPPORT_BIFFUDP = 512,
    IPPORT_WHOSERVER = 513,
    IPPORT_ROUTESERVER = 520,


    IPPORT_RESERVED = 1024,


    IPPORT_USERRESERVED = 5000
  };



typedef uint32_t in_addr_t;
struct in_addr
  {
    in_addr_t s_addr;
  };
# 190 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 3
struct in6_addr
  {
    union
      {
        uint8_t u6_addr8[16];
        uint16_t u6_addr16[8];
        uint32_t u6_addr32[4];
      } in6_u;



  };

extern const struct in6_addr in6addr_any;
extern const struct in6_addr in6addr_loopback;
# 216 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 3
struct sockaddr_in
  {
    sa_family_t sin_family;
    in_port_t sin_port;
    struct in_addr sin_addr;


    unsigned char sin_zero[sizeof (struct sockaddr) -
                           (sizeof (unsigned short int)) -
                           sizeof (in_port_t) -
                           sizeof (struct in_addr)];
  };


struct sockaddr_in6
  {
    sa_family_t sin6_family;
    in_port_t sin6_port;
    uint32_t sin6_flowinfo;
    struct in6_addr sin6_addr;
    uint32_t sin6_scope_id;
  };


struct ipv6_mreq
  {

    struct in6_addr ipv6mr_multiaddr;


    unsigned int ipv6mr_interface;
  };


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/in.h" 1 3
# 66 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/in.h" 3
struct ip_opts
  {
    struct in_addr ip_dst;
    char ip_opts[40];
  };


struct ip_mreq
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
  };


struct ip_mreqn
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_address;
    int imr_ifindex;
  };


struct in_pktinfo
  {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
  };
# 251 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 2 3
# 259 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 3
extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__const__));
extern uint16_t ntohs (uint16_t __netshort)
     __attribute__ ((__const__));
extern uint32_t htonl (uint32_t __hostlong)
     __attribute__ ((__const__));
extern uint16_t htons (uint16_t __hostshort)
     __attribute__ ((__const__));




# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/byteswap.h" 1 3
# 271 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 2 3
# 333 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 3
extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) ;


extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
     ;
# 361 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netinet/in.h" 3
struct in6_pktinfo
  {
    struct in6_addr ipi6_addr;
    unsigned int ipi6_ifindex;
  };


# 91 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/types.h" 2 3
# 42 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 1 3
# 46 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 3

# 83 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 3
enum xdr_op {
  XDR_ENCODE = 0,
  XDR_DECODE = 1,
  XDR_FREE = 2
};
# 111 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 3
typedef struct XDR XDR;
struct XDR
  {
    enum xdr_op x_op;
    struct xdr_ops
      {
        bool_t (*x_getlong) (XDR *__xdrs, long *__lp);

        bool_t (*x_putlong) (XDR *__xdrs, __const long *__lp);

        bool_t (*x_getbytes) (XDR *__xdrs, caddr_t __addr, u_int __len);

        bool_t (*x_putbytes) (XDR *__xdrs, __const char *__addr, u_int __len);

        u_int (*x_getpostn) (__const XDR *__xdrs);

        bool_t (*x_setpostn) (XDR *__xdrs, u_int __pos);

        int32_t *(*x_inline) (XDR *__xdrs, int __len);

        void (*x_destroy) (XDR *__xdrs);

        bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip);

        bool_t (*x_putint32) (XDR *__xdrs, __const int32_t *__ip);

      }
     *x_ops;
    caddr_t x_public;
    caddr_t x_private;
    caddr_t x_base;
    int x_handy;
  };
# 154 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 3
typedef bool_t (*xdrproc_t) (XDR *, void *,...);
# 234 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 3
struct xdr_discrim
{
  int value;
  xdrproc_t proc;
};
# 289 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/xdr.h" 3
extern bool_t xdr_void (void) ;
extern bool_t xdr_short (XDR *__xdrs, short *__sp) ;
extern bool_t xdr_u_short (XDR *__xdrs, u_short *__usp) ;
extern bool_t xdr_int (XDR *__xdrs, int *__ip) ;
extern bool_t xdr_u_int (XDR *__xdrs, u_int *__up) ;
extern bool_t xdr_long (XDR *__xdrs, long *__lp) ;
extern bool_t xdr_u_long (XDR *__xdrs, u_long *__ulp) ;
extern bool_t xdr_hyper (XDR *__xdrs, quad_t *__llp) ;
extern bool_t xdr_u_hyper (XDR *__xdrs, u_quad_t *__ullp) ;
extern bool_t xdr_longlong_t (XDR *__xdrs, quad_t *__llp) ;
extern bool_t xdr_u_longlong_t (XDR *__xdrs, u_quad_t *__ullp) ;
extern bool_t xdr_int8_t (XDR *__xdrs, int8_t *__ip) ;
extern bool_t xdr_uint8_t (XDR *__xdrs, uint8_t *__up) ;
extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) ;
extern bool_t xdr_uint16_t (XDR *__xdrs, uint16_t *__up) ;
extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) ;
extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) ;
extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) ;
extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) ;
extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) ;
extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) ;
extern bool_t xdr_array (XDR * _xdrs, caddr_t *__addrp, u_int *__sizep,
                         u_int __maxsize, u_int __elsize, xdrproc_t __elproc)
     ;
extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, u_int *__sizep,
                         u_int __maxsize) ;
extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) ;
extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) ;
extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp,
                         __const struct xdr_discrim *__choices,
                         xdrproc_t dfault) ;
extern bool_t xdr_char (XDR *__xdrs, char *__cp) ;
extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) ;
extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem,
                          u_int __elemsize, xdrproc_t __xdr_elem) ;
extern bool_t xdr_float (XDR *__xdrs, float *__fp) ;
extern bool_t xdr_double (XDR *__xdrs, double *__dp) ;
extern bool_t xdr_reference (XDR *__xdrs, caddr_t *__xpp, u_int __size,
                             xdrproc_t __proc) ;
extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp,
                           u_int __obj_size, xdrproc_t __xdr_obj) ;
extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) ;
extern u_long xdr_sizeof (xdrproc_t, void *) ;






struct netobj
{
  u_int n_len;
  char *n_bytes;
};
typedef struct netobj netobj;
extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) ;







extern void xdrmem_create (XDR *__xdrs, __const caddr_t __addr,
                           u_int __size, enum xdr_op __xop) ;


extern void xdrstdio_create (XDR *__xdrs, FILE *__file, enum xdr_op __xop)
     ;


extern void xdrrec_create (XDR *__xdrs, u_int __sendsize,
                           u_int __recvsize, caddr_t __tcp_handle,
                           int (*__readit) (char *, char *, int),
                           int (*__writeit) (char *, char *, int)) ;


extern bool_t xdrrec_endofrecord (XDR *__xdrs, bool_t __sendnow) ;


extern bool_t xdrrec_skiprecord (XDR *__xdrs) ;


extern bool_t xdrrec_eof (XDR *__xdrs) ;


extern void xdr_free (xdrproc_t __proc, char *__objp) ;


# 46 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth.h" 1 3
# 47 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth.h" 3








enum auth_stat {
        AUTH_OK=0,



        AUTH_BADCRED=1,
        AUTH_REJECTEDCRED=2,
        AUTH_BADVERF=3,
        AUTH_REJECTEDVERF=4,
        AUTH_TOOWEAK=5,



        AUTH_INVALIDRESP=6,
        AUTH_FAILED=7
};

union des_block {
        struct {
                u_int32_t high;
                u_int32_t low;
        } key;
        char c[8];
};
typedef union des_block des_block;
extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) ;




struct opaque_auth {
        enum_t oa_flavor;
        caddr_t oa_base;
        u_int oa_length;
};




typedef struct AUTH AUTH;
struct AUTH {
  struct opaque_auth ah_cred;
  struct opaque_auth ah_verf;
  union des_block ah_key;
  struct auth_ops {
    void (*ah_nextverf) (AUTH *);
    int (*ah_marshal) (AUTH *, XDR *);
    int (*ah_validate) (AUTH *, struct opaque_auth *);

    int (*ah_refresh) (AUTH *);
    void (*ah_destroy) (AUTH *);
  } *ah_ops;
  caddr_t ah_private;
};
# 145 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth.h" 3
extern struct opaque_auth _null_auth;
# 161 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth.h" 3
extern AUTH *authunix_create (char *__machname, __uid_t __uid, __gid_t __gid,
                              int __len, __gid_t *__aup_gids) ;
extern AUTH *authunix_create_default (void) ;
extern AUTH *authnone_create (void) ;
extern AUTH *authdes_create (const char *__servername, u_int __window,
                             struct sockaddr *__syncaddr, des_block *__ckey)
     ;
extern AUTH *authdes_pk_create (const char *, netobj *, u_int,
                                struct sockaddr *, des_block *) ;
# 185 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth.h" 3
extern int getnetname (char *) ;
extern int host2netname (char *, __const char *, __const char *) ;
extern int user2netname (char *, __const uid_t, __const char *) ;
extern int netname2user (__const char *, uid_t *, gid_t *, int *, gid_t *)
     ;
extern int netname2host (__const char *, char *, __const int) ;






extern int key_decryptsession (char *, des_block *) ;
extern int key_decryptsession_pk (char *, netobj *, des_block *) ;
extern int key_encryptsession (char *, des_block *) ;
extern int key_encryptsession_pk (char *, netobj *, des_block *) ;
extern int key_gendes (des_block *) ;
extern int key_setsecret (char *) ;
extern int key_secretkey_is_set (void) ;
extern int key_get_conv (char *, des_block *) ;




extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) ;


# 49 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 1 3
# 46 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 3







enum clnt_stat {
        RPC_SUCCESS=0,



        RPC_CANTENCODEARGS=1,
        RPC_CANTDECODERES=2,
        RPC_CANTSEND=3,
        RPC_CANTRECV=4,
        RPC_TIMEDOUT=5,



        RPC_VERSMISMATCH=6,
        RPC_AUTHERROR=7,
        RPC_PROGUNAVAIL=8,
        RPC_PROGVERSMISMATCH=9,
        RPC_PROCUNAVAIL=10,
        RPC_CANTDECODEARGS=11,
        RPC_SYSTEMERROR=12,
        RPC_NOBROADCAST = 21,



        RPC_UNKNOWNHOST=13,
        RPC_UNKNOWNPROTO=17,
        RPC_UNKNOWNADDR = 19,




        RPC_RPCBFAILURE=14,

        RPC_PROGNOTREGISTERED=15,
        RPC_N2AXLATEFAILURE = 22,



        RPC_FAILED=16,
        RPC_INTR=18,
        RPC_TLIERROR=20,
        RPC_UDERROR=23,



        RPC_INPROGRESS = 24,
        RPC_STALERACHANDLE = 25
};





struct rpc_err {
  enum clnt_stat re_status;
  union {
    int RE_errno;
    enum auth_stat RE_why;
    struct {
      u_long low;
      u_long high;
    } RE_vers;
    struct {
      long s1;
      long s2;
    } RE_lb;
  } ru;




};







typedef struct CLIENT CLIENT;
struct CLIENT {
  AUTH *cl_auth;
  struct clnt_ops {
    enum clnt_stat (*cl_call) (CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t,
                               caddr_t, struct timeval);

    void (*cl_abort) (void);
    void (*cl_geterr) (CLIENT *, struct rpc_err *);

    bool_t (*cl_freeres) (CLIENT *, xdrproc_t, caddr_t);

    void (*cl_destroy) (CLIENT *);
    bool_t (*cl_control) (CLIENT *, int, char *);

  } *cl_ops;
  caddr_t cl_private;
};
# 280 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 3
extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers)
     ;
# 294 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 3
extern CLIENT *clnt_create (__const char *__host, __const u_long __prog,
                            __const u_long __vers, __const char *__prot)
     ;
# 310 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 3
extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, u_long __prog,
                               u_long __version, int *__sockp, u_int __sendsz,
                               u_int __recvsz) ;
# 335 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 3
extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, u_long __program,
                               u_long __version, struct timeval __wait_resend,
                               int *__sockp) ;
extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
                                  u_long __program, u_long __version,
                                  struct timeval __wait_resend, int *__sockp,
                                  u_int __sendsz, u_int __recvsz) ;
# 357 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/clnt.h" 3
extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, u_long __program,
                                 u_long __version, int *__sockp,
                                 u_int __sendsz, u_int __recvsz) ;


extern int callrpc (__const char *__host, __const u_long __prognum,
                    __const u_long __versnum, __const u_long __procnum,
                    __const xdrproc_t __inproc, __const char *__in,
                    __const xdrproc_t __outproc, char *__out) ;
extern int _rpc_dtablesize (void) ;




extern void clnt_pcreateerror (__const char *__msg) ;
extern char *clnt_spcreateerror(__const char *__msg) ;




extern void clnt_perrno (enum clnt_stat __num) ;




extern void clnt_perror (CLIENT *__clnt, __const char *__msg) ;

extern char *clnt_sperror (CLIENT *__clnt, __const char *__msg) ;





struct rpc_createerr {
        enum clnt_stat cf_stat;
        struct rpc_err cf_error;
};

extern struct rpc_createerr rpc_createerr;






extern char *clnt_sperrno (enum clnt_stat __num) ;




extern int getrpcport (__const char * __host, u_long __prognum,
                       u_long __versnum, u_int proto) ;





extern void get_myaddress (struct sockaddr_in *) ;





# 52 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc_msg.h" 1 3
# 50 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc_msg.h" 3








enum msg_type {
        CALL=0,
        REPLY=1
};

enum reply_stat {
        MSG_ACCEPTED=0,
        MSG_DENIED=1
};

enum accept_stat {
        SUCCESS=0,
        PROG_UNAVAIL=1,
        PROG_MISMATCH=2,
        PROC_UNAVAIL=3,
        GARBAGE_ARGS=4,
        SYSTEM_ERR=5
};

enum reject_stat {
        RPC_MISMATCH=0,
        AUTH_ERROR=1
};
# 91 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc_msg.h" 3
struct accepted_reply {
        struct opaque_auth ar_verf;
        enum accept_stat ar_stat;
        union {
                struct {
                        u_long low;
                        u_long high;
                } AR_versions;
                struct {
                        caddr_t where;
                        xdrproc_t proc;
                } AR_results;

        } ru;


};




struct rejected_reply {
        enum reject_stat rj_stat;
        union {
                struct {
                        u_long low;
                        u_long high;
                } RJ_versions;
                enum auth_stat RJ_why;
        } ru;


};




struct reply_body {
        enum reply_stat rp_stat;
        union {
                struct accepted_reply RP_ar;
                struct rejected_reply RP_dr;
        } ru;


};




struct call_body {
        u_long cb_rpcvers;
        u_long cb_prog;
        u_long cb_vers;
        u_long cb_proc;
        struct opaque_auth cb_cred;
        struct opaque_auth cb_verf;
};




struct rpc_msg {
        u_long rm_xid;
        enum msg_type rm_direction;
        union {
                struct call_body RM_cmb;
                struct reply_body RM_rmb;
        } ru;


};
# 173 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc_msg.h" 3
extern bool_t xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) ;







extern bool_t xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) ;







extern bool_t xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) ;







extern void _seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error)
     ;


# 55 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth_unix.h" 1 3
# 54 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth_unix.h" 3

# 65 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth_unix.h" 3
struct authunix_parms
  {
    u_long aup_time;
    char *aup_machname;
    __uid_t aup_uid;
    __gid_t aup_gid;
    u_int aup_len;
    __gid_t *aup_gids;
  };

extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p)
     ;






struct short_hand_verf
  {
    struct opaque_auth new_cred;
  };


# 56 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth_des.h" 1 3
# 25 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth_des.h" 3



enum authdes_namekind
  {
    ADN_FULLNAME,
    ADN_NICKNAME
  };



struct authdes_fullname
  {
    char *name;
    des_block key;
    uint32_t window;
  };


struct authdes_cred
  {
    enum authdes_namekind adc_namekind;
    struct authdes_fullname adc_fullname;
    uint32_t adc_nickname;
  };


struct rpc_timeval
  {
    uint32_t tv_sec;
    uint32_t tv_usec;
  };


struct authdes_verf
  {
    union
      {
        struct rpc_timeval adv_ctime;
        des_block adv_xtime;
      }
    adv_time_u;
    uint32_t adv_int_u;
  };
# 89 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/auth_des.h" 3
extern int authdes_getucred (__const struct authdes_cred * __adc,
                             uid_t * __uid, gid_t * __gid,
                             short *__grouplen, gid_t * __groups) ;




extern int getpublickey (__const char *__name, char *__key) ;






extern int getsecretkey (__const char *__name, char *__key,
                         __const char *__passwd) ;

extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep,
                  struct rpc_timeval *__timeout) ;


# 57 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3


# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 1 3
# 42 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3

# 66 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
enum xprt_stat {
        XPRT_DIED,
        XPRT_MOREREQS,
        XPRT_IDLE
};




typedef struct SVCXPRT SVCXPRT;
struct SVCXPRT {
  int xp_sock;
  u_short xp_port;
  const struct xp_ops {
    bool_t (*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg);

    enum xprt_stat (*xp_stat) (SVCXPRT *__xprt);

    bool_t (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
                               caddr_t args_ptr);
    bool_t (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg);

    bool_t (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
                                caddr_t args_ptr);

    void (*xp_destroy) (SVCXPRT *__xprt);

  } *xp_ops;
  int xp_addrlen;
  struct sockaddr_in xp_raddr;
  struct opaque_auth xp_verf;
  caddr_t xp_p1;
  caddr_t xp_p2;
  char xp_pad [256];
};
# 149 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
struct svc_req {
  rpcprog_t rq_prog;
  rpcvers_t rq_vers;
  rpcproc_t rq_proc;
  struct opaque_auth rq_cred;
  caddr_t rq_clntcred;
  SVCXPRT *rq_xprt;
};



typedef void (*__dispatch_fn_t) (struct svc_req*, SVCXPRT*);
# 173 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog,
                            rpcvers_t __vers, __dispatch_fn_t __dispatch,
                            rpcprot_t __protocol) ;
# 184 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) ;







extern void xprt_register (SVCXPRT *__xprt) ;







extern void xprt_unregister (SVCXPRT *__xprt) ;
# 229 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
extern bool_t svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results,
                               caddr_t __xdr_location) ;

extern void svcerr_decode (SVCXPRT *__xprt) ;

extern void svcerr_weakauth (SVCXPRT *__xprt) ;

extern void svcerr_noproc (SVCXPRT *__xprt) ;

extern void svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers,
                                 rpcvers_t __high_vers) ;

extern void svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) ;

extern void svcerr_noprog (SVCXPRT *__xprt) ;

extern void svcerr_systemerr (SVCXPRT *__xprt) ;
# 263 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
extern struct pollfd *svc_pollfd;
extern int svc_max_pollfd;
extern fd_set svc_fdset;






extern void svc_getreq (int __rdfds) ;
extern void svc_getreq_common (const int __fd) ;
extern void svc_getreqset (fd_set *__readfds) ;
extern void svc_getreq_poll (struct pollfd *, const int) ;
extern void svc_exit (void) ;
extern void svc_run (void) ;
# 291 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc.h" 3
extern SVCXPRT *svcraw_create (void) ;




extern SVCXPRT *svcudp_create (int __sock) ;
extern SVCXPRT *svcudp_bufcreate (int __sock, u_int __sendsz, u_int __recvsz)
     ;




extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize)
     ;





extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_int __recvsize,
                                char *__path) ;



# 60 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc_auth.h" 1 3
# 44 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/svc_auth.h" 3





extern enum auth_stat _authenticate (struct svc_req *__rqst,
                                     struct rpc_msg *__msg) ;


# 61 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3







# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/netdb.h" 1 3
# 42 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/netdb.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/lib/gcc-lib/armv5tel-hardhat-linux/3.2.1/include/stddef.h" 1 3
# 43 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/netdb.h" 2 3



struct rpcent
{
  char *r_name;
  char **r_aliases;
  int r_number;
};

extern void setrpcent (int __stayopen) ;
extern void endrpcent (void) ;
extern struct rpcent *getrpcbyname (__const char *__name) ;
extern struct rpcent *getrpcbynumber (int __number) ;
extern struct rpcent *getrpcent (void) ;


extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf,
                           char *__buffer, size_t __buflen,
                           struct rpcent **__result) ;

extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
                             char *__buffer, size_t __buflen,
                             struct rpcent **__result) ;

extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
                        size_t __buflen, struct rpcent **__result) ;



# 69 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 2 3




extern fd_set *__rpc_thread_svc_fdset (void) __attribute__ ((__const__));


extern struct rpc_createerr *__rpc_thread_createerr (void)
     __attribute__ ((__const__));
# 88 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/rpc/rpc.h" 3
extern struct pollfd **__rpc_thread_svc_pollfd (void)
     __attribute__ ((__const__));


extern int *__rpc_thread_svc_max_pollfd (void) __attribute__ ((__const__));



# 39 "bench.h" 2
# 50 "bench.h"
typedef unsigned long long uint64;





typedef int64_t int64;







# 1 "stats.h" 1



# 1 "bench.h" 1
# 5 "stats.h" 2
# 1 "timing.h" 1






char *p64(uint64 big);
char *p64sz(uint64 big);
double Delta(void);
double Now(void);
void adjust(int usec);
void bandwidth(uint64 bytes, uint64 times, int verbose);
uint64 bytes(char *s);
void context(uint64 xfers);
uint64 delta(void);
int get_enough(int);
uint64 get_n(void);
void kb(uint64 bytes);
double l_overhead(void);
char last(char *s);
void latency(uint64 xfers, uint64 size);
void mb(uint64 bytes);
void micro(char *s, uint64 n);
void micromb(uint64 mb, uint64 n);
void milli(char *s, uint64 n);
void morefds(void);
void nano(char *s, uint64 n);
uint64 now(void);
void ptime(uint64 n);
void rusage(void);
void save_n(uint64);
void settime(uint64 usecs);
void start(struct timeval *tv);
uint64 stop(struct timeval *begin, struct timeval *end);
uint64 t_overhead(void);
double timespent(void);
void timing(FILE *out);
uint64 tvdelta(struct timeval *, struct timeval *);
void tvsub(struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
void use_int(int result);
void use_pointer(void *result);
uint64 usecs_spent(void);
void touch(char *buf, int size);
int* permutation(int max, int scale);
int cp(char* src, char* dst, mode_t mode);
long bread(void* src, long count);
# 6 "stats.h" 2



int int_compare(const void *a, const void *b);
int uint64_compare(const void *a, const void *b);
int double_compare(const void *a, const void *b);

typedef int (*int_stat)(int *values, int size);
typedef uint64 (*uint64_stat)(uint64 *values, int size);
typedef double (*double_stat)(double *values, int size);

int int_median(int *values, int size);
uint64 uint64_median(uint64 *values, int size);
double double_median(double *values, int size);

int int_mean(int *values, int size);
uint64 uint64_mean(uint64 *values, int size);
double double_mean(double *values, int size);

int int_min(int *values, int size);
uint64 uint64_min(uint64 *values, int size);
double double_min(double *values, int size);

int int_max(int *values, int size);
uint64 uint64_max(uint64 *values, int size);
double double_max(double *values, int size);

double int_variance(int *values, int size);
double uint64_variance(uint64 *values, int size);
double double_variance(double *values, int size);

double int_moment(int moment, int *values, int size);
double uint64_moment(int moment, uint64 *values, int size);
double double_moment(int moment, double *values, int size);

double int_stderr(int *values, int size);
double uint64_stderr(uint64 *values, int size);
double double_stderr(double *values, int size);

double int_skew(int *values, int size);
double uint64_skew(uint64 *values, int size);
double double_skew(double *values, int size);

double int_kurtosis(int *values, int size);
double uint64_kurtosis(uint64 *values, int size);
double double_kurtosis(double *values, int size);

double int_bootstrap_stderr(int *values, int size, int_stat f);
double uint64_bootstrap_stderr(uint64 *values, int size, uint64_stat f);
double double_bootstrap_stderr(double *values, int size, double_stat f);

void regression(double *x, double *y, double *sig, int n,
                   double *a, double *b, double *sig_a, double *sig_b,
                   double *chi2);
# 65 "bench.h" 2

# 1 "lib_debug.h" 1



void print_results(int details);
void bw_quartile(uint64 bytes);
void nano_quartile(uint64 n);
void print_mem(char* addr, size_t size, size_t line);
void check_mem(char* addr, size_t size);
# 67 "bench.h" 2
# 1 "lib_tcp.h" 1



# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 1 3
# 43 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/netdb.h" 1 3
# 27 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/netdb.h" 3
struct netent
{
  char *n_name;
  char **n_aliases;
  int n_addrtype;
  uint32_t n_net;
};
# 44 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 2 3
# 54 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 3



extern int h_errno;


extern int *__h_errno_location (void) __attribute__ ((__const__));
# 105 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 3
extern void herror (__const char *__str) ;


extern __const char *hstrerror (int __err_num) ;




struct hostent
{
  char *h_name;
  char **h_aliases;
  int h_addrtype;
  int h_length;
  char **h_addr_list;

};



extern void sethostent (int __stay_open) ;


extern void endhostent (void) ;



extern struct hostent *gethostent (void) ;



extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len,
                                      int __type) ;


extern struct hostent *gethostbyname (__const char *__name) ;





extern struct hostent *gethostbyname2 (__const char *__name, int __af) ;






extern int gethostent_r (struct hostent *__restrict __result_buf,
                         char *__restrict __buf, size_t __buflen,
                         struct hostent **__restrict __result,
                         int *__restrict __h_errnop) ;

extern int gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len,
                            int __type,
                            struct hostent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct hostent **__restrict __result,
                            int *__restrict __h_errnop) ;

extern int gethostbyname_r (__const char *__restrict __name,
                            struct hostent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct hostent **__restrict __result,
                            int *__restrict __h_errnop) ;

extern int gethostbyname2_r (__const char *__restrict __name, int __af,
                             struct hostent *__restrict __result_buf,
                             char *__restrict __buf, size_t __buflen,
                             struct hostent **__restrict __result,
                             int *__restrict __h_errnop) ;





extern void setnetent (int __stay_open) ;


extern void endnetent (void) ;



extern struct netent *getnetent (void) ;



extern struct netent *getnetbyaddr (uint32_t __net, int __type)
     ;


extern struct netent *getnetbyname (__const char *__name) ;







extern int getnetent_r (struct netent *__restrict __result_buf,
                        char *__restrict __buf, size_t __buflen,
                        struct netent **__restrict __result,
                        int *__restrict __h_errnop) ;

extern int getnetbyaddr_r (uint32_t __net, int __type,
                           struct netent *__restrict __result_buf,
                           char *__restrict __buf, size_t __buflen,
                           struct netent **__restrict __result,
                           int *__restrict __h_errnop) ;

extern int getnetbyname_r (__const char *__restrict __name,
                           struct netent *__restrict __result_buf,
                           char *__restrict __buf, size_t __buflen,
                           struct netent **__restrict __result,
                           int *__restrict __h_errnop) ;




struct servent
{
  char *s_name;
  char **s_aliases;
  int s_port;
  char *s_proto;
};



extern void setservent (int __stay_open) ;


extern void endservent (void) ;



extern struct servent *getservent (void) ;



extern struct servent *getservbyname (__const char *__name,
                                      __const char *__proto) ;



extern struct servent *getservbyport (int __port, __const char *__proto)
     ;





extern int getservent_r (struct servent *__restrict __result_buf,
                         char *__restrict __buf, size_t __buflen,
                         struct servent **__restrict __result) ;

extern int getservbyname_r (__const char *__restrict __name,
                            __const char *__restrict __proto,
                            struct servent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct servent **__restrict __result) ;

extern int getservbyport_r (int __port, __const char *__restrict __proto,
                            struct servent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct servent **__restrict __result) ;




struct protoent
{
  char *p_name;
  char **p_aliases;
  int p_proto;
};



extern void setprotoent (int __stay_open) ;


extern void endprotoent (void) ;



extern struct protoent *getprotoent (void) ;


extern struct protoent *getprotobyname (__const char *__name) ;


extern struct protoent *getprotobynumber (int __proto) ;





extern int getprotoent_r (struct protoent *__restrict __result_buf,
                          char *__restrict __buf, size_t __buflen,
                          struct protoent **__restrict __result) ;

extern int getprotobyname_r (__const char *__restrict __name,
                             struct protoent *__restrict __result_buf,
                             char *__restrict __buf, size_t __buflen,
                             struct protoent **__restrict __result) ;

extern int getprotobynumber_r (int __proto,
                               struct protoent *__restrict __result_buf,
                               char *__restrict __buf, size_t __buflen,
                               struct protoent **__restrict __result) ;




extern int setnetgrent (__const char *__netgroup) ;


extern void endnetgrent (void) ;



extern int getnetgrent (char **__restrict __hostp,
                        char **__restrict __userp,
                        char **__restrict __domainp) ;



extern int innetgr (__const char *__netgroup, __const char *__host,
                    __const char *__user, __const char *domain) ;


extern int getnetgrent_r (char **__restrict __hostp,
                          char **__restrict __userp,
                          char **__restrict __domainp,
                          char *__restrict __buffer, size_t __buflen) ;
# 351 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 3
extern int rcmd (char **__restrict __ahost, unsigned short int __rport,
                 __const char *__restrict __locuser,
                 __const char *__restrict __remuser,
                 __const char *__restrict __cmd, int *__restrict __fd2p)
     ;



extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport,
                    __const char *__restrict __locuser,
                    __const char *__restrict __remuser,
                    __const char *__restrict __cmd, int *__restrict __fd2p,
                    sa_family_t __af) ;






extern int rexec (char **__restrict __ahost, int __rport,
                  __const char *__restrict __name,
                  __const char *__restrict __pass,
                  __const char *__restrict __cmd, int *__restrict __fd2p)
     ;



extern int rexec_af (char **__restrict __ahost, int __rport,
                     __const char *__restrict __name,
                     __const char *__restrict __pass,
                     __const char *__restrict __cmd, int *__restrict __fd2p,
                     sa_family_t __af) ;




extern int ruserok (__const char *__rhost, int __suser,
                    __const char *__remuser, __const char *__locuser) ;



extern int ruserok_af (__const char *__rhost, int __suser,
                       __const char *__remuser, __const char *__locuser,
                       sa_family_t __af) ;




extern int rresvport (int *__alport) ;



extern int rresvport_af (int *__alport, sa_family_t __af) ;






struct addrinfo
{
  int ai_flags;
  int ai_family;
  int ai_socktype;
  int ai_protocol;
  socklen_t ai_addrlen;
  struct sockaddr *ai_addr;
  char *ai_canonname;
  struct addrinfo *ai_next;
};
# 476 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 3
extern int getaddrinfo (__const char *__restrict __name,
                        __const char *__restrict __service,
                        __const struct addrinfo *__restrict __req,
                        struct addrinfo **__restrict __pai) ;


extern void freeaddrinfo (struct addrinfo *__ai) ;


extern __const char *gai_strerror (int __ecode) ;


extern int getnameinfo (__const struct sockaddr *__restrict __sa,
                        socklen_t __salen, char *__restrict __host,
                        socklen_t __hostlen, char *__restrict __serv,
                        socklen_t __servlen, unsigned int __flags) ;
# 515 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/netdb.h" 3

# 5 "lib_tcp.h" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/arpa/inet.h" 1 3
# 31 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/arpa/inet.h" 3




extern in_addr_t inet_addr (__const char *__cp) ;


extern in_addr_t inet_lnaof (struct in_addr __in) ;



extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host)
     ;


extern in_addr_t inet_netof (struct in_addr __in) ;



extern in_addr_t inet_network (__const char *__cp) ;



extern char *inet_ntoa (struct in_addr __in) ;




extern int inet_pton (int __af, __const char *__restrict __cp,
                      void *__restrict __buf) ;




extern __const char *inet_ntop (int __af, __const void *__restrict __cp,
                                char *__restrict __buf, socklen_t __len)
     ;






extern in_addr_t inet_aton (__const char *__cp, struct in_addr *__inp) ;



extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) ;




extern char *inet_net_ntop (int __af, __const void *__cp, int __bits,
                            char *__buf, size_t __len) ;




extern int inet_net_pton (int __af, __const char *__cp,
                          void *__buf, size_t __len) ;




extern unsigned int inet_nsap_addr (__const char *__cp,
                                    unsigned char *__buf, int __len) ;



extern char *inet_nsap_ntoa (int __len, __const unsigned char *__cp,
                             char *__buf) ;



# 6 "lib_tcp.h" 2

int tcp_server(int prog, int rdwr);
int tcp_done(int prog);
int tcp_accept(int sock, int rdwr);
int tcp_connect(char *host, int prog, int rdwr);
void sock_optimize(int sock, int rdwr);
int sockport(int s);
# 68 "bench.h" 2
# 1 "lib_udp.h" 1






int udp_server(u_long prog, int rdwr);
void udp_done(int prog);
int udp_connect(char *host, u_long prog, int rdwr);
void sock_optimize(int sock, int rdwr);
int sockport(int);
# 69 "bench.h" 2
# 1 "lib_unix.h" 1



int unix_server(char *path);
int unix_done(int sock, char *path);
int unix_accept(int sock);
int unix_connect(char *path);
# 70 "bench.h" 2
# 155 "bench.h"
typedef struct {
        uint64 u;
        uint64 n;
} value_t;

typedef struct {
        int N;
        value_t v[11];
} result_t;
int sizeof_result(int N);
void insertinit(result_t *r);
void insertsort(uint64, uint64, result_t *);
void save_median();
void save_minimum();
void set_results(result_t *r);
result_t* get_results();
# 256 "bench.h"
extern int myoptind;
extern int myopterr;
extern int myoptopt;
extern char *myoptarg;
int mygetopt(int ac, char **av, char *opts);

typedef u_long iter_t;
typedef void (*bench_f)(iter_t iterations, void* cookie);
typedef void (*support_f)(void* cookie);

extern void benchmp(support_f initialize,
                    bench_f benchmark,
                    support_f cleanup,
                    int enough,
                    int parallel,
                    int warmup,
                    int repetitions,
                    void* cookie
        );





extern void* benchmp_getstate();
extern iter_t benchmp_interval(void* _state);






extern int benchmp_childid();

# 1 "lib_mem.h" 1
# 26 "lib_mem.h"
struct mem_state {
        char* addr;
        char* base;
        char* p[16];
        int initialized;
        int width;
        size_t len;
        size_t maxlen;
        size_t line;
        size_t pagesize;
        size_t nlines;
        size_t npages;
        size_t nwords;
        size_t* pages;
        size_t* lines;
        size_t* words;
};

void mem_initialize(void* cookie);
void line_initialize(void* cookie);
void tlb_initialize(void* cookie);
void mem_cleanup(void* cookie);
void tlb_cleanup(void* cookie);

void mem_benchmark_0(iter_t iterations, void* cookie); void mem_benchmark_1(iter_t iterations, void* cookie); void mem_benchmark_2(iter_t iterations, void* cookie); void mem_benchmark_3(iter_t iterations, void* cookie); void mem_benchmark_4(iter_t iterations, void* cookie); void mem_benchmark_5(iter_t iterations, void* cookie); void mem_benchmark_6(iter_t iterations, void* cookie); void mem_benchmark_7(iter_t iterations, void* cookie); void mem_benchmark_8(iter_t iterations, void* cookie); void mem_benchmark_9(iter_t iterations, void* cookie); void mem_benchmark_10(iter_t iterations, void* cookie); void mem_benchmark_11(iter_t iterations, void* cookie); void mem_benchmark_12(iter_t iterations, void* cookie); void mem_benchmark_13(iter_t iterations, void* cookie); void mem_benchmark_14(iter_t iterations, void* cookie); void mem_benchmark_15(iter_t iterations, void* cookie);
extern bench_f mem_benchmarks[];

size_t line_find(size_t l, int warmup, int repetitions, struct mem_state* state);
double line_test(size_t l, int warmup, int repetitions, struct mem_state* state);
double par_mem(size_t l, int warmup, int repetitions, struct mem_state* state);
# 291 "bench.h" 2
# 310 "bench.h"
extern char *rpc_xact_1();
extern char *client_rpc_xact_1();
# 107 "mhz.c" 2
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 1 3
# 29 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3




# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/huge_val.h" 1 3
# 34 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 2 3






# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathdef.h" 1 3
# 41 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 2 3
# 63 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 1 3
# 54 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern double acos (double __x) ; extern double __acos (double __x) ;

extern double asin (double __x) ; extern double __asin (double __x) ;

extern double atan (double __x) ; extern double __atan (double __x) ;

extern double atan2 (double __y, double __x) ; extern double __atan2 (double __y, double __x) ;


extern double cos (double __x) ; extern double __cos (double __x) ;

extern double sin (double __x) ; extern double __sin (double __x) ;

extern double tan (double __x) ; extern double __tan (double __x) ;
# 78 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern double cosh (double __x) ; extern double __cosh (double __x) ;

extern double sinh (double __x) ; extern double __sinh (double __x) ;

extern double tanh (double __x) ; extern double __tanh (double __x) ;



extern double acosh (double __x) ; extern double __acosh (double __x) ;

extern double asinh (double __x) ; extern double __asinh (double __x) ;

extern double atanh (double __x) ; extern double __atanh (double __x) ;





extern double exp (double __x) ; extern double __exp (double __x) ;
# 106 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern double frexp (double __x, int *__exponent) ; extern double __frexp (double __x, int *__exponent) ;


extern double ldexp (double __x, int __exponent) ; extern double __ldexp (double __x, int __exponent) ;


extern double log (double __x) ; extern double __log (double __x) ;


extern double log10 (double __x) ; extern double __log10 (double __x) ;


extern double modf (double __x, double *__iptr) ; extern double __modf (double __x, double *__iptr) ;



extern double expm1 (double __x) ; extern double __expm1 (double __x) ;


extern double log1p (double __x) ; extern double __log1p (double __x) ;


extern double logb (double __x) ; extern double __logb (double __x) ;
# 143 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern double pow (double __x, double __y) ; extern double __pow (double __x, double __y) ;


extern double sqrt (double __x) ; extern double __sqrt (double __x) ;



extern double hypot (double __x, double __y) ; extern double __hypot (double __x, double __y) ;




extern double cbrt (double __x) ; extern double __cbrt (double __x) ;






extern double ceil (double __x) ; extern double __ceil (double __x) ;


extern double fabs (double __x) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__const__));


extern double floor (double __x) ; extern double __floor (double __x) ;


extern double fmod (double __x, double __y) ; extern double __fmod (double __x, double __y) ;




extern int __isinf (double __value) __attribute__ ((__const__));


extern int __finite (double __value) __attribute__ ((__const__));




extern int isinf (double __value) __attribute__ ((__const__));


extern int finite (double __value) __attribute__ ((__const__));


extern double drem (double __x, double __y) ; extern double __drem (double __x, double __y) ;



extern double significand (double __x) ; extern double __significand (double __x) ;




extern double copysign (double __x, double __y) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__const__));
# 209 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern int __isnan (double __value) __attribute__ ((__const__));



extern int isnan (double __value) __attribute__ ((__const__));


extern double j0 (double) ; extern double __j0 (double) ;
extern double j1 (double) ; extern double __j1 (double) ;
extern double jn (int, double) ; extern double __jn (int, double) ;
extern double y0 (double) ; extern double __y0 (double) ;
extern double y1 (double) ; extern double __y1 (double) ;
extern double yn (int, double) ; extern double __yn (int, double) ;





extern double erf (double) ; extern double __erf (double) ;
extern double erfc (double) ; extern double __erfc (double) ;
extern double lgamma (double) ; extern double __lgamma (double) ;
# 238 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern double gamma (double) ; extern double __gamma (double) ;






extern double lgamma_r (double, int *__signgamp) ; extern double __lgamma_r (double, int *__signgamp) ;






extern double rint (double __x) ; extern double __rint (double __x) ;


extern double nextafter (double __x, double __y) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__const__));





extern double remainder (double __x, double __y) ; extern double __remainder (double __x, double __y) ;



extern double scalb (double __x, double __n) ; extern double __scalb (double __x, double __n) ;




extern double scalbn (double __x, int __n) ; extern double __scalbn (double __x, int __n) ;



extern int ilogb (double __x) ; extern int __ilogb (double __x) ;
# 64 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 2 3
# 82 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 1 3
# 54 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern float acosf (float __x) ; extern float __acosf (float __x) ;

extern float asinf (float __x) ; extern float __asinf (float __x) ;

extern float atanf (float __x) ; extern float __atanf (float __x) ;

extern float atan2f (float __y, float __x) ; extern float __atan2f (float __y, float __x) ;


extern float cosf (float __x) ; extern float __cosf (float __x) ;

extern float sinf (float __x) ; extern float __sinf (float __x) ;

extern float tanf (float __x) ; extern float __tanf (float __x) ;
# 78 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern float coshf (float __x) ; extern float __coshf (float __x) ;

extern float sinhf (float __x) ; extern float __sinhf (float __x) ;

extern float tanhf (float __x) ; extern float __tanhf (float __x) ;



extern float acoshf (float __x) ; extern float __acoshf (float __x) ;

extern float asinhf (float __x) ; extern float __asinhf (float __x) ;

extern float atanhf (float __x) ; extern float __atanhf (float __x) ;





extern float expf (float __x) ; extern float __expf (float __x) ;
# 106 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern float frexpf (float __x, int *__exponent) ; extern float __frexpf (float __x, int *__exponent) ;


extern float ldexpf (float __x, int __exponent) ; extern float __ldexpf (float __x, int __exponent) ;


extern float logf (float __x) ; extern float __logf (float __x) ;


extern float log10f (float __x) ; extern float __log10f (float __x) ;


extern float modff (float __x, float *__iptr) ; extern float __modff (float __x, float *__iptr) ;



extern float expm1f (float __x) ; extern float __expm1f (float __x) ;


extern float log1pf (float __x) ; extern float __log1pf (float __x) ;


extern float logbf (float __x) ; extern float __logbf (float __x) ;
# 143 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern float powf (float __x, float __y) ; extern float __powf (float __x, float __y) ;


extern float sqrtf (float __x) ; extern float __sqrtf (float __x) ;



extern float hypotf (float __x, float __y) ; extern float __hypotf (float __x, float __y) ;




extern float cbrtf (float __x) ; extern float __cbrtf (float __x) ;






extern float ceilf (float __x) ; extern float __ceilf (float __x) ;


extern float fabsf (float __x) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__const__));


extern float floorf (float __x) ; extern float __floorf (float __x) ;


extern float fmodf (float __x, float __y) ; extern float __fmodf (float __x, float __y) ;




extern int __isinff (float __value) __attribute__ ((__const__));


extern int __finitef (float __value) __attribute__ ((__const__));




extern int isinff (float __value) __attribute__ ((__const__));


extern int finitef (float __value) __attribute__ ((__const__));


extern float dremf (float __x, float __y) ; extern float __dremf (float __x, float __y) ;



extern float significandf (float __x) ; extern float __significandf (float __x) ;




extern float copysignf (float __x, float __y) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__const__));
# 209 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern int __isnanf (float __value) __attribute__ ((__const__));



extern int isnanf (float __value) __attribute__ ((__const__));


extern float j0f (float) ; extern float __j0f (float) ;
extern float j1f (float) ; extern float __j1f (float) ;
extern float jnf (int, float) ; extern float __jnf (int, float) ;
extern float y0f (float) ; extern float __y0f (float) ;
extern float y1f (float) ; extern float __y1f (float) ;
extern float ynf (int, float) ; extern float __ynf (int, float) ;





extern float erff (float) ; extern float __erff (float) ;
extern float erfcf (float) ; extern float __erfcf (float) ;
extern float lgammaf (float) ; extern float __lgammaf (float) ;
# 238 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathcalls.h" 3
extern float gammaf (float) ; extern float __gammaf (float) ;






extern float lgammaf_r (float, int *__signgamp) ; extern float __lgammaf_r (float, int *__signgamp) ;






extern float rintf (float __x) ; extern float __rintf (float __x) ;


extern float nextafterf (float __x, float __y) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__const__));





extern float remainderf (float __x, float __y) ; extern float __remainderf (float __x, float __y) ;



extern float scalbf (float __x, float __n) ; extern float __scalbf (float __x, float __n) ;




extern float scalbnf (float __x, int __n) ; extern float __scalbnf (float __x, int __n) ;



extern int ilogbf (float __x) ; extern int __ilogbf (float __x) ;
# 83 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 2 3
# 113 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3
extern int signgam;
# 240 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3
typedef enum
{
  _IEEE_ = -1,
  _SVID_,
  _XOPEN_,
  _POSIX_,
  _ISOC_
} _LIB_VERSION_TYPE;




extern _LIB_VERSION_TYPE _LIB_VERSION;
# 265 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3
struct exception

  {
    int type;
    char *name;
    double arg1;
    double arg2;
    double retval;
  };




extern int matherr (struct exception *__exc);
# 350 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3
# 1 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/bits/mathinline.h" 1 3
# 351 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 2 3
# 411 "/opt/hardhat/devkit/arm/xscale_le/target/usr/include/math.h" 3

# 108 "mhz.c" 2

typedef long TYPE;
# 143 "mhz.c"
char* name_1() { return "p=(TYPE**)*p;"; } TYPE** _mhz_1 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; p=(TYPE**)*p; } return p + a + b; } void mhz_1(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_1(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_1(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
char* name_2() { return "a^=a+a;"; } TYPE** _mhz_2 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; a^=a+a; } return p + a + b; } void mhz_2(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_2(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_2(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
char* name_3() { return "a^=a+a+a;"; } TYPE** _mhz_3 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; a^=a+a+a; } return p + a + b; } void mhz_3(int enough) { TYPE __i = 1; TYPE *__x=(TYPE *)&__x, **__p=(TYPE **)__x, **__q = ((void *)0); _mhz_3(1, __p, 1, 1); { double __usecs; { static iter_t __iterations = 1; int __enough = get_enough(enough); iter_t __n; double __result = 0.; while(__result < 0.95 * __enough) { start(0); for (__n = __iterations; __n > 0; __n--) { __q = _mhz_3(__n, __p, __i, __i); __n = 1;; } __result = stop(0,0); if (__result < 0.99 * __enough || __result > 1.2 * __enough) { if (__result > 150.) { double tmp = __iterations / __result; tmp *= 1.1 * __enough; __iterations = (iter_t)(tmp + 1); } else { if (__iterations > (iter_t)1<<27) { __result = 0.; break; } __iterations <<= 3; } } } save_n((uint64)__iterations); settime((uint64)__result); }; __usecs = usecs_spent(); __usecs -= t_overhead() + get_n() * l_overhead(); settime(__usecs >= 0. ? (uint64)__usecs : 0); } use_pointer((void*)__q); save_n(100 * get_n()); }
char* name_4() { return "a>>=b;"; } TYPE** _mhz_4 (register long n, register TYPE **p, register TYPE a, register TYPE b) { for (; n > 0; --n) { a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>>=b; a>


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: optimization/9939: gcc for ARM infinite loops when using optimization
@ 2003-03-04 19:40 rearnsha
  0 siblings, 0 replies; 2+ messages in thread
From: rearnsha @ 2003-03-04 19:40 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nobody, rearnsha, staelin

Synopsis: gcc for ARM infinite loops when using optimization

Responsible-Changed-From-To: unassigned->rearnsha
Responsible-Changed-By: rearnsha
Responsible-Changed-When: Tue Mar  4 19:40:56 2003
Responsible-Changed-Why:
    .
State-Changed-From-To: open->closed
State-Changed-By: rearnsha
State-Changed-When: Tue Mar  4 19:40:56 2003
State-Changed-Why:
    Duplicate of PR 2391.  Already fixed.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9939


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-03-04 19:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-04 14:46 optimization/9939: gcc for ARM infinite loops when using optimization staelin
2003-03-04 19:40 rearnsha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).