

#include "BUILTIN.h"

#include "Array.h"
extern OBJ _AAbsyFun2_3(OBJ,OBJ);extern OBJ __AAbsyFun2_3;
extern OBJ _AAbsyFun2_6(OBJ,OBJ,OBJ);extern OBJ __AAbsyFun2_6;
extern OBJ _AAbsyFun2_7(OBJ,OBJ);extern OBJ __AAbsyFun2_7;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ _AGlobSig_55(OBJ);extern OBJ __AGlobSig_55;

#include "Denotation.h"
extern OBJ __AObjects_29;
extern OBJ __AObjects_30;
extern OBJ _AObjects_31(OBJ,OBJ);extern OBJ __AObjects_31;
extern OBJ __AObjects_34;
extern OBJ _AObjects_36(OBJ,OBJ);extern OBJ __AObjects_36;
extern OBJ _AObjects_37(OBJ,OBJ);extern OBJ __AObjects_37;
extern OBJ _AGlobSigToText_1(OBJ,OBJ);extern OBJ __AGlobSigToText_1;
extern OBJ _APartNameEntry_27(OBJ);extern OBJ __APartNameEntry_27;
extern OBJ _APartNameEntry_59(OBJ);extern OBJ __APartNameEntry_59;
extern OBJ _AImpDecl4SigAna_1(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_1;
extern OBJ _AImpDecl4SigAna_4(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_4;
extern OBJ _AImpDecl4SigAna_6(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_6;
extern OBJ _AImpDecl4SigAna_7(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_7;
extern OBJ _AImpDecl4SigAna_21(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_21;
extern OBJ _AImpDecl4SigAna_22(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_22;
extern OBJ _AImpDecl4SigAna_23(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_23;
extern TUP2 _AImpDecl4SigAna_26(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_26;
extern OBJ _AImpDecl4SigAna_50(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_50;
extern OBJ _AImpDecl4SigAna_52(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_52;
extern OBJ _AImpDecl4SigAna_56(OBJ,OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_56;
extern OBJ _AImpDecl4SigAna_57(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_57;
extern OBJ __APair_2;
extern OBJ _AMySeqFun1_16(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun1_16;
extern OBJ _AMySeqFun1_20(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMySeqFun1_20;
extern OBJ _AName_11(OBJ);extern OBJ __AName_11;
extern OBJ _AName_12(OBJ);extern OBJ __AName_12;
extern OBJ _AName_31(OBJ,OBJ);extern OBJ __AName_31;
extern OBJ _AMySeqFun2_11(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_11;
extern OBJ _AMySeqFun2_12(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_12;
extern OBJ _AMySeqFun2_14(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_14;
extern TUP2 _AMySeqFun3_7(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMySeqFun3_7;
extern OBJ _AName4SigAna_5(OBJ,OBJ);extern OBJ __AName4SigAna_5;
extern OBJ _AName4SigAna_7(OBJ,OBJ);extern OBJ __AName4SigAna_7;
extern OBJ _AName4SigAna_8(OBJ,OBJ);extern OBJ __AName4SigAna_8;
extern OBJ _AName4SigAna_9(OBJ,OBJ);extern OBJ __AName4SigAna_9;
extern OBJ _AName4SigAna_10(OBJ,OBJ);extern OBJ __AName4SigAna_10;
extern OBJ _AName4SigAna_11(OBJ,OBJ);extern OBJ __AName4SigAna_11;
extern OBJ _AName4SigAna_12(OBJ,OBJ);extern OBJ __AName4SigAna_12;
extern OBJ _AName4SigAna_13(OBJ,OBJ);extern OBJ __AName4SigAna_13;
extern OBJ _AName4SigAna_14(OBJ,OBJ);extern OBJ __AName4SigAna_14;
extern OBJ _AName4SigAna_19(OBJ,OBJ);extern OBJ __AName4SigAna_19;
extern OBJ _AName4SigAna_20(OBJ,OBJ);extern OBJ __AName4SigAna_20;
extern OBJ _AName4SigAna_21(OBJ,OBJ);extern OBJ __AName4SigAna_21;
extern OBJ _AName4SigAna_22(OBJ,OBJ);extern OBJ __AName4SigAna_22;
extern OBJ _AName4SigAna_35(OBJ,OBJ);extern OBJ __AName4SigAna_35;
extern OBJ _AName4SigAna_37(OBJ,OBJ,OBJ);extern OBJ __AName4SigAna_37;
extern OBJ _AName4SigAna_42(OBJ,OBJ);extern OBJ __AName4SigAna_42;
extern OBJ _AName4SigAna_43(OBJ,OBJ);extern OBJ __AName4SigAna_43;
extern OBJ _AName4SigAna_44(OBJ,OBJ,OBJ);extern OBJ __AName4SigAna_44;
extern OBJ _AName4SigAna_52(OBJ);extern OBJ __AName4SigAna_52;
extern OBJ _AName4SigAna_53(OBJ);extern OBJ __AName4SigAna_53;
extern OBJ _AName4SigAna_55(OBJ,OBJ);extern OBJ __AName4SigAna_55;
extern OBJ _ASeqCompare_3(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_3;

#include "Nat.h"
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _ASeqIndex_2(OBJ,OBJ);extern OBJ __ASeqIndex_2;
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_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;

#include "Char.h"
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern OBJ _AImpExpEntry_6(OBJ);extern OBJ __AImpExpEntry_6;
extern OBJ _AImpExpEntry_10(OBJ);extern OBJ __AImpExpEntry_10;
extern OBJ _AImpExpEntry_49(OBJ);extern OBJ __AImpExpEntry_49;
extern OBJ _AImpExpEntry_91(OBJ);extern OBJ __AImpExpEntry_91;
extern OBJ _AImpExpEntry_92(OBJ);extern OBJ __AImpExpEntry_92;
extern OBJ _AImpExpEntry_128(OBJ);extern OBJ __AImpExpEntry_128;

#include "Int.h"

#include "Bitset.h"
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ _ADArray_21(OBJ,OBJ);extern OBJ __ADArray_21;
extern OBJ __ANatMap_3;
extern OBJ _ANatMap_4(OBJ,OBJ,OBJ);extern OBJ __ANatMap_4;
extern OBJ _ANatMap_14(OBJ,OBJ);extern OBJ __ANatMap_14;
extern OBJ _ANatMap_17(OBJ,OBJ);extern OBJ __ANatMap_17;
extern TUP2 _AMatchIdentFunDeep_1(OBJ,OBJ);OBJ __AMatchIdentFunDeep_1; /* matchIdentFunBySortPnDeep */
extern TUP2 _AMatchIdentFunDeep_2(OBJ,OBJ);OBJ __AMatchIdentFunDeep_2; /* matchIdentFunByInstPnDeep */
extern TUP3 _AMatchIdentFunDeep_3(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_3; /* matchIdentFunByOnlyPnDeep */
extern TUP2 _AMatchIdentFunDeep_4(OBJ,OBJ);OBJ __AMatchIdentFunDeep_4; /* matchPNCandDeep */
extern TUP2 _AMatchIdentFunDeep_9(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_9; /* matchPNCandDeep,1 */
extern OBJ _AMatchIdentFunDeep_10(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_10; /* ` */
extern TUP2 _AMatchIdentFunDeep_11(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_11; /* matchPNinstCand */
extern OBJ _AMatchIdentFunDeep_12(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_12; /* eqPnInstFct */
extern OBJ _AMatchIdentFunDeep_13(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_13; /* eqFctSortName */
extern OBJ _AMatchIdentFunDeep_14(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_14; /* eqFctSortName,1 */
extern OBJ _AMatchIdentFunDeep_15(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_15; /* eqGenericInst */
extern OBJ _AMatchIdentFunDeep_16(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_16; /* testUninst */
extern OBJ _AMatchIdentFunDeep_17(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_17; /* intersect */
extern OBJ _AMatchIdentFunDeep_18(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_18; /* eqInst */
extern OBJ _AMatchIdentFunDeep_19(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_19; /* inCandSet */
extern OBJ _AMatchIdentFunDeep_20(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_20; /* inCandSet,1 */
extern OBJ _AMatchIdentFunDeep_21(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_21; /* inCandSet,2 */
extern OBJ _AMatchIdentFunDeep_22(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_22; /* matchName */
extern OBJ _AMatchIdentFunDeep_23(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_23; /* eqInstPN */
extern OBJ _AMatchIdentFunDeep_24(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_24; /* eqPN */
extern OBJ _AMatchIdentFunDeep_25(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_25; /* eqPnByInst */
extern OBJ _AMatchIdentFunDeep_26(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_26; /* eqSortPN */
extern OBJ _AMatchIdentFunDeep_27(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_27; /* eqFctPN */
extern OBJ _AMatchIdentFunDeep_28(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_28; /* eqFctPnByInst */
extern OBJ _AMatchIdentFunDeep_29(OBJ,OBJ);OBJ __AMatchIdentFunDeep_29; /* myhidden? */
extern OBJ _AMatchIdentFunDeep_30(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_30; /* instFct */
extern OBJ _AMatchIdentFunDeep_31(OBJ);OBJ __AMatchIdentFunDeep_31; /* getNames */
OBJ __AMatchIdentFunDeep_32; /* `'32 */
extern OBJ _AMatchIdentFunDeep_33(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_33; /* matchName'33 */
extern OBJ _AMatchIdentFunDeep_34(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_34; /* matchName'34 */
extern OBJ _AMatchIdentFunDeep_35(OBJ,OBJ);OBJ __AMatchIdentFunDeep_35; /* intersect'35 */
extern OBJ _AMatchIdentFunDeep_36(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_36; /* inCandSet,2'36 */
extern OBJ _AMatchIdentFunDeep_37(OBJ,OBJ);OBJ __AMatchIdentFunDeep_37; /* myhidden?'37 */
extern OBJ _AMatchIdentFunDeep_38(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_38; /* instFct'38 */
extern OBJ _AMatchIdentFunDeep_39(OBJ);OBJ __AMatchIdentFunDeep_39; /* eqPnInstFct'39 */
extern OBJ _AMatchIdentFunDeep_40(OBJ,OBJ,OBJ);OBJ __AMatchIdentFunDeep_40; /* eqPnInstFct'40 */
OBJ __AMatchIdentFunDeep_41; /* matchPNCandDeep,1'41 */
extern OBJ _AMatchIdentFunDeep_42(OBJ);OBJ __AMatchIdentFunDeep_42; /* matchPNCandDeep,1'42 */
extern OBJ _AMatchIdentFunDeep_43(OBJ);OBJ __AMatchIdentFunDeep_43; /* matchIdentFunByInstPnDeep'43 */

extern TUP2 _AMatchIdentFunDeep_1(OBJ x1,OBJ x2) /* matchIdentFunBySortPnDeep */
{TUP2 r;
 COPY(x1,1);
 CPPRD(x2,1);
 {OBJ x3;OBJ x4;TUP2 x6;
  PRD1(2,x3);FLD1(x3,1)=x1;FLD1(x3,2)=__ABUILTIN_5;
  x4=_AName4SigAna_35(x1,x2);
  x6=_AMatchIdentFunDeep_9(__AObjects_29,__AObjects_30,x3,x4);
  {OBJ x15=FLD1(x6.c1,1);OBJ x16=FLD1(x6.c1,2);
   if(EXPRD(x6.c1,1)){
    r.c2=x16;
    DSPRDF(x6.c1);
   }else{
    COPY(x15,1);
    r.c2=x16;
    FRPRD(x6.c1,1);}
   r.c1=_AName4SigAna_37(x15,x2,x6.c2);}}
 return r;}
extern OBJ _AMatchIdentFunDeep_1_c(OBJ x1,OBJ x2) /* matchIdentFunBySortPnDeep */
{OBJ r;
 {TUP2 t=_AMatchIdentFunDeep_1(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMatchIdentFunDeep_2(OBJ x1,OBJ x2) /* matchIdentFunByInstPnDeep */
{TUP2 r;
 CPCLS(__AMatchIdentFunDeep_43,1);
 COPY(x1,1);
 CPPRD(x2,1);
 {OBJ x3;OBJ x4;OBJ x5;TUP2 x7;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_43,1))(__AMatchIdentFunDeep_43,__ABUILTIN_20);
  PRD1(2,x4);FLD1(x4,1)=x1;FLD1(x4,2)=__ABUILTIN_5;
  x5=_AName4SigAna_43(x1,x2);
  x7=_ASeqMapEnv_4(x3,x4,x5);
  {OBJ x16=FLD1(x7.c1,1);OBJ x17=FLD1(x7.c1,2);
   if(EXPRD(x7.c1,1)){
    r.c2=x17;
    DSPRDF(x7.c1);
   }else{
    COPY(x16,1);
    r.c2=x17;
    FRPRD(x7.c1,1);}
   r.c1=_AName4SigAna_44(x16,x2,x7.c2);}}
 return r;}
extern OBJ _AMatchIdentFunDeep_2_c(OBJ x1,OBJ x2) /* matchIdentFunByInstPnDeep */
{OBJ r;
 {TUP2 t=_AMatchIdentFunDeep_2(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP3 _AMatchIdentFunDeep_3(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchIdentFunByOnlyPnDeep */
{TUP3 r;
 {OBJ x5;
  PRD1(2,x5);FLD1(x5,1)=x1;FLD1(x5,2)=__ABUILTIN_5;
  {OBJ x59=FLD1(x4,1);OBJ x60=FLD1(x4,2);FLAG x_x4=EXPRD(x4,1);
   if(x_x4){
   }else{
    CPPRD(x59,1);CPPRD(x60,1);}
   {OBJ x69;OBJ x70;OBJ x71;OBJ x72;OBJ x73;
    if(ISTGPRD(x59,0)){
     {OBJ x63=FLD(x59,2);
      COPY(x63,1);
      x69=x63;
      CPCLS(__APartNameEntry_27,1);}
    }else{
     HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
    x70=_ASeqMap_3(__APartNameEntry_27,x69);
    x71=_ASeqOfSeq_2(x70);
    {TUP2 t=_AMatchIdentFunDeep_9(x2,x3,x5,x59);
     x72=t.c1;
     x73=t.c2;}
    {OBJ x74=FLD1(x72,1);OBJ x75=FLD1(x72,2);
     if(EXPRD(x72,1)){
      DSPRDF(x72);
     }else{
      COPY(x74,1);
      FRPRD(x72,1);}
     {OBJ x83;OBJ x84;OBJ x85;OBJ x86;OBJ x87;OBJ x88;
      if(ISTGPRD(x73,0)){
       {OBJ x77=FLD(x73,2);
	COPY(x77,1);
	r.c2=x75;x83=x77;
	CPCLS(__APartNameEntry_27,1);
	CPCLS(__AName_31,1);
	CPCLS(__AName4SigAna_7,1);}
      }else{
       HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
      x84=_ASeqMap_3(__APartNameEntry_27,x83);
      if(x_x4){
       RSOME(x4,r.c3);FLD1(r.c3,1)=x73;
      }else{
       FRPRD(x4,1);PRD1(2,r.c3);FLD1(r.c3,1)=x73;FLD1(r.c3,2)=x60;}
      x86=_ASeqOfSeq_2(x84);
      x87=_AMySeqFun1_16(__AName_31,x71,x86);
      r.c1=_ASeqReduce_3(__AName4SigAna_7,x74,x87);}}}}}
 return r;}
extern OBJ _AMatchIdentFunDeep_3_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchIdentFunByOnlyPnDeep */
{OBJ r;
 {TUP3 t=_AMatchIdentFunDeep_3(x1,x2,x3,x4);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP2 _AMatchIdentFunDeep_4(OBJ x1,OBJ x2) /* matchPNCandDeep */
{TUP2 r;
 r=_AMatchIdentFunDeep_9(__AObjects_29,__AObjects_30,x1,x2);
 return r;}
extern OBJ _AMatchIdentFunDeep_4_c(OBJ x1,OBJ x2) /* matchPNCandDeep */
{OBJ r;
 {TUP2 t=_AMatchIdentFunDeep_4(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMatchIdentFunDeep_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchPNCandDeep,1 */
{TUP2 r;
 {OBJ x13;OBJ x5;OBJ x14;OBJ x16;OBJ x17;OBJ x18;
  if(ISTGPRD(x4,0)){
   {OBJ x7=FLD(x4,2);
    COPY(x7,1);
    x13=x7;
    CPPRD(x4,2);
    CPCLS(__AMatchIdentFunDeep_11,1);
    CPCLS(__AMatchIdentFunDeep_42,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_11,3))(__AMatchIdentFunDeep_11,x1,x2,x4);
  x14=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_42,1))(__AMatchIdentFunDeep_42,__ABUILTIN_20);
  {TUP2 t=_AMySeqFun3_7(x5,x3,__ASeq_6,x13);
   x16=t.c1;
   x17=t.c2;}
  x18=_AName4SigAna_55(x4,x17);
  {OBJ x19=FLD1(x16,1);
   COPY(x19,1);
   r.c1=x16;
   CPCLS(__AMatchIdentFunDeep_10,1);
   {OBJ x21;OBJ x22;
    x21=x19;
    x22=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_10,2))(__AMatchIdentFunDeep_10,x21,x4);
    r.c2=_ADEBUG_2(x14,x22,x18);}}}
 return r;}
extern OBJ _AMatchIdentFunDeep_9_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchPNCandDeep,1 */
{OBJ r;
 {TUP2 t=_AMatchIdentFunDeep_9(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMatchIdentFunDeep_10(OBJ x1,OBJ x2,OBJ x3) /* ` */
{OBJ r;
 CPPRD(__AMatchIdentFunDeep_32,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=_APartNameEntry_59(x2);
  x5=_AGlobSigToText_1(x1,__ABUILTIN_20);
  ADenotation_4(__AMatchIdentFunDeep_32,x5,x6);
  ADenotation_4(x4,x6,r);}
 return r;}

extern TUP2 _AMatchIdentFunDeep_11(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* matchPNinstCand */
{TUP2 r;
 {OBJ x42=FLD1(x4,1);OBJ x43=FLD1(x4,2);FLAG x_x4=EXPRD(x4,1);
  if(x_x4){
  }else{
   COPY(x42,1);}
  {OBJ x62=FLD1(x5,1);OBJ x63=FLD1(x5,2);FLAG x_x5=EXPRD(x5,1);
   if(x_x5){
    COPY(x62,1);CPPRD(x63,1);
   }else{
    COPY(x62,2);CPPRD(x63,2);}
   COPY(x42,1);
   CPCLS(__AMatchIdentFunDeep_12,1);
   {OBJ x64;OBJ x65;
    x64=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_12,5))(__AMatchIdentFunDeep_12,x1,x2,x42,x3,x63);
    x65=_ASeqFilter_2(x64,x62);
    if(ISPRM(x65)){
     if(x_x4){
      DSPRDF(x4);
     }else{
      FRPRD(x4,1);}
     FREE(x62,1);
     {OBJ x66;
      x66=_AName4SigAna_42(x63,x42);
      if(x_x5){
       RSOME(x5,r.c1);FLD1(r.c1,1)=x66;FLD1(r.c1,2)=__ABUILTIN_3;
      }else{
       FRPRD(x5,1);PRD1(2,r.c1);FLD1(r.c1,1)=x66;FLD1(r.c1,2)=__ABUILTIN_3;}
      r.c2=x6;}
    }else{
     CPPRD(x65,1);
     {OBJ x70;OBJ x71;OBJ x74;OBJ x75;
      if(x_x5){
       RSOME(x5,x70);FLD1(x70,1)=x65;
      }else{
       FRPRD(x5,1);PRD1(2,x70);FLD1(x70,1)=x65;FLD1(x70,2)=x63;}
      if(x_x4){
       RSOME(x4,x71);FLD1(x71,1)=x70;FLD1(x71,2)=x6;
      }else{
       FRPRD(x4,1);PRD1(2,x71);FLD1(x71,1)=x70;FLD1(x71,2)=x6;}
      if(ISTGPRM(x43,1)){
       r.c2=x71;
       {OBJ x72;OBJ x73;
	x72=_ASeq_52(x62,__ANat_5);
	x73=_ASeq_52(x65,__ANat_5);
	ANat_76(x73,x72,x74);}
      }else{
       r.c2=x71;
       FREE(x62,1);
       if(EXPRD(x65,1)){
	DSPRD(x65);
       }else{
	DCPRD(x65,1);}
       x74=__ABUILTIN_3;}
      PRD1(2,r.c1);FLD1(r.c1,1)=x42;FLD1(r.c1,2)=x74;}}}}}
 return r;}
extern OBJ _AMatchIdentFunDeep_11_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* matchPNinstCand */
{OBJ r;
 {TUP2 t=_AMatchIdentFunDeep_11(x1,x2,x3,x4,x5,x6);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMatchIdentFunDeep_12(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* eqPnInstFct */
{OBJ r;
 COPY(x3,1);
 COPY(x6,1);
 {OBJ x7;
  x7=_AMatchIdentFunDeep_29(x3,x6);
  if(ISTGPRM(x7,1)){
   FREE(x3,1);
   FRPRD(x4,1);
   FRPRD(x5,1);
   FREE(x6,1);
   r=__ABUILTIN_3;
  }else{
   CPPRD(x4,1);
   CPPRD(x5,1);
   CPPRD(__AObjects_34,1);
   {OBJ x8;OBJ x9;OBJ x13;OBJ x30;
    x8=_AName4SigAna_52(x4);
    x9=_AObjects_37(x5,__AObjects_34);
    if(ISTGPRM(x8,1)){
     COPY(x3,2);
     COPY(x6,1);
     CPCLS(__AMatchIdentFunDeep_39,1);
     CPCLS(__AMatchIdentFunDeep_40,1);
     {OBJ x10;OBJ x11;OBJ x12;
      x10=_AMatchIdentFunDeep_30(x1,x2,x3,x6);
      x11=_AAbsyFun2_7(__AMatchIdentFunDeep_39,x10);
      x12=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_40,2))(__AMatchIdentFunDeep_40,x3,x4);
      x13=_ASeq_40(x12,x11);}
    }else{
     FRPRD(x4,1);
     x13=__ABUILTIN_5;}
    if(ISTGPRM(x9,1)){
     FREE(x3,1);
     FRPRD(x5,1);
     FREE(x6,1);
     x30=__ABUILTIN_5;
    }else{
     COPY(x3,1);
     COPY(x6,1);
     {OBJ x14;
      x14=_AName4SigAna_8(x3,x6);
      if(ISTGPRM(x14,1)){
       COPY(x3,1);
       {OBJ x15;
	x15=_AName4SigAna_20(x3,x6);
	x30=_AMatchIdentFunDeep_23(x3,x5,x15);}
      }else{
       COPY(x3,1);
       COPY(x6,1);
       {OBJ x16;OBJ x17;
	x16=_AName4SigAna_9(x3,x6);
	if(ISTGPRM(x16,1)){
	 x17=__ABUILTIN_5;
	}else{
	 COPY(x3,1);
	 COPY(x6,1);
	 x17=_AName4SigAna_12(x3,x6);}
	if(ISTGPRM(x17,1)){
	 FREE(x3,1);
	 FRPRD(x5,1);
	 FREE(x6,1);
	 x30=__ABUILTIN_5;
	}else{
	 COPY(x3,1);
	 COPY(x6,1);
	 {OBJ x18;
	  x18=_AName4SigAna_10(x3,x6);
	  if(ISTGPRM(x18,1)){
	   COPY(x3,1);
	   {OBJ x19;
	    x19=_AName4SigAna_22(x3,x6);
	    x30=_AMatchIdentFunDeep_18(x3,x5,x19);}
	  }else{
	   COPY(x3,1);
	   COPY(x6,1);
	   {OBJ x20;
	    x20=_AName4SigAna_13(x3,x6);
	    if(ISTGPRM(x20,1)){
	     COPY(x6,1);
	     {OBJ x21;
	      x21=_AName_12(x6);
	      if(ISPRD(x6)&&(ISTGPRD(x6,2))){
	       {OBJ x24=FLD(x6,3);
		if(EXPRD(x6,1)){
		 DSPRDF(x6);
		}else{
		 FRPRD(x6,1);}
		{OBJ x25;
		 x25=x24;
		 x30=_AMatchIdentFunDeep_15(x3,x5,x21,x25);}}
	      }else{
	       HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
	    }else{
	     COPY(x3,1);
	     COPY(x6,1);
	     {OBJ x26;
	      x26=_AName4SigAna_14(x3,x6);
	      if(ISTGPRM(x26,1)){
	       COPY(x3,1);
	       COPY(x6,1);
	       CPCLS(__AMatchIdentFunDeep_15,1);
	       {OBJ x27;OBJ x28;OBJ x29;
		x27=_AName_12(x6);
		x28=_AName4SigAna_21(x3,x6);
		x29=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_15,3))(__AMatchIdentFunDeep_15,x3,x5,x27);
		x30=_ASeq_40(x29,x28);}
	      }else{
	       HLT("MatchIdentFunDeep at <151,12-160,66> : missing else in eqPnInstFct\'MatchIdentFunDeep:struct**inst**globSig**pN**instPN->name->bool");}}}}}}}}}}}
    if(ISTGPRM(x30,1)){
     r=x13;
    }else{
     r=__ABUILTIN_3;}}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_13(OBJ x1,OBJ x2,OBJ x3) /* eqFctSortName */
{OBJ r;
 if(ISPRD(x3)&&(ISTGPRD(x3,3))){
  {OBJ x20=FLD(x3,1);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    CPPRD(x20,1);
    FRPRD(x3,1);}
   r=_AMatchIdentFunDeep_26(x1,x2,x20);}
 }else{
  COPY(x1,1);
  CPCLS(__AMatchIdentFunDeep_14,1);
  {OBJ x21;OBJ x22;OBJ x31;OBJ x23;OBJ x32;
   x21=_AName4SigAna_35(x1,x2);
   x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_14,1))(__AMatchIdentFunDeep_14,x1);
   if(ISTGPRD(x21,0)){
    {OBJ x25=FLD(x21,2);
     if(EXPRD(x21,1)){
      x31=x25;
      FLD(x21,2)=NIL;DSPRD(x21);
     }else{
      COPY(x25,1);
      x31=x25;
      FRPRD(x21,1);}
     CPCLS(__APartNameEntry_27,1);
     CPCLS(__ACompose_4,1);
     CPCLS(__AMySeqFun2_14,1);}
   }else{
    HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
   x23=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_14,2))(__AMySeqFun2_14,x22,x3);
   x32=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x23,__APartNameEntry_27);
   r=_ASeq_40(x32,x31);}}
 return r;}

extern OBJ _AMatchIdentFunDeep_14(OBJ x1,OBJ x2,OBJ x3) /* eqFctSortName,1 */
{OBJ r;
 COPY(x2,1);
 COPY(x3,1);
 {OBJ x4;
  x4=_AName_31(x2,x3);
  if(ISTGPRM(x4,1)){
   FREE(x1,1);
   FREE(x2,1);
   FREE(x3,1);
   r=__ABUILTIN_5;
  }else{
   COPY(x2,1);
   COPY(x3,1);
   {OBJ x5;
    x5=_AImpDecl4SigAna_57(x2,x3);
    if(ISTGPRM(x5,1)){
     {OBJ x9;OBJ x13;
      if(ISPRD(x2)&&(ISTGPRD(x2,2))){
       x9=__ABUILTIN_5;
      }else{
       x9=__ABUILTIN_3;}
      if(ISTGPRM(x9,1)){
       if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	x13=__ABUILTIN_5;
       }else{
	x13=__ABUILTIN_3;}
      }else{
       x13=__ABUILTIN_3;}
      if(ISTGPRM(x13,1)){
       if(ISPRD(x2)&&(ISTGPRD(x2,2))){
	{OBJ x31=FLD(x2,3);
	 if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	  {OBJ x34=FLD(x3,3);
	   {OBJ x35;OBJ x36;
	    x35=x34;
	    ANat_76(x31,x35,x36);
	    if(ISTGPRM(x36,1)){
	     FREE(x1,1);
	     if(EXPRD(x2,1)){
	      DSPRDF(x2);
	     }else{
	      DCPRD(x2,1);}
	     if(EXPRD(x3,1)){
	      DSPRDF(x3);
	     }else{
	      DCPRD(x3,1);}
	     r=__ABUILTIN_5;
	    }else{
	     {OBJ x37;
	      ANat_76(x31,__AObjects_30,x37);
	      if(ISTGPRM(x37,1)){
	       FREE(x1,1);
	       if(EXPRD(x2,1)){
		DSPRDF(x2);
	       }else{
		DCPRD(x2,1);}
	       if(EXPRD(x3,1)){
		DSPRDF(x3);
	       }else{
		DCPRD(x3,1);}
	       r=__ABUILTIN_3;
	      }else{
	       {OBJ x38;
		ANat_76(x35,__AObjects_30,x38);
		if(ISTGPRM(x38,1)){
		 FREE(x1,1);
		 if(EXPRD(x2,1)){
		  DSPRDF(x2);
		 }else{
		  DCPRD(x2,1);}
		 if(EXPRD(x3,1)){
		  DSPRDF(x3);
		 }else{
		  DCPRD(x3,1);}
		 r=__ABUILTIN_3;
		}else{
		 COPY(x1,1);
		 {OBJ x39;OBJ x40;
		  x39=_AName_12(x2);
		  x40=_AImpDecl4SigAna_4(x1,x39,x31);
		  if(ISTGPRM(x40,1)){
		   FREE(x1,1);
		   if(EXPRD(x3,1)){
		    DSPRDF(x3);
		   }else{
		    DCPRD(x3,1);}
		   r=__ABUILTIN_5;
		  }else{
		   COPY(x1,1);
		   {OBJ x41;OBJ x42;
		    x41=_AName_12(x3);
		    x42=_AImpDecl4SigAna_4(x1,x41,x35);
		    if(ISTGPRM(x42,1)){
		     FREE(x1,1);
		     r=__ABUILTIN_5;
		    }else{
		     r=_AImpDecl4SigAna_56(x1,x39,x31,x35);}}}}}}}}}}}
	 }else{
	  HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
       }else{
	HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}
      }else{
       FREE(x1,1);
       FREE(x2,1);
       FREE(x3,1);
       r=__ABUILTIN_3;}}
    }else{
     FREE(x1,1);
     FREE(x2,1);
     FREE(x3,1);
     r=__ABUILTIN_3;}}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_15(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* eqGenericInst */
{OBJ r;
 COPY(x1,4);
 {OBJ x5;OBJ x6;TUP2 x8;OBJ x10;
  x5=_AName4SigAna_43(x1,x2);
  x6=_AImpDecl4SigAna_22(x1,x3,x4);
  x8=_AImpDecl4SigAna_26(x1,x3,x4);
  x10=_AImpDecl4SigAna_4(x1,x8.c1,x8.c2);
  if(ISTGPRM(x10,1)){
   CPPRD(__APair_2,1);
   CPPRD(__ANatMap_3,1);
   {OBJ x11;
    x11=_ASeqZip_4(__APair_2,x6,x5);
    r=_AMatchIdentFunDeep_16(x1,x8.c1,__ANatMap_3,x11);}
  }else{
   COPY(x1,1);
   CPCLS(__AMatchIdentFunDeep_19,1);
   {OBJ x12;OBJ x13;
    x12=_AImpDecl4SigAna_23(x1,x3,x4);
    x13=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_19,3))(__AMatchIdentFunDeep_19,x1,x8.c1,x12);
    r=_AMySeqFun2_11(x13,x6,x5);}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_16(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* testUninst */
{OBJ r;
 for(;;){
  if(ISPRM(x4)){
   FREE(x1,1);
   FRPRD(x3,1);
   r=__ABUILTIN_5;
  }else{
   {OBJ x66=FLD1(x4,1);OBJ x67=FLD1(x4,2);
    if(EXPRD(x4,1)){
     DSPRDF(x4);
    }else{
     CPPRD(x66,1);COPY(x67,1);
     FRPRD(x4,1);}
    {OBJ x69=FLD1(x66,1);OBJ x70=FLD1(x66,2);
     if(EXPRD(x66,1)){
      DSPRDF(x66);
     }else{
      COPY(x69,1);CPPRD(x70,1);
      FRPRD(x66,1);}
     {OBJ x74;OBJ x76;
      if(ISPRD(x69)&&(ISTGPRD(x69,4))){
       x74=__ABUILTIN_5;
      }else{
       x74=__ABUILTIN_3;}
      if(ISTGPRM(x74,1)){
       COPY(x69,1);
       {OBJ x75;
	x75=_AName_12(x69);
	ANat_76(x2,x75,x76);}
      }else{
       x76=__ABUILTIN_3;}
      if(ISTGPRM(x76,1)){
       {OBJ x81;OBJ x82;
	if(ISPRD(x69)&&(ISTGPRD(x69,4))){
	 {OBJ x79=FLD(x69,3);
	  if(EXPRD(x69,1)){
	   x81=x79;
	   DSPRDF(x69);
	  }else{
	   x81=x79;
	   FRPRD(x69,1);}
	  CPPRD(x3,1);}
	}else{
	 if(ISPRD(x69)&&(ISTGPRD(x69,7))){
	  {OBJ x80=FLD(x69,1);
	   if(EXPRD(x69,1)){
	    x81=x80;
	    DSPRDF(x69);
	   }else{
	    x81=x80;
	    FRPRD(x69,1);}
	   CPPRD(x3,1);}
	 }else{
	  HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	x82=_ANatMap_17(x81,x3);
	if(ISTGPRM(x82,1)){
	 COPY(x1,1);
	 CPPRD(x3,1);
	 CPPRD(x70,1);
	 {OBJ x83;OBJ x84;
	  x83=_ANatMap_14(x3,x81);
	  CPPRD(x83,1);
	  x84=_AMatchIdentFunDeep_24(x1,x70,x83);
	  if(ISTGPRM(x84,1)){
	   COPY(x1,1);
	   {OBJ x85;OBJ x86;
	    x85=_AMatchIdentFunDeep_17(x1,x70,x83);
	    x86=_ANatMap_4(x81,x85,x3);
	    x3=x86;x4=x67;continue;}
	  }else{
	   FREE(x1,1);
	   FRPRD(x3,1);
	   FREE(x67,1);
	   FRPRD(x70,1);
	   FRPRD(x83,1);
	   r=__ABUILTIN_3;}}
	}else{
	 {OBJ x87;
	  x87=_ANatMap_4(x81,x70,x3);
	  x3=x87;x4=x67;continue;}}}
      }else{
       COPY(x1,1);
       {OBJ x88;
	x88=_AMatchIdentFunDeep_20(x1,x69,x70);
	if(ISTGPRM(x88,1)){
	 x4=x67;continue;
	}else{
	 FREE(x1,1);
	 FRPRD(x3,1);
	 FREE(x67,1);
	 r=__ABUILTIN_3;}}}}}}}
  break;}
 return r;}

extern OBJ _AMatchIdentFunDeep_17(OBJ x1,OBJ x2,OBJ x3) /* intersect */
{OBJ r;
 {OBJ x20;OBJ x12;OBJ x4;OBJ x21;
  if(ISTGPRD(x3,0)){
   {OBJ x14=FLD(x3,2);
    if(EXPRD(x3,1)){
     x20=x14;
     FLD(x3,2)=NIL;DSPRD(x3);
    }else{
     COPY(x14,1);
     x20=x14;
     FRPRD(x3,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  if(ISTGPRD(x2,0)){
   {OBJ x6=FLD(x2,2);
    COPY(x6,1);
    x12=x6;
    CPCLS(__AMatchIdentFunDeep_25,1);
    CPCLS(__AMatchIdentFunDeep_35,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_25,1))(__AMatchIdentFunDeep_25,x1);
  x21=_AMySeqFun1_20(__AMatchIdentFunDeep_35,x4,x12,x20);
  r=_AName4SigAna_55(x2,x21);}
 return r;}

extern OBJ _AMatchIdentFunDeep_18(OBJ x1,OBJ x2,OBJ x3) /* eqInst */
{OBJ r;
 CPCLS(__AMatchIdentFunDeep_20,1);
 COPY(x1,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_20,1))(__AMatchIdentFunDeep_20,x1);
  x5=_AName4SigAna_43(x1,x2);
  r=_AMySeqFun2_11(x4,x3,x5);}
 return r;}

extern OBJ _AMatchIdentFunDeep_19(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* inCandSet */
{OBJ r;
 if(ISPRD(x4)&&(ISTGPRD(x4,2))){
  FREE(x3,1);
  r=_AMatchIdentFunDeep_20(x1,x4,x5);
 }else{
  {OBJ x29;OBJ x31;
   if(ISPRD(x4)&&(ISTGPRD(x4,4))){
    x29=__ABUILTIN_5;
   }else{
    x29=__ABUILTIN_3;}
   if(ISTGPRM(x29,1)){
    COPY(x4,1);
    {OBJ x30;
     x30=_AName_12(x4);
     ANat_76(x30,x2,x31);}
   }else{
    x31=__ABUILTIN_3;}
   if(ISTGPRM(x31,1)){
    {OBJ x36;OBJ x37;OBJ x38;
     if(ISPRD(x4)&&(ISTGPRD(x4,4))){
      {OBJ x34=FLD(x4,3);
       if(EXPRD(x4,1)){
	x36=x34;
	DSPRDF(x4);
       }else{
	x36=x34;
	FRPRD(x4,1);}}
     }else{
      if(ISPRD(x4)&&(ISTGPRD(x4,7))){
       {OBJ x35=FLD(x4,1);
	if(EXPRD(x4,1)){
	 x36=x35;
	 DSPRDF(x4);
	}else{
	 x36=x35;
	 FRPRD(x4,1);}}
      }else{
       HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
     ANat_4(x36,x37);
     x38=_ASeqIndex_2(x3,x37);
     r=_AMatchIdentFunDeep_24(x1,x38,x5);}
   }else{
    FREE(x1,1);
    FREE(x3,1);
    FREE(x4,1);
    FRPRD(x5,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_20(OBJ x1,OBJ x2,OBJ x3) /* inCandSet,1 */
{OBJ r;
 {OBJ x12;OBJ x4;
  if(ISTGPRD(x3,0)){
   {OBJ x6=FLD(x3,2);
    if(EXPRD(x3,1)){
     x12=x6;
     FLD(x3,2)=NIL;DSPRD(x3);
    }else{
     COPY(x6,1);
     x12=x6;
     FRPRD(x3,1);}
    CPCLS(__AMatchIdentFunDeep_21,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_21,2))(__AMatchIdentFunDeep_21,x1,x2);
  r=_ASeq_40(x4,x12);}
 return r;}

extern OBJ _AMatchIdentFunDeep_21(OBJ x1,OBJ x2,OBJ x3) /* inCandSet,2 */
{OBJ r;
 {OBJ x11=FLD1(x3,1);
  if(EXPRD(x3,1)){
   FRPRD(FLD1(x3,2),1);DSPRDF(x3);
  }else{
   COPY(x11,1);
   FRPRD(x3,1);}
  CPCLS(__AMatchIdentFunDeep_36,1);
  {OBJ x13;
   x13=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_36,2))(__AMatchIdentFunDeep_36,x1,x2);
   r=_ASeq_40(x13,x11);}}
 return r;}

extern OBJ _AMatchIdentFunDeep_22(OBJ x1,OBJ x2,OBJ x3) /* matchName */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x4;
  x4=_AImpDecl4SigAna_52(x1,x2);
  if(ISTGPRM(x4,1)){
   COPY(x1,1);
   COPY(x3,1);
   {OBJ x91;
    x91=_AImpDecl4SigAna_52(x1,x3);
    if(ISTGPRM(x91,1)){
     if(ISPRD(x2)&&(ISTGPRD(x2,1))){
      if(EXPRD(x2,1)){
       DSPRDF(x2);
      }else{
       DCPRD(x2,1);}
      FREE(x1,1);
      FREE(x3,1);
      r=__ABUILTIN_3;
     }else{
      if(ISPRD(x3)&&(ISTGPRD(x3,1))){
       if(EXPRD(x3,1)){
	DSPRDF(x3);
       }else{
	DCPRD(x3,1);}
       FREE(x1,1);
       FREE(x2,1);
       r=__ABUILTIN_3;
      }else{
       if(ISPRD(x2)&&(ISTGPRD(x2,2))){
	{OBJ x96=FLD(x2,3);
	 {OBJ x97;
	  ANat_76(x96,__AObjects_30,x97);
	  if(ISTGPRM(x97,1)){
	   FREE(x1,1);
	   if(EXPRD(x2,1)){
	    DSPRDF(x2);
	   }else{
	    DCPRD(x2,1);}
	   FREE(x3,1);
	   r=__ABUILTIN_3;
	  }else{
	   if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	    {OBJ x100=FLD(x3,3);
	     {OBJ x101;
	      ANat_76(x100,__AObjects_30,x101);
	      if(ISTGPRM(x101,1)){
	       FREE(x1,1);
	       if(EXPRD(x2,1)){
		DSPRDF(x2);
	       }else{
		DCPRD(x2,1);}
	       if(EXPRD(x3,1)){
		DSPRDF(x3);
	       }else{
		DCPRD(x3,1);}
	       r=__ABUILTIN_3;
	      }else{
	       COPY(x1,1);
	       CPPRD(x2,1);
	       {OBJ x102;OBJ x103;
		x102=_AName_12(x2);
		x103=_AImpDecl4SigAna_4(x1,x102,x96);
		if(ISTGPRM(x103,1)){
		 FREE(x1,1);
		 if(EXPRD(x2,1)){
		  DSPRDF(x2);
		 }else{
		  DCPRD(x2,1);}
		 if(EXPRD(x3,1)){
		  DSPRDF(x3);
		 }else{
		  DCPRD(x3,1);}
		 r=__ABUILTIN_3;
		}else{
		 COPY(x1,1);
		 CPPRD(x3,1);
		 {OBJ x104;OBJ x105;
		  x104=_AName_12(x3);
		  x105=_AImpDecl4SigAna_4(x1,x104,x100);
		  if(ISTGPRM(x105,1)){
		   FREE(x1,1);
		   if(EXPRD(x2,1)){
		    DSPRDF(x2);
		   }else{
		    DCPRD(x2,1);}
		   if(EXPRD(x3,1)){
		    DSPRDF(x3);
		   }else{
		    DCPRD(x3,1);}
		   r=__ABUILTIN_3;
		  }else{
		   COPY(x1,1);
		   CPPRD(x2,1);
		   {OBJ x106;
		    x106=_AName4SigAna_14(x1,x2);
		    if(ISTGPRM(x106,1)){
		     COPY(x1,1);
		     CPCLS(__AMatchIdentFunDeep_33,1);
		     {OBJ x107;OBJ x108;
		      x107=_AName4SigAna_19(x1,x2);
		      x108=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_33,2))(__AMatchIdentFunDeep_33,x1,x3);
		      r=_ASeq_40(x108,x107);}
		    }else{
		     COPY(x1,1);
		     CPPRD(x3,1);
		     {OBJ x109;
		      x109=_AName4SigAna_14(x1,x3);
		      if(ISTGPRM(x109,1)){
		       COPY(x1,1);
		       CPCLS(__AMatchIdentFunDeep_34,1);
		       {OBJ x110;OBJ x111;
			x110=_AName4SigAna_19(x1,x3);
			x111=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_34,2))(__AMatchIdentFunDeep_34,x1,x2);
			r=_ASeq_40(x111,x110);}
		      }else{
		       FREE(x1,1);
		       r=_AName_31(x2,x3);}}}}}}}}}}}
	   }else{
	    HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}}}
       }else{
	HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}}
    }else{
     FREE(x1,1);
     r=_AName_31(x2,x3);}}
  }else{
   FREE(x1,1);
   r=_AName_31(x2,x3);}}
 return r;}

extern OBJ _AMatchIdentFunDeep_23(OBJ x1,OBJ x2,OBJ x3) /* eqInstPN */
{OBJ r;
 CPPRD(x2,1);
 CPPRD(x3,1);
 {OBJ x4;
  x4=_AObjects_37(x2,x3);
  if(ISTGPRM(x4,1)){
   FREE(x1,1);
   FRPRD(x2,1);
   FRPRD(x3,1);
   r=__ABUILTIN_5;
  }else{
   COPY(x1,2);
   CPCLS(__AMatchIdentFunDeep_24,1);
   {OBJ x5;OBJ x6;OBJ x7;
    x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_24,1))(__AMatchIdentFunDeep_24,x1);
    x6=_AName4SigAna_43(x1,x2);
    x7=_AName4SigAna_43(x1,x3);
    r=_ASeqCompare_3(x5,x6,x7);}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_24(OBJ x1,OBJ x2,OBJ x3) /* eqPN */
{OBJ r;
 {OBJ x20;OBJ x12;OBJ x4;
  if(ISTGPRD(x3,0)){
   {OBJ x14=FLD(x3,2);
    if(EXPRD(x3,1)){
     x20=x14;
     FLD(x3,2)=NIL;DSPRD(x3);
    }else{
     COPY(x14,1);
     x20=x14;
     FRPRD(x3,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  if(ISTGPRD(x2,0)){
   {OBJ x6=FLD(x2,2);
    if(EXPRD(x2,1)){
     x12=x6;
     FLD(x2,2)=NIL;DSPRD(x2);
    }else{
     COPY(x6,1);
     x12=x6;
     FRPRD(x2,1);}
    CPCLS(__AMatchIdentFunDeep_25,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_25,1))(__AMatchIdentFunDeep_25,x1);
  r=_AMySeqFun2_12(x4,x12,x20);}
 return r;}

extern OBJ _AMatchIdentFunDeep_25(OBJ x1,OBJ x2,OBJ x3) /* eqPnByInst */
{OBJ r;
 CPCLS(__AMatchIdentFunDeep_22,1);
 {OBJ x16;
  x16=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_22,1))(__AMatchIdentFunDeep_22,x1);
  {OBJ x17=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    COPY(x17,1);
    FRPRD(x2,1);}
   {OBJ x25=FLD1(x3,1);
    if(EXPRD(x3,1)){
     FRPRD(FLD1(x3,2),1);DSPRDF(x3);
    }else{
     COPY(x25,1);
     FRPRD(x3,1);}
    r=_AMySeqFun2_12(x16,x17,x25);}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_26(OBJ x1,OBJ x2,OBJ x3) /* eqSortPN */
{OBJ r;
 CPPRD(x2,1);
 CPPRD(x3,1);
 {OBJ x4;
  x4=_AObjects_36(x2,x3);
  if(ISTGPRM(x4,1)){
   FREE(x1,1);
   FRPRD(x2,1);
   FRPRD(x3,1);
   r=__ABUILTIN_5;
  }else{
   COPY(x1,2);
   {OBJ x5;OBJ x6;
    x5=_AName4SigAna_35(x1,x2);
    x6=_AName4SigAna_35(x1,x3);
    r=_AMatchIdentFunDeep_27(x1,x5,x6);}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_27(OBJ x1,OBJ x2,OBJ x3) /* eqFctPN */
{OBJ r;
 {OBJ x20;OBJ x12;OBJ x4;
  if(ISTGPRD(x3,0)){
   {OBJ x14=FLD(x3,2);
    if(EXPRD(x3,1)){
     x20=x14;
     FLD(x3,2)=NIL;DSPRD(x3);
    }else{
     COPY(x14,1);
     x20=x14;
     FRPRD(x3,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  if(ISTGPRD(x2,0)){
   {OBJ x6=FLD(x2,2);
    if(EXPRD(x2,1)){
     x12=x6;
     FLD(x2,2)=NIL;DSPRD(x2);
    }else{
     COPY(x6,1);
     x12=x6;
     FRPRD(x2,1);}
    CPCLS(__AMatchIdentFunDeep_28,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_28,1))(__AMatchIdentFunDeep_28,x1);
  r=_AMySeqFun2_12(x4,x12,x20);}
 return r;}

extern OBJ _AMatchIdentFunDeep_28(OBJ x1,OBJ x2,OBJ x3) /* eqFctPnByInst */
{OBJ r;
 CPCLS(__AMatchIdentFunDeep_14,1);
 {OBJ x16;
  x16=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_14,1))(__AMatchIdentFunDeep_14,x1);
  {OBJ x17=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    COPY(x17,1);
    FRPRD(x2,1);}
   {OBJ x25=FLD1(x3,1);
    if(EXPRD(x3,1)){
     FRPRD(FLD1(x3,2),1);DSPRDF(x3);
    }else{
     COPY(x25,1);
     FRPRD(x3,1);}
    r=_AMySeqFun2_12(x16,x17,x25);}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_29(OBJ x1,OBJ x2) /* myhidden? */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
  {OBJ x76=FLD(x2,3);
   COPY(x1,1);
   CPPRD(x2,2);
   {OBJ x77;OBJ x78;OBJ x79;OBJ x80;OBJ x81;OBJ x82;
    x77=_AGlobSig_55(x1);
    x78=_AName_12(x2);
    x79=_AName_11(x2);
    x80=_ADArray_20(x77,x78);
    CPPRD(x80,1);
    x81=_AImpExpEntry_92(x80);
    x82=_ADArray_21(x81,x79);
    if(ISPRM(x82)){
     FREE(x1,1);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      DCPRD(x2,1);}
     FRPRD(x80,1);
     r=__ABUILTIN_5;
    }else{
     {OBJ x83=FLD1(x82,1);
      if(EXPRD(x82,1)){
       DSPRDF(x82);
      }else{
       CPPRD(x83,1);
       FRPRD(x82,1);}
      COPY(x1,1);
      {OBJ x84;OBJ x85;OBJ x86;OBJ x87;OBJ x88;
       x84=_AImpDecl4SigAna_50(x1,x78);
       if(ISTGPRM(x84,1)){
	CPCLS(__AImpExpEntry_6,1);
	CPCLS(__AImpExpEntry_128,1);
	x85=__ABUILTIN_3;
       }else{
	CPCLS(__AImpExpEntry_6,1);
	CPCLS(__AImpExpEntry_128,1);
	x85=__ABUILTIN_5;}
       x86=_AImpExpEntry_10(x83);
       x87=_ASeqFilter_2(__AImpExpEntry_128,x86);
       x88=_ASeqMap_3(__AImpExpEntry_6,x87);
       if(ISTGPRM(x85,1)){
	{OBJ x89;
	 ANat_76(x76,__AObjects_30,x89);
	 if(ISTGPRM(x89,1)){
	  FREE(x1,1);
	  if(EXPRD(x2,1)){
	   DSPRDF(x2);
	  }else{
	   DCPRD(x2,1);}
	  FRPRD(x80,1);
	  FREE(x88,1);
	  r=__ABUILTIN_5;
	 }else{
	  {OBJ x90;OBJ x91;
	   x90=_AName4SigAna_14(x1,x2);
	   x91=_AImpExpEntry_91(x80);
	   if(ISTGPRM(x90,1)){
	    CPCLS(__AObjects_31,1);
	    {OBJ x92;OBJ x93;OBJ x94;
	     x92=_ADArray_20(x91,x76);
	     x93=_AImpExpEntry_49(x92);
	     x94=_AMySeqFun2_12(__AObjects_31,x88,x93);
	     if(ISTGPRM(x94,1)){
	      r=__ABUILTIN_3;
	     }else{
	      r=__ABUILTIN_5;}}
	   }else{
	    FRPRD(x91,1);
	    CPCLS(__AMatchIdentFunDeep_37,1);
	    {OBJ x95;OBJ x96;
	     x95=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_37,1))(__AMatchIdentFunDeep_37,x76);
	     x96=_ASeq_40(x95,x88);
	     if(ISTGPRM(x96,1)){
	      r=__ABUILTIN_3;
	     }else{
	      r=__ABUILTIN_5;}}}}}}
       }else{
	FREE(x1,1);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 DCPRD(x2,1);}
	FRPRD(x80,1);
	if(ISPRM(x88)){
	 r=__ABUILTIN_5;
	}else{
	 if(EXPRD(x88,1)){
	  FREE(FLD1(x88,2),1);DSPRDF(x88);
	 }else{
	  DCPRD(x88,1);}
	 r=__ABUILTIN_3;}}}}}}}
 }else{
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    DCPRD(x2,1);}
   FREE(x1,1);
   r=__ABUILTIN_3;
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,4))){
    FREE(x1,1);
    {OBJ x103;OBJ x104;
     x103=_AName_12(x2);
     ANat_76(x103,__AObjects_29,x104);
     if(ISTGPRM(x104,1)){
      r=__ABUILTIN_3;
     }else{
      r=__ABUILTIN_5;}}
   }else{
    HLT("MatchIdentFunDeep at <325,11-344,58> : missing else in myhidden\?\'MatchIdentFunDeep:globSig**name->bool");}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_30(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* instFct */
{OBJ r;
 CPCLS(__AMatchIdentFunDeep_38,1);
 COPY(x3,1);
 COPY(x4,1);
 {OBJ x5;OBJ x6;
  x5=_AName4SigAna_5(x3,x4);
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_38,4))(__AMatchIdentFunDeep_38,x1,x2,x3,x4);
  r=_AAbsyFun2_3(x6,x5);}
 return r;}

extern OBJ _AMatchIdentFunDeep_31(OBJ x1) /* getNames */
{OBJ r;
 {OBJ x9;OBJ x10;
  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(__APartNameEntry_27,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x10=_ASeqMap_3(__APartNameEntry_27,x9);
  r=_ASeqOfSeq_2(x10);}
 return r;}

extern OBJ _AMatchIdentFunDeep_33(OBJ x1,OBJ x2,OBJ x3) /* matchName'33 */
{OBJ r;
 r=_AMatchIdentFunDeep_22(x1,x3,x2);
 return r;}

extern OBJ _AMatchIdentFunDeep_34(OBJ x1,OBJ x2,OBJ x3) /* matchName'34 */
{OBJ r;
 r=_AMatchIdentFunDeep_22(x1,x2,x3);
 return r;}

extern OBJ _AMatchIdentFunDeep_35(OBJ x1,OBJ x2) /* intersect'35 */
{OBJ r;
 FRPRD(x2,1);
 r=x1;
 return r;}

extern OBJ _AMatchIdentFunDeep_36(OBJ x1,OBJ x2,OBJ x3) /* inCandSet,2'36 */
{OBJ r;
 r=_AMatchIdentFunDeep_22(x1,x2,x3);
 return r;}

extern OBJ _AMatchIdentFunDeep_37(OBJ x1,OBJ x2) /* myhidden?'37 */
{OBJ r;
 ANat_76(x1,x2,r);
 return r;}

extern OBJ _AMatchIdentFunDeep_38(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* instFct'38 */
{OBJ r;
 if(ISPRD(x5)&&(ISTGPRD(x5,2))){
  FREE(x3,1);
  {OBJ x94;OBJ x90;OBJ x96;
   if(ISPRD(x4)&&(ISTGPRD(x4,2))){
    CPPRD(x5,1);
    x94=__ABUILTIN_5;
   }else{
    CPPRD(x5,1);
    x94=__ABUILTIN_3;}
   x90=_AName_12(x5);
   if(ISTGPRM(x94,1)){
    COPY(x4,1);
    {OBJ x95;
     x95=_AName_12(x4);
     ANat_76(x95,x90,x96);}
   }else{
    x96=__ABUILTIN_3;}
   if(ISTGPRM(x96,1)){
    {OBJ x97;
     x97=_AName_11(x5);
     if(ISPRD(x4)&&(ISTGPRD(x4,2))){
      {OBJ x100;FLAG x_x4=EXPRD(x4,1);
       if(x_x4){
       }else{
	x100=FLD(x4,3);}
       {OBJ x101;
	if(x_x4){
	 RPRDF(x4,x101);FLD(x101,1)=x90;FLD(x101,2)=x97;
	}else{
	 FRPRD(x4,1);PRDF(3,2,x101);FLD(x101,1)=x90;FLD(x101,2)=x97;FLD(x101,3)=x100;}
	PRD1(2,r);FLD1(r,1)=x101;FLD1(r,2)=__ASeq_6;}}
     }else{
      HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
   }else{
    FREE(x4,1);
    {OBJ x102;
     ANat_76(x90,x1,x102);
     if(ISTGPRM(x102,1)){
      {OBJ x103;OBJ x104;
       x103=_AName_11(x5);
       PRDF(3,2,x104);FLD(x104,1)=x90;FLD(x104,2)=x103;FLD(x104,3)=x2;
       PRD1(2,r);FLD1(r,1)=x104;FLD1(r,2)=__ASeq_6;}
     }else{
      PRD1(2,r);FLD1(r,1)=x5;FLD1(r,2)=__ASeq_6;}}}}
 }else{
  {OBJ x108;OBJ x111;
   if(ISPRD(x5)&&(ISTGPRD(x5,4))){
    x108=__ABUILTIN_5;
   }else{
    x108=__ABUILTIN_3;}
   if(ISTGPRM(x108,1)){
    {OBJ x109;
     ANat_76(x2,__AObjects_30,x109);
     if(ISTGPRM(x109,1)){
      x111=__ABUILTIN_3;
     }else{
      COPY(x5,1);
      {OBJ x110;
       x110=_AName_12(x5);
       ANat_76(x110,x1,x111);}}}
   }else{
    x111=__ABUILTIN_3;}
   if(ISTGPRM(x111,1)){
    FREE(x4,1);
    COPY(x3,1);
    {OBJ x112;OBJ x113;
     x112=_AImpDecl4SigAna_6(x3,x1,x2);
     if(ISTGPRM(x112,1)){
      x113=__ABUILTIN_5;
     }else{
      COPY(x3,1);
      x113=_AImpDecl4SigAna_7(x3,x1,x2);}
     if(ISTGPRM(x113,1)){
      {OBJ x119;OBJ x114;OBJ x120;
       if(ISPRD(x5)&&(ISTGPRD(x5,4))){
	{OBJ x117=FLD(x5,3);
	 if(EXPRD(x5,1)){
	  x119=x117;
	  DSPRDF(x5);
	 }else{
	  x119=x117;
	  FRPRD(x5,1);}}
       }else{
	if(ISPRD(x5)&&(ISTGPRD(x5,7))){
	 {OBJ x118=FLD(x5,1);
	  if(EXPRD(x5,1)){
	   x119=x118;
	   DSPRDF(x5);
	  }else{
	   x119=x118;
	   FRPRD(x5,1);}}
	}else{
	 HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
       x114=_AImpDecl4SigAna_22(x3,x1,x2);
       ANat_4(x119,x120);
       PRD1(2,r);FLD1(r,2)=__ASeq_6;
       FLD1(r,1)=_ASeqIndex_2(x114,x120);}
     }else{
      COPY(x3,1);
      {OBJ x122;
       x122=_AImpDecl4SigAna_1(x3,x1,x2);
       if(ISTGPRM(x122,1)){
	{OBJ x128;OBJ x123;OBJ x129;OBJ x130;OBJ x131;
	 if(ISPRD(x5)&&(ISTGPRD(x5,4))){
	  {OBJ x126=FLD(x5,3);
	   if(EXPRD(x5,1)){
	    x128=x126;
	    DSPRDF(x5);
	   }else{
	    x128=x126;
	    FRPRD(x5,1);}
	   COPY(x3,1);}
	 }else{
	  if(ISPRD(x5)&&(ISTGPRD(x5,7))){
	   {OBJ x127=FLD(x5,1);
	    if(EXPRD(x5,1)){
	     x128=x127;
	     DSPRDF(x5);
	    }else{
	     x128=x127;
	     FRPRD(x5,1);}
	    COPY(x3,1);}
	  }else{
	   HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	 x123=_AImpDecl4SigAna_21(x3,x1,x2);
	 x129=_AName4SigAna_43(x3,x123);
	 ANat_4(x128,x130);
	 x131=_ASeqIndex_2(x129,x130);
	 r=_AMatchIdentFunDeep_31(x131);}
       }else{
	FREE(x3,1);
	PRD1(2,r);FLD1(r,1)=x5;FLD1(r,2)=__ASeq_6;}}}}
   }else{
    {OBJ x137;
     if(ISTGPRM(x108,1)){
      if(ISPRD(x4)&&(ISTGPRD(x4,2))){
       CPPRD(x4,1);
       COPY(x5,1);
       {OBJ x135;OBJ x136;
	x135=_AName_12(x4);
	x136=_AName_12(x5);
	ANat_76(x136,x135,x137);}
      }else{
       x137=__ABUILTIN_3;}
     }else{
      x137=__ABUILTIN_3;}
     if(ISTGPRM(x137,1)){
      COPY(x3,1);
      COPY(x4,1);
      {OBJ x138;OBJ x139;
       x138=_AName4SigAna_10(x3,x4);
       if(ISTGPRM(x138,1)){
	x139=__ABUILTIN_5;
       }else{
	COPY(x3,1);
	COPY(x4,1);
	x139=_AName4SigAna_11(x3,x4);}
       if(ISTGPRM(x139,1)){
	{OBJ x145;OBJ x140;OBJ x146;
	 if(ISPRD(x5)&&(ISTGPRD(x5,4))){
	  {OBJ x143=FLD(x5,3);
	   if(EXPRD(x5,1)){
	    x145=x143;
	    DSPRDF(x5);
	   }else{
	    x145=x143;
	    FRPRD(x5,1);}}
	 }else{
	  if(ISPRD(x5)&&(ISTGPRD(x5,7))){
	   {OBJ x144=FLD(x5,1);
	    if(EXPRD(x5,1)){
	     x145=x144;
	     DSPRDF(x5);
	    }else{
	     x145=x144;
	     FRPRD(x5,1);}}
	  }else{
	   HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	 x140=_AName4SigAna_22(x3,x4);
	 ANat_4(x145,x146);
	 PRD1(2,r);FLD1(r,2)=__ASeq_6;
	 FLD1(r,1)=_ASeqIndex_2(x140,x146);}
       }else{
	COPY(x3,1);
	COPY(x4,1);
	{OBJ x148;
	 x148=_AName4SigAna_8(x3,x4);
	 if(ISTGPRM(x148,1)){
	  {OBJ x154;OBJ x149;OBJ x155;OBJ x156;OBJ x157;
	   if(ISPRD(x5)&&(ISTGPRD(x5,4))){
	    {OBJ x152=FLD(x5,3);
	     if(EXPRD(x5,1)){
	      x154=x152;
	      DSPRDF(x5);
	     }else{
	      x154=x152;
	      FRPRD(x5,1);}
	     COPY(x3,1);}
	   }else{
	    if(ISPRD(x5)&&(ISTGPRD(x5,7))){
	     {OBJ x153=FLD(x5,1);
	      if(EXPRD(x5,1)){
	       x154=x153;
	       DSPRDF(x5);
	      }else{
	       x154=x153;
	       FRPRD(x5,1);}
	      COPY(x3,1);}
	    }else{
	     HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	   x149=_AName4SigAna_20(x3,x4);
	   x155=_AName4SigAna_43(x3,x149);
	   ANat_4(x154,x156);
	   x157=_ASeqIndex_2(x155,x156);
	   r=_AMatchIdentFunDeep_31(x157);}
	 }else{
	  FREE(x3,1);
	  FREE(x4,1);
	  PRD1(2,r);FLD1(r,1)=x5;FLD1(r,2)=__ASeq_6;}}}}
     }else{
      FREE(x3,1);
      FREE(x4,1);
      PRD1(2,r);FLD1(r,1)=x5;FLD1(r,2)=__ASeq_6;}}}}}
 return r;}

extern OBJ _AMatchIdentFunDeep_39(OBJ x1) /* eqPnInstFct'39 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMatchIdentFunDeep_40(OBJ x1,OBJ x2,OBJ x3) /* eqPnInstFct'40 */
{OBJ r;
 CPCLS(__AMatchIdentFunDeep_13,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchIdentFunDeep_13,1))(__AMatchIdentFunDeep_13,x1);
  x5=_AName4SigAna_53(x2);
  r=_AAbsyFun2_6(x4,x5,x3);}
 return r;}

extern OBJ _AMatchIdentFunDeep_42(OBJ x1) /* matchPNCandDeep,1'42 */
{OBJ r;
 CPPRD(__AMatchIdentFunDeep_41,1);
 r=_ADEBUG_10(__AMatchIdentFunDeep_41);
 return r;}

extern OBJ _AMatchIdentFunDeep_43(OBJ x1) /* matchIdentFunByInstPnDeep'43 */
{OBJ r;
 CPCLS(__AMatchIdentFunDeep_9,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchIdentFunDeep_9,2))(__AMatchIdentFunDeep_9,__AObjects_29,__AObjects_30);
 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;}

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

static OBJ _mt_5_0_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,4);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 return r;}

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

static OBJ _mt_5_4_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 return r;}
static OBJ _mt_5_4_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

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

static OBJ _mt_6_0_5(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,5);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 return r;}

static OBJ _mt_6_3_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);
  COPY(FLDCLS(t,3),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1,t2,t3);
 return r;}

static OBJ _mt_6_5_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  COPY(FLDCLS(t,5),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),t1);
 return r;}
static OBJ _mt_6_5_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;FLDCLS(t,5)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_AMatchIdentFunDeep()
{
 static int visited=0; if(visited) return; visited=1;
 init_AArray();
 init_AAbsyFun2();
 init_ACompose();
 init_ADEBUG();
 init_AGlobSig();
 init_ADenotation();
 init_AObjects();
 init_AGlobSigToText();
 init_APartNameEntry();
 init_AImpDecl4SigAna();
 init_APair();
 init_AMySeqFun1();
 init_AName();
 init_AMySeqFun2();
 init_ARep();
 init_AMySeqFun3();
 init_APartName();
 init_AName4SigAna();
 init_AOcPos();
 init_ASeqCompare();
 init_ANat();
 init_ASeqFilter();
 init_AOption();
 init_ASeqIndex();
 init_AFct();
 init_ASeqMap();
 init_ASeq();
 init_ASeqMapEnv();
 init_AChar();
 init_ASeqOfSeq();
 init_APragma();
 init_ASeqReduce();
 init_ATable();
 init_ASeqZip();
 init_AUniqueTable();
 init_ARelCmp();
 init_ADeclEntry();
 init_ACom();
 init_AImpExpEntry();
 init_AVoid();
 init_AGlobSigImpl();
 init_AMaps4SigAna();
 init_AImpl();
 init_ASetByBST();
 init_AGlobPragma();
 init_ABSTree();
 init_AMap();
 init_ATree();
 init_ASet();
 init_AInt();
 init_ABitset();
 init_ADArrayReduce();
 init_APatterns();
 init_AAttributes();
 init_ADArray();
 init_ANatMap();
 init_AString();
 CLS(1,_AMatchIdentFunDeep_31,__AMatchIdentFunDeep_31);
 CLS(4,_AMatchIdentFunDeep_30,__AMatchIdentFunDeep_30);
 CLS(2,_AMatchIdentFunDeep_29,__AMatchIdentFunDeep_29);
 CLS(3,_AMatchIdentFunDeep_28,__AMatchIdentFunDeep_28);
 CLS(3,_AMatchIdentFunDeep_27,__AMatchIdentFunDeep_27);
 CLS(3,_AMatchIdentFunDeep_26,__AMatchIdentFunDeep_26);
 CLS(3,_AMatchIdentFunDeep_25,__AMatchIdentFunDeep_25);
 CLS(3,_AMatchIdentFunDeep_24,__AMatchIdentFunDeep_24);
 CLS(3,_AMatchIdentFunDeep_23,__AMatchIdentFunDeep_23);
 CLS(3,_AMatchIdentFunDeep_22,__AMatchIdentFunDeep_22);
 CLS(3,_AMatchIdentFunDeep_21,__AMatchIdentFunDeep_21);
 CLS(3,_AMatchIdentFunDeep_20,__AMatchIdentFunDeep_20);
 CLS(5,_AMatchIdentFunDeep_19,__AMatchIdentFunDeep_19);
 CLS(3,_AMatchIdentFunDeep_18,__AMatchIdentFunDeep_18);
 CLS(3,_AMatchIdentFunDeep_17,__AMatchIdentFunDeep_17);
 CLS(4,_AMatchIdentFunDeep_16,__AMatchIdentFunDeep_16);
 CLS(4,_AMatchIdentFunDeep_15,__AMatchIdentFunDeep_15);
 CLS(3,_AMatchIdentFunDeep_14,__AMatchIdentFunDeep_14);
 CLS(3,_AMatchIdentFunDeep_13,__AMatchIdentFunDeep_13);
 CLS(6,_AMatchIdentFunDeep_12,__AMatchIdentFunDeep_12);
 LCLS(1,_AMatchIdentFunDeep_43,__AMatchIdentFunDeep_43);
 CLS(6,_AMatchIdentFunDeep_11_c,__AMatchIdentFunDeep_11);
 LCLS(1,_AMatchIdentFunDeep_42,__AMatchIdentFunDeep_42);
 LCLS(3,_AMatchIdentFunDeep_10,__AMatchIdentFunDeep_10);
 DEN("-zprintGsMatchPNCandDeep",__AMatchIdentFunDeep_41);
 CLS(4,_AMatchIdentFunDeep_9_c,__AMatchIdentFunDeep_9);
 CLS(3,_AMatchIdentFunDeep_40,__AMatchIdentFunDeep_40);
 CLS(1,_AMatchIdentFunDeep_39,__AMatchIdentFunDeep_39);
 CLS(5,_AMatchIdentFunDeep_38,__AMatchIdentFunDeep_38);
 CLS(2,_AMatchIdentFunDeep_37,__AMatchIdentFunDeep_37);
 CLS(3,_AMatchIdentFunDeep_36,__AMatchIdentFunDeep_36);
 CLS(2,_AMatchIdentFunDeep_4_c,__AMatchIdentFunDeep_4);
 CLS(2,_AMatchIdentFunDeep_35,__AMatchIdentFunDeep_35);
 CLS(4,_AMatchIdentFunDeep_3_c,__AMatchIdentFunDeep_3);
 CLS(3,_AMatchIdentFunDeep_34,__AMatchIdentFunDeep_34);
 CLS(2,_AMatchIdentFunDeep_2_c,__AMatchIdentFunDeep_2);
 CLS(3,_AMatchIdentFunDeep_33,__AMatchIdentFunDeep_33);
 CLS(2,_AMatchIdentFunDeep_1_c,__AMatchIdentFunDeep_1);
 DEN("\n",__AMatchIdentFunDeep_32);
 MTH(1,0,3,_mt_1_0_3);LZYMTH(1,0,3,_mt_1_0_3);
 MTH(5,0,3,_mt_5_0_3);LZYMTH(5,0,3,_mt_5_0_3);
 MTH(5,0,4,_mt_5_0_4);LZYMTH(5,0,4,_mt_5_0_4);
 MTH(5,3,2,_mt_5_3_2);LZYMTH(5,3,2,_mt_5_3_2);
 MTH(5,4,1,_mt_5_4_1);LZYMTH(5,4,1,_mt_5_4_1_l);
 MTH(6,0,3,_mt_6_0_3);LZYMTH(6,0,3,_mt_6_0_3);
 MTH(6,0,5,_mt_6_0_5);LZYMTH(6,0,5,_mt_6_0_5);
 MTH(6,3,3,_mt_6_3_3);LZYMTH(6,3,3,_mt_6_3_3);
 MTH(6,5,1,_mt_6_5_1);LZYMTH(6,5,1,_mt_6_5_1_l);}

