[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#523040: gcc-4.3: compiler error with -O3 option



Package: gcc-4.3
Version: 4.3.3-3
Severity: serious

Hi gcc maintainers,

On alpha with the current gcc in unstable, I got the following error on the
last three weekly builds of R (see e.g.
https://buildd.debian.org/fetch.cgi?&pkg=r-base&ver=2.9.0~20090403-1&arch=alpha&stamp=1238866791&file=log 
for the last one):

gcc     -I. -I../../src/include -I../../src/include  -DHAVE_CONFIG_H  -mieee-with-inexact -fpic  -std=gnu99 -O3 -pipe  -g -c deriv.c -o deriv.o
deriv.c: In function 'simplify':
deriv.c:267: error: unrecognizable insn:
(insn 2103 64 65 9 ../../src/include/Rinlinedfuns.h:86 (set (reg:DI 2 $2)
        (const:DI (plus:DI (label_ref:DI 68)
                (const_int 24 [0x18])))) -1 (insn_list:REG_LABEL_OPERAND 68 (nil)))
deriv.c:267: internal compiler error: in extract_insn, at recog.c:2001
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions.
make[4]: *** [deriv.o] Error 1



Information as per the Readme below:

    * the exact version of GCC;

(sid)edd@albeniz:~/r-base-2.9.0~20090403/src/main$ gcc --version
gcc (Debian 4.3.3-5) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(sid)edd@albeniz:~/r-base-2.9.0~20090403/src/main$


    * the system type;

(sid)edd@albeniz:~/r-base-2.9.0~20090403/src/main$ uname -a
Linux albeniz 2.6.26-1-alpha-generic #1 Fri Mar 13 18:21:39 UTC 2009 alpha GNU/Linux
(sid)edd@albeniz:~/r-base-2.9.0~20090403/src/main$


    * the options given when GCC was configured/built;

That should be in your debian/rules


    * the complete command line that triggers the bug;

# that is src/main/ relative to the current r-base sources:

(sid)edd@albeniz:~/r-base-2.9.0~20090403/src/main$ gcc     -I. -I../../src/include -I../../src/include  -DHAVE_CONFIG_H  -mieee-with-inexact -fpic  -std=gnu99 -O3 -pipe -g -c deriv.c -o deriv.o


    * the compiler output (error messages, warnings, etc.); and

(sid)edd@albeniz:~/r-base-2.9.0~20090403/src/main$ gcc     -I. -I../../src/include -I../../src/include  -DHAVE_CONFIG_H  -mieee-with-inexact -fpic  -std=gnu99 -O3 -pipe -g -c deriv.c -o deriv.o
deriv.c: In function ‘simplify’:
deriv.c:267: error: unrecognizable insn:
(insn 2103 64 65 9 ../../src/include/Rinlinedfuns.h:86 (set (reg:DI 2 $2)
        (const:DI (plus:DI (label_ref:DI 68)
                (const_int 24 [0x18])))) -1 (insn_list:REG_LABEL_OPERAND 68 (nil)))
deriv.c:267: internal compiler error: in extract_insn, at recog.c:2001
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions.


    * the preprocessed file (*.i*) that triggers the bug, generated by
      adding -save-temps to the complete compilation command, or, in
      the case of a bug report for the GNAT front end, a complete set
      of source files (see below).

deriv.i is attached below.



Let me know if I can help with anything else.

Dirk


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gcc-4.3 depends on:
ii  binutils                      2.19.1-1   The GNU assembler, linker and bina
ii  cpp-4.3                       4.3.3-3    The GNU C preprocessor
ii  gcc-4.3-base                  4.3.3-3    The GNU Compiler Collection (base 
ii  libc6                         2.9-4      GNU C Library: Shared libraries
ii  libgcc1                       1:4.3.3-3  GCC support library
ii  libgomp1                      4.3.3-3    GCC OpenMP (GOMP) support library

Versions of packages gcc-4.3 recommends:
ii  libc6-dev                     2.9-4      GNU C Library: Development Librari

Versions of packages gcc-4.3 suggests:
ii  gcc-4.3-doc                  4.3.2.nf1-1 documentation for the GNU compiler
pn  gcc-4.3-locales              <none>      (no description available)
pn  gcc-4.3-multilib             <none>      (no description available)
pn  libgcc1-dbg                  <none>      (no description available)
pn  libgomp1-dbg                 <none>      (no description available)
pn  libmudflap0-4.3-dev          <none>      (no description available)
pn  libmudflap0-dbg              <none>      (no description available)

-- no debconf information


-- 
Three out of two people have difficulties with fractions.

===File /tmp/deriv.i========================================
# 1 "deriv.c"
# 1 "/home/edd/r-base-2.9.0~20090403/src/main//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "deriv.c"
# 26 "deriv.c"
# 1 "../../src/include/config.h" 1
# 27 "deriv.c" 2


# 1 "../../src/include/Defn.h" 1
# 63 "../../src/include/Defn.h"
# 1 "../../src/include/R_ext/Complex.h" 1
# 28 "../../src/include/R_ext/Complex.h"
typedef struct {
 double r;
 double i;
} Rcomplex;
# 64 "../../src/include/Defn.h" 2
void Rf_CoercionWarning(int);
int Rf_LogicalFromInteger(int, int*);
int Rf_LogicalFromReal(double, int*);
int Rf_LogicalFromComplex(Rcomplex, int*);
int Rf_IntegerFromLogical(int, int*);
int Rf_IntegerFromReal(double, int*);
int Rf_IntegerFromComplex(Rcomplex, int*);
double Rf_RealFromLogical(int, int*);
double Rf_RealFromInteger(int, int*);
double Rf_RealFromComplex(Rcomplex, int*);
Rcomplex Rf_ComplexFromLogical(int, int*);
Rcomplex Rf_ComplexFromInteger(int, int*);
Rcomplex Rf_ComplexFromReal(double, int*);



# 1 "../../src/include/Rinternals.h" 1
# 28 "../../src/include/Rinternals.h"
# 1 "../../src/include/R_ext/Arith.h" 1
# 30 "../../src/include/R_ext/Arith.h"
# 1 "../../src/include/R_ext/libextern.h" 1
# 31 "../../src/include/R_ext/Arith.h" 2




# 1 "/usr/include/math.h" 1 3 4
# 28 "/usr/include/math.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 330 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 348 "/usr/include/sys/cdefs.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 349 "/usr/include/sys/cdefs.h" 2 3 4
# 331 "/usr/include/features.h" 2 3 4
# 354 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 355 "/usr/include/features.h" 2 3 4
# 29 "/usr/include/math.h" 2 3 4





# 1 "/usr/include/bits/huge_val.h" 1 3 4
# 35 "/usr/include/math.h" 2 3 4

# 1 "/usr/include/bits/huge_valf.h" 1 3 4
# 37 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/huge_vall.h" 1 3 4
# 38 "/usr/include/math.h" 2 3 4


# 1 "/usr/include/bits/inf.h" 1 3 4
# 41 "/usr/include/math.h" 2 3 4


# 1 "/usr/include/bits/nan.h" 1 3 4
# 44 "/usr/include/math.h" 2 3 4



# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/bits/mathdef.h" 1 3 4
# 49 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/bits/mathdef.h" 3 4
typedef double float_t;
typedef double double_t;
# 48 "/usr/include/math.h" 2 3 4
# 71 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 53 "/usr/include/bits/mathcalls.h" 3 4


extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__));

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

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

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


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

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

extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__));




extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__));

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

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




extern void sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__)); extern void __sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__));






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

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

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







extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__));


extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__));


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


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


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


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




extern double exp10 (double __x) __attribute__ ((__nothrow__)); extern double __exp10 (double __x) __attribute__ ((__nothrow__));

extern double pow10 (double __x) __attribute__ ((__nothrow__)); extern double __pow10 (double __x) __attribute__ ((__nothrow__));





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


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


extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__));






extern double exp2 (double __x) __attribute__ ((__nothrow__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__));


extern double log2 (double __x) __attribute__ ((__nothrow__)); extern double __log2 (double __x) __attribute__ ((__nothrow__));








extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__));


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





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






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








extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


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


extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


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




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


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





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


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


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



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





extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));






extern double nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));





extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



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


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






extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__));
extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__));
extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__));






extern double tgamma (double) __attribute__ ((__nothrow__)); extern double __tgamma (double) __attribute__ ((__nothrow__));





extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__));






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







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


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

extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



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



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



extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__));




extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__));



extern double nearbyint (double __x) __attribute__ ((__nothrow__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__));



extern double round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



extern double trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));




extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__));






extern long int lrint (double __x) __attribute__ ((__nothrow__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__));
extern long long int llrint (double __x) __attribute__ ((__nothrow__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__));



extern long int lround (double __x) __attribute__ ((__nothrow__)); extern long int __lround (double __x) __attribute__ ((__nothrow__));
extern long long int llround (double __x) __attribute__ ((__nothrow__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__));



extern double fdim (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__));


extern double fmax (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__));


extern double fmin (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__));



extern int __fpclassify (double __value) __attribute__ ((__nothrow__))
     __attribute__ ((__const__));


extern int __signbit (double __value) __attribute__ ((__nothrow__))
     __attribute__ ((__const__));



extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__));








extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__));
# 72 "/usr/include/math.h" 2 3 4
# 94 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 53 "/usr/include/bits/mathcalls.h" 3 4


extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__));

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

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

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


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

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

extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__));




extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__));

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

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




extern void sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__)); extern void __sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__));






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

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

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







extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__));


extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__));


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


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


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


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




extern float exp10f (float __x) __attribute__ ((__nothrow__)); extern float __exp10f (float __x) __attribute__ ((__nothrow__));

extern float pow10f (float __x) __attribute__ ((__nothrow__)); extern float __pow10f (float __x) __attribute__ ((__nothrow__));





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


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


extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__));






extern float exp2f (float __x) __attribute__ ((__nothrow__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__));


extern float log2f (float __x) __attribute__ ((__nothrow__)); extern float __log2f (float __x) __attribute__ ((__nothrow__));








extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__));


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





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






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








extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


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


extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


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




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


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





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


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


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



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





extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));






extern float nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));





extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



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


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






extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__));
extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__));
extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__));






extern float tgammaf (float) __attribute__ ((__nothrow__)); extern float __tgammaf (float) __attribute__ ((__nothrow__));





extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__));






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







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


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

extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



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



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



extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__));




extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__));



extern float nearbyintf (float __x) __attribute__ ((__nothrow__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__));



extern float roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



extern float truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));




extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__));






extern long int lrintf (float __x) __attribute__ ((__nothrow__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__));
extern long long int llrintf (float __x) __attribute__ ((__nothrow__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__));



extern long int lroundf (float __x) __attribute__ ((__nothrow__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__));
extern long long int llroundf (float __x) __attribute__ ((__nothrow__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__));



extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__));


extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__));


extern float fminf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__));



extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__))
     __attribute__ ((__const__));


extern int __signbitf (float __value) __attribute__ ((__nothrow__))
     __attribute__ ((__const__));



extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__));








extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__));
# 95 "/usr/include/math.h" 2 3 4
# 141 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 53 "/usr/include/bits/mathcalls.h" 3 4


extern long double acosl (long double __x) __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__));

extern long double asinl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__));

extern long double atanl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__));

extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__));


extern long double cosl (long double __x) __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__));

extern long double sinl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__));

extern long double tanl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__));




extern long double coshl (long double __x) __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__));

extern long double sinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__));

extern long double tanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__));




extern void sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__)); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__));






extern long double acoshl (long double __x) __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__));

extern long double asinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__));

extern long double atanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__));







extern long double expl (long double __x) __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__));


extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__));


extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__));


extern long double logl (long double __x) __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__));


extern long double log10l (long double __x) __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__));


extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__));




extern long double exp10l (long double __x) __attribute__ ((__nothrow__)); extern long double __exp10l (long double __x) __attribute__ ((__nothrow__));

extern long double pow10l (long double __x) __attribute__ ((__nothrow__)); extern long double __pow10l (long double __x) __attribute__ ((__nothrow__));





extern long double expm1l (long double __x) __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__));


extern long double log1pl (long double __x) __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__));


extern long double logbl (long double __x) __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__));






extern long double exp2l (long double __x) __attribute__ ((__nothrow__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__));


extern long double log2l (long double __x) __attribute__ ((__nothrow__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__));








extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__));


extern long double sqrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__));





extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__));






extern long double cbrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__));








extern long double ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern long double fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern long double floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__));




extern int __isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern int __finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));





extern int isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern int finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__));



extern long double significandl (long double __x) __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__));





extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));






extern long double nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));





extern int __isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



extern int isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern long double j0l (long double) __attribute__ ((__nothrow__)); extern long double __j0l (long double) __attribute__ ((__nothrow__));
extern long double j1l (long double) __attribute__ ((__nothrow__)); extern long double __j1l (long double) __attribute__ ((__nothrow__));
extern long double jnl (int, long double) __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__));
extern long double y0l (long double) __attribute__ ((__nothrow__)); extern long double __y0l (long double) __attribute__ ((__nothrow__));
extern long double y1l (long double) __attribute__ ((__nothrow__)); extern long double __y1l (long double) __attribute__ ((__nothrow__));
extern long double ynl (int, long double) __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__));






extern long double erfl (long double) __attribute__ ((__nothrow__)); extern long double __erfl (long double) __attribute__ ((__nothrow__));
extern long double erfcl (long double) __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__));
extern long double lgammal (long double) __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__));






extern long double tgammal (long double) __attribute__ ((__nothrow__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__));





extern long double gammal (long double) __attribute__ ((__nothrow__)); extern long double __gammal (long double) __attribute__ ((__nothrow__));






extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__));







extern long double rintl (long double __x) __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__));


extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));

extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__));



extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__));



extern int ilogbl (long double __x) __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__));




extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__));



extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__));



extern long double roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));



extern long double truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));




extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__));






extern long int lrintl (long double __x) __attribute__ ((__nothrow__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__));
extern long long int llrintl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__));



extern long int lroundl (long double __x) __attribute__ ((__nothrow__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__));
extern long long int llroundl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__));



extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__));


extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__));


extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__));



extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__))
     __attribute__ ((__const__));


extern int __signbitl (long double __value) __attribute__ ((__nothrow__))
     __attribute__ ((__const__));



extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__));








extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__));
# 142 "/usr/include/math.h" 2 3 4
# 157 "/usr/include/math.h" 3 4
extern int signgam;
# 198 "/usr/include/math.h" 3 4
enum
  {
    FP_NAN,

    FP_INFINITE,

    FP_ZERO,

    FP_SUBNORMAL,

    FP_NORMAL

  };
# 284 "/usr/include/math.h" 3 4
typedef enum
{
  _IEEE_ = -1,
  _SVID_,
  _XOPEN_,
  _POSIX_,
  _ISOC_
} _LIB_VERSION_TYPE;




extern _LIB_VERSION_TYPE _LIB_VERSION;
# 309 "/usr/include/math.h" 3 4
struct exception

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




extern int matherr (struct exception *__exc);
# 409 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathinline.h" 1 3 4
# 90 "/usr/include/bits/mathinline.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) __signbitf (float __x)
{




  return __builtin_signbitf (__x);

}

extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) __signbit (double __x)
{




  return __builtin_signbit (__x);

}

extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) __signbitl (long double __x)
{







  return __builtin_signbitl (__x);

}



extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) __isnanf (float __x)
{
  return __builtin_isunordered(__x, __x);
}

extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) __isnan (double __x)
{
  return __builtin_isunordered(__x, __x);
}


extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) __isnanl (long double __x)
{
  return __builtin_isunordered(__x, __x);
}
# 410 "/usr/include/math.h" 2 3 4
# 465 "/usr/include/math.h" 3 4

# 36 "../../src/include/R_ext/Arith.h" 2



extern double R_NaN;
extern double R_PosInf;
extern double R_NegInf;
extern double R_NaReal;
extern int R_NaInt;
# 55 "../../src/include/R_ext/Arith.h"
int R_IsNA(double);
int R_IsNaN(double);
int R_finite(double);
# 29 "../../src/include/Rinternals.h" 2
# 1 "../../src/include/R_ext/Boolean.h" 1
# 29 "../../src/include/R_ext/Boolean.h"
typedef enum { FALSE = 0, TRUE } Rboolean;
# 30 "../../src/include/Rinternals.h" 2

# 1 "../../src/include/R_ext/Error.h" 1
# 28 "../../src/include/R_ext/Error.h"
void Rf_error(const char *, ...);
void Rf_warning(const char *, ...);
void WrongArgCount(const char *);
void UNIMPLEMENTED(const char *);
void R_ShowMessage(const char *s);
# 32 "../../src/include/Rinternals.h" 2
# 1 "../../src/include/R_ext/Memory.h" 1
# 28 "../../src/include/R_ext/Memory.h"
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 152 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 3 4
typedef long int ptrdiff_t;
# 214 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 3 4
typedef long unsigned int size_t;
# 326 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 3 4
typedef int wchar_t;
# 29 "../../src/include/R_ext/Memory.h" 2






void* vmaxget(void);
void vmaxset(const void *);

void R_gc(void);

char* R_alloc(size_t, int);
char* S_alloc(long, int);
char* S_realloc(char *, long, long, int);
# 33 "../../src/include/Rinternals.h" 2
# 1 "../../src/include/R_ext/PrtUtil.h" 1
# 30 "../../src/include/R_ext/PrtUtil.h"
# 1 "../../src/include/R_ext/Print.h" 1
# 24 "../../src/include/R_ext/Print.h"
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stdarg.h" 1 3 4
# 43 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 105 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stdarg.h" 3 4
typedef __gnuc_va_list va_list;
# 25 "../../src/include/R_ext/Print.h" 2






void Rprintf(const char *, ...);
void REprintf(const char *, ...);
void Rvprintf(const char *, va_list);
void REvprintf(const char *, va_list);
# 31 "../../src/include/R_ext/PrtUtil.h" 2
# 50 "../../src/include/R_ext/PrtUtil.h"
void Rf_formatLogical(int *, int, int *);
void Rf_formatInteger(int *, int, int *);
void Rf_formatReal(double *, int, int *, int *, int *, int);
void Rf_formatComplex(Rcomplex *, int, int *, int *, int *, int *, int *, int *, int);


const char *Rf_EncodeLogical(int, int);
const char *Rf_EncodeInteger(int, int);
const char *Rf_EncodeReal(double, int, int, int, char);
const char *Rf_EncodeComplex(Rcomplex, int, int, int, int, int, int, char);


void Rf_VectorIndex(int, int);

void printLogicalVector(int *, int, int);
void Rf_printIntegerVector(int *, int, int);
void Rf_printRealVector (double *, int, int);
void Rf_printComplexVector(Rcomplex *,int, int);
# 34 "../../src/include/Rinternals.h" 2
# 1 "../../src/include/R_ext/Utils.h" 1
# 48 "../../src/include/R_ext/Utils.h"
void R_isort(int*, int);
void R_rsort(double*, int);
void R_csort(Rcomplex*, int);
void rsort_with_index(double *, int *, int);
void Rf_revsort(double*, int*, int);
void Rf_iPsort(int*, int, int);
void Rf_rPsort(double*, int, int);
void Rf_cPsort(Rcomplex*, int, int);


void R_qsort (double *v, int i, int j);
void R_qsort_I (double *v, int *I, int i, int j);
void R_qsort_int (int *iv, int i, int j);
void R_qsort_int_I(int *iv, int *I, int i, int j);






int Rf_IndexWidth(int);

const char *R_ExpandFileName(const char *);
void Rf_setIVector(int*, int, int);
void Rf_setRVector(double*, int, double);
Rboolean Rf_StringFalse(const char *);
Rboolean Rf_StringTrue(const char *);
Rboolean Rf_isBlankString(const char *);




double R_atof(const char *str);
double R_strtod(const char *c, char **end);

char *R_tmpnam(const char *prefix, const char *tempdir);

void Rf_hsv2rgb(double h, double s, double v,
  double *r, double *g, double *b);
void Rf_rgb2hsv(double r, double g, double b,
  double *h, double *s, double *v);

void R_CheckUserInterrupt(void);
void R_CheckStack(void);



int findInterval(double *xt, int n, double x,
   Rboolean rightmost_closed, Rboolean all_inside, int ilo,
   int *mflag);





void find_interv_vec(double *xt, int *n, double *x, int *nx,
       int *rightmost_closed, int *all_inside, int *indx);


void R_max_col(double *matrix, int *nr, int *nc, int *maxes, int *ties_meth);
# 35 "../../src/include/Rinternals.h" 2

# 1 "/usr/include/stdio.h" 1 3 4
# 30 "/usr/include/stdio.h" 3 4




# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 35 "/usr/include/stdio.h" 2 3 4

# 1 "/usr/include/bits/types.h" 1 3 4
# 28 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/types.h" 2 3 4


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


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;

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







typedef long int __quad_t;
typedef unsigned long int __u_quad_t;
# 131 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 132 "/usr/include/bits/types.h" 2 3 4


typedef unsigned long int __dev_t;
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned int __ino_t;
typedef unsigned long int __ino64_t;
typedef unsigned int __mode_t;
typedef unsigned int __nlink_t;
typedef long int __off_t;
typedef long int __off64_t;
typedef int __pid_t;
typedef struct { int __val[2]; } __fsid_t;
typedef long int __clock_t;
typedef unsigned long int __rlim_t;
typedef unsigned long int __rlim64_t;
typedef unsigned int __id_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;

typedef int __daddr_t;
typedef long int __swblk_t;
typedef int __key_t;


typedef int __clockid_t;


typedef void * __timer_t;


typedef unsigned int __blksize_t;




typedef unsigned int __blkcnt_t;
typedef unsigned long int __blkcnt64_t;


typedef int __fsblkcnt_t;
typedef long int __fsblkcnt64_t;


typedef unsigned int __fsfilcnt_t;
typedef unsigned long int __fsfilcnt64_t;

typedef long int __ssize_t;



typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;


typedef long int __intptr_t;


typedef unsigned int __socklen_t;
# 37 "/usr/include/stdio.h" 2 3 4
# 45 "/usr/include/stdio.h" 3 4
struct _IO_FILE;



typedef struct _IO_FILE FILE;





# 65 "/usr/include/stdio.h" 3 4
typedef struct _IO_FILE __FILE;
# 75 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/libio.h" 1 3 4
# 32 "/usr/include/libio.h" 3 4
# 1 "/usr/include/_G_config.h" 1 3 4
# 15 "/usr/include/_G_config.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 16 "/usr/include/_G_config.h" 2 3 4




# 1 "/usr/include/wchar.h" 1 3 4
# 78 "/usr/include/wchar.h" 3 4
typedef struct
{
  int __count;
  union
  {

    unsigned int __wch;



    char __wchb[4];
  } __value;
} __mbstate_t;
# 21 "/usr/include/_G_config.h" 2 3 4

typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;
# 53 "/usr/include/_G_config.h" 3 4
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 "/usr/include/libio.h" 2 3 4
# 170 "/usr/include/libio.h" 3 4
struct _IO_jump_t; struct _IO_FILE;
# 180 "/usr/include/libio.h" 3 4
typedef void _IO_lock_t;





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



  int _pos;
# 203 "/usr/include/libio.h" 3 4
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 271 "/usr/include/libio.h" 3 4
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 _flags2;

  __off_t _old_offset;



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



  _IO_lock_t *_lock;
# 319 "/usr/include/libio.h" 3 4
  __off64_t _offset;
# 328 "/usr/include/libio.h" 3 4
  void *__pad1;
  void *__pad2;
  void *__pad3;
  void *__pad4;
  size_t __pad5;

  int _mode;

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

};


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_;
# 364 "/usr/include/libio.h" 3 4
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);




typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;


typedef struct
{
  __io_read_fn *read;
  __io_write_fn *write;
  __io_seek_fn *seek;
  __io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;

struct _IO_cookie_file;


extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
        void *__cookie, _IO_cookie_io_functions_t __fns);







extern int __underflow (_IO_FILE *);
extern int __uflow (_IO_FILE *);
extern int __overflow (_IO_FILE *, int);
# 458 "/usr/include/libio.h" 3 4
extern int _IO_getc (_IO_FILE *__fp);
extern int _IO_putc (int __c, _IO_FILE *__fp);
extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));

extern int _IO_peekc_locked (_IO_FILE *__fp);





extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
# 488 "/usr/include/libio.h" 3 4
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 *) __attribute__ ((__nothrow__));
# 76 "/usr/include/stdio.h" 2 3 4
# 89 "/usr/include/stdio.h" 3 4


typedef _G_fpos_t fpos_t;





typedef _G_fpos64_t fpos64_t;
# 141 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 142 "/usr/include/stdio.h" 2 3 4



extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;







extern int remove (__const char *__filename) __attribute__ ((__nothrow__));

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




extern int renameat (int __oldfd, __const char *__old, int __newfd,
       __const char *__new) __attribute__ ((__nothrow__));








extern FILE *tmpfile (void) ;
# 182 "/usr/include/stdio.h" 3 4
extern FILE *tmpfile64 (void) ;



extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ;





extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ;
# 204 "/usr/include/stdio.h" 3 4
extern char *tempnam (__const char *__dir, __const char *__pfx)
     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;








extern int fclose (FILE *__stream);




extern int fflush (FILE *__stream);

# 229 "/usr/include/stdio.h" 3 4
extern int fflush_unlocked (FILE *__stream);
# 239 "/usr/include/stdio.h" 3 4
extern int fcloseall (void);









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) ;
# 272 "/usr/include/stdio.h" 3 4


extern FILE *fopen64 (__const char *__restrict __filename,
        __const char *__restrict __modes) ;
extern FILE *freopen64 (__const char *__restrict __filename,
   __const char *__restrict __modes,
   FILE *__restrict __stream) ;




extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ;





extern FILE *fopencookie (void *__restrict __magic_cookie,
     __const char *__restrict __modes,
     _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__)) ;


extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
  __attribute__ ((__nothrow__)) ;




extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) ;






extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));



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





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


extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));








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, ...) __attribute__ ((__nothrow__));





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) __attribute__ ((__nothrow__));





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

extern int vsnprintf (char *__restrict __s, size_t __maxlen,
        __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));






extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
        __gnuc_va_list __arg)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) ;
extern int __asprintf (char **__restrict __ptr,
         __const char *__restrict __fmt, ...)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ;
extern int asprintf (char **__restrict __ptr,
       __const char *__restrict __fmt, ...)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ;







extern int vdprintf (int __fd, __const char *__restrict __fmt,
       __gnuc_va_list __arg)
     __attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
     __attribute__ ((__format__ (__printf__, 2, 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, ...) __attribute__ ((__nothrow__));
# 441 "/usr/include/stdio.h" 3 4








extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
      __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 2, 0))) ;





extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 1, 0))) ;


extern int vsscanf (__const char *__restrict __s,
      __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
# 500 "/usr/include/stdio.h" 3 4









extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);





extern int getchar (void);

# 528 "/usr/include/stdio.h" 3 4
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
# 539 "/usr/include/stdio.h" 3 4
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);

# 572 "/usr/include/stdio.h" 3 4
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)
     ;






extern char *gets (char *__s) ;

# 618 "/usr/include/stdio.h" 3 4
extern char *fgets_unlocked (char *__restrict __s, int __n,
        FILE *__restrict __stream) ;
# 634 "/usr/include/stdio.h" 3 4
extern __ssize_t __getdelim (char **__restrict __lineptr,
          size_t *__restrict __n, int __delimiter,
          FILE *__restrict __stream) ;
extern __ssize_t getdelim (char **__restrict __lineptr,
        size_t *__restrict __n, int __delimiter,
        FILE *__restrict __stream) ;







extern __ssize_t getline (char **__restrict __lineptr,
       size_t *__restrict __n,
       FILE *__restrict __stream) ;








extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);





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) ;

# 695 "/usr/include/stdio.h" 3 4
extern int fputs_unlocked (__const char *__restrict __s,
      FILE *__restrict __stream);
# 706 "/usr/include/stdio.h" 3 4
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);

# 742 "/usr/include/stdio.h" 3 4
extern int fseeko (FILE *__stream, __off_t __off, int __whence);




extern __off_t ftello (FILE *__stream) ;
# 761 "/usr/include/stdio.h" 3 4






extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);




extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
# 784 "/usr/include/stdio.h" 3 4



extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
extern __off64_t ftello64 (FILE *__stream) ;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);




extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));

extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;

extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;




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








extern void perror (__const char *__s);






# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
# 27 "/usr/include/bits/sys_errlist.h" 3 4
extern int sys_nerr;
extern __const char *__const sys_errlist[];


extern int _sys_nerr;
extern __const char *__const _sys_errlist[];
# 823 "/usr/include/stdio.h" 2 3 4




extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;




extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
# 842 "/usr/include/stdio.h" 3 4
extern FILE *popen (__const char *__command, __const char *__modes) ;





extern int pclose (FILE *__stream);





extern char *ctermid (char *__s) __attribute__ ((__nothrow__));





extern char *cuserid (char *__s);




struct obstack;


extern int obstack_printf (struct obstack *__restrict __obstack,
      __const char *__restrict __format, ...)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
extern int obstack_vprintf (struct obstack *__restrict __obstack,
       __const char *__restrict __format,
       __gnuc_va_list __args)
     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0)));







extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));



extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;


extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
# 903 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio.h" 1 3 4
# 36 "/usr/include/bits/stdio.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
  return vfprintf (stdout, __fmt, __arg);
}



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




extern __inline __attribute__ ((__gnu_inline__)) int
fgetc_unlocked (FILE *__fp)
{
  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}





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


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




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




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





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


extern __inline __attribute__ ((__gnu_inline__)) int
putchar_unlocked (int __c)
{
  return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}





extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
  return __getdelim (__lineptr, __n, '\n', __stream);
}





extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x10) != 0);
}


extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x20) != 0);
}
# 904 "/usr/include/stdio.h" 2 3 4
# 912 "/usr/include/stdio.h" 3 4

# 37 "../../src/include/Rinternals.h" 2
# 47 "../../src/include/Rinternals.h"
# 1 "../../src/include/R_ext/libextern.h" 1
# 48 "../../src/include/Rinternals.h" 2

typedef unsigned char Rbyte;


typedef int R_len_t;
# 78 "../../src/include/Rinternals.h"
typedef unsigned int SEXPTYPE;
# 150 "../../src/include/Rinternals.h"
struct sxpinfo_struct {
    SEXPTYPE type : 5;



    unsigned int obj : 1;
    unsigned int named : 2;
    unsigned int gp : 16;
    unsigned int mark : 1;
    unsigned int debug : 1;
    unsigned int trace : 1;
    unsigned int spare : 1;
    unsigned int gcgen : 1;
    unsigned int gccls : 3;
};

struct vecsxp_struct {
    R_len_t length;
    R_len_t truelength;
};

struct primsxp_struct {
    int offset;
};

struct symsxp_struct {
    struct SEXPREC *pname;
    struct SEXPREC *value;
    struct SEXPREC *internal;
};

struct listsxp_struct {
    struct SEXPREC *carval;
    struct SEXPREC *cdrval;
    struct SEXPREC *tagval;
};

struct envsxp_struct {
    struct SEXPREC *frame;
    struct SEXPREC *enclos;
    struct SEXPREC *hashtab;
};

struct closxp_struct {
    struct SEXPREC *formals;
    struct SEXPREC *body;
    struct SEXPREC *env;
};

struct promsxp_struct {
    struct SEXPREC *value;
    struct SEXPREC *expr;
    struct SEXPREC *env;
};
# 215 "../../src/include/Rinternals.h"
typedef struct SEXPREC {
    struct sxpinfo_struct sxpinfo; struct SEXPREC *attrib; struct SEXPREC *gengc_next_node, *gengc_prev_node;
    union {
 struct primsxp_struct primsxp;
 struct symsxp_struct symsxp;
 struct listsxp_struct listsxp;
 struct envsxp_struct envsxp;
 struct closxp_struct closxp;
 struct promsxp_struct promsxp;
    } u;
} SEXPREC, *SEXP;
# 235 "../../src/include/Rinternals.h"
typedef struct VECTOR_SEXPREC {
    struct sxpinfo_struct sxpinfo; struct SEXPREC *attrib; struct SEXPREC *gengc_next_node, *gengc_prev_node;
    struct vecsxp_struct vecsxp;
} VECTOR_SEXPREC, *VECSEXP;

typedef union { VECTOR_SEXPREC s; double align; } SEXPREC_ALIGN;
# 356 "../../src/include/Rinternals.h"
SEXP (ATTRIB)(SEXP x);
int (OBJECT)(SEXP x);
int (MARK)(SEXP x);
int (TYPEOF)(SEXP x);
int (NAMED)(SEXP x);
void (SET_OBJECT)(SEXP x, int v);
void (SET_TYPEOF)(SEXP x, int v);
void (SET_NAMED)(SEXP x, int v);
void SET_ATTRIB(SEXP x, SEXP v);
void DUPLICATE_ATTRIB(SEXP to, SEXP from);


int (IS_S4_OBJECT)(SEXP x);
void (SET_S4_OBJECT)(SEXP x);
void (UNSET_S4_OBJECT)(SEXP x);


int (LENGTH)(SEXP x);
int (TRUELENGTH)(SEXP x);
void (SETLENGTH)(SEXP x, int v);
void (SET_TRUELENGTH)(SEXP x, int v);
int (LEVELS)(SEXP x);
int (SETLEVELS)(SEXP x, int v);

int *(LOGICAL)(SEXP x);
int *(INTEGER)(SEXP x);
Rbyte *(RAW)(SEXP x);
double *(REAL)(SEXP x);
Rcomplex *(COMPLEX)(SEXP x);
SEXP (STRING_ELT)(SEXP x, int i);
SEXP (VECTOR_ELT)(SEXP x, int i);
void SET_STRING_ELT(SEXP x, int i, SEXP v);
SEXP SET_VECTOR_ELT(SEXP x, int i, SEXP v);
SEXP *(STRING_PTR)(SEXP x);
SEXP *(VECTOR_PTR)(SEXP x);





SEXP (TAG)(SEXP e);
SEXP (CAR)(SEXP e);
SEXP (CDR)(SEXP e);
SEXP (CAAR)(SEXP e);
SEXP (CDAR)(SEXP e);
SEXP (CADR)(SEXP e);
SEXP (CDDR)(SEXP e);
SEXP (CADDR)(SEXP e);
SEXP (CADDDR)(SEXP e);
SEXP (CAD4R)(SEXP e);
int (MISSING)(SEXP x);
void (SET_MISSING)(SEXP x, int v);
void SET_TAG(SEXP x, SEXP y);
SEXP SETCAR(SEXP x, SEXP y);
SEXP SETCDR(SEXP x, SEXP y);
SEXP SETCADR(SEXP x, SEXP y);
SEXP SETCADDR(SEXP x, SEXP y);
SEXP SETCADDDR(SEXP x, SEXP y);
SEXP SETCAD4R(SEXP e, SEXP y);


SEXP (FORMALS)(SEXP x);
SEXP (BODY)(SEXP x);
SEXP (CLOENV)(SEXP x);
int (DEBUG)(SEXP x);
int (TRACE)(SEXP x);
void (SET_DEBUG)(SEXP x, int v);
void (SET_TRACE)(SEXP x, int v);
void SET_FORMALS(SEXP x, SEXP v);
void SET_BODY(SEXP x, SEXP v);
void SET_CLOENV(SEXP x, SEXP v);


SEXP (PRINTNAME)(SEXP x);
SEXP (SYMVALUE)(SEXP x);
SEXP (INTERNAL)(SEXP x);
int (DDVAL)(SEXP x);
void (SET_DDVAL)(SEXP x, int v);
void SET_PRINTNAME(SEXP x, SEXP v);
void SET_SYMVALUE(SEXP x, SEXP v);
void SET_INTERNAL(SEXP x, SEXP v);


SEXP (FRAME)(SEXP x);
SEXP (ENCLOS)(SEXP x);
SEXP (HASHTAB)(SEXP x);
int (ENVFLAGS)(SEXP x);
void (SET_ENVFLAGS)(SEXP x, int v);
void SET_FRAME(SEXP x, SEXP v);
void SET_ENCLOS(SEXP x, SEXP v);
void SET_HASHTAB(SEXP x, SEXP v);



SEXP (PRCODE)(SEXP x);
SEXP (PRENV)(SEXP x);
SEXP (PRVALUE)(SEXP x);
int (PRSEEN)(SEXP x);
void (SET_PRSEEN)(SEXP x, int v);
void SET_PRENV(SEXP x, SEXP v);
void SET_PRVALUE(SEXP x, SEXP v);
void SET_PRCODE(SEXP x, SEXP v);
void SET_PRSEEN(SEXP x, int v);



int (HASHASH)(SEXP x);
int (HASHVALUE)(SEXP x);
void (SET_HASHASH)(SEXP x, int v);
void (SET_HASHVALUE)(SEXP x, int v);
# 492 "../../src/include/Rinternals.h"
typedef int PROTECT_INDEX;




extern SEXP R_GlobalEnv;

extern SEXP R_EmptyEnv;

extern SEXP R_BaseEnv;
extern SEXP R_BaseNamespace;
extern SEXP R_NamespaceRegistry;


extern SEXP R_NilValue;
extern SEXP R_UnboundValue;
extern SEXP R_MissingArg;



extern

SEXP R_RestartToken;


extern SEXP R_Bracket2Symbol;
extern SEXP R_BracketSymbol;
extern SEXP R_BraceSymbol;
extern SEXP R_ClassSymbol;
extern SEXP R_DimNamesSymbol;
extern SEXP R_DimSymbol;
extern SEXP R_DollarSymbol;
extern SEXP R_DotsSymbol;
extern SEXP R_DropSymbol;
extern SEXP R_LevelsSymbol;
extern SEXP R_ModeSymbol;
extern SEXP R_NamesSymbol;
extern SEXP R_RowNamesSymbol;
extern SEXP R_SeedsSymbol;
extern SEXP R_TspSymbol;



extern SEXP R_NaString;
extern SEXP R_BlankString;





SEXP Rf_asChar(SEXP);
SEXP Rf_coerceVector(SEXP, SEXPTYPE);
SEXP Rf_PairToVectorList(SEXP x);
SEXP Rf_VectorToPairList(SEXP x);
SEXP Rf_asCharacterFactor(SEXP x);
int Rf_asLogical(SEXP x);
int Rf_asInteger(SEXP x);
double Rf_asReal(SEXP x);
Rcomplex Rf_asComplex(SEXP x);





char * Rf_acopy_string(const char *);
SEXP Rf_alloc3DArray(SEXPTYPE, int, int, int);
SEXP Rf_allocArray(SEXPTYPE, SEXP);
SEXP Rf_allocMatrix(SEXPTYPE, int, int);
SEXP Rf_allocList(int);
SEXP Rf_allocS4Object(void);
SEXP Rf_allocSExp(SEXPTYPE);
SEXP Rf_allocVector(SEXPTYPE, R_len_t);
SEXP Rf_applyClosure(SEXP, SEXP, SEXP, SEXP, SEXP);
SEXP Rf_arraySubscript(int, SEXP, SEXP, SEXP (*)(SEXP,SEXP),
                       SEXP (*)(SEXP, int), SEXP);
Rcomplex Rf_asComplex(SEXP);
int Rf_asInteger(SEXP);
int Rf_asLogical(SEXP);
double Rf_asReal(SEXP);
SEXP Rf_classgets(SEXP, SEXP);
SEXP Rf_cons(SEXP, SEXP);
void Rf_copyMatrix(SEXP, SEXP, Rboolean);
void Rf_copyMostAttrib(SEXP, SEXP);
void Rf_copyVector(SEXP, SEXP);
SEXP Rf_CreateTag(SEXP);
void Rf_defineVar(SEXP, SEXP, SEXP);
SEXP Rf_dimgets(SEXP, SEXP);
SEXP Rf_dimnamesgets(SEXP, SEXP);
SEXP Rf_DropDims(SEXP);
SEXP Rf_duplicate(SEXP);
SEXP Rf_duplicated(SEXP, Rboolean);
SEXP Rf_eval(SEXP, SEXP);
SEXP Rf_findFun(SEXP, SEXP);
SEXP Rf_findVar(SEXP, SEXP);
SEXP Rf_findVarInFrame(SEXP, SEXP);
SEXP Rf_findVarInFrame3(SEXP, SEXP, Rboolean);
SEXP Rf_getAttrib(SEXP, SEXP);
SEXP Rf_GetArrayDimnames(SEXP);
SEXP Rf_GetColNames(SEXP);
void Rf_GetMatrixDimnames(SEXP, SEXP*, SEXP*, const char**, const char**);
SEXP Rf_GetOption(SEXP, SEXP);
int Rf_GetOptionDigits(SEXP);
int Rf_GetOptionWidth(SEXP);
SEXP Rf_GetRowNames(SEXP);
void Rf_gsetVar(SEXP, SEXP, SEXP);
SEXP Rf_install(const char *);
Rboolean Rf_isFree(SEXP);
Rboolean Rf_isOrdered(SEXP);
Rboolean Rf_isUnordered(SEXP);
Rboolean Rf_isUnsorted(SEXP, Rboolean);
SEXP Rf_lengthgets(SEXP, R_len_t);
SEXP R_lsInternal(SEXP, Rboolean);
SEXP Rf_match(SEXP, SEXP, int);
SEXP Rf_namesgets(SEXP, SEXP);
SEXP Rf_mkChar(const char *);
SEXP Rf_mkCharLen(const char *, int);
Rboolean Rf_NonNullStringMatch(SEXP, SEXP);
int Rf_ncols(SEXP);
int Rf_nrows(SEXP);
SEXP Rf_nthcdr(SEXP, int);
Rboolean Rf_pmatch(SEXP, SEXP, Rboolean);
Rboolean Rf_psmatch(const char *, const char *, Rboolean);
void Rf_PrintValue(SEXP);
SEXP Rf_protect(SEXP);
SEXP Rf_setAttrib(SEXP, SEXP, SEXP);
void Rf_setSVector(SEXP*, int, SEXP);
void Rf_setVar(SEXP, SEXP, SEXP);
SEXPTYPE Rf_str2type(const char *);
Rboolean Rf_StringBlank(SEXP);
SEXP Rf_substitute(SEXP,SEXP);
const char * Rf_translateChar(SEXP);
const char * Rf_translateCharUTF8(SEXP);
const char * Rf_type2char(SEXPTYPE);
SEXP Rf_type2str(SEXPTYPE);
void Rf_unprotect(int);
void Rf_unprotect_ptr(SEXP);

void R_ProtectWithIndex(SEXP, PROTECT_INDEX *);
void R_Reprotect(SEXP, PROTECT_INDEX);
SEXP R_tryEval(SEXP, SEXP, int *);

Rboolean Rf_isS4(SEXP);
SEXP Rf_asS4(SEXP, Rboolean, int);
SEXP Rf_S3Class(SEXP);

typedef enum {
    CE_NATIVE = 0,
    CE_UTF8 = 1,
    CE_LATIN1 = 2,
    CE_SYMBOL = 5,
    CE_ANY =99
} cetype_t;

cetype_t Rf_getCharCE(SEXP);
SEXP Rf_mkCharCE(const char *, cetype_t);
SEXP Rf_mkCharLenCE(const char *, int, cetype_t);
const char *Rf_reEnc(const char *x, cetype_t ce_in, cetype_t ce_out, int subst);
# 660 "../../src/include/Rinternals.h"
SEXP R_MakeExternalPtr(void *p, SEXP tag, SEXP prot);
void *R_ExternalPtrAddr(SEXP s);
SEXP R_ExternalPtrTag(SEXP s);
SEXP R_ExternalPtrProtected(SEXP s);
void R_ClearExternalPtr(SEXP s);
void R_SetExternalPtrAddr(SEXP s, void *p);
void R_SetExternalPtrTag(SEXP s, SEXP tag);
void R_SetExternalPtrProtected(SEXP s, SEXP p);


typedef void (*R_CFinalizer_t)(SEXP);
void R_RegisterFinalizer(SEXP s, SEXP fun);
void R_RegisterCFinalizer(SEXP s, R_CFinalizer_t fun);
void R_RegisterFinalizerEx(SEXP s, SEXP fun, Rboolean onexit);
void R_RegisterCFinalizerEx(SEXP s, R_CFinalizer_t fun, Rboolean onexit);


SEXP R_MakeWeakRef(SEXP key, SEXP val, SEXP fin, Rboolean onexit);
SEXP R_MakeWeakRefC(SEXP key, SEXP val, R_CFinalizer_t fin, Rboolean onexit);
SEXP R_WeakRefKey(SEXP w);
SEXP R_WeakRefValue(SEXP w);
void R_RunWeakRefFinalizer(SEXP w);


SEXP R_PromiseExpr(SEXP);
SEXP R_ClosureExpr(SEXP);
void R_initialize_bcode(void);
SEXP R_bcEncode(SEXP);
SEXP R_bcDecode(SEXP);
# 697 "../../src/include/Rinternals.h"
Rboolean R_ToplevelExec(void (*fun)(void *), void *data);


void R_RestoreHashCount(SEXP rho);
Rboolean R_IsPackageEnv(SEXP rho);
SEXP R_PackageEnvName(SEXP rho);
SEXP R_FindPackageEnv(SEXP info);
Rboolean R_IsNamespaceEnv(SEXP rho);
SEXP R_NamespaceEnvSpec(SEXP rho);
SEXP R_FindNamespace(SEXP info);
void R_LockEnvironment(SEXP env, Rboolean bindings);
Rboolean R_EnvironmentIsLocked(SEXP env);
void R_LockBinding(SEXP sym, SEXP env);
void R_unLockBinding(SEXP sym, SEXP env);
void R_MakeActiveBinding(SEXP sym, SEXP fun, SEXP env);
Rboolean R_BindingIsLocked(SEXP sym, SEXP env);
Rboolean R_BindingIsActive(SEXP sym, SEXP env);
Rboolean R_HasFancyBindings(SEXP rho);




void Rf_errorcall(SEXP, const char *, ...);
void Rf_warningcall(SEXP, const char *, ...);
void Rf_warningcall_immediate(SEXP, const char *, ...);





void R_XDREncodeDouble(double d, void *buf);
double R_XDRDecodeDouble(void *buf);
void R_XDREncodeInteger(int i, void *buf);
int R_XDRDecodeInteger(void *buf);

typedef void *R_pstream_data_t;

typedef enum {
    R_pstream_any_format,
    R_pstream_ascii_format,
    R_pstream_binary_format,
    R_pstream_xdr_format
} R_pstream_format_t;

typedef struct R_outpstream_st *R_outpstream_t;
struct R_outpstream_st {
    R_pstream_data_t data;
    R_pstream_format_t type;
    int version;
    void (*OutChar)(R_outpstream_t, int);
    void (*OutBytes)(R_outpstream_t, void *, int);
    SEXP (*OutPersistHookFunc)(SEXP, SEXP);
    SEXP OutPersistHookData;
};

typedef struct R_inpstream_st *R_inpstream_t;
struct R_inpstream_st {
    R_pstream_data_t data;
    R_pstream_format_t type;
    int (*InChar)(R_inpstream_t);
    void (*InBytes)(R_inpstream_t, void *, int);
    SEXP (*InPersistHookFunc)(SEXP, SEXP);
    SEXP InPersistHookData;
};

void R_InitInPStream(R_inpstream_t stream, R_pstream_data_t data,
       R_pstream_format_t type,
       int (*inchar)(R_inpstream_t),
       void (*inbytes)(R_inpstream_t, void *, int),
       SEXP (*phook)(SEXP, SEXP), SEXP pdata);
void R_InitOutPStream(R_outpstream_t stream, R_pstream_data_t data,
        R_pstream_format_t type, int version,
        void (*outchar)(R_outpstream_t, int),
        void (*outbytes)(R_outpstream_t, void *, int),
        SEXP (*phook)(SEXP, SEXP), SEXP pdata);

void R_InitFileInPStream(R_inpstream_t stream, FILE *fp,
    R_pstream_format_t type,
    SEXP (*phook)(SEXP, SEXP), SEXP pdata);
void R_InitFileOutPStream(R_outpstream_t stream, FILE *fp,
     R_pstream_format_t type, int version,
     SEXP (*phook)(SEXP, SEXP), SEXP pdata);
# 796 "../../src/include/Rinternals.h"
void R_Serialize(SEXP s, R_outpstream_t ops);
SEXP R_Unserialize(R_inpstream_t ips);


SEXP R_do_slot(SEXP obj, SEXP name);
SEXP R_do_slot_assign(SEXP obj, SEXP name, SEXP value);
int R_has_slot(SEXP obj, SEXP name);


SEXP R_do_MAKE_CLASS(const char *what);
SEXP R_getClassDef (const char *what);
SEXP R_do_new_object(SEXP class_def);


void R_PreserveObject(SEXP);
void R_ReleaseObject(SEXP);


void R_dot_Last(void);
void R_RunExitFinalizers(void);



FILE *R_popen(const char *, const char *);

int R_system(const char *);
# 966 "../../src/include/Rinternals.h"
# 1 "../../src/include/Rinlinedfuns.h" 1
# 72 "../../src/include/Rinlinedfuns.h"
# 1 "/usr/include/string.h" 1 3 4
# 28 "/usr/include/string.h" 3 4





# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 34 "/usr/include/string.h" 2 3 4




extern void *memcpy (void *__restrict __dest,
       __const void *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));


extern void *memmove (void *__dest, __const void *__src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));






extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
        int __c, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));





extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


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


extern void *memchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));





extern void *rawmemchr (__const void *__s, int __c)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));


extern void *memrchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));





extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));

extern char *strncpy (char *__restrict __dest,
        __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));


extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));

extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
        size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));


extern int strcmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));

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


extern int strcoll (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));

extern size_t strxfrm (char *__restrict __dest,
         __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));






# 1 "/usr/include/xlocale.h" 1 3 4
# 28 "/usr/include/xlocale.h" 3 4
typedef struct __locale_struct
{

  struct locale_data *__locales[13];


  const unsigned short int *__ctype_b;
  const int *__ctype_tolower;
  const int *__ctype_toupper;


  const char *__names[13];
} *__locale_t;
# 119 "/usr/include/string.h" 2 3 4


extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));

extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
    __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));




extern char *strdup (__const char *__s)
     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));






extern char *strndup (__const char *__string, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
# 165 "/usr/include/string.h" 3 4


extern char *strchr (__const char *__s, int __c)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));

extern char *strrchr (__const char *__s, int __c)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));





extern char *strchrnul (__const char *__s, int __c)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));





extern size_t strcspn (__const char *__s, __const char *__reject)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));


extern size_t strspn (__const char *__s, __const char *__accept)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));

extern char *strpbrk (__const char *__s, __const char *__accept)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));

extern char *strstr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));



extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));




extern char *__strtok_r (char *__restrict __s,
    __const char *__restrict __delim,
    char **__restrict __save_ptr)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));

extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
         char **__restrict __save_ptr)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));




extern char *strcasestr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));






extern void *memmem (__const void *__haystack, size_t __haystacklen,
       __const void *__needle, size_t __needlelen)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));



extern void *__mempcpy (void *__restrict __dest,
   __const void *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern void *mempcpy (void *__restrict __dest,
        __const void *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));





extern size_t strlen (__const char *__s)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));





extern size_t strnlen (__const char *__string, size_t __maxlen)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));





extern char *strerror (int __errnum) __attribute__ ((__nothrow__));

# 281 "/usr/include/string.h" 3 4
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));





extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__));





extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));



extern void bcopy (__const void *__src, void *__dest, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));


extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


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


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


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



extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));




extern int ffsl (long int __l) __attribute__ ((__nothrow__)) __attribute__ ((__const__));

__extension__ extern int ffsll (long long int __ll)
     __attribute__ ((__nothrow__)) __attribute__ ((__const__));




extern int strcasecmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));


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





extern int strcasecmp_l (__const char *__s1, __const char *__s2,
    __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));

extern int strncasecmp_l (__const char *__s1, __const char *__s2,
     size_t __n, __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));





extern char *strsep (char **__restrict __stringp,
       __const char *__restrict __delim)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));




extern int strverscmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));


extern char *strsignal (int __sig) __attribute__ ((__nothrow__));


extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));



extern char *__stpncpy (char *__restrict __dest,
   __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *stpncpy (char *__restrict __dest,
        __const char *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));


extern char *strfry (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));






extern char *basename (__const char *__filename) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
# 420 "/usr/include/string.h" 3 4
# 1 "/usr/include/bits/string.h" 1 3 4
# 421 "/usr/include/string.h" 2 3 4


# 1 "/usr/include/bits/string2.h" 1 3 4
# 80 "/usr/include/bits/string2.h" 3 4
typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2;
typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3;
typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4;
typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5;
typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6;
typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7;
typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8;
# 394 "/usr/include/bits/string2.h" 3 4
extern void *__rawmemchr (const void *__s, int __c);
# 969 "/usr/include/bits/string2.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (__const char *__s, int __reject);
extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (__const char *__s, int __reject1,
         int __reject2);
extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (__const char *__s, int __reject1,
         int __reject2, int __reject3);
extern __inline __attribute__ ((__gnu_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;
}
# 1045 "/usr/include/bits/string2.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (__const char *__s, int __accept);
extern __inline __attribute__ ((__gnu_inline__)) size_t
__strspn_c1 (__const char *__s, int __accept)
{
  register size_t __result = 0;

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

extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (__const char *__s, int __accept1,
        int __accept2);
extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (__const char *__s, int __accept1,
        int __accept2, int __accept3);
extern __inline __attribute__ ((__gnu_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;
}
# 1121 "/usr/include/bits/string2.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (__const char *__s, int __accept1,
         int __accept2);
extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (__const char *__s, int __accept1,
         int __accept2, int __accept3);
extern __inline __attribute__ ((__gnu_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;
}
# 1172 "/usr/include/bits/string2.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline __attribute__ ((__gnu_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;
}
# 1204 "/usr/include/bits/string2.h" 3 4
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1222 "/usr/include/bits/string2.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject);
extern __inline __attribute__ ((__gnu_inline__)) char *
__strsep_1c (char **__s, char __reject)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
    *(*__s)++ = '\0';
  return __retval;
}

extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2,
       char __reject3);
extern __inline __attribute__ ((__gnu_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;
}
# 1298 "/usr/include/bits/string2.h" 3 4
# 1 "/usr/include/stdlib.h" 1 3 4
# 33 "/usr/include/stdlib.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 34 "/usr/include/stdlib.h" 2 3 4


# 469 "/usr/include/stdlib.h" 3 4


extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;

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

# 891 "/usr/include/stdlib.h" 3 4

# 1299 "/usr/include/bits/string2.h" 2 3 4




extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
# 1322 "/usr/include/bits/string2.h" 3 4
extern char *__strndup (__const char *__string, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
# 424 "/usr/include/string.h" 2 3 4
# 432 "/usr/include/string.h" 3 4

# 73 "../../src/include/Rinlinedfuns.h" 2
# 81 "../../src/include/Rinlinedfuns.h"
int Rf_envlength(SEXP rho);

inline R_len_t Rf_length(SEXP s)
{
    int i;
    switch (((s)->sxpinfo.type)) {
    case 0:
 return 0;
    case 10:
    case 13:
    case 14:
    case 15:
    case 16:
    case 9:
    case 19:
    case 20:
    case 24:
 return (((VECSEXP) (s))->vecsxp.length);
    case 2:
    case 6:
    case 17:
 i = 0;
 while (s != ((void *)0) && s != R_NilValue) {
     i++;
     s = ((s)->u.listsxp.cdrval);
 }
 return i;
    case 4:
 return Rf_envlength(s);
    default:
 return 1;
    }
}
# 122 "../../src/include/Rinlinedfuns.h"
inline SEXP Rf_elt(SEXP list, int i)
{
    int j;
    SEXP result = list;

    if ((i < 0) || (i > Rf_length(list)))
 return R_NilValue;
    else
 for (j = 0; j < i; j++)
     result = ((result)->u.listsxp.cdrval);

    return ((result)->u.listsxp.carval);
}



inline SEXP Rf_lastElt(SEXP list)
{
    SEXP result = R_NilValue;
    while (list != R_NilValue) {
 result = list;
 list = ((list)->u.listsxp.cdrval);
    }
    return result;
}




inline SEXP Rf_list1(SEXP s)
{
    return Rf_cons((s), (R_NilValue));
}


inline SEXP Rf_list2(SEXP s, SEXP t)
{
    Rf_protect(s);
    s = Rf_cons((s), (Rf_list1(t)));
    Rf_unprotect(1);
    return s;
}


inline SEXP Rf_list3(SEXP s, SEXP t, SEXP u)
{
    Rf_protect(s);
    s = Rf_cons((s), (Rf_list2(t, u)));
    Rf_unprotect(1);
    return s;
}


inline SEXP Rf_list4(SEXP s, SEXP t, SEXP u, SEXP v)
{
    Rf_protect(s);
    s = Rf_cons((s), (Rf_list3(t, u, v)));
    Rf_unprotect(1);
    return s;
}




inline SEXP Rf_listAppend(SEXP s, SEXP t)
{
    SEXP r;
    if (s == R_NilValue)
 return t;
    r = s;
    while (((r)->u.listsxp.cdrval) != R_NilValue)
 r = ((r)->u.listsxp.cdrval);
    SETCDR(r, t);
    return s;
}







inline SEXP Rf_lcons(SEXP car, SEXP cdr)
{
    SEXP e = Rf_cons(car, cdr);
    (((e)->sxpinfo.type)=(6));
    return e;
}

inline SEXP Rf_lang1(SEXP s)
{
    return Rf_lcons((s), (R_NilValue));
}

inline SEXP Rf_lang2(SEXP s, SEXP t)
{
    Rf_protect(s);
    s = Rf_lcons((s), (Rf_list1(t)));
    Rf_unprotect(1);
    return s;
}

inline SEXP Rf_lang3(SEXP s, SEXP t, SEXP u)
{
    Rf_protect(s);
    s = Rf_lcons((s), (Rf_list2(t, u)));
    Rf_unprotect(1);
    return s;
}

inline SEXP Rf_lang4(SEXP s, SEXP t, SEXP u, SEXP v)
{
    Rf_protect(s);
    s = Rf_lcons((s), (Rf_list3(t, u, v)));
    Rf_unprotect(1);
    return s;
}





inline Rboolean Rf_conformable(SEXP x, SEXP y)
{
    int i, n;
    Rf_protect(x = Rf_getAttrib(x, R_DimSymbol));
    y = Rf_getAttrib(y, R_DimSymbol);
    Rf_unprotect(1);
    if ((n = Rf_length(x)) != Rf_length(y))
 return FALSE;
    for (i = 0; i < n; i++)
 if (((int *) (((SEXPREC_ALIGN *) (x)) + 1))[i] != ((int *) (((SEXPREC_ALIGN *) (y)) + 1))[i])
     return FALSE;
    return TRUE;
}

inline Rboolean Rf_inherits(SEXP s, const char *name)
{
    SEXP klass;
    int i, nclass;
    if (((s)->sxpinfo.obj)) {
 klass = Rf_getAttrib(s, R_ClassSymbol);
 nclass = Rf_length(klass);
 for (i = 0; i < nclass; i++) {
     if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) && __builtin_constant_p (name) && (__s1_len = strlen (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))), __s2_len = strlen (name), (!((size_t)(const void *)((((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) + 1) - (size_t)(const void *)(((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), name) : (__builtin_constant_p (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) && ((size_t)(const void *)((((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) + 1) - (size_t)(const void *)(((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) == 1) && (__s1_len = strlen (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))), __s1_len < 4) ? (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) ? __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), name) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (name); register int __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) && (__s2_len = strlen (name), __s2_len < 4) ? (__builtin_constant_p (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) && ((size_t)(const void *)((((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) + 1) - (size_t)(const void *)(((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) == 1) ? __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), name) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (name))[3]); } } __result; }))) : __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), name)))); }))
  return TRUE;
 }
    }
    return FALSE;
}

inline Rboolean Rf_isValidString(SEXP x)
{
    return ((x)->sxpinfo.type) == 16 && (((VECSEXP) (x))->vecsxp.length) > 0 && ((((SEXP *) (((SEXPREC_ALIGN *) (x)) + 1))[0])->sxpinfo.type) != 0;
}


inline Rboolean Rf_isValidStringF(SEXP x)
{
    return Rf_isValidString(x) && ((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (x)) + 1))[0])) + 1))[0];
}

inline Rboolean Rf_isUserBinop(SEXP s)
{
    if (((s)->sxpinfo.type) == 1) {
 const char *str = ((const char *) (((SEXPREC_ALIGN *) (((s)->u.symsxp.pname))) + 1));
 if (strlen(str) >= 2 && str[0] == '%' && str[strlen(str)-1] == '%')
     return TRUE;
    }
    return FALSE;
}

inline Rboolean Rf_isFunction(SEXP s)
{
    return (((s)->sxpinfo.type) == 3 ||
     ((s)->sxpinfo.type) == 8 ||
     ((s)->sxpinfo.type) == 7);
}

inline Rboolean Rf_isPrimitive(SEXP s)
{
    return (((s)->sxpinfo.type) == 8 ||
     ((s)->sxpinfo.type) == 7);
}

inline Rboolean Rf_isList(SEXP s)
{
    return (s == R_NilValue || ((s)->sxpinfo.type) == 2);
}


inline Rboolean Rf_isNewList(SEXP s)
{
    return (s == R_NilValue || ((s)->sxpinfo.type) == 19);
}

inline Rboolean Rf_isPairList(SEXP s)
{
    switch (((s)->sxpinfo.type)) {
    case 0:
    case 2:
    case 6:
 return TRUE;
    default:
 return FALSE;
    }
}

inline Rboolean Rf_isVectorList(SEXP s)
{
    switch (((s)->sxpinfo.type)) {
    case 19:
    case 20:
 return TRUE;
    default:
 return FALSE;
    }
}

inline Rboolean Rf_isVectorAtomic(SEXP s)
{
    switch (((s)->sxpinfo.type)) {
    case 10:
    case 13:
    case 14:
    case 15:
    case 16:
    case 24:
 return TRUE;
    default:
 return FALSE;
    }
}

inline Rboolean Rf_isVector(SEXP s)
{
    switch(((s)->sxpinfo.type)) {
    case 10:
    case 13:
    case 14:
    case 15:
    case 16:
    case 24:

    case 19:
    case 20:
 return TRUE;
    default:
 return FALSE;
    }
}

inline Rboolean Rf_isFrame(SEXP s)
{
    SEXP klass;
    int i;
    if (((s)->sxpinfo.obj)) {
 klass = Rf_getAttrib(s, R_ClassSymbol);
 for (i = 0; i < Rf_length(klass); i++)
     if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) && __builtin_constant_p ("data.frame") && (__s1_len = strlen (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))), __s2_len = strlen ("data.frame"), (!((size_t)(const void *)((((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) + 1) - (size_t)(const void *)(((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("data.frame") + 1) - (size_t)(const void *)("data.frame") == 1) || __s2_len >= 4)) ? __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), "data.frame") : (__builtin_constant_p (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) && ((size_t)(const void *)((((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) + 1) - (size_t)(const void *)(((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) == 1) && (__s1_len = strlen (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))), __s1_len < 4) ? (__builtin_constant_p ("data.frame") && ((size_t)(const void *)(("data.frame") + 1) - (size_t)(const void *)("data.frame") == 1) ? __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), "data.frame") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("data.frame"); register int __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("data.frame") && ((size_t)(const void *)(("data.frame") + 1) - (size_t)(const void *)("data.frame") == 1) && (__s2_len = strlen ("data.frame"), __s2_len < 4) ? (__builtin_constant_p (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) && ((size_t)(const void *)((((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) + 1) - (size_t)(const void *)(((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))) == 1) ? __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), "data.frame") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1))); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("data.frame"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("data.frame"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("data.frame"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("data.frame"))[3]); } } __result; }))) : __builtin_strcmp (((const char *) (((SEXPREC_ALIGN *) (((SEXP *) (((SEXPREC_ALIGN *) (klass)) + 1))[i])) + 1)), "data.frame")))); })) return TRUE;
    }
    return FALSE;
}

inline Rboolean Rf_isLanguage(SEXP s)
{
    return (s == R_NilValue || ((s)->sxpinfo.type) == 6);
}

inline Rboolean Rf_isMatrix(SEXP s)
{
    SEXP t;
    if (Rf_isVector(s)) {
 t = Rf_getAttrib(s, R_DimSymbol);


 if (((t)->sxpinfo.type) == 13 && (((VECSEXP) (t))->vecsxp.length) == 2)
     return TRUE;
    }
    return FALSE;
}

inline Rboolean Rf_isArray(SEXP s)
{
    SEXP t;
    if (Rf_isVector(s)) {
 t = Rf_getAttrib(s, R_DimSymbol);


 if (((t)->sxpinfo.type) == 13 && (((VECSEXP) (t))->vecsxp.length) > 0)
     return TRUE;
    }
    return FALSE;
}

inline Rboolean Rf_isTs(SEXP s)
{
    return (Rf_isVector(s) && Rf_getAttrib(s, R_TspSymbol) != R_NilValue);
}


inline Rboolean Rf_isInteger(SEXP s)
{
    return (((s)->sxpinfo.type) == 13 && !Rf_inherits(s, "factor"));
}

inline Rboolean Rf_isFactor(SEXP s)
{
    return (((s)->sxpinfo.type) == 13 && Rf_inherits(s, "factor"));
}

inline int Rf_nlevels(SEXP f)
{
    if (!Rf_isFactor(f))
 return 0;
    return (((VECSEXP) (Rf_getAttrib(f, R_LevelsSymbol)))->vecsxp.length);
}





inline Rboolean Rf_isNumeric(SEXP s)
{
    switch(((s)->sxpinfo.type)) {
    case 13:
 if (Rf_inherits(s,"factor")) return FALSE;
    case 10:
    case 14:
 return TRUE;
    default:
 return FALSE;
    }
}


inline SEXP Rf_ScalarLogical(int x)
{
    SEXP ans = Rf_allocVector(10, 1);
    if (x == R_NaInt) ((int *) (((SEXPREC_ALIGN *) (ans)) + 1))[0] = R_NaInt;
    else ((int *) (((SEXPREC_ALIGN *) (ans)) + 1))[0] = (x != 0);
    return ans;
}

inline SEXP Rf_ScalarInteger(int x)
{
    SEXP ans = Rf_allocVector(13, 1);
    ((int *) (((SEXPREC_ALIGN *) (ans)) + 1))[0] = x;
    return ans;
}

inline SEXP Rf_ScalarReal(double x)
{
    SEXP ans = Rf_allocVector(14, 1);
    ((double *) (((SEXPREC_ALIGN *) (ans)) + 1))[0] = x;
    return ans;
}


inline SEXP Rf_ScalarComplex(Rcomplex x)
{
    SEXP ans = Rf_allocVector(15, 1);
    ((Rcomplex *) (((SEXPREC_ALIGN *) (ans)) + 1))[0] = x;
    return ans;
}

inline SEXP Rf_ScalarString(SEXP x)
{
    SEXP ans;
    Rf_protect(x);
    ans = Rf_allocVector(16, 1);
    SET_STRING_ELT(ans, 0, x);
    Rf_unprotect(1);
    return ans;
}

inline SEXP Rf_ScalarRaw(Rbyte x)
{
    SEXP ans = Rf_allocVector(24, 1);
    ((Rbyte *) (((SEXPREC_ALIGN *) (ans)) + 1))[0] = x;
    return ans;
}





inline Rboolean Rf_isVectorizable(SEXP s)
{
    if (s == R_NilValue) return TRUE;
    else if (Rf_isNewList(s)) {
 int i, n;

 n = (((VECSEXP) (s))->vecsxp.length);
 for (i = 0 ; i < n; i++)
     if (!Rf_isVector(((SEXP *) (((SEXPREC_ALIGN *) (s)) + 1))[i]) || (((VECSEXP) (((SEXP *) (((SEXPREC_ALIGN *) (s)) + 1))[i]))->vecsxp.length) > 1)
  return FALSE;
 return TRUE;
    }
    else if (Rf_isList(s)) {
 for ( ; s != R_NilValue; s = ((s)->u.listsxp.cdrval))
     if (!Rf_isVector(((s)->u.listsxp.carval)) || (((VECSEXP) (((s)->u.listsxp.carval)))->vecsxp.length) > 1) return FALSE;
 return TRUE;
    }
    else return FALSE;
}




inline SEXP Rf_mkString(const char *s)
{
    SEXP t;

    Rf_protect(t = Rf_allocVector(16, 1));
    SET_STRING_ELT(t, 0, Rf_mkChar(s));
    Rf_unprotect(1);
    return t;
}
# 967 "../../src/include/Rinternals.h" 2
# 81 "../../src/include/Defn.h" 2

extern SEXP R_CommentSymbol;
extern SEXP R_DotEnvSymbol;
extern SEXP R_ExactSymbol;
extern SEXP R_LastvalueSymbol;
extern SEXP R_NaRmSymbol;
extern SEXP R_RecursiveSymbol;
extern SEXP R_SourceSymbol;
extern SEXP R_SrcfileSymbol;
extern SEXP R_SrcrefSymbol;
extern SEXP R_TmpvalSymbol;
extern SEXP R_UseNamesSymbol;

extern SEXP R_StringHash;
# 126 "../../src/include/Defn.h"
SEXP (SET_CXTAIL)(SEXP x, SEXP y);






# 1 "../../src/include/Internal.h" 1
# 34 "../../src/include/Internal.h"
SEXP do_X11(SEXP, SEXP, SEXP, SEXP);
SEXP do_cairo(SEXP, SEXP, SEXP, SEXP);
SEXP do_saveplot(SEXP, SEXP, SEXP, SEXP);
# 86 "../../src/include/Internal.h"
SEXP do_abbrev(SEXP, SEXP, SEXP, SEXP);
SEXP do_abline(SEXP, SEXP, SEXP, SEXP);
SEXP do_abs(SEXP, SEXP, SEXP, SEXP);
SEXP do_addhistory(SEXP, SEXP, SEXP, SEXP);
SEXP do_addCondHands(SEXP, SEXP, SEXP, SEXP);
SEXP do_addRestart(SEXP, SEXP, SEXP, SEXP);
SEXP do_addTryHandlers(SEXP, SEXP, SEXP, SEXP);
SEXP do_agrep(SEXP, SEXP, SEXP, SEXP);
SEXP do_allnames(SEXP, SEXP, SEXP, SEXP);
SEXP do_anydf(SEXP, SEXP, SEXP, SEXP);
SEXP do_aperm(SEXP, SEXP, SEXP, SEXP);
SEXP do_args(SEXP, SEXP, SEXP, SEXP);
SEXP do_arith(SEXP, SEXP, SEXP, SEXP);
SEXP do_arrows(SEXP, SEXP, SEXP, SEXP);
SEXP do_asPOSIXct(SEXP, SEXP, SEXP, SEXP);
SEXP do_asPOSIXlt(SEXP, SEXP, SEXP, SEXP);
SEXP do_ascall(SEXP, SEXP, SEXP, SEXP);
SEXP do_as_environment(SEXP, SEXP, SEXP, SEXP);
SEXP do_ascharacter(SEXP, SEXP, SEXP, SEXP);
SEXP do_asfunction(SEXP, SEXP, SEXP, SEXP);
SEXP do_asmatrixdf(SEXP, SEXP, SEXP, SEXP);
SEXP do_assign(SEXP, SEXP, SEXP, SEXP);
SEXP do_asvector(SEXP, SEXP, SEXP, SEXP);
SEXP do_AT(SEXP call, SEXP op, SEXP args, SEXP env);
SEXP do_AT_assign(SEXP call, SEXP op, SEXP args, SEXP env);
SEXP do_atan(SEXP, SEXP, SEXP, SEXP);
SEXP do_attach(SEXP,SEXP,SEXP,SEXP);
SEXP do_attr(SEXP, SEXP, SEXP, SEXP);
SEXP do_attrgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_attributes(SEXP, SEXP, SEXP, SEXP);
SEXP do_attributesgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_axis(SEXP, SEXP, SEXP, SEXP);
SEXP do_basename(SEXP, SEXP, SEXP, SEXP);
SEXP do_begin(SEXP, SEXP, SEXP, SEXP);
SEXP do_bind(SEXP, SEXP, SEXP, SEXP);
SEXP do_bindtextdomain(SEXP, SEXP, SEXP, SEXP);
SEXP do_body(SEXP, SEXP, SEXP, SEXP);
SEXP do_bodyCode(SEXP, SEXP, SEXP, SEXP);
SEXP do_box(SEXP, SEXP, SEXP, SEXP);
SEXP do_break(SEXP, SEXP, SEXP, SEXP);
SEXP do_browser(SEXP, SEXP, SEXP, SEXP);
SEXP do_builtins(SEXP, SEXP, SEXP, SEXP);
SEXP do_c(SEXP, SEXP, SEXP, SEXP);
SEXP do_c_dflt(SEXP, SEXP, SEXP, SEXP);
SEXP do_call(SEXP, SEXP, SEXP, SEXP);
SEXP do_capabilities(SEXP, SEXP, SEXP, SEXP);
SEXP do_capabilitiesX11(SEXP, SEXP, SEXP, SEXP);
SEXP do_cat(SEXP, SEXP, SEXP, SEXP);
SEXP do_charmatch(SEXP, SEXP, SEXP, SEXP);
SEXP do_charToRaw(SEXP, SEXP, SEXP, SEXP);
SEXP do_chartr(SEXP, SEXP, SEXP, SEXP);
SEXP do_class(SEXP, SEXP, SEXP, SEXP);
SEXP do_classgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_clip(SEXP, SEXP, SEXP, SEXP);
SEXP do_colon(SEXP, SEXP, SEXP, SEXP);
SEXP do_colors(SEXP, SEXP, SEXP, SEXP);
SEXP do_colsum(SEXP, SEXP, SEXP, SEXP);
SEXP do_col2RGB(SEXP, SEXP, SEXP, SEXP);
SEXP do_commandArgs(SEXP, SEXP, SEXP, SEXP);
SEXP do_comment(SEXP, SEXP, SEXP, SEXP);
SEXP do_commentgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_complex(SEXP, SEXP, SEXP, SEXP);
SEXP do_contour(SEXP, SEXP, SEXP, SEXP);
SEXP do_contourLines(SEXP, SEXP, SEXP, SEXP);
SEXP do_countfields(SEXP, SEXP, SEXP, SEXP);
SEXP do_convertXY(SEXP, SEXP, SEXP, SEXP);
SEXP do_Cstack_info(SEXP, SEXP, SEXP, SEXP);
SEXP do_cum(SEXP, SEXP, SEXP, SEXP);
SEXP do_compcases(SEXP, SEXP, SEXP, SEXP);
SEXP do_cov(SEXP, SEXP, SEXP, SEXP);
SEXP do_D(SEXP, SEXP, SEXP, SEXP);
SEXP do_D2POSIXlt(SEXP, SEXP, SEXP, SEXP);
SEXP do_dataentry(SEXP, SEXP, SEXP, SEXP);
SEXP do_dataframe(SEXP, SEXP, SEXP, SEXP);
SEXP do_dataviewer(SEXP, SEXP, SEXP, SEXP);
SEXP do_date(SEXP, SEXP, SEXP, SEXP);
SEXP do_debug(SEXP, SEXP, SEXP, SEXP);
SEXP do_devAskNewPage(SEXP, SEXP, SEXP, SEXP);
SEXP do_delayed(SEXP, SEXP, SEXP, SEXP);
SEXP do_dend(SEXP, SEXP, SEXP, SEXP);
SEXP do_dendwindow(SEXP, SEXP, SEXP, SEXP);
SEXP do_deparse(SEXP, SEXP, SEXP, SEXP);
SEXP do_deriv(SEXP, SEXP, SEXP, SEXP);
SEXP do_detach(SEXP,SEXP,SEXP,SEXP);
SEXP do_devcontrol(SEXP,SEXP,SEXP,SEXP);
SEXP do_devcopy(SEXP,SEXP,SEXP,SEXP);
SEXP do_devcur(SEXP, SEXP, SEXP, SEXP);
SEXP do_devnext(SEXP, SEXP, SEXP, SEXP);
SEXP do_devoff(SEXP, SEXP, SEXP, SEXP);
SEXP do_devprev(SEXP, SEXP, SEXP, SEXP);
SEXP do_devset(SEXP, SEXP, SEXP, SEXP);
SEXP do_devsize(SEXP, SEXP, SEXP, SEXP);
SEXP do_dfltStop(SEXP, SEXP, SEXP, SEXP);
SEXP do_dfltWarn(SEXP, SEXP, SEXP, SEXP);
SEXP do_dim(SEXP, SEXP, SEXP, SEXP);
SEXP do_dimgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_dimnames(SEXP, SEXP, SEXP, SEXP);
SEXP do_dimnamesgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_dirchmod(SEXP, SEXP, SEXP, SEXP);
SEXP do_dircreate(SEXP, SEXP, SEXP, SEXP);
SEXP do_dirname(SEXP, SEXP, SEXP, SEXP);
SEXP do_docall(SEXP, SEXP, SEXP, SEXP);
SEXP do_dotcall(SEXP, SEXP, SEXP, SEXP);
SEXP do_dotcallgr(SEXP, SEXP, SEXP, SEXP);
SEXP do_dotCode(SEXP, SEXP, SEXP, SEXP);
SEXP do_dput(SEXP, SEXP, SEXP, SEXP);
SEXP do_drop(SEXP, SEXP, SEXP, SEXP);
SEXP do_dumpb(SEXP, SEXP, SEXP, SEXP);
SEXP do_dump(SEXP, SEXP, SEXP, SEXP);
SEXP do_duplicated(SEXP, SEXP, SEXP, SEXP);
SEXP do_dynload(SEXP, SEXP, SEXP, SEXP);
SEXP do_dynunload(SEXP, SEXP, SEXP, SEXP);
SEXP do_eapply(SEXP, SEXP, SEXP, SEXP);
SEXP do_edit(SEXP, SEXP, SEXP, SEXP);
SEXP do_encoding(SEXP, SEXP, SEXP, SEXP);
SEXP do_encodeString(SEXP, SEXP, SEXP, SEXP);
SEXP do_envir(SEXP, SEXP, SEXP, SEXP);
SEXP do_envirgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_envirName(SEXP, SEXP, SEXP, SEXP);
SEXP do_env2list(SEXP, SEXP, SEXP, SEXP);
SEXP do_erase(SEXP, SEXP, SEXP, SEXP);
SEXP do_External(SEXP, SEXP, SEXP, SEXP);
SEXP do_Externalgr(SEXP, SEXP, SEXP, SEXP);
SEXP do_eval(SEXP, SEXP, SEXP, SEXP);
SEXP do_expression(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileaccess(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileappend(SEXP, SEXP, SEXP, SEXP);
SEXP do_filechoose(SEXP, SEXP, SEXP, SEXP);
SEXP do_filecopy(SEXP, SEXP, SEXP, SEXP);
SEXP do_filecreate(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileexists(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileinfo(SEXP, SEXP, SEXP, SEXP);
SEXP do_filepath(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileremove(SEXP, SEXP, SEXP, SEXP);
SEXP do_filerename(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileshow(SEXP, SEXP, SEXP, SEXP);
SEXP do_fileedit(SEXP, SEXP, SEXP, SEXP);
SEXP do_filesymlink(SEXP, SEXP, SEXP, SEXP);
SEXP do_filledcontour(SEXP, SEXP, SEXP, SEXP);
SEXP do_first_min(SEXP, SEXP, SEXP, SEXP);
SEXP do_fft(SEXP, SEXP, SEXP, SEXP);
SEXP do_flatContour(SEXP, SEXP, SEXP, SEXP);
SEXP do_flush(SEXP, SEXP, SEXP, SEXP);
SEXP do_fmin(SEXP, SEXP, SEXP, SEXP);
SEXP do_for(SEXP, SEXP, SEXP, SEXP);
SEXP do_format(SEXP, SEXP, SEXP, SEXP);
SEXP do_formatinfo(SEXP, SEXP, SEXP, SEXP);
SEXP do_formatPOSIXlt(SEXP, SEXP, SEXP, SEXP);
SEXP do_formals(SEXP, SEXP, SEXP, SEXP);
SEXP do_function(SEXP, SEXP, SEXP, SEXP);
SEXP do_gc(SEXP, SEXP, SEXP, SEXP);
SEXP do_gcinfo(SEXP, SEXP, SEXP, SEXP);
SEXP do_gctime(SEXP, SEXP, SEXP, SEXP);
SEXP do_gctorture(SEXP, SEXP, SEXP, SEXP);
SEXP do_get(SEXP, SEXP, SEXP, SEXP);
SEXP do_getenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_geterrmessage(SEXP, SEXP, SEXP, SEXP);
SEXP do_getGraphicsEvent(SEXP, SEXP, SEXP, SEXP);
SEXP do_getlocale(SEXP, SEXP, SEXP, SEXP);
SEXP do_getRestart(SEXP, SEXP, SEXP, SEXP);
SEXP do_gettext(SEXP, SEXP, SEXP, SEXP);
SEXP do_getwd(SEXP, SEXP, SEXP, SEXP);
SEXP do_glob(SEXP, SEXP, SEXP, SEXP);
SEXP do_globalenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_emptyenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_baseenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_gray(SEXP, SEXP, SEXP, SEXP);
SEXP do_gregexpr(SEXP, SEXP, SEXP, SEXP);
SEXP do_grep(SEXP, SEXP, SEXP, SEXP);
SEXP do_gsub(SEXP, SEXP, SEXP, SEXP);
SEXP do_hsv(SEXP, SEXP, SEXP, SEXP);
SEXP do_hcl(SEXP, SEXP, SEXP, SEXP);
SEXP do_iconv(SEXP, SEXP, SEXP, SEXP);
SEXP do_ICUset(SEXP, SEXP, SEXP, SEXP);
SEXP do_identical(SEXP, SEXP, SEXP, SEXP);
SEXP do_identify(SEXP, SEXP, SEXP, SEXP);
SEXP do_if(SEXP, SEXP, SEXP, SEXP);
SEXP do_image(SEXP, SEXP, SEXP, SEXP);
SEXP do_indexsearch(SEXP, SEXP, SEXP, SEXP);
SEXP do_inherits(SEXP, SEXP, SEXP, SEXP);
SEXP do_inspect(SEXP, SEXP, SEXP, SEXP);
SEXP do_intToUtf8(SEXP, SEXP, SEXP, SEXP);
SEXP do_interactive(SEXP, SEXP, SEXP, SEXP);
SEXP do_internal(SEXP, SEXP, SEXP, SEXP);
SEXP do_interruptsSuspended(SEXP, SEXP, SEXP, SEXP);
SEXP do_intToBits(SEXP, SEXP, SEXP, SEXP);
SEXP do_invisible(SEXP, SEXP, SEXP, SEXP);
SEXP do_invokeRestart(SEXP, SEXP, SEXP, SEXP);
SEXP do_is(SEXP, SEXP, SEXP, SEXP);
SEXP do_isfinite(SEXP, SEXP, SEXP, SEXP);
SEXP do_isinfinite(SEXP, SEXP, SEXP, SEXP);
SEXP do_islistfactor(SEXP, SEXP, SEXP, SEXP);
SEXP do_isloaded(SEXP, SEXP, SEXP, SEXP);
SEXP do_isna(SEXP, SEXP, SEXP, SEXP);
SEXP do_isnan(SEXP, SEXP, SEXP, SEXP);
SEXP do_isunsorted(SEXP, SEXP, SEXP, SEXP);
SEXP do_isvector(SEXP, SEXP, SEXP, SEXP);
SEXP do_lapply(SEXP, SEXP, SEXP, SEXP);
SEXP do_layout(SEXP, SEXP, SEXP, SEXP);
SEXP do_lazyLoadDBfetch(SEXP, SEXP, SEXP, SEXP);
SEXP do_length(SEXP, SEXP, SEXP, SEXP);
SEXP do_lengthgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_levelsgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_libfixup(SEXP, SEXP, SEXP, SEXP);
SEXP do_listfiles(SEXP, SEXP, SEXP, SEXP);
SEXP do_load(SEXP, SEXP, SEXP, SEXP);
SEXP do_loadFromConn(SEXP, SEXP, SEXP, SEXP);
SEXP do_loadFromConn2(SEXP, SEXP, SEXP, SEXP);
SEXP do_loadhistory(SEXP, SEXP, SEXP, SEXP);
SEXP do_localeconv(SEXP, SEXP, SEXP, SEXP);
SEXP do_locator(SEXP, SEXP, SEXP, SEXP);
SEXP do_log(SEXP, SEXP, SEXP, SEXP);
SEXP do_log1arg(SEXP, SEXP, SEXP, SEXP);
SEXP do_logic(SEXP, SEXP, SEXP, SEXP);
SEXP do_logic2(SEXP, SEXP, SEXP, SEXP);
SEXP do_logic3(SEXP, SEXP, SEXP, SEXP);
SEXP do_ls(SEXP, SEXP, SEXP, SEXP);
SEXP do_l10n_info(SEXP, SEXP, SEXP, SEXP);

SEXP do_machine(SEXP, SEXP, SEXP, SEXP);
SEXP do_makelazy(SEXP, SEXP, SEXP, SEXP);
SEXP do_makelist(SEXP, SEXP, SEXP, SEXP);
SEXP do_makenames(SEXP, SEXP, SEXP, SEXP);
SEXP do_makeunique(SEXP, SEXP, SEXP, SEXP);
SEXP do_makevector(SEXP, SEXP, SEXP, SEXP);
SEXP do_match(SEXP, SEXP, SEXP, SEXP);
SEXP do_matchcall(SEXP, SEXP, SEXP, SEXP);
SEXP do_matprod(SEXP, SEXP, SEXP, SEXP);
SEXP do_Math2(SEXP, SEXP, SEXP, SEXP);
SEXP do_matrix(SEXP, SEXP, SEXP, SEXP);
SEXP do_memlimits(SEXP, SEXP, SEXP, SEXP);
SEXP do_memtrace(SEXP, SEXP, SEXP, SEXP);
SEXP do_memretrace(SEXP, SEXP, SEXP, SEXP);
SEXP do_memuntrace(SEXP, SEXP, SEXP, SEXP);
SEXP do_memoryprofile(SEXP, SEXP, SEXP, SEXP);
SEXP do_menu(SEXP, SEXP, SEXP, SEXP);
SEXP do_merge(SEXP, SEXP, SEXP, SEXP);
SEXP do_mget(SEXP, SEXP, SEXP, SEXP);
SEXP do_missing(SEXP, SEXP, SEXP, SEXP);
SEXP do_modelframe(SEXP, SEXP, SEXP, SEXP);
SEXP do_modelmatrix(SEXP, SEXP, SEXP, SEXP);
SEXP do_mtext(SEXP, SEXP, SEXP, SEXP);
SEXP do_mvfft(SEXP, SEXP, SEXP, SEXP);
SEXP do_names(SEXP, SEXP, SEXP, SEXP);
SEXP do_namesgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_nargs(SEXP, SEXP, SEXP, SEXP);
SEXP do_nchar(SEXP,SEXP,SEXP,SEXP);
SEXP do_newenv(SEXP,SEXP,SEXP,SEXP);
SEXP do_nextmethod(SEXP,SEXP,SEXP,SEXP);
SEXP do_nextn(SEXP,SEXP,SEXP,SEXP);
SEXP do_ngettext(SEXP, SEXP, SEXP, SEXP);
SEXP do_nlm(SEXP, SEXP, SEXP, SEXP);
SEXP do_normalizepath(SEXP, SEXP, SEXP, SEXP);
SEXP do_nzchar(SEXP,SEXP,SEXP,SEXP);
SEXP do_objectsize(SEXP, SEXP, SEXP, SEXP);
SEXP do_onexit(SEXP, SEXP, SEXP, SEXP);
SEXP do_optim(SEXP, SEXP, SEXP, SEXP);
SEXP do_optimhess(SEXP, SEXP, SEXP, SEXP);
SEXP do_options(SEXP, SEXP, SEXP, SEXP);
SEXP do_order(SEXP, SEXP, SEXP, SEXP);
SEXP do_pack(SEXP, SEXP, SEXP, SEXP);
SEXP do_packBits(SEXP, SEXP, SEXP, SEXP);
SEXP do_palette(SEXP, SEXP, SEXP, SEXP);
SEXP do_par(SEXP, SEXP, SEXP, SEXP);
SEXP do_paren(SEXP, SEXP, SEXP, SEXP);
SEXP do_parentenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_parentenvgets(SEXP, SEXP, SEXP, SEXP);
SEXP do_parentframe(SEXP, SEXP, SEXP, SEXP);
SEXP do_parse(SEXP, SEXP, SEXP, SEXP);
SEXP do_parseRd(SEXP, SEXP, SEXP, SEXP);
SEXP do_paste(SEXP, SEXP, SEXP, SEXP);
SEXP do_pathexpand(SEXP, SEXP, SEXP, SEXP);
SEXP do_pause(SEXP, SEXP, SEXP, SEXP);
SEXP do_persp(SEXP, SEXP, SEXP, SEXP);
SEXP do_plot_new(SEXP, SEXP, SEXP, SEXP);
SEXP do_plot_window(SEXP, SEXP, SEXP, SEXP);
SEXP do_plot_xy(SEXP, SEXP, SEXP, SEXP);
SEXP do_pmatch(SEXP, SEXP, SEXP, SEXP);
SEXP do_pmin(SEXP, SEXP, SEXP, SEXP);
SEXP do_polygon(SEXP, SEXP, SEXP, SEXP);
SEXP do_polyroot(SEXP, SEXP, SEXP, SEXP);
SEXP do_pos2env(SEXP, SEXP, SEXP, SEXP);
SEXP do_POSIXlt2D(SEXP, SEXP, SEXP, SEXP);
SEXP do_primitive(SEXP, SEXP, SEXP, SEXP);
SEXP do_printdefault(SEXP, SEXP, SEXP, SEXP);
SEXP do_printDeferredWarnings(SEXP, SEXP, SEXP, SEXP);
SEXP do_printdf(SEXP, SEXP, SEXP, SEXP);
SEXP do_prmatrix(SEXP, SEXP, SEXP, SEXP);
SEXP do_proctime(SEXP, SEXP, SEXP, SEXP);
SEXP do_psort(SEXP, SEXP, SEXP, SEXP);
SEXP do_qsort(SEXP, SEXP, SEXP, SEXP);
SEXP do_quit(SEXP, SEXP, SEXP, SEXP);
SEXP do_quote(SEXP, SEXP, SEXP, SEXP);
SEXP do_radixsort(SEXP, SEXP, SEXP, SEXP);
SEXP do_random1(SEXP, SEXP, SEXP, SEXP);
SEXP do_random2(SEXP, SEXP, SEXP, SEXP);
SEXP do_random3(SEXP, SEXP, SEXP, SEXP);
SEXP do_range(SEXP, SEXP, SEXP, SEXP);
SEXP do_rank(SEXP, SEXP, SEXP, SEXP);
SEXP do_rapply(SEXP, SEXP, SEXP, SEXP);
SEXP do_rawShift(SEXP, SEXP, SEXP, SEXP);
SEXP do_rawToBits(SEXP, SEXP, SEXP, SEXP);
SEXP do_rawToChar(SEXP, SEXP, SEXP, SEXP);
SEXP do_readDCF(SEXP, SEXP, SEXP, SEXP);
SEXP do_readLines(SEXP, SEXP, SEXP, SEXP);
SEXP do_readln(SEXP, SEXP, SEXP, SEXP);
SEXP do_readtablehead(SEXP, SEXP, SEXP, SEXP);
SEXP do_recall(SEXP, SEXP, SEXP, SEXP);
SEXP do_recordGraphics(SEXP, SEXP, SEXP, SEXP);
SEXP do_rect(SEXP, SEXP, SEXP, SEXP);
SEXP do_regexpr(SEXP, SEXP, SEXP, SEXP);
SEXP do_regFinaliz(SEXP, SEXP, SEXP, SEXP);
SEXP do_relop(SEXP, SEXP, SEXP, SEXP);
SEXP do_relop_dflt(SEXP, SEXP, SEXP, SEXP);
SEXP do_remove(SEXP, SEXP, SEXP, SEXP);
SEXP do_rep(SEXP, SEXP, SEXP, SEXP);
SEXP do_rep_int(SEXP, SEXP, SEXP, SEXP);
SEXP do_repeat(SEXP, SEXP, SEXP, SEXP);
SEXP do_resetCondHands(SEXP, SEXP, SEXP, SEXP);
SEXP do_restart(SEXP, SEXP, SEXP, SEXP);
SEXP do_restoreb(SEXP, SEXP, SEXP, SEXP);
SEXP do_return(SEXP, SEXP, SEXP, SEXP);
SEXP do_rgb(SEXP, SEXP, SEXP, SEXP);
SEXP do_RGB2hsv(SEXP, SEXP, SEXP, SEXP);
SEXP do_Rhome(SEXP, SEXP, SEXP, SEXP);
SEXP do_rmultinom(SEXP, SEXP, SEXP, SEXP);
SEXP do_RNGkind(SEXP, SEXP, SEXP, SEXP);
SEXP do_Rprof(SEXP, SEXP, SEXP, SEXP);
SEXP do_Rprofmem(SEXP, SEXP, SEXP, SEXP);
SEXP do_rownames(SEXP, SEXP, SEXP, SEXP);
SEXP do_rowscols(SEXP, SEXP, SEXP, SEXP);
SEXP do_sample(SEXP, SEXP, SEXP, SEXP);
SEXP do_save(SEXP, SEXP, SEXP, SEXP);
SEXP do_saveToConn(SEXP, SEXP, SEXP, SEXP);
SEXP do_savehistory(SEXP, SEXP, SEXP, SEXP);
SEXP do_scan(SEXP, SEXP, SEXP, SEXP);
SEXP do_search(SEXP, SEXP, SEXP, SEXP);
SEXP do_segments(SEXP, SEXP, SEXP, SEXP);
SEXP do_seq(SEXP, SEXP, SEXP, SEXP);
SEXP do_seq_along(SEXP, SEXP, SEXP, SEXP);
SEXP do_seq_len(SEXP, SEXP, SEXP, SEXP);
SEXP do_serializeToConn(SEXP, SEXP, SEXP, SEXP);
SEXP do_set(SEXP, SEXP, SEXP, SEXP);
SEXP do_setencoding(SEXP, SEXP, SEXP, SEXP);
SEXP do_setenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_seterrmessage(SEXP, SEXP, SEXP, SEXP);
SEXP do_setlocale(SEXP, SEXP, SEXP, SEXP);
SEXP do_setseed(SEXP, SEXP, SEXP, SEXP);
SEXP do_setSessionTimeLimit(SEXP, SEXP, SEXP, SEXP);
SEXP do_setTimeLimit(SEXP, SEXP, SEXP, SEXP);
SEXP do_setwd(SEXP, SEXP, SEXP, SEXP);
SEXP do_shade(SEXP, SEXP, SEXP, SEXP);
SEXP do_strheight(SEXP, SEXP, SEXP, SEXP);
SEXP do_strwidth(SEXP, SEXP, SEXP, SEXP);
SEXP do_signalCondition(SEXP, SEXP, SEXP, SEXP);
SEXP do_sink(SEXP, SEXP, SEXP, SEXP);
SEXP do_sinknumber(SEXP, SEXP, SEXP, SEXP);
SEXP do_sort(SEXP, SEXP, SEXP, SEXP);
SEXP do_split(SEXP, SEXP, SEXP, SEXP);
SEXP do_sprintf(SEXP, SEXP, SEXP, SEXP);
SEXP do_standardGeneric(SEXP, SEXP, SEXP, SEXP);
SEXP do_stop(SEXP, SEXP, SEXP, SEXP);
SEXP do_storage_mode(SEXP, SEXP, SEXP, SEXP);
SEXP do_strsplit(SEXP,SEXP,SEXP,SEXP);
SEXP do_strptime(SEXP,SEXP,SEXP,SEXP);
SEXP do_strtrim(SEXP,SEXP,SEXP,SEXP);
SEXP do_syschmod(SEXP,SEXP,SEXP,SEXP);
SEXP do_sysinfo(SEXP,SEXP,SEXP,SEXP);
SEXP do_syssleep(SEXP,SEXP,SEXP,SEXP);
SEXP do_sysumask(SEXP,SEXP,SEXP,SEXP);
SEXP do_subassign(SEXP, SEXP, SEXP, SEXP);
SEXP do_subassign_dflt(SEXP, SEXP, SEXP, SEXP);
SEXP do_subassign2(SEXP, SEXP, SEXP, SEXP);
SEXP do_subassign2_dflt(SEXP, SEXP, SEXP, SEXP);
SEXP do_subassign3(SEXP, SEXP, SEXP, SEXP);

SEXP do_subassigndf(SEXP, SEXP, SEXP, SEXP);
SEXP do_subassigndf2(SEXP, SEXP, SEXP, SEXP);
SEXP do_subset(SEXP, SEXP, SEXP, SEXP);
SEXP do_subset_dflt(SEXP, SEXP, SEXP, SEXP);
SEXP do_subset2(SEXP, SEXP, SEXP, SEXP);
SEXP do_subset2_dflt(SEXP, SEXP, SEXP, SEXP);
SEXP do_subset3(SEXP, SEXP, SEXP, SEXP);

SEXP do_subsetdf(SEXP, SEXP, SEXP, SEXP);
SEXP do_subsetdf2(SEXP, SEXP, SEXP, SEXP);
SEXP do_substitute(SEXP, SEXP, SEXP, SEXP);
SEXP do_substr(SEXP,SEXP,SEXP,SEXP);
SEXP do_substrgets(SEXP,SEXP,SEXP,SEXP);
SEXP do_summary(SEXP, SEXP, SEXP, SEXP);
SEXP do_surface(SEXP, SEXP, SEXP, SEXP);
SEXP do_switch(SEXP, SEXP, SEXP, SEXP);
SEXP do_symbols(SEXP, SEXP, SEXP, SEXP);
SEXP do_sys(SEXP, SEXP, SEXP, SEXP);
SEXP do_sysgetpid(SEXP, SEXP, SEXP, SEXP);
SEXP do_system(SEXP, SEXP, SEXP, SEXP);
SEXP do_systime(SEXP, SEXP, SEXP, SEXP);
SEXP do_tempdir(SEXP, SEXP, SEXP, SEXP);
SEXP do_tempfile(SEXP, SEXP, SEXP, SEXP);
SEXP do_termsform(SEXP, SEXP, SEXP, SEXP);
SEXP do_text(SEXP, SEXP, SEXP, SEXP);
SEXP do_tilde(SEXP, SEXP, SEXP, SEXP);
SEXP do_title(SEXP, SEXP, SEXP, SEXP);
SEXP do_tolower(SEXP, SEXP, SEXP, SEXP);
SEXP do_trace(SEXP, SEXP, SEXP, SEXP);
SEXP do_transpose(SEXP, SEXP, SEXP, SEXP);
SEXP do_trunc(SEXP, SEXP, SEXP, SEXP);
SEXP do_typecvt(SEXP, SEXP, SEXP, SEXP);
SEXP do_typeof(SEXP, SEXP, SEXP, SEXP);
SEXP do_unclass(SEXP, SEXP, SEXP, SEXP);
SEXP do_unlink(SEXP, SEXP, SEXP, SEXP);
SEXP do_unlist(SEXP, SEXP, SEXP, SEXP);
SEXP do_unserializeFromConn(SEXP, SEXP, SEXP, SEXP);
SEXP do_unsetenv(SEXP, SEXP, SEXP, SEXP);
SEXP do_unzip(SEXP, SEXP, SEXP, SEXP);
SEXP do_updateform(SEXP, SEXP, SEXP, SEXP);
SEXP do_usemethod(SEXP, SEXP, SEXP, SEXP);
SEXP do_utf8ToInt(SEXP, SEXP, SEXP, SEXP);
SEXP do_version(SEXP, SEXP, SEXP, SEXP);
SEXP do_warning(SEXP, SEXP, SEXP, SEXP);
SEXP do_while(SEXP, SEXP, SEXP, SEXP);
SEXP do_withVisible(SEXP, SEXP, SEXP, SEXP);
SEXP do_writetable(SEXP, SEXP, SEXP, SEXP);
SEXP do_xspline(SEXP, SEXP, SEXP, SEXP);
SEXP do_zeroin(SEXP, SEXP, SEXP, SEXP);
SEXP do_zeroin2(SEXP, SEXP, SEXP, SEXP);

SEXP do_getSnapshot(SEXP, SEXP, SEXP, SEXP);
SEXP do_playSnapshot(SEXP, SEXP, SEXP, SEXP);

SEXP R_do_data_class(SEXP call, SEXP op, SEXP args, SEXP env);
SEXP R_do_set_class(SEXP call, SEXP op, SEXP args, SEXP env);
SEXP R_getS4DataSlot(SEXP obj, SEXPTYPE type);


SEXP do_mkcode(SEXP, SEXP, SEXP, SEXP);
SEXP do_bcclose(SEXP, SEXP, SEXP, SEXP);
SEXP do_is_builtin_internal(SEXP, SEXP, SEXP, SEXP);
SEXP do_disassemble(SEXP, SEXP, SEXP, SEXP);
SEXP do_bcversion(SEXP, SEXP, SEXP, SEXP);
SEXP do_loadfile(SEXP, SEXP, SEXP, SEXP);
SEXP do_savefile(SEXP, SEXP, SEXP, SEXP);
SEXP do_putconst(SEXP, SEXP, SEXP, SEXP);



SEXP do_stdin(SEXP, SEXP, SEXP, SEXP);
SEXP do_stdout(SEXP, SEXP, SEXP, SEXP);
SEXP do_stderr(SEXP, SEXP, SEXP, SEXP);
SEXP do_readlines(SEXP, SEXP, SEXP, SEXP);
SEXP do_writelines(SEXP, SEXP, SEXP, SEXP);
SEXP do_readbin(SEXP, SEXP, SEXP, SEXP);
SEXP do_writebin(SEXP, SEXP, SEXP, SEXP);
SEXP do_readchar(SEXP, SEXP, SEXP, SEXP);
SEXP do_writechar(SEXP, SEXP, SEXP, SEXP);
SEXP do_open(SEXP, SEXP, SEXP, SEXP);
SEXP do_isopen(SEXP, SEXP, SEXP, SEXP);
SEXP do_isincomplete(SEXP, SEXP, SEXP, SEXP);
SEXP do_isseekable(SEXP, SEXP, SEXP, SEXP);
SEXP do_close(SEXP, SEXP, SEXP, SEXP);
SEXP do_fifo(SEXP, SEXP, SEXP, SEXP);
SEXP do_pipe(SEXP, SEXP, SEXP, SEXP);
SEXP do_url(SEXP, SEXP, SEXP, SEXP);
SEXP do_gzfile(SEXP, SEXP, SEXP, SEXP);
SEXP do_unz(SEXP, SEXP, SEXP, SEXP);
SEXP do_bzfile(SEXP, SEXP, SEXP, SEXP);
SEXP do_seek(SEXP, SEXP, SEXP, SEXP);
SEXP do_truncate(SEXP, SEXP, SEXP, SEXP);
SEXP do_pushback(SEXP, SEXP, SEXP, SEXP);
SEXP do_pushbacklength(SEXP, SEXP, SEXP, SEXP);
SEXP do_clearpushback(SEXP, SEXP, SEXP, SEXP);
SEXP do_rawconnection(SEXP, SEXP, SEXP, SEXP);
SEXP do_rawconvalue(SEXP, SEXP, SEXP, SEXP);
SEXP do_textconnection(SEXP, SEXP, SEXP, SEXP);
SEXP do_textconvalue(SEXP, SEXP, SEXP, SEXP);
SEXP do_getconnection(SEXP, SEXP, SEXP, SEXP);
SEXP do_getallconnections(SEXP, SEXP, SEXP, SEXP);
SEXP do_sumconnection(SEXP, SEXP, SEXP, SEXP);
SEXP do_download(SEXP, SEXP, SEXP, SEXP);
SEXP do_sockconn(SEXP, SEXP, SEXP, SEXP);
SEXP do_sockselect(SEXP, SEXP, SEXP, SEXP);
SEXP do_nsl(SEXP, SEXP, SEXP, SEXP);
SEXP do_gzcon(SEXP, SEXP, SEXP, SEXP);

SEXP do_lockEnv(SEXP, SEXP, SEXP, SEXP);
SEXP do_envIsLocked(SEXP, SEXP, SEXP, SEXP);
SEXP do_lockBnd(SEXP, SEXP, SEXP, SEXP);
SEXP do_bndIsLocked(SEXP, SEXP, SEXP, SEXP);
SEXP do_mkActiveBnd(SEXP, SEXP, SEXP, SEXP);
SEXP do_bndIsActive(SEXP, SEXP, SEXP, SEXP);
SEXP do_mkUnbound(SEXP, SEXP, SEXP, SEXP);
SEXP do_isNSEnv(SEXP call, SEXP op, SEXP args, SEXP rho);
SEXP do_regNS(SEXP call, SEXP op, SEXP args, SEXP rho);
SEXP do_unregNS(SEXP call, SEXP op, SEXP args, SEXP rho);
SEXP do_getRegNS(SEXP call, SEXP op, SEXP args, SEXP rho);
SEXP do_getNSRegistry(SEXP call, SEXP op, SEXP args, SEXP rho);
SEXP do_importIntoEnv(SEXP call, SEXP op, SEXP args, SEXP rho);
SEXP do_envprofile(SEXP call, SEXP op, SEXP args, SEXP rho);
# 134 "../../src/include/Defn.h" 2

# 1 "../../src/include/Errormsg.h" 1
# 54 "../../src/include/Errormsg.h"
typedef enum {


    ERROR_NUMARGS = 1,
    ERROR_ARGTYPE = 2,
    ERROR_INCOMPAT_ARGS = 3,



    ERROR_TSVEC_MISMATCH = 100,

    ERROR_UNIMPLEMENTED = 9998,
    ERROR_UNKNOWN = 9999
} R_ERROR;


typedef enum {

    WARNING_coerce_NA = 101,
    WARNING_coerce_INACC= 102,
    WARNING_coerce_IMAG = 103,

    WARNING_UNKNOWN = 9999
} R_WARNING;
# 136 "../../src/include/Defn.h" 2
# 144 "../../src/include/Defn.h"
# 1 "/usr/include/signal.h" 1 3 4
# 31 "/usr/include/signal.h" 3 4


# 1 "/usr/include/bits/sigset.h" 1 3 4
# 24 "/usr/include/bits/sigset.h" 3 4
typedef int __sig_atomic_t;




typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
# 104 "/usr/include/bits/sigset.h" 3 4
extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
# 118 "/usr/include/bits/sigset.h" 3 4
extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_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 __attribute__ ((__gnu_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 "/usr/include/signal.h" 2 3 4







typedef __sig_atomic_t sig_atomic_t;








typedef __sigset_t sigset_t;







# 1 "/usr/include/bits/signum.h" 1 3 4
# 59 "/usr/include/signal.h" 2 3 4



typedef __pid_t pid_t;





typedef __uid_t uid_t;






typedef void (*__sighandler_t) (int);




extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__));

extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__));







extern __sighandler_t signal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__));
# 104 "/usr/include/signal.h" 3 4





extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)
     __attribute__ ((__nothrow__));






extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__));






extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__));




extern int raise (int __sig) __attribute__ ((__nothrow__));




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




extern void psignal (int __sig, __const char *__s);
# 153 "/usr/include/signal.h" 3 4
extern int __sigpause (int __sig_or_mask, int __is_sig);
# 162 "/usr/include/signal.h" 3 4
extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
# 181 "/usr/include/signal.h" 3 4
extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));


extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));


extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
# 196 "/usr/include/signal.h" 3 4
typedef __sighandler_t sighandler_t;




typedef __sighandler_t sig_t;







# 1 "/usr/include/time.h" 1 3 4
# 121 "/usr/include/time.h" 3 4
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
# 210 "/usr/include/signal.h" 2 3 4


# 1 "/usr/include/bits/siginfo.h" 1 3 4
# 31 "/usr/include/bits/siginfo.h" 3 4
typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;
# 45 "/usr/include/bits/siginfo.h" 3 4
typedef struct siginfo
  {
    int si_signo;
    int si_errno;

    int si_code;

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


 struct
   {
     __pid_t si_pid;
     __uid_t si_uid;
   } _kill;


 struct
   {
     int si_tid;
     int si_overrun;
     sigval_t si_sigval;
   } _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
   {
     int si_band;
     int si_fd;
   } _sigpoll;
      } _sifields;
  } siginfo_t;
# 123 "/usr/include/bits/siginfo.h" 3 4
enum
{
  SI_ASYNCNL = -60,

  SI_TKILL = -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

};
# 263 "/usr/include/bits/siginfo.h" 3 4
typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;

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



 __pid_t _tid;

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






enum
{
  SIGEV_SIGNAL = 0,

  SIGEV_NONE,

  SIGEV_THREAD,


  SIGEV_THREAD_ID = 4

};
# 213 "/usr/include/signal.h" 2 3 4



extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern int sigismember (__const sigset_t *__set, int __signo)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));



extern int sigisemptyset (__const sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern int sigandset (sigset_t *__set, __const sigset_t *__left,
        __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));


extern int sigorset (sigset_t *__set, __const sigset_t *__left,
       __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));




# 1 "/usr/include/bits/sigaction.h" 1 3 4
# 25 "/usr/include/bits/sigaction.h" 3 4
struct sigaction
  {


    union
      {

 __sighandler_t sa_handler;

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







    __sigset_t sa_mask;


    unsigned int sa_flags;
  };
# 247 "/usr/include/signal.h" 2 3 4


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






extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));


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


extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));






extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
     __attribute__ ((__nonnull__ (1, 2)));






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






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



extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
     __attribute__ ((__nothrow__));
# 304 "/usr/include/signal.h" 3 4
extern __const char *__const _sys_siglist[65];
extern __const char *__const sys_siglist[65];


struct sigvec
  {
    __sighandler_t sv_handler;
    int sv_mask;

    int sv_flags;

  };
# 328 "/usr/include/signal.h" 3 4
extern int sigvec (int __sig, __const struct sigvec *__vec,
     struct sigvec *__ovec) __attribute__ ((__nothrow__));



# 1 "/usr/include/bits/sigcontext.h" 1 3 4
# 28 "/usr/include/bits/sigcontext.h" 3 4
# 1 "/usr/include/asm/sigcontext.h" 1 3 4



struct sigcontext {
# 13 "/usr/include/asm/sigcontext.h" 3 4
  long sc_onstack;
  long sc_mask;
  long sc_pc;
  long sc_ps;
  long sc_regs[32];
  long sc_ownedfp;
  long sc_fpregs[32];
  unsigned long sc_fpcr;
  unsigned long sc_fp_control;
  unsigned long sc_reserved1, sc_reserved2;
  unsigned long sc_ssize;
  char * sc_sbase;
  unsigned long sc_traparg_a0;
  unsigned long sc_traparg_a1;
  unsigned long sc_traparg_a2;
  unsigned long sc_fp_trap_pc;
  unsigned long sc_fp_trigger_sum;
  unsigned long sc_fp_trigger_inst;
};
# 29 "/usr/include/bits/sigcontext.h" 2 3 4
# 334 "/usr/include/signal.h" 2 3 4


extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__));






# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 344 "/usr/include/signal.h" 2 3 4




extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__));

# 1 "/usr/include/bits/sigstack.h" 1 3 4
# 26 "/usr/include/bits/sigstack.h" 3 4
struct sigstack
  {
    void * ss_sp;
    int ss_onstack;
  };



enum
{
  SS_ONSTACK = 1,

  SS_DISABLE

};
# 50 "/usr/include/bits/sigstack.h" 3 4
typedef struct sigaltstack
  {
    void * ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
# 351 "/usr/include/signal.h" 2 3 4


# 1 "/usr/include/sys/ucontext.h" 1 3 4
# 23 "/usr/include/sys/ucontext.h" 3 4
# 1 "/usr/include/signal.h" 1 3 4
# 24 "/usr/include/sys/ucontext.h" 2 3 4

# 1 "/usr/include/bits/sigcontext.h" 1 3 4
# 26 "/usr/include/sys/ucontext.h" 2 3 4



typedef long int greg_t;





typedef greg_t gregset_t[33];


typedef long int fpreg_t;





typedef fpreg_t fpregset_t[32];



typedef struct sigcontext mcontext_t;


typedef struct ucontext
  {
    unsigned long int uc_flags;
    struct ucontext *uc_link;
    unsigned long __uc_osf_sigmask;
    stack_t uc_stack;
    mcontext_t uc_mcontext;
    __sigset_t uc_sigmask;
  } ucontext_t;
# 354 "/usr/include/signal.h" 2 3 4





extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
     __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));



extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
   struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__));







extern int sighold (int __sig) __attribute__ ((__nothrow__));


extern int sigrelse (int __sig) __attribute__ ((__nothrow__));


extern int sigignore (int __sig) __attribute__ ((__nothrow__));


extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__));





# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 36 "/usr/include/bits/pthreadtypes.h" 3 4
typedef unsigned long int pthread_t;


typedef union
{
  char __size[56];
  long int __align;
} pthread_attr_t;


typedef struct __pthread_internal_list
{
  struct __pthread_internal_list *__prev;
  struct __pthread_internal_list *__next;
} __pthread_list_t;




typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    unsigned int __nusers;


    int __kind;
    int __spins;
    __pthread_list_t __list;

  } __data;
  char __size[40];
  long int __align;
} pthread_mutex_t;

typedef union
{
  char __size[4];
  int __align;
} pthread_mutexattr_t;




typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
  char __size[48];
  __extension__ long long int __align;
} pthread_cond_t;

typedef union
{
  char __size[4];
  int __align;
} pthread_condattr_t;



typedef unsigned int pthread_key_t;



typedef int pthread_once_t;





typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    int __writer;
    int __shared;
    unsigned long int __pad1;
    unsigned long int __pad2;


    unsigned int __flags;
  } __data;
  char __size[56];
  long int __align;
} pthread_rwlock_t;

typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;





typedef volatile int pthread_spinlock_t;



typedef union
{
  char __size[32];
  long int __align;
} pthread_barrier_t;

typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
# 389 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/sigthread.h" 1 3 4
# 31 "/usr/include/bits/sigthread.h" 3 4
extern int pthread_sigmask (int __how,
       __const __sigset_t *__restrict __newmask,
       __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));


extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__));
# 390 "/usr/include/signal.h" 2 3 4






extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__));

extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__));




# 145 "../../src/include/Defn.h" 2
# 1 "/usr/include/setjmp.h" 1 3 4
# 28 "/usr/include/setjmp.h" 3 4


# 1 "/usr/include/bits/setjmp.h" 1 3 4
# 59 "/usr/include/bits/setjmp.h" 3 4
typedef long int __jmp_buf[17];
# 31 "/usr/include/setjmp.h" 2 3 4
# 1 "/usr/include/bits/sigset.h" 1 3 4
# 32 "/usr/include/setjmp.h" 2 3 4



struct __jmp_buf_tag
  {




    __jmp_buf __jmpbuf;
    int __mask_was_saved;
    __sigset_t __saved_mask;
  };




typedef struct __jmp_buf_tag jmp_buf[1];



extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__));






extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__));




extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__));
# 78 "/usr/include/setjmp.h" 3 4




extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));







extern void _longjmp (struct __jmp_buf_tag __env[1], int __val)
     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));







typedef struct __jmp_buf_tag sigjmp_buf[1];
# 110 "/usr/include/setjmp.h" 3 4
extern void siglongjmp (sigjmp_buf __env, int __val)
     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));



# 146 "../../src/include/Defn.h" 2
# 169 "../../src/include/Defn.h"
typedef unsigned long R_ulong_t;
typedef long R_long_t;


# 1 "/usr/include/inttypes.h" 1 3 4
# 28 "/usr/include/inttypes.h" 3 4
# 1 "/usr/include/stdint.h" 1 3 4
# 27 "/usr/include/stdint.h" 3 4
# 1 "/usr/include/bits/wchar.h" 1 3 4
# 28 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/stdint.h" 2 3 4
# 37 "/usr/include/stdint.h" 3 4
typedef signed char int8_t;
typedef short int int16_t;
typedef int int32_t;

typedef long int int64_t;







typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;

typedef unsigned int uint32_t;



typedef unsigned long int uint64_t;
# 66 "/usr/include/stdint.h" 3 4
typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;

typedef long int int_least64_t;






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

typedef unsigned long int uint_least64_t;
# 91 "/usr/include/stdint.h" 3 4
typedef signed char int_fast8_t;

typedef long int int_fast16_t;
typedef long int int_fast32_t;
typedef long int int_fast64_t;
# 104 "/usr/include/stdint.h" 3 4
typedef unsigned char uint_fast8_t;

typedef unsigned long int uint_fast16_t;
typedef unsigned long int uint_fast32_t;
typedef unsigned long int uint_fast64_t;
# 120 "/usr/include/stdint.h" 3 4
typedef long int intptr_t;


typedef unsigned long int uintptr_t;
# 135 "/usr/include/stdint.h" 3 4
typedef long int intmax_t;
typedef unsigned long int uintmax_t;
# 29 "/usr/include/inttypes.h" 2 3 4






typedef int __gwchar_t;
# 274 "/usr/include/inttypes.h" 3 4





typedef struct
  {
    long int quot;
    long int rem;
  } imaxdiv_t;
# 298 "/usr/include/inttypes.h" 3 4
extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
      __attribute__ ((__nothrow__)) __attribute__ ((__const__));


extern intmax_t strtoimax (__const char *__restrict __nptr,
      char **__restrict __endptr, int __base) __attribute__ ((__nothrow__));


extern uintmax_t strtoumax (__const char *__restrict __nptr,
       char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__));


extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
      __gwchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__));


extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
       __gwchar_t ** __restrict __endptr, int __base)
     __attribute__ ((__nothrow__));





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

extern __inline __attribute__ ((__gnu_inline__)) intmax_t
__attribute__ ((__nothrow__)) strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base)

{
  return __strtol_internal (nptr, endptr, base, 0);
}

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

extern __inline __attribute__ ((__gnu_inline__)) uintmax_t
__attribute__ ((__nothrow__)) strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base)

{
  return __strtoul_internal (nptr, endptr, base, 0);
}

extern long int __wcstol_internal (__const __gwchar_t * __restrict __nptr,
       __gwchar_t **__restrict __endptr,
       int __base, int __group)
  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;

extern __inline __attribute__ ((__gnu_inline__)) intmax_t
__attribute__ ((__nothrow__)) wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)

{
  return __wcstol_internal (nptr, endptr, base, 0);
}

extern unsigned long int __wcstoul_internal (__const __gwchar_t *
          __restrict __nptr,
          __gwchar_t **
          __restrict __endptr,
          int __base, int __group)
  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;

extern __inline __attribute__ ((__gnu_inline__)) uintmax_t
__attribute__ ((__nothrow__)) wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)

{
  return __wcstoul_internal (nptr, endptr, base, 0);
}
# 442 "/usr/include/inttypes.h" 3 4

# 174 "../../src/include/Defn.h" 2







# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/limits.h" 1 3 4
# 11 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/limits.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/syslimits.h" 1 3 4






# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/limits.h" 1 3 4
# 122 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 145 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 153 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 39 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 40 "/usr/include/bits/local_lim.h" 2 3 4
# 154 "/usr/include/bits/posix1_lim.h" 2 3 4
# 146 "/usr/include/limits.h" 2 3 4



# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 150 "/usr/include/limits.h" 2 3 4



# 1 "/usr/include/bits/xopen_lim.h" 1 3 4
# 34 "/usr/include/bits/xopen_lim.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 35 "/usr/include/bits/xopen_lim.h" 2 3 4
# 154 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/limits.h" 2 3 4
# 8 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include-fixed/limits.h" 2 3 4
# 182 "../../src/include/Defn.h" 2




  typedef size_t R_size_t;
# 228 "../../src/include/Defn.h"
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/float.h" 1 3 4
# 229 "../../src/include/Defn.h" 2
# 1 "/usr/include/ctype.h" 1 3 4
# 30 "/usr/include/ctype.h" 3 4

# 41 "/usr/include/ctype.h" 3 4
# 1 "/usr/include/endian.h" 1 3 4
# 37 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/endian.h" 1 3 4
# 38 "/usr/include/endian.h" 2 3 4
# 61 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/byteswap.h" 1 3 4
# 62 "/usr/include/endian.h" 2 3 4
# 42 "/usr/include/ctype.h" 2 3 4






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))
};
# 81 "/usr/include/ctype.h" 3 4
extern __const unsigned short int **__ctype_b_loc (void)
     __attribute__ ((__nothrow__)) __attribute__ ((__const));
extern __const __int32_t **__ctype_tolower_loc (void)
     __attribute__ ((__nothrow__)) __attribute__ ((__const));
extern __const __int32_t **__ctype_toupper_loc (void)
     __attribute__ ((__nothrow__)) __attribute__ ((__const));
# 96 "/usr/include/ctype.h" 3 4






extern int isalnum (int) __attribute__ ((__nothrow__));
extern int isalpha (int) __attribute__ ((__nothrow__));
extern int iscntrl (int) __attribute__ ((__nothrow__));
extern int isdigit (int) __attribute__ ((__nothrow__));
extern int islower (int) __attribute__ ((__nothrow__));
extern int isgraph (int) __attribute__ ((__nothrow__));
extern int isprint (int) __attribute__ ((__nothrow__));
extern int ispunct (int) __attribute__ ((__nothrow__));
extern int isspace (int) __attribute__ ((__nothrow__));
extern int isupper (int) __attribute__ ((__nothrow__));
extern int isxdigit (int) __attribute__ ((__nothrow__));



extern int tolower (int __c) __attribute__ ((__nothrow__));


extern int toupper (int __c) __attribute__ ((__nothrow__));








extern int isblank (int) __attribute__ ((__nothrow__));






extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__));






extern int isascii (int __c) __attribute__ ((__nothrow__));



extern int toascii (int __c) __attribute__ ((__nothrow__));



extern int _toupper (int) __attribute__ ((__nothrow__));
extern int _tolower (int) __attribute__ ((__nothrow__));
# 190 "/usr/include/ctype.h" 3 4
extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) tolower (int __c)
{
  return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
}

extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) toupper (int __c)
{
  return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
}
# 247 "/usr/include/ctype.h" 3 4
extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__));
extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__));

extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__));



extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));


extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
# 323 "/usr/include/ctype.h" 3 4

# 230 "../../src/include/Defn.h" 2
# 1 "/usr/include/stdlib.h" 1 3 4
# 33 "/usr/include/stdlib.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 34 "/usr/include/stdlib.h" 2 3 4








# 1 "/usr/include/bits/waitflags.h" 1 3 4
# 43 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/bits/waitstatus.h" 1 3 4
# 67 "/usr/include/bits/waitstatus.h" 3 4
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;
  };
# 44 "/usr/include/stdlib.h" 2 3 4
# 68 "/usr/include/stdlib.h" 3 4
typedef union
  {
    union wait *__uptr;
    int *__iptr;
  } __WAIT_STATUS __attribute__ ((__transparent_union__));
# 96 "/usr/include/stdlib.h" 3 4


typedef struct
  {
    int quot;
    int rem;
  } div_t;



typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;







__extension__ typedef struct
  {
    long long int quot;
    long long int rem;
  } lldiv_t;


# 140 "/usr/include/stdlib.h" 3 4
extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;




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

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

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





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





extern double strtod (__const char *__restrict __nptr,
        char **__restrict __endptr)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;





extern float strtof (__const char *__restrict __nptr,
       char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;

extern long double strtold (__const char *__restrict __nptr,
       char **__restrict __endptr)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;





extern long int strtol (__const char *__restrict __nptr,
   char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;

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




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

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





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

__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
     char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;

# 240 "/usr/include/stdlib.h" 3 4
extern long int strtol_l (__const char *__restrict __nptr,
     char **__restrict __endptr, int __base,
     __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;

extern unsigned long int strtoul_l (__const char *__restrict __nptr,
        char **__restrict __endptr,
        int __base, __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;

__extension__
extern long long int strtoll_l (__const char *__restrict __nptr,
    char **__restrict __endptr, int __base,
    __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;

__extension__
extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
       char **__restrict __endptr,
       int __base, __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;

extern double strtod_l (__const char *__restrict __nptr,
   char **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;

extern float strtof_l (__const char *__restrict __nptr,
         char **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;

extern long double strtold_l (__const char *__restrict __nptr,
         char **__restrict __endptr,
         __locale_t __loc)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;





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




__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
__attribute__ ((__nothrow__)) atoll (__const char *__nptr)
{
  return strtoll (__nptr, (char **) ((void *)0), 10);
}

# 311 "/usr/include/stdlib.h" 3 4
extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;


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




# 1 "/usr/include/sys/types.h" 1 3 4
# 29 "/usr/include/sys/types.h" 3 4






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;






typedef __ino64_t ino64_t;




typedef __dev_t dev_t;




typedef __gid_t gid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;
# 88 "/usr/include/sys/types.h" 3 4
typedef __off_t off_t;






typedef __off64_t off64_t;
# 105 "/usr/include/sys/types.h" 3 4
typedef __id_t id_t;




typedef __ssize_t ssize_t;





typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;





typedef __key_t key_t;
# 133 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 59 "/usr/include/time.h" 3 4


typedef __clock_t clock_t;



# 75 "/usr/include/time.h" 3 4


typedef __time_t time_t;



# 93 "/usr/include/time.h" 3 4
typedef __clockid_t clockid_t;
# 105 "/usr/include/time.h" 3 4
typedef __timer_t timer_t;
# 134 "/usr/include/sys/types.h" 2 3 4



typedef __useconds_t useconds_t;



typedef __suseconds_t suseconds_t;





# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 148 "/usr/include/sys/types.h" 2 3 4



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 201 "/usr/include/sys/types.h" 3 4
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__)));
# 220 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/sys/select.h" 1 3 4
# 31 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/bits/select.h" 1 3 4
# 32 "/usr/include/sys/select.h" 2 3 4


# 1 "/usr/include/bits/sigset.h" 1 3 4
# 35 "/usr/include/sys/select.h" 2 3 4
# 44 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 45 "/usr/include/sys/select.h" 2 3 4

# 1 "/usr/include/bits/time.h" 1 3 4
# 69 "/usr/include/bits/time.h" 3 4
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
# 47 "/usr/include/sys/select.h" 2 3 4
# 55 "/usr/include/sys/select.h" 3 4
typedef long int __fd_mask;
# 67 "/usr/include/sys/select.h" 3 4
typedef struct
  {



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





  } fd_set;






typedef __fd_mask fd_mask;
# 99 "/usr/include/sys/select.h" 3 4

# 109 "/usr/include/sys/select.h" 3 4
extern int select (int __nfds, fd_set *__restrict __readfds,
     fd_set *__restrict __writefds,
     fd_set *__restrict __exceptfds,
     struct timeval *__restrict __timeout);
# 121 "/usr/include/sys/select.h" 3 4
extern int pselect (int __nfds, fd_set *__restrict __readfds,
      fd_set *__restrict __writefds,
      fd_set *__restrict __exceptfds,
      const struct timespec *__restrict __timeout,
      const __sigset_t *__restrict __sigmask);



# 221 "/usr/include/sys/types.h" 2 3 4


# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 30 "/usr/include/sys/sysmacros.h" 3 4
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
     __attribute__ ((__nothrow__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
     __attribute__ ((__nothrow__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
            unsigned int __minor)
     __attribute__ ((__nothrow__));


__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int
__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
{
  return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}

__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int
__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
{
  return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
}

__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned long long int
__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
{
  return ((__minor & 0xff) | ((__major & 0xfff) << 8)
   | (((unsigned long long int) (__minor & ~0xff)) << 12)
   | (((unsigned long long int) (__major & ~0xfff)) << 32));
}
# 224 "/usr/include/sys/types.h" 2 3 4




typedef __blksize_t blksize_t;






typedef __blkcnt_t blkcnt_t;



typedef __fsblkcnt_t fsblkcnt_t;



typedef __fsfilcnt_t fsfilcnt_t;
# 262 "/usr/include/sys/types.h" 3 4
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
# 273 "/usr/include/sys/types.h" 3 4

# 321 "/usr/include/stdlib.h" 2 3 4






extern long int random (void) __attribute__ ((__nothrow__));


extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));





extern char *initstate (unsigned int __seed, char *__statebuf,
   size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));



extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));







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) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));

extern int srandom_r (unsigned int __seed, struct random_data *__buf)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));

extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
   size_t __statelen,
   struct random_data *__restrict __buf)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));

extern int setstate_r (char *__restrict __statebuf,
         struct random_data *__restrict __buf)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));






extern int rand (void) __attribute__ ((__nothrow__));

extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));




extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));







extern double drand48 (void) __attribute__ ((__nothrow__));
extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern long int lrand48 (void) __attribute__ ((__nothrow__));
extern long int nrand48 (unsigned short int __xsubi[3])
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


extern long int mrand48 (void) __attribute__ ((__nothrow__));
extern long int jrand48 (unsigned short int __xsubi[3])
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));


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





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) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
extern int erand48_r (unsigned short int __xsubi[3],
        struct drand48_data *__restrict __buffer,
        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));


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


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


extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));

extern int seed48_r (unsigned short int __seed16v[3],
       struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));

extern int lcong48_r (unsigned short int __param[7],
        struct drand48_data *__buffer)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
# 479 "/usr/include/stdlib.h" 3 4






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

extern void free (void *__ptr) __attribute__ ((__nothrow__));




extern void cfree (void *__ptr) __attribute__ ((__nothrow__));



# 1 "/usr/include/alloca.h" 1 3 4
# 25 "/usr/include/alloca.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 26 "/usr/include/alloca.h" 2 3 4







extern void *alloca (size_t __size) __attribute__ ((__nothrow__));






# 498 "/usr/include/stdlib.h" 2 3 4




extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;




extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;




extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));



extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));





extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));






extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));






extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));






extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;




extern char *__secure_getenv (__const char *__name)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;





extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));





extern int setenv (__const char *__name, __const char *__value, int __replace)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));


extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));






extern int clearenv (void) __attribute__ ((__nothrow__));
# 583 "/usr/include/stdlib.h" 3 4
extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
# 594 "/usr/include/stdlib.h" 3 4
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 604 "/usr/include/stdlib.h" 3 4
extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 614 "/usr/include/stdlib.h" 3 4
extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
# 625 "/usr/include/stdlib.h" 3 4
extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
# 635 "/usr/include/stdlib.h" 3 4
extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;









extern int system (__const char *__command) ;






extern char *canonicalize_file_name (__const char *__name)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
# 662 "/usr/include/stdlib.h" 3 4
extern char *realpath (__const char *__restrict __name,
         char *__restrict __resolved) __attribute__ ((__nothrow__)) ;






typedef int (*__compar_fn_t) (__const void *, __const void *);


typedef __compar_fn_t comparison_fn_t;



typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *);





extern void *bsearch (__const void *__key, __const void *__base,
        size_t __nmemb, size_t __size, __compar_fn_t __compar)
     __attribute__ ((__nonnull__ (1, 2, 5))) ;



extern void qsort (void *__base, size_t __nmemb, size_t __size,
     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));

extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
       __compar_d_fn_t __compar, void *__arg)
  __attribute__ ((__nonnull__ (1, 4)));




extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;



__extension__ extern long long int llabs (long long int __x)
     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;







extern div_t div (int __numer, int __denom)
     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
extern ldiv_t ldiv (long int __numer, long int __denom)
     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;




__extension__ extern lldiv_t lldiv (long long int __numer,
        long long int __denom)
     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;

# 735 "/usr/include/stdlib.h" 3 4
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;




extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;




extern char *gcvt (double __value, int __ndigit, char *__buf)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;




extern char *qecvt (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qfcvt (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;




extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign, char *__restrict __buf,
     size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
     int *__restrict __sign, char *__restrict __buf,
     size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));

extern int qecvt_r (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign,
      char *__restrict __buf, size_t __len)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
extern int qfcvt_r (long double __value, int __ndigit,
      int *__restrict __decpt, int *__restrict __sign,
      char *__restrict __buf, size_t __len)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));







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


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


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



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

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








extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
# 823 "/usr/include/stdlib.h" 3 4
extern int getsubopt (char **__restrict __optionp,
        char *__const *__restrict __tokens,
        char **__restrict __valuep)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;





extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));







extern int posix_openpt (int __oflag) ;







extern int grantpt (int __fd) __attribute__ ((__nothrow__));



extern int unlockpt (int __fd) __attribute__ ((__nothrow__));




extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) ;






extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));


extern int getpt (void);






extern int getloadavg (double __loadavg[], int __nelem)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
# 891 "/usr/include/stdlib.h" 3 4

# 231 "../../src/include/Defn.h" 2
# 317 "../../src/include/Defn.h"
typedef SEXP (*CCODE)(SEXP, SEXP, SEXP, SEXP);


typedef enum {
    PP_INVALID = 0,
    PP_ASSIGN = 1,
    PP_ASSIGN2 = 2,
    PP_BINARY = 3,
    PP_BINARY2 = 4,
    PP_BREAK = 5,
    PP_CURLY = 6,
    PP_FOR = 7,
    PP_FUNCALL = 8,
    PP_FUNCTION = 9,
    PP_IF = 10,
    PP_NEXT = 11,
    PP_PAREN = 12,
    PP_RETURN = 13,
    PP_SUBASS = 14,
    PP_SUBSET = 15,
    PP_WHILE = 16,
    PP_UNARY = 17,
    PP_DOLLAR = 18,
    PP_FOREIGN = 19,
    PP_REPEAT = 20
} PPkind;

typedef enum {
    PREC_FN = 0,
    PREC_LEFT = 1,
    PREC_EQ = 2,
    PREC_RIGHT = 3,
    PREC_TILDE = 4,
    PREC_OR = 5,
    PREC_AND = 6,
    PREC_NOT = 7,
    PREC_COMPARE = 8,
    PREC_SUM = 9,
    PREC_PROD = 10,
    PREC_PERCENT = 11,
    PREC_COLON = 12,
    PREC_SIGN = 13,
    PREC_POWER = 14,
    PREC_DOLLAR = 15,
    PREC_NS = 16,
    PREC_SUBSET = 17
} PPprec;

typedef struct {
 PPkind kind;
 PPprec precedence;
 unsigned int rightassoc;
} PPinfo;



typedef struct {
    char *name;
    CCODE cfun;
    int code;
    int Rf_eval;
    int arity;
    PPinfo gram;
} FUNTAB;
# 412 "../../src/include/Defn.h"
typedef struct {
 union {
  SEXP backpointer;
  double align;
 } u;
} VECREC, *VECP;
# 468 "../../src/include/Defn.h"
typedef struct RPRSTACK {
    SEXP promise;
    struct RPRSTACK *next;
} RPRSTACK;


typedef struct RCNTXT {
    struct RCNTXT *nextcontext;
    int callflag;
    sigjmp_buf cjmpbuf;
    int cstacktop;
    int evaldepth;
    SEXP promargs;
    SEXP callfun;
    SEXP sysparent;
    SEXP call;
    SEXP cloenv;
    SEXP conexit;
    void (*cend)(void *);
    void *cenddata;
    void *vmax;
    int intsusp;
    SEXP handlerstack;
    SEXP restartstack;
    struct RPRSTACK *prstack;

    SEXP *nodestack;




} RCNTXT, *context;
# 511 "../../src/include/Defn.h"
enum {
    CTXT_TOPLEVEL = 0,
    CTXT_NEXT = 1,
    CTXT_BREAK = 2,
    CTXT_LOOP = 3,
    CTXT_FUNCTION = 4,
    CTXT_CCODE = 8,
    CTXT_RETURN = 12,
    CTXT_BROWSER = 16,
    CTXT_GENERIC = 20,
    CTXT_RESTART = 32,
    CTXT_BUILTIN = 64
};
# 547 "../../src/include/Defn.h"
typedef enum {
    PLUSOP = 1,
    MINUSOP,
    TIMESOP,
    DIVOP,
    POWOP,
    MODOP,
    IDIVOP
} ARITHOP_TYPE;

typedef enum {
    EQOP = 1,
    NEOP,
    LTOP,
    LEOP,
    GEOP,
    GTOP
} RELOP_TYPE;
# 577 "../../src/include/Defn.h"
extern

FUNTAB R_FunTab[];


# 1 "../../src/include/R_ext/libextern.h" 1
# 583 "../../src/include/Defn.h" 2
# 593 "../../src/include/Defn.h"
extern int gc_inhibit_torture ;

extern Rboolean R_interrupts_suspended ;
extern int R_interrupts_pending ;


extern char *R_Home;


extern R_size_t R_NSize ;
extern R_size_t R_VSize ;
extern SEXP R_NHeap;
extern SEXP R_FreeSEXP;
extern R_size_t R_Collected;
extern int R_Is_Running;


extern int R_PPStackSize ;
extern int R_PPStackTop;
extern SEXP* R_PPStack;


extern SEXP R_CurrentExpr;
extern SEXP R_ReturnedValue;
extern SEXP* R_SymbolTable;
extern RCNTXT R_Toplevel;
extern RCNTXT* R_ToplevelContext;
extern RCNTXT* R_GlobalContext;
extern Rboolean R_Visible;
extern int R_EvalDepth ;
extern int R_BrowseLevel ;
extern int R_BrowseLines ;

extern int R_Expressions ;
extern int R_Expressions_keep ;
extern Rboolean R_KeepSource ;
extern int R_WarnLength ;
extern uintptr_t R_CStackLimit ;
extern uintptr_t R_CStackStart ;
extern int R_CStackDir ;
extern Rboolean R_WarnEscapes ;
extern struct RPRSTACK *R_PendingPromises ;


extern Rboolean R_Interactive ;
extern Rboolean R_Quiet ;
extern Rboolean R_Slave ;
extern Rboolean R_Verbose ;



extern FILE* R_Consolefile ;
extern FILE* R_Outputfile ;
extern int R_ErrorCon ;
extern char *R_TempDir ;
extern char *Sys_TempDir ;

extern char R_StdinEnc[31] ;


extern SEXP R_CommentSxp;
extern int R_ParseError ;
extern int R_ParseErrorCol;
extern SEXP R_ParseErrorFile;

extern char R_ParseErrorMsg[256] ;

extern char R_ParseContext[256] ;
extern int R_ParseContextLast ;
extern int R_ParseContextLine;


extern int R_DirtyImage ;


extern char *R_HistoryFile;
extern int R_HistorySize;
extern int R_RestoreHistory;
extern void R_setupHistory(void);


extern int R_CollectWarnings ;
extern SEXP R_Warnings;
extern int R_ShowErrorMessages ;
extern SEXP R_HandlerStack;
extern SEXP R_RestartStack;
extern Rboolean R_warn_partial_match_args ;
extern Rboolean R_warn_partial_match_dollar ;
extern Rboolean R_warn_partial_match_attr ;
extern Rboolean R_ShowWarnCalls ;
extern Rboolean R_ShowErrorCalls ;
extern int R_NShowCalls ;

extern Rboolean utf8locale ;
extern Rboolean mbcslocale ;
extern Rboolean latin1locale ;






extern char OutDec ;


extern int Rf_initEmbeddedR(int argc, char **argv);



extern char *R_GUIType ;

extern double cpuLimit ;
extern double cpuLimit2 ;
extern double cpuLimitValue ;
extern double elapsedLimit ;
extern double elapsedLimit2 ;
extern double elapsedLimitValue ;

void resetTimeLimits(void);



extern SEXP *R_BCNodeStackBase, *R_BCNodeStackTop, *R_BCNodeStackEnd;







typedef SEXP (*R_stdGen_ptr_t)(SEXP, SEXP, SEXP);
R_stdGen_ptr_t R_get_standardGeneric_ptr(void);
R_stdGen_ptr_t R_set_standardGeneric_ptr(R_stdGen_ptr_t, SEXP);
extern SEXP R_MethodsNamespace;
SEXP R_deferred_default_method(void);
SEXP R_set_prim_method(SEXP fname, SEXP op, SEXP code_vec, SEXP fundef,
         SEXP mlist);
SEXP do_set_prim_method(SEXP op, const char *code_string, SEXP fundef,
   SEXP mlist);
void R_set_quick_method_check(R_stdGen_ptr_t);
SEXP R_primitive_methods(SEXP op);
SEXP R_primitive_generic(SEXP op);


extern int R_dec_min_exponent ;


typedef struct {
    int ibeta, it, irnd, ngrd, machep, negep, iexp, minexp, maxexp;
    double eps, epsneg, xmin, xmax;
} AccuracyInfo;

extern AccuracyInfo R_AccuracyInfo;

extern unsigned int max_contour_segments ;

extern Rboolean known_to_be_latin1 ;
extern Rboolean known_to_be_utf8 ;
# 902 "../../src/include/Defn.h"
int R_ReadConsole(const char *, unsigned char *, int, int);
void R_WriteConsole(const char *, int);
void R_WriteConsoleEx(const char *, int, int);
void R_ResetConsole(void);
void R_FlushConsole(void);
void R_ClearerrConsole(void);
void R_Busy(int);
int R_ShowFiles(int, const char **, const char **, const char *,
      Rboolean, const char *);
int R_EditFiles(int, const char **, const char **, const char *);
int R_ChooseFile(int, char *, int);
char *R_HomeDir(void);
Rboolean R_FileExists(const char *);
Rboolean R_HiddenFile(const char *);
double R_FileMtime(const char *);


typedef struct R_varloc_st *R_varloc_t;
R_varloc_t R_findVarLocInFrame(SEXP, SEXP);
SEXP R_GetVarLocValue(R_varloc_t);
SEXP R_GetVarLocSymbol(R_varloc_t);
Rboolean R_GetVarLocMISSING(R_varloc_t);
void R_SetVarLocValue(R_varloc_t, SEXP);
# 942 "../../src/include/Defn.h"
int Rf_LogicalFromString(SEXP, int*);
int Rf_IntegerFromString(SEXP, int*);
double Rf_RealFromString(SEXP, int*);
Rcomplex Rf_ComplexFromString(SEXP, int*);
SEXP Rf_StringFromLogical(int, int*);
SEXP Rf_StringFromInteger(int, int*);
SEXP Rf_StringFromReal(double, int*);
SEXP Rf_StringFromComplex(Rcomplex, int*);
SEXP Rf_EnsureString(SEXP);



SEXP Rf_allocCharsxp(R_len_t);
SEXP Rf_append(SEXP, SEXP);
void Rf_begincontext(RCNTXT*, int, SEXP, SEXP, SEXP, SEXP, SEXP);
void Rf_checkArityCall(SEXP, SEXP, SEXP);
void Rf_CheckFormals(SEXP);
void R_check_locale(void);
void Rf_check_stack_balance(SEXP op, int save);
void Rf_CleanEd(void);
void Rf_copyListMatrix(SEXP, SEXP, Rboolean);
void Rf_copyMostAttribNoTs(SEXP, SEXP);
void Rf_CustomPrintValue(SEXP,SEXP);
void Rf_DataFrameClass(SEXP);
SEXP Rf_ddfindVar(SEXP, SEXP);
SEXP Rf_deparse1(SEXP,Rboolean,int);
SEXP Rf_deparse1line(SEXP,Rboolean);
SEXP Rf_deparse1s(SEXP call);
int Rf_DispatchOrEval(SEXP, SEXP, const char *, SEXP, SEXP, SEXP*, int, int);
int Rf_DispatchGroup(const char *, SEXP,SEXP,SEXP,SEXP,SEXP*);
SEXP Rf_duplicated(SEXP, Rboolean);
SEXP Rf_dynamicfindVar(SEXP, RCNTXT*);
void Rf_endcontext(RCNTXT*);
int Rf_envlength(SEXP);
SEXP Rf_evalList(SEXP, SEXP, SEXP);
SEXP Rf_evalListKeepMissing(SEXP, SEXP);
int Rf_factorsConform(SEXP, SEXP);
void Rf_findcontext(int, SEXP, SEXP);
SEXP Rf_findVar1(SEXP, SEXP, SEXPTYPE, int);
void Rf_FrameClassFix(SEXP);
int Rf_framedepth(RCNTXT*);
SEXP Rf_frameSubscript(int, SEXP, SEXP);
int Rf_get1index(SEXP, SEXP, int, int, int, SEXP);
SEXP Rf_getVar(SEXP, SEXP);
SEXP Rf_getVarInFrame(SEXP, SEXP);
void Rf_InitArithmetic(void);
void Rf_InitColors(void);
void Rf_InitConnections(void);
void Rf_InitEd(void);
void Rf_InitFunctionHashing(void);
void Rf_InitBaseEnv(void);
void Rf_InitGlobalEnv(void);
Rboolean R_current_trace_state(void);
Rboolean R_has_methods(SEXP);
void R_InitialData(void);
SEXP R_possible_dispatch(SEXP, SEXP, SEXP, SEXP, Rboolean);
void Rf_InitGraphics(void);
void Rf_InitMemory(void);
void Rf_InitNames(void);
void Rf_InitOptions(void);
void Rf_InitStringHash(void);
void Init_R_Variables(SEXP);
void Rf_InitTempDir(void);
void Rf_initStack(void);
void R_InsertRestartHandlers(RCNTXT *, Rboolean);
void Rf_internalTypeCheck(SEXP, SEXP, SEXPTYPE);
Rboolean isMethodsDispatchOn(void);
int Rf_isValidName(const char *);
void R_JumpToContext(RCNTXT *, int, SEXP);
void Rf_jump_to_toplevel(void);
void Rf_KillAllDevices(void);
SEXP Rf_levelsgets(SEXP, SEXP);
void Rf_mainloop(void);
SEXP Rf_makeSubscript(SEXP, SEXP, int *, SEXP);
SEXP Rf_markKnown(const char *, SEXP);
SEXP Rf_mat2indsub(SEXP, SEXP, SEXP);
SEXP Rf_matchArg(SEXP, SEXP*);
SEXP Rf_matchArgExact(SEXP, SEXP*);
SEXP Rf_matchArgs(SEXP, SEXP, SEXP);
SEXP Rf_matchPar(const char *, SEXP*);
void memtrace_report(void *, void *);
SEXP Rf_mkCLOSXP(SEXP, SEXP, SEXP);
SEXP Rf_mkFalse(void);
SEXP mkPRIMSXP (int, int);
SEXP Rf_mkPROMISE(SEXP, SEXP);
SEXP Rf_mkQUOTE(SEXP);
SEXP Rf_mkSYMSXP(SEXP, SEXP);
SEXP Rf_mkTrue(void);
SEXP Rf_NewEnvironment(SEXP, SEXP, SEXP);
void Rf_onintr(void);
void Rf_onsigusr1(int);
void Rf_onsigusr2(int);
int Rf_OneIndex(SEXP, SEXP, int, int, SEXP*, int, SEXP);
SEXP Rf_parse(FILE*, int);
void Rf_PrintDefaults(SEXP);
void Rf_PrintGreeting(void);
void Rf_PrintValueEnv(SEXP, SEXP);
void Rf_PrintValueRec(SEXP, SEXP);
void Rf_PrintVersion(char *);
void Rf_PrintVersionString(char *);
void Rf_PrintWarnings(void);
void process_site_Renviron(void);
void process_system_Renviron(void);
void process_user_Renviron(void);
SEXP Rf_promiseArgs(SEXP, SEXP);
void Rcons_vprintf(const char *, va_list);
SEXP R_data_class(SEXP , Rboolean);
SEXP R_data_class2(SEXP);
char *R_LibraryFileName(const char *, char *, size_t);
SEXP R_LoadFromFile(FILE*, int);
SEXP R_NewHashedEnv(SEXP, SEXP);
extern int R_Newhashpjw(const char *);
FILE* R_OpenLibraryFile(const char *);
void R_RestoreGlobalEnv(void);
void R_RestoreGlobalEnvFromFile(const char *, Rboolean);
void R_SaveGlobalEnv(void);
void R_SaveGlobalEnvToFile(const char *);
void R_SaveToFile(SEXP, FILE*, int);
void R_SaveToFileV(SEXP, FILE*, int, int);
Rboolean R_seemsOldStyleS4Object(SEXP object);
int R_SetOptionWarn(int);
int R_SetOptionWidth(int);
void R_Suicide(const char *);
void R_getProcTime(double *data);
int R_isMissing(SEXP symbol, SEXP rho);
void Rf_sortVector(SEXP, Rboolean);
void Rf_ssort(SEXP*,int);
int Rf_StrToInternal(const char *);
SEXP Rf_substituteList(SEXP, SEXP);
SEXP R_syscall(int,RCNTXT*);
int R_sysparent(int,RCNTXT*);
SEXP R_sysframe(int,RCNTXT*);
SEXP R_sysfunction(int,RCNTXT*);
Rboolean Rf_tsConform(SEXP,SEXP);
SEXP Rf_tspgets(SEXP, SEXP);
SEXP Rf_type2symbol(SEXPTYPE);
void Rf_unbindVar(SEXP, SEXP);



SEXP R_LookupMethod(SEXP, SEXP, SEXP, SEXP);
int Rf_usemethod(const char *, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP*);
SEXP Rf_vectorSubscript(int, SEXP, int*, SEXP (*)(SEXP,SEXP),
                        SEXP (*)(SEXP, int), SEXP, SEXP);


SEXP Rf_ItemName(SEXP, int);


void Rf_ErrorMessage(SEXP, int, ...);
void Rf_WarningMessage(SEXP, R_WARNING, ...);
SEXP R_GetTraceback(int);

R_size_t R_GetMaxVSize(void);
void R_SetMaxVSize(R_size_t);
R_size_t R_GetMaxNSize(void);
void R_SetMaxNSize(R_size_t);
R_size_t R_Decode2Long(char *p, int *ierr);
void R_SetPPSize(R_size_t);

void R_run_onexits(RCNTXT *);
void R_restore_globals(RCNTXT *);





Rboolean compute_identical(SEXP x, SEXP y);


typedef enum {
    Rprt_adj_left = 0,
    Rprt_adj_right = 1,
    Rprt_adj_centre = 2,
    Rprt_adj_none = 3
} Rprt_adj;

int Rstrlen(SEXP, int);
const char *Rf_EncodeRaw(Rbyte);
const char *Rf_EncodeString(SEXP, int, int, Rprt_adj);
const char *EncodeReal2(double, int, int, int);



void orderVector1(int *indx, int n, SEXP key, Rboolean nalast,
    Rboolean decreasing, SEXP rho);


SEXP R_subset3_dflt(SEXP, SEXP, SEXP);


SEXP R_subassign3_dflt(SEXP, SEXP, SEXP, SEXP);


# 1 "/usr/include/wchar.h" 1 3 4
# 52 "/usr/include/wchar.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 355 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 53 "/usr/include/wchar.h" 2 3 4
# 99 "/usr/include/wchar.h" 3 4


typedef __mbstate_t mbstate_t;



# 124 "/usr/include/wchar.h" 3 4





struct tm;









extern wchar_t *wcscpy (wchar_t *__restrict __dest,
   __const wchar_t *__restrict __src) __attribute__ ((__nothrow__));

extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
    __const wchar_t *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__));


extern wchar_t *wcscat (wchar_t *__restrict __dest,
   __const wchar_t *__restrict __src) __attribute__ ((__nothrow__));

extern wchar_t *wcsncat (wchar_t *__restrict __dest,
    __const wchar_t *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__));


extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));

extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));




extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) __attribute__ ((__nothrow__));


extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
   size_t __n) __attribute__ ((__nothrow__));





extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
    __locale_t __loc) __attribute__ ((__nothrow__));

extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
     size_t __n, __locale_t __loc) __attribute__ ((__nothrow__));





extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) __attribute__ ((__nothrow__));



extern size_t wcsxfrm (wchar_t *__restrict __s1,
         __const wchar_t *__restrict __s2, size_t __n) __attribute__ ((__nothrow__));








extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
        __locale_t __loc) __attribute__ ((__nothrow__));




extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
    size_t __n, __locale_t __loc) __attribute__ ((__nothrow__));


extern wchar_t *wcsdup (__const wchar_t *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));




extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));

extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));





extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));





extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));


extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));

extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));

extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));


extern wchar_t *wcstok (wchar_t *__restrict __s,
   __const wchar_t *__restrict __delim,
   wchar_t **__restrict __ptr) __attribute__ ((__nothrow__));


extern size_t wcslen (__const wchar_t *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__));




extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));




extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));





extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));


extern int wmemcmp (__const wchar_t *__restrict __s1,
      __const wchar_t *__restrict __s2, size_t __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__pure__));


extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
    __const wchar_t *__restrict __s2, size_t __n) __attribute__ ((__nothrow__));



extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
     __attribute__ ((__nothrow__));


extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __attribute__ ((__nothrow__));





extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
     __const wchar_t *__restrict __s2, size_t __n)
     __attribute__ ((__nothrow__));






extern wint_t btowc (int __c) __attribute__ ((__nothrow__));



extern int wctob (wint_t __c) __attribute__ ((__nothrow__));



extern int mbsinit (__const mbstate_t *__ps) __attribute__ ((__nothrow__)) __attribute__ ((__pure__));



extern size_t mbrtowc (wchar_t *__restrict __pwc,
         __const char *__restrict __s, size_t __n,
         mbstate_t *__p) __attribute__ ((__nothrow__));


extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
         mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));


extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
   mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));
extern size_t mbrlen (__const char *__restrict __s, size_t __n,
        mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));








extern wint_t __btowc_alias (int __c) __asm ("btowc");
extern __inline __attribute__ ((__gnu_inline__)) wint_t
__attribute__ ((__nothrow__)) btowc (int __c)
{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
   ? (wint_t) __c : __btowc_alias (__c)); }

extern int __wctob_alias (wint_t __c) __asm ("wctob");
extern __inline __attribute__ ((__gnu_inline__)) int
__attribute__ ((__nothrow__)) wctob (wint_t __wc)
{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
   ? (int) __wc : __wctob_alias (__wc)); }

extern __inline __attribute__ ((__gnu_inline__)) size_t
__attribute__ ((__nothrow__)) mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps)

{ return (__ps != ((void *)0)
   ? mbrtowc (((void *)0), __s, __n, __ps) : __mbrlen (__s, __n, ((void *)0))); }





extern size_t mbsrtowcs (wchar_t *__restrict __dst,
    __const char **__restrict __src, size_t __len,
    mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));



extern size_t wcsrtombs (char *__restrict __dst,
    __const wchar_t **__restrict __src, size_t __len,
    mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));






extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
     __const char **__restrict __src, size_t __nmc,
     size_t __len, mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));



extern size_t wcsnrtombs (char *__restrict __dst,
     __const wchar_t **__restrict __src,
     size_t __nwc, size_t __len,
     mbstate_t *__restrict __ps) __attribute__ ((__nothrow__));






extern int wcwidth (wchar_t __c) __attribute__ ((__nothrow__));



extern int wcswidth (__const wchar_t *__s, size_t __n) __attribute__ ((__nothrow__));






extern double wcstod (__const wchar_t *__restrict __nptr,
        wchar_t **__restrict __endptr) __attribute__ ((__nothrow__));





extern float wcstof (__const wchar_t *__restrict __nptr,
       wchar_t **__restrict __endptr) __attribute__ ((__nothrow__));
extern long double wcstold (__const wchar_t *__restrict __nptr,
       wchar_t **__restrict __endptr) __attribute__ ((__nothrow__));







extern long int wcstol (__const wchar_t *__restrict __nptr,
   wchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__));



extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
      wchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__));






__extension__
extern long long int wcstoll (__const wchar_t *__restrict __nptr,
         wchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__));



__extension__
extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
     wchar_t **__restrict __endptr,
     int __base) __attribute__ ((__nothrow__));






__extension__
extern long long int wcstoq (__const wchar_t *__restrict __nptr,
        wchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__));



__extension__
extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
           wchar_t **__restrict __endptr,
           int __base) __attribute__ ((__nothrow__));
# 477 "/usr/include/wchar.h" 3 4
extern long int wcstol_l (__const wchar_t *__restrict __nptr,
     wchar_t **__restrict __endptr, int __base,
     __locale_t __loc) __attribute__ ((__nothrow__));

extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
        wchar_t **__restrict __endptr,
        int __base, __locale_t __loc) __attribute__ ((__nothrow__));

__extension__
extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
    wchar_t **__restrict __endptr,
    int __base, __locale_t __loc) __attribute__ ((__nothrow__));

__extension__
extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
       wchar_t **__restrict __endptr,
       int __base, __locale_t __loc)
     __attribute__ ((__nothrow__));

extern double wcstod_l (__const wchar_t *__restrict __nptr,
   wchar_t **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__));

extern float wcstof_l (__const wchar_t *__restrict __nptr,
         wchar_t **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__));

extern long double wcstold_l (__const wchar_t *__restrict __nptr,
         wchar_t **__restrict __endptr,
         __locale_t __loc) __attribute__ ((__nothrow__));






extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __attribute__ ((__nothrow__));



extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
     __attribute__ ((__nothrow__));
# 527 "/usr/include/wchar.h" 3 4
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__));






extern int fwide (__FILE *__fp, int __mode) __attribute__ ((__nothrow__));






extern int fwprintf (__FILE *__restrict __stream,
       __const wchar_t *__restrict __format, ...)
                                                           ;




extern int wprintf (__const wchar_t *__restrict __format, ...)
                                                           ;

extern int swprintf (wchar_t *__restrict __s, size_t __n,
       __const wchar_t *__restrict __format, ...)
     __attribute__ ((__nothrow__)) ;





extern int vfwprintf (__FILE *__restrict __s,
        __const wchar_t *__restrict __format,
        __gnuc_va_list __arg)
                                                           ;




extern int vwprintf (__const wchar_t *__restrict __format,
       __gnuc_va_list __arg)
                                                           ;


extern int vswprintf (wchar_t *__restrict __s, size_t __n,
        __const wchar_t *__restrict __format,
        __gnuc_va_list __arg)
     __attribute__ ((__nothrow__)) ;






extern int fwscanf (__FILE *__restrict __stream,
      __const wchar_t *__restrict __format, ...)
                                                          ;




extern int wscanf (__const wchar_t *__restrict __format, ...)
                                                          ;

extern int swscanf (__const wchar_t *__restrict __s,
      __const wchar_t *__restrict __format, ...)
     __attribute__ ((__nothrow__)) ;
# 627 "/usr/include/wchar.h" 3 4









extern int vfwscanf (__FILE *__restrict __s,
       __const wchar_t *__restrict __format,
       __gnuc_va_list __arg)
                                                          ;




extern int vwscanf (__const wchar_t *__restrict __format,
      __gnuc_va_list __arg)
                                                          ;

extern int vswscanf (__const wchar_t *__restrict __s,
       __const wchar_t *__restrict __format,
       __gnuc_va_list __arg)
     __attribute__ ((__nothrow__)) ;
# 683 "/usr/include/wchar.h" 3 4









extern wint_t fgetwc (__FILE *__stream);
extern wint_t getwc (__FILE *__stream);





extern wint_t getwchar (void);






extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwc (wchar_t __wc, __FILE *__stream);





extern wint_t putwchar (wchar_t __wc);







extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
   __FILE *__restrict __stream);





extern int fputws (__const wchar_t *__restrict __ws,
     __FILE *__restrict __stream);






extern wint_t ungetwc (wint_t __wc, __FILE *__stream);

# 748 "/usr/include/wchar.h" 3 4
extern wint_t getwc_unlocked (__FILE *__stream);
extern wint_t getwchar_unlocked (void);







extern wint_t fgetwc_unlocked (__FILE *__stream);







extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
# 774 "/usr/include/wchar.h" 3 4
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar_unlocked (wchar_t __wc);
# 784 "/usr/include/wchar.h" 3 4
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
     __FILE *__restrict __stream);







extern int fputws_unlocked (__const wchar_t *__restrict __ws,
       __FILE *__restrict __stream);







extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
   __const wchar_t *__restrict __format,
   __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));







extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
     __const wchar_t *__restrict __format,
     __const struct tm *__restrict __tp,
     __locale_t __loc) __attribute__ ((__nothrow__));
# 838 "/usr/include/wchar.h" 3 4

# 1137 "../../src/include/Defn.h" 2



void UNIMPLEMENTED_TYPE(const char *s, SEXP x);
void UNIMPLEMENTED_TYPEt(const char *s, SEXPTYPE t);
Rboolean Rf_strIsASCII(const char *str);
int utf8clen(char c);

typedef unsigned short ucs2_t;
size_t mbcsToUcs2(const char *in, ucs2_t *out, int nout, int enc);



size_t Rf_utf8toucs(wchar_t *wc, const char *s);
size_t Rf_utf8towcs(wchar_t *wc, const char *s, size_t n);
size_t Rf_ucstomb(char *s, const unsigned int wc);
size_t Rf_ucstoutf8(char *s, const unsigned int wc);
size_t Rf_mbtoucs(unsigned int *wc, const char *s, size_t n);
size_t Rf_wcstoutf8(char *s, const wchar_t *wc, size_t n);


size_t Rf_mbrtowc(wchar_t *wc, const char *s, size_t n, mbstate_t *ps);

Rboolean mbcsValid(const char *str);
char *Rf_strchr(const char *s, int c);
char *Rf_strrchr(const char *s, int c);
# 1183 "../../src/include/Defn.h"
FILE *RC_fopen(const SEXP fn, const char *mode, const Rboolean expand);
int Rf_Seql(SEXP a, SEXP b);
int Rf_Scollate(SEXP a, SEXP b);

double R_strtod4(const char *str, char **endptr, char dec, Rboolean NA);
double R_strtod(const char *str, char **endptr);
double R_atof(const char *str);


void set_rl_word_breaks(const char *str);


extern char *locale2charset(const char *);




# 1 "/usr/include/libintl.h" 1 3 4
# 35 "/usr/include/libintl.h" 3 4





extern char *gettext (__const char *__msgid)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1)));



extern char *dgettext (__const char *__domainname, __const char *__msgid)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
extern char *__dgettext (__const char *__domainname, __const char *__msgid)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));



extern char *dcgettext (__const char *__domainname,
   __const char *__msgid, int __category)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
extern char *__dcgettext (__const char *__domainname,
     __const char *__msgid, int __category)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));




extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
         unsigned long int __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));



extern char *dngettext (__const char *__domainname, __const char *__msgid1,
   __const char *__msgid2, unsigned long int __n)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));



extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
    __const char *__msgid2, unsigned long int __n,
    int __category)
     __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));





extern char *textdomain (__const char *__domainname) __attribute__ ((__nothrow__));



extern char *bindtextdomain (__const char *__domainname,
        __const char *__dirname) __attribute__ ((__nothrow__));



extern char *bind_textdomain_codeset (__const char *__domainname,
          __const char *__codeset) __attribute__ ((__nothrow__));







# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 102 "/usr/include/libintl.h" 2 3 4


# 1 "/usr/include/locale.h" 1 3 4
# 29 "/usr/include/locale.h" 3 4
# 1 "/usr/lib/gcc/alpha-linux-gnu/4.3.3/include/stddef.h" 1 3 4
# 30 "/usr/include/locale.h" 2 3 4
# 1 "/usr/include/bits/locale.h" 1 3 4
# 27 "/usr/include/bits/locale.h" 3 4
enum
{
  __LC_CTYPE = 0,
  __LC_NUMERIC = 1,
  __LC_TIME = 2,
  __LC_COLLATE = 3,
  __LC_MONETARY = 4,
  __LC_MESSAGES = 5,
  __LC_ALL = 6,
  __LC_PAPER = 7,
  __LC_NAME = 8,
  __LC_ADDRESS = 9,
  __LC_TELEPHONE = 10,
  __LC_MEASUREMENT = 11,
  __LC_IDENTIFICATION = 12
};
# 31 "/usr/include/locale.h" 2 3 4


# 51 "/usr/include/locale.h" 3 4



struct lconv
{


  char *decimal_point;
  char *thousands_sep;





  char *grouping;





  char *int_curr_symbol;
  char *currency_symbol;
  char *mon_decimal_point;
  char *mon_thousands_sep;
  char *mon_grouping;
  char *positive_sign;
  char *negative_sign;
  char int_frac_digits;
  char frac_digits;

  char p_cs_precedes;

  char p_sep_by_space;

  char n_cs_precedes;

  char n_sep_by_space;






  char p_sign_posn;
  char n_sign_posn;


  char int_p_cs_precedes;

  char int_p_sep_by_space;

  char int_n_cs_precedes;

  char int_n_sep_by_space;






  char int_p_sign_posn;
  char int_n_sign_posn;
# 121 "/usr/include/locale.h" 3 4
};



extern char *setlocale (int __category, __const char *__locale) __attribute__ ((__nothrow__));


extern struct lconv *localeconv (void) __attribute__ ((__nothrow__));


# 148 "/usr/include/locale.h" 3 4
typedef __locale_t locale_t;





extern __locale_t newlocale (int __category_mask, __const char *__locale,
        __locale_t __base) __attribute__ ((__nothrow__));
# 189 "/usr/include/locale.h" 3 4
extern __locale_t duplocale (__locale_t __dataset) __attribute__ ((__nothrow__));



extern void freelocale (__locale_t __dataset) __attribute__ ((__nothrow__));






extern __locale_t uselocale (__locale_t __dataset) __attribute__ ((__nothrow__));








# 105 "/usr/include/libintl.h" 2 3 4
# 122 "/usr/include/libintl.h" 3 4

# 1201 "../../src/include/Defn.h" 2
# 30 "deriv.c" 2

static SEXP ParenSymbol;
static SEXP PlusSymbol;
static SEXP MinusSymbol;
static SEXP TimesSymbol;
static SEXP DivideSymbol;
static SEXP PowerSymbol;
static SEXP ExpSymbol;
static SEXP LogSymbol;
static SEXP SinSymbol;
static SEXP CosSymbol;
static SEXP TanSymbol;
static SEXP SinhSymbol;
static SEXP CoshSymbol;
static SEXP TanhSymbol;
static SEXP SqrtSymbol;
static SEXP PnormSymbol;
static SEXP DnormSymbol;
static SEXP AsinSymbol;
static SEXP AcosSymbol;
static SEXP AtanSymbol;
static SEXP GammaSymbol;
static SEXP LGammaSymbol;
static SEXP DiGammaSymbol;
static SEXP TriGammaSymbol;
static SEXP PsiSymbol;

static Rboolean Initialized = FALSE;


static void InitDerivSymbols(void)
{

    if(Initialized) return;
    ParenSymbol = Rf_install("(");
    PlusSymbol = Rf_install("+");
    MinusSymbol = Rf_install("-");
    TimesSymbol = Rf_install("*");
    DivideSymbol = Rf_install("/");
    PowerSymbol = Rf_install("^");
    ExpSymbol = Rf_install("exp");
    LogSymbol = Rf_install("log");
    SinSymbol = Rf_install("sin");
    CosSymbol = Rf_install("cos");
    TanSymbol = Rf_install("tan");
    SinhSymbol = Rf_install("sinh");
    CoshSymbol = Rf_install("cosh");
    TanhSymbol = Rf_install("tanh");
    SqrtSymbol = Rf_install("sqrt");
    PnormSymbol = Rf_install("pnorm");
    DnormSymbol = Rf_install("dnorm");
    AsinSymbol = Rf_install("asin");
    AcosSymbol = Rf_install("acos");
    AtanSymbol = Rf_install("atan");
    GammaSymbol = Rf_install("gamma");
    LGammaSymbol = Rf_install("lgamma");
    DiGammaSymbol = Rf_install("digamma");
    TriGammaSymbol = Rf_install("trigamma");
    PsiSymbol = Rf_install("psigamma");

    Initialized = TRUE;
}

static SEXP Constant(double x)
{
    return Rf_ScalarReal(x);
}

static int isZero(SEXP s)
{
    return Rf_asReal(s) == 0.0;
}

static int isOne(SEXP s)
{
    return Rf_asReal(s) == 1.0;
}

static int isUminus(SEXP s)
{
    if (((s)->sxpinfo.type) == 6 && ((s)->u.listsxp.carval) == MinusSymbol) {
 switch(Rf_length(s)) {
 case 2:
     return 1;
 case 3:
     if (((((((s)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval) == R_MissingArg)
  return 1;
     else return 0;
 default:
     Rf_error(dcgettext (((void *)0), "invalid form in unary minus check", __LC_MESSAGES));
     return -1;
 }
    }
    else return 0;
}



static SEXP PP(SEXP s)
{
    Rf_protect(s);
    return s;
}

static SEXP simplify(SEXP fun, SEXP arg1, SEXP arg2)
{
    SEXP ans;
    if (fun == PlusSymbol) {
 if (isZero(arg1))
     ans = arg2;
 else if (isZero(arg2))
     ans = arg1;
 else if (isUminus(arg1))
     ans = simplify(MinusSymbol, arg2, ((((arg1)->u.listsxp.cdrval))->u.listsxp.carval));
 else if (isUminus(arg2))
     ans = simplify(MinusSymbol, arg1, ((((arg2)->u.listsxp.cdrval))->u.listsxp.carval));
 else
     ans = Rf_lang3(PlusSymbol, arg1, arg2);
    }
    else if (fun == MinusSymbol) {
 if (arg2 == R_MissingArg) {
     if (isZero(arg1))
  ans = Constant(0.);
     else if (isUminus(arg1))
  ans = ((((arg1)->u.listsxp.cdrval))->u.listsxp.carval);
     else
  ans = Rf_lang2(MinusSymbol, arg1);
 }
 else {
     if (isZero(arg2))
  ans = arg1;
     else if (isZero(arg1))
  ans = simplify(MinusSymbol, arg2, R_MissingArg);
     else if (isUminus(arg1)) {
  ans = simplify(MinusSymbol,
          PP(simplify(PlusSymbol, ((((arg1)->u.listsxp.cdrval))->u.listsxp.carval), arg2)),
          R_MissingArg);
  Rf_unprotect(1);
     }
     else if (isUminus(arg2))
  ans = simplify(PlusSymbol, arg1, ((((arg2)->u.listsxp.cdrval))->u.listsxp.carval));
     else
  ans = Rf_lang3(MinusSymbol, arg1, arg2);
 }
    }
    else if (fun == TimesSymbol) {
 if (isZero(arg1) || isZero(arg2))
     ans = Constant(0.);
 else if (isOne(arg1))
     ans = arg2;
 else if (isOne(arg2))
     ans = arg1;
 else if (isUminus(arg1)) {
     ans = simplify(MinusSymbol,
      PP(simplify(TimesSymbol, ((((arg1)->u.listsxp.cdrval))->u.listsxp.carval), arg2)),
      R_MissingArg);
     Rf_unprotect(1);
 }
 else if (isUminus(arg2)) {
     ans = simplify(MinusSymbol,
      PP(simplify(TimesSymbol, arg1, ((((arg2)->u.listsxp.cdrval))->u.listsxp.carval))),
      R_MissingArg);
     Rf_unprotect(1);
 }
 else
     ans = Rf_lang3(TimesSymbol, arg1, arg2);
    }
    else if (fun == DivideSymbol) {
 if (isZero(arg1))
     ans = Constant(0.);
 else if (isZero(arg2))
     ans = Constant(R_NaReal);
 else if (isOne(arg2))
     ans = arg1;
 else if (isUminus(arg1)) {
     ans = simplify(MinusSymbol,
      PP(simplify(DivideSymbol, ((((arg1)->u.listsxp.cdrval))->u.listsxp.carval), arg2)),
      R_MissingArg);
     Rf_unprotect(1);
 }
 else if (isUminus(arg2)) {
     ans = simplify(MinusSymbol,
      PP(simplify(DivideSymbol, arg1, ((((arg2)->u.listsxp.cdrval))->u.listsxp.carval))),
      R_MissingArg);
     Rf_unprotect(1);
 }
 else ans = Rf_lang3(DivideSymbol, arg1, arg2);
    }
    else if (fun == PowerSymbol) {
 if (isZero(arg2))
     ans = Constant(1.);
 else if (isZero(arg1))
     ans = Constant(0.);
 else if (isOne(arg1))
     ans = Constant(1.);
 else if (isOne(arg2))
     ans = arg1;
 else
     ans = Rf_lang3(PowerSymbol, arg1, arg2);
    }
    else if (fun == ExpSymbol) {

 ans = Rf_lang2(ExpSymbol, arg1);
    }
    else if (fun == LogSymbol) {

 ans = Rf_lang2(LogSymbol, arg1);
    }
    else if (fun == CosSymbol) ans = Rf_lang2(CosSymbol, arg1);
    else if (fun == SinSymbol) ans = Rf_lang2(SinSymbol, arg1);
    else if (fun == TanSymbol) ans = Rf_lang2(TanSymbol, arg1);
    else if (fun == CoshSymbol) ans = Rf_lang2(CoshSymbol, arg1);
    else if (fun == SinhSymbol) ans = Rf_lang2(SinhSymbol, arg1);
    else if (fun == TanhSymbol) ans = Rf_lang2(TanhSymbol, arg1);
    else if (fun == SqrtSymbol) ans = Rf_lang2(SqrtSymbol, arg1);
    else if (fun == PnormSymbol)ans = Rf_lang2(PnormSymbol, arg1);
    else if (fun == DnormSymbol)ans = Rf_lang2(DnormSymbol, arg1);
    else if (fun == AsinSymbol) ans = Rf_lang2(AsinSymbol, arg1);
    else if (fun == AcosSymbol) ans = Rf_lang2(AcosSymbol, arg1);
    else if (fun == AtanSymbol) ans = Rf_lang2(AtanSymbol, arg1);
    else if (fun == GammaSymbol)ans = Rf_lang2(GammaSymbol, arg1);
    else if (fun == LGammaSymbol)ans = Rf_lang2(LGammaSymbol, arg1);
    else if (fun == DiGammaSymbol) ans = Rf_lang2(DiGammaSymbol, arg1);
    else if (fun == TriGammaSymbol) ans = Rf_lang2(TriGammaSymbol, arg1);
    else if (fun == PsiSymbol){
       if (arg2 == R_MissingArg) ans = Rf_lang2(PsiSymbol, arg1);
       else ans = Rf_lang3(PsiSymbol, arg1, arg2);
    }
    else ans = Constant(R_NaReal);







    return ans;
}



static SEXP D(SEXP expr, SEXP var)
{




    SEXP ans=R_NilValue, expr1, expr2;
    switch(((expr)->sxpinfo.type)) {
    case 10:
    case 13:
    case 14:
    case 15:
 ans = Constant(0);
 break;
    case 1:
 if (expr == var) ans = Constant(1.);
 else ans = Constant(0.);
 break;
    case 2:
 if (Rf_inherits(expr, "expression")) ans = D(((expr)->u.listsxp.carval), var);
 else ans = Constant(R_NaReal);
 break;
    case 6:
 if (((expr)->u.listsxp.carval) == ParenSymbol) {
     ans = D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var);
 }
 else if (((expr)->u.listsxp.carval) == PlusSymbol) {
     if (Rf_length(expr) == 2)
  ans = D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var);
     else {
  ans = simplify(PlusSymbol,
          PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
          PP(D(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval), var)));
  Rf_unprotect(2);
     }
 }
 else if (((expr)->u.listsxp.carval) == MinusSymbol) {
     if (Rf_length(expr) == 2) {
  ans = simplify(MinusSymbol,
          PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
          R_MissingArg);
  Rf_unprotect(1);
     }
     else {
  ans = simplify(MinusSymbol,
          PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
          PP(D(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval), var)));
  Rf_unprotect(2);
     }
 }
 else if (((expr)->u.listsxp.carval) == TimesSymbol) {
     ans = simplify(PlusSymbol,
      PP(simplify(TimesSymbol,PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval),var)),((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))),
      PP(simplify(TimesSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),PP(D(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval),var)))));
     Rf_unprotect(4);
 }
 else if (((expr)->u.listsxp.carval) == DivideSymbol) {
     Rf_protect(expr1 = D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var));
     Rf_protect(expr2 = D(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval), var));
     ans = simplify(MinusSymbol,
      PP(simplify(DivideSymbol,expr1,((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))),
      PP(simplify(DivideSymbol,PP(simplify(TimesSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),expr2)),PP(simplify(PowerSymbol,((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval),PP(Constant(2.)))))));


     Rf_unprotect(7);
 }
 else if (((expr)->u.listsxp.carval) == PowerSymbol) {
     if ((((((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))->sxpinfo.type) == 10) || Rf_isNumeric(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))) {
  ans = simplify(TimesSymbol,
          ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval),
          PP(simplify(TimesSymbol,PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),PP(simplify(PowerSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),PP(Constant(Rf_asReal(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))-1.)))))));




  Rf_unprotect(4);
     }
     else {
  expr1 = simplify(TimesSymbol,
     PP(simplify(PowerSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),PP(simplify(MinusSymbol,((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval),PP(Constant(1.0)))))),




     PP(simplify(TimesSymbol,((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval),PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)))));


  Rf_unprotect(5);
  Rf_protect(expr1);
  expr2 = simplify(TimesSymbol,
     PP(simplify(PowerSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))),
     PP(simplify(TimesSymbol,PP(simplify(LogSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),PP(D(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval), var)))));


  Rf_unprotect(4);
  Rf_protect(expr2);
  ans = simplify(PlusSymbol, expr1, expr2);
  Rf_unprotect(2);
     }
 }
 else if (((expr)->u.listsxp.carval) == ExpSymbol) {
     ans = simplify(TimesSymbol,
      expr,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)));
     Rf_unprotect(1);
 }
 else if (((expr)->u.listsxp.carval) == LogSymbol) {
     ans = simplify(DivideSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      ((((expr)->u.listsxp.cdrval))->u.listsxp.carval));
     Rf_unprotect(1);
 }
 else if (((expr)->u.listsxp.carval) == CosSymbol) {
     ans = simplify(TimesSymbol,
      PP(simplify(SinSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),
      PP(simplify(MinusSymbol,PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)), R_MissingArg)));
     Rf_unprotect(3);
 }
 else if (((expr)->u.listsxp.carval) == SinSymbol) {
     ans = simplify(TimesSymbol,
      PP(simplify(CosSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)));
     Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == TanSymbol) {
     ans = simplify(DivideSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(PowerSymbol,PP(simplify(CosSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),PP(Constant(2.0)))));


     Rf_unprotect(4);
 }
 else if (((expr)->u.listsxp.carval) == CoshSymbol) {
     ans = simplify(TimesSymbol,
      PP(simplify(SinhSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)));
     Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == SinhSymbol) {
     ans = simplify(TimesSymbol,
      PP(simplify(CoshSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var))),
  Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == TanhSymbol) {
     ans = simplify(DivideSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(PowerSymbol,PP(simplify(CoshSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),PP(Constant(2.0)))));


     Rf_unprotect(4);
 }
 else if (((expr)->u.listsxp.carval) == SqrtSymbol) {
     Rf_protect(expr1 = Rf_allocList(3));
     (((expr1)->sxpinfo.type)=(6));
     SETCAR(expr1, PowerSymbol);
     SETCADR(expr1, ((((expr)->u.listsxp.cdrval))->u.listsxp.carval));
     SETCADDR(expr1, Constant(0.5));
     ans = D(expr1, var);
     Rf_unprotect(1);
 }
 else if (((expr)->u.listsxp.carval) == PnormSymbol) {
     ans = simplify(TimesSymbol,
      PP(simplify(DnormSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)));
     Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == DnormSymbol) {
     ans = simplify(TimesSymbol,
      PP(simplify(MinusSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),
      PP(simplify(TimesSymbol,PP(simplify(DnormSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)),PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)))));


     Rf_unprotect(4);
 }
 else if (((expr)->u.listsxp.carval) == AsinSymbol) {
     ans = simplify(DivideSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(SqrtSymbol,PP(simplify(MinusSymbol,Constant(1.),PP(simplify(PowerSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),Constant(2.))))),R_MissingArg)));



     Rf_unprotect(4);
 }
 else if (((expr)->u.listsxp.carval) == AcosSymbol) {
     ans = simplify(MinusSymbol,
      PP(simplify(DivideSymbol,PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),PP(simplify(SqrtSymbol,PP(simplify(MinusSymbol,Constant(1.),PP(simplify(PowerSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),Constant(2.))))),R_MissingArg)))), R_MissingArg);






     Rf_unprotect(5);
 }
 else if (((expr)->u.listsxp.carval) == AtanSymbol) {
     ans = simplify(DivideSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(PlusSymbol,Constant(1.),PP(simplify(PowerSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),Constant(2.))))));

     Rf_unprotect(3);
 }
 else if (((expr)->u.listsxp.carval) == LGammaSymbol) {
     ans = simplify(TimesSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(DiGammaSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)));
     Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == GammaSymbol) {
     ans = simplify(TimesSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(TimesSymbol,expr,PP(simplify(DiGammaSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)))));


     Rf_unprotect(3);
 }
 else if (((expr)->u.listsxp.carval) == DiGammaSymbol) {
     ans = simplify(TimesSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(TriGammaSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval), R_MissingArg)));
     Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == TriGammaSymbol) {
     ans = simplify(TimesSymbol,
      PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
      PP(simplify(PsiSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),Rf_ScalarInteger(2))));
     Rf_unprotect(2);
 }
 else if (((expr)->u.listsxp.carval) == PsiSymbol) {
     if (Rf_length(expr) == 2){
  ans = simplify(TimesSymbol,
          PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
          PP(simplify(PsiSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),Rf_ScalarInteger(1))));
  Rf_unprotect(2);
     } else if (((((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))->sxpinfo.type) == 13 ||
         ((((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))->sxpinfo.type) == 14) {
  ans = simplify(TimesSymbol,
          PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
          PP(simplify(PsiSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),Rf_ScalarInteger(Rf_asInteger(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))+1))));


  Rf_unprotect(2);
     } else {
  ans = simplify(TimesSymbol,
          PP(D(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), var)),
          PP(simplify(PsiSymbol,((((expr)->u.listsxp.cdrval))->u.listsxp.carval),simplify(PlusSymbol, ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval), Rf_ScalarInteger(1)))));



  Rf_unprotect(2);
     }
 }

 else {
     SEXP u = Rf_deparse1(((expr)->u.listsxp.carval), 0, 0);
     Rf_error(dcgettext (((void *)0), "Function '%s' is not in the derivatives table", __LC_MESSAGES),
    Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (u)) + 1))[0]));
 }

 break;
    default:
 ans = Constant(R_NaReal);
    }
    return ans;



}

static int isPlusForm(SEXP expr)
{
    return ((expr)->sxpinfo.type) == 6
 && Rf_length(expr) == 3
 && ((expr)->u.listsxp.carval) == PlusSymbol;
}

static int isMinusForm(SEXP expr)
{
    return ((expr)->sxpinfo.type) == 6
 && Rf_length(expr) == 3
 && ((expr)->u.listsxp.carval) == MinusSymbol;
}

static int isTimesForm(SEXP expr)
{
    return ((expr)->sxpinfo.type) == 6
 && Rf_length(expr) == 3
 && ((expr)->u.listsxp.carval) == TimesSymbol;
}

static int isDivideForm(SEXP expr)
{
    return ((expr)->sxpinfo.type) == 6
 && Rf_length(expr) == 3
 && ((expr)->u.listsxp.carval) == DivideSymbol;
}

static int isPowerForm(SEXP expr)
{
    return (((expr)->sxpinfo.type) == 6
     && Rf_length(expr) == 3
     && ((expr)->u.listsxp.carval) == PowerSymbol);
}

static SEXP AddParens(SEXP expr)
{
    SEXP e;
    if (((expr)->sxpinfo.type) == 6) {
 e = ((expr)->u.listsxp.cdrval);
 while(e != R_NilValue) {
     SETCAR(e, AddParens(((e)->u.listsxp.carval)));
     e = ((e)->u.listsxp.cdrval);
 }
    }
    if (isPlusForm(expr)) {
 if (isPlusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADDR(expr, Rf_lang2(ParenSymbol, ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)));
 }
    }
    else if (isMinusForm(expr)) {
 if (isPlusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isMinusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADDR(expr, Rf_lang2(ParenSymbol, ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)));
 }
    }
    else if (isTimesForm(expr)) {
 if (isPlusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isMinusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))
     || isTimesForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isDivideForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADDR(expr, Rf_lang2(ParenSymbol, ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)));
 }
 if (isPlusForm(((((expr)->u.listsxp.cdrval))->u.listsxp.carval)) || isMinusForm(((((expr)->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADR(expr, Rf_lang2(ParenSymbol, ((((expr)->u.listsxp.cdrval))->u.listsxp.carval)));
 }
    }
    else if (isDivideForm(expr)) {
 if (isPlusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isMinusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))
     || isTimesForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isDivideForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADDR(expr, Rf_lang2(ParenSymbol, ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)));
 }
 if (isPlusForm(((((expr)->u.listsxp.cdrval))->u.listsxp.carval)) || isMinusForm(((((expr)->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADR(expr, Rf_lang2(ParenSymbol, ((((expr)->u.listsxp.cdrval))->u.listsxp.carval)));
 }
    }
    else if (isPowerForm(expr)) {
 if (isPowerForm(((((expr)->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADR(expr, Rf_lang2(ParenSymbol, ((((expr)->u.listsxp.cdrval))->u.listsxp.carval)));
 }
 if (isPlusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isMinusForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))
     || isTimesForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)) || isDivideForm(((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval))) {
     SETCADDR(expr, Rf_lang2(ParenSymbol, ((((((expr)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)));
 }
    }
    return expr;
}

SEXP __attribute__ ((visibility ("hidden"))) do_D(SEXP call, SEXP op, SEXP args, SEXP env)
{
    SEXP expr, var;
    Rf_checkArityCall(op,args,call);
    if ((((((args)->u.listsxp.carval))->sxpinfo.type) == 20)) expr = ((SEXP *) (((SEXPREC_ALIGN *) (((args)->u.listsxp.carval))) + 1))[0];
    else expr = ((args)->u.listsxp.carval);
    var = ((((args)->u.listsxp.cdrval))->u.listsxp.carval);
    if (!(((var)->sxpinfo.type) == 16) || Rf_length(var) < 1)
 Rf_error(dcgettext (((void *)0), "variable must be a character string", __LC_MESSAGES));
    if (Rf_length(var) > 1)
 Rf_warning(dcgettext (((void *)0), "only the first element is used as variable name", __LC_MESSAGES));
    var = Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (var)) + 1))[0]));
    InitDerivSymbols();
    Rf_protect(expr = D(expr, var));
    expr = AddParens(expr);
    Rf_unprotect(1);
    return expr;
}



static void InvalidExpression(char *where)
{
    Rf_error(dcgettext (((void *)0), "invalid expression in '%s'", __LC_MESSAGES), where);
}

static int equal(SEXP expr1, SEXP expr2)
{
    if (((expr1)->sxpinfo.type) == ((expr2)->sxpinfo.type)) {
 switch(((expr1)->sxpinfo.type)) {
 case 0:
     return 1;
 case 1:
     return expr1 == expr2;
 case 10:
 case 13:
     return ((int *) (((SEXPREC_ALIGN *) (expr1)) + 1))[0] == ((int *) (((SEXPREC_ALIGN *) (expr2)) + 1))[0];
 case 14:
     return ((double *) (((SEXPREC_ALIGN *) (expr1)) + 1))[0] == ((double *) (((SEXPREC_ALIGN *) (expr2)) + 1))[0];
 case 15:
     return ((Rcomplex *) (((SEXPREC_ALIGN *) (expr1)) + 1))[0].r == ((Rcomplex *) (((SEXPREC_ALIGN *) (expr2)) + 1))[0].r
  && ((Rcomplex *) (((SEXPREC_ALIGN *) (expr1)) + 1))[0].i == ((Rcomplex *) (((SEXPREC_ALIGN *) (expr2)) + 1))[0].i;
 case 6:
 case 2:
     return equal(((expr1)->u.listsxp.carval), ((expr2)->u.listsxp.carval))
  && equal(((expr1)->u.listsxp.cdrval), ((expr2)->u.listsxp.cdrval));
 default:
     InvalidExpression("equal");
 }
    }
    return 0;
}

static int Accumulate(SEXP expr, SEXP exprlist)
{
    SEXP e;
    int k;
    e = exprlist;
    k = 0;
    while(((e)->u.listsxp.cdrval) != R_NilValue) {
 e = ((e)->u.listsxp.cdrval);
 k = k + 1;
 if (equal(expr, ((e)->u.listsxp.carval)))
     return k;
    }
    SETCDR(e, Rf_cons((expr), (R_NilValue)));
    return k + 1;
}

static int Accumulate2(SEXP expr, SEXP exprlist)
{
    SEXP e;
    int k;
    e = exprlist;
    k = 0;
    while(((e)->u.listsxp.cdrval) != R_NilValue) {
 e = ((e)->u.listsxp.cdrval);
 k = k + 1;
    }
    SETCDR(e, Rf_cons((expr), (R_NilValue)));
    return k + 1;
}

static SEXP MakeVariable(int k, SEXP tag)
{
    char buf[64];
    snprintf(buf, 64, "%s%d", Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (tag)) + 1))[0]), k);
    return Rf_install(buf);
}

static int FindSubexprs(SEXP expr, SEXP exprlist, SEXP tag)
{
    SEXP e;
    int k;
    switch(((expr)->sxpinfo.type)) {
    case 1:
    case 10:
    case 13:
    case 14:
    case 15:
 return 0;
 break;
    case 2:
 if (Rf_inherits(expr, "expression"))
     return FindSubexprs(((expr)->u.listsxp.carval), exprlist, tag);
 else { InvalidExpression("FindSubexprs"); return -1 ; }
 break;
    case 6:
 if (((expr)->u.listsxp.carval) == Rf_install("(")) {
     return FindSubexprs(((((expr)->u.listsxp.cdrval))->u.listsxp.carval), exprlist, tag);
 }
 else {
     e = ((expr)->u.listsxp.cdrval);
     while(e != R_NilValue) {
  if ((k = FindSubexprs(((e)->u.listsxp.carval), exprlist, tag)) != 0)
      SETCAR(e, MakeVariable(k, tag));
  e = ((e)->u.listsxp.cdrval);
     }
     return Accumulate(expr, exprlist);
 }
 break;
    default:
 InvalidExpression("FindSubexprs");
 return -1 ;
    }
}

static int CountOccurrences(SEXP sym, SEXP lst)
{
    switch(((lst)->sxpinfo.type)) {
    case 1:
 return lst == sym;
    case 2:
    case 6:
 return CountOccurrences(sym, ((lst)->u.listsxp.carval))
     + CountOccurrences(sym, ((lst)->u.listsxp.cdrval));
    default:
 return 0;
    }
}

static SEXP Replace(SEXP sym, SEXP expr, SEXP lst)
{
    switch(((lst)->sxpinfo.type)) {
    case 1:
 if (lst == sym) return expr;
 else return lst;
    case 2:
    case 6:
 SETCAR(lst, Replace(sym, expr, ((lst)->u.listsxp.carval)));
 SETCDR(lst, Replace(sym, expr, ((lst)->u.listsxp.cdrval)));
 return lst;
    default:
 return lst;
    }
}

static SEXP CreateGrad(SEXP names)
{
    SEXP p, q, data, dim, dimnames;
    int i, n;
    n = Rf_length(names);
    Rf_protect(dimnames = Rf_lang3(R_NilValue, R_NilValue, R_NilValue));
    SETCAR(dimnames, Rf_install("list"));
    p = Rf_install("c");
    Rf_protect(q = Rf_allocList(n));
    SETCADDR(dimnames, Rf_lcons((p), (q)));
    Rf_unprotect(1);
    for(i = 0 ; i < n ; i++) {
 SETCAR(q, Rf_ScalarString(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i]));
 q = ((q)->u.listsxp.cdrval);
    }
    Rf_protect(dim = Rf_lang3(R_NilValue, R_NilValue, R_NilValue));
    SETCAR(dim, Rf_install("c"));
    SETCADR(dim, Rf_lang2(Rf_install("length"), Rf_install(".value")));
    SETCADDR(dim, Rf_ScalarInteger(Rf_length(names)));
    Rf_protect(data = Rf_ScalarReal(0.));
    Rf_protect(p = Rf_lang4(Rf_install("array"), data, dim, dimnames));
    p = Rf_lang3(Rf_install("<-"), Rf_install(".grad"), p);
    Rf_unprotect(4);
    return p;
}

static SEXP CreateHess(SEXP names)
{
    SEXP p, q, data, dim, dimnames;
    int i, n;
    n = Rf_length(names);
    Rf_protect(dimnames = Rf_lang4(R_NilValue, R_NilValue, R_NilValue, R_NilValue));
    SETCAR(dimnames, Rf_install("list"));
    p = Rf_install("c");
    Rf_protect(q = Rf_allocList(n));
    SETCADDR(dimnames, Rf_lcons((p), (q)));
    Rf_unprotect(1);
    for(i = 0 ; i < n ; i++) {
 SETCAR(q, Rf_ScalarString(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i]));
 q = ((q)->u.listsxp.cdrval);
    }
    SETCADDDR(dimnames, Rf_duplicate(((((((dimnames)->u.listsxp.cdrval))->u.listsxp.cdrval))->u.listsxp.carval)));
    Rf_protect(dim = Rf_lang4(R_NilValue, R_NilValue, R_NilValue,R_NilValue));
    SETCAR(dim, Rf_install("c"));
    SETCADR(dim, Rf_lang2(Rf_install("length"), Rf_install(".value")));
    SETCADDR(dim, Rf_ScalarInteger(Rf_length(names)));
    SETCADDDR(dim, Rf_ScalarInteger(Rf_length(names)));
    Rf_protect(data = Rf_ScalarReal(0.));
    Rf_protect(p = Rf_lang4(Rf_install("array"), data, dim, dimnames));
    p = Rf_lang3(Rf_install("<-"), Rf_install(".hessian"), p);
    Rf_unprotect(4);
    return p;
}

static SEXP DerivAssign(SEXP name, SEXP expr)
{
    SEXP ans, newname;
    Rf_protect(ans = Rf_lang3(Rf_install("<-"), R_NilValue, expr));
    Rf_protect(newname = Rf_ScalarString(name));
    SETCADR(ans, Rf_lang4(Rf_install("["), Rf_install(".grad"), R_MissingArg, newname));
    Rf_unprotect(2);
    return ans;
}

static SEXP lang5(SEXP s, SEXP t, SEXP u, SEXP v, SEXP w)
{
    Rf_protect(s);
    s = Rf_lcons((s), (Rf_list4(t, u, v, w)));
    Rf_unprotect(1);
    return s;
}

static SEXP HessAssign1(SEXP name, SEXP expr)
{
    SEXP ans, newname;
    Rf_protect(ans = Rf_lang3(Rf_install("<-"), R_NilValue, expr));
    Rf_protect(newname = Rf_ScalarString(name));
    SETCADR(ans, lang5(Rf_install("["), Rf_install(".hessian"), R_MissingArg,
         newname, newname));
    Rf_unprotect(2);
    return ans;
}

static SEXP HessAssign2(SEXP name1, SEXP name2, SEXP expr)
{
    SEXP ans, newname1, newname2;
    Rf_protect(newname1 = Rf_ScalarString(name1));
    Rf_protect(newname2 = Rf_ScalarString(name2));
    ans = Rf_lang3(Rf_install("<-"),
  lang5(Rf_install("["), Rf_install(".hessian"), R_MissingArg,
        newname1, newname2),
  Rf_lang3(Rf_install("<-"),
        lang5(Rf_install("["), Rf_install(".hessian"), R_MissingArg,
       newname2, newname1),
        expr));
    Rf_unprotect(2);
    return ans;
}



static SEXP AddGrad(void)
{
    SEXP ans;
    Rf_protect(ans = Rf_mkString("gradient"));
    Rf_protect(ans = Rf_lang3(Rf_install("attr"), Rf_install(".value"), ans));
    ans = Rf_lang3(Rf_install("<-"), ans, Rf_install(".grad"));
    Rf_unprotect(2);
    return ans;
}

static SEXP AddHess(void)
{
    SEXP ans;
    Rf_protect(ans = Rf_mkString("hessian"));
    Rf_protect(ans = Rf_lang3(Rf_install("attr"), Rf_install(".value"), ans));
    ans = Rf_lang3(Rf_install("<-"), ans, Rf_install(".hessian"));
    Rf_unprotect(2);
    return ans;
}

static SEXP Prune(SEXP lst)
{
    if (lst == R_NilValue)
 return lst;
    SETCDR(lst, Prune(((lst)->u.listsxp.cdrval)));
    if (((lst)->u.listsxp.carval) == R_MissingArg)
 return ((lst)->u.listsxp.cdrval);
    else return lst ;
}

SEXP __attribute__ ((visibility ("hidden"))) do_deriv(SEXP call, SEXP op, SEXP args, SEXP env)
{

    SEXP ans, ans2, expr, funarg, names, s;
    int f_index, *d_index, *d2_index;
    int i, j, k, nexpr, nderiv=0, hessian;
    SEXP exprlist, tag;
    Rf_checkArityCall(op,args,call);
    InitDerivSymbols();
    Rf_protect(exprlist = Rf_lcons((Rf_install("{")), (R_NilValue)));

    if ((((((args)->u.listsxp.carval))->sxpinfo.type) == 20))
 Rf_protect(expr = ((SEXP *) (((SEXPREC_ALIGN *) (((args)->u.listsxp.carval))) + 1))[0]);
    else Rf_protect(expr = ((args)->u.listsxp.carval));
    args = ((args)->u.listsxp.cdrval);

    names = ((args)->u.listsxp.carval);
    if (!(((names)->sxpinfo.type) == 16) || (nderiv = Rf_length(names)) < 1)
 Rf_error(dcgettext (((void *)0), "invalid variable names", __LC_MESSAGES));
    args = ((args)->u.listsxp.cdrval);

    funarg = ((args)->u.listsxp.carval);
    args = ((args)->u.listsxp.cdrval);

    tag = ((args)->u.listsxp.carval);
    if (!(((tag)->sxpinfo.type) == 16) || Rf_length(tag) < 1
 || Rf_length(((SEXP *) (((SEXPREC_ALIGN *) (tag)) + 1))[0]) < 1 || Rf_length(((SEXP *) (((SEXPREC_ALIGN *) (tag)) + 1))[0]) > 60)
 Rf_error(dcgettext (((void *)0), "invalid tag", __LC_MESSAGES));
    args = ((args)->u.listsxp.cdrval);

    hessian = Rf_asLogical(((args)->u.listsxp.carval));

    Rf_protect(ans = Rf_duplicate(expr));
    f_index = FindSubexprs(ans, exprlist, tag);
    d_index = (int*)R_alloc(nderiv, sizeof(int));
    if (hessian)
 d2_index = (int*)R_alloc((nderiv * (1 + nderiv))/2, sizeof(int));
    else d2_index = d_index;
    Rf_unprotect(1);
    for(i=0, k=0; i<nderiv ; i++) {
 Rf_protect(ans = Rf_duplicate(expr));
 Rf_protect(ans = D(ans, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i]))));
 ans2 = Rf_duplicate(ans);
 d_index[i] = FindSubexprs(ans, exprlist, tag);
 ans = Rf_duplicate(ans2);
 if (hessian) {
     for(j = i; j < nderiv; j++) {
  Rf_protect(ans2 = Rf_duplicate(ans));
  Rf_protect(ans2 = D(ans2, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[j]))));
  d2_index[k] = FindSubexprs(ans2, exprlist, tag);
  k++;
  Rf_unprotect(2);
     }
 }
 Rf_unprotect(2);
    }
    nexpr = Rf_length(exprlist) - 1;
    if (f_index) {
 Accumulate2(MakeVariable(f_index, tag), exprlist);
    }
    else {
 Rf_protect(ans = Rf_duplicate(expr));
 Accumulate2(expr, exprlist);
 Rf_unprotect(1);
    }
    Accumulate2(R_NilValue, exprlist);
    if (hessian) { Accumulate2(R_NilValue, exprlist); }
    for (i = 0, k = 0; i < nderiv ; i++) {
 if (d_index[i]) {
     Accumulate2(MakeVariable(d_index[i], tag), exprlist);
     if (hessian) {
  Rf_protect(ans = Rf_duplicate(expr));
  Rf_protect(ans = D(ans, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i]))));
  for (j = i; j < nderiv; j++) {
      if (d2_index[k]) {
   Accumulate2(MakeVariable(d2_index[k], tag), exprlist);
      } else {
   Rf_protect(ans2 = Rf_duplicate(ans));
   Rf_protect(ans2 = D(ans2, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[j]))));
   Accumulate2(ans2, exprlist);
   Rf_unprotect(2);
      }
      k++;
  }
  Rf_unprotect(2);
     }
 } else {
     Rf_protect(ans = Rf_duplicate(expr));
     Rf_protect(ans = D(ans, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i]))));
     Accumulate2(ans, exprlist);
     Rf_unprotect(2);
     if (hessian) {
  for (j = i; j < nderiv; j++) {
      if (d2_index[k]) {
   Accumulate2(MakeVariable(d2_index[k], tag), exprlist);
      } else {
   Rf_protect(ans2 = Rf_duplicate(ans));
   Rf_protect(ans2 = D(ans2, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[j]))));
   if(isZero(ans2)) Accumulate2(R_MissingArg, exprlist);
   else Accumulate2(ans2, exprlist);
   Rf_unprotect(2);
      }
      k++;
  }
     }
 }
    }
    Accumulate2(R_NilValue, exprlist);
    Accumulate2(R_NilValue, exprlist);
    if (hessian) { Accumulate2(R_NilValue, exprlist); }

    i = 0;
    ans = ((exprlist)->u.listsxp.cdrval);
    while (i < nexpr) {
 if (CountOccurrences(MakeVariable(i+1, tag), ((ans)->u.listsxp.cdrval)) < 2) {
     SETCDR(ans, Replace(MakeVariable(i+1, tag), ((ans)->u.listsxp.carval), ((ans)->u.listsxp.cdrval)));
     SETCAR(ans, R_MissingArg);
 }
 else SETCAR(ans, Rf_lang3(Rf_install("<-"), MakeVariable(i+1, tag), AddParens(((ans)->u.listsxp.carval))));
 i = i + 1;
 ans = ((ans)->u.listsxp.cdrval);
    }

    SETCAR(ans, Rf_lang3(Rf_install("<-"), Rf_install(".value"), AddParens(((ans)->u.listsxp.carval))));
    ans = ((ans)->u.listsxp.cdrval);

    SETCAR(ans, CreateGrad(names));
    ans = ((ans)->u.listsxp.cdrval);

    if (hessian) { SETCAR(ans, CreateHess(names)); ans = ((ans)->u.listsxp.cdrval); }

    for (i = 0; i < nderiv ; i++) {
 SETCAR(ans, DerivAssign(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i], AddParens(((ans)->u.listsxp.carval))));
 ans = ((ans)->u.listsxp.cdrval);
 if (hessian) {
     for (j = i; j < nderiv; j++) {
  if (((ans)->u.listsxp.carval) != R_MissingArg) {
      if (i == j) {
   SETCAR(ans, HessAssign1(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i],
      AddParens(((ans)->u.listsxp.carval))));
      } else {
   SETCAR(ans, HessAssign2(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i],
      ((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[j],
      AddParens(((ans)->u.listsxp.carval))));
      }
  }
  ans = ((ans)->u.listsxp.cdrval);
     }
 }
    }

    SETCAR(ans, AddGrad());
    ans = ((ans)->u.listsxp.cdrval);
    if (hessian) { SETCAR(ans, AddHess()); ans = ((ans)->u.listsxp.cdrval); }

    SETCAR(ans, Rf_install(".value"));

    SETCDR(exprlist, Prune(((exprlist)->u.listsxp.cdrval)));

    if (((funarg)->sxpinfo.type) == 10 && ((int *) (((SEXPREC_ALIGN *) (funarg)) + 1))[0]) {
 funarg = names;
    }

    if (((funarg)->sxpinfo.type) == 3)
    {
 s = Rf_allocSExp(3);
 SET_FORMALS(s, ((funarg)->u.closxp.formals));
 SET_CLOENV(s, ((funarg)->u.closxp.env));
 funarg = s;
 SET_BODY(funarg, exprlist);
    }
    else if ((((funarg)->sxpinfo.type) == 16)) {
 Rf_protect(names = Rf_duplicate(funarg));
 Rf_protect(funarg = Rf_allocSExp(3));
 Rf_protect(ans = Rf_allocList(Rf_length(names)));
 SET_FORMALS(funarg, ans);
 for(i = 0; i < Rf_length(names); i++) {
     SET_TAG(ans, Rf_install(Rf_translateChar(((SEXP *) (((SEXPREC_ALIGN *) (names)) + 1))[i])));
     SETCAR(ans, R_MissingArg);
     ans = ((ans)->u.listsxp.cdrval);
 }
 Rf_unprotect(3);
 SET_BODY(funarg, exprlist);
 SET_CLOENV(funarg, R_GlobalEnv);
    }
    else {
 funarg = Rf_allocVector(20, 1);
 SET_VECTOR_ELT(funarg, 0, exprlist);

    }
    Rf_unprotect(2);
    return funarg;
}
============================================================



Reply to: