#include  "impstrings.h"
/* record format... */

typedef struct RF {
int i;
double r;
} rf;

extern int XI1;
extern int *XIN1;
extern float XR1;
extern int XI2, XI3;
extern float XCR1;
extern float XRA1[(9) - (0) + 1];
extern float *XRAN1;
extern double XCLR1;
extern double XLRA1[(9) - (0) + 1];
extern double *XLRAN1;
extern int *XINA1[(9) - (0) + 1];
extern int **XINAN1;
extern _imp_string82 XS1;
extern _imp_string **XSN1;
extern _imp_string82 XSA1[(7) - (4) + 1];
extern _imp_string **XSAN1;
extern _imp_string82 *XSNA1[(7) - (4) + 1];
extern _imp_string ***XSNAN1;
extern rf XREC1;
extern rf *XRECN1;
extern rf XRECA1[(3) - (2) + 1];
extern rf *XRECAN1;
extern rf *XRECNA1[(3) - (2) + 1];
extern rf **XRECNAN1;

extern int IFN1 ( void ) {      /* function... */
return XI1;
}

extern int *IMAP1 ( void ) {    /* map... */
return &XI1;
}

extern void RT1 ( void ) {      /* routine... */
int I1;
auto void RT1 ( void ) {        /* routine... */

}

}

extern int TEST1 ( void ) {     /* predicate... */
return 1;
}

int XI1;

int main (int argc, char **argv) {
auto int *IMAP1 ( void ) /* map... */ ;
int I1;
int *IN1;
short SI1;
short *SIN1;
char BI1;
char *BIN1;
float R1;

// reals long
double QR1;

// reals normal
const float CR1;
double LR1;
const double CLR1;

auto int IFN1 ( void ) {      /* function... */
return I1;
}

auto int *IMAP1 ( void ) {    /* map... */
return &I1;
}

auto void RT1 ( void ) {      /* routine... */
int I1;
int LOCAL1;
auto void RT1 ( void ) {      /* routine... */
int LOCAL1;

LOCAL1 = 1;
I1 = 1;
}
LOCAL1 = 2;
I1 = 2;
}

auto int TEST1 ( void ) {     /* predicate... */
return 0;
}

float RA1[(9) - (0) + 1], RA1B[(9) - (0) + 1];
float RA2[(19) - (10) + 1], RA2B[(19) - (10) + 1];
float *RAN1;
float *RAN2;
double LRA1[(9) - (0) + 1], LRA1B[(9) - (0) + 1];
double LRA2[(19) - (10) + 1], LRA2B[(19) - (10) + 1];
double *LRAN1;
double *LRAN2;
int *INA1[(9) - (0) + 1], *INA1B[(9) - (0) + 1];
int *INA2[(19) - (10) + 1], *INA2B[(19) - (10) + 1];
int **INAN1;
int **INAN2;
_imp_string82 S1;
_imp_string82 S2;
_imp_string **SN1;
_imp_string **SN2;
_imp_string82 SA1[(7) - (4) + 1], SA1B[(7) - (4) + 1];
_imp_string82 SA2[(10) - (9) + 1], SA2B[(10) - (9) + 1];
_imp_string82 SA3[(100) - (1) + 1];
_imp_string **SAN1;
_imp_string **SAN2;
_imp_string **SAN3;
_imp_string82 *SNA1[(7) - (4) + 1], *SNA2[(7) - (4) + 1];
_imp_string82 *SNA3[(2) - (1) + 1];
_imp_string ***SNAN1;
_imp_string ***SNAN2;
rf  REC1;
rf  REC2;
rf *RECN1;
rf *RECN2;
rf  RECA1[(3) - (2) + 1], RECA2[(3) - (2) + 1];
rf  RECA3[(5) - (4) + 1];
rf *RECAN1;
rf *RECAN2;
rf *RECNA1[(3) - (2) + 1], *RECNA2[(3) - (2) + 1];
rf *RECNA3[(2) - (1) + 1];
rf **RECNAN1;
rf **RECNAN2;
static int OI1;
static int *OIN1;
static float OR1;
static double OLR1;
static int OI2, OI3;
static float OCR1;
static double OCLR1;
static float ORA1[(9) - (0) + 1];
static float *ORAN1;
static double OLRA1[(9) - (0) + 1];
static double *OLRAN1;
static int *OINA1[(9) - (0) + 1];
static int **OINAN1;
static _imp_string82 OS1;
static _imp_string **OSN1;
static _imp_string82 OSA1[(7) - (4) + 1];
static _imp_string **OSAN1;
static _imp_string82 *OSNA1[(7) - (4) + 1];
static _imp_string ***OSNAN1;
static rf OREC1;
static rf *ORECN1;
static rf ORECA1[(3) - (2) + 1];
static rf *ORECAN1;
static rf *ORECNA1[(3) - (2) + 1];
static rf **ORECNAN1;
static void *SW1[(255) - (0) + 1] = { /* These need to be filled in from associated code block */  };
static void *SW2[('z') - ('a') + 1] = { /* These need to be filled in from associated code block */  };
int IA3[(10) - (1) + 1], IA4[(10) - (1) + 1];
int IA5[(11) - (2) + 1][(1) - (0) + 1][(2) - (0) + 1];
int *IN3A1[(11) - (2) + 1][(1) - (0) + 1][(2) - (0) + 1];

I1 = *IMAP1() + 1;
}
