

#include "BUILTIN.h"

#include "Bitset.h"
extern OBJ _AAnalyzedGlobSig_3(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_3;
extern OBJ _AAnalyzedGlobSig_8(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_8;
extern OBJ _AAnalyzedGlobSig_9(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_9;
extern OBJ _AAnalyzedGlobSig_12(OBJ);extern OBJ __AAnalyzedGlobSig_12;
extern OBJ __AInterOpal_19;
extern OBJ __AInterOpal_21;
extern OBJ __AInterOpal_27;
extern OBJ __AInterOpal_29;
extern OBJ _AInterOpal_314(OBJ,OBJ);extern OBJ __AInterOpal_314;
extern OBJ _AInterOpal_315(OBJ,OBJ);extern OBJ __AInterOpal_315;
extern OBJ _AName_32(OBJ,OBJ);extern OBJ __AName_32;
extern OBJ __AOption_5;
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;

#include "Nat.h"

#include "Array.h"
extern OBJ _AAGSig_8(OBJ,OBJ);extern OBJ __AAGSig_8;
extern OBJ _AAGSig_9(OBJ,OBJ);extern OBJ __AAGSig_9;
extern OBJ _AAGSig_14(OBJ,OBJ);extern OBJ __AAGSig_14;
extern OBJ _ABaseGeneration_6(OBJ,OBJ);extern OBJ __ABaseGeneration_6;
extern OBJ _ABaseGeneration_7(OBJ,OBJ,OBJ);extern OBJ __ABaseGeneration_7;
extern OBJ _ABaseGeneration_8(OBJ,OBJ,OBJ);extern OBJ __ABaseGeneration_8;
extern OBJ _ABaseGeneration_16(OBJ,OBJ);extern OBJ __ABaseGeneration_16;

#include "Char.h"
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;
extern OBJ _AMap_16(OBJ,OBJ,OBJ);extern OBJ __AMap_16;
extern OBJ _AMap_20(OBJ,OBJ,OBJ);extern OBJ __AMap_20;
extern OBJ _AMap_31(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_31;
extern OBJ _ASeqCompare_3(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_3;

#include "Denotation.h"
extern OBJ _ASet_39(OBJ,OBJ,OBJ);extern OBJ __ASet_39;
extern OBJ _ASet_41(OBJ,OBJ,OBJ);extern OBJ __ASet_41;
extern OBJ _AMapConv_4(OBJ,OBJ);extern OBJ __AMapConv_4;
extern OBJ _ASetConv_3(OBJ,OBJ);extern OBJ __ASetConv_3;

#include "NatConv.h"

#include "Real.h"
extern OBJ __ATree_7;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern OBJ _AAnalyzedGlobSigH_2(OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_2;

#include "Int.h"
extern TUP2 _ANameGeneration_1(OBJ,OBJ,OBJ);OBJ __ANameGeneration_1; /* name2Name */
extern TUP2 _ANameGeneration_2(OBJ,OBJ,OBJ);OBJ __ANameGeneration_2; /* name0Name */
extern TUP2 _ANameGeneration_3(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ANameGeneration_3; /* instOfAdd? */
extern TUP2 _ANameGeneration_4(OBJ,OBJ,OBJ);OBJ __ANameGeneration_4; /* local2Name */
extern TUP2 _ANameGeneration_5(OBJ,OBJ,OBJ);OBJ __ANameGeneration_5; /* internal2Name */
extern TUP2 _ANameGeneration_6(OBJ,OBJ,OBJ);OBJ __ANameGeneration_6; /* param2Name */
extern TUP2 _ANameGeneration_7(OBJ,OBJ,OBJ);OBJ __ANameGeneration_7; /* external2Name */
extern TUP2 _ANameGeneration_8(OBJ,OBJ,OBJ);OBJ __ANameGeneration_8; /* external0Name */
extern OBJ _ANameGeneration_11(OBJ,OBJ,OBJ);OBJ __ANameGeneration_11; /* createOriginStruct */
extern TUP2 _ANameGeneration_13(OBJ,OBJ,OBJ);OBJ __ANameGeneration_13; /* genInst */
extern OBJ _ANameGeneration_14(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ANameGeneration_14; /* instOf? */
extern OBJ _ANameGeneration_15(OBJ,OBJ);OBJ __ANameGeneration_15; /* lookupInst */
extern OBJ _ANameGeneration_16(OBJ,OBJ,OBJ);OBJ __ANameGeneration_16; /* addNewName */
extern OBJ _ANameGeneration_17(OBJ,OBJ);OBJ __ANameGeneration_17; /* checkName */
extern OBJ _ANameGeneration_18(OBJ,OBJ);OBJ __ANameGeneration_18; /* addNewName'18 */
extern OBJ _ANameGeneration_19(OBJ);OBJ __ANameGeneration_19; /* createOriginStruct'19 */
OBJ __ANameGeneration_20; /* instOfAdd?'20 */
OBJ __ANameGeneration_21; /* external2Name'21 */
OBJ __ANameGeneration_22; /* external2Name'22 */
extern OBJ _ANameGeneration_23(OBJ,OBJ);OBJ __ANameGeneration_23; /* checkName'23 */
OBJ __ANameGeneration_24; /* external0Name'24 */
OBJ __ANameGeneration_25; /* external0Name'25 */
OBJ __ANameGeneration_26; /* external0Name'26 */

extern TUP2 _ANameGeneration_1(OBJ x1,OBJ x2,OBJ x3) /* name2Name */
{TUP2 r;
 if(ISPRD(x3)&&(ISTGPRD(x3,7))){
  r=_ANameGeneration_4(x1,x2,x3);
 }else{
  if(ISPRD(x3)&&(ISTGPRD(x3,1))){
   r=_ANameGeneration_5(x1,x2,x3);
  }else{
   COPY(x1,1);
   COPY(x3,1);
   {OBJ x15;
    x15=_AAGSig_9(x1,x3);
    if(ISTGPRM(x15,1)){
     r=_ANameGeneration_6(x1,x2,x3);
    }else{
     COPY(x3,1);
     {OBJ x16;
      x16=_AAnalyzedGlobSig_12(x3);
      if(ISTGPRM(x16,1)){
       r=_ANameGeneration_7(x1,x2,x3);
      }else{
       HLT("NameGeneration at <120,12-60> : missing else in name2Name\'NameGeneration:globSig->envIO**name->envIO**name");}}}}}}
 return r;}
extern OBJ _ANameGeneration_1_c(OBJ x1,OBJ x2,OBJ x3) /* name2Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_1(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_2(OBJ x1,OBJ x2,OBJ x3) /* name0Name */
{TUP2 r;
 if(ISPRD(x3)&&(ISTGPRD(x3,7))){
  r=_ANameGeneration_4(x1,x2,x3);
 }else{
  if(ISPRD(x3)&&(ISTGPRD(x3,1))){
   r=_ANameGeneration_5(x1,x2,x3);
  }else{
   COPY(x1,1);
   COPY(x3,1);
   {OBJ x15;
    x15=_AAGSig_9(x1,x3);
    if(ISTGPRM(x15,1)){
     r=_ANameGeneration_6(x1,x2,x3);
    }else{
     COPY(x3,1);
     {OBJ x16;
      x16=_AAnalyzedGlobSig_12(x3);
      if(ISTGPRM(x16,1)){
       r=_ANameGeneration_8(x1,x2,x3);
      }else{
       HLT("NameGeneration at <131,12-60> : missing else in name0Name\'NameGeneration:globSig->envIO**name->envIO**name");}}}}}}
 return r;}
extern OBJ _ANameGeneration_2_c(OBJ x1,OBJ x2,OBJ x3) /* name0Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_2(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_3(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* instOfAdd? */
{TUP2 r;
 if(ISPRM(x3)){
  FREE(x1,1);
  FREE(x4,1);
  FREE(x5,1);
  r.c1=__AInterOpal_21;r.c2=x2;
 }else{
  {OBJ x75;OBJ x73;OBJ x77;OBJ x78;
   if(ISPRM(x5)){
    CPCLS(__ANameGeneration_1,1);
    x75=__ABUILTIN_3;
   }else{
    CPCLS(__ANameGeneration_1,1);
    x75=__ABUILTIN_5;}
   x73=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_1,1))(__ANameGeneration_1,x1);
   {TUP2 t=_ASeqMapEnv_4(x73,x2,x3);
    x77=t.c1;
    x78=t.c2;}
   {OBJ x79=FLD1(x77,1);OBJ x80=FLD1(x77,2);
    CPPRD(x79,1);COPY(x80,1);
    {OBJ x82=FLD1(x79,2);
     COPY(x82,1);
     COPY(x4,1);
     CPCLS(__AInterOpal_314,1);
     {OBJ x83;
      x83=_AMap_16(__AInterOpal_314,x82,x4);
      {OBJ x87=FLD1(x83,4);
       COPY(x87,1);
       COPY(x78,1);
       COPY(__ANameGeneration_20,1);
       CPCLS(__AInterOpal_315,1);
       {OBJ x92;TUP2 x94;
	x92=_AMapConv_4(__AInterOpal_315,x87);
	x94=_ANameGeneration_13(x92,x78,__ANameGeneration_20);
	if(ISTGPRM(x75,1)){
	 if(EXPRD(x77,1)){
	  DSPRD(x77);
	 }else{
	  DCPRD(x77,1);}
	 FREE(x94.c1,1);
	 {OBJ x97;OBJ x98;OBJ x100;
	  if(ISPRM(x5)){
	   HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	  }else{
	   {OBJ x96=FLD1(x5,1);
	    if(EXPRD(x5,1)){
	     r.c1=x96;
	     DSPRDF(x5);
	    }else{
	     COPY(x96,1);
	     r.c1=x96;
	     FRPRD(x5,1);}}}
	  COPY(r.c1,1);
	  x98=_ABaseGeneration_8(r.c1,x78,x83);
	  PRD1(2,r.c2);FLD1(r.c2,2)=x80;
	  FLD1(r.c2,1)=_ABaseGeneration_7(x4,x98,x79);}
	}else{
	 FREE(x5,1);
	 if(ISTGPRM(x94.c2,1)){
	  r.c2=x77;r.c1=x94.c1;
	  FREE(x4,1);
	  FREE(x78,1);
	  if(EXPRD(x79,1)){
	   FREE(FLD1(x79,2),1);DSPRDF(x79);
	  }else{
	   DCPRD(x79,1);}
	  FREE(x80,1);
	  if(EXPRD(x83,1)){
	   DSPRD(x83);
	  }else{
	   DCPRD(x83,1);}
	 }else{
	  r.c1=x94.c1;
	  if(EXPRD(x77,1)){
	   DSPRD(x77);
	  }else{
	   DCPRD(x77,1);}
	  COPY(r.c1,1);
	  {OBJ x101;
	   x101=_ABaseGeneration_8(r.c1,x78,x83);
	   PRD1(2,r.c2);FLD1(r.c2,2)=x80;
	   FLD1(r.c2,1)=_ABaseGeneration_7(x4,x101,x79);}}}}}}}}}}
 return r;}
extern OBJ _ANameGeneration_3_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* instOfAdd? */
{OBJ r;
 {TUP2 t=_ANameGeneration_3(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_4(OBJ x1,OBJ x2,OBJ x3) /* local2Name */
{TUP2 r;
 FREE(x1,1);
 {OBJ x8;OBJ x9;
  if(ISPRD(x3)&&(ISTGPRD(x3,4))){
   {OBJ x6=FLD(x3,3);
    if(EXPRD(x3,1)){
     x8=x6;
     DSPRDF(x3);
    }else{
     x8=x6;
     FRPRD(x3,1);}}
  }else{
   if(ISPRD(x3)&&(ISTGPRD(x3,7))){
    {OBJ x7=FLD(x3,1);
     if(EXPRD(x3,1)){
      x8=x7;
      DSPRDF(x3);
     }else{
      x8=x7;
      FRPRD(x3,1);}}
   }else{
    HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
  PRD1F(3,r.c2);FLD1(r.c2,1)=x8;FLD1(r.c2,2)=__AInterOpal_29;FLD1(r.c2,3)=__AInterOpal_21;
  r.c1=x2;}
 return r;}
extern OBJ _ANameGeneration_4_c(OBJ x1,OBJ x2,OBJ x3) /* local2Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_4(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_5(OBJ x1,OBJ x2,OBJ x3) /* internal2Name */
{TUP2 r;
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x7;
  x7=_AAnalyzedGlobSig_9(x1,x3);
  {OBJ x43=FLD1(x2,1);
   CPPRD(x43,1);
   {OBJ x46=FLD1(x43,2);
    COPY(x46,1);
    if(EXPRD(x43,1)){
     FREE(FLD1(x43,2),1);DSPRDF(x43);
    }else{
     DCPRD(x43,1);}
    CPCLS(__AInterOpal_314,1);
    {OBJ x47;
     x47=_AMap_16(__AInterOpal_314,x46,__AInterOpal_27);
     {OBJ x51=FLD1(x47,4);
      if(EXPRD(x47,1)){
       FLD1(x47,4)=NIL;DSPRD(x47);
      }else{
       COPY(x51,1);
       FRPRD(x47,1);}
      {OBJ x59;OBJ x61;OBJ x62;
       if(ISPRM(x51)){
	x59=__ABUILTIN_5;
       }else{
	if(EXPRD(x51,1)){
	 DSPRD(x51);
	}else{
	 DCPRD(x51,1);}
	x59=__ABUILTIN_3;}
       if(ISTGPRM(x59,1)){
	FREE(x1,1);
	FREE(x3,1);
	x61=__AInterOpal_21;
       }else{
	{OBJ x60;
	 x60=_AAGSig_9(x1,x3);
	 if(ISTGPRM(x60,1)){
	  x61=__AInterOpal_21;
	 }else{
	  x61=__AInterOpal_19;}}}
       PRD1(3,r.c2);FLD1(r.c2,1)=x7;FLD1(r.c2,2)=__AInterOpal_27;FLD1(r.c2,3)=x61;
       r.c1=x2;}}}}}}
 return r;}
extern OBJ _ANameGeneration_5_c(OBJ x1,OBJ x2,OBJ x3) /* internal2Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_5(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_6(OBJ x1,OBJ x2,OBJ x3) /* param2Name */
{TUP2 r;
 COPY(x1,2);
 COPY(x3,3);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_ANameGeneration_11(x1,x2,x3);
  x5=_AAnalyzedGlobSig_8(x1,x3);
  x6=_AAnalyzedGlobSig_9(x1,x3);
  PRD1F(1,x7);FLD1(x7,1)=x5;
  PRD1(3,r.c2);FLD1(r.c2,1)=x6;FLD1(r.c2,2)=x7;FLD1(r.c2,3)=__AInterOpal_21;
  CPPRD(r.c2,1);
  r.c1=_ANameGeneration_16(x4,x3,r.c2);}
 return r;}
extern OBJ _ANameGeneration_6_c(OBJ x1,OBJ x2,OBJ x3) /* param2Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_6(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_7(OBJ x1,OBJ x2,OBJ x3) /* external2Name */
{TUP2 r;
 COPY(x1,5);
 COPY(x3,5);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x12;OBJ x13;OBJ x14;OBJ x15;
  x4=_ANameGeneration_11(x1,x2,x3);
  x5=_AAnalyzedGlobSig_8(x1,x3);
  x6=_AAnalyzedGlobSigH_2(x1,x3);
  x7=_AAGSig_14(x1,x3);
  x8=_AAnalyzedGlobSig_9(x1,x3);
  PRD1F(1,x9);FLD1(x9,1)=x5;
  if(ISTGPRM(x7,1)){
   COPY(x9,1);
   COPY(__ANameGeneration_22,1);
   x10=__ANameGeneration_22;
  }else{
   COPY(x9,1);
   x10=__AOption_5;}
  {TUP2 t=_ANameGeneration_3(x1,x4,x6,x9,x10);
   x12=t.c1;
   x13=t.c2;}
  PRD1(3,r.c2);FLD1(r.c2,1)=x8;FLD1(r.c2,2)=x9;FLD1(r.c2,3)=x12;
  CPPRD(r.c2,1);
  r.c1=_ANameGeneration_16(x13,x3,r.c2);}
 return r;}
extern OBJ _ANameGeneration_7_c(OBJ x1,OBJ x2,OBJ x3) /* external2Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_7(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ANameGeneration_8(OBJ x1,OBJ x2,OBJ x3) /* external0Name */
{TUP2 r;
 COPY(x1,2);
 COPY(x3,2);
 {OBJ x4;OBJ x5;
  x4=_AAnalyzedGlobSig_8(x1,x3);
  x5=_AAnalyzedGlobSig_9(x1,x3);
  {OBJ x35=FLD1(x2,1);
   CPPRD(x35,1);
   {OBJ x37;
    PRD1F(1,x37);FLD1(x37,1)=x4;
    {OBJ x39=FLD1(x35,2);
     COPY(x39,1);
     if(EXPRD(x35,1)){
      FREE(FLD1(x35,2),1);DSPRDF(x35);
     }else{
      DCPRD(x35,1);}
     COPY(x37,1);
     CPCLS(__AInterOpal_314,1);
     {OBJ x40;
      x40=_AMap_20(__AInterOpal_314,x37,x39);
      if(ISTGPRM(x40,1)){
       COPY(x1,2);
       COPY(x3,1);
       {OBJ x41;OBJ x42;OBJ x43;OBJ x44;
	x41=_AAnalyzedGlobSigH_2(x1,x3);
	x42=_AAGSig_14(x1,x3);
	if(ISTGPRM(x42,1)){
	 CPPRD(x2,1);
	 COPY(x37,1);
	 COPY(__ANameGeneration_26,1);
	 x43=__ANameGeneration_26;
	}else{
	 CPPRD(x2,1);
	 COPY(x37,1);
	 x43=__AOption_5;}
	x44=_ANameGeneration_14(x1,x2,x41,x37,x43);
	if(ISPRM(x44)){
	 FREE(x37,1);
	 CPPRD(__ANameGeneration_24,1);
	 r.c1=x2;r.c2=__ANameGeneration_24;
	}else{
	 {OBJ x45=FLD1(x44,1);
	  if(EXPRD(x44,1)){
	   DSPRDF(x44);
	  }else{
	   COPY(x45,1);
	   FRPRD(x44,1);}
	  CPPRD(x2,1);
	  {OBJ x46;OBJ x47;
	   PRD1(3,x46);FLD1(x46,1)=x5;FLD1(x46,2)=x37;FLD1(x46,3)=x45;
	   CPPRD(x46,1);
	   x47=_ANameGeneration_17(x2,x46);
	   if(ISTGPRM(x47,1)){
	    r.c2=x46;
	    r.c1=x2;
	   }else{
	    FRPRD(x46,1);
	    CPPRD(__ANameGeneration_24,1);
	    r.c1=x2;r.c2=__ANameGeneration_24;}}}}}
      }else{
       FREE(x1,1);
       FREE(x3,1);
       FREE(x37,1);
       CPPRD(__ANameGeneration_24,1);
       r.c1=x2;r.c2=__ANameGeneration_24;}}}}}}
 return r;}
extern OBJ _ANameGeneration_8_c(OBJ x1,OBJ x2,OBJ x3) /* external0Name */
{OBJ r;
 {TUP2 t=_ANameGeneration_8(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ANameGeneration_11(OBJ x1,OBJ x2,OBJ x3) /* createOriginStruct */
{OBJ r;
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x10;
  x10=_AAnalyzedGlobSig_8(x1,x3);
  {OBJ x85=FLD1(x2,1);OBJ x86=FLD1(x2,2);
   CPPRD(x85,1);COPY(x86,1);
   {OBJ x87;
    PRD1F(1,x87);FLD1(x87,1)=x10;
    {OBJ x89=FLD1(x85,2);
     COPY(x89,1);
     COPY(x87,1);
     CPCLS(__AInterOpal_314,1);
     {OBJ x90;
      x90=_AMap_20(__AInterOpal_314,x87,x89);
      if(ISTGPRM(x90,1)){
       FREE(x1,1);
       FREE(x3,1);
       if(EXPRD(x85,1)){
	FREE(FLD1(x85,2),1);DSPRDF(x85);
       }else{
	DCPRD(x85,1);}
       FREE(x86,1);
       FREE(x87,1);
       r=x2;
      }else{
       if(EXPRD(x2,1)){
	DSPRD(x2);
       }else{
	DCPRD(x2,1);}
       COPY(x1,2);
       COPY(x3,1);
       {OBJ x91;OBJ x92;OBJ x98;OBJ x93;OBJ x94;OBJ x95;OBJ x99;OBJ x100;OBJ x101;OBJ x102;
	x91=_AAnalyzedGlobSigH_2(x1,x3);
	x92=_AAnalyzedGlobSig_3(x1,x3);
	if(ISPRM(x91)){
	 COPY(x1,2);
	 x98=__ABUILTIN_5;
	}else{
	 if(EXPRD(x91,1)){
	  DSPRD(x91);
	 }else{
	  DCPRD(x91,1);}
	 COPY(x1,2);
	 x98=__ABUILTIN_3;}
	x93=_AAGSig_8(x1,x10);
	x94=_ARep_119(x92);
	x95=_ABaseGeneration_16(x1,x10);
	if(ISTGPRM(x98,1)){
	 COPY(x87,2);
	 CPCLS(__ANameGeneration_19,1);
	 x99=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_19,1))(__ANameGeneration_19,__ABUILTIN_20);
	}else{
	 COPY(x87,2);
	 x99=__ATree_7;}
	PRD1(8,x100);FLD1(x100,1)=x95;FLD1(x100,2)=x87;FLD1(x100,3)=x94;FLD1(x100,4)=x99;FLD1(x100,5)=__ATree_7;FLD1(x100,6)=__ATree_7;FLD1(x100,7)=__ATree_7;FLD1(x100,8)=__ASeq_6;
	x101=_ABaseGeneration_7(x87,x100,x85);
	PRD1(2,x102);FLD1(x102,1)=x101;FLD1(x102,2)=x86;
	if(ISTGPRM(x98,1)){
	 r=x102;
	 FREE(x1,1);
	 FREE(x87,1);
	 FREE(x93,1);
	}else{
	 COPY(x93,1);
	 CPCLS(__ANameGeneration_1,1);
	 CPCLS(__AName_32,1);
	 {OBJ x103;OBJ x104;TUP2 x106;
	  x103=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_1,1))(__ANameGeneration_1,x1);
	  x104=_ASetConv_3(__AName_32,x93);
	  x106=_ASeqMapEnv_4(x103,x102,x93);
	  {OBJ x108=FLD1(x106.c1,1);OBJ x109=FLD1(x106.c1,2);FLAG x_x106_c1=EXPRD(x106.c1,1);
	   if(x_x106_c1){
	   }else{
	    CPPRD(x108,1);COPY(x109,1);}
	   {OBJ x111=FLD1(x108,2);
	    COPY(x111,1);
	    COPY(x87,1);
	    CPCLS(__AInterOpal_314,1);
	    CPCLS(__AName_32,1);
	    {OBJ x112;OBJ x113;OBJ x114;
	     x112=_AMap_16(__AInterOpal_314,x111,x87);
	     x113=_ASet_41(__AName_32,x109,x104);
	     x114=_ABaseGeneration_8(__AInterOpal_19,x106.c2,x112);
	     if(x_x106_c1){
	      RSOME(x106.c1,r);FLD1(r,2)=x113;
	     }else{
	      FRPRD(x106.c1,1);PRD1(2,r);FLD1(r,2)=x113;}
	     FLD1(r,1)=_ABaseGeneration_7(x87,x114,x108);}}}}}}}}}}}}
 return r;}

extern TUP2 _ANameGeneration_13(register OBJ x1,register OBJ x2,register OBJ x3) /* genInst */
{TUP2 r;
 for(;;){
  if(ISPRM(x1)){
   FREE(x2,1);
   r.c1=x3;r.c2=__ABUILTIN_3;
  }else{
   {OBJ x40=FLD1(x1,1);OBJ x41=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x40,1);COPY(x41,1);
     FRPRD(x1,1);}
    {OBJ x43=FLD1(x40,1);OBJ x44=FLD1(x40,2);
     if(EXPRD(x40,1)){
      DSPRDF(x40);
     }else{
      COPY(x43,1);COPY(x44,1);
      FRPRD(x40,1);}
     COPY(x2,1);
     CPCLS(__ABaseGeneration_6,1);
     {OBJ x45;
      x45=_ASeqCompare_3(__ABaseGeneration_6,x2,x44);
      if(ISTGPRM(x45,1)){
       r.c1=x43;
       FREE(x2,1);
       FREE(x3,1);
       FREE(x41,1);
       r.c2=__ABUILTIN_5;
      }else{
       COPY(x3,1);
       COPY(x43,1);
       {OBJ x46;
	x46=_AInterOpal_315(x43,x3);
	if(ISTGPRM(x46,1)){
	 FREE(x43,1);
	 x1=x41;continue;
	}else{
	 FREE(x3,1);
	 if(ISPRD(x43)){
	  {OBJ x47=FLD1(x43,1);FLAG x_x43=EXPRD(x43,1);
	   if(x_x43){
	   }else{}
	   {OBJ x48;OBJ x49;
	    ANat_61(x47,__ANat_8,x48);
	    if(x_x43){
	     RSOME(x43,x49);FLD1(x49,1)=x48;
	    }else{
	     FRPRD(x43,1);PRD1F(1,x49);FLD1(x49,1)=x48;}
	    x1=x41;x3=x49;continue;}}
	 }else{
	  HLT("InterOpal at <unknown> : undefined selection no\'InterOpal:inst->nat");}}}}}}}}
  break;}
 return r;}
extern OBJ _ANameGeneration_13_c(OBJ x1,OBJ x2,OBJ x3) /* genInst */
{OBJ r;
 {TUP2 t=_ANameGeneration_13(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ANameGeneration_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* instOf? */
{OBJ r;
 if(ISPRM(x3)){
  FREE(x1,1);
  FRPRD(x2,1);
  FREE(x4,1);
  FREE(x5,1);
  r=__AOption_5;
 }else{
  {OBJ x52;OBJ x50;OBJ x54;OBJ x55;
   if(ISPRM(x5)){
    CPCLS(__ANameGeneration_2,1);
    x52=__ABUILTIN_3;
   }else{
    CPCLS(__ANameGeneration_2,1);
    x52=__ABUILTIN_5;}
   x50=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_2,1))(__ANameGeneration_2,x1);
   {TUP2 t=_ASeqMapEnv_4(x50,x2,x3);
    x54=t.c1;
    x55=t.c2;}
   {OBJ x56=FLD1(x54,1);
    if(EXPRD(x54,1)){
     FREE(FLD1(x54,2),1);DSPRDF(x54);
    }else{
     CPPRD(x56,1);
     FRPRD(x54,1);}
    {OBJ x59=FLD1(x56,2);
     if(EXPRD(x56,1)){
      DSPRDF(x56);
     }else{
      COPY(x59,1);
      FRPRD(x56,1);}
     CPCLS(__AInterOpal_314,1);
     {OBJ x60;
      x60=_AMap_16(__AInterOpal_314,x59,x4);
      {OBJ x64=FLD1(x60,4);
       if(EXPRD(x60,1)){
	FLD1(x60,4)=NIL;DSPRD(x60);
       }else{
	COPY(x64,1);
	FRPRD(x60,1);}
       CPCLS(__AInterOpal_315,1);
       {OBJ x69;OBJ x70;
	x69=_AMapConv_4(__AInterOpal_315,x64);
	x70=_ANameGeneration_15(x69,x55);
	if(ISTGPRM(x52,1)){
	 FREE(x70,1);
	 r=x5;
	}else{
	 r=x70;
	 FREE(x5,1);}}}}}}}}
 return r;}

extern OBJ _ANameGeneration_15(register OBJ x1,register OBJ x2) /* lookupInst */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   FREE(x2,1);
   r=__AOption_5;
  }else{
   {OBJ x30=FLD1(x1,1);OBJ x31=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x30,1);COPY(x31,1);
     FRPRD(x1,1);}
    {OBJ x33=FLD1(x30,1);OBJ x34=FLD1(x30,2);
     if(EXPRD(x30,1)){
      DSPRDF(x30);
     }else{
      COPY(x33,1);COPY(x34,1);
      FRPRD(x30,1);}
     COPY(x2,1);
     CPCLS(__ABaseGeneration_6,1);
     {OBJ x35;
      x35=_ASeqCompare_3(__ABaseGeneration_6,x2,x34);
      if(ISTGPRM(x35,1)){
       FREE(x2,1);
       FREE(x31,1);
       PRD1(1,r);FLD1(r,1)=x33;
      }else{
       FREE(x33,1);
       x1=x31;continue;}}}}}
  break;}
 return r;}

extern OBJ _ANameGeneration_16(OBJ x1,OBJ x2,OBJ x3) /* addNewName */
{OBJ r;
 {OBJ x61=FLD1(x1,1);OBJ x62=FLD1(x1,2);
  CPPRD(x61,1);COPY(x62,1);
  {OBJ x93=FLD1(x3,2);OBJ x94=FLD1(x3,3);
   COPY(x93,1);COPY(x94,1);
   {OBJ x96=FLD1(x61,2);
    COPY(x96,1);
    CPCLS(__AInterOpal_314,1);
    {OBJ x97;
     x97=_AMap_16(__AInterOpal_314,x96,x93);
     {OBJ x102=FLD1(x97,5);
      if(EXPRD(x97,1)){
       COPY(x102,1);
       FLD1(x97,5)=NIL;DSPRD(x97);
      }else{
       COPY(x102,2);
       FRPRD(x97,1);}
      COPY(x94,1);
      CPCLS(__AInterOpal_315,1);
      {OBJ x106;
       x106=_AMap_20(__AInterOpal_315,x94,x102);
       if(ISTGPRM(x106,1)){
	CPCLS(__ANameGeneration_18,1);
	CPCLS(__AInterOpal_315,1);
	{OBJ x107;OBJ x108;OBJ x109;
	 x107=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_18,1))(__ANameGeneration_18,x3);
	 x108=_AMap_16(__AInterOpal_315,x102,x94);
	 x109=_ASeq_40(x107,x108);
	 if(ISTGPRM(x109,1)){
	  FREE(x2,1);
	  if(EXPRD(x61,1)){
	   FREE(FLD1(x61,2),1);DSPRDF(x61);
	  }else{
	   DCPRD(x61,1);}
	  FREE(x62,1);
	  r=x1;
	 }else{
	  if(EXPRD(x1,1)){
	   DSPRD(x1);
	  }else{
	   DCPRD(x1,1);}
	  CPCLS(__AName_32,1);
	  {
	   PRD1(2,r);FLD1(r,1)=x61;
	   FLD1(r,2)=_ASet_39(__AName_32,x2,x62);}}}
       }else{
	if(EXPRD(x1,1)){
	 DSPRD(x1);
	}else{
	 DCPRD(x1,1);}
	if(EXPRD(x3,1)){
	 DSPRD(x3);
	}else{
	 DCPRD(x3,1);}
	FREE(x94,1);
	FREE(x102,1);
	CPCLS(__AName_32,1);
	{
	 PRD1(2,r);FLD1(r,1)=x61;
	 FLD1(r,2)=_ASet_39(__AName_32,x2,x62);}}}}}}}}
 return r;}

extern OBJ _ANameGeneration_17(OBJ x1,OBJ x2) /* checkName */
{OBJ r;
 {OBJ x54=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   CPPRD(x54,1);
   FRPRD(x1,1);}
  {OBJ x83=FLD1(x2,2);OBJ x84=FLD1(x2,3);
   COPY(x83,1);COPY(x84,1);
   {OBJ x86=FLD1(x54,2);
    if(EXPRD(x54,1)){
     DSPRDF(x54);
    }else{
     COPY(x86,1);
     FRPRD(x54,1);}
    CPCLS(__AInterOpal_314,1);
    {OBJ x87;
     x87=_AMap_16(__AInterOpal_314,x86,x83);
     {OBJ x92=FLD1(x87,5);
      if(EXPRD(x87,1)){
       COPY(x92,1);
       FLD1(x87,5)=NIL;DSPRD(x87);
      }else{
       COPY(x92,2);
       FRPRD(x87,1);}
      COPY(x84,1);
      CPCLS(__AInterOpal_315,1);
      {OBJ x96;
       x96=_AMap_20(__AInterOpal_315,x84,x92);
       if(ISTGPRM(x96,1)){
	CPCLS(__ANameGeneration_23,1);
	CPCLS(__AInterOpal_315,1);
	{OBJ x97;OBJ x98;
	 x97=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_23,1))(__ANameGeneration_23,x2);
	 x98=_AMap_16(__AInterOpal_315,x92,x84);
	 r=_ASeq_40(x97,x98);}
       }else{
	if(EXPRD(x2,1)){
	 DSPRD(x2);
	}else{
	 DCPRD(x2,1);}
	FREE(x84,1);
	FREE(x92,1);
	r=__ABUILTIN_3;}}}}}}}
 return r;}

extern OBJ _ANameGeneration_18(OBJ x1,OBJ x2) /* addNewName'18 */
{OBJ r;
 r=_ABaseGeneration_6(x1,x2);
 return r;}

extern OBJ _ANameGeneration_19(OBJ x1) /* createOriginStruct'19 */
{OBJ r;
 CPCLS(__AInterOpal_315,1);
 r=_AMap_31(__AInterOpal_315,__AInterOpal_21,__ASeq_6,__ATree_7);
 return r;}

extern OBJ _ANameGeneration_23(OBJ x1,OBJ x2) /* checkName'23 */
{OBJ r;
 r=_ABaseGeneration_6(x1,x2);
 return r;}







static OBJ _mt_5_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,2);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 return r;}

static OBJ _mt_5_2_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),t1,t2,t3);
 return r;}

init_ANameGeneration()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeqConv();
 init_ABitset();
 init_ALexem();
 init_ATable();
 init_AUniqueTable();
 init_ADeclEntry();
 init_AEnvIO();
 init_APartNameEntry();
 init_AAnalyzedGlobSig();
 init_AImpExpEntry();
 init_AInterOpal();
 init_APragma();
 init_AName();
 init_AAttributes();
 init_AOption();
 init_ADArray();
 init_ASeq();
 init_ANatMap();
 init_ANat();
 init_AArray();
 init_AObjects();
 init_APartName();
 init_AFct();
 init_AAGSig();
 init_AOcPos();
 init_ABaseGeneration();
 init_AChar();
 init_ASeqMapEnv();
 init_AMap();
 init_ASeqCompare();
 init_ADyn();
 init_ADenotation();
 init_ASet();
 init_AMapConv();
 init_APair();
 init_ASetConv();
 init_AGlobSig();
 init_ASeqReduce();
 init_AGlobPragma();
 init_ANatConv();
 init_AGlobSigImpl();
 init_AReal();
 init_AImpl();
 init_ARelCmp();
 init_APatterns();
 init_ATree();
 init_AOcError();
 init_AAbsyFun3();
 init_ARep();
 init_AAnalyzedGlobSigH();
 init_ACom();
 init_AGlobSigToText();
 init_AVoid();
 init_AImpDecl4SigAna();
 init_AString();
 init_AMySeqFun1();
 init_AOcOptions();
 init_AName4SigAna();
 init_AStream();
 init_ASetByBST();
 init_AFile();
 init_ABSTree();
 init_AInt();
 CLS(2,_ANameGeneration_23,__ANameGeneration_23);
 LCLS(1,_ANameGeneration_19,__ANameGeneration_19);
 CLS(2,_ANameGeneration_18,__ANameGeneration_18);
 CLS(2,_ANameGeneration_17,__ANameGeneration_17);
 CLS(3,_ANameGeneration_16,__ANameGeneration_16);
 CLS(2,_ANameGeneration_15,__ANameGeneration_15);
 CLS(5,_ANameGeneration_14,__ANameGeneration_14);
 CLS(3,_ANameGeneration_13_c,__ANameGeneration_13);
 CLS(3,_ANameGeneration_11,__ANameGeneration_11);
 CLS(3,_ANameGeneration_8_c,__ANameGeneration_8);
 CLS(3,_ANameGeneration_7_c,__ANameGeneration_7);
 CLS(3,_ANameGeneration_6_c,__ANameGeneration_6);
 CLS(3,_ANameGeneration_5_c,__ANameGeneration_5);
 CLS(3,_ANameGeneration_4_c,__ANameGeneration_4);
 CLS(5,_ANameGeneration_3_c,__ANameGeneration_3);
 CLS(3,_ANameGeneration_2_c,__ANameGeneration_2);
 CLS(3,_ANameGeneration_1_c,__ANameGeneration_1);
 MTH(5,0,2,_mt_5_0_2);LZYMTH(5,0,2,_mt_5_0_2);
 MTH(5,2,3,_mt_5_2_3);LZYMTH(5,2,3,_mt_5_2_3);
 PRD1F(1,__ANameGeneration_20);FLD1(__ANameGeneration_20,1)=__ANat_8;
 PRD1F(1,__ANameGeneration_21);FLD1(__ANameGeneration_21,1)=__ANat_5;
 COPY(__ANameGeneration_21,1);
 PRD1(1,__ANameGeneration_22);FLD1(__ANameGeneration_22,1)=__ANameGeneration_21;
 PRD1F(3,__ANameGeneration_24);FLD1(__ANameGeneration_24,1)=__ANat_5;FLD1(__ANameGeneration_24,2)=__AInterOpal_29;FLD1(__ANameGeneration_24,3)=__AInterOpal_21;
 PRD1F(1,__ANameGeneration_25);FLD1(__ANameGeneration_25,1)=__ANat_5;
 COPY(__ANameGeneration_25,1);
 PRD1(1,__ANameGeneration_26);FLD1(__ANameGeneration_26,1)=__ANameGeneration_25;}

