

#include "BUILTIN.h"

#include "Nat.h"

#include "Char.h"

#include "NatConv.h"
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_3;
extern OBJ __ASeqConv_8;
extern OBJ _ASeqCompare_2(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_2;
extern OBJ _ASeqCompare_3(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_3;

#include "Denotation.h"
extern OBJ __ARelCmp_7;

#include "Int.h"

#include "Real.h"
extern OBJ _AName_2(OBJ);OBJ __AName_2; /* local */
extern OBJ _AName_3(OBJ);OBJ __AName_3; /* local? */
extern OBJ _AName_4(OBJ);OBJ __AName_4; /* no */
extern OBJ _AName_5(OBJ);OBJ __AName_5; /* var */
extern OBJ _AName_6(OBJ);OBJ __AName_6; /* var? */
extern OBJ _AName_7(OBJ);OBJ __AName_7; /* id */
extern OBJ _AName_8(OBJ,OBJ,OBJ);OBJ __AName_8; /* nameSet */
extern OBJ _AName_9(OBJ);OBJ __AName_9; /* nameSet? */
extern OBJ _AName_10(OBJ);OBJ __AName_10; /* insts */
extern OBJ _AName_11(OBJ);OBJ __AName_11; /* impDecl */
extern OBJ _AName_12(OBJ);OBJ __AName_12; /* struct */
extern OBJ _AName_13(OBJ,OBJ,OBJ);OBJ __AName_13; /* formParam */
extern OBJ _AName_14(OBJ);OBJ __AName_14; /* formParam? */
extern OBJ _AName_18(OBJ);OBJ __AName_18; /* sortPartName */
extern OBJ _AName_19(OBJ);OBJ __AName_19; /* sortPartName? */
extern OBJ _AName_20(OBJ);OBJ __AName_20; /* sortPN */
extern OBJ _AName_21(OBJ,OBJ,OBJ);OBJ __AName_21; /* extName */
extern OBJ _AName_22(OBJ);OBJ __AName_22; /* extName? */
extern OBJ _AName_23(OBJ);OBJ __AName_23; /* inst */
extern OBJ _AName_26(OBJ);OBJ __AName_26; /* intName */
extern OBJ _AName_27(OBJ);OBJ __AName_27; /* intName? */
extern OBJ _AName_28(OBJ);OBJ __AName_28; /* decl */
OBJ __AName_29; /* error */
extern OBJ _AName_30(OBJ);OBJ __AName_30; /* error? */
extern OBJ _AName_31(OBJ,OBJ);OBJ __AName_31; /* = */
extern OBJ _AName_32(OBJ,OBJ);OBJ __AName_32; /* < */
extern OBJ _AName_33(OBJ,OBJ);OBJ __AName_33; /* > */
extern OBJ _AName_34(OBJ);OBJ __AName_34; /* ` */
extern OBJ _AName_64(OBJ);OBJ __AName_64; /* TAG */
OBJ __AName_65; /* `'65 */
OBJ __AName_66; /* `'66 */
OBJ __AName_67; /* `'67 */
OBJ __AName_68; /* `'68 */
OBJ __AName_69; /* `'69 */
OBJ __AName_70; /* `'70 */
OBJ __AName_71; /* `'71 */
OBJ __AName_72; /* `'72 */
OBJ __AName_73; /* `'73 */
OBJ __AName_74; /* `'74 */
OBJ __AName_75; /* `'75 */
OBJ __AName_76; /* `'76 */

extern OBJ _AName_2(OBJ x1) /* local */
{OBJ r;
 PRDF(1,7,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AName_3(OBJ x1) /* local? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,7))){
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_4(OBJ x1) /* no */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,4))){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    DSPRDF(x1);
   }else{
    r=x4;
    FRPRD(x1,1);}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,7))){
   {OBJ x5=FLD(x1,1);
    if(EXPRD(x1,1)){
     r=x5;
     DSPRDF(x1);
    }else{
     r=x5;
     FRPRD(x1,1);}}
  }else{
   HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
 return r;}

extern OBJ _AName_5(OBJ x1) /* var */
{OBJ r;
 PRDF(1,6,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AName_6(OBJ x1) /* var? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,6))){
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_7(OBJ x1) /* id */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,6))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection id\'Name:name->nat");}
 return r;}

extern OBJ _AName_8(OBJ x1,OBJ x2,OBJ x3) /* nameSet */
{OBJ r;
 PRD(3,5,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AName_9(OBJ x1) /* nameSet? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,5))){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,3),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_10(OBJ x1) /* insts */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,5))){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    DSPRDF(x1);
   }else{
    COPY(x4,1);
    r=x4;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection insts\'Name:name->seq");}
 return r;}

extern OBJ _AName_11(OBJ x1) /* impDecl */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,4)||ISTGPRD(x1,5)||ISTGPRD(x1,2))){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    DSPRD(x1);
   }else{
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection impDecl\'Name:name->impDecl");}
 return r;}

extern OBJ _AName_12(OBJ x1) /* struct */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,4)||ISTGPRD(x1,5)||ISTGPRD(x1,2))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRD(x1);
   }else{
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection struct\'Name:name->struct");}
 return r;}

extern OBJ _AName_13(OBJ x1,OBJ x2,OBJ x3) /* formParam */
{OBJ r;
 PRDF(3,4,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AName_14(OBJ x1) /* formParam? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,4))){
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_18(OBJ x1) /* sortPartName */
{OBJ r;
 PRD(1,3,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AName_19(OBJ x1) /* sortPartName? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,3))){
  if(EXPRD(x1,1)){
   FRPRD(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_20(OBJ x1) /* sortPN */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,3))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    CPPRD(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection sortPN\'Name:name->sortPN");}
 return r;}

extern OBJ _AName_21(OBJ x1,OBJ x2,OBJ x3) /* extName */
{OBJ r;
 PRDF(3,2,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AName_22(OBJ x1) /* extName? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_23(OBJ x1) /* inst */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    DSPRDF(x1);
   }else{
    r=x4;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}
 return r;}

extern OBJ _AName_26(OBJ x1) /* intName */
{OBJ r;
 PRDF(1,1,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AName_27(OBJ x1) /* intName? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_28(OBJ x1) /* decl */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Name at <unknown> : undefined selection decl\'Name:name->decl");}
 return r;}

extern OBJ _AName_30(OBJ x1) /* error? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AName_31(OBJ x1,OBJ x2) /* = */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__ABUILTIN_5;
  }else{
   FREE(x2,1);
   r=__ABUILTIN_3;}
 }else{
  switch(TGPRD(x1)){
   case 2:
    {OBJ x967=FLD(x1,1);OBJ x968=FLD(x1,2);OBJ x969=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,2))){
      {OBJ x970=FLD(x2,1);OBJ x971=FLD(x2,2);OBJ x972=FLD(x2,3);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       {OBJ x975;
	ANat_76(x967,x970,x975);
	if(ISTGPRM(x975,1)){
	 {OBJ x976;
	  ANat_76(x968,x971,x976);
	  if(ISTGPRM(x976,1)){
	   ANat_76(x969,x972,r);
	  }else{
	   r=__ABUILTIN_3;}}
	}else{
	 r=__ABUILTIN_3;}}}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_3;}}break;
   case 3:
    {OBJ x977=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      CPPRD(x977,1);
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,3))){
      {OBJ x978=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	CPPRD(x978,1);
	FRPRD(x2,1);}
       {OBJ x979=FLD1(x977,1);
	if(EXPRD(x977,1)){
	 FREE(FLD1(x977,2),1);DSPRDF(x977);
	}else{
	 FRPRD(x977,1);}
	{OBJ x981=FLD1(x978,1);
	 if(EXPRD(x978,1)){
	  FREE(FLD1(x978,2),1);DSPRDF(x978);
	 }else{
	  FRPRD(x978,1);}
	 ANat_76(x979,x981,r);}}}
     }else{
      FREE(x2,1);
      FRPRD(x977,1);
      r=__ABUILTIN_3;}}break;
   case 4:
    {OBJ x983=FLD(x1,1);OBJ x984=FLD(x1,2);OBJ x985=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,4))){
      {OBJ x986=FLD(x2,1);OBJ x987=FLD(x2,2);OBJ x988=FLD(x2,3);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       {OBJ x989;
	ANat_76(x985,x988,x989);
	if(ISTGPRM(x989,1)){
	 {OBJ x992;
	  ANat_76(x983,x986,x992);
	  if(ISTGPRM(x992,1)){
	   ANat_76(x984,x987,r);
	  }else{
	   r=__ABUILTIN_3;}}
	}else{
	 r=__ABUILTIN_3;}}}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_3;}}break;
   case 6:
    {OBJ x993=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,6))){
      {OBJ x994=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       ANat_76(x993,x994,r);}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_3;}}break;
   case 7:
    {OBJ x995=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,7))){
      {OBJ x996=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       ANat_76(x995,x996,r);}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_3;}}break;
   case 5:
    {OBJ x1027=FLD(x1,1);OBJ x1028=FLD(x1,2);OBJ x1029=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      COPY(x1029,1);
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,5))){
      {OBJ x1053=FLD(x2,1);OBJ x1054=FLD(x2,2);OBJ x1055=FLD(x2,3);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	COPY(x1055,1);
	FRPRD(x2,1);}
       {OBJ x1058;
	ANat_76(x1027,x1053,x1058);
	if(ISTGPRM(x1058,1)){
	 {OBJ x1059;
	  ANat_76(x1028,x1054,x1059);
	  if(ISTGPRM(x1059,1)){
	   CPCLS(__AName_31,1);
	   r=_ASeqCompare_3(__AName_31,x1029,x1055);
	  }else{
	   FREE(x1029,1);
	   FREE(x1055,1);
	   r=__ABUILTIN_3;}}
	}else{
	 FREE(x1029,1);
	 FREE(x1055,1);
	 r=__ABUILTIN_3;}}}
     }else{
      FREE(x2,1);
      FREE(x1029,1);
      r=__ABUILTIN_3;}}break;
   default: 
    {OBJ x965=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,1))){
      {OBJ x966=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       ANat_76(x965,x966,r);}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_3;}}}}
 return r;}

extern OBJ _AName_32(OBJ x1,OBJ x2) /* < */
{OBJ r;
 {OBJ x30;OBJ x16;OBJ x31;
  if(ISPRM(x2)){
   x30=__ANat_8;
  }else{
   switch(TGPRD(x2)){
    case 5:
     x30=__ANat_13;break;
    case 6:
     x30=__ANat_14;break;
    case 7:
     x30=__ANat_15;break;
    case 4:
     x30=__ANat_12;break;
    case 1:
     x30=__ANat_9;break;
    case 2:
     x30=__ANat_10;break;
    default: 
     x30=__ANat_11;}}
  if(ISPRM(x1)){
   x16=__ANat_8;
  }else{
   switch(TGPRD(x1)){
    case 5:
     x16=__ANat_13;break;
    case 6:
     x16=__ANat_14;break;
    case 7:
     x16=__ANat_15;break;
    case 4:
     x16=__ANat_12;break;
    case 1:
     x16=__ANat_9;break;
    case 2:
     x16=__ANat_10;break;
    default: 
     x16=__ANat_11;}}
  ANat_80(x16,x30,x31);
  if(ISTGPRM(x31,1)){
   FREE(x1,1);
   FREE(x2,1);
   r=__ABUILTIN_5;
  }else{
   {OBJ x32;
    ANat_81(x16,x30,x32);
    if(ISTGPRM(x32,1)){
     FREE(x1,1);
     FREE(x2,1);
     r=__ABUILTIN_3;
    }else{
     if(ISPRM(x1)){
      FREE(x2,1);
      r=__ABUILTIN_3;
     }else{
      switch(TGPRD(x1)){
       case 2:
	{OBJ x738=FLD(x1,1);OBJ x739=FLD(x1,2);OBJ x740=FLD(x1,3);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  FRPRD(x1,1);}
	 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
	  {OBJ x742=FLD(x2,1);OBJ x743=FLD(x2,2);OBJ x744=FLD(x2,3);
	   if(EXPRD(x2,1)){
	    DSPRDF(x2);
	   }else{
	    FRPRD(x2,1);}
	   {OBJ x746;
	    ANat_80(x739,x743,x746);
	    if(ISTGPRM(x746,1)){
	     r=__ABUILTIN_5;
	    }else{
	     {OBJ x747;
	      ANat_81(x739,x743,x747);
	      if(ISTGPRM(x747,1)){
	       r=__ABUILTIN_3;
	      }else{
	       {OBJ x748;
		ANat_80(x740,x744,x748);
		if(ISTGPRM(x748,1)){
		 r=__ABUILTIN_5;
		}else{
		 {OBJ x749;
		  ANat_81(x740,x744,x749);
		  if(ISTGPRM(x749,1)){
		   r=__ABUILTIN_3;
		  }else{
		   ANat_80(x738,x742,r);}}}}}}}}}
	 }else{
	  if(ISPRD(x2)&&(ISTGPRD(x2,5)||ISTGPRD(x2,4))){
	   {OBJ x751=FLD(x2,2);
	    if(EXPRD(x2,1)){
	     DSPRD(x2);
	    }else{
	     FRPRD(x2,1);}
	    {OBJ x754;
	     ANat_80(x739,x751,x754);
	     if(ISTGPRM(x754,1)){
	      r=__ABUILTIN_5;
	     }else{
	      {OBJ x755;
	       ANat_81(x739,x751,x755);
	       if(ISTGPRM(x755,1)){
		r=__ABUILTIN_3;
	       }else{
		HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}}}}
	  }else{
	   HLT("Name at <unknown> : undefined selection struct\'Name:name->struct");}}}break;
       case 3:
	{OBJ x762=FLD(x1,1);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  CPPRD(x762,1);
	  FRPRD(x1,1);}
	 if(ISPRD(x2)&&(ISTGPRD(x2,3))){
	  {OBJ x763=FLD(x2,1);
	   if(EXPRD(x2,1)){
	    DSPRDF(x2);
	   }else{
	    CPPRD(x763,1);
	    FRPRD(x2,1);}
	   {OBJ x764=FLD1(x762,1);
	    if(EXPRD(x762,1)){
	     FREE(FLD1(x762,2),1);DSPRDF(x762);
	    }else{
	     FRPRD(x762,1);}
	    {OBJ x766=FLD1(x763,1);
	     if(EXPRD(x763,1)){
	      FREE(FLD1(x763,2),1);DSPRDF(x763);
	     }else{
	      FRPRD(x763,1);}
	     ANat_80(x764,x766,r);}}}
	 }else{
	  HLT("Name at <unknown> : undefined selection sortPN\'Name:name->sortPN");}}break;
       case 4:
	{OBJ x768=FLD(x1,1);OBJ x769=FLD(x1,2);OBJ x770=FLD(x1,3);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  FRPRD(x1,1);}
	 if(ISPRD(x2)&&(ISTGPRD(x2,5)||ISTGPRD(x2,2))){
	  {OBJ x772=FLD(x2,1);OBJ x773=FLD(x2,2);
	   if(EXPRD(x2,1)){
	    DSPRD(x2);
	   }else{
	    FRPRD(x2,1);}
	   {OBJ x776;
	    ANat_80(x769,x773,x776);
	    if(ISTGPRM(x776,1)){
	     r=__ABUILTIN_5;
	    }else{
	     {OBJ x777;
	      ANat_81(x769,x773,x777);
	      if(ISTGPRM(x777,1)){
	       r=__ABUILTIN_3;
	      }else{
	       {OBJ x778;
		ANat_80(x768,x772,x778);
		if(ISTGPRM(x778,1)){
		 r=__ABUILTIN_5;
		}else{
		 {OBJ x779;
		  ANat_81(x768,x772,x779);
		  if(ISTGPRM(x779,1)){
		   r=__ABUILTIN_3;
		  }else{
		   HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}}}}}}}}
	 }else{
	  if(ISPRD(x2)&&(ISTGPRD(x2,4))){
	   {OBJ x780=FLD(x2,1);OBJ x781=FLD(x2,2);OBJ x782=FLD(x2,3);
	    if(EXPRD(x2,1)){
	     DSPRDF(x2);
	    }else{
	     FRPRD(x2,1);}
	    {OBJ x784;
	     ANat_80(x769,x781,x784);
	     if(ISTGPRM(x784,1)){
	      r=__ABUILTIN_5;
	     }else{
	      {OBJ x785;
	       ANat_81(x769,x781,x785);
	       if(ISTGPRM(x785,1)){
		r=__ABUILTIN_3;
	       }else{
		{OBJ x786;
		 ANat_80(x768,x780,x786);
		 if(ISTGPRM(x786,1)){
		  r=__ABUILTIN_5;
		 }else{
		  {OBJ x787;
		   ANat_81(x768,x780,x787);
		   if(ISTGPRM(x787,1)){
		    r=__ABUILTIN_3;
		   }else{
		    ANat_80(x770,x782,r);}}}}}}}}}
	  }else{
	   HLT("Name at <unknown> : undefined selection struct\'Name:name->struct");}}}break;
       case 5:
	{OBJ x796=FLD(x1,1);OBJ x797=FLD(x1,2);OBJ x798=FLD(x1,3);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  COPY(x798,1);
	  FRPRD(x1,1);}
	 if(ISPRD(x2)&&(ISTGPRD(x2,4)||ISTGPRD(x2,2))){
	  {OBJ x800=FLD(x2,1);OBJ x801=FLD(x2,2);
	   if(EXPRD(x2,1)){
	    DSPRD(x2);
	   }else{
	    FRPRD(x2,1);}
	   FREE(x798,1);
	   {OBJ x804;
	    ANat_80(x797,x801,x804);
	    if(ISTGPRM(x804,1)){
	     r=__ABUILTIN_5;
	    }else{
	     {OBJ x805;
	      ANat_81(x797,x801,x805);
	      if(ISTGPRM(x805,1)){
	       r=__ABUILTIN_3;
	      }else{
	       {OBJ x806;
		ANat_80(x796,x800,x806);
		if(ISTGPRM(x806,1)){
		 r=__ABUILTIN_5;
		}else{
		 {OBJ x807;
		  ANat_81(x796,x800,x807);
		  if(ISTGPRM(x807,1)){
		   r=__ABUILTIN_3;
		  }else{
		   HLT("Name at <unknown> : undefined selection insts\'Name:name->seq");}}}}}}}}}
	 }else{
	  if(ISPRD(x2)&&(ISTGPRD(x2,5))){
	   {OBJ x816=FLD(x2,1);OBJ x817=FLD(x2,2);OBJ x818=FLD(x2,3);
	    if(EXPRD(x2,1)){
	     DSPRDF(x2);
	    }else{
	     COPY(x818,1);
	     FRPRD(x2,1);}
	    {OBJ x820;
	     ANat_80(x797,x817,x820);
	     if(ISTGPRM(x820,1)){
	      FREE(x798,1);
	      FREE(x818,1);
	      r=__ABUILTIN_5;
	     }else{
	      {OBJ x821;
	       ANat_81(x797,x817,x821);
	       if(ISTGPRM(x821,1)){
		FREE(x798,1);
		FREE(x818,1);
		r=__ABUILTIN_3;
	       }else{
		{OBJ x822;
		 ANat_80(x796,x816,x822);
		 if(ISTGPRM(x822,1)){
		  FREE(x798,1);
		  FREE(x818,1);
		  r=__ABUILTIN_5;
		 }else{
		  {OBJ x823;
		   ANat_81(x796,x816,x823);
		   if(ISTGPRM(x823,1)){
		    FREE(x798,1);
		    FREE(x818,1);
		    r=__ABUILTIN_3;
		   }else{
		    CPCLS(__AName_32,1);
		    CPCLS(__ARelCmp_7,1);
		    {OBJ x824;
		     x824=_ASeqCompare_2(__AName_32,x798,x818);
		     r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ARelCmp_7,1))(__ARelCmp_7,x824);}}}}}}}}}}
	  }else{
	   HLT("Name at <unknown> : undefined selection struct\'Name:name->struct");}}}break;
       case 6:
	{OBJ x825=FLD(x1,1);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  FRPRD(x1,1);}
	 if(ISPRD(x2)&&(ISTGPRD(x2,6))){
	  {OBJ x826=FLD(x2,1);
	   if(EXPRD(x2,1)){
	    DSPRDF(x2);
	   }else{
	    FRPRD(x2,1);}
	   ANat_80(x825,x826,r);}
	 }else{
	  HLT("Name at <unknown> : undefined selection id\'Name:name->nat");}}break;
       case 7:
	{OBJ x827=FLD(x1,1);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  FRPRD(x1,1);}
	 {OBJ x832;
	  if(ISPRD(x2)&&(ISTGPRD(x2,4))){
	   {OBJ x830=FLD(x2,3);
	    if(EXPRD(x2,1)){
	     x832=x830;
	     DSPRDF(x2);
	    }else{
	     x832=x830;
	     FRPRD(x2,1);}}
	  }else{
	   if(ISPRD(x2)&&(ISTGPRD(x2,7))){
	    {OBJ x831=FLD(x2,1);
	     if(EXPRD(x2,1)){
	      x832=x831;
	      DSPRDF(x2);
	     }else{
	      x832=x831;
	      FRPRD(x2,1);}}
	   }else{
	    HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	  ANat_80(x827,x832,r);}}break;
       default: 
	{OBJ x736=FLD(x1,1);
	 if(EXPRD(x1,1)){
	  DSPRDF(x1);
	 }else{
	  FRPRD(x1,1);}
	 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
	  {OBJ x737=FLD(x2,1);
	   if(EXPRD(x2,1)){
	    DSPRDF(x2);
	   }else{
	    FRPRD(x2,1);}
	   ANat_80(x736,x737,r);}
	 }else{
	  HLT("Name at <unknown> : undefined selection decl\'Name:name->decl");}}}}}}}}
 return r;}

extern OBJ _AName_33(OBJ x1,OBJ x2) /* > */
{OBJ r;
 r=_AName_32(x2,x1);
 return r;}

extern OBJ _AName_34(OBJ x1) /* ` */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__AName_76,1);
  r=__AName_76;
 }else{
  switch(TGPRD(x1)){
   case 5:
    {OBJ x384=FLD(x1,1);OBJ x385=FLD(x1,2);OBJ x386=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      COPY(x386,1);
      FRPRD(x1,1);}
     CPCLS(__AName_34,1);
     CPPRD(__AName_65,1);
     CPPRD(__AName_66,1);
     CPPRD(__AName_68,1);
     CPPRD(__AName_69,1);
     CPPRD(__AName_70,1);
     CPPRD(__ASeqConv_8,3);
     {OBJ x387;OBJ x388;OBJ x389;OBJ x390;OBJ x391;OBJ x392;OBJ x393;OBJ x394;OBJ x395;
      x387=_ASeqConv_3(__AName_68,__ASeqConv_8,__AName_69,__AName_34,x386);
      ANatConv_1(x385,x388);
      ANatConv_1(x384,x389);
      ADenotation_4(x387,__AName_65,x390);
      ADenotation_4(__ASeqConv_8,x390,x391);
      ADenotation_4(x388,x391,x392);
      ADenotation_4(__ASeqConv_8,x392,x393);
      ADenotation_4(x389,x393,x394);
      ADenotation_4(__AName_66,x394,x395);
      ADenotation_4(__AName_70,x395,r);}}break;
   case 6:
    {OBJ x396=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPPRD(__AName_65,1);
     CPPRD(__AName_66,1);
     CPPRD(__AName_71,1);
     {OBJ x397;OBJ x398;OBJ x399;
      ANatConv_1(x396,x397);
      ADenotation_4(x397,__AName_65,x398);
      ADenotation_4(__AName_66,x398,x399);
      ADenotation_4(__AName_71,x399,r);}}break;
   case 7:
    {OBJ x400=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPPRD(__AName_65,1);
     CPPRD(__AName_66,1);
     CPPRD(__AName_72,1);
     {OBJ x401;OBJ x402;OBJ x403;
      ANatConv_1(x400,x401);
      ADenotation_4(x401,__AName_65,x402);
      ADenotation_4(__AName_66,x402,x403);
      ADenotation_4(__AName_72,x403,r);}}break;
   case 4:
    {OBJ x404=FLD(x1,1);OBJ x405=FLD(x1,2);OBJ x406=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPPRD(__AName_65,1);
     CPPRD(__AName_66,1);
     CPPRD(__AName_73,1);
     CPPRD(__ASeqConv_8,2);
     {OBJ x408;OBJ x409;OBJ x410;OBJ x411;OBJ x412;OBJ x413;OBJ x414;OBJ x415;OBJ x416;
      ANatConv_1(x406,x408);
      ANatConv_1(x405,x409);
      ANatConv_1(x404,x410);
      ADenotation_4(x408,__AName_65,x411);
      ADenotation_4(__ASeqConv_8,x411,x412);
      ADenotation_4(x409,x412,x413);
      ADenotation_4(__ASeqConv_8,x413,x414);
      ADenotation_4(x410,x414,x415);
      ADenotation_4(__AName_66,x415,x416);
      ADenotation_4(__AName_73,x416,r);}}break;
   case 1:
    {OBJ x417=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPPRD(__AName_65,1);
     CPPRD(__AName_66,1);
     CPPRD(__AName_74,1);
     {OBJ x418;OBJ x419;OBJ x420;
      ANatConv_1(x417,x418);
      ADenotation_4(x418,__AName_65,x419);
      ADenotation_4(__AName_66,x419,x420);
      ADenotation_4(__AName_74,x420,r);}}break;
   case 2:
    {OBJ x421=FLD(x1,1);OBJ x422=FLD(x1,2);OBJ x423=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPPRD(__AName_65,1);
     CPPRD(__AName_66,1);
     CPPRD(__AName_75,1);
     CPPRD(__ASeqConv_8,2);
     {OBJ x424;OBJ x425;OBJ x426;OBJ x427;OBJ x428;OBJ x429;OBJ x430;OBJ x431;OBJ x432;
      ANatConv_1(x421,x424);
      ANatConv_1(x422,x425);
      ANatConv_1(x423,x426);
      ADenotation_4(x426,__AName_65,x427);
      ADenotation_4(__ASeqConv_8,x427,x428);
      ADenotation_4(x425,x428,x429);
      ADenotation_4(__ASeqConv_8,x429,x430);
      ADenotation_4(x424,x430,x431);
      ADenotation_4(__AName_66,x431,x432);
      ADenotation_4(__AName_75,x432,r);}}break;
   default: 
    {OBJ x378=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      CPPRD(x378,1);
      FRPRD(x1,1);}
     {OBJ x379=FLD1(x378,1);
      if(EXPRD(x378,1)){
       FREE(FLD1(x378,2),1);DSPRDF(x378);
      }else{
       FRPRD(x378,1);}
      CPPRD(__AName_65,1);
      CPPRD(__AName_66,1);
      CPPRD(__AName_67,1);
      {OBJ x381;OBJ x382;OBJ x383;
       ANatConv_1(x379,x381);
       ADenotation_4(x381,__AName_65,x382);
       ADenotation_4(__AName_66,x382,x383);
       ADenotation_4(__AName_67,x383,r);}}}}}
 return r;}

extern OBJ _AName_64(OBJ x1) /* TAG */
{OBJ r;
 if(ISPRM(x1)){
  r=__ANat_8;
 }else{
  switch(TGPRD(x1)){
   case 5:
    if(EXPRD(x1,1)){
     FREE(FLD(x1,3),1);DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_13;break;
   case 6:
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_14;break;
   case 7:
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_15;break;
   case 4:
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_12;break;
   case 1:
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_9;break;
   case 2:
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_10;break;
   default: 
    if(EXPRD(x1,1)){
     FRPRD(FLD(x1,1),1);DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ANat_11;}}
 return r;}


init_AName()
{
 static int visited=0; if(visited) return; visited=1;
 init_AObjects();
 init_AFct();
 init_ASeq();
 init_ANat();
 init_AOption();
 init_AOcPos();
 init_AChar();
 init_ANatConv();
 init_ASeqConv();
 init_ASeqCompare();
 init_ADenotation();
 init_ARelCmp();
 init_AString();
 init_AInt();
 init_AReal();
 CLS(2,_AName_31,__AName_31);
 CLS(1,_AName_30,__AName_30);
 CLS(1,_AName_28,__AName_28);
 CLS(1,_AName_27,__AName_27);
 CLS(1,_AName_26,__AName_26);
 CLS(1,_AName_23,__AName_23);
 CLS(1,_AName_22,__AName_22);
 CLS(3,_AName_21,__AName_21);
 CLS(1,_AName_20,__AName_20);
 CLS(1,_AName_19,__AName_19);
 CLS(1,_AName_18,__AName_18);
 CLS(1,_AName_14,__AName_14);
 CLS(3,_AName_13,__AName_13);
 DEN("error",__AName_76);
 CLS(1,_AName_12,__AName_12);
 DEN("extName",__AName_75);
 CLS(1,_AName_11,__AName_11);
 DEN("intName",__AName_74);
 CLS(1,_AName_10,__AName_10);
 DEN("formParam",__AName_73);
 CLS(1,_AName_9,__AName_9);
 DEN("local",__AName_72);
 CLS(3,_AName_8,__AName_8);
 DEN("var",__AName_71);
 CLS(1,_AName_7,__AName_7);
 DEN("nameSet",__AName_70);
 CLS(1,_AName_6,__AName_6);
 DEN("]",__AName_69);
 CLS(1,_AName_5,__AName_5);
 DEN("[",__AName_68);
 CLS(1,_AName_4,__AName_4);
 DEN("sortPN",__AName_67);
 CLS(1,_AName_3,__AName_3);
 DEN("(",__AName_66);
 CLS(1,_AName_2,__AName_2);
 CLS(1,_AName_34,__AName_34);
 DEN(")",__AName_65);
 CLS(2,_AName_33,__AName_33);
 CLS(2,_AName_32,__AName_32);
 CLS(1,_AName_64,__AName_64);
 PRM1(__AName_29);}

