
//#define LOOPS           2000000 
#ifdef REAL_PTV
#define LOOPS 5000
#else
#define LOOPS 200000
#endif

/* Для медленных машин можно использовать 500000 */

#define structassign(d, s)      d = s
#define TRUE    1
#define FALSE   0
#define REG

typedef enum  {Ident1, Ident2, Ident3, Ident4, Ident5} Enumeration;
typedef int OneToThirty;
typedef int OneToFifty;
typedef char  CapitalLetter;
typedef char  String30[31];
typedef int Array1Dim[51];
typedef int Array2Dim[51][51];

struct  Record
{
  Record        *PtrComp;
  Enumeration      Discr;
  Enumeration   EnumComp;
  OneToFifty     IntComp;
  String30    StringComp;
};

typedef Record     RecordType;
typedef RecordType *RecordPtr;
typedef int   boolean;

int dhrystone_10();
int dhrystone_11();

void Proc1( REG RecordPtr PtrParIn ) ;
void Proc2( OneToFifty *IntParIO );
void Proc3( RecordPtr *PtrParOut );
void Proc4();
void Proc5();
void Proc6( REG Enumeration EnumParIn, REG Enumeration *EnumParOut );
void Proc7( OneToFifty IntParI1, OneToFifty IntParI2, OneToFifty *IntParOut );
void Proc8( Array1Dim Array1Par,Array2Dim Array2Par,OneToFifty IntParI1, OneToFifty IntParI2 );

Enumeration Func1( CapitalLetter CharPar1, CapitalLetter CharPar2 );
boolean     Func2( String30 StrParI1, String30 StrParI2 );
boolean     Func3( REG Enumeration EnumParIn );

