

#include "BUILTIN.h"
extern OBJ _AImpExpEntry_92(OBJ);extern OBJ __AImpExpEntry_92;
extern OBJ _AImpExpEntry_93(OBJ);extern OBJ __AImpExpEntry_93;
extern OBJ __AInterOpal_19;
extern OBJ __AInterOpal_21;
extern OBJ __AInterOpal_27;
extern OBJ _AInterOpal_275(OBJ);extern OBJ __AInterOpal_275;
extern OBJ _AInterOpal_310(OBJ,OBJ);extern OBJ __AInterOpal_310;
extern OBJ _AInterOpal_314(OBJ,OBJ);extern OBJ __AInterOpal_314;
extern OBJ _AInterOpal_315(OBJ,OBJ);extern OBJ __AInterOpal_315;

#include "Real.h"
extern OBJ _AAnalyzedGlobSig_1(OBJ);extern OBJ __AAnalyzedGlobSig_1;
extern OBJ _AAnalyzedGlobSig_2(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_2;
extern OBJ _AAnalyzedGlobSig_54(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_54;
extern OBJ _AAnalyzedGlobSig_56(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_56;
extern OBJ _AAnalyzedGlobSig_70(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_70;
extern OBJ _AName_11(OBJ);extern OBJ __AName_11;
extern OBJ _AName_12(OBJ);extern OBJ __AName_12;
extern OBJ _AName_32(OBJ,OBJ);extern OBJ __AName_32;
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;

#include "Array.h"
extern OBJ __ATree_7;
extern OBJ _ARep_24(OBJ,OBJ);extern OBJ __ARep_24;
extern OBJ __ARep_96;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;

#include "Char.h"
extern OBJ _ABaseGeneration_3(OBJ);extern OBJ __ABaseGeneration_3;
extern OBJ _ABaseGeneration_5(OBJ,OBJ);extern OBJ __ABaseGeneration_5;
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_9(OBJ,OBJ,OBJ);extern OBJ __ABaseGeneration_9;
extern OBJ _ABaseGeneration_10(OBJ,OBJ);extern OBJ __ABaseGeneration_10;
extern OBJ _ABaseGeneration_11(OBJ,OBJ);extern OBJ __ABaseGeneration_11;
extern OBJ _ABaseGeneration_14(OBJ,OBJ);extern OBJ __ABaseGeneration_14;
extern OBJ _ABaseGeneration_16(OBJ,OBJ);extern OBJ __ABaseGeneration_16;
extern OBJ _ABaseGeneration_17(OBJ,OBJ);extern OBJ __ABaseGeneration_17;
extern OBJ _ABaseGeneration_18(OBJ,OBJ,OBJ);extern OBJ __ABaseGeneration_18;

#include "Nat.h"
extern TUP2 _AImplGeneration_1(OBJ,OBJ,OBJ,OBJ);extern OBJ __AImplGeneration_1;
extern OBJ __AOption_5;
extern OBJ _AName4SigAna_4(OBJ,OBJ);extern OBJ __AName4SigAna_4;
extern TUP2 _APropGeneration_1(OBJ,OBJ,OBJ,OBJ);extern OBJ __APropGeneration_1;
extern TUP2 _APropGeneration_2(OBJ,OBJ,OBJ,OBJ);extern OBJ __APropGeneration_2;
extern TUP2 _ANameGeneration_1(OBJ,OBJ,OBJ);extern OBJ __ANameGeneration_1;
extern TUP2 _AFctGeneration_1(OBJ,OBJ,OBJ);extern OBJ __AFctGeneration_1;

#include "Bitset.h"
extern OBJ _AAGSig_8(OBJ,OBJ);extern OBJ __AAGSig_8;
extern OBJ _AAGSig_12(OBJ,OBJ);extern OBJ __AAGSig_12;
extern OBJ _AAGSig_14(OBJ,OBJ);extern OBJ __AAGSig_14;
extern OBJ _AGlobSig_46(OBJ);extern OBJ __AGlobSig_46;
extern OBJ _AGlobSig_55(OBJ);extern OBJ __AGlobSig_55;
extern OBJ _AGlobSig_56(OBJ);extern OBJ __AGlobSig_56;

#include "Denotation.h"
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_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 _ASetConv_3(OBJ,OBJ);extern OBJ __ASetConv_3;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ _AImpDecl4SigAna_51(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_51;

#include "Int.h"

#include "NatConv.h"
extern OBJ _ASet_41(OBJ,OBJ,OBJ);extern OBJ __ASet_41;
extern OBJ _ASet_42(OBJ,OBJ,OBJ);extern OBJ __ASet_42;
extern OBJ _AObjectGeneration_1(OBJ,OBJ,OBJ);OBJ __AObjectGeneration_1; /* addInternalName */
extern OBJ _AObjectGeneration_2(OBJ,OBJ,OBJ);OBJ __AObjectGeneration_2; /* addExternalName */
extern OBJ _AObjectGeneration_3(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_3; /* addLaw */
extern OBJ _AObjectGeneration_4(OBJ,OBJ);OBJ __AObjectGeneration_4; /* addAllDependExtNames */
extern OBJ _AObjectGeneration_5(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_5; /* addGlobPragma */
extern OBJ _AObjectGeneration_6(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_6; /* addGlobPragma,1 */
extern OBJ _AObjectGeneration_7(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_7; /* addImpPragma */
extern OBJ _AObjectGeneration_8(OBJ,OBJ,OBJ);OBJ __AObjectGeneration_8; /* addImpLaw */
extern OBJ _AObjectGeneration_10(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_10; /* addLaw,1 */
extern OBJ _AObjectGeneration_11(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_11; /* addLaw,2 */
extern OBJ _AObjectGeneration_15(OBJ,OBJ,OBJ);OBJ __AObjectGeneration_15; /* addExternalNameH */
extern OBJ _AObjectGeneration_16(OBJ,OBJ);OBJ __AObjectGeneration_16; /* add2Only */
extern OBJ _AObjectGeneration_17(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_17; /* add2Object */
extern TUP5 _AObjectGeneration_18(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_18; /* lookupPosKindImplProp */
extern TUP2 _AObjectGeneration_19(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_19; /* lookupInternalProp */
extern TUP2 _AObjectGeneration_20(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_20; /* lookupExternalProp */
extern TUP2 _AObjectGeneration_21(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_21; /* pItem2PItem */
extern OBJ _AObjectGeneration_22(OBJ,OBJ);OBJ __AObjectGeneration_22; /* findStructs */
extern OBJ _AObjectGeneration_23(OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_23; /* createEmptyStruct */
OBJ __AObjectGeneration_24; /* add2Object'24 */
extern OBJ _AObjectGeneration_25(OBJ);OBJ __AObjectGeneration_25; /* add2Object'25 */
OBJ __AObjectGeneration_26; /* addExternalNameH'26 */
extern OBJ _AObjectGeneration_27(OBJ);OBJ __AObjectGeneration_27; /* addExternalNameH'27 */
extern OBJ _AObjectGeneration_28(OBJ);OBJ __AObjectGeneration_28; /* addGlobPragma'28 */
extern OBJ _AObjectGeneration_29(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AObjectGeneration_29; /* findStructs'29 */
extern OBJ _AObjectGeneration_30(OBJ);OBJ __AObjectGeneration_30; /* createEmptyStruct'30 */
OBJ __AObjectGeneration_31; /* addImpPragma'31 */
OBJ __AObjectGeneration_32; /* addImpPragma'32 */
OBJ __AObjectGeneration_33; /* addImpPragma'33 */
OBJ __AObjectGeneration_34; /* addImpPragma'34 */
OBJ __AObjectGeneration_35; /* addImpLaw'35 */
OBJ __AObjectGeneration_36; /* addImpLaw'36 */

extern OBJ _AObjectGeneration_1(OBJ x1,OBJ x2,OBJ x3) /* addInternalName */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {TUP2 x5;
  x5=_ANameGeneration_1(x1,x3,x2);
  r=_AObjectGeneration_17(x1,x5.c1,x2,x5.c2);}
 return r;}

extern OBJ _AObjectGeneration_2(OBJ x1,OBJ x2,OBJ x3) /* addExternalName */
{OBJ r;
 CPCLS(__AName_32,1);
 FREE(x1,1);
 {OBJ x10;
  x10=_ASetConv_3(__AName_32,x3);
  {OBJ x12;OBJ x13=FLD1(x2,2);
   if(EXPRD(x2,1)){
    CPCLS(__AName_32,1);
    {
     RSOME(x2,r);
     FLD1(r,2)=_ASet_41(__AName_32,x13,x10);}
   }else{
    x12=FLD1(x2,1);CPPRD(x12,1);COPY(x13,1);
    CPCLS(__AName_32,1);
    {
     FRPRD(x2,1);PRD1(2,r);FLD1(r,1)=x12;
     FLD1(r,2)=_ASet_41(__AName_32,x13,x10);}}}}
 return r;}

extern OBJ _AObjectGeneration_3(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addLaw */
{OBJ r;
 r=_AObjectGeneration_11(__AInterOpal_27,x1,x2,x3,x4,x5);
 return r;}

extern OBJ _AObjectGeneration_4(register OBJ x1,register OBJ x2) /* addAllDependExtNames */
{OBJ r;
 for(;;){
  {OBJ x36=FLD1(x2,1);OBJ x37=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    CPPRD(x36,1);COPY(x37,1);}
   if(ISPRM(x37)){
    if(x_x2){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    r=x36;
    FREE(x1,1);
   }else{
    COPY(x1,1);
    CPPRD(x37,1);
    CPCLS(__AObjectGeneration_15,1);
    {OBJ x40;OBJ x41;OBJ x42;
     x40=(*(OBJ(*)(OBJ,OBJ))METHOD(__AObjectGeneration_15,1))(__AObjectGeneration_15,x1);
     if(x_x2){
      RSOME(x2,x41);FLD1(x41,2)=__ASeq_6;
     }else{
      FRPRD(x2,1);PRD1(2,x41);FLD1(x41,1)=x36;FLD1(x41,2)=__ASeq_6;}
     x42=_ASeqReduce_3(x40,x41,x37);
     {OBJ x43;OBJ x44=FLD1(x42,2);FLAG x_x42=EXPRD(x42,1);
      if(x_x42){
      }else{
       x43=FLD1(x42,1);CPPRD(x43,1);COPY(x44,1);}
      CPCLS(__AName_32,1);
      {OBJ x45;OBJ x46;
       x45=_ASet_42(__AName_32,x44,x37);
       if(x_x42){
	RSOME(x42,x46);FLD1(x46,2)=x45;
       }else{
	FRPRD(x42,1);PRD1(2,x46);FLD1(x46,1)=x43;FLD1(x46,2)=x45;}
       x2=x46;continue;}}}}}
  break;}
 return r;}

extern OBJ _AObjectGeneration_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addGlobPragma */
{OBJ r;
 CPCLS(__AObjectGeneration_28,1);
 COPY(x1,1);
 {OBJ x5;OBJ x6;
  x5=_AGlobSig_46(x1);
  x6=_ASeq_40(__AObjectGeneration_28,x5);
  r=_AObjectGeneration_6(__AInterOpal_27,x6,x1,x2,x3,x4);}
 return r;}

extern OBJ _AObjectGeneration_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* addGlobPragma,1 */
{OBJ r;
 CPCLS(__AObjectGeneration_21,1);
 {OBJ x7;TUP2 x9;
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AObjectGeneration_21,2))(__AObjectGeneration_21,x3,x4);
  x9=_ASeqMapEnv_4(x7,x6,x5);
  {OBJ x23=FLD1(x9.c1,1);OBJ x24=FLD1(x9.c1,2);FLAG x_x9_c1=EXPRD(x9.c1,1);
   if(x_x9_c1){
   }else{
    CPPRD(x23,1);COPY(x24,1);}
   {OBJ x26=FLD1(x23,2);
    COPY(x26,1);
    COPY(x1,1);
    CPCLS(__AInterOpal_314,1);
    {OBJ x27;OBJ x28;
     x27=_AMap_16(__AInterOpal_314,x26,x1);
     x28=_ABaseGeneration_14(x9.c2,x27);
     if(x_x9_c1){
      RSOME(x9.c1,r);
     }else{
      FRPRD(x9.c1,1);PRD1(2,r);FLD1(r,2)=x24;}
     FLD1(r,1)=_ABaseGeneration_7(x1,x28,x23);}}}}
 return r;}

extern OBJ _AObjectGeneration_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addImpPragma */
{OBJ r;
 {OBJ x54=FLD1(x3,1);OBJ x55=FLD1(x3,2);
  if(EXPRD(x3,1)){
   CPPRD(x54,2);
   DSPRDF(x3);
  }else{
   CPPRD(x54,3);COPY(x55,1);
   FRPRD(x3,1);}
  COPY(x1,2);
  {OBJ x56;OBJ x57;
   x56=_AAnalyzedGlobSig_70(x1,x54);
   x57=_AObjectGeneration_22(x1,x54);
   if(ISPRM(x57)){
    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
   }else{
    {OBJ x76=FLD1(x57,1);
     CPPRD(x76,1);
     {OBJ x79=FLD1(x76,1);OBJ x80=FLD1(x76,2);
      COPY(x80,1);
      if(EXPRD(x76,1)){
       FREE(FLD1(x76,2),1);DSPRDF(x76);
      }else{
       DCPRD(x76,1);}
      {OBJ x89;OBJ x97;OBJ x101;OBJ x102;OBJ x103;
       x89=_ASeq_52(x57,__ANat_5);
       ANat_76(x89,__ANat_8,x97);
       if(ISTGPRM(x97,1)){
	x101=x80;
	FRPRD(x54,1);
	COPY(x1,1);
	CPCLS(__AObjectGeneration_6,1);
       }else{
	FREE(x80,1);
	COPY(x1,1);
	CPCLS(__AObjectGeneration_6,1);
	CPPRD(__AObjectGeneration_33,1);
	CPPRD(__AObjectGeneration_34,1);
	{OBJ x98;OBJ x99;OBJ x100;
	 x98=_ARep_119(x54);
	 ADenotation_4(x98,__AObjectGeneration_33,x99);
	 ADenotation_4(__AObjectGeneration_34,x99,x100);
	 ABUILTIN_12(x100,x101);}}
       COPY(x101,1);
       x102=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AObjectGeneration_6,4))(__AObjectGeneration_6,x101,x56,x1,x2);
       x103=_AObjectGeneration_23(x1,x4,x101,x79);
       r=_ASeqReduce_4(x102,x103,x55);}}}}}}
 return r;}

extern OBJ _AObjectGeneration_8(OBJ x1,OBJ x2,OBJ x3) /* addImpLaw */
{OBJ r;
 {OBJ x52=FLD1(x2,1);OBJ x53=FLD1(x2,2);
  if(EXPRD(x2,1)){
   CPPRD(x52,1);
   DSPRDF(x2);
  }else{
   CPPRD(x52,2);COPY(x53,1);
   FRPRD(x2,1);}
  COPY(x1,1);
  {OBJ x54;
   x54=_AObjectGeneration_22(x1,x52);
   if(ISPRM(x54)){
    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
   }else{
    {OBJ x73=FLD1(x54,1);
     CPPRD(x73,1);
     {OBJ x76=FLD1(x73,1);OBJ x77=FLD1(x73,2);
      COPY(x77,1);
      if(EXPRD(x73,1)){
       FREE(FLD1(x73,2),1);DSPRDF(x73);
      }else{
       DCPRD(x73,1);}
      {OBJ x86;OBJ x94;OBJ x98;OBJ x99;OBJ x100;
       x86=_ASeq_52(x54,__ANat_5);
       ANat_76(x86,__ANat_8,x94);
       if(ISTGPRM(x94,1)){
	x98=x77;
	FRPRD(x52,1);
	COPY(x1,1);
	CPCLS(__AObjectGeneration_10,1);
       }else{
	FREE(x77,1);
	COPY(x1,1);
	CPCLS(__AObjectGeneration_10,1);
	CPPRD(__AObjectGeneration_33,1);
	CPPRD(__AObjectGeneration_36,1);
	{OBJ x95;OBJ x96;OBJ x97;
	 x95=_ARep_119(x52);
	 ADenotation_4(x95,__AObjectGeneration_33,x96);
	 ADenotation_4(__AObjectGeneration_36,x96,x97);
	 ABUILTIN_12(x97,x98);}}
       COPY(x98,1);
       x99=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AObjectGeneration_10,2))(__AObjectGeneration_10,x98,x1);
       x100=_AObjectGeneration_23(x1,x3,x98,x76);
       r=_ASeqReduce_4(x99,x100,x53);}}}}}}
 return r;}

extern OBJ _AObjectGeneration_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addLaw,1 */
{OBJ r;
 {OBJ x11=FLD1(x3,1);OBJ x12=FLD1(x3,2);
  if(EXPRD(x3,1)){
   DSPRDF(x3);
  }else{
   CPPRD(x11,1);CPPRD(x12,1);
   FRPRD(x3,1);}
  r=_AObjectGeneration_11(x1,x2,x11,x12,__ANat_5,x4);}
 return r;}

extern OBJ _AObjectGeneration_11(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* addLaw,2 */
{OBJ r;
 {OBJ x98=FLD1(x6,1);
  CPPRD(x98,1);
  {OBJ x132=FLD1(x3,1);OBJ x133=FLD1(x3,2);OBJ x134=FLD1(x3,3);
   if(EXPRD(x3,1)){
    CPPRD(x132,1);
    DSPRDF(x3);
   }else{
    CPPRD(x132,2);CPPRD(x133,1);COPY(x134,1);
    FRPRD(x3,1);}
   {OBJ x136;
    x136=_ABaseGeneration_3(x132);
    {OBJ x137=FLD1(x98,1);
     if(EXPRD(x98,1)){
      FREE(FLD1(x98,2),1);DSPRDF(x98);
     }else{
      DCPRD(x98,1);}
     {OBJ x141=FLD1(x132,3);
      {OBJ x142;OBJ x144;OBJ x145;OBJ x146;
       x142=_ABaseGeneration_17(x134,x137);
       if(ISTGPRM(x141,1)){
	if(EXPRD(x132,1)){
	 FRPRD(FLD1(x132,2),1);DSPRDF(x132);
	}else{
	 DCPRD(x132,1);}
	x144=__AOption_5;
       }else{
	{OBJ x143;
	 x143=_ARep_119(x132);
	 PRD1(1,x144);FLD1(x144,1)=x143;}}
       {TUP2 t=_APropGeneration_2(x2,x4,x133,x6);
	x145=t.c1;
	x146=t.c2;}
       {OBJ x147=FLD1(x146,1);OBJ x148=FLD1(x146,2);FLAG x_x146=EXPRD(x146,1);
	if(x_x146){
	}else{
	 CPPRD(x147,1);COPY(x148,1);}
	{OBJ x150=FLD1(x147,2);
	 COPY(x150,1);
	 COPY(x1,1);
	 CPCLS(__AInterOpal_314,1);
	 {OBJ x151;OBJ x152;OBJ x153;
	  x151=_AMap_16(__AInterOpal_314,x150,x1);
	  PRD(5,1,x152);FLD(x152,1)=x142;FLD(x152,2)=x136;FLD(x152,3)=x144;FLD(x152,4)=x145;FLD(x152,5)=__ASeq_6;
	  x153=_ABaseGeneration_11(x152,x151);
	  if(x_x146){
	   RSOME(x146,r);
	  }else{
	   FRPRD(x146,1);PRD1(2,r);FLD1(r,2)=x148;}
	  FLD1(r,1)=_ABaseGeneration_7(x1,x153,x147);}}}}}}}}}
 return r;}

extern OBJ _AObjectGeneration_15(OBJ x1,OBJ x2,OBJ x3) /* addExternalNameH */
{OBJ r;
 CPCLS(__AObjectGeneration_27,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AObjectGeneration_27,1))(__AObjectGeneration_27,__ABUILTIN_20);
  if(ISTGPRM(x4,1)){
   COPY(x1,1);
   COPY(x2,1);
   x5=_AAGSig_14(x1,x2);
  }else{
   x5=__ABUILTIN_3;}
  if(ISTGPRM(x5,1)){
   FREE(x1,1);
   FREE(x2,1);
   r=x3;
  }else{
   COPY(x1,1);
   COPY(x2,1);
   {TUP2 x7;
    x7=_ANameGeneration_1(x1,x3,x2);
    {OBJ x17=FLD1(x7.c1,1);OBJ x18;FLAG x_x7_c1=EXPRD(x7.c1,1);
     if(x_x7_c1){
     }else{
      x18=FLD1(x7.c1,2);CPPRD(x17,1);COPY(x18,1);}
     CPPRD(x7.c2,1);
     {OBJ x19;OBJ x20;
      x19=_AObjectGeneration_16(x17,x7.c2);
      if(x_x7_c1){
       RSOME(x7.c1,x20);FLD1(x20,1)=x19;
      }else{
       FRPRD(x7.c1,1);PRD1(2,x20);FLD1(x20,1)=x19;FLD1(x20,2)=x18;}
      r=_AObjectGeneration_17(x1,x20,x2,x7.c2);}}}}}
 return r;}

extern OBJ _AObjectGeneration_16(OBJ x1,OBJ x2) /* add2Only */
{OBJ r;
 {OBJ x83=FLD1(x1,2);
  COPY(x83,1);
  {OBJ x117=FLD1(x2,2);OBJ x118=FLD1(x2,3);
   COPY(x117,1);COPY(x118,1);
   if(ISPRM(x117)){
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    FREE(x83,1);
    FREE(x118,1);
    r=x1;
   }else{
    CPPRD(x117,1);
    CPCLS(__AInterOpal_314,1);
    {OBJ x120;
     x120=_AMap_16(__AInterOpal_314,x83,x117);
     {OBJ x125=FLD1(x120,5);
      COPY(x125,2);
      COPY(x118,1);
      CPCLS(__AInterOpal_315,1);
      {OBJ x129;OBJ x136;OBJ x137;
       x129=_AMap_20(__AInterOpal_315,x118,x125);
       if(ISTGPRM(x129,1)){
	CPPRD(x2,1);
	COPY(x118,1);
	CPCLS(__AInterOpal_315,1);
	CPCLS(__ABaseGeneration_5,1);
	{OBJ x130;OBJ x131;OBJ x132;
	 x130=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABaseGeneration_5,1))(__ABaseGeneration_5,x2);
	 x131=_AMap_16(__AInterOpal_315,x125,x118);
	 COPY(x131,1);
	 x132=_ASeq_40(x130,x131);
	 if(ISTGPRM(x132,1)){
	  x136=x131;
	  if(EXPRD(x2,1)){
	   DSPRD(x2);
	  }else{
	   DCPRD(x2,1);}
	  x137=__ABUILTIN_3;
	 }else{
	  PRD1(2,x136);FLD1(x136,1)=x2;FLD1(x136,2)=x131;
	  x137=__ABUILTIN_5;}}
       }else{
	FREE(x125,1);
	PRD1(2,x136);FLD1(x136,1)=x2;FLD1(x136,2)=__ASeq_6;
	x137=__ABUILTIN_5;}
       if(ISTGPRM(x137,1)){
	{OBJ x138;
	 x138=_ABaseGeneration_9(x118,x136,x120);
	 r=_ABaseGeneration_7(x117,x138,x1);}
       }else{
	if(EXPRD(x117,1)){
	 DSPRDF(x117);
	}else{
	 DCPRD(x117,1);}
	FREE(x118,1);
	if(EXPRD(x120,1)){
	 DSPRD(x120);
	}else{
	 DCPRD(x120,1);}
	FREE(x136,1);
	r=x1;}}}}}}}
 return r;}

extern OBJ _AObjectGeneration_17(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* add2Object */
{OBJ r;
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x23;
  x23=_AAnalyzedGlobSig_2(x1,x3);
  {OBJ x280=FLD1(x2,1);
   CPPRD(x280,1);
   {OBJ x354=FLD1(x4,1);OBJ x355=FLD1(x4,2);
    COPY(x355,1);
    {OBJ x357;
     x357=_ARep_119(x23);
     {OBJ x359=FLD1(x280,2);
      COPY(x359,1);
      if(EXPRD(x280,1)){
       FREE(FLD1(x280,2),1);DSPRDF(x280);
      }else{
       DCPRD(x280,1);}
      COPY(x355,1);
      CPCLS(__AInterOpal_314,1);
      {OBJ x360;
       x360=_AMap_16(__AInterOpal_314,x359,x355);
       {OBJ x366=FLD1(x360,6);
	if(EXPRD(x360,1)){
	 COPY(x366,1);
	 FLD1(x360,6)=NIL;DSPRD(x360);
	}else{
	 COPY(x366,2);
	 FRPRD(x360,1);}
	CPCLS(__AInterOpal_310,1);
	{OBJ x369;
	 x369=_AMap_20(__AInterOpal_310,x354,x366);
	 if(ISTGPRM(x369,1)){
	  CPCLS(__AObjectGeneration_25,1);
	  {OBJ x370;OBJ x371;OBJ x373;
	   x370=(*(OBJ(*)(OBJ,OBJ))METHOD(__AObjectGeneration_25,1))(__AObjectGeneration_25,__ABUILTIN_20);
	   if(ISTGPRM(x370,1)){
	    x371=__ABUILTIN_3;
	   }else{
	    x371=__ABUILTIN_5;}
	   if(ISTGPRM(x371,1)){
	    if(ISPRD(x3)&&(ISTGPRD(x3,1))){
	     x373=__ABUILTIN_5;
	    }else{
	     x373=__ABUILTIN_3;}
	   }else{
	    x373=__ABUILTIN_3;}
	   if(ISTGPRM(x373,1)){
	    CPCLS(__AInterOpal_310,1);
	    {OBJ x375;
	     x375=_AMap_16(__AInterOpal_310,x366,x354);
	     {OBJ x380=FLD1(x375,5);OBJ x381=FLD1(x375,6);OBJ x382=FLD1(x375,7);FLAG x_x375=EXPRD(x375,1);
	      if(x_x375){
	      }else{
	       COPY(x380,1);COPY(x381,1);COPY(x382,1);}
	      COPY(x355,1);
	      {TUP5 x384;
	       x384=_AObjectGeneration_18(x1,x2,x3,x4,x355);
	       {OBJ x389=FLD1(x384.c1,1);OBJ x390=FLD1(x384.c1,2);FLAG x_x384_c1=EXPRD(x384.c1,1);
		if(x_x384_c1){
		}else{
		 CPPRD(x389,1);COPY(x390,1);}
		{OBJ x394;OBJ x391;
		 if(ISPRM(x384.c5)){
		  x394=__ABUILTIN_5;
		 }else{
		  x394=__ABUILTIN_3;}
		 if(ISPRM(x384.c4)&&(ISTGPRM(x384.c4,0))){
		  x391=__ABUILTIN_5;
		 }else{
		  x391=__ABUILTIN_3;}
		 {OBJ x396=FLD1(x389,2);
		  COPY(x396,1);
		  {OBJ x398;OBJ x397;OBJ x399;OBJ x400;OBJ x401;
		   if(ISTGPRM(x394,1)){
		    x398=x381;
		    FREE(x384.c5,1);
		   }else{
		    x398=x384.c5;
		    FREE(x381,1);}
		   if(ISTGPRM(x391,1)){
		    x397=x380;
		    FREE(x384.c4,1);
		    COPY(x355,1);
		    CPCLS(__AInterOpal_314,1);
		   }else{
		    x397=x384.c4;
		    FREE(x380,1);
		    COPY(x355,1);
		    CPCLS(__AInterOpal_314,1);}
		   if(x_x375){
		    RSOME(x375,x399);FREE(FLD1(x399,1),1);FLD1(x399,1)=x384.c2;FLD1(x399,2)=x354;FRPRD(FLD1(x399,3),1);FLD1(x399,3)=x357;FREE(FLD1(x399,4),1);FLD1(x399,4)=x384.c3;FLD1(x399,5)=x397;FLD1(x399,6)=x398;
		   }else{
		    FRPRD(x375,1);PRD1(7,x399);FLD1(x399,1)=x384.c2;FLD1(x399,2)=x354;FLD1(x399,3)=x357;FLD1(x399,4)=x384.c3;FLD1(x399,5)=x397;FLD1(x399,6)=x398;FLD1(x399,7)=x382;}
		   x400=_AMap_16(__AInterOpal_314,x396,x355);
		   x401=_ABaseGeneration_10(x399,x400);
		   if(x_x384_c1){
		    RSOME(x384.c1,r);
		   }else{
		    FRPRD(x384.c1,1);PRD1(2,r);FLD1(r,2)=x390;}
		   FLD1(r,1)=_ABaseGeneration_7(x355,x401,x389);}}}}}}}
	   }else{
	    FREE(x1,1);
	    FREE(x3,1);
	    if(EXPRD(x4,1)){
	     DSPRD(x4);
	    }else{
	     DCPRD(x4,1);}
	    FREE(x355,1);
	    FRPRD(x357,1);
	    FREE(x366,1);
	    r=x2;}}
	 }else{
	  FREE(x366,1);
	  COPY(x355,1);
	  {TUP5 x404;
	   x404=_AObjectGeneration_18(x1,x2,x3,x4,x355);
	   {OBJ x409=FLD1(x404.c1,1);OBJ x410=FLD1(x404.c1,2);FLAG x_x404_c1=EXPRD(x404.c1,1);
	    if(x_x404_c1){
	    }else{
	     CPPRD(x409,1);COPY(x410,1);}
	    {OBJ x412=FLD1(x409,2);
	     COPY(x412,1);
	     COPY(x355,1);
	     CPCLS(__AInterOpal_314,1);
	     {OBJ x413;OBJ x414;OBJ x415;
	      PRD1(7,x413);FLD1(x413,1)=x404.c2;FLD1(x413,2)=x354;FLD1(x413,3)=x357;FLD1(x413,4)=x404.c3;FLD1(x413,5)=x404.c4;FLD1(x413,6)=x404.c5;FLD1(x413,7)=__ASeq_6;
	      x414=_AMap_16(__AInterOpal_314,x412,x355);
	      x415=_ABaseGeneration_10(x413,x414);
	      if(x_x404_c1){
	       RSOME(x404.c1,r);
	      }else{
	       FRPRD(x404.c1,1);PRD1(2,r);FLD1(r,2)=x410;}
	      FLD1(r,1)=_ABaseGeneration_7(x355,x415,x409);}}}}}}}}}}}}}
 return r;}

extern TUP5 _AObjectGeneration_18(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* lookupPosKindImplProp */
{TUP5 r;
 COPY(x1,1);
 COPY(x3,1);
 FREE(x5,1);
 {OBJ x13;
  x13=_AAnalyzedGlobSig_56(x1,x3);
  {OBJ x276=FLD1(x2,1);
   CPPRD(x276,1);
   if(ISPRD(x3)&&(ISTGPRD(x3,1))){
    {OBJ x367=FLD(x3,1);
     {OBJ x368=FLD1(x276,1);
      COPY(x1,3);
      CPPRD(x3,3);
      {OBJ x370;TUP2 x371;TUP2 x374;OBJ x377;OBJ x378;OBJ x382;OBJ x383;OBJ x411;OBJ x438;OBJ x470;OBJ x496;OBJ x506;
       x370=_ABaseGeneration_18(x1,x3,x368);
       x371=_AFctGeneration_1(x1,x2,x3);
       x374=_AImplGeneration_1(x1,x3,x371.c1,x13);
       if(ISPRD(x374.c2)&&(ISTGPRD(x374.c2,4))){
	x377=__ABUILTIN_5;
       }else{
	x377=__ABUILTIN_3;}
       if(ISTGPRM(x377,1)){
	x378=__ABUILTIN_5;
       }else{
	x378=__ABUILTIN_3;}
       if(ISTGPRM(x378,1)){
	COPY(x1,1);
	{TUP2 t=_AObjectGeneration_19(x1,x374.c1,x3,x4);
	 x382=t.c1;
	 x383=t.c2;}
       }else{
	CPPRD(x3,1);
	{OBJ x379;OBJ x380;
	 x379=_AAnalyzedGlobSig_1(x3);
	 if(ISTGPRM(x379,1)){
	  COPY(x1,1);
	  CPPRD(x3,1);
	  x380=_AName4SigAna_4(x1,x3);
	 }else{
	  x380=__ABUILTIN_3;}
	 if(ISTGPRM(x380,1)){
	  COPY(x1,1);
	  {TUP2 t=_AObjectGeneration_20(x1,x374.c1,x3,x4);
	   x382=t.c1;
	   x383=t.c2;}
	 }else{
	  x382=x374.c1;
	  if(EXPRD(x3,1)){
	   DSPRDF(x3);
	  }else{
	   DCPRD(x3,1);}
	  FRPRD(x4,1);
	  x383=__ASeq_6;}}}
       x411=_AGlobSig_56(x1);
       x438=_ADArray_20(x411,x367);
       if(ISTGPRD(x438,1)){
	x470=__ABUILTIN_5;
       }else{
	x470=__ABUILTIN_3;}
       if(ISTGPRM(x470,1)){
	if(ISTGPRD(x438,1)){
	 {OBJ x494=FLD(x438,6);
	  COPY(x494,1);
	  if(ISPRM(x494)){
	   x496=__ABUILTIN_3;
	  }else{
	   if(EXPRD(x494,1)){
	    FRPRD(FLD1(x494,1),1);DSPRDF(x494);
	   }else{
	    DCPRD(x494,1);}
	   x496=__ABUILTIN_5;}}
	}else{
	 HLT("DeclEntry at <unknown> : undefined selection spc\'DeclEntry:declE->option");}
       }else{
	x496=__ABUILTIN_3;}
       if(ISTGPRM(x496,1)){
	if(ISTGPRD(x438,1)){
	 {OBJ x502=FLD(x438,6);
	  if(EXPRD(x438,1)){
	   FLD(x438,6)=NIL;DSPRD(x438);
	  }else{
	   COPY(x502,1);
	   FRPRD(x438,1);}
	  if(ISPRM(x502)){
	   HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	  }else{
	   {OBJ x503=FLD1(x502,1);
	    if(EXPRD(x502,1)){
	     r.c2=x370;r.c3=x371.c2;r.c4=x374.c2;r.c1=x382;
	     DSPRDF(x502);
	    }else{
	     CPPRD(x503,1);
	     r.c2=x370;r.c3=x371.c2;r.c4=x374.c2;r.c1=x382;
	     FRPRD(x502,1);}
	    {
	     if(EXPRD(x276,1)){
	      RSOME(x276,r.c5);FREE(FLD1(r.c5,2),1);FLD1(r.c5,2)=x383;
	     }else{
	      DCPRD(x276,1);PRD1(2,r.c5);FLD1(r.c5,2)=x383;}
	     FLD1(r.c5,1)=_ABaseGeneration_3(x503);}}}}
	}else{
	 HLT("DeclEntry at <unknown> : undefined selection spc\'DeclEntry:declE->option");}
       }else{
	if(EXPRD(x276,1)){
	 FREE(FLD1(x276,2),1);DSPRDF(x276);
	}else{
	 DCPRD(x276,1);}
	r.c2=x370;r.c3=x371.c2;r.c4=x374.c2;r.c1=x382;r.c5=x383;
	FRPRD(x438,1);}}}}
   }else{
    {OBJ x507=FLD1(x276,1);
     COPY(x1,3);
     COPY(x3,3);
     {OBJ x509;TUP2 x510;TUP2 x513;OBJ x516;OBJ x517;OBJ x521;OBJ x522;OBJ x565;
      x509=_ABaseGeneration_18(x1,x3,x507);
      x510=_AFctGeneration_1(x1,x2,x3);
      x513=_AImplGeneration_1(x1,x3,x510.c1,x13);
      if(ISPRD(x513.c2)&&(ISTGPRD(x513.c2,4))){
       x516=__ABUILTIN_5;
      }else{
       x516=__ABUILTIN_3;}
      x517=__ABUILTIN_3;
      if(ISTGPRM(x517,1)){
       COPY(x1,1);
       COPY(x3,1);
       {TUP2 t=_AObjectGeneration_19(x1,x513.c1,x3,x4);
	x521=t.c1;
	x522=t.c2;}
      }else{
       COPY(x3,1);
       {OBJ x518;OBJ x519;
	x518=_AAnalyzedGlobSig_1(x3);
	if(ISTGPRM(x518,1)){
	 COPY(x1,1);
	 COPY(x3,1);
	 x519=_AName4SigAna_4(x1,x3);
	}else{
	 x519=__ABUILTIN_3;}
	if(ISTGPRM(x519,1)){
	 COPY(x1,1);
	 COPY(x3,1);
	 {TUP2 t=_AObjectGeneration_20(x1,x513.c1,x3,x4);
	  x521=t.c1;
	  x522=t.c2;}
	}else{
	 x521=x513.c1;
	 FRPRD(x4,1);
	 x522=__ASeq_6;}}}
      if(ISPRD(x3)&&(ISTGPRD(x3,2))){
       CPPRD(x3,1);
       {OBJ x526;OBJ x527;OBJ x528;OBJ x529;OBJ x530;OBJ x531;OBJ x536;OBJ x541;OBJ x552;
	x526=_AName_12(x3);
	x527=_AGlobSig_55(x1);
	x528=_AName_11(x3);
	x529=_ADArray_20(x527,x526);
	x530=_AImpExpEntry_92(x529);
	x531=_ADArray_20(x530,x528);
	if(ISTGPRD(x531,1)){
	 x536=__ABUILTIN_5;
	}else{
	 x536=__ABUILTIN_3;}
	if(ISTGPRM(x536,1)){
	 x541=__ABUILTIN_5;
	}else{
	 if(ISTGPRD(x531,3)){
	  x541=__ABUILTIN_5;
	 }else{
	  x541=__ABUILTIN_3;}}
	if(ISTGPRM(x541,1)){
	 {OBJ x550;
	  if(ISTGPRD(x531,3)||ISTGPRD(x531,1)){
	   {OBJ x545=FLD(x531,4);
	    COPY(x545,1);
	    x550=x545;}
	  }else{
	   HLT("ImpExpEntry at <unknown> : undefined selection spc\'ImpExpEntry:impDeclE->option");}
	  if(ISPRM(x550)){
	   x552=__ABUILTIN_3;
	  }else{
	   if(EXPRD(x550,1)){
	    FRPRD(FLD1(x550,1),1);DSPRDF(x550);
	   }else{
	    DCPRD(x550,1);}
	   x552=__ABUILTIN_5;}}
	}else{
	 x552=__ABUILTIN_3;}
	if(ISTGPRM(x552,1)){
	 {OBJ x561;
	  if(ISTGPRD(x531,3)||ISTGPRD(x531,1)){
	   {OBJ x556=FLD(x531,4);
	    if(EXPRD(x531,1)){
	     x561=x556;
	     FLD(x531,4)=NIL;DSPRD(x531);
	    }else{
	     COPY(x556,1);
	     x561=x556;
	     FRPRD(x531,1);}}
	  }else{
	   HLT("ImpExpEntry at <unknown> : undefined selection spc\'ImpExpEntry:impDeclE->option");}
	  if(ISPRM(x561)){
	   HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	  }else{
	   {OBJ x562=FLD1(x561,1);
	    if(EXPRD(x561,1)){
	     r.c2=x509;r.c3=x510.c2;r.c4=x513.c2;r.c1=x521;
	     DSPRDF(x561);
	    }else{
	     CPPRD(x562,1);
	     r.c2=x509;r.c3=x510.c2;r.c4=x513.c2;r.c1=x521;
	     FRPRD(x561,1);}
	    {
	     if(EXPRD(x276,1)){
	      RSOME(x276,r.c5);FREE(FLD1(r.c5,2),1);FLD1(r.c5,2)=x522;
	     }else{
	      DCPRD(x276,1);PRD1(2,r.c5);FLD1(r.c5,2)=x522;}
	     FLD1(r.c5,1)=_ABaseGeneration_3(x562);}}}}
	}else{
	 if(EXPRD(x276,1)){
	  FREE(FLD1(x276,2),1);DSPRDF(x276);
	 }else{
	  DCPRD(x276,1);}
	 r.c2=x509;r.c3=x510.c2;r.c4=x513.c2;r.c1=x521;r.c5=x522;
	 FRPRD(x531,1);}}
      }else{
       if(EXPRD(x276,1)){
	FREE(FLD1(x276,2),1);DSPRDF(x276);
       }else{
	DCPRD(x276,1);}
       r.c2=x509;r.c3=x510.c2;r.c4=x513.c2;r.c1=x521;r.c5=x522;
       FREE(x1,1);
       FREE(x3,1);}}}}}}
 return r;}
extern OBJ _AObjectGeneration_18_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* lookupPosKindImplProp */
{OBJ r;
 {TUP5 t=_AObjectGeneration_18(x1,x2,x3,x4,x5);
  PRD1(5,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;
  FLD1(r,5)=t.c5;}
 return r;}

extern TUP2 _AObjectGeneration_19(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* lookupInternalProp */
{TUP2 r;
 {OBJ x78=FLD1(x4,2);
  COPY(x78,1);
  if(ISPRM(x78)&&(ISTGPRM(x78,1))){
   COPY(x1,1);
   {OBJ x80;
    x80=_AAnalyzedGlobSig_54(x1,x3);
    if(ISPRD(x80)&&(ISTGPRD(x80,3))){
     {TUP2 x83;OBJ x85;
      x83=_APropGeneration_1(x1,x4,x2,x80);
      CPPRD(x83.c2,1);
      x85=_AInterOpal_275(x83.c2);
      {OBJ x86=FLD1(x83.c1,1);OBJ x87=FLD1(x83.c1,2);FLAG x_x83_c1=EXPRD(x83.c1,1);
       if(x_x83_c1){
       }else{
	CPPRD(x86,1);COPY(x87,1);}
       {OBJ x88;
	if(x_x83_c1){
	 RSOME(x83.c1,x88);FLD1(x88,1)=x85;FLD1(x88,2)=__ASeq_6;
	}else{
	 FRPRD(x83.c1,1);PRD1F(2,x88);FLD1(x88,1)=x85;FLD1(x88,2)=__ASeq_6;}
	{OBJ x90=FLD1(x86,2);
	 COPY(x90,1);
	 r.c2=x88;
	 CPCLS(__AInterOpal_314,1);
	 {OBJ x91;OBJ x92;
	  x91=_AMap_16(__AInterOpal_314,x90,__AInterOpal_27);
	  x92=_ABaseGeneration_11(x83.c2,x91);
	  PRD1(2,r.c1);FLD1(r.c1,2)=x87;
	  FLD1(r.c1,1)=_ABaseGeneration_7(__AInterOpal_27,x92,x86);}}}}}
    }else{
     FREE(x1,1);
     if(EXPRD(x4,1)){
      DSPRD(x4);
     }else{
      DCPRD(x4,1);}
     FREE(x80,1);
     r.c1=x2;r.c2=__ASeq_6;}}
  }else{
   HLT("ObjectGeneration at <241,5-22> : missing else in lookupInternalProp\'ObjectGeneration:globSig->envIO**name**name->envIO**seq");}}
 return r;}
extern OBJ _AObjectGeneration_19_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* lookupInternalProp */
{OBJ r;
 {TUP2 t=_AObjectGeneration_19(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AObjectGeneration_20(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* lookupExternalProp */
{TUP2 r;
 COPY(x1,2);
 COPY(x3,1);
 {OBJ x17;OBJ x18;
  x17=_AAGSig_12(x1,x3);
  x18=_AAnalyzedGlobSig_54(x1,x3);
  {OBJ x69=FLD1(x4,2);
   COPY(x69,1);
   if(ISPRD(x18)&&(ISTGPRD(x18,3))){
    COPY(x1,1);
    CPPRD(x4,1);
    {TUP2 x73;TUP2 x76;OBJ x78;
     x73=_APropGeneration_1(x1,x4,x2,x18);
     FRPRD(x73.c2,1);
     x76=_APropGeneration_1(x1,x4,x73.c1,x17);
     CPPRD(x76.c2,1);
     x78=_AInterOpal_275(x76.c2);
     {OBJ x79=FLD1(x76.c1,1);OBJ x80=FLD1(x76.c1,2);FLAG x_x76_c1=EXPRD(x76.c1,1);
      if(x_x76_c1){
      }else{
       CPPRD(x79,1);COPY(x80,1);}
      {OBJ x81;
       if(x_x76_c1){
	RSOME(x76.c1,x81);FLD1(x81,1)=x78;FLD1(x81,2)=__ASeq_6;
       }else{
	FRPRD(x76.c1,1);PRD1F(2,x81);FLD1(x81,1)=x78;FLD1(x81,2)=__ASeq_6;}
       {OBJ x83=FLD1(x79,2);
	COPY(x83,1);
	r.c2=x81;
	COPY(x69,1);
	CPCLS(__AInterOpal_314,1);
	{OBJ x84;OBJ x85;
	 x84=_AMap_16(__AInterOpal_314,x83,x69);
	 x85=_ABaseGeneration_11(x76.c2,x84);
	 PRD1(2,r.c1);FLD1(r.c1,2)=x80;
	 FLD1(r.c1,1)=_ABaseGeneration_7(x69,x85,x79);}}}}}
   }else{
    FREE(x1,1);
    if(EXPRD(x4,1)){
     DSPRD(x4);
    }else{
     DCPRD(x4,1);}
    FREE(x17,1);
    FREE(x18,1);
    FREE(x69,1);
    r.c1=x2;r.c2=__ASeq_6;}}}
 return r;}
extern OBJ _AObjectGeneration_20_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* lookupExternalProp */
{OBJ r;
 {TUP2 t=_AObjectGeneration_20(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AObjectGeneration_21(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* pItem2PItem */
{TUP2 r;
 if(ISTGPRD(x4,0)){
  {OBJ x45=FLD(x4,1);
   if(EXPRD(x4,1)){
    CPCLS(__ANameGeneration_1,1);
    {OBJ x46;
     x46=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_1,1))(__ANameGeneration_1,x1);
     RPRD(x4,r.c2);
     {TUP2 t=_ASeqMapEnv_4(x46,x3,x45);
      r.c1=t.c1;
      FLD(r.c2,1)=t.c2;}}
   }else{
    COPY(x45,1);
    CPCLS(__ANameGeneration_1,1);
    {OBJ x46;
     x46=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_1,1))(__ANameGeneration_1,x1);
     FRPRD(x4,1);PRD(1,0,r.c2);
     {TUP2 t=_ASeqMapEnv_4(x46,x3,x45);
      r.c1=t.c1;
      FLD(r.c2,1)=t.c2;}}}}
 }else{
  {OBJ x51=FLD(x4,1);OBJ x52=FLD(x4,2);FLAG x_x4=EXPRD(x4,1);
   if(x_x4){
   }else{
    CPPRD(x51,1);COPY(x52,1);}
   FREE(x1,1);
   {OBJ x54;OBJ x55;
    x54=_ARep_119(x51);
    x55=_ABaseGeneration_17(x52,x2);
    if(x_x4){
     RPRD(x4,r.c2);FLD(r.c2,1)=x55;FLD(r.c2,2)=x54;
    }else{
     FRPRD(x4,1);PRD(2,1,r.c2);FLD(r.c2,1)=x55;FLD(r.c2,2)=x54;}
    r.c1=x3;}}}
 return r;}
extern OBJ _AObjectGeneration_21_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* pItem2PItem */
{OBJ r;
 {TUP2 t=_AObjectGeneration_21(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AObjectGeneration_22(OBJ x1,OBJ x2) /* findStructs */
{OBJ r;
 CPCLS(__AObjectGeneration_29,1);
 COPY(x1,1);
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AObjectGeneration_29,2))(__AObjectGeneration_29,x1,x2);
  r=_ADArrayReduce_6(x4,__ASeq_6,x3);}
 return r;}

extern OBJ _AObjectGeneration_23(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* createEmptyStruct */
{OBJ r;
 if(ISPRD(x3)){
  {OBJ x174=FLD1(x3,1);
   {OBJ x175=FLD1(x2,1);OBJ x176=FLD1(x2,2);
    CPPRD(x175,1);COPY(x176,1);
    {OBJ x178=FLD1(x175,2);
     COPY(x178,1);
     CPPRD(x3,1);
     CPCLS(__AInterOpal_314,1);
     {OBJ x179;
      x179=_AMap_20(__AInterOpal_314,x3,x178);
      if(ISTGPRM(x179,1)){
       FREE(x1,1);
       if(EXPRD(x3,1)){
	DSPRDF(x3);
       }else{
	DCPRD(x3,1);}
       if(EXPRD(x175,1)){
	FREE(FLD1(x175,2),1);DSPRDF(x175);
       }else{
	DCPRD(x175,1);}
       FREE(x176,1);
       r=x2;
      }else{
       if(EXPRD(x2,1)){
	DSPRD(x2);
       }else{
	DCPRD(x2,1);}
       COPY(x1,1);
       {OBJ x180;
	x180=_AGlobSig_55(x1);
	if(ISTGPRM(x4,1)){
	 COPY(x1,2);
	 {OBJ x181;OBJ x182;OBJ x183;OBJ x184;
	  x181=_AAGSig_8(x1,x174);
	  x182=_ADArray_20(x180,x174);
	  x183=_ABaseGeneration_16(x1,x174);
	  x184=_AImpExpEntry_93(x182);
	  {OBJ x185=FLD1(x184,1);FLAG x_x184=EXPRD(x184,1);
	   if(x_x184){
	   }else{
	    CPPRD(x185,1);}
	   CPPRD(x3,2);
	   COPY(x181,1);
	   CPCLS(__AName_32,1);
	   CPCLS(__ANameGeneration_1,1);
	   {OBJ x187;OBJ x188;OBJ x189;OBJ x190;OBJ x191;OBJ x192;TUP2 x194;
	    x187=_ARep_119(x185);
	    PRD1(8,x188);FLD1(x188,1)=x183;FLD1(x188,2)=x3;FLD1(x188,3)=x187;FLD1(x188,4)=__ATree_7;FLD1(x188,5)=__ATree_7;FLD1(x188,6)=__ATree_7;FLD1(x188,7)=__ATree_7;FLD1(x188,8)=__ASeq_6;
	    x189=_ABaseGeneration_7(x3,x188,x175);
	    if(x_x184){
	     RSOME(x184,x190);FLD1(x190,1)=x189;FREE(FLD1(x190,2),1);FLD1(x190,2)=x176;
	    }else{
	     FRPRD(x184,1);PRD1(2,x190);FLD1(x190,1)=x189;FLD1(x190,2)=x176;}
	    x191=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANameGeneration_1,1))(__ANameGeneration_1,x1);
	    x192=_ASetConv_3(__AName_32,x181);
	    x194=_ASeqMapEnv_4(x191,x190,x181);
	    {OBJ x196=FLD1(x194.c1,1);OBJ x197=FLD1(x194.c1,2);FLAG x_x194_c1=EXPRD(x194.c1,1);
	     if(x_x194_c1){
	     }else{
	      CPPRD(x196,1);COPY(x197,1);}
	     {OBJ x199=FLD1(x196,2);
	      COPY(x199,1);
	      CPPRD(x3,1);
	      CPCLS(__AInterOpal_314,1);
	      CPCLS(__AName_32,1);
	      {OBJ x200;OBJ x201;OBJ x202;
	       x200=_AMap_16(__AInterOpal_314,x199,x3);
	       x201=_ASet_41(__AName_32,x197,x192);
	       x202=_ABaseGeneration_8(__AInterOpal_19,x194.c2,x200);
	       if(x_x194_c1){
		RSOME(x194.c1,r);FLD1(r,2)=x201;
	       }else{
		FRPRD(x194.c1,1);PRD1(2,r);FLD1(r,2)=x201;}
	       FLD1(r,1)=_ABaseGeneration_7(x3,x202,x196);}}}}}}
	}else{
	 CPCLS(__AObjectGeneration_30,1);
	 {OBJ x204;OBJ x206;OBJ x207;OBJ x208;
	  x204=(*(OBJ(*)(OBJ,OBJ))METHOD(__AObjectGeneration_30,1))(__AObjectGeneration_30,__ABUILTIN_20);
	  x206=_ADArray_20(x180,x174);
	  x207=_ABaseGeneration_16(x1,x174);
	  x208=_AImpExpEntry_93(x206);
	  {OBJ x209=FLD1(x208,1);
	   if(EXPRD(x208,1)){
	    CPPRD(x3,1);
	    {OBJ x211;OBJ x212;
	     x211=_ARep_119(x209);
	     PRD1(8,x212);FLD1(x212,1)=x207;FLD1(x212,2)=x3;FLD1(x212,3)=x211;FLD1(x212,4)=x204;FLD1(x212,5)=__ATree_7;FLD1(x212,6)=__ATree_7;FLD1(x212,7)=__ATree_7;FLD1(x212,8)=__ASeq_6;
	     RSOME(x208,r);FREE(FLD1(r,2),1);FLD1(r,2)=x176;
	     FLD1(r,1)=_ABaseGeneration_7(x3,x212,x175);}
	   }else{
	    CPPRD(x209,1);
	    CPPRD(x3,1);
	    {OBJ x211;OBJ x212;
	     x211=_ARep_119(x209);
	     PRD1(8,x212);FLD1(x212,1)=x207;FLD1(x212,2)=x3;FLD1(x212,3)=x211;FLD1(x212,4)=x204;FLD1(x212,5)=__ATree_7;FLD1(x212,6)=__ATree_7;FLD1(x212,7)=__ATree_7;FLD1(x212,8)=__ASeq_6;
	     FRPRD(x208,1);PRD1(2,r);FLD1(r,2)=x176;
	     FLD1(r,1)=_ABaseGeneration_7(x3,x212,x175);}}}}}}}}}}}
 }else{
  HLT("ObjectGeneration at <336,5-21> : missing else in createEmptyStruct\'ObjectGeneration:globSig**envIO->origin**bool->envIO");}
 return r;}

extern OBJ _AObjectGeneration_25(OBJ x1) /* add2Object'25 */
{OBJ r;
 CPPRD(__AObjectGeneration_24,1);
 r=_ADEBUG_10(__AObjectGeneration_24);
 return r;}

extern OBJ _AObjectGeneration_27(OBJ x1) /* addExternalNameH'27 */
{OBJ r;
 CPPRD(__AObjectGeneration_26,1);
 r=_ADEBUG_10(__AObjectGeneration_26);
 return r;}

extern OBJ _AObjectGeneration_28(OBJ x1) /* addGlobPragma'28 */
{OBJ r;
 COPY(x1,1);
 {OBJ x2;OBJ x3;OBJ x10;
  x2=_ASeq_52(x1,__ANat_5);
  ANat_76(x2,__ANat_8,x3);
  if(ISTGPRM(x3,1)){
   {OBJ x6;
    if(ISPRM(x1)){
     HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
    }else{
     {OBJ x4=FLD1(x1,1);
      CPPRD(x4,1);
      x6=x4;}}
    if(ISTGPRD(x6,1)){
     if(EXPRD(x6,1)){
      DSPRD(x6);
     }else{
      DCPRD(x6,1);}
     x10=__ABUILTIN_5;
    }else{
     if(EXPRD(x6,1)){
      FREE(FLD(x6,1),1);DSPRDF(x6);
     }else{
      DCPRD(x6,1);}
     x10=__ABUILTIN_3;}}
  }else{
   x10=__ABUILTIN_3;}
  if(ISTGPRM(x10,1)){
   {OBJ x13;OBJ x22;OBJ x17;
    if(ISPRM(x1)){
     HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
    }else{
     {OBJ x11=FLD1(x1,1);
      if(EXPRD(x1,1)){
       x13=x11;
       FREE(FLD1(x1,2),1);DSPRDF(x1);
      }else{
       CPPRD(x11,1);
       x13=x11;
       FRPRD(x1,1);}}}
    if(ISTGPRD(x13,1)){
     {OBJ x26=FLD(x13,1);
      if(EXPRD(x13,1)){
       x22=x26;
       FREE(FLD(x13,2),1);DSPRDF(x13);
      }else{
       CPPRD(x26,1);
       x22=x26;
       FRPRD(x13,1);}
      CPPRD(__ARep_96,1);
      x17=__ABUILTIN_5;}
    }else{
     HLT("GlobPragma at <unknown> : undefined selection ide\'GlobPragma:pragmaItem->rep");}
    r=_ARep_24(x22,__ARep_96);}
  }else{
   FREE(x1,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AObjectGeneration_29(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* findStructs'29 */
{OBJ r;
 CPPRD(x4,1);
 {OBJ x6;
  x6=_AImpExpEntry_93(x4);
  {OBJ x7=FLD1(x6,1);FLAG x_x6=EXPRD(x6,1);
   if(x_x6){
   }else{
    CPPRD(x7,1);}
   {OBJ x9;OBJ x10;
    x9=x7;
    x10=_ARep_24(x9,x2);
    if(ISTGPRM(x10,1)){
     {OBJ x11;OBJ x12;OBJ x13;OBJ x14;
      x11=_AImpDecl4SigAna_51(x1,x4);
      PRD1F(1,x12);FLD1(x12,1)=x3;
      if(ISTGPRM(x11,1)){
       x13=__ABUILTIN_3;
      }else{
       x13=__ABUILTIN_5;}
      if(x_x6){
       RSOME(x6,x14);FLD1(x14,1)=x13;FREE(FLD1(x14,2),1);FLD1(x14,2)=x12;
      }else{
       FRPRD(x6,1);PRD1(2,x14);FLD1(x14,1)=x13;FLD1(x14,2)=x12;}
      PRD1(2,r);FLD1(r,1)=x14;FLD1(r,2)=x5;}
    }else{
     if(x_x6){
      FREE(FLD1(x6,2),1);DSPRDF(x6);
     }else{
      FRPRD(x6,1);}
     FREE(x1,1);
     FRPRD(x4,1);
     r=x5;}}}}
 return r;}

extern OBJ _AObjectGeneration_30(OBJ x1) /* createEmptyStruct'30 */
{OBJ r;
 CPCLS(__AInterOpal_315,1);
 r=_AMap_31(__AInterOpal_315,__AInterOpal_21,__ASeq_6,__ATree_7);
 return r;}

static OBJ _mt_5_1_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,1);
 FLDCLS(r,2)=t1;
 return r;}

static OBJ _mt_6_1_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,1);
 FLDCLS(r,2)=t1;
 return r;}

static OBJ _mt_6_2_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  FLDCLS(r,2)=FLDCLS(t,2);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);}
 INCCLS(r,2,2);
 FLDCLS(r,3)=t1;
 FLDCLS(r,4)=t2;
 return r;}

init_AObjectGeneration()
{
 static int visited=0; if(visited) return; visited=1;
 init_APairConv();
 init_ATable();
 init_ASeqConv();
 init_AUniqueTable();
 init_ADeclEntry();
 init_ABoolConv();
 init_APartNameEntry();
 init_AEnvIO();
 init_ALexem();
 init_AImpExpEntry();
 init_AInterOpal();
 init_AReal();
 init_APragma();
 init_AAnalyzedGlobSig();
 init_AMaps4SigAna();
 init_AAttributes();
 init_AName();
 init_ADArrayReduce();
 init_ADArray();
 init_ASeq();
 init_ASetByBST();
 init_ANatMap();
 init_AImpl();
 init_ABSTree();
 init_AArray();
 init_AGlobPragma();
 init_ATree();
 init_APartName();
 init_APair();
 init_AAbsyFun3();
 init_ADyn();
 init_ARep();
 init_AAnalyzedGlobSigH();
 init_AGlobSigToText();
 init_AChar();
 init_ABaseGeneration();
 init_ANat();
 init_AMySeqFun1();
 init_AImplGeneration();
 init_AOption();
 init_AName4SigAna();
 init_APropGeneration();
 init_AOcPos();
 init_ANameGeneration();
 init_AFct();
 init_AFctGeneration();
 init_ABitset();
 init_AAGSig();
 init_AObjects();
 init_ATableFun2();
 init_AGlobSig();
 init_ADenotation();
 init_AGlobSigImpl();
 init_ASeqFilter();
 init_APatterns();
 init_ASeqReduce();
 init_AMap();
 init_ASeqMap();
 init_AOcError();
 init_ASetConv();
 init_ACom();
 init_ASetReduce();
 init_AVoid();
 init_ASetMap();
 init_AString();
 init_ASeqMapEnv();
 init_AOcOptions();
 init_ADEBUG();
 init_AStream();
 init_AImpDecl4SigAna();
 init_AFile();
 init_ACompose();
 init_AInt();
 init_ANatConv();
 init_ASet();
 DEN("\' found",__AObjectGeneration_31);
 LCLS(1,_AObjectGeneration_30,__AObjectGeneration_30);
 CLS(5,_AObjectGeneration_29,__AObjectGeneration_29);
 CLS(1,_AObjectGeneration_28,__AObjectGeneration_28);
 LCLS(1,_AObjectGeneration_27,__AObjectGeneration_27);
 DEN("-znoUninstReexport",__AObjectGeneration_26);
 LCLS(1,_AObjectGeneration_25,__AObjectGeneration_25);
 DEN("-znoioOverwrite",__AObjectGeneration_24);
 CLS(4,_AObjectGeneration_23,__AObjectGeneration_23);
 CLS(2,_AObjectGeneration_22,__AObjectGeneration_22);
 CLS(4,_AObjectGeneration_21_c,__AObjectGeneration_21);
 CLS(4,_AObjectGeneration_20_c,__AObjectGeneration_20);
 CLS(4,_AObjectGeneration_19_c,__AObjectGeneration_19);
 CLS(5,_AObjectGeneration_18_c,__AObjectGeneration_18);
 CLS(4,_AObjectGeneration_17,__AObjectGeneration_17);
 CLS(2,_AObjectGeneration_16,__AObjectGeneration_16);
 CLS(3,_AObjectGeneration_15,__AObjectGeneration_15);
 CLS(6,_AObjectGeneration_11,__AObjectGeneration_11);
 CLS(4,_AObjectGeneration_10,__AObjectGeneration_10);
 CLS(3,_AObjectGeneration_8,__AObjectGeneration_8);
 CLS(4,_AObjectGeneration_7,__AObjectGeneration_7);
 CLS(6,_AObjectGeneration_6,__AObjectGeneration_6);
 CLS(4,_AObjectGeneration_5,__AObjectGeneration_5);
 DEN("addImpLaw\'ObjectGeneration: found several structures named `",__AObjectGeneration_36);
 CLS(2,_AObjectGeneration_4,__AObjectGeneration_4);
 DEN("addImpLaw\'ObjectGeneration: no structure named `",__AObjectGeneration_35);
 CLS(5,_AObjectGeneration_3,__AObjectGeneration_3);
 DEN("addImpPragma\'ObjectGeneration: found several structures named `",__AObjectGeneration_34);
 CLS(3,_AObjectGeneration_2,__AObjectGeneration_2);
 DEN("\'",__AObjectGeneration_33);
 CLS(3,_AObjectGeneration_1,__AObjectGeneration_1);
 DEN("addImpPragma\'ObjectGeneration: no structure named `",__AObjectGeneration_32);
 MTH(5,1,1,_mt_5_1_1);LZYMTH(5,1,1,_mt_5_1_1);
 MTH(6,1,1,_mt_6_1_1);LZYMTH(6,1,1,_mt_6_1_1);
 MTH(6,2,2,_mt_6_2_2);LZYMTH(6,2,2,_mt_6_2_2);}

