

#include "BUILTIN.h"

#include "Array.h"
extern OBJ _AName4SigAna_4(OBJ,OBJ);extern OBJ __AName4SigAna_4;
extern OBJ _AName4SigAna_5(OBJ,OBJ);extern OBJ __AName4SigAna_5;
extern OBJ _AName4SigAna_19(OBJ,OBJ);extern OBJ __AName4SigAna_19;
extern TUP2 _AName4SigAna_33(OBJ,OBJ,OBJ);extern OBJ __AName4SigAna_33;
extern TUP2 _AName4SigAna_41(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AName4SigAna_41;
extern OBJ _AName4SigAna_50(OBJ,OBJ);extern OBJ __AName4SigAna_50;
extern OBJ _AName4SigAna_51(OBJ,OBJ,OBJ);extern OBJ __AName4SigAna_51;
extern OBJ _AName4SigAna_55(OBJ,OBJ);extern OBJ __AName4SigAna_55;
extern OBJ _AGlobSig4SigAna_6(OBJ);extern OBJ __AGlobSig4SigAna_6;
extern OBJ _AGlobSig4SigAna_25(OBJ,OBJ,OBJ,OBJ);extern OBJ __AGlobSig4SigAna_25;
extern OBJ _AGlobSig4SigAna_26(OBJ,OBJ,OBJ,OBJ);extern OBJ __AGlobSig4SigAna_26;
extern OBJ _AGlobSig4SigAna_27(OBJ,OBJ,OBJ,OBJ);extern OBJ __AGlobSig4SigAna_27;
extern OBJ _AImpDecl4SigAna_44(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_44;
extern OBJ _AGlobSig_57(OBJ);extern OBJ __AGlobSig_57;
extern OBJ __AObjects_33;
extern OBJ __AObjects_34;
extern OBJ _AObjects_37(OBJ,OBJ);extern OBJ __AObjects_37;
extern TUP2 _AMySeqFun3_7(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMySeqFun3_7;
extern OBJ _AName_12(OBJ);extern OBJ __AName_12;
extern OBJ _AName_27(OBJ);extern OBJ __AName_27;
extern OBJ _AName_31(OBJ,OBJ);extern OBJ __AName_31;
extern OBJ _APartNameEntry_27(OBJ);extern OBJ __APartNameEntry_27;
extern TUP2 _AMySeqFun2_3(OBJ,OBJ);extern OBJ __AMySeqFun2_3;
extern OBJ _AMySeqFun2_12(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_12;
extern OBJ _AAbsyFun2_3(OBJ,OBJ);extern OBJ __AAbsyFun2_3;
extern OBJ _AAbsyFun2_6(OBJ,OBJ,OBJ);extern OBJ __AAbsyFun2_6;
extern TUP2 _AAbsyFun3_4(OBJ,OBJ,OBJ);extern OBJ __AAbsyFun3_4;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ __AOption_5;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _ASeq_42(OBJ,OBJ);extern OBJ __ASeq_42;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;

#include "Nat.h"
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;

#include "Char.h"
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;
extern OBJ __APair_2;

#include "Bitset.h"
extern TUP2 _APartNamePrep_1(OBJ,OBJ);OBJ __APartNamePrep_1; /* convMatchSortPartName */
extern TUP2 _APartNamePrep_2(OBJ,OBJ,OBJ,OBJ);OBJ __APartNamePrep_2; /* convMatchInstPartName */
extern TUP2 _APartNamePrep_3(OBJ,OBJ,OBJ);OBJ __APartNamePrep_3; /* convMatchPartName */
extern TUP2 _APartNamePrep_4(OBJ,OBJ);OBJ __APartNamePrep_4; /* matchStaticKind */
extern OBJ _APartNamePrep_5(OBJ,OBJ,OBJ,OBJ);OBJ __APartNamePrep_5; /* matchStaticKind,1 */
extern OBJ _APartNamePrep_6(OBJ,OBJ,OBJ);OBJ __APartNamePrep_6; /* checkKind */
extern OBJ _APartNamePrep_7(OBJ,OBJ);OBJ __APartNamePrep_7; /* h4 */
extern OBJ _APartNamePrep_8(OBJ);OBJ __APartNamePrep_8; /* ok */
extern OBJ _APartNamePrep_9(OBJ);OBJ __APartNamePrep_9; /* h1 */
extern OBJ _APartNamePrep_10(OBJ);OBJ __APartNamePrep_10; /* h17 */
extern OBJ _APartNamePrep_11(OBJ,OBJ,OBJ);OBJ __APartNamePrep_11; /* treatFinPoss */
extern TUP2 _APartNamePrep_12(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __APartNamePrep_12; /* convMatchNameInst */
extern OBJ _APartNamePrep_13(OBJ,OBJ,OBJ,OBJ);OBJ __APartNamePrep_13; /* convMatchNameFctS */
extern OBJ _APartNamePrep_14(OBJ,OBJ,OBJ);OBJ __APartNamePrep_14; /* convMatchNameFct */
extern OBJ _APartNamePrep_15(OBJ,OBJ);OBJ __APartNamePrep_15; /* h3 */
extern OBJ _APartNamePrep_16(OBJ,OBJ,OBJ);OBJ __APartNamePrep_16; /* checkIntInst */
extern OBJ _APartNamePrep_17(OBJ);OBJ __APartNamePrep_17; /* intCands */
extern OBJ _APartNamePrep_18(OBJ,OBJ,OBJ);OBJ __APartNamePrep_18; /* checkPns */
extern OBJ _APartNamePrep_19(OBJ,OBJ);OBJ __APartNamePrep_19; /* checkPns'19 */
extern OBJ _APartNamePrep_20(OBJ,OBJ);OBJ __APartNamePrep_20; /* checkIntInst'20 */
extern OBJ _APartNamePrep_21(OBJ,OBJ);OBJ __APartNamePrep_21; /* checkIntInst'21 */
extern OBJ _APartNamePrep_22(OBJ,OBJ);OBJ __APartNamePrep_22; /* checkIntInst'22 */
extern OBJ _APartNamePrep_23(OBJ);OBJ __APartNamePrep_23; /* convMatchInstPartName'23 */
extern OBJ _APartNamePrep_24(OBJ);OBJ __APartNamePrep_24; /* convMatchNameInst'24 */

extern TUP2 _APartNamePrep_1(OBJ x1,OBJ x2) /* convMatchSortPartName */
{TUP2 r;
 COPY(x2,1);
 {TUP2 x4;
  x4=_APartNamePrep_3(__ABUILTIN_5,x1,x2);
  r=_AName4SigAna_33(x4.c1,x2,x4.c2);}
 return r;}
extern OBJ _APartNamePrep_1_c(OBJ x1,OBJ x2) /* convMatchSortPartName */
{OBJ r;
 {TUP2 t=_APartNamePrep_1(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _APartNamePrep_2(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convMatchInstPartName */
{TUP2 r;
 COPY(x2,1);
 COPY(x3,1);
 {OBJ x5;OBJ x6;OBJ x7;
  x5=_ASeq_52(x2,__ANat_5);
  x6=_ASeq_52(x3,__ANat_5);
  ANat_76(x5,x6,x7);
  if(ISTGPRM(x7,1)){
   COPY(x1,1);
   COPY(x2,1);
   COPY(x3,1);
   CPCLS(__APartNamePrep_4,1);
   CPCLS(__APartNamePrep_23,1);
   CPPRD(__APair_2,1);
   {OBJ x8;TUP2 x10;OBJ x12;OBJ x13;TUP2 x15;
    x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_23,1))(__APartNamePrep_23,__ABUILTIN_20);
    x10=_ASeqMapEnv_4(x8,x1,x3);
    COPY(x10.c1,1);
    x12=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_4,1))(__APartNamePrep_4,x10.c1);
    x13=_ASeqZip_4(__APair_2,x2,x10.c2);
    x15=_AMySeqFun2_3(x12,x13);
    if(ISTGPRM(x15.c1,1)){
     FREE(x1,1);
     r=_AName4SigAna_41(x10.c1,x4,x3,x2,x15.c2);
    }else{
     FREE(x2,1);
     FREE(x3,1);
     FREE(x10.c1,1);
     FREE(x15.c2,1);
     PRD1(2,r.c2);FLD1(r.c2,1)=__ANat_5;FLD1(r.c2,2)=x4;
     r.c1=x1;}}
  }else{
   FREE(x2,1);
   FREE(x3,1);
   PRD1(2,r.c2);FLD1(r.c2,1)=__ANat_5;FLD1(r.c2,2)=x4;
   r.c1=x1;}}
 return r;}
extern OBJ _APartNamePrep_2_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convMatchInstPartName */
{OBJ r;
 {TUP2 t=_APartNamePrep_2(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _APartNamePrep_3(OBJ x1,OBJ x2,OBJ x3) /* convMatchPartName */
{TUP2 r;
 CPCLS(__APartNamePrep_11,1);
 COPY(x2,1);
 COPY(x3,1);
 {OBJ x36;OBJ x35;OBJ x27;OBJ x19;OBJ x11;
  x36=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_11,2))(__APartNamePrep_11,x2,x3);
  if(ISPRM(x3)){
   HLT("PartName at <unknown> : undefined selection ide\'PartName:partName->rep");
  }else{
   {OBJ x165=FLD1(x3,1);OBJ x167=FLD1(x3,3);OBJ x169=FLD1(x3,5);
    CPPRD(x165,1);COPY(x167,1);COPY(x169,1);
    x35=x165;x11=x167;x27=x169;
    x19=__ABUILTIN_5;}}
  if(ISPRD(x27)){
   {OBJ x94=FLD1(x27,1);
    if(EXPRD(x27,1)){
     DSPRDF(x27);
    }else{
     COPY(x94,1);
     FRPRD(x27,1);}
    {OBJ x102;OBJ x105;OBJ x106;OBJ x118;OBJ x119;OBJ x120;OBJ x121;OBJ x122;OBJ x125;OBJ x128;OBJ x129;OBJ x130;
     if(ISTGPRM(x19,1)){
      if(ISPRM(x3)){
       HLT("PartName at <unknown> : undefined selection structIde\'PartName:partName->option");
      }else{
       {OBJ x96=FLD1(x3,2);
	COPY(x96,1);
	x102=x96;}}
     }else{
      x102=__AOption_5;}
     if(ISPRM(x11)){
      COPY(x2,1);
      CPCLS(__APartNamePrep_8,1);
      x105=__ABUILTIN_5;
     }else{
      COPY(x2,1);
      CPCLS(__APartNamePrep_8,1);
      x105=__ABUILTIN_3;}
     x106=_AGlobSig4SigAna_27(x2,x35,x102,__APartNamePrep_8);
     if(ISTGPRM(x105,1)){
      FREE(x11,1);
      COPY(x2,1);
      COPY(x94,1);
      CPCLS(__APartNamePrep_10,1);
      CPCLS(__APartNamePrep_13,1);
      x119=_ASeqMap_3(__APartNamePrep_10,x106);
      x118=x2;
     }else{
      {OBJ x115;OBJ x116;
       if(ISPRM(x3)){
	HLT("PartName at <unknown> : undefined selection instPos\'PartName:partName->pos");
       }else{
	{OBJ x111=FLD1(x3,4);
	 COPY(x111,1);
	 x115=x111;
	 COPY(x2,1);
	 COPY(x94,1);
	 CPCLS(__APartNamePrep_12,1);
	 CPCLS(__APartNamePrep_13,1);}}
       x116=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_12,2))(__APartNamePrep_12,x11,x115);
       {TUP2 t=_AMySeqFun3_7(x116,x2,__ASeq_6,x106);
	x118=t.c1;
	x119=t.c2;}}}
     COPY(x118,1);
     x120=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_13,2))(__APartNamePrep_13,x118,x94);
     x121=_ASeqReduce_3(x120,__ASeq_6,x119);
     x122=_ASeqMap_3(x36,x121);
     if(ISPRM(x122)){
      x125=__ABUILTIN_5;
     }else{
      x125=__ABUILTIN_3;}
     if(ISTGPRM(x125,1)){
      FREE(x118,1);
      CPCLS(__APartNamePrep_9,1);
      x129=_AAbsyFun2_3(__APartNamePrep_9,x94);
      r.c1=x2;
     }else{
      FREE(x2,1);
      CPCLS(__APartNamePrep_1,1);
      {TUP2 t=_AAbsyFun3_4(__APartNamePrep_1,x118,x94);
       r.c1=t.c1;
       x129=t.c2;}}
     r.c2=_AName4SigAna_51(x3,x122,x129);}}
  }else{
   {OBJ x138;OBJ x141;OBJ x142;OBJ x154;OBJ x155;OBJ x156;OBJ x157;
    if(ISTGPRM(x19,1)){
     if(ISPRM(x3)){
      HLT("PartName at <unknown> : undefined selection structIde\'PartName:partName->option");
     }else{
      {OBJ x132=FLD1(x3,2);
       COPY(x132,1);
       x138=x132;}}
    }else{
     x138=__AOption_5;}
    if(ISPRM(x11)){
     x141=__ABUILTIN_5;
    }else{
     x141=__ABUILTIN_3;}
    if(ISTGPRM(x1,1)){
     FREE(x27,1);
     COPY(x2,1);
     CPCLS(__APartNamePrep_8,1);
     x142=_AGlobSig4SigAna_26(x2,x35,x138,__APartNamePrep_8);
    }else{
     if(ISPRM(x27)&&(ISTGPRM(x27,0))){
      COPY(x2,1);
      CPCLS(__APartNamePrep_8,1);
      x142=_AGlobSig4SigAna_26(x2,x35,x138,__APartNamePrep_8);
     }else{
      FREE(x27,1);
      COPY(x2,1);
      CPCLS(__APartNamePrep_8,1);
      x142=_AGlobSig4SigAna_25(x2,x35,x138,__APartNamePrep_8);}}
    if(ISTGPRM(x141,1)){
     FREE(x11,1);
     CPCLS(__APartNamePrep_10,1);
     x155=_ASeqMap_3(__APartNamePrep_10,x142);
     r.c1=x2;
    }else{
     {OBJ x151;OBJ x152;
      if(ISPRM(x3)){
       HLT("PartName at <unknown> : undefined selection instPos\'PartName:partName->pos");
      }else{
       {OBJ x147=FLD1(x3,4);
	COPY(x147,1);
	x151=x147;
	CPCLS(__APartNamePrep_12,1);}}
      x152=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_12,2))(__APartNamePrep_12,x11,x151);
      {TUP2 t=_AMySeqFun3_7(x152,x2,__ASeq_6,x142);
       r.c1=t.c1;
       x155=t.c2;}}}
    x156=_ASeqMap_3(x36,x155);
    r.c2=_AName4SigAna_50(x3,x156);}}}
 return r;}
extern OBJ _APartNamePrep_3_c(OBJ x1,OBJ x2,OBJ x3) /* convMatchPartName */
{OBJ r;
 {TUP2 t=_APartNamePrep_3(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _APartNamePrep_4(OBJ x1,OBJ x2) /* matchStaticKind */
{TUP2 r;
 {OBJ x20=FLD1(x2,1);OBJ x21=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   COPY(x20,1);CPPRD(x21,1);
   FRPRD(x2,1);}
  {OBJ x30;OBJ x22;OBJ x31;OBJ x32;
   if(ISTGPRD(x21,0)){
    {OBJ x24=FLD(x21,2);
     COPY(x24,1);
     x30=x24;
     CPCLS(__APartNamePrep_5,1);}
   }else{
    HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
   x22=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_5,2))(__APartNamePrep_5,x1,x20);
   x31=_ASeqReduce_3(x22,__ASeq_6,x30);
   r.c2=_AName4SigAna_55(x21,x31);
   r.c1=__ABUILTIN_5;}}
 return r;}
extern OBJ _APartNamePrep_4_c(OBJ x1,OBJ x2) /* matchStaticKind */
{OBJ r;
 {TUP2 t=_APartNamePrep_4(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _APartNamePrep_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchStaticKind,1 */
{OBJ r;
 CPCLS(__APartNamePrep_6,1);
 {OBJ x11;
  x11=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_6,2))(__APartNamePrep_6,x1,x2);
  {OBJ x20=FLD1(x3,1);OBJ x21=FLD1(x3,2);FLAG x_x3=EXPRD(x3,1);
   if(x_x3){
   }else{
    COPY(x20,1);CPPRD(x21,1);}
   {OBJ x22;
    x22=_ASeqFilter_2(x11,x20);
    if(ISPRM(x22)){
     if(x_x3){
      DSPRDF(x3);
     }else{
      FRPRD(x3,1);}
     FRPRD(x21,1);
     r=x4;
    }else{
     {OBJ x25;
      if(x_x3){
       RSOME(x3,x25);FLD1(x25,1)=x22;
      }else{
       FRPRD(x3,1);PRD1(2,x25);FLD1(x25,1)=x22;FLD1(x25,2)=x21;}
      PRD1(2,r);FLD1(r,1)=x25;FLD1(r,2)=x4;}}}}}
 return r;}

extern OBJ _APartNamePrep_6(OBJ x1,OBJ x2,OBJ x3) /* checkKind */
{OBJ r;
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x4;OBJ x8;OBJ x6;
  x4=_AName4SigAna_4(x1,x3);
  if(ISPRM(x2)){
   x8=__ABUILTIN_3;x6=__ABUILTIN_5;
  }else{
   x8=__ABUILTIN_5;x6=__ABUILTIN_3;}
  if(ISTGPRM(x4,1)){
   r=x6;
   FREE(x1,1);
   FREE(x2,1);
   FREE(x3,1);
  }else{
   if(ISTGPRM(x6,1)){
    FREE(x1,1);
    FREE(x2,1);
    FREE(x3,1);
    r=__ABUILTIN_3;
   }else{
    {OBJ x12;
     if(ISTGPRM(x8,1)){
      {OBJ x10;
       if(ISPRM(x2)){
	HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
       }else{
	{OBJ x9=FLD1(x2,1);
	 COPY(x9,1);
	 x10=x9;}}
       if(ISPRD(x10)&&(ISTGPRD(x10,4))){
	if(EXPRD(x10,1)){
	 DSPRDF(x10);
	}else{
	 DCPRD(x10,1);}
	x12=__ABUILTIN_5;
       }else{
	FREE(x10,1);
	x12=__ABUILTIN_3;}}
     }else{
      x12=__ABUILTIN_3;}
     if(ISTGPRM(x12,1)){
      FREE(x1,1);
      FREE(x2,1);
      FREE(x3,1);
      r=__ABUILTIN_5;
     }else{
      {OBJ x14;OBJ x15;
       if(ISPRM(x2)){
	HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
       }else{
	{OBJ x13=FLD1(x2,1);
	 if(EXPRD(x2,1)){
	  x14=x13;
	  DSPRDF(x2);
	 }else{
	  COPY(x13,1);
	  x14=x13;
	  FRPRD(x2,1);}
	 CPCLS(__APartNamePrep_7,1);}}
       x15=_AName4SigAna_5(x1,x3);
       r=_AAbsyFun2_6(__APartNamePrep_7,x15,x14);}}}}}}
 return r;}

extern OBJ _APartNamePrep_7(OBJ x1,OBJ x2) /* h4 */
{OBJ r;
 FREE(x1,1);
 FREE(x2,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _APartNamePrep_8(OBJ x1) /* ok */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _APartNamePrep_9(OBJ x1) /* h1 */
{OBJ r;
 CPPRD(__AObjects_33,1);
 FREE(x1,1);
 r=__AObjects_33;
 return r;}

extern OBJ _APartNamePrep_10(OBJ x1) /* h17 */
{OBJ r;
 CPPRD(__AObjects_34,1);
 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=__AObjects_34;
 return r;}

extern OBJ _APartNamePrep_11(OBJ x1,OBJ x2,OBJ x3) /* treatFinPoss */
{OBJ r;
 CPCLS(__AName4SigAna_19,1);
 FREE(x2,1);
 {OBJ x10;
  x10=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName4SigAna_19,1))(__AName4SigAna_19,x1);
  {OBJ x13=FLD1(x3,1);OBJ x14;
   if(EXPRD(x3,1)){
    {OBJ x15;
     x15=_ASeqMap_3(x10,x13);
     RSOME(x3,r);
     FLD1(r,1)=_ASeqOfSeq_2(x15);}
   }else{
    x14=FLD1(x3,2);COPY(x13,1);CPPRD(x14,1);
    {OBJ x15;
     x15=_ASeqMap_3(x10,x13);
     FRPRD(x3,1);PRD1(2,r);FLD1(r,2)=x14;
     FLD1(r,1)=_ASeqOfSeq_2(x15);}}}}
 return r;}

extern TUP2 _APartNamePrep_12(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* convMatchNameInst */
{TUP2 r;
 {OBJ x8;OBJ x9;
  if(ISPRM(x4)){
   HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
  }else{
   {OBJ x6=FLD1(x4,1);
    COPY(x6,1);
    x8=x6;
    COPY(x1,1);}}
  x9=_ASeq_52(x1,__ANat_5);
  if(ISPRD(x8)&&(ISTGPRD(x8,1))){
   if(EXPRD(x8,1)){
    DSPRDF(x8);
   }else{
    DCPRD(x8,1);}
   FREE(x2,1);
   COPY(x3,1);
   {OBJ x40;OBJ x41;OBJ x42;
    x40=_AGlobSig4SigAna_6(x3);
    x41=_ASeq_52(x40,__ANat_5);
    ANat_77(x41,x9,x42);
    if(ISTGPRM(x42,1)){
     FREE(x1,1);
     FREE(x4,1);
     r.c1=x3;r.c2=x5;
    }else{
     CPCLS(__APartNamePrep_24,1);
     {OBJ x43;TUP2 x45;OBJ x47;
      x43=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_24,1))(__APartNamePrep_24,__ABUILTIN_20);
      x45=_ASeqMapEnv_4(x43,x3,x1);
      COPY(x45.c1,1);
      x47=_APartNamePrep_16(x45.c1,x45.c2,x4);
      if(ISPRM(x47)){
       r.c1=x45.c1;
       r.c2=x5;
      }else{
       r.c1=x45.c1;
       CPPRD(__AObjects_34,1);
       {OBJ x50;
	PRD1(2,x50);FLD1(x50,1)=x47;FLD1(x50,2)=__AObjects_34;
	PRD1(2,r.c2);FLD1(r.c2,1)=x50;FLD1(r.c2,2)=x5;}}}}}
  }else{
   COPY(x3,1);
   {OBJ x52;OBJ x53;OBJ x54;OBJ x55;
    x52=_AName_12(x8);
    x53=_AImpDecl4SigAna_44(x3,x52);
    COPY(x53,1);
    x54=_ASeq_52(x53,__ANat_5);
    ANat_77(x54,x9,x55);
    if(ISTGPRM(x55,1)){
     FREE(x1,1);
     FREE(x2,1);
     FREE(x4,1);
     FREE(x53,1);
     r.c1=x3;r.c2=x5;
    }else{
     CPPRD(__AObjects_34,1);
     {TUP2 x57;OBJ x59;
      x57=_APartNamePrep_2(x3,x53,x1,x2);
      CPPRD(x57.c2,1);
      x59=_AObjects_37(x57.c2,__AObjects_34);
      if(ISTGPRM(x59,1)){
       r.c1=x57.c1;
       FREE(x4,1);
       FRPRD(x57.c2,1);
       r.c2=x5;
      }else{
       r.c1=x57.c1;
       {OBJ x60;
	PRD1(2,x60);FLD1(x60,1)=x4;FLD1(x60,2)=x57.c2;
	PRD1(2,r.c2);FLD1(r.c2,1)=x60;FLD1(r.c2,2)=x5;}}}}}}}
 return r;}
extern OBJ _APartNamePrep_12_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* convMatchNameInst */
{OBJ r;
 {TUP2 t=_APartNamePrep_12(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _APartNamePrep_13(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convMatchNameFctS */
{OBJ r;
 CPCLS(__APartNamePrep_14,1);
 {OBJ x11;
  x11=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APartNamePrep_14,2))(__APartNamePrep_14,x1,x2);
  {OBJ x20=FLD1(x3,1);OBJ x21=FLD1(x3,2);FLAG x_x3=EXPRD(x3,1);
   if(x_x3){
   }else{
    COPY(x20,1);CPPRD(x21,1);}
   {OBJ x22;
    x22=_ASeqFilter_2(x11,x20);
    if(ISPRM(x22)){
     if(x_x3){
      DSPRDF(x3);
     }else{
      FRPRD(x3,1);}
     FRPRD(x21,1);
     r=x4;
    }else{
     {OBJ x25;
      if(x_x3){
       RSOME(x3,x25);FLD1(x25,1)=x22;
      }else{
       FRPRD(x3,1);PRD1(2,x25);FLD1(x25,1)=x22;FLD1(x25,2)=x21;}
      PRD1(2,r);FLD1(r,1)=x25;FLD1(r,2)=x4;}}}}}
 return r;}

extern OBJ _APartNamePrep_14(OBJ x1,OBJ x2,OBJ x3) /* convMatchNameFct */
{OBJ r;
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x4;
  x4=_AName4SigAna_4(x1,x3);
  if(ISTGPRM(x4,1)){
   FREE(x1,1);
   FREE(x2,1);
   FREE(x3,1);
   r=__ABUILTIN_3;
  }else{
   CPCLS(__APartNamePrep_15,1);
   {OBJ x5;
    x5=_AName4SigAna_5(x1,x3);
    r=_AAbsyFun2_6(__APartNamePrep_15,x2,x5);}}}
 return r;}

extern OBJ _APartNamePrep_15(OBJ x1,OBJ x2) /* h3 */
{OBJ r;
 FREE(x1,1);
 FREE(x2,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _APartNamePrep_16(OBJ x1,OBJ x2,OBJ x3) /* checkIntInst */
{OBJ r;
 CPCLS(__APartNamePrep_18,1);
 CPCLS(__APartNamePrep_22,1);
 CPCLS(__ABUILTIN_9,1);
 COPY(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;
  x4=_AGlobSig_57(x1);
  COPY(x4,1);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_18,1))(__APartNamePrep_18,x1);
  x6=_ASeqZip_4(x5,x2,x4);
  x7=_ASeqReduce_4(__ABUILTIN_9,__ABUILTIN_5,x6);
  x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_22,1))(__APartNamePrep_22,x4);
  x9=_ASeqFilter_2(x8,x3);
  if(ISTGPRM(x7,1)){
   r=x9;
  }else{
   FREE(x9,1);
   r=__ASeq_6;}}
 return r;}

extern OBJ _APartNamePrep_17(OBJ x1) /* intCands */
{OBJ r;
 {OBJ x9;OBJ x10;OBJ x11;
  if(ISTGPRD(x1,0)){
   {OBJ x3=FLD(x1,2);
    if(EXPRD(x1,1)){
     x9=x3;
     FLD(x1,2)=NIL;DSPRD(x1);
    }else{
     COPY(x3,1);
     x9=x3;
     FRPRD(x1,1);}
    CPCLS(__AName_27,1);
    CPCLS(__APartNameEntry_27,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x10=_ASeqMap_3(__APartNameEntry_27,x9);
  x11=_ASeqOfSeq_2(x10);
  r=_ASeqFilter_2(__AName_27,x11);}
 return r;}

extern OBJ _APartNamePrep_18(OBJ x1,OBJ x2,OBJ x3) /* checkPns */
{OBJ r;
 FREE(x1,1);
 {OBJ x42=FLD1(x3,1);OBJ x43=FLD1(x3,2);
  if(EXPRD(x3,1)){
   FREE(FLD1(x3,3),1);DSPRDF(x3);
  }else{
   COPY(x42,1);COPY(x43,1);
   FRPRD(x3,1);}
  if(ISPRM(x43)){
   if(ISPRM(x42)){
    HLT("PartNamePrep at <276,8-278,36> : missing else in checkPns\'PartNamePrep:globSig->pN**formParam->bool");
   }else{
    {OBJ x49=FLD1(x42,1);
     if(EXPRD(x42,1)){
      DSPRDF(x42);
     }else{
      CPPRD(x49,1);
      FRPRD(x42,1);}
     {OBJ x50;
      x50=_APartNamePrep_17(x2);
      {OBJ x51=FLD1(x49,1);
       if(EXPRD(x49,1)){
	FRPRD(FLD1(x49,2),1);DSPRDF(x49);
       }else{
	CPPRD(x51,1);
	FRPRD(x49,1);}
       CPCLS(__AName_31,1);
       {OBJ x53;
	x53=_APartNamePrep_17(x51);
	r=_AMySeqFun2_12(__AName_31,x53,x50);}}}}}
  }else{
   {OBJ x45=FLD1(x43,1);
    if(EXPRD(x43,1)){
     DSPRDF(x43);
    }else{
     FRPRD(x43,1);}
    FREE(x42,1);
    CPCLS(__APartNamePrep_19,1);
    {OBJ x46;OBJ x47;OBJ x48;
     x46=_APartNamePrep_17(x2);
     PRDF(1,1,x47);FLD(x47,1)=x45;
     x48=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_19,1))(__APartNamePrep_19,x47);
     r=_ASeq_40(x48,x46);}}}}
 return r;}

extern OBJ _APartNamePrep_19(OBJ x1,OBJ x2) /* checkPns'19 */
{OBJ r;
 r=_AName_31(x1,x2);
 return r;}

extern OBJ _APartNamePrep_20(OBJ x1,OBJ x2) /* checkIntInst'20 */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  {OBJ x3=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    FRPRD(x1,1);}
   {OBJ x4;OBJ x5;
    x4=x3;
    ANat_76(x4,x2,x5);
    if(ISTGPRM(x5,1)){
     r=__ABUILTIN_3;
    }else{
     r=__ABUILTIN_5;}}}
 }else{
  HLT("Name at <unknown> : undefined selection decl\'Name:name->decl");}
 return r;}

extern OBJ _APartNamePrep_21(OBJ x1,OBJ x2) /* checkIntInst'21 */
{OBJ r;
 {OBJ x55=FLD1(x1,1);OBJ x56=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x55,1);COPY(x56,1);
   FRPRD(x1,1);}
  if(ISPRM(x56)){
   {OBJ x60;OBJ x67;
    if(ISPRM(x55)){
     x60=__ABUILTIN_3;
    }else{
     x60=__ABUILTIN_5;}
    if(ISTGPRM(x60,1)){
     {OBJ x62;
      if(ISPRM(x55)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x61=FLD1(x55,1);
	CPPRD(x61,1);
	x62=x61;}}
      {OBJ x63=FLD1(x62,1);
       if(EXPRD(x62,1)){
	FRPRD(FLD1(x62,2),1);DSPRDF(x62);
       }else{
	CPPRD(x63,1);
	FRPRD(x62,1);}
       {OBJ x65;OBJ x66;
	x65=_APartNamePrep_17(x63);
	x66=_ASeq_52(x65,__ANat_5);
	ANat_76(x66,__ANat_8,x67);}}}
    }else{
     x67=__ABUILTIN_3;}
    if(ISTGPRM(x67,1)){
     {OBJ x69;
      if(ISPRM(x55)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x68=FLD1(x55,1);
	if(EXPRD(x55,1)){
	 x69=x68;
	 DSPRDF(x55);
	}else{
	 CPPRD(x68,1);
	 x69=x68;
	 FRPRD(x55,1);}}}
      {OBJ x70=FLD1(x69,1);FLAG x_x69=EXPRD(x69,1);
       if(x_x69){
       }else{
	CPPRD(x70,1);}
       {OBJ x72;OBJ x75;
	x72=_APartNamePrep_17(x70);
	if(ISPRM(x72)){
	 HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	}else{
	 {OBJ x73=FLD1(x72,1);
	  if(EXPRD(x72,1)){
	   x75=x73;
	   FREE(FLD1(x72,2),1);DSPRDF(x72);
	  }else{
	   COPY(x73,1);
	   x75=x73;
	   FRPRD(x72,1);}}}
	if(ISPRD(x75)&&(ISTGPRD(x75,1))){
	 {OBJ x76=FLD(x75,1);
	  if(EXPRD(x75,1)){
	   DSPRDF(x75);
	  }else{
	   FRPRD(x75,1);}
	  if(x_x69){
	   RSOME(x69,r);FLD1(r,1)=x76;FRPRD(FLD1(r,2),1);FLD1(r,2)=x2;
	  }else{
	   FRPRD(x69,1);PRD1(2,r);FLD1(r,1)=x76;FLD1(r,2)=x2;}}
	}else{
	 HLT("Name at <unknown> : undefined selection decl\'Name:name->decl");}}}}
    }else{
     FREE(x55,1);
     r=x2;}}
  }else{
   {OBJ x58=FLD1(x56,1);
    if(EXPRD(x56,1)){
     DSPRDF(x56);
    }else{
     FRPRD(x56,1);}
    FREE(x55,1);
    PRD1(2,r);FLD1(r,1)=x58;FLD1(r,2)=x2;}}}
 return r;}

extern OBJ _APartNamePrep_22(OBJ x1,OBJ x2) /* checkIntInst'22 */
{OBJ r;
 CPCLS(__APartNamePrep_20,1);
 CPCLS(__APartNamePrep_21,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_20,1))(__APartNamePrep_20,x2);
  x4=_ASeqReduce_4(__APartNamePrep_21,__ASeq_6,x1);
  r=_ASeq_42(x3,x4);}
 return r;}

extern OBJ _APartNamePrep_23(OBJ x1) /* convMatchInstPartName'23 */
{OBJ r;
 CPCLS(__APartNamePrep_3,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_3,1))(__APartNamePrep_3,__ABUILTIN_3);
 return r;}

extern OBJ _APartNamePrep_24(OBJ x1) /* convMatchNameInst'24 */
{OBJ r;
 CPCLS(__APartNamePrep_3,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNamePrep_3,1))(__APartNamePrep_3,__ABUILTIN_3);
 return r;}

static OBJ _mt_1_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 {OBJ t4;
  DCCLS(t,1);
  t4=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(t4,2))(t4,t2,t3);}
 return r;}

init_APartNamePrep()
{
 static int visited=0; if(visited) return; visited=1;
 init_AArray();
 init_AName4SigAna();
 init_AGlobSig4SigAna();
 init_AImpDecl4SigAna();
 init_AGlobSig();
 init_AMaps4SigAna();
 init_AObjects();
 init_AMySeqFun3();
 init_AName();
 init_AMySeqFun1();
 init_APartNameEntry();
 init_AMySeqFun2();
 init_APartName();
 init_AAbsyFun2();
 init_AFct();
 init_AAbsyFun3();
 init_AOcPos();
 init_ASeqFilter();
 init_AOption();
 init_ASeqMap();
 init_ASeq();
 init_ASeqMapEnv();
 init_ANat();
 init_ASeqReduce();
 init_AChar();
 init_ASeqZip();
 init_ARep();
 init_ASeqOfSeq();
 init_APragma();
 init_ACom();
 init_ATable();
 init_AVoid();
 init_AUniqueTable();
 init_ASetByBST();
 init_ADeclEntry();
 init_ABSTree();
 init_AImpExpEntry();
 init_ATree();
 init_AGlobSigImpl();
 init_ASeqConv();
 init_AImpl();
 init_ALexem();
 init_AGlobPragma();
 init_APair();
 init_AMap();
 init_ASet();
 init_ABitset();
 init_APatterns();
 init_AAttributes();
 init_ADArray();
 init_ANatMap();
 init_AString();
 LCLS(1,_APartNamePrep_24,__APartNamePrep_24);
 LCLS(1,_APartNamePrep_23,__APartNamePrep_23);
 CLS(2,_APartNamePrep_22,__APartNamePrep_22);
 CLS(2,_APartNamePrep_21,__APartNamePrep_21);
 CLS(2,_APartNamePrep_20,__APartNamePrep_20);
 CLS(2,_APartNamePrep_19,__APartNamePrep_19);
 CLS(3,_APartNamePrep_18,__APartNamePrep_18);
 CLS(1,_APartNamePrep_17,__APartNamePrep_17);
 CLS(3,_APartNamePrep_16,__APartNamePrep_16);
 CLS(2,_APartNamePrep_15,__APartNamePrep_15);
 CLS(3,_APartNamePrep_14,__APartNamePrep_14);
 CLS(4,_APartNamePrep_13,__APartNamePrep_13);
 CLS(5,_APartNamePrep_12_c,__APartNamePrep_12);
 CLS(3,_APartNamePrep_11,__APartNamePrep_11);
 CLS(1,_APartNamePrep_10,__APartNamePrep_10);
 CLS(1,_APartNamePrep_9,__APartNamePrep_9);
 CLS(1,_APartNamePrep_8,__APartNamePrep_8);
 CLS(2,_APartNamePrep_7,__APartNamePrep_7);
 CLS(3,_APartNamePrep_6,__APartNamePrep_6);
 CLS(4,_APartNamePrep_5,__APartNamePrep_5);
 CLS(2,_APartNamePrep_4_c,__APartNamePrep_4);
 CLS(3,_APartNamePrep_3_c,__APartNamePrep_3);
 CLS(4,_APartNamePrep_2_c,__APartNamePrep_2);
 CLS(2,_APartNamePrep_1_c,__APartNamePrep_1);
 MTH(1,0,3,_mt_1_0_3);LZYMTH(1,0,3,_mt_1_0_3);}

