

#include "BUILTIN.h"
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ _AMySeqFun1_17(OBJ);extern OBJ __AMySeqFun1_17;
extern OBJ __AObjects_30;
extern OBJ _AMySeqFun2_4(OBJ,OBJ);extern OBJ __AMySeqFun2_4;
extern OBJ _AMySeqFun2_12(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_12;
extern OBJ _AMySeqFun2_20(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_20;
extern OBJ _AGlobSig_52(OBJ);extern OBJ __AGlobSig_52;
extern OBJ _AGlobSig_55(OBJ);extern OBJ __AGlobSig_55;
extern OBJ _AGlobSig_81(OBJ,OBJ);extern OBJ __AGlobSig_81;
extern OBJ _AGlobSig_84(OBJ,OBJ);extern OBJ __AGlobSig_84;
extern OBJ _AGlobSig_85(OBJ,OBJ);extern OBJ __AGlobSig_85;
extern OBJ _AName4SigAna_43(OBJ,OBJ);extern OBJ __AName4SigAna_43;
extern OBJ _AName4SigAna_47(OBJ,OBJ);extern OBJ __AName4SigAna_47;
extern OBJ __AMaps4SigAna_12;
extern OBJ _ASeqCompare_3(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_3;
extern OBJ _APartNameEntry_12(OBJ);extern OBJ __APartNameEntry_12;
extern OBJ _APartNameEntry_21(OBJ);extern OBJ __APartNameEntry_21;
extern OBJ _APartNameEntry_27(OBJ);extern OBJ __APartNameEntry_27;
extern OBJ _APartNameEntry_55(OBJ,OBJ);extern OBJ __APartNameEntry_55;
extern TUP2 _ASeqFilter_8(OBJ,OBJ);extern OBJ __ASeqFilter_8;
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 _ASeqIndex_2(OBJ,OBJ);extern OBJ __ASeqIndex_2;
extern OBJ _AImpExpEntry_10(OBJ);extern OBJ __AImpExpEntry_10;
extern OBJ _AImpExpEntry_49(OBJ);extern OBJ __AImpExpEntry_49;
extern OBJ _AImpExpEntry_72(OBJ);extern OBJ __AImpExpEntry_72;
extern OBJ _AImpExpEntry_91(OBJ);extern OBJ __AImpExpEntry_91;
extern OBJ _AImpExpEntry_92(OBJ);extern OBJ __AImpExpEntry_92;
extern OBJ _AImpExpEntry_93(OBJ);extern OBJ __AImpExpEntry_93;
extern OBJ _AImpExpEntry_115(OBJ,OBJ);extern OBJ __AImpExpEntry_115;
extern OBJ _AImpExpEntry_116(OBJ,OBJ);extern OBJ __AImpExpEntry_116;
extern OBJ _AImpExpEntry_117(OBJ,OBJ);extern OBJ __AImpExpEntry_117;
extern OBJ _AImpExpEntry_120(OBJ,OBJ);extern OBJ __AImpExpEntry_120;
extern OBJ _AImpExpEntry_123(OBJ,OBJ,OBJ);extern OBJ __AImpExpEntry_123;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ __AAttributes_11;
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ __AOcPos_35;
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ __AOption_5;

#include "Nat.h"

#include "Char.h"
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;
extern TUP2 _ATable_8(OBJ,OBJ);extern OBJ __ATable_8;
extern OBJ __ATable_10;
extern OBJ _ADArray_15(OBJ,OBJ,OBJ);extern OBJ __ADArray_15;
extern OBJ _ADArray_16(OBJ,OBJ,OBJ);extern OBJ __ADArray_16;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ _ADArray_21(OBJ,OBJ);extern OBJ __ADArray_21;

#include "Bitset.h"

#include "Array.h"
extern OBJ _AUniqueTable_15(OBJ,OBJ,OBJ);extern OBJ __AUniqueTable_15;
extern OBJ _AImpDecl4SigAna_1(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_1; /* explInst? */
extern OBJ _AImpDecl4SigAna_2(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_2; /* genericTransitive? */
extern OBJ _AImpDecl4SigAna_3(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_3; /* genericTransitives? */
extern OBJ _AImpDecl4SigAna_4(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_4; /* uninst? */
extern OBJ _AImpDecl4SigAna_5(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_5; /* explUninst? */
extern OBJ _AImpDecl4SigAna_6(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_6; /* transitive? */
extern OBJ _AImpDecl4SigAna_7(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_7; /* identInst? */
extern OBJ _AImpDecl4SigAna_8(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_8; /* doubleInst? */
extern OBJ _AImpDecl4SigAna_9(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_9; /* isMarked? */
extern OBJ _AImpDecl4SigAna_10(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_10; /* evaluated? */
extern TUP2 _AImpDecl4SigAna_11(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_11; /* getInstPNAndMark */
extern OBJ _AImpDecl4SigAna_12(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_12; /* addOnlyMap */
extern OBJ _AImpDecl4SigAna_13(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_13; /* addOnlyMap,1 */
extern OBJ _AImpDecl4SigAna_14(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_14; /* addOnlyMap,2 */
extern OBJ _AImpDecl4SigAna_15(OBJ,OBJ);OBJ __AImpDecl4SigAna_15; /* pos */
extern OBJ _AImpDecl4SigAna_16(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_16; /* posI */
extern OBJ _AImpDecl4SigAna_17(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_17; /* addInstToUninst */
extern TUP2 _AImpDecl4SigAna_18(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_18; /* addUnIdentifiedInst */
extern TUP2 _AImpDecl4SigAna_19(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_19; /* addIdentifiedInst */
extern OBJ _AImpDecl4SigAna_20(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_20; /* setIdentifiedInst */
extern OBJ _AImpDecl4SigAna_21(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_21; /* getInstPN */
extern OBJ _AImpDecl4SigAna_22(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_22; /* getInst */
extern OBJ _AImpDecl4SigAna_23(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_23; /* getOtherInstPNS */
extern OBJ _AImpDecl4SigAna_24(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_24; /* getInsts */
extern OBJ _AImpDecl4SigAna_25(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_25; /* setInsts */
extern TUP2 _AImpDecl4SigAna_26(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_26; /* getOtherInst */
extern OBJ _AImpDecl4SigAna_27(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_27; /* getDoubleInst */
extern OBJ _AImpDecl4SigAna_28(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_28; /* setDoubleInst */
extern OBJ _AImpDecl4SigAna_29(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_29; /* setInstUnused */
extern OBJ _AImpDecl4SigAna_30(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_30; /* duplicateInstAppl */
extern OBJ _AImpDecl4SigAna_31(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_31; /* findInst */
extern TUP2 _AImpDecl4SigAna_32(OBJ,OBJ);OBJ __AImpDecl4SigAna_32; /* errInfo */
extern OBJ _AImpDecl4SigAna_33(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_33; /* addPreOwnSignImport */
extern OBJ _AImpDecl4SigAna_34(OBJ,OBJ);OBJ __AImpDecl4SigAna_34; /* addPreImport */
extern TUP2 _AImpDecl4SigAna_35(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_35; /* updPreImport */
extern OBJ _AImpDecl4SigAna_36(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_36; /* defImport */
extern OBJ _AImpDecl4SigAna_37(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_37; /* defTransImport */
extern OBJ _AImpDecl4SigAna_38(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_38; /* mergeImpDecls */
extern OBJ _AImpDecl4SigAna_39(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_39; /* defTransImport,1 */
extern OBJ _AImpDecl4SigAna_40(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_40; /* defSignImport */
extern OBJ _AImpDecl4SigAna_41(OBJ,OBJ);OBJ __AImpDecl4SigAna_41; /* getInstMap */
extern OBJ _AImpDecl4SigAna_42(OBJ,OBJ);OBJ __AImpDecl4SigAna_42; /* getInstMap,1 */
extern OBJ _AImpDecl4SigAna_43(OBJ,OBJ);OBJ __AImpDecl4SigAna_43; /* getImpDeclMap */
extern OBJ _AImpDecl4SigAna_44(OBJ,OBJ);OBJ __AImpDecl4SigAna_44; /* getFormParams */
extern OBJ _AImpDecl4SigAna_45(OBJ,OBJ);OBJ __AImpDecl4SigAna_45; /* getFormParamImpDecls */
extern OBJ _AImpDecl4SigAna_46(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_46; /* updImport */
extern TUP2 _AImpDecl4SigAna_47(OBJ,OBJ);OBJ __AImpDecl4SigAna_47; /* getDelReExports */
extern OBJ _AImpDecl4SigAna_48(OBJ,OBJ);OBJ __AImpDecl4SigAna_48; /* alreadyImported? */
extern OBJ _AImpDecl4SigAna_49(OBJ,OBJ);OBJ __AImpDecl4SigAna_49; /* directImported? */
extern OBJ _AImpDecl4SigAna_50(OBJ,OBJ);OBJ __AImpDecl4SigAna_50; /* notParametrized? */
extern OBJ _AImpDecl4SigAna_51(OBJ,OBJ);OBJ __AImpDecl4SigAna_51; /* notParametrized?,1 */
extern OBJ _AImpDecl4SigAna_52(OBJ,OBJ);OBJ __AImpDecl4SigAna_52; /* parametrized? */
extern OBJ _AImpDecl4SigAna_53(OBJ,OBJ);OBJ __AImpDecl4SigAna_53; /* structIde */
extern OBJ _AImpDecl4SigAna_54(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_54; /* toInstSet */
extern OBJ _AImpDecl4SigAna_55(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_55; /* eqName */
extern OBJ _AImpDecl4SigAna_56(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_56; /* eqInst */
extern OBJ _AImpDecl4SigAna_57(OBJ,OBJ);OBJ __AImpDecl4SigAna_57; /* eqBaseA */
extern OBJ _AImpDecl4SigAna_58(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_58; /* updAttr */
extern OBJ _AImpDecl4SigAna_59(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_59; /* getInstE */
extern OBJ _AImpDecl4SigAna_60(OBJ,OBJ);OBJ __AImpDecl4SigAna_60; /* unEqIA */
extern OBJ _AImpDecl4SigAna_61(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_61; /* toName */
extern OBJ _AImpDecl4SigAna_62(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_62; /* updAttr,1 */
extern OBJ _AImpDecl4SigAna_64(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_64; /* subst */
extern OBJ _AImpDecl4SigAna_65(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_65; /* checkFormParam */
extern OBJ _AImpDecl4SigAna_66(OBJ,OBJ);OBJ __AImpDecl4SigAna_66; /* toVar */
extern OBJ _AImpDecl4SigAna_69(OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_69; /* addLookupStruct */
extern OBJ _AImpDecl4SigAna_70(OBJ,OBJ,OBJ,OBJ);OBJ __AImpDecl4SigAna_70; /* findInst'70 */
OBJ __AImpDecl4SigAna_71; /* toInstSet'71 */
extern OBJ _AImpDecl4SigAna_72(OBJ);OBJ __AImpDecl4SigAna_72; /* toInstSet'72 */
extern OBJ _AImpDecl4SigAna_73(OBJ);OBJ __AImpDecl4SigAna_73; /* toInstSet'73 */
extern OBJ _AImpDecl4SigAna_74(OBJ);OBJ __AImpDecl4SigAna_74; /* toInstSet'74 */

extern OBJ _AImpDecl4SigAna_1(OBJ x1,OBJ x2,OBJ x3) /* explInst? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,1))){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_2(OBJ x1,OBJ x2,OBJ x3) /* genericTransitive? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,6))){
   if(EXPRD(x4,1)){
    FREE(FLD(x4,3),1);DSPRDF(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_3(OBJ x1,OBJ x2,OBJ x3) /* genericTransitives? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,5))){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_4(register OBJ x1,register OBJ x2,register OBJ x3) /* uninst? */
{OBJ r;
 for(;;){
  COPY(x1,1);
  {OBJ x4;
   x4=_AImpDecl4SigAna_59(x1,x2,x3);
   if(ISPRD(x4)&&(ISTGPRD(x4,9)||ISTGPRD(x4,3))){
    if(EXPRD(x4,1)){
     DSPRD(x4);
    }else{
     DCPRD(x4,1);}
    FREE(x1,1);
    r=__ABUILTIN_5;
   }else{
    if(ISPRD(x4)&&(ISTGPRD(x4,7))){
     {OBJ x28=FLD(x4,2);
      if(EXPRD(x4,1)){
       FREE(FLD(x4,1),1);DSPRDF(x4);
      }else{
       FRPRD(x4,1);}
      x3=x28;continue;}
    }else{
     FREE(x1,1);
     FREE(x4,1);
     r=__ABUILTIN_3;}}}
  break;}
 return r;}

extern OBJ _AImpDecl4SigAna_5(OBJ x1,OBJ x2,OBJ x3) /* explUninst? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,3))){
   if(EXPRD(x4,1)){
    FREE(FLD(x4,1),1);DSPRDF(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_6(OBJ x1,OBJ x2,OBJ x3) /* transitive? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,4))){
   if(EXPRD(x4,1)){
    FREE(FLD(x4,1),1);DSPRDF(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_7(OBJ x1,OBJ x2,OBJ x3) /* identInst? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,8))){
   if(EXPRD(x4,1)){
    FREE(FLD(x4,1),1);DSPRDF(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_8(OBJ x1,OBJ x2,OBJ x3) /* doubleInst? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,7))){
   if(EXPRD(x4,1)){
    FREE(FLD(x4,1),1);DSPRDF(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_9(OBJ x1,OBJ x2,OBJ x3) /* isMarked? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,2))){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_10(OBJ x1,OBJ x2,OBJ x3) /* evaluated? */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,8)||ISTGPRD(x4,9)||ISTGPRD(x4,7))){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern TUP2 _AImpDecl4SigAna_11(OBJ x1,OBJ x2,OBJ x3) /* getInstPNAndMark */
{TUP2 r;
 COPY(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x22;OBJ x21;OBJ x14;OBJ x23;OBJ x24;OBJ x25;OBJ x26;OBJ x27;
  x4=_AGlobSig_55(x1);
  CPPRD(x4,1);
  x5=_ADArray_20(x4,x2);
  x6=_AImpExpEntry_91(x5);
  CPPRD(x6,1);
  x7=_ADArray_20(x6,x3);
  COPY(x7,1);
  x22=_AImpExpEntry_72(x7);
  if(ISPRD(x7)&&(ISTGPRD(x7,2)||ISTGPRD(x7,1))){
   {OBJ x34=FLD(x7,1);OBJ x35=FLD(x7,2);
    if(EXPRD(x7,1)){
     x14=x34;r.c2=x35;
     FLD(x7,1)=NIL;FLD(x7,2)=NIL;DSPRD(x7);
    }else{
     COPY(x34,1);CPPRD(x35,1);
     x14=x34;r.c2=x35;
     FRPRD(x7,1);}
    CPCLS(__AImpExpEntry_117,1);}
  }else{
   HLT("ImpExpEntry at <unknown> : undefined selection inst\'ImpExpEntry:instE->instPN");}
  CPPRD(r.c2,1);
  PRD(3,2,x23);FLD(x23,1)=x14;FLD(x23,2)=r.c2;FLD(x23,3)=x22;
  x24=_ADArray_15(x6,x3,x23);
  x25=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x24);
  x26=_ADArray_16(x2,x25,x4);
  r.c1=_AGlobSig_81(x1,x26);}
 return r;}
extern OBJ _AImpDecl4SigAna_11_c(OBJ x1,OBJ x2,OBJ x3) /* getInstPNAndMark */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_11(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImpDecl4SigAna_12(OBJ x1,OBJ x2,OBJ x3) /* addOnlyMap */
{OBJ r;
 COPY(x1,1);
 {OBJ x4;OBJ x5;
  x4=_AGlobSig_55(x1);
  PRD1(3,x5);FLD1(x5,1)=x2;FLD1(x5,2)=__AObjects_30;FLD1(x5,3)=x3;
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x14=FLD(x1,9);
    CPPRD(x14,1);
    CPPRD(x4,1);
    {OBJ x23;OBJ x24;OBJ x38;OBJ x26;OBJ x27;OBJ x39;OBJ x40;OBJ x41;OBJ x42;OBJ x43;
     x23=x14;
     x24=_ADArray_20(x4,x2);
     if(ISTGPRD(x24,4)||ISTGPRD(x24,2)){
      {OBJ x32=FLD(x24,5);
       COPY(x32,1);
       x38=x32;
       CPPRD(x24,1);}
     }else{
      HLT("ImpExpEntry at <unknown> : undefined selection reExpS\'ImpExpEntry:structE->seq");}
     x26=_AImpExpEntry_93(x24);
     x27=_AImpExpEntry_92(x24);
     {TUP2 t=_ATable_8(x5,x23);
      x39=t.c1;
      x40=t.c2;}
     x41=_AGlobSig_84(x1,x40);
     PRD(5,2,x42);FLD(x42,1)=x26;FLD(x42,2)=x27;FLD(x42,3)=x39;FLD(x42,4)=__ABUILTIN_5;FLD(x42,5)=x38;
     x43=_ADArray_15(x4,x2,x42);
     r=_AGlobSig_81(x41,x43);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection onlyPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AImpDecl4SigAna_13(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addOnlyMap,1 */
{OBJ r;
 COPY(x1,1);
 {OBJ x5;OBJ x6;
  x5=_AGlobSig_55(x1);
  PRD1(3,x6);FLD1(x6,1)=x2;FLD1(x6,2)=__AObjects_30;FLD1(x6,3)=x4;
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x15=FLD(x1,9);
    CPPRD(x15,1);
    CPPRD(x5,1);
    {OBJ x24;OBJ x25;OBJ x27;OBJ x28;OBJ x29;OBJ x50;OBJ x39;OBJ x51;OBJ x52;OBJ x53;OBJ x54;OBJ x55;OBJ x56;OBJ x57;
     x24=x15;
     x25=_ADArray_20(x5,x2);
     CPPRD(x25,3);
     x27=_AImpExpEntry_91(x25);
     x28=_AImpExpEntry_93(x25);
     x29=_AImpExpEntry_92(x25);
     if(ISTGPRD(x25,3)){
      HLT("ImpExpEntry at <unknown> : undefined selection reExpS\'ImpExpEntry:structE->seq");
     }else{
      if(ISTGPRD(x25,2)){
       HLT("ImpExpEntry at <unknown> : undefined selection formParamS\'ImpExpEntry:structE->pair");
      }else{
       if(ISTGPRD(x25,4)){
	{OBJ x84=FLD(x25,4);OBJ x85=FLD(x25,5);
	 if(EXPRD(x25,1)){
	  x39=x84;x50=x85;
	  FLD(x25,4)=NIL;FLD(x25,5)=NIL;DSPRD(x25);
	 }else{
	  CPPRD(x84,1);COPY(x85,1);
	  x39=x84;x50=x85;
	  FRPRD(x25,1);}}
       }else{
	HLT("ImpExpEntry at <unknown> : undefined selection reExpS\'ImpExpEntry:structE->seq");}}}
     {TUP2 t=_ATable_8(x6,x24);
      x51=t.c1;
      x52=t.c2;}
     PRDF(2,3,x53);FLD(x53,1)=__ASeq_6;FLD(x53,2)=x51;
     x54=_AGlobSig_84(x1,x52);
     x55=_ADArray_15(x27,x3,x53);
     PRD(5,4,x56);FLD(x56,1)=x28;FLD(x56,2)=x29;FLD(x56,3)=x55;FLD(x56,4)=x39;FLD(x56,5)=x50;
     x57=_ADArray_15(x5,x2,x56);
     r=_AGlobSig_81(x54,x57);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection onlyPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AImpDecl4SigAna_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* addOnlyMap,2 */
{OBJ r;
 COPY(x1,1);
 {OBJ x7;OBJ x8;
  x7=_AGlobSig_55(x1);
  PRD1(3,x8);FLD1(x8,1)=x2;FLD1(x8,2)=__AObjects_30;FLD1(x8,3)=x4;
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x17=FLD(x1,9);
    CPPRD(x17,1);
    CPPRD(x7,1);
    {OBJ x26;OBJ x27;OBJ x29;OBJ x30;OBJ x31;OBJ x52;OBJ x41;OBJ x53;OBJ x54;OBJ x55;OBJ x56;OBJ x57;OBJ x58;OBJ x59;
     x26=x17;
     x27=_ADArray_20(x7,x2);
     CPPRD(x27,3);
     x29=_AImpExpEntry_91(x27);
     x30=_AImpExpEntry_93(x27);
     x31=_AImpExpEntry_92(x27);
     if(ISTGPRD(x27,3)){
      HLT("ImpExpEntry at <unknown> : undefined selection reExpS\'ImpExpEntry:structE->seq");
     }else{
      if(ISTGPRD(x27,2)){
       HLT("ImpExpEntry at <unknown> : undefined selection formParamS\'ImpExpEntry:structE->pair");
      }else{
       if(ISTGPRD(x27,4)){
	{OBJ x86=FLD(x27,4);OBJ x87=FLD(x27,5);
	 if(EXPRD(x27,1)){
	  x41=x86;x52=x87;
	  FLD(x27,4)=NIL;FLD(x27,5)=NIL;DSPRD(x27);
	 }else{
	  CPPRD(x86,1);COPY(x87,1);
	  x41=x86;x52=x87;
	  FRPRD(x27,1);}}
       }else{
	HLT("ImpExpEntry at <unknown> : undefined selection reExpS\'ImpExpEntry:structE->seq");}}}
     {TUP2 t=_ATable_8(x8,x26);
      x53=t.c1;
      x54=t.c2;}
     PRD(3,1,x55);FLD(x55,1)=x6;FLD(x55,2)=x5;FLD(x55,3)=x53;
     x56=_AGlobSig_84(x1,x54);
     x57=_ADArray_15(x29,x3,x55);
     PRD(5,4,x58);FLD(x58,1)=x30;FLD(x58,2)=x31;FLD(x58,3)=x57;FLD(x58,4)=x41;FLD(x58,5)=x52;
     x59=_ADArray_15(x7,x2,x58);
     r=_AGlobSig_81(x56,x59);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection onlyPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AImpDecl4SigAna_15(OBJ x1,OBJ x2) /* pos */
{OBJ r;
 {OBJ x32=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x41=FLD(x1,8);
    if(EXPRD(x1,1)){
     FLD(x1,8)=NIL;DSPRD(x1);
    }else{
     CPPRD(x41,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_55,1);
    {OBJ x51;OBJ x52;
     x51=x41;
     x52=_AUniqueTable_15(__APartNameEntry_55,x32,x51);
     {OBJ x53=FLD(x52,1);
      if(EXPRD(x52,1)){
       r=x53;
       FLD(x52,1)=NIL;DSPRD(x52);
      }else{
       COPY(x53,1);
       r=x53;
       FRPRD(x52,1);}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AImpDecl4SigAna_16(OBJ x1,OBJ x2,OBJ x3) /* posI */
{OBJ r;
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_AGlobSig_55(x1);
  x5=_ADArray_20(x4,x2);
  x6=_AImpExpEntry_91(x5);
  x7=_ADArray_20(x6,x3);
  if(ISPRD(x7)&&(ISTGPRD(x7,2)||ISTGPRD(x7,1))){
   {OBJ x8=FLD(x7,1);
    if(EXPRD(x7,1)){
     r=x8;
     FLD(x7,1)=NIL;DSPRD(x7);
    }else{
     COPY(x8,1);
     r=x8;
     FRPRD(x7,1);}}
  }else{
   HLT("ImpExpEntry at <unknown> : undefined selection pos\'ImpExpEntry:instE->pos");}}
 return r;}

extern OBJ _AImpDecl4SigAna_17(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addInstToUninst */
{OBJ r;
 COPY(x1,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x11;OBJ x22;OBJ x23;OBJ x24;OBJ x25;
  x5=_AGlobSig_55(x1);
  CPPRD(x5,1);
  x6=_ADArray_20(x5,x2);
  x7=_AImpExpEntry_91(x6);
  CPPRD(x7,1);
  x8=_ADArray_20(x7,x3);
  if(ISPRD(x8)&&(ISTGPRD(x8,3))){
   x11=__ABUILTIN_5;
  }else{
   x11=__ABUILTIN_3;}
  if(ISTGPRM(x11,1)){
   COPY(x8,1);
   CPCLS(__AImpExpEntry_117,1);
   {OBJ x12;OBJ x13;OBJ x14;
    x12=_AImpExpEntry_49(x8);
    x13=_AImpExpEntry_72(x8);
    PRD1(2,x14);FLD1(x14,1)=x4;FLD1(x14,2)=x12;
    PRD(2,3,x22);FLD(x22,1)=x14;FLD(x22,2)=x13;}
  }else{
   if(ISPRD(x8)&&(ISTGPRD(x8,9))){
    CPCLS(__AImpExpEntry_117,1);
    {OBJ x20;OBJ x21;
     x20=_AImpExpEntry_49(x8);
     PRD1(2,x21);FLD1(x21,1)=x4;FLD1(x21,2)=x20;
     PRD(1,9,x22);FLD(x22,1)=x21;}
   }else{
    HLT("ImpDecl4SigAna at <138,14-141,43> : missing else in addInstToUninst\'ImpDecl4SigAna:globSig**struct**inst**inst->globSig");}}
  x23=_ADArray_15(x7,x3,x22);
  x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x23);
  x25=_ADArray_16(x2,x24,x5);
  r=_AGlobSig_81(x1,x25);}
 return r;}

extern TUP2 _AImpDecl4SigAna_18(OBJ x1,OBJ x2,OBJ x3) /* addUnIdentifiedInst */
{TUP2 r;
 COPY(x1,1);
 {OBJ x4;
  x4=_AGlobSig_55(x1);
  {OBJ x44=FLD1(x3,1);
   if(ISPRD(x1)&&(ISTGPRD(x1,1))){
    {OBJ x53=FLD(x1,8);
     CPPRD(x53,1);
     CPPRD(x4,1);
     CPCLS(__APartNameEntry_55,1);
     {OBJ x63;OBJ x64;OBJ x65;OBJ x74;OBJ x66;OBJ x75;OBJ x77;OBJ x78;OBJ x79;OBJ x80;OBJ x81;
      x63=x53;
      x64=_AUniqueTable_15(__APartNameEntry_55,x44,x63);
      x65=_ADArray_20(x4,x2);
      {OBJ x67=FLD(x64,1);
       if(EXPRD(x64,1)){
	x74=x67;
	FLD(x64,1)=NIL;DSPRD(x64);
       }else{
	COPY(x67,1);
	x74=x67;
	FRPRD(x64,1);}
       CPCLS(__AImpExpEntry_117,1);}
      x66=_AImpExpEntry_91(x65);
      PRD(3,2,x75);FLD(x75,1)=x74;FLD(x75,2)=x3;FLD(x75,3)=__ANat_5;
      {TUP2 t=_ATable_8(x75,x66);
       r.c2=t.c1;
       x78=t.c2;}
      x79=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x78);
      x80=_ADArray_16(x2,x79,x4);
      r.c1=_AGlobSig_81(x1,x80);}}
   }else{
    HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}}
 return r;}
extern OBJ _AImpDecl4SigAna_18_c(OBJ x1,OBJ x2,OBJ x3) /* addUnIdentifiedInst */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_18(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AImpDecl4SigAna_19(OBJ x1,OBJ x2,OBJ x3) /* addIdentifiedInst */
{TUP2 r;
 CPCLS(__AImpExpEntry_117,1);
 COPY(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;TUP2 x10;OBJ x11;OBJ x12;
  x4=_AGlobSig_55(x1);
  CPPRD(x4,1);
  PRD(1,8,x5);FLD(x5,1)=x3;
  x6=_ADArray_20(x4,x2);
  x7=_AImpExpEntry_91(x6);
  x10=_ATable_8(x5,x7);r.c2=x10.c1;
  x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x10.c2);
  x12=_ADArray_16(x2,x11,x4);
  r.c1=_AGlobSig_81(x1,x12);}
 return r;}
extern OBJ _AImpDecl4SigAna_19_c(OBJ x1,OBJ x2,OBJ x3) /* addIdentifiedInst */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_19(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImpDecl4SigAna_20(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* setIdentifiedInst */
{OBJ r;
 COPY(x1,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x5=_AGlobSig_55(x1);
  CPPRD(x5,1);
  x6=_ADArray_20(x5,x2);
  x7=_AImpExpEntry_91(x6);
  CPPRD(x7,1);
  x8=_ADArray_20(x7,x3);
  if(ISPRD(x8)&&(ISTGPRD(x8,9)||ISTGPRD(x8,8))){
   if(EXPRD(x8,1)){
    DSPRD(x8);
   }else{
    DCPRD(x8,1);}
   FREE(x4,1);
   FRPRD(x5,1);
   FRPRD(x7,1);
   r=x1;
  }else{
   {OBJ x69;OBJ x77;OBJ x78;OBJ x79;OBJ x80;
    if(ISPRD(x8)&&(ISTGPRD(x8,2))){
     x69=__ABUILTIN_5;
    }else{
     x69=__ABUILTIN_3;}
    if(ISTGPRM(x69,1)){
     FREE(x8,1);
     CPCLS(__AImpExpEntry_117,1);
     PRD(1,8,x77);FLD(x77,1)=x4;
    }else{
     if(ISPRD(x8)&&(ISTGPRD(x8,3))){
      FREE(x4,1);
      CPCLS(__AImpExpEntry_117,1);
      {OBJ x72;
       x72=_AImpExpEntry_49(x8);
       PRD(1,9,x77);FLD(x77,1)=x72;}
     }else{
      if(ISPRD(x8)&&(ISTGPRD(x8,4))){
       {OBJ x73;
	if(EXPRD(x8,1)){
	 FREE(x4,1);
	 CPCLS(__AImpExpEntry_117,1);
	 RPRD(x8,x77);CHGTG(x77,8);
	}else{
	 x73=FLD(x8,1);COPY(x73,1);
	 FREE(x4,1);
	 CPCLS(__AImpExpEntry_117,1);
	 FRPRD(x8,1);PRD(1,8,x77);FLD(x77,1)=x73;}}
      }else{
       if(ISPRD(x8)&&(ISTGPRD(x8,6))){
	if(EXPRD(x8,1)){
	 FREE(FLD(x8,3),1);DSPRDF(x8);
	}else{
	 DCPRD(x8,1);}
	CPCLS(__AImpExpEntry_117,1);
	PRD(1,8,x77);FLD(x77,1)=x4;
       }else{
	HLT("ImpDecl4SigAna at <171,14-174,58> : missing else in setIdentifiedInst\'ImpDecl4SigAna:globSig**struct**inst**seq->globSig");}}}}
    x78=_ADArray_15(x7,x3,x77);
    x79=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x78);
    x80=_ADArray_16(x2,x79,x5);
    r=_AGlobSig_81(x1,x80);}}}
 return r;}

extern OBJ _AImpDecl4SigAna_21(OBJ x1,OBJ x2,OBJ x3) /* getInstPN */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,2)||ISTGPRD(x4,1))){
   {OBJ x6=FLD(x4,2);
    if(EXPRD(x4,1)){
     r=x6;
     FLD(x4,2)=NIL;DSPRD(x4);
    }else{
     CPPRD(x6,1);
     r=x6;
     FRPRD(x4,1);}}
  }else{
   HLT("ImpExpEntry at <unknown> : undefined selection inst\'ImpExpEntry:instE->instPN");}}
 return r;}

extern OBJ _AImpDecl4SigAna_22(OBJ x1,OBJ x2,OBJ x3) /* getInst */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,8)||ISTGPRD(x4,4))){
   {OBJ x45=FLD(x4,1);
    if(EXPRD(x4,1)){
     r=x45;
     FLD(x4,1)=NIL;DSPRD(x4);
    }else{
     COPY(x45,1);
     r=x45;
     FRPRD(x4,1);}}
  }else{
   if(ISPRD(x4)&&(ISTGPRD(x4,6)||ISTGPRD(x4,5))){
    {OBJ x48=FLD(x4,3);
     if(EXPRD(x4,1)){
      r=x48;
      FLD(x4,3)=NIL;DSPRD(x4);
     }else{
      COPY(x48,1);
      r=x48;
      FRPRD(x4,1);}}
   }else{
    HLT("ImpDecl4SigAna at <180,12-183,43> : missing else in getInst\'ImpDecl4SigAna:globSig**struct**inst->seq");}}}
 return r;}

extern OBJ _AImpDecl4SigAna_23(OBJ x1,OBJ x2,OBJ x3) /* getOtherInstPNS */
{OBJ r;
 COPY(x1,1);
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,6))){
   {OBJ x23=FLD(x4,1);OBJ x24=FLD(x4,2);
    if(EXPRD(x4,1)){
     FREE(FLD(x4,3),1);DSPRDF(x4);
    }else{
     FRPRD(x4,1);}
    COPY(x1,1);
    {OBJ x26;OBJ x33;
     x26=_AImpDecl4SigAna_59(x1,x23,x24);
     if(ISPRD(x26)&&(ISTGPRD(x26,2)||ISTGPRD(x26,1))){
      {OBJ x28=FLD(x26,2);
       if(EXPRD(x26,1)){
	x33=x28;
	FLD(x26,2)=NIL;DSPRD(x26);
       }else{
	CPPRD(x28,1);
	x33=x28;
	FRPRD(x26,1);}}
     }else{
      HLT("ImpExpEntry at <unknown> : undefined selection inst\'ImpExpEntry:instE->instPN");}
     r=_AName4SigAna_43(x1,x33);}}
  }else{
   HLT("ImpExpEntry at <unknown> : undefined selection struct\'ImpExpEntry:instE->struct");}}
 return r;}

extern OBJ _AImpDecl4SigAna_24(OBJ x1,OBJ x2,OBJ x3) /* getInsts */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  r=_AImpExpEntry_49(x4);}
 return r;}

extern OBJ _AImpDecl4SigAna_25(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* setInsts */
{OBJ r;
 COPY(x1,2);
 {OBJ x5;OBJ x6;OBJ x11;
  x5=_AImpDecl4SigAna_59(x1,x2,x3);
  x6=_AGlobSig_55(x1);
  CPPRD(x6,1);
  x11=_ADArray_20(x6,x2);
  if(ISPRD(x5)&&(ISTGPRD(x5,5))){
   {OBJ x29;FLAG x_x5=EXPRD(x5,1);
    if(x_x5){
    }else{
     x29=FLD(x5,3);COPY(x29,1);}
    CPCLS(__AImpExpEntry_117,1);
    {OBJ x30;OBJ x31;OBJ x32;OBJ x33;OBJ x34;
     x30=_AImpExpEntry_91(x11);
     if(x_x5){
      RPRD(x5,x31);FREE(FLD(x31,1),1);FLD(x31,1)=x4;FLD(x31,2)=__ABUILTIN_5;
     }else{
      FRPRD(x5,1);PRD(3,5,x31);FLD(x31,1)=x4;FLD(x31,2)=__ABUILTIN_5;FLD(x31,3)=x29;}
     x32=_ADArray_15(x30,x3,x31);
     x33=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x32);
     x34=_ADArray_16(x2,x33,x6);
     r=_AGlobSig_81(x1,x34);}}
  }else{
   {OBJ x35;
    x35=_AImpExpEntry_91(x11);
    if(ISPRD(x5)&&(ISTGPRD(x5,9))){
     CPCLS(__AImpExpEntry_117,1);
     {OBJ x37;OBJ x38;OBJ x39;OBJ x40;
      if(EXPRD(x5,1)){
       RPRD(x5,x37);FREE(FLD(x37,1),1);FLD(x37,1)=x4;
      }else{
       DCPRD(x5,1);PRD(1,9,x37);FLD(x37,1)=x4;}
      x38=_ADArray_15(x35,x3,x37);
      x39=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x38);
      x40=_ADArray_16(x2,x39,x6);
      r=_AGlobSig_81(x1,x40);}
    }else{
     HLT("ImpDecl4SigAna at <192,14-195,32> : missing else in setInsts\'ImpDecl4SigAna:globSig**struct**inst**seq->globSig");}}}}
 return r;}

extern TUP2 _AImpDecl4SigAna_26(OBJ x1,OBJ x2,OBJ x3) /* getOtherInst */
{TUP2 r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,6))){
   {OBJ x15=FLD(x4,1);OBJ x16=FLD(x4,2);
    if(EXPRD(x4,1)){
     r.c1=x15;r.c2=x16;
     FREE(FLD(x4,3),1);DSPRDF(x4);
    }else{
     r.c1=x15;r.c2=x16;
     FRPRD(x4,1);}}
  }else{
   HLT("ImpExpEntry at <unknown> : undefined selection struct\'ImpExpEntry:instE->struct");}}
 return r;}
extern OBJ _AImpDecl4SigAna_26_c(OBJ x1,OBJ x2,OBJ x3) /* getOtherInst */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_26(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImpDecl4SigAna_27(OBJ x1,OBJ x2,OBJ x3) /* getDoubleInst */
{OBJ r;
 {OBJ x4;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  if(ISPRD(x4)&&(ISTGPRD(x4,7)||ISTGPRD(x4,6))){
   {OBJ x6=FLD(x4,2);
    if(EXPRD(x4,1)){
     r=x6;
     DSPRD(x4);
    }else{
     r=x6;
     FRPRD(x4,1);}}
  }else{
   HLT("ImpExpEntry at <unknown> : undefined selection inst\'ImpExpEntry:instE->inst");}}
 return r;}

extern OBJ _AImpDecl4SigAna_28(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* setDoubleInst */
{OBJ r;
 CPCLS(__AImpExpEntry_117,1);
 COPY(x1,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;
  x5=_AGlobSig_55(x1);
  CPPRD(x5,1);
  x6=_ADArray_20(x5,x2);
  x7=_AImpExpEntry_91(x6);
  CPPRD(x7,1);
  x8=_ADArray_20(x7,x4);
  PRD(2,7,x9);FLD(x9,1)=x8;FLD(x9,2)=x4;
  x10=_ADArray_15(x7,x3,x9);
  x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x10);
  x12=_ADArray_16(x2,x11,x5);
  r=_AGlobSig_81(x1,x12);}
 return r;}

extern OBJ _AImpDecl4SigAna_29(OBJ x1,OBJ x2,OBJ x3) /* setInstUnused */
{OBJ r;
 CPCLS(__AImpExpEntry_117,1);
 COPY(x1,2);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x4=_AImpDecl4SigAna_59(x1,x2,x3);
  x5=_AGlobSig_55(x1);
  CPPRD(x5,1);
  PRD(1,10,x6);FLD(x6,1)=x4;
  x7=_ADArray_20(x5,x2);
  x8=_AImpExpEntry_91(x7);
  x9=_ADArray_15(x8,x3,x6);
  x10=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_117,1))(__AImpExpEntry_117,x9);
  x11=_ADArray_16(x2,x10,x5);
  r=_AGlobSig_81(x1,x11);}
 return r;}

extern OBJ _AImpDecl4SigAna_30(OBJ x1,OBJ x2,OBJ x3) /* duplicateInstAppl */
{OBJ r;
 {OBJ x10;OBJ x4;OBJ x5;OBJ x6;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;
  if(ISPRD(x2)&&(ISTGPRD(x2,5))){
   COPY(x1,1);
   CPPRD(x2,2);
   x10=__ABUILTIN_5;
  }else{
   COPY(x1,1);
   COPY(x2,2);
   x10=__ABUILTIN_3;}
  x4=_AName_12(x2);
  x5=_AGlobSig_55(x1);
  CPPRD(x5,1);
  x6=_AName_11(x2);
  x11=_ADArray_20(x5,x4);
  x12=_AImpExpEntry_92(x11);
  CPPRD(x12,1);
  x13=_ADArray_20(x12,x6);
  x14=_AImpExpEntry_10(x13);
  if(ISTGPRM(x10,1)){
   FREE(x2,1);
   CPCLS(__AImpExpEntry_115,1);
   CPCLS(__AImpExpEntry_120,1);
   CPPRD(__AAttributes_11,1);
   {OBJ x15;
    PRD1(3,x15);FLD1(x15,1)=x3;FLD1(x15,2)=__ANat_8;FLD1(x15,3)=__AAttributes_11;
    PRD1(2,x33);FLD1(x33,1)=x15;FLD1(x33,2)=x14;}
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,2))){
    {OBJ x18=FLD(x2,3);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      FRPRD(x2,1);}
     CPCLS(__AImpDecl4SigAna_60,1);
     {OBJ x19;OBJ x20;TUP2 x22;OBJ x26;
      x19=x18;
      x20=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_60,1))(__AImpDecl4SigAna_60,x19);
      x22=_ASeqFilter_8(x20,x14);
      if(ISPRM(x22.c2)){
       HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
      }else{
       {OBJ x24=FLD1(x22.c2,1);
	CPPRD(x24,1);
	x26=x24;}}
      {OBJ x28=FLD1(x26,2);FLAG x_x26=EXPRD(x26,1);
       if(x_x26){
       }else{}
       CPCLS(__AImpExpEntry_115,1);
       CPCLS(__AImpExpEntry_120,1);
       CPPRD(__AAttributes_11,1);
       {OBJ x30;OBJ x31;OBJ x32;
	x30=x28;
	if(x_x26){
	 RSOME(x26,x31);FLD1(x31,1)=x3;FLD1(x31,2)=x30;FRPRD(FLD1(x31,3),1);FLD1(x31,3)=__AAttributes_11;
	}else{
	 FRPRD(x26,1);PRD1(3,x31);FLD1(x31,1)=x3;FLD1(x31,2)=x30;FLD1(x31,3)=__AAttributes_11;}
	PRD1(2,x32);FLD1(x32,1)=x31;FLD1(x32,2)=x22.c2;
	x33=_ASeq_26(x22.c1,x32);}}}}
   }else{
    HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
  x34=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_120,1))(__AImpExpEntry_120,x33);
  x35=_ADArray_16(x6,x34,x12);
  x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_115,1))(__AImpExpEntry_115,x35);
  x37=_ADArray_16(x4,x36,x5);
  r=_AGlobSig_81(x1,x37);}
 return r;}

extern OBJ _AImpDecl4SigAna_31(OBJ x1,OBJ x2,OBJ x3) /* findInst */
{OBJ r;
 CPCLS(__AImpDecl4SigAna_70,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x4=_AGlobSig_55(x1);
  x5=_ADArray_20(x4,x2);
  x6=_AImpExpEntry_91(x5);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_70,1))(__AImpDecl4SigAna_70,x3);
  x8=_ADArrayReduce_6(x7,__ASeq_6,x6);
  if(ISPRM(x8)){
   r=__AOption_5;
  }else{
   {OBJ x15=FLD1(x8,1);
    if(EXPRD(x8,1)){
     FREE(FLD1(x8,2),1);DSPRDF(x8);
    }else{
     FRPRD(x8,1);}
    PRD1F(1,r);FLD1(r,1)=x15;}}}
 return r;}

extern TUP2 _AImpDecl4SigAna_32(OBJ x1,OBJ x2) /* errInfo */
{TUP2 r;
 {OBJ x3;OBJ x4;OBJ x5;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  x5=_AImpExpEntry_93(x4);
  {OBJ x12=FLD1(x5,1);OBJ x13=FLD1(x5,2);
   if(EXPRD(x5,1)){
    r.c1=x12;r.c2=x13;
    DSPRDF(x5);
   }else{
    CPPRD(x12,1);COPY(x13,1);
    r.c1=x12;r.c2=x13;
    FRPRD(x5,1);}}}
 return r;}
extern OBJ _AImpDecl4SigAna_32_c(OBJ x1,OBJ x2) /* errInfo */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_32(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImpDecl4SigAna_33(OBJ x1,OBJ x2,OBJ x3) /* addPreOwnSignImport */
{OBJ r;
 COPY(__AOcPos_35,1);
 COPY(x1,2);
 CPPRD(x3,1);
 {OBJ x8;OBJ x9;OBJ x10;
  x8=_AGlobSig_52(x1);
  PRD1(2,x9);FLD1(x9,1)=x3;FLD1(x9,2)=__AOcPos_35;
  x10=_AGlobSig_55(x1);
  {OBJ x4=FLD1(x3,1);
   if(EXPRD(x3,1)){
    FRPRD(FLD1(x3,2),1);DSPRDF(x3);
   }else{
    FRPRD(x3,1);}
   CPPRD(__AMaps4SigAna_12,1);
   {OBJ x7;OBJ x11;OBJ x12;OBJ x13;OBJ x14;
    x7=x4;
    x11=_AImpDecl4SigAna_69(x7,x2,x8);
    PRD(2,0,x12);FLD(x12,1)=x9;FLD(x12,2)=__AMaps4SigAna_12;
    x13=_ADArray_15(x10,x2,x12);
    x14=_AGlobSig_85(x1,x11);
    r=_AGlobSig_81(x14,x13);}}}
 return r;}

extern OBJ _AImpDecl4SigAna_34(OBJ x1,OBJ x2) /* addPreImport */
{OBJ r;
 COPY(x2,1);
 {OBJ x9;
  x9=_AGlobSig_52(x2);
  {OBJ x34=FLD1(x1,1);OBJ x35=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    CPPRD(x34,1);COPY(x35,1);}
   {OBJ x36=FLD1(x34,1);
    CPPRD(x9,1);
    {OBJ x39;
     x39=_ADArray_21(x9,x36);
     if(ISPRM(x39)){
      COPY(x2,1);
      CPPRD(__AMaps4SigAna_12,1);
      {OBJ x40;OBJ x41;OBJ x42;TUP2 x44;OBJ x46;OBJ x47;
       x40=_AGlobSig_55(x2);
       if(x_x1){
	RSOME(x1,x41);
       }else{
	FRPRD(x1,1);PRD1(2,x41);FLD1(x41,1)=x34;FLD1(x41,2)=x35;}
       PRD(2,0,x42);FLD(x42,1)=x41;FLD(x42,2)=__AMaps4SigAna_12;
       x44=_ATable_8(x42,x40);
       x46=_AImpDecl4SigAna_69(x36,x44.c1,x9);
       x47=_AGlobSig_85(x2,x46);
       r=_AGlobSig_81(x47,x44.c2);}
     }else{
      if(x_x1){
       DSPRDF(x1);
      }else{
       FRPRD(x1,1);}
      if(EXPRD(x39,1)){
       FRPRD(FLD1(x39,1),1);DSPRDF(x39);
      }else{
       DCPRD(x39,1);}
      FRPRD(x9,1);
      if(EXPRD(x34,1)){
       FRPRD(FLD1(x34,2),1);DSPRDF(x34);
      }else{
       DCPRD(x34,1);}
      FREE(x35,1);
      r=x2;}}}}}
 return r;}

extern TUP2 _AImpDecl4SigAna_35(OBJ x1,OBJ x2,OBJ x3) /* updPreImport */
{TUP2 r;
 COPY(x1,2);
 {OBJ x8;OBJ x9;
  x8=_AGlobSig_52(x1);
  x9=_AGlobSig_55(x1);
  {OBJ x4=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   {OBJ x7;OBJ x10;
    x7=x4;
    x10=_ADArray_20(x8,x7);
    {OBJ x158=FLD1(x10,1);
     if(EXPRD(x10,1)){
      FLD1(x10,1)=NIL;DSPRD(x10);
     }else{
      COPY(x158,1);
      FRPRD(x10,1);}
     {OBJ x164;OBJ x165;OBJ x168;OBJ x195;OBJ x196;OBJ x197;
      if(ISPRM(x158)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x163=FLD1(x158,1);
	if(EXPRD(x158,1)){
	 x164=x163;
	 DSPRDF(x158);
	}else{
	 x164=x163;
	 FRPRD(x158,1);}
	CPPRD(x9,1);}}
      x165=_ADArray_20(x9,x164);
      if(ISTGPRD(x165,0)){
       x168=__ABUILTIN_5;
      }else{
       x168=__ABUILTIN_3;}
      if(ISTGPRM(x168,1)){
       r.c2=x164;
       {OBJ x169;
	x169=_AImpExpEntry_93(x165);
	PRD(2,0,x195);FLD(x195,1)=x169;FLD(x195,2)=x3;}
      }else{
       switch(TGPRD(x165)){
	case 3:
	 {OBJ x181=FLD(x165,4);
	  CPPRD(x181,1);
	  r.c2=x164;
	  CPPRD(x165,1);
	  {OBJ x182;OBJ x183;
	   x182=_AImpExpEntry_92(x165);
	   x183=_AImpExpEntry_93(x165);
	   PRD(4,3,x195);FLD(x195,1)=x183;FLD(x195,2)=x182;FLD(x195,3)=x3;FLD(x195,4)=x181;}}break;
	case 1:case 2:
	 r.c2=x164;x195=x165;
	 FRPRD(x3,1);break;
	case 0:
	 HLT("ImpDecl4SigAna at <286,14-295,47> : missing else in updPreImport\'ImpDecl4SigAna:globSig**rep**instMap->globSig**struct");break;
	default: 
	 {OBJ x173=FLD(x165,4);OBJ x174=FLD(x165,5);
	  CPPRD(x173,1);COPY(x174,1);
	  r.c2=x164;
	  CPPRD(x165,1);
	  {OBJ x176;OBJ x177;
	   x176=_AImpExpEntry_93(x165);
	   x177=_AImpExpEntry_92(x165);
	   PRD(5,4,x195);FLD(x195,1)=x176;FLD(x195,2)=x177;FLD(x195,3)=x3;FLD(x195,4)=x173;FLD(x195,5)=x174;}}}}
      x196=_ADArray_15(x9,r.c2,x195);
      r.c1=_AGlobSig_81(x1,x196);}}}}}
 return r;}
extern OBJ _AImpDecl4SigAna_35_c(OBJ x1,OBJ x2,OBJ x3) /* updPreImport */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_35(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImpDecl4SigAna_36(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* defImport */
{OBJ r;
 COPY(x1,1);
 {OBJ x6;
  x6=_AGlobSig_55(x1);
  {OBJ x18=FLD1(x5,1);
   COPY(x18,1);
   {OBJ x23;OBJ x20;OBJ x24;OBJ x26;OBJ x27;
    if(ISPRM(x18)){
     CPPRD(x6,1);
     x23=__ABUILTIN_5;
    }else{
     if(EXPRD(x18,1)){
      DSPRD(x18);
     }else{
      DCPRD(x18,1);}
     CPPRD(x6,1);
     x23=__ABUILTIN_3;}
    x20=_ADArray_20(x6,x2);
    CPPRD(x20,1);
    x24=_AImpExpEntry_93(x20);
    if(ISTGPRM(x23,1)){
     if(EXPRD(x5,1)){
      DSPRD(x5);
     }else{
      DCPRD(x5,1);}
     FRPRD(x20,1);
     PRD(5,2,x26);FLD(x26,1)=x24;FLD(x26,2)=x3;FLD(x26,3)=__ANat_5;FLD(x26,4)=__ABUILTIN_5;FLD(x26,5)=x4;
    }else{
     {OBJ x25;
      x25=_AImpExpEntry_91(x20);
      PRD(5,4,x26);FLD(x26,1)=x24;FLD(x26,2)=x3;FLD(x26,3)=x25;FLD(x26,4)=x5;FLD(x26,5)=x4;}}
    x27=_ADArray_15(x6,x2,x26);
    r=_AGlobSig_81(x1,x27);}}}
 return r;}

extern OBJ _AImpDecl4SigAna_37(OBJ x1,OBJ x2,OBJ x3) /* defTransImport */
{OBJ r;
 COPY(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x4=_AGlobSig_55(x1);
  CPPRD(x4,1);
  x5=_ADArray_20(x4,x2);
  x6=_AImpExpEntry_93(x5);
  PRD(2,1,x7);FLD(x7,1)=x6;FLD(x7,2)=x3;
  x8=_ADArray_15(x4,x2,x7);
  r=_AGlobSig_81(x1,x8);}
 return r;}

extern OBJ _AImpDecl4SigAna_38(OBJ x1,OBJ x2,OBJ x3) /* mergeImpDecls */
{OBJ r;
 COPY(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_AGlobSig_55(x1);
  CPPRD(x4,1);
  x5=_ADArray_20(x4,x2);
  x6=_AImpExpEntry_115(x3,x5);
  x7=_ADArray_15(x4,x2,x6);
  r=_AGlobSig_81(x1,x7);}
 return r;}

extern OBJ _AImpDecl4SigAna_39(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* defTransImport,1 */
{OBJ r;
 COPY(x1,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x6=_AGlobSig_55(x1);
  CPPRD(x6,1);
  x7=_ADArray_20(x6,x2);
  x8=_AImpExpEntry_93(x7);
  PRD(4,3,x9);FLD(x9,1)=x8;FLD(x9,2)=x4;FLD(x9,3)=x3;FLD(x9,4)=x5;
  x10=_ADArray_15(x6,x2,x9);
  r=_AGlobSig_81(x1,x10);}
 return r;}

extern OBJ _AImpDecl4SigAna_40(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* defSignImport */
{OBJ r;
 COPY(__AOcPos_35,1);
 COPY(x1,1);
 {OBJ x7;OBJ x11;
  PRD1(2,x7);FLD1(x7,1)=x3;FLD1(x7,2)=__AOcPos_35;
  x11=_AGlobSig_55(x1);
  {OBJ x17=FLD1(x4,1);
   COPY(x17,1);
   {OBJ x21;OBJ x22;OBJ x23;
    if(ISPRM(x17)){
     x21=__ABUILTIN_5;
    }else{
     if(EXPRD(x17,1)){
      DSPRD(x17);
     }else{
      DCPRD(x17,1);}
     x21=__ABUILTIN_3;}
    if(ISTGPRM(x21,1)){
     if(EXPRD(x4,1)){
      DSPRD(x4);
     }else{
      DCPRD(x4,1);}
     FRPRD(x5,1);
     PRD(2,1,x22);FLD(x22,1)=x7;FLD(x22,2)=x6;
    }else{
     PRD(4,3,x22);FLD(x22,1)=x7;FLD(x22,2)=x6;FLD(x22,3)=x5;FLD(x22,4)=x4;}
    x23=_ADArray_15(x11,x2,x22);
    r=_AGlobSig_81(x1,x23);}}}
 return r;}

extern OBJ _AImpDecl4SigAna_41(OBJ x1,OBJ x2) /* getInstMap */
{OBJ r;
 COPY(x1,1);
 {OBJ x7;OBJ x8;
  x7=_AGlobSig_52(x1);
  x8=_AGlobSig_55(x1);
  {OBJ x3=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   {OBJ x6;OBJ x9;
    x6=x3;
    x9=_ADArray_20(x7,x6);
    {OBJ x37=FLD1(x9,1);
     if(EXPRD(x9,1)){
      FLD1(x9,1)=NIL;DSPRD(x9);
     }else{
      COPY(x37,1);
      FRPRD(x9,1);}
     {OBJ x43;OBJ x44;
      if(ISPRM(x37)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x42=FLD1(x37,1);
	if(EXPRD(x37,1)){
	 x43=x42;
	 DSPRDF(x37);
	}else{
	 x43=x42;
	 FRPRD(x37,1);}}}
      x44=_ADArray_20(x8,x43);
      if(ISTGPRD(x44,2)||ISTGPRD(x44,1)){
       if(EXPRD(x44,1)){
	DSPRD(x44);
       }else{
	DCPRD(x44,1);}
       CPPRD(__AMaps4SigAna_12,1);
       r=__AMaps4SigAna_12;
      }else{
       r=_AImpExpEntry_91(x44);}}}}}}
 return r;}

extern OBJ _AImpDecl4SigAna_42(OBJ x1,OBJ x2) /* getInstMap,1 */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  r=_AImpExpEntry_91(x4);}
 return r;}

extern OBJ _AImpDecl4SigAna_43(OBJ x1,OBJ x2) /* getImpDeclMap */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,0)){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   CPPRD(__ATable_10,1);
   r=__ATable_10;
  }else{
   r=_AImpExpEntry_92(x4);}}
 return r;}

extern OBJ _AImpDecl4SigAna_44(OBJ x1,OBJ x2) /* getFormParams */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,4)||ISTGPRD(x4,3)){
   {OBJ x49=FLD(x4,4);
    if(EXPRD(x4,1)){
     FLD(x4,4)=NIL;DSPRD(x4);
    }else{
     CPPRD(x49,1);
     FRPRD(x4,1);}
    {OBJ x52=FLD1(x49,2);
     if(EXPRD(x49,1)){
      r=x52;
      FREE(FLD1(x49,1),1);DSPRDF(x49);
     }else{
      COPY(x52,1);
      r=x52;
      FRPRD(x49,1);}}}
  }else{
   FRPRD(x4,1);
   r=__ASeq_6;}}
 return r;}

extern OBJ _AImpDecl4SigAna_45(OBJ x1,OBJ x2) /* getFormParamImpDecls */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,4)||ISTGPRD(x4,3)){
   {OBJ x54=FLD(x4,4);
    if(EXPRD(x4,1)){
     FLD(x4,4)=NIL;DSPRD(x4);
    }else{
     CPPRD(x54,1);
     FRPRD(x4,1);}
    CPCLS(__AImpDecl4SigAna_61,1);
    {OBJ x56;
     x56=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_61,1))(__AImpDecl4SigAna_61,x2);
     {OBJ x57=FLD1(x54,1);
      if(EXPRD(x54,1)){
       FREE(FLD1(x54,2),1);DSPRDF(x54);
      }else{
       COPY(x57,1);
       FRPRD(x54,1);}
      r=_AMySeqFun2_20(x56,__ANat_8,x57);}}}
  }else{
   FRPRD(x4,1);
   r=__ASeq_6;}}
 return r;}

extern OBJ _AImpDecl4SigAna_46(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* updImport */
{OBJ r;
 COPY(x1,1);
 {OBJ x5;OBJ x6;
  x5=_AGlobSig_55(x1);
  CPPRD(x5,1);
  x6=_ADArray_20(x5,x2);
  if(ISTGPRD(x6,3)){
   {OBJ x92=FLD(x6,4);
    CPPRD(x92,1);
    {OBJ x96;OBJ x97;OBJ x98;
     x96=_AImpExpEntry_93(x6);
     PRD(4,3,x97);FLD(x97,1)=x96;FLD(x97,2)=x4;FLD(x97,3)=x3;FLD(x97,4)=x92;
     x98=_ADArray_15(x5,x2,x97);
     r=_AGlobSig_81(x1,x98);}}
  }else{
   if(ISTGPRD(x6,4)){
    {OBJ x102=FLD(x6,4);OBJ x103=FLD(x6,5);
     CPPRD(x102,1);COPY(x103,1);
     {OBJ x105;OBJ x106;OBJ x107;
      x105=_AImpExpEntry_93(x6);
      PRD(5,4,x106);FLD(x106,1)=x105;FLD(x106,2)=x4;FLD(x106,3)=x3;FLD(x106,4)=x102;FLD(x106,5)=x103;
      x107=_ADArray_15(x5,x2,x106);
      r=_AGlobSig_81(x1,x107);}}
   }else{
    HLT("ImpDecl4SigAna at <379,14-384,63> : missing else in updImport\'ImpDecl4SigAna:globSig**struct**instMap**impDeclMap->globSig");}}}
 return r;}

extern TUP2 _AImpDecl4SigAna_47(OBJ x1,OBJ x2) /* getDelReExports */
{TUP2 r;
 COPY(x1,1);
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  CPPRD(x3,1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,2)){
   {OBJ x62=FLD(x4,3);OBJ x64=FLD(x4,5);
    COPY(x64,1);
    r.c2=x64;
    CPPRD(x4,1);
    {OBJ x70;OBJ x71;OBJ x72;OBJ x73;
     x70=_AImpExpEntry_93(x4);
     x71=_AImpExpEntry_92(x4);
     PRD(5,2,x72);FLD(x72,1)=x70;FLD(x72,2)=x71;FLD(x72,3)=x62;FLD(x72,4)=__ABUILTIN_5;FLD(x72,5)=__ASeq_6;
     x73=_ADArray_15(x3,x2,x72);
     r.c1=_AGlobSig_81(x1,x73);}}
  }else{
   if(ISTGPRD(x4,4)){
    {OBJ x95=FLD(x4,4);OBJ x96=FLD(x4,5);
     CPPRD(x95,1);COPY(x96,1);
     r.c2=x96;
     CPPRD(x4,2);
     {OBJ x97;OBJ x98;OBJ x99;OBJ x100;OBJ x101;
      x97=_AImpExpEntry_91(x4);
      x98=_AImpExpEntry_92(x4);
      x99=_AImpExpEntry_93(x4);
      PRD(5,4,x100);FLD(x100,1)=x99;FLD(x100,2)=x98;FLD(x100,3)=x97;FLD(x100,4)=x95;FLD(x100,5)=__ASeq_6;
      x101=_ADArray_15(x3,x2,x100);
      r.c1=_AGlobSig_81(x1,x101);}}
   }else{
    HLT("ImpExpEntry at <unknown> : undefined selection reExpS\'ImpExpEntry:structE->seq");}}}
 return r;}
extern OBJ _AImpDecl4SigAna_47_c(OBJ x1,OBJ x2) /* getDelReExports */
{OBJ r;
 {TUP2 t=_AImpDecl4SigAna_47(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AImpDecl4SigAna_48(OBJ x1,OBJ x2) /* alreadyImported? */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,0)){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_3;
  }else{
   FRPRD(x4,1);
   r=__ABUILTIN_5;}}
 return r;}

extern OBJ _AImpDecl4SigAna_49(OBJ x1,OBJ x2) /* directImported? */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,4)||ISTGPRD(x4,2)){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FRPRD(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_50(OBJ x1,OBJ x2) /* notParametrized? */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  if(ISTGPRD(x4,2)||ISTGPRD(x4,1)){
   if(EXPRD(x4,1)){
    DSPRD(x4);
   }else{
    DCPRD(x4,1);}
   r=__ABUILTIN_5;
  }else{
   FRPRD(x4,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AImpDecl4SigAna_51(OBJ x1,OBJ x2) /* notParametrized?,1 */
{OBJ r;
 FREE(x1,1);
 if(ISTGPRD(x2,2)||ISTGPRD(x2,1)){
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   DCPRD(x2,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x2,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AImpDecl4SigAna_52(OBJ x1,OBJ x2) /* parametrized? */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
  {OBJ x12;OBJ x13;
   x12=_AName_12(x2);
   x13=_AImpDecl4SigAna_50(x1,x12);
   if(ISTGPRM(x13,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}
 }else{
  FREE(x1,1);
  FREE(x2,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AImpDecl4SigAna_53(OBJ x1,OBJ x2) /* structIde */
{OBJ r;
 {OBJ x3;OBJ x4;OBJ x5;
  x3=_AGlobSig_55(x1);
  x4=_ADArray_20(x3,x2);
  x5=_AImpExpEntry_93(x4);
  {OBJ x6=FLD1(x5,1);
   if(EXPRD(x5,1)){
    r=x6;
    FREE(FLD1(x5,2),1);DSPRDF(x5);
   }else{
    CPPRD(x6,1);
    r=x6;
    FRPRD(x5,1);}}}
 return r;}

extern OBJ _AImpDecl4SigAna_54(register OBJ x1,register OBJ x2,register OBJ x3) /* toInstSet */
{OBJ r;
 for(;;){
  {OBJ x4;OBJ x5;
   ANat_76(x3,__AObjects_30,x4);
   if(ISTGPRM(x4,1)){
    x5=__ABUILTIN_5;
   }else{
    COPY(x1,1);
    x5=_AImpDecl4SigAna_4(x1,x2,x3);}
   if(ISTGPRM(x5,1)){
    CPCLS(__AImpDecl4SigAna_66,1);
    CPPRD(__AImpDecl4SigAna_71,1);
    {OBJ x6;OBJ x7;
     x6=_AImpDecl4SigAna_44(x1,x2);
     x7=_ASeqReduce_3(__AImpDecl4SigAna_66,__AImpDecl4SigAna_71,x6);
     {OBJ x9=FLD1(x7,2);
      if(EXPRD(x7,1)){
       {OBJ x10;
	x10=x9;
	RSOME(x7,r);FLD1(r,1)=x10;FLD1(r,2)=__ASeq_6;}
      }else{
       COPY(x9,1);
       {OBJ x10;
	x10=x9;
	FRPRD(x7,1);PRD1(2,r);FLD1(r,1)=x10;FLD1(r,2)=__ASeq_6;}}}}
   }else{
    COPY(x1,1);
    {OBJ x11;
     x11=_AImpDecl4SigAna_59(x1,x2,x3);
     if(ISPRD(x11)&&(ISTGPRD(x11,2)||ISTGPRD(x11,1))){
      {OBJ x188=FLD(x11,2);
       if(EXPRD(x11,1)){
	FLD(x11,2)=NIL;DSPRD(x11);
       }else{
	CPPRD(x188,1);
	FRPRD(x11,1);}
       if(ISPRD(x1)&&(ISTGPRD(x1,1))){
	{OBJ x197=FLD(x1,8);
	 CPPRD(x197,1);
	 CPPRD(x188,1);
	 {OBJ x207;
	  x207=_AName4SigAna_47(x1,x188);
	  {OBJ x208=FLD1(x188,1);
	   if(EXPRD(x188,1)){
	    FREE(FLD1(x188,2),1);DSPRDF(x188);
	   }else{
	    FRPRD(x188,1);}
	   CPCLS(__APartNameEntry_55,1);
	   {OBJ x210;
	    x210=_AUniqueTable_15(__APartNameEntry_55,x208,x197);
	    if(ISTGPRM(x207,1)){
	     {OBJ x222;
	      if(ISTGPRD(x210,1)){
	       {OBJ x213=FLD(x210,3);
		if(EXPRD(x210,1)){
		 x222=x213;
		 FLD(x210,3)=NIL;DSPRD(x210);
		}else{
		 COPY(x213,1);
		 x222=x213;
		 FRPRD(x210,1);}
		CPCLS(__AImpDecl4SigAna_72,1);}
	      }else{
	       HLT("PartNameEntry at <unknown> : undefined selection flatInsts\'PartNameEntry:instPNE->seq");}
	      r=_ASeqMap_3(__AImpDecl4SigAna_72,x222);}
	    }else{
	     CPCLS(__AImpDecl4SigAna_74,1);
	     {OBJ x224;OBJ x235;OBJ x236;OBJ x237;
	      x224=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_74,1))(__AImpDecl4SigAna_74,__ABUILTIN_20);
	      if(ISTGPRD(x210,0)){
	       {OBJ x228=FLD(x210,4);
		if(EXPRD(x210,1)){
		 x235=x228;
		 FLD(x210,4)=NIL;DSPRD(x210);
		}else{
		 COPY(x228,1);
		 x235=x228;
		 FRPRD(x210,1);}
		CPCLS(__ASeqOfSeq_2,1);}
	      }else{
	       HLT("PartNameEntry at <unknown> : undefined selection deepInsts\'PartNameEntry:instPNE->seq");}
	      x236=_ASeqMap_3(x224,x235);
	      x237=_ASeqMap_3(__ASeqOfSeq_2,x236);
	      r=_AMySeqFun1_17(x237);}}}}}}
       }else{
	HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
     }else{
      if(ISPRD(x11)&&(ISTGPRD(x11,8)||ISTGPRD(x11,4))){
       if(EXPRD(x11,1)){
	DSPRD(x11);
       }else{
	DCPRD(x11,1);}
       {
	PRD1(2,r);FLD1(r,2)=__ASeq_6;
	FLD1(r,1)=_AImpDecl4SigAna_22(x1,x2,x3);}
      }else{
       if(ISPRD(x11)&&(ISTGPRD(x11,7))){
	{OBJ x403=FLD(x11,2);
	 if(EXPRD(x11,1)){
	  FREE(FLD(x11,1),1);DSPRDF(x11);
	 }else{
	  FRPRD(x11,1);}
	 x3=x403;continue;}
       }else{
	if(ISPRD(x11)&&(ISTGPRD(x11,6))){
	 if(EXPRD(x11,1)){
	  FREE(FLD(x11,3),1);DSPRDF(x11);
	 }else{
	  DCPRD(x11,1);}
	 COPY(x1,2);
	 CPCLS(__AImpDecl4SigAna_64,1);
	 {OBJ x409;TUP2 x411;OBJ x413;OBJ x414;
	  x409=_AImpDecl4SigAna_22(x1,x2,x3);
	  x411=_AImpDecl4SigAna_26(x1,x2,x3);
	  x413=_AImpDecl4SigAna_54(x1,x411.c1,x411.c2);
	  x414=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImpDecl4SigAna_64,2))(__AImpDecl4SigAna_64,x411.c1,x409);
	  r=_ASeqMap_3(x414,x413);}
	}else{
	 if(ISPRD(x11)&&(ISTGPRD(x11,5))){
	  CPCLS(__AImpDecl4SigAna_54,1);
	  {OBJ x418;OBJ x419;OBJ x420;
	   x418=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImpDecl4SigAna_54,2))(__AImpDecl4SigAna_54,x1,x2);
	   x419=_AImpExpEntry_49(x11);
	   x420=_ASeqMap_3(x418,x419);
	   r=_ASeqOfSeq_2(x420);}
	 }else{
	  FREE(x1,1);
	  FREE(x11,1);
	  r=__ASeq_6;}}}}}}}}
  break;}
 return r;}

extern OBJ _AImpDecl4SigAna_55(OBJ x1,OBJ x2,OBJ x3) /* eqName */
{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{
   if(ISPRM(x2)){
    FREE(x1,1);
    FREE(x3,1);
    r=__ABUILTIN_5;
   }else{
    if(ISPRM(x3)){
     FREE(x1,1);
     FREE(x2,1);
     r=__ABUILTIN_5;
    }else{
     if(ISPRD(x2)&&(ISTGPRD(x2,6))){
      if(EXPRD(x2,1)){
       DSPRDF(x2);
      }else{
       DCPRD(x2,1);}
      FREE(x1,1);
      FREE(x3,1);
      r=__ABUILTIN_5;
     }else{
      if(ISPRD(x3)&&(ISTGPRD(x3,6))){
       if(EXPRD(x3,1)){
	DSPRDF(x3);
       }else{
	DCPRD(x3,1);}
       FREE(x1,1);
       FREE(x2,1);
       r=__ABUILTIN_5;
      }else{
       {OBJ x129;OBJ x133;
	if(ISPRD(x2)&&(ISTGPRD(x2,2))){
	 x129=__ABUILTIN_5;
	}else{
	 x129=__ABUILTIN_3;}
	if(ISTGPRM(x129,1)){
	 if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	  x133=__ABUILTIN_5;
	 }else{
	  x133=__ABUILTIN_3;}
	}else{
	 x133=__ABUILTIN_3;}
	if(ISTGPRM(x133,1)){
	 COPY(x2,1);
	 COPY(x3,1);
	 {OBJ x134;OBJ x135;OBJ x136;OBJ x139;
	  x134=_AName_12(x2);
	  x135=_AName_12(x3);
	  ANat_76(x134,x135,x136);
	  if(ISTGPRM(x136,1)){
	   COPY(x2,1);
	   COPY(x3,1);
	   {OBJ x137;OBJ x138;
	    x137=_AName_11(x2);
	    x138=_AName_11(x3);
	    ANat_76(x137,x138,x139);}
	  }else{
	   x139=__ABUILTIN_3;}
	  if(ISTGPRM(x139,1)){
	   COPY(x1,1);
	   CPCLS(__AImpDecl4SigAna_55,1);
	   {OBJ x140;
	    x140=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_55,1))(__AImpDecl4SigAna_55,x1);
	    if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	     {OBJ x143=FLD(x3,3);
	      if(EXPRD(x3,1)){
	       DSPRDF(x3);
	      }else{
	       FRPRD(x3,1);}
	      if(ISPRD(x2)&&(ISTGPRD(x2,2))){
	       {OBJ x146=FLD(x2,3);
		if(EXPRD(x2,1)){
		 DSPRDF(x2);
		}else{
		 FRPRD(x2,1);}
		COPY(x1,1);
		CPCLS(__ASeqCompare_3,1);
		{OBJ x147;OBJ x148;OBJ x149;
		 x147=(*(OBJ(*)(OBJ,OBJ))METHOD(__ASeqCompare_3,1))(__ASeqCompare_3,x140);
		 x148=_AImpDecl4SigAna_54(x1,x134,x146);
		 x149=_AImpDecl4SigAna_54(x1,x134,x143);
		 r=_AMySeqFun2_12(x147,x148,x149);}}
	      }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 _AImpDecl4SigAna_56(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* eqInst */
{OBJ r;
 {OBJ x5;
  ANat_76(x3,x4,x5);
  if(ISTGPRM(x5,1)){
   FREE(x1,1);
   r=__ABUILTIN_5;
  }else{
   COPY(x1,2);
   {OBJ x6;OBJ x7;
    x6=_AImpDecl4SigAna_4(x1,x2,x3);
    x7=_AImpDecl4SigAna_4(x1,x2,x4);
    if(ISTGPRM(x6,1)){
     r=x7;
     FREE(x1,1);
    }else{
     if(ISTGPRM(x7,1)){
      r=x6;
      FREE(x1,1);
     }else{
      COPY(x1,2);
      CPCLS(__AImpDecl4SigAna_55,1);
      CPCLS(__ASeqCompare_3,1);
      {OBJ x8;OBJ x9;OBJ x10;OBJ x11;
       x8=_AImpDecl4SigAna_54(x1,x2,x4);
       x9=_AImpDecl4SigAna_54(x1,x2,x3);
       x10=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_55,1))(__AImpDecl4SigAna_55,x1);
       x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__ASeqCompare_3,1))(__ASeqCompare_3,x10);
       r=_AMySeqFun2_12(x11,x9,x8);}}}}}}
 return r;}

extern OBJ _AImpDecl4SigAna_57(OBJ x1,OBJ x2) /* eqBaseA */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x3;
  x3=_AName_31(x1,x2);
  if(ISTGPRM(x3,1)){
   FREE(x1,1);
   FREE(x2,1);
   r=__ABUILTIN_5;
  }else{
   if(ISPRD(x1)&&(ISTGPRD(x1,1))){
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    FREE(x2,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(x1)&&(ISTGPRD(x1,6))){
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      FREE(x2,1);
      r=__ABUILTIN_3;
     }else{
      if(ISPRD(x2)&&(ISTGPRD(x2,6))){
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	DCPRD(x2,1);}
       FREE(x1,1);
       r=__ABUILTIN_3;
      }else{
       if(ISPRD(x1)&&(ISTGPRD(x1,7))){
	if(EXPRD(x1,1)){
	 DSPRDF(x1);
	}else{
	 DCPRD(x1,1);}
	FREE(x2,1);
	r=__ABUILTIN_3;
       }else{
	if(ISPRD(x2)&&(ISTGPRD(x2,7))){
	 if(EXPRD(x2,1)){
	  DSPRDF(x2);
	 }else{
	  DCPRD(x2,1);}
	 FREE(x1,1);
	 r=__ABUILTIN_3;
	}else{
	 COPY(x1,1);
	 COPY(x2,1);
	 {OBJ x67;OBJ x68;OBJ x69;
	  x67=_AName_12(x1);
	  x68=_AName_12(x2);
	  ANat_76(x67,x68,x69);
	  if(ISTGPRM(x69,1)){
	   {OBJ x70;OBJ x71;
	    x70=_AName_11(x1);
	    x71=_AName_11(x2);
	    ANat_76(x70,x71,r);}
	  }else{
	   FREE(x1,1);
	   FREE(x2,1);
	   r=__ABUILTIN_3;}}}}}}}}}}
 return r;}

extern OBJ _AImpDecl4SigAna_58(OBJ x1,OBJ x2,OBJ x3) /* updAttr */
{OBJ r;
 COPY(x1,1);
 COPY(x2,2);
 {OBJ x4;OBJ x9;OBJ x10;
  x4=_AName_11(x2);
  x9=_AName_12(x2);
  x10=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x7=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    CPCLS(__AImpDecl4SigAna_62,1);
    CPCLS(__AImpExpEntry_116,1);
    {OBJ x8;OBJ x11;OBJ x12;OBJ x13;
     x8=x7;
     x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AImpDecl4SigAna_62,3))(__AImpDecl4SigAna_62,x4,x8,x3);
     x12=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_116,1))(__AImpExpEntry_116,x11);
     x13=_ADArray_16(x9,x12,x10);
     r=_AGlobSig_81(x1,x13);}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AImpDecl4SigAna_59(OBJ x1,OBJ x2,OBJ x3) /* getInstE */
{OBJ r;
 {OBJ x4;OBJ x5;OBJ x6;
  x4=_AGlobSig_55(x1);
  x5=_ADArray_20(x4,x2);
  x6=_AImpExpEntry_91(x5);
  r=_ADArray_20(x6,x3);}
 return r;}

extern OBJ _AImpDecl4SigAna_60(OBJ x1,OBJ x2) /* unEqIA */
{OBJ r;
 {OBJ x3=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FRPRD(FLD1(x2,3),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x6;OBJ x7;
   x6=x3;
   ANat_76(x1,x6,x7);
   if(ISTGPRM(x7,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _AImpDecl4SigAna_61(OBJ x1,OBJ x2,OBJ x3) /* toName */
{OBJ r;
 {OBJ x4=FLD1(x3,1);
  if(EXPRD(x3,1)){
   FREE(FLD1(x3,2),1);DSPRDF(x3);
  }else{
   FRPRD(x3,1);}
  {OBJ x6;
   x6=x4;
   PRDF(3,4,r);FLD(r,1)=x1;FLD(r,2)=x6;FLD(r,3)=x2;}}
 return r;}

extern OBJ _AImpDecl4SigAna_62(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* updAttr,1 */
{OBJ r;
 CPCLS(__AImpExpEntry_123,1);
 {OBJ x5;OBJ x6;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImpExpEntry_123,2))(__AImpExpEntry_123,x3,x2);
  x6=_AImpExpEntry_92(x4);
  r=_ADArray_16(x1,x5,x6);}
 return r;}

extern OBJ _AImpDecl4SigAna_64(OBJ x1,OBJ x2,OBJ x3) /* subst */
{OBJ r;
 CPCLS(__AImpDecl4SigAna_65,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImpDecl4SigAna_65,2))(__AImpDecl4SigAna_65,x1,x3);
  r=_ASeqMap_3(x4,x2);}
 return r;}

extern OBJ _AImpDecl4SigAna_65(OBJ x1,OBJ x2,OBJ x3) /* checkFormParam */
{OBJ r;
 if(ISPRD(x3)&&(ISTGPRD(x3,4))){
  {OBJ x18=FLD(x3,3);
   CPPRD(x3,1);
   {OBJ x19;OBJ x20;
    x19=_AName_12(x3);
    ANat_76(x19,x1,x20);
    if(ISTGPRM(x20,1)){
     if(EXPRD(x3,1)){
      DSPRDF(x3);
     }else{
      DCPRD(x3,1);}
     {OBJ x21;
      ANat_4(x18,x21);
      r=_ASeqIndex_2(x2,x21);}
    }else{
     FREE(x2,1);
     r=x3;}}}
 }else{
  FREE(x2,1);
  r=x3;}
 return r;}

extern OBJ _AImpDecl4SigAna_66(OBJ x1,OBJ x2) /* toVar */
{OBJ r;
 FREE(x1,1);
 {OBJ x12=FLD1(x2,1);OBJ x13;FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   x13=FLD1(x2,2);COPY(x13,1);}
  {OBJ x14;OBJ x15;OBJ x16;
   PRDF(1,6,x14);FLD(x14,1)=x12;
   ANat_2(x12,x15);
   if(x_x2){
    RSOME(x2,x16);FLD1(x16,1)=x14;
   }else{
    FRPRD(x2,1);PRD1(2,x16);FLD1(x16,1)=x14;FLD1(x16,2)=x13;}
   PRD1(2,r);FLD1(r,1)=x15;FLD1(r,2)=x16;}}
 return r;}

extern OBJ _AImpDecl4SigAna_69(OBJ x1,OBJ x2,OBJ x3) /* addLookupStruct */
{OBJ r;
 CPPRD(x3,1);
 {OBJ x4;OBJ x5;OBJ x7;OBJ x39;
  x4=_ADArray_21(x3,x1);
  PRD1F(1,x5);FLD1(x5,1)=x2;
  if(ISPRM(x4)){
   x7=__ABUILTIN_5;
  }else{
   x7=__ABUILTIN_3;}
  if(ISTGPRM(x7,1)){
   FREE(x4,1);
   PRD1(5,x39);FLD1(x39,1)=x5;FLD1(x39,2)=__ASeq_6;FLD1(x39,3)=__ASeq_6;FLD1(x39,4)=__ASeq_6;FLD1(x39,5)=__ASeq_6;
  }else{
   {OBJ x9;
    if(ISPRM(x4)){
     HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
    }else{
     {OBJ x8=FLD1(x4,1);
      if(EXPRD(x4,1)){
       x9=x8;
       DSPRDF(x4);
      }else{
       CPPRD(x8,1);
       x9=x8;
       FRPRD(x4,1);}}}
    {OBJ x35;OBJ x36;OBJ x37;OBJ x38;
     if(EXPRD(x9,1)){
      RSOME(x9,x39);FREE(FLD1(x39,1),1);FLD1(x39,1)=x5;
     }else{
      x35=FLD1(x9,2);x36=FLD1(x9,3);x37=FLD1(x9,4);x38=FLD1(x9,5);COPY(x35,1);COPY(x36,1);COPY(x37,1);COPY(x38,1);
      FRPRD(x9,1);PRD1(5,x39);FLD1(x39,1)=x5;FLD1(x39,2)=x35;FLD1(x39,3)=x36;FLD1(x39,4)=x37;FLD1(x39,5)=x38;}}}}
  r=_ADArray_15(x3,x1,x39);}
 return r;}

extern OBJ _AImpDecl4SigAna_70(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* findInst'70 */
{OBJ r;
 if(ISPRM(x4)){
  if(ISPRD(x3)&&(ISTGPRD(x3,8))){
   {OBJ x16=FLD(x3,1);
    if(EXPRD(x3,1)){
     DSPRDF(x3);
    }else{
     COPY(x16,1);
     FRPRD(x3,1);}
    CPCLS(__AName_31,1);
    {OBJ x17;
     x17=_ASeqCompare_3(__AName_31,x1,x16);
     if(ISTGPRM(x17,1)){
      PRD1F(2,r);FLD1(r,1)=x2;FLD1(r,2)=__ASeq_6;
     }else{
      r=__ASeq_6;}}}
  }else{
   FREE(x1,1);
   FREE(x3,1);
   r=__ASeq_6;}
 }else{
  FREE(x1,1);
  FREE(x3,1);
  r=x4;}
 return r;}

extern OBJ _AImpDecl4SigAna_72(OBJ x1) /* toInstSet'72 */
{OBJ r;
 CPCLS(__APartNameEntry_12,1);
 r=_ASeqMap_3(__APartNameEntry_12,x1);
 return r;}

extern OBJ _AImpDecl4SigAna_73(OBJ x1) /* toInstSet'73 */
{OBJ r;
 CPCLS(__APartNameEntry_27,1);
 CPCLS(__AMySeqFun2_4,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMySeqFun2_4,1))(__AMySeqFun2_4,__APartNameEntry_27);
 return r;}

extern OBJ _AImpDecl4SigAna_74(OBJ x1) /* toInstSet'74 */
{OBJ r;
 CPCLS(__AImpDecl4SigAna_73,1);
 CPCLS(__APartNameEntry_21,1);
 CPCLS(__ACompose_4,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpDecl4SigAna_73,1))(__AImpDecl4SigAna_73,__ABUILTIN_20);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x2,__APartNameEntry_21);}
 return r;}


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

init_AImpDecl4SigAna()
{
 static int visited=0; if(visited) return; visited=1;
 init_AGlobPragma();
 init_AMap();
 init_ACompose();
 init_AMySeqFun1();
 init_AObjects();
 init_AMySeqFun2();
 init_AGlobSig();
 init_AName4SigAna();
 init_AMaps4SigAna();
 init_ASeqCompare();
 init_APartNameEntry();
 init_ASeqFilter();
 init_AName();
 init_ASeqIndex();
 init_AImpExpEntry();
 init_ASeqMap();
 init_AAttributes();
 init_ASeqOfSeq();
 init_ARep();
 init_ASeqReduce();
 init_AOcPos();
 init_ATableFun2();
 init_APragma();
 init_ACom();
 init_AFct();
 init_AVoid();
 init_ASeq();
 init_ARelCmp();
 init_AOption();
 init_ASetByBST();
 init_APair();
 init_ABSTree();
 init_ANat();
 init_ATree();
 init_AChar();
 init_ALexem();
 init_AGlobSigImpl();
 init_ADArrayReduce();
 init_ATable();
 init_ADArray();
 init_ANatMap();
 init_AString();
 init_ASet();
 init_ABitset();
 init_AArray();
 init_AImpl();
 init_APatterns();
 init_APartName();
 init_AUniqueTable();
 init_ADeclEntry();
 CLS(3,_AImpDecl4SigAna_31,__AImpDecl4SigAna_31);
 CLS(3,_AImpDecl4SigAna_30,__AImpDecl4SigAna_30);
 CLS(4,_AImpDecl4SigAna_62,__AImpDecl4SigAna_62);
 CLS(3,_AImpDecl4SigAna_29,__AImpDecl4SigAna_29);
 CLS(3,_AImpDecl4SigAna_61,__AImpDecl4SigAna_61);
 CLS(4,_AImpDecl4SigAna_28,__AImpDecl4SigAna_28);
 CLS(2,_AImpDecl4SigAna_60,__AImpDecl4SigAna_60);
 CLS(3,_AImpDecl4SigAna_27,__AImpDecl4SigAna_27);
 CLS(3,_AImpDecl4SigAna_59,__AImpDecl4SigAna_59);
 CLS(3,_AImpDecl4SigAna_26_c,__AImpDecl4SigAna_26);
 CLS(3,_AImpDecl4SigAna_58,__AImpDecl4SigAna_58);
 CLS(4,_AImpDecl4SigAna_25,__AImpDecl4SigAna_25);
 CLS(2,_AImpDecl4SigAna_57,__AImpDecl4SigAna_57);
 CLS(3,_AImpDecl4SigAna_24,__AImpDecl4SigAna_24);
 CLS(4,_AImpDecl4SigAna_56,__AImpDecl4SigAna_56);
 CLS(3,_AImpDecl4SigAna_23,__AImpDecl4SigAna_23);
 CLS(3,_AImpDecl4SigAna_55,__AImpDecl4SigAna_55);
 CLS(3,_AImpDecl4SigAna_22,__AImpDecl4SigAna_22);
 CLS(3,_AImpDecl4SigAna_54,__AImpDecl4SigAna_54);
 CLS(3,_AImpDecl4SigAna_21,__AImpDecl4SigAna_21);
 CLS(2,_AImpDecl4SigAna_53,__AImpDecl4SigAna_53);
 CLS(4,_AImpDecl4SigAna_20,__AImpDecl4SigAna_20);
 CLS(2,_AImpDecl4SigAna_52,__AImpDecl4SigAna_52);
 CLS(3,_AImpDecl4SigAna_19_c,__AImpDecl4SigAna_19);
 CLS(2,_AImpDecl4SigAna_51,__AImpDecl4SigAna_51);
 CLS(3,_AImpDecl4SigAna_18_c,__AImpDecl4SigAna_18);
 CLS(2,_AImpDecl4SigAna_50,__AImpDecl4SigAna_50);
 CLS(4,_AImpDecl4SigAna_17,__AImpDecl4SigAna_17);
 CLS(2,_AImpDecl4SigAna_49,__AImpDecl4SigAna_49);
 CLS(3,_AImpDecl4SigAna_16,__AImpDecl4SigAna_16);
 CLS(2,_AImpDecl4SigAna_48,__AImpDecl4SigAna_48);
 CLS(2,_AImpDecl4SigAna_15,__AImpDecl4SigAna_15);
 CLS(2,_AImpDecl4SigAna_47_c,__AImpDecl4SigAna_47);
 CLS(6,_AImpDecl4SigAna_14,__AImpDecl4SigAna_14);
 CLS(4,_AImpDecl4SigAna_46,__AImpDecl4SigAna_46);
 CLS(4,_AImpDecl4SigAna_13,__AImpDecl4SigAna_13);
 CLS(2,_AImpDecl4SigAna_45,__AImpDecl4SigAna_45);
 CLS(3,_AImpDecl4SigAna_12,__AImpDecl4SigAna_12);
 CLS(2,_AImpDecl4SigAna_44,__AImpDecl4SigAna_44);
 CLS(3,_AImpDecl4SigAna_11_c,__AImpDecl4SigAna_11);
 CLS(2,_AImpDecl4SigAna_43,__AImpDecl4SigAna_43);
 LCLS(1,_AImpDecl4SigAna_74,__AImpDecl4SigAna_74);
 CLS(3,_AImpDecl4SigAna_10,__AImpDecl4SigAna_10);
 CLS(2,_AImpDecl4SigAna_42,__AImpDecl4SigAna_42);
 LCLS(1,_AImpDecl4SigAna_73,__AImpDecl4SigAna_73);
 CLS(3,_AImpDecl4SigAna_9,__AImpDecl4SigAna_9);
 CLS(2,_AImpDecl4SigAna_41,__AImpDecl4SigAna_41);
 CLS(1,_AImpDecl4SigAna_72,__AImpDecl4SigAna_72);
 CLS(3,_AImpDecl4SigAna_8,__AImpDecl4SigAna_8);
 CLS(6,_AImpDecl4SigAna_40,__AImpDecl4SigAna_40);
 CLS(3,_AImpDecl4SigAna_7,__AImpDecl4SigAna_7);
 CLS(5,_AImpDecl4SigAna_39,__AImpDecl4SigAna_39);
 CLS(4,_AImpDecl4SigAna_70,__AImpDecl4SigAna_70);
 CLS(3,_AImpDecl4SigAna_6,__AImpDecl4SigAna_6);
 CLS(3,_AImpDecl4SigAna_38,__AImpDecl4SigAna_38);
 CLS(3,_AImpDecl4SigAna_69,__AImpDecl4SigAna_69);
 CLS(3,_AImpDecl4SigAna_5,__AImpDecl4SigAna_5);
 CLS(3,_AImpDecl4SigAna_37,__AImpDecl4SigAna_37);
 CLS(3,_AImpDecl4SigAna_4,__AImpDecl4SigAna_4);
 CLS(5,_AImpDecl4SigAna_36,__AImpDecl4SigAna_36);
 CLS(3,_AImpDecl4SigAna_3,__AImpDecl4SigAna_3);
 CLS(3,_AImpDecl4SigAna_35_c,__AImpDecl4SigAna_35);
 CLS(2,_AImpDecl4SigAna_66,__AImpDecl4SigAna_66);
 CLS(3,_AImpDecl4SigAna_2,__AImpDecl4SigAna_2);
 CLS(2,_AImpDecl4SigAna_34,__AImpDecl4SigAna_34);
 CLS(3,_AImpDecl4SigAna_65,__AImpDecl4SigAna_65);
 CLS(3,_AImpDecl4SigAna_1,__AImpDecl4SigAna_1);
 CLS(3,_AImpDecl4SigAna_33,__AImpDecl4SigAna_33);
 CLS(2,_AImpDecl4SigAna_32_c,__AImpDecl4SigAna_32);
 CLS(3,_AImpDecl4SigAna_64,__AImpDecl4SigAna_64);
 MTH(1,0,2,_mt_1_0_2);LZYMTH(1,0,2,_mt_1_0_2);
 PRD1F(2,__AImpDecl4SigAna_71);FLD1(__AImpDecl4SigAna_71,1)=__ANat_5;FLD1(__AImpDecl4SigAna_71,2)=__ASeq_6;}

