

#include "BUILTIN.h"
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _AGlobSig_46(OBJ);extern OBJ __AGlobSig_46;
extern OBJ _AGlobSig_50(OBJ);extern OBJ __AGlobSig_50;
extern OBJ _AGlobSig_51(OBJ);extern OBJ __AGlobSig_51;
extern OBJ _AGlobSig_52(OBJ);extern OBJ __AGlobSig_52;
extern OBJ _AGlobSig_53(OBJ);extern OBJ __AGlobSig_53;
extern OBJ _AGlobSig_54(OBJ);extern OBJ __AGlobSig_54;
extern OBJ _AGlobSig_55(OBJ);extern OBJ __AGlobSig_55;
extern OBJ _AGlobSig_56(OBJ);extern OBJ __AGlobSig_56;
extern OBJ _AGlobSig_57(OBJ);extern OBJ __AGlobSig_57;
extern OBJ _AGlobSig_58(OBJ);extern OBJ __AGlobSig_58;
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 _AGlobSig_91(OBJ);extern OBJ __AGlobSig_91;
extern OBJ _AGlobSig_92(OBJ);extern OBJ __AGlobSig_92;
extern OBJ _AGlobSig_93(OBJ);extern OBJ __AGlobSig_93;
extern OBJ _AGlobSig_94(OBJ);extern OBJ __AGlobSig_94;
extern TUP2 _AGlobSig_97(OBJ);extern OBJ __AGlobSig_97;
extern OBJ _AGlobSig_99(OBJ,OBJ);extern OBJ __AGlobSig_99;
extern OBJ __AGlobSig_104;
extern OBJ __AName_26;
extern OBJ __AName_29;
extern OBJ _AObjects_14(OBJ);extern OBJ __AObjects_14;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern TUP2 _ASeqFilter_8(OBJ,OBJ);extern OBJ __ASeqFilter_8;
extern OBJ _APartNameEntry_54(OBJ,OBJ);extern OBJ __APartNameEntry_54;
extern OBJ _APartNameEntry_55(OBJ,OBJ);extern OBJ __APartNameEntry_55;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _AImpExpEntry_6(OBJ);extern OBJ __AImpExpEntry_6;
extern OBJ _AImpExpEntry_10(OBJ);extern OBJ __AImpExpEntry_10;
extern OBJ _AImpExpEntry_91(OBJ);extern OBJ __AImpExpEntry_91;
extern OBJ _AImpExpEntry_92(OBJ);extern OBJ __AImpExpEntry_92;
extern OBJ _AImpExpEntry_115(OBJ,OBJ);extern OBJ __AImpExpEntry_115;
extern OBJ _AImpExpEntry_117(OBJ,OBJ);extern OBJ __AImpExpEntry_117;
extern OBJ _AImpExpEntry_120(OBJ,OBJ);extern OBJ __AImpExpEntry_120;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;
extern OBJ __ARep_13;
extern OBJ _ARep_24(OBJ,OBJ);extern OBJ __ARep_24;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ __AOcPos_35;
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern OBJ __APragma_5;
extern OBJ _ATableFun2_4(OBJ,OBJ,OBJ);extern OBJ __ATableFun2_4;
extern TUP3 _ATriple_10(OBJ);extern OBJ __ATriple_10;
extern OBJ __ATable_10;
extern OBJ _AUniqueTableReduce_4(OBJ,OBJ,OBJ,OBJ);extern OBJ __AUniqueTableReduce_4;
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;

#include "NatConv.h"
extern TUP2 _APair_8(OBJ);extern OBJ __APair_8;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;

#include "Denotation.h"
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _AGlobSigToText_2(OBJ);extern OBJ __AGlobSigToText_2;

#include "Nat.h"
extern OBJ _AOptionConv_2(OBJ,OBJ);extern OBJ __AOptionConv_2;
extern OBJ _ASeqConv_2(OBJ,OBJ);extern OBJ __ASeqConv_2;
extern OBJ __ASeqConv_8;
extern OBJ __ASeqConv_9;
extern OBJ _ADArray_15(OBJ,OBJ,OBJ);extern OBJ __ADArray_15;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ _ADArray_21(OBJ,OBJ);extern OBJ __ADArray_21;

#include "Int.h"

#include "Real.h"

#include "Char.h"

#include "Bitset.h"
extern OBJ __ATree_7;

#include "Array.h"
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;
OBJ __AGlobSig4SigAna_1; /* {} */
extern OBJ _AGlobSig4SigAna_2(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_2; /* defStructHead */
extern OBJ _AGlobSig4SigAna_3(OBJ,OBJ);OBJ __AGlobSig4SigAna_3; /* extStructHead */
extern OBJ _AGlobSig4SigAna_4(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_4; /* defPreDefs */
extern OBJ _AGlobSig4SigAna_5(OBJ);OBJ __AGlobSig4SigAna_5; /* structPos */
extern OBJ _AGlobSig4SigAna_6(OBJ);OBJ __AGlobSig4SigAna_6; /* formParamS */
extern OBJ _AGlobSig4SigAna_7(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_7; /* defSignFormParams */
extern OBJ _AGlobSig4SigAna_8(OBJ);OBJ __AGlobSig4SigAna_8; /* getSignFormParams */
extern OBJ _AGlobSig4SigAna_9(OBJ,OBJ);OBJ __AGlobSig4SigAna_9; /* initAdmInfo */
extern OBJ _AGlobSig4SigAna_10(OBJ);OBJ __AGlobSig4SigAna_10; /* instsComplete */
extern OBJ _AGlobSig4SigAna_11(OBJ);OBJ __AGlobSig4SigAna_11; /* declsComplete */
extern OBJ _AGlobSig4SigAna_12(OBJ);OBJ __AGlobSig4SigAna_12; /* sortInstPNEOnlyComplete */
extern OBJ _AGlobSig4SigAna_13(OBJ);OBJ __AGlobSig4SigAna_13; /* finitSigAna */
extern TUP2 _AGlobSig4SigAna_14(OBJ,OBJ);OBJ __AGlobSig4SigAna_14; /* treatSortPNS */
extern TUP2 _AGlobSig4SigAna_15(OBJ,OBJ);OBJ __AGlobSig4SigAna_15; /* treatInstPNS */
extern TUP2 _AGlobSig4SigAna_16(OBJ,OBJ);OBJ __AGlobSig4SigAna_16; /* treatOnlyPNS */
extern OBJ _AGlobSig4SigAna_17(OBJ,OBJ);OBJ __AGlobSig4SigAna_17; /* treatParamPNS */
extern OBJ _AGlobSig4SigAna_18(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_18; /* treatDeclS */
extern OBJ _AGlobSig4SigAna_19(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_19; /* treatInstS */
extern OBJ _AGlobSig4SigAna_20(OBJ,OBJ);OBJ __AGlobSig4SigAna_20; /* treatInstS,1 */
extern OBJ _AGlobSig4SigAna_21(OBJ,OBJ);OBJ __AGlobSig4SigAna_21; /* treatEachInst */
extern OBJ _AGlobSig4SigAna_22(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_22; /* treatOnlyS */
extern OBJ _AGlobSig4SigAna_23(OBJ,OBJ);OBJ __AGlobSig4SigAna_23; /* treatOpDeclS */
extern OBJ _AGlobSig4SigAna_24(OBJ,OBJ);OBJ __AGlobSig4SigAna_24; /* treatInstAppls */
extern OBJ _AGlobSig4SigAna_25(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_25; /* matchByIdeOrig */
extern OBJ _AGlobSig4SigAna_26(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_26; /* matchSortByIdeOrig */
extern OBJ _AGlobSig4SigAna_27(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_27; /* matchOpByIdeOrig */
extern OBJ _AGlobSig4SigAna_28(OBJ);OBJ __AGlobSig4SigAna_28; /* ok */
extern TUP2 _AGlobSig4SigAna_29(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_29; /* treatParam */
extern OBJ _AGlobSig4SigAna_30(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_30; /* tIStruct */
extern OBJ _AGlobSig4SigAna_31(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_31; /* tEIStruct */
extern OBJ _AGlobSig4SigAna_32(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_32; /* tEIInst */
extern OBJ _AGlobSig4SigAna_33(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_33; /* treatInstSByStructs */
extern TUP2 _AGlobSig4SigAna_34(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_34; /* treatOpDeclByLookups */
OBJ __AGlobSig4SigAna_35; /* pMatch? */
extern OBJ _AGlobSig4SigAna_36(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_36; /* union */
extern OBJ _AGlobSig4SigAna_37(OBJ,OBJ);OBJ __AGlobSig4SigAna_37; /* unEqExtDecls */
extern OBJ _AGlobSig4SigAna_38(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_38; /* eqStruct */
extern OBJ _AGlobSig4SigAna_39(OBJ);OBJ __AGlobSig4SigAna_39; /* convIntDecls */
extern OBJ _AGlobSig4SigAna_40(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_40; /* convExtDecls */
extern OBJ _AGlobSig4SigAna_41(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_41; /* convExtDecl */
extern OBJ _AGlobSig4SigAna_42(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_42; /* mkNames */
extern OBJ _AGlobSig4SigAna_43(OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_43; /* mkName */
extern OBJ _AGlobSig4SigAna_44(OBJ,OBJ);OBJ __AGlobSig4SigAna_44; /* extStructHead'44 */
OBJ __AGlobSig4SigAna_45; /* mkNames'45 */
OBJ __AGlobSig4SigAna_46; /* mkNames'46 */
extern OBJ _AGlobSig4SigAna_47(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_47; /* mkNames'47 */
OBJ __AGlobSig4SigAna_48; /* mkNames'48 */
extern OBJ _AGlobSig4SigAna_49(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_49; /* mkNames'49 */
OBJ __AGlobSig4SigAna_50; /* matchSortByIdeOrig'50 */
OBJ __AGlobSig4SigAna_51; /* matchSortByIdeOrig'51 */
OBJ __AGlobSig4SigAna_52; /* matchSortByIdeOrig'52 */
extern OBJ _AGlobSig4SigAna_53(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_53; /* matchSortByIdeOrig'53 */
OBJ __AGlobSig4SigAna_54; /* matchSortByIdeOrig'54 */
extern OBJ _AGlobSig4SigAna_55(OBJ);OBJ __AGlobSig4SigAna_55; /* matchSortByIdeOrig'55 */
OBJ __AGlobSig4SigAna_56; /* matchSortByIdeOrig'56 */
extern OBJ _AGlobSig4SigAna_57(OBJ);OBJ __AGlobSig4SigAna_57; /* matchSortByIdeOrig'57 */
extern OBJ _AGlobSig4SigAna_58(OBJ);OBJ __AGlobSig4SigAna_58; /* matchSortByIdeOrig'58 */
extern OBJ _AGlobSig4SigAna_59(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_59; /* treatSortPNS'59 */
extern OBJ _AGlobSig4SigAna_60(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_60; /* treatInstPNS'60 */
extern OBJ _AGlobSig4SigAna_61(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_61; /* treatOnlyPNS'61 */
extern OBJ _AGlobSig4SigAna_62(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_62; /* treatOnlyPNS'62 */
extern OBJ _AGlobSig4SigAna_63(OBJ,OBJ);OBJ __AGlobSig4SigAna_63; /* treatDeclS'63 */
extern OBJ _AGlobSig4SigAna_64(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_64; /* treatDeclS'64 */
extern OBJ _AGlobSig4SigAna_65(OBJ,OBJ);OBJ __AGlobSig4SigAna_65; /* treatInstSByStructs'65 */
extern OBJ _AGlobSig4SigAna_66(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_66; /* treatInstSByStructs'66 */
extern OBJ _AGlobSig4SigAna_67(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_67; /* treatInstSByStructs'67 */
extern OBJ _AGlobSig4SigAna_68(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_68; /* tIStruct'68 */
extern OBJ _AGlobSig4SigAna_69(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_69; /* tIStruct'69 */
extern OBJ _AGlobSig4SigAna_70(OBJ,OBJ);OBJ __AGlobSig4SigAna_70; /* treatOnlyS'70 */
extern OBJ _AGlobSig4SigAna_71(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_71; /* treatOnlyS'71 */
extern OBJ _AGlobSig4SigAna_72(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_72; /* treatOnlyS'72 */
extern OBJ _AGlobSig4SigAna_73(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_73; /* treatOpDeclByLookups'73 */
extern OBJ _AGlobSig4SigAna_74(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_74; /* treatInstAppls'74 */
extern OBJ _AGlobSig4SigAna_75(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_75; /* treatInstAppls'75 */
OBJ __AGlobSig4SigAna_76; /* matchByIdeOrig'76 */
extern OBJ _AGlobSig4SigAna_77(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_77; /* matchByIdeOrig'77 */
extern OBJ _AGlobSig4SigAna_78(OBJ);OBJ __AGlobSig4SigAna_78; /* matchByIdeOrig'78 */
OBJ __AGlobSig4SigAna_79; /* matchByIdeOrig'79 */
extern OBJ _AGlobSig4SigAna_80(OBJ);OBJ __AGlobSig4SigAna_80; /* matchByIdeOrig'80 */
extern OBJ _AGlobSig4SigAna_81(OBJ);OBJ __AGlobSig4SigAna_81; /* matchByIdeOrig'81 */
OBJ __AGlobSig4SigAna_82; /* matchOpByIdeOrig'82 */
extern OBJ _AGlobSig4SigAna_83(OBJ,OBJ,OBJ,OBJ);OBJ __AGlobSig4SigAna_83; /* matchOpByIdeOrig'83 */
extern OBJ _AGlobSig4SigAna_84(OBJ);OBJ __AGlobSig4SigAna_84; /* matchOpByIdeOrig'84 */
OBJ __AGlobSig4SigAna_85; /* matchOpByIdeOrig'85 */
extern OBJ _AGlobSig4SigAna_86(OBJ);OBJ __AGlobSig4SigAna_86; /* matchOpByIdeOrig'86 */
extern OBJ _AGlobSig4SigAna_87(OBJ);OBJ __AGlobSig4SigAna_87; /* matchOpByIdeOrig'87 */

extern OBJ _AGlobSig4SigAna_2(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* defStructHead */
{OBJ r;
 CPCLS(__AGlobSig_91,1);
 COPY(x1,6);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x63;OBJ x64;OBJ x65;OBJ x138;
  x6=_ASeqMap_3(__AGlobSig_91,x5);
  x7=_AGlobSig_56(x1);
  x8=_AGlobSig_55(x1);
  x63=_AGlobSig_52(x1);
  x64=_AGlobSig_51(x1);
  x65=_AGlobSig_50(x1);
  x138=_AGlobSig_46(x1);
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x145;OBJ x146;OBJ x147;OBJ x151;OBJ x152;OBJ x153;OBJ x154;
    if(EXPRD(x1,1)){
     RPRD(x1,r);FRPRD(FLD(r,1),1);FLD(r,1)=x2;FREE(FLD(r,2),1);FLD(r,2)=x6;FRPRD(FLD(r,3),1);FLD(r,3)=x7;FRPRD(FLD(r,4),1);FLD(r,4)=x8;FREE(FLD(r,5),1);FLD(r,5)=x3;FREE(FLD(r,6),1);FLD(r,6)=x4;FRPRD(FLD(r,10),1);FLD(r,10)=x63;FREE(FLD(r,11),1);FLD(r,11)=x64;FREE(FLD(r,12),1);FLD(r,12)=x65;FREE(FLD(r,17),1);FLD(r,17)=x138;
    }else{
     x145=FLD(x1,7);x146=FLD(x1,8);x147=FLD(x1,9);x151=FLD(x1,13);x152=FLD(x1,14);x153=FLD(x1,15);x154=FLD(x1,16);CPPRD(x145,1);CPPRD(x146,1);CPPRD(x147,1);CPPRD(x151,1);CPPRD(x152,1);CPPRD(x153,1);CPPRD(x154,1);
     FRPRD(x1,1);PRD(17,1,r);FLD(r,1)=x2;FLD(r,2)=x6;FLD(r,3)=x7;FLD(r,4)=x8;FLD(r,5)=x3;FLD(r,6)=x4;FLD(r,7)=x145;FLD(r,8)=x146;FLD(r,9)=x147;FLD(r,10)=x63;FLD(r,11)=x64;FLD(r,12)=x65;FLD(r,13)=x151;FLD(r,14)=x152;FLD(r,15)=x153;FLD(r,16)=x154;FLD(r,17)=x138;}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AGlobSig4SigAna_3(OBJ x1,OBJ x2) /* extStructHead */
{OBJ r;
 COPY(x1,10);
 {OBJ x3;OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x63;OBJ x64;OBJ x65;OBJ x138;
  x3=_AGlobSig_57(x1);
  x4=_AGlobSig_58(x1);
  x5=_AGlobSig_56(x1);
  x6=_AGlobSig_55(x1);
  x7=_AGlobSig_54(x1);
  x8=_AGlobSig_53(x1);
  x63=_AGlobSig_52(x1);
  x64=_AGlobSig_51(x1);
  x65=_AGlobSig_50(x1);
  x138=_AGlobSig_46(x1);
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x146;OBJ x147;OBJ x148;OBJ x152;OBJ x153;OBJ x154;OBJ x155;
    if(EXPRD(x1,1)){
     CPCLS(__AGlobSig4SigAna_44,1);
     {
      RPRD(x1,r);FRPRD(FLD(r,1),1);FLD(r,1)=x4;FREE(FLD(r,2),1);FRPRD(FLD(r,3),1);FLD(r,3)=x5;FRPRD(FLD(r,4),1);FLD(r,4)=x6;FREE(FLD(r,5),1);FLD(r,5)=x7;FREE(FLD(r,6),1);FLD(r,6)=x8;FRPRD(FLD(r,10),1);FLD(r,10)=x63;FREE(FLD(r,11),1);FLD(r,11)=x64;FREE(FLD(r,12),1);FLD(r,12)=x65;FREE(FLD(r,17),1);FLD(r,17)=x138;
      FLD(r,2)=_ASeqZip_4(__AGlobSig4SigAna_44,x2,x3);}
    }else{
     x146=FLD(x1,7);x147=FLD(x1,8);x148=FLD(x1,9);x152=FLD(x1,13);x153=FLD(x1,14);x154=FLD(x1,15);x155=FLD(x1,16);CPPRD(x146,1);CPPRD(x147,1);CPPRD(x148,1);CPPRD(x152,1);CPPRD(x153,1);CPPRD(x154,1);CPPRD(x155,1);
     CPCLS(__AGlobSig4SigAna_44,1);
     {
      FRPRD(x1,1);PRD(17,1,r);FLD(r,1)=x4;FLD(r,3)=x5;FLD(r,4)=x6;FLD(r,5)=x7;FLD(r,6)=x8;FLD(r,7)=x146;FLD(r,8)=x147;FLD(r,9)=x148;FLD(r,10)=x63;FLD(r,11)=x64;FLD(r,12)=x65;FLD(r,13)=x152;FLD(r,14)=x153;FLD(r,15)=x154;FLD(r,16)=x155;FLD(r,17)=x138;
      FLD(r,2)=_ASeqZip_4(__AGlobSig4SigAna_44,x2,x3);}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AGlobSig4SigAna_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* defPreDefs */
{OBJ r;
 COPY(x1,10);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x66;OBJ x67;OBJ x68;OBJ x69;
  x6=_AGlobSig_58(x1);
  x7=_AGlobSig_57(x1);
  x8=_AGlobSig_56(x1);
  x9=_AGlobSig_55(x1);
  x10=_AGlobSig_54(x1);
  x11=_AGlobSig_53(x1);
  x66=_AGlobSig_52(x1);
  x67=_AGlobSig_51(x1);
  x68=_AGlobSig_50(x1);
  x69=_AGlobSig_46(x1);
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x76;OBJ x77;OBJ x78;
    if(EXPRD(x1,1)){
     RPRD(x1,r);FRPRD(FLD(r,1),1);FLD(r,1)=x6;FREE(FLD(r,2),1);FLD(r,2)=x7;FRPRD(FLD(r,3),1);FLD(r,3)=x8;FRPRD(FLD(r,4),1);FLD(r,4)=x9;FREE(FLD(r,5),1);FLD(r,5)=x10;FREE(FLD(r,6),1);FLD(r,6)=x11;FRPRD(FLD(r,10),1);FLD(r,10)=x66;FREE(FLD(r,11),1);FLD(r,11)=x67;FREE(FLD(r,12),1);FLD(r,12)=x68;FRPRD(FLD(r,13),1);FLD(r,13)=x2;FRPRD(FLD(r,14),1);FLD(r,14)=x3;FRPRD(FLD(r,15),1);FLD(r,15)=x4;FRPRD(FLD(r,16),1);FLD(r,16)=x5;FREE(FLD(r,17),1);FLD(r,17)=x69;
    }else{
     x76=FLD(x1,7);x77=FLD(x1,8);x78=FLD(x1,9);CPPRD(x76,1);CPPRD(x77,1);CPPRD(x78,1);
     FRPRD(x1,1);PRD(17,1,r);FLD(r,1)=x6;FLD(r,2)=x7;FLD(r,3)=x8;FLD(r,4)=x9;FLD(r,5)=x10;FLD(r,6)=x11;FLD(r,7)=x76;FLD(r,8)=x77;FLD(r,9)=x78;FLD(r,10)=x66;FLD(r,11)=x67;FLD(r,12)=x68;FLD(r,13)=x2;FLD(r,14)=x3;FLD(r,15)=x4;FLD(r,16)=x5;FLD(r,17)=x69;}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AGlobSig4SigAna_5(OBJ x1) /* structPos */
{OBJ r;
 r=_AGlobSig_54(x1);
 return r;}

extern OBJ _AGlobSig4SigAna_6(OBJ x1) /* formParamS */
{OBJ r;
 CPCLS(__AGlobSig_93,1);
 {OBJ x2;
  x2=_AGlobSig_57(x1);
  r=_ASeqMap_3(__AGlobSig_93,x2);}
 return r;}

extern OBJ _AGlobSig4SigAna_7(OBJ x1,OBJ x2,OBJ x3) /* defSignFormParams */
{OBJ r;
 CPCLS(__AGlobSig_92,1);
 COPY(x1,8);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x63;OBJ x64;OBJ x65;OBJ x138;
  x4=_ASeqMap_3(__AGlobSig_92,x3);
  x5=_AGlobSig_56(x1);
  x6=_AGlobSig_55(x1);
  x7=_AGlobSig_54(x1);
  x8=_AGlobSig_53(x1);
  x63=_AGlobSig_52(x1);
  x64=_AGlobSig_51(x1);
  x65=_AGlobSig_50(x1);
  x138=_AGlobSig_46(x1);
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x145;OBJ x146;OBJ x147;OBJ x151;OBJ x152;OBJ x153;OBJ x154;
    if(EXPRD(x1,1)){
     RPRD(x1,r);FRPRD(FLD(r,1),1);FLD(r,1)=x2;FREE(FLD(r,2),1);FLD(r,2)=x4;FRPRD(FLD(r,3),1);FLD(r,3)=x5;FRPRD(FLD(r,4),1);FLD(r,4)=x6;FREE(FLD(r,5),1);FLD(r,5)=x7;FREE(FLD(r,6),1);FLD(r,6)=x8;FRPRD(FLD(r,10),1);FLD(r,10)=x63;FREE(FLD(r,11),1);FLD(r,11)=x64;FREE(FLD(r,12),1);FLD(r,12)=x65;FREE(FLD(r,17),1);FLD(r,17)=x138;
    }else{
     x145=FLD(x1,7);x146=FLD(x1,8);x147=FLD(x1,9);x151=FLD(x1,13);x152=FLD(x1,14);x153=FLD(x1,15);x154=FLD(x1,16);CPPRD(x145,1);CPPRD(x146,1);CPPRD(x147,1);CPPRD(x151,1);CPPRD(x152,1);CPPRD(x153,1);CPPRD(x154,1);
     FRPRD(x1,1);PRD(17,1,r);FLD(r,1)=x2;FLD(r,2)=x4;FLD(r,3)=x5;FLD(r,4)=x6;FLD(r,5)=x7;FLD(r,6)=x8;FLD(r,7)=x145;FLD(r,8)=x146;FLD(r,9)=x147;FLD(r,10)=x63;FLD(r,11)=x64;FLD(r,12)=x65;FLD(r,13)=x151;FLD(r,14)=x152;FLD(r,15)=x153;FLD(r,16)=x154;FLD(r,17)=x138;}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AGlobSig4SigAna_8(OBJ x1) /* getSignFormParams */
{OBJ r;
 CPCLS(__AGlobSig_94,1);
 {OBJ x2;
  x2=_AGlobSig_57(x1);
  r=_ASeqMap_3(__AGlobSig_94,x2);}
 return r;}

extern OBJ _AGlobSig4SigAna_9(OBJ x1,OBJ x2) /* initAdmInfo */
{OBJ r;
 CPPRD(__ATable_10,1);
 r=_AGlobSig_85(x1,__ATable_10);
 return r;}

extern OBJ _AGlobSig4SigAna_10(OBJ x1) /* instsComplete */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AGlobSig4SigAna_11(OBJ x1) /* declsComplete */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AGlobSig4SigAna_12(OBJ x1) /* sortInstPNEOnlyComplete */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AGlobSig4SigAna_13(OBJ x1) /* finitSigAna */
{OBJ r;
 COPY(x1,10);
 {OBJ x38;OBJ x75;OBJ x76;OBJ x77;OBJ x78;OBJ x79;OBJ x80;OBJ x81;OBJ x82;OBJ x83;
  x38=_AGlobSig_58(x1);
  x75=_AGlobSig_57(x1);
  x76=_AGlobSig_56(x1);
  x77=_AGlobSig_55(x1);
  x78=_AGlobSig_54(x1);
  x79=_AGlobSig_53(x1);
  x80=_AGlobSig_52(x1);
  x81=_AGlobSig_51(x1);
  x82=_AGlobSig_50(x1);
  x83=_AGlobSig_46(x1);
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x113=FLD(x1,13);OBJ x114=FLD(x1,14);OBJ x115=FLD(x1,15);OBJ x116=FLD(x1,16);
    CPPRD(x113,1);CPPRD(x114,1);CPPRD(x115,2);CPPRD(x116,1);
    CPPRD(x1,1);
    CPPRD(x38,1);
    CPCLS(__AGlobSig4SigAna_28,1);
    {OBJ x118;OBJ x119;OBJ x120;OBJ x123;OBJ x126;OBJ x134;
     x118=_ARep_24(x38,x115);
     PRD1(1,x119);FLD1(x119,1)=x115;
     x120=_AGlobSig4SigAna_26(x1,x113,x119,__AGlobSig4SigAna_28);
     if(ISPRM(x120)){
      HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
     }else{
      {OBJ x121=FLD1(x120,1);
       if(EXPRD(x120,1)){
	x123=x121;
	FREE(FLD1(x120,2),1);DSPRDF(x120);
       }else{
	COPY(x121,1);
	x123=x121;
	FRPRD(x120,1);}}}
     if(ISPRM(x123)){
      HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
     }else{
      {OBJ x124=FLD1(x123,1);
       if(EXPRD(x123,1)){
	x126=x124;
	FREE(FLD1(x123,2),1);DSPRDF(x123);
       }else{
	COPY(x124,1);
	x126=x124;
	FRPRD(x123,1);}}}
     if(ISTGPRM(x118,1)){
      if(EXPRD(x1,1)){
       DSPRD(x1);
      }else{
       DCPRD(x1,1);}
      FRPRD(x114,1);
      FRPRD(x116,1);
      COPY(__AGlobSig_104,1);
      x134=__AName_29;
     }else{
      CPCLS(__AGlobSig4SigAna_28,1);
      {OBJ x127;OBJ x128;OBJ x131;
       PRD1(1,x127);FLD1(x127,1)=x116;
       x128=_AGlobSig4SigAna_26(x1,x114,x127,__AGlobSig4SigAna_28);
       if(ISPRM(x128)){
	HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
       }else{
	{OBJ x129=FLD1(x128,1);
	 if(EXPRD(x128,1)){
	  x131=x129;
	  FREE(FLD1(x128,2),1);DSPRDF(x128);
	 }else{
	  COPY(x129,1);
	  x131=x129;
	  FRPRD(x128,1);}}}
       if(ISPRM(x131)){
	HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
       }else{
	{OBJ x132=FLD1(x131,1);
	 if(EXPRD(x131,1)){
	  x134=x132;
	  FREE(FLD1(x131,2),1);DSPRDF(x131);
	 }else{
	  COPY(x132,1);
	  x134=x132;
	  FRPRD(x131,1);}
	 COPY(__AGlobSig_104,1);}}}}
     PRD(14,2,r);FLD(r,1)=x38;FLD(r,2)=x75;FLD(r,3)=x76;FLD(r,4)=x77;FLD(r,5)=x78;FLD(r,6)=x79;FLD(r,7)=x80;FLD(r,8)=x81;FLD(r,9)=x82;FLD(r,10)=x126;FLD(r,11)=x134;FLD(r,12)=__ATree_7;FLD(r,13)=x83;FLD(r,14)=__AGlobSig_104;}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection boolR\'GlobSig:globSig->rep");}}
 return r;}

extern TUP2 _AGlobSig4SigAna_14(OBJ x1,OBJ x2) /* treatSortPNS */
{TUP2 r;
 COPY(x2,1);
 {OBJ x3;
  PRD1(2,x3);FLD1(x3,1)=x2;FLD1(x3,2)=__ABUILTIN_5;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   {OBJ x10=FLD(x2,7);
    if(EXPRD(x2,1)){
     FLD(x2,7)=NIL;DSPRD(x2);
    }else{
     CPPRD(x10,1);
     FRPRD(x2,1);}
    CPCLS(__AGlobSig4SigAna_59,1);
    CPCLS(__APartNameEntry_54,1);
    {OBJ x21;OBJ x22;OBJ x23;
     x21=x10;
     x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_59,1))(__AGlobSig4SigAna_59,x1);
     x23=_AUniqueTableReduce_4(__APartNameEntry_54,x22,x3,x21);
     r=_APair_8(x23);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}
extern OBJ _AGlobSig4SigAna_14_c(OBJ x1,OBJ x2) /* treatSortPNS */
{OBJ r;
 {TUP2 t=_AGlobSig4SigAna_14(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AGlobSig4SigAna_15(OBJ x1,OBJ x2) /* treatInstPNS */
{TUP2 r;
 COPY(x2,1);
 {OBJ x3;
  PRD1(2,x3);FLD1(x3,1)=x2;FLD1(x3,2)=__ABUILTIN_5;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   {OBJ x11=FLD(x2,8);
    if(EXPRD(x2,1)){
     FLD(x2,8)=NIL;DSPRD(x2);
    }else{
     CPPRD(x11,1);
     FRPRD(x2,1);}
    CPCLS(__AGlobSig4SigAna_60,1);
    CPCLS(__APartNameEntry_55,1);
    {OBJ x21;OBJ x22;OBJ x23;
     x21=x11;
     x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_60,1))(__AGlobSig4SigAna_60,x1);
     x23=_AUniqueTableReduce_4(__APartNameEntry_55,x22,x3,x21);
     r=_APair_8(x23);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}
extern OBJ _AGlobSig4SigAna_15_c(OBJ x1,OBJ x2) /* treatInstPNS */
{OBJ r;
 {TUP2 t=_AGlobSig4SigAna_15(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AGlobSig4SigAna_16(OBJ x1,OBJ x2) /* treatOnlyPNS */
{TUP2 r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  {OBJ x11=FLD(x2,9);
   CPPRD(x11,1);
   CPCLS(__AGlobSig4SigAna_62,1);
   {OBJ x20;OBJ x21;OBJ x22;OBJ x23;TUP3 x25;
    x20=x11;
    CPPRD(x20,1);
    PRD1(3,x21);FLD1(x21,1)=x2;FLD1(x21,2)=x20;FLD1(x21,3)=__ABUILTIN_5;
    x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_62,1))(__AGlobSig4SigAna_62,x1);
    x23=_ADArrayReduce_6(x22,x21,x20);
    x25=_ATriple_10(x23);r.c2=x25.c3;
    r.c1=_AGlobSig_84(x25.c1,x25.c2);}}
 }else{
  HLT("GlobSig at <unknown> : undefined selection onlyPartNames\'GlobSig:globSig->table");}
 return r;}
extern OBJ _AGlobSig4SigAna_16_c(OBJ x1,OBJ x2) /* treatOnlyPNS */
{OBJ r;
 {TUP2 t=_AGlobSig4SigAna_16(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AGlobSig4SigAna_17(OBJ x1,OBJ x2) /* treatParamPNS */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_29,1);
 COPY(x2,3);
 {OBJ x3;OBJ x4;OBJ x5;OBJ x6;TUP2 x8;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x69;OBJ x142;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_29,1))(__AGlobSig4SigAna_29,x1);
  x4=_AGlobSig_57(x2);
  x5=_AGlobSig_51(x2);
  x6=_AGlobSig_50(x2);
  x8=_ASeqMapEnv_4(x3,x2,x4);
  COPY(x8.c1,7);
  x10=_AGlobSig_58(x8.c1);
  x11=_AGlobSig_56(x8.c1);
  x12=_AGlobSig_55(x8.c1);
  x13=_AGlobSig_54(x8.c1);
  x14=_AGlobSig_53(x8.c1);
  x69=_AGlobSig_52(x8.c1);
  x142=_AGlobSig_46(x8.c1);
  if(ISPRD(x8.c1)&&(ISTGPRD(x8.c1,1))){
   {OBJ x149;OBJ x150;OBJ x151;OBJ x155;OBJ x156;OBJ x157;OBJ x158;
    if(EXPRD(x8.c1,1)){
     RPRD(x8.c1,r);FRPRD(FLD(r,1),1);FLD(r,1)=x10;FREE(FLD(r,2),1);FLD(r,2)=x8.c2;FRPRD(FLD(r,3),1);FLD(r,3)=x11;FRPRD(FLD(r,4),1);FLD(r,4)=x12;FREE(FLD(r,5),1);FLD(r,5)=x13;FREE(FLD(r,6),1);FLD(r,6)=x14;FRPRD(FLD(r,10),1);FLD(r,10)=x69;FREE(FLD(r,11),1);FLD(r,11)=x5;FREE(FLD(r,12),1);FLD(r,12)=x6;FREE(FLD(r,17),1);FLD(r,17)=x142;
    }else{
     x149=FLD(x8.c1,7);x150=FLD(x8.c1,8);x151=FLD(x8.c1,9);x155=FLD(x8.c1,13);x156=FLD(x8.c1,14);x157=FLD(x8.c1,15);x158=FLD(x8.c1,16);CPPRD(x149,1);CPPRD(x150,1);CPPRD(x151,1);CPPRD(x155,1);CPPRD(x156,1);CPPRD(x157,1);CPPRD(x158,1);
     FRPRD(x8.c1,1);PRD(17,1,r);FLD(r,1)=x10;FLD(r,2)=x8.c2;FLD(r,3)=x11;FLD(r,4)=x12;FLD(r,5)=x13;FLD(r,6)=x14;FLD(r,7)=x149;FLD(r,8)=x150;FLD(r,9)=x151;FLD(r,10)=x69;FLD(r,11)=x5;FLD(r,12)=x6;FLD(r,13)=x155;FLD(r,14)=x156;FLD(r,15)=x157;FLD(r,16)=x158;FLD(r,17)=x142;}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AGlobSig4SigAna_18(OBJ x1,OBJ x2,OBJ x3) /* treatDeclS */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_64,1);
 COPY(x2,1);
 {OBJ x4;OBJ x5;OBJ x6;
  PRD1(2,x4);FLD1(x4,1)=x2;FLD1(x4,2)=x3;
  x5=_AGlobSig_56(x2);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_64,1))(__AGlobSig4SigAna_64,x1);
  r=_ATableFun2_4(x6,x4,x5);}
 return r;}

extern OBJ _AGlobSig4SigAna_19(OBJ x1,OBJ x2,OBJ x3) /* treatInstS */
{OBJ r;
 COPY(x2,1);
 {OBJ x4;
  x4=_AGlobSig_55(x2);
  r=_AGlobSig4SigAna_33(x4,x1,x2,x3);}
 return r;}

extern OBJ _AGlobSig4SigAna_20(OBJ x1,OBJ x2) /* treatInstS,1 */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_30,1);
 COPY(x1,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_30,1))(__AGlobSig4SigAna_30,x2);
  x4=_AGlobSig_55(x1);
  r=_ADArrayReduce_6(x3,x1,x4);}
 return r;}

extern OBJ _AGlobSig4SigAna_21(OBJ x1,OBJ x2) /* treatEachInst */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_31,1);
 COPY(x1,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_31,1))(__AGlobSig4SigAna_31,x2);
  x4=_AGlobSig_55(x1);
  r=_ADArrayReduce_6(x3,x1,x4);}
 return r;}

extern OBJ _AGlobSig4SigAna_22(OBJ x1,OBJ x2,OBJ x3) /* treatOnlyS */
{OBJ r;
 COPY(x2,1);
 {OBJ x4;
  PRD1(2,x4);FLD1(x4,1)=x2;FLD1(x4,2)=x3;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   {OBJ x13=FLD(x2,9);
    if(EXPRD(x2,1)){
     FLD(x2,9)=NIL;DSPRD(x2);
    }else{
     CPPRD(x13,1);
     FRPRD(x2,1);}
    CPCLS(__AGlobSig4SigAna_72,1);
    {OBJ x22;OBJ x23;
     x22=x13;
     x23=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_72,1))(__AGlobSig4SigAna_72,x1);
     r=_ATableFun2_4(x23,x4,x22);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection onlyPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AGlobSig4SigAna_23(OBJ x1,OBJ x2) /* treatOpDeclS */
{OBJ r;
 COPY(x2,1);
 {OBJ x3;TUP2 x5;
  x3=_AGlobSig_52(x2);
  x5=_AGlobSig4SigAna_34(x3,x1,x2);
  r=_AGlobSig_85(x5.c1,x5.c2);}
 return r;}

extern OBJ _AGlobSig4SigAna_24(OBJ x1,OBJ x2) /* treatInstAppls */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_75,1);
 COPY(x1,1);
 {OBJ x3;OBJ x4;OBJ x5;
  x3=_AGlobSig_55(x1);
  CPPRD(x3,1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_75,1))(__AGlobSig4SigAna_75,x2);
  x5=_ADArrayReduce_6(x4,x3,x3);
  r=_AGlobSig_81(x1,x5);}
 return r;}

extern OBJ _AGlobSig4SigAna_25(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchByIdeOrig */
{OBJ r;
 COPY(x1,1);
 {OBJ x9;
  x9=_AGlobSig_52(x1);
  {OBJ x5=FLD1(x2,1);
   CPCLS(__AGlobSig4SigAna_77,1);
   {OBJ x8;OBJ x10;OBJ x11;OBJ x12;
    x8=x5;
    x10=_ADArray_21(x9,x8);
    COPY(x10,1);
    x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_77,3))(__AGlobSig4SigAna_77,x2,x8,x10);
    x12=_ADEBUG_2(__AGlobSig4SigAna_35,x11,x10);
    if(ISPRM(x12)){
     FREE(x1,1);
     FREE(x3,1);
     FRCLS(x4,1);
     CPCLS(__AGlobSig4SigAna_81,1);
     r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_81,1))(__AGlobSig4SigAna_81,__ABUILTIN_20);
    }else{
     {OBJ x129=FLD1(x12,1);
      if(EXPRD(x12,1)){
       DSPRDF(x12);
      }else{
       CPPRD(x129,1);
       FRPRD(x12,1);}
      if(ISPRM(x3)){
       CPCLS(__AGlobSig4SigAna_41,1);
       {OBJ x161;
	x161=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x1,x4);
	{OBJ x163=FLD1(x129,2);OBJ x164=FLD1(x129,3);OBJ x165=FLD1(x129,4);OBJ x166=FLD1(x129,5);
	 if(EXPRD(x129,1)){
	  FREE(FLD1(x129,1),1);DSPRDF(x129);
	 }else{
	  COPY(x163,1);COPY(x164,1);COPY(x165,1);COPY(x166,1);
	  FRPRD(x129,1);}
	 CPCLS(__AGlobSig4SigAna_37,1);
	 {OBJ x167;OBJ x168;OBJ x169;OBJ x170;
	  x167=_AGlobSig4SigAna_36(__AGlobSig4SigAna_37,x165,x166);
	  x168=_ASeq_26(x163,x164);
	  x169=_ASeqReduce_3(x161,__ASeq_6,x167);
	  x170=_AGlobSig4SigAna_39(x168);
	  r=_ASeq_26(x170,x169);}}}
      }else{
       {OBJ x171=FLD1(x3,1);
	if(EXPRD(x3,1)){
	 CPPRD(x171,1);
	 DSPRDF(x3);
	}else{
	 CPPRD(x171,2);
	 FRPRD(x3,1);}
	COPY(x1,1);
	{OBJ x172;OBJ x173;
	 x172=_AGlobSig_58(x1);
	 x173=_ARep_24(x171,x172);
	 if(ISTGPRM(x173,1)){
	  FREE(x1,1);
	  FRCLS(x4,1);
	  FRPRD(x171,1);
	  {OBJ x175=FLD1(x129,2);OBJ x176=FLD1(x129,3);
	   if(EXPRD(x129,1)){
	    FLD1(x129,2)=NIL;FLD1(x129,3)=NIL;DSPRD(x129);
	   }else{
	    COPY(x175,1);COPY(x176,1);
	    FRPRD(x129,1);}
	   {OBJ x179;
	    x179=_ASeq_26(x175,x176);
	    r=_AGlobSig4SigAna_39(x179);}}
	 }else{
	  COPY(x1,1);
	  CPCLS(__AGlobSig4SigAna_38,1);
	  CPCLS(__AGlobSig4SigAna_41,1);
	  {OBJ x180;OBJ x181;
	   x180=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x1,x4);
	   x181=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_38,2))(__AGlobSig4SigAna_38,x1,x171);
	   {OBJ x185=FLD1(x129,4);OBJ x186=FLD1(x129,5);
	    if(EXPRD(x129,1)){
	     FLD1(x129,4)=NIL;FLD1(x129,5)=NIL;DSPRD(x129);
	    }else{
	     COPY(x185,1);COPY(x186,1);
	     FRPRD(x129,1);}
	    CPCLS(__AGlobSig4SigAna_37,1);
	    {OBJ x187;OBJ x188;
	     x187=_AGlobSig4SigAna_36(__AGlobSig4SigAna_37,x185,x186);
	     x188=_ASeqFilter_2(x181,x187);
	     r=_ASeqReduce_3(x180,__ASeq_6,x188);}}}}}}}}}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_26(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchSortByIdeOrig */
{OBJ r;
 COPY(x1,1);
 {OBJ x9;
  x9=_AGlobSig_52(x1);
  {OBJ x5=FLD1(x2,1);
   COPY(x3,1);
   CPCLS(__AGlobSig4SigAna_53,1);
   {OBJ x8;OBJ x10;OBJ x11;OBJ x12;
    x8=x5;
    x10=_ADArray_21(x9,x8);
    COPY(x10,1);
    x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_53,4))(__AGlobSig4SigAna_53,x2,x3,x8,x10);
    x12=_ADEBUG_2(__AGlobSig4SigAna_35,x11,x10);
    if(ISPRM(x12)){
     FREE(x1,1);
     FREE(x3,1);
     FRCLS(x4,1);
     CPCLS(__AGlobSig4SigAna_58,1);
     r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_58,1))(__AGlobSig4SigAna_58,__ABUILTIN_20);
    }else{
     {OBJ x85=FLD1(x12,1);
      if(EXPRD(x12,1)){
       DSPRDF(x12);
      }else{
       CPPRD(x85,1);
       FRPRD(x12,1);}
      if(ISPRM(x3)){
       CPCLS(__AGlobSig4SigAna_41,1);
       {OBJ x113;
	x113=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x1,x4);
	{OBJ x115=FLD1(x85,2);OBJ x117=FLD1(x85,4);
	 if(EXPRD(x85,1)){
	  FLD1(x85,2)=NIL;FLD1(x85,4)=NIL;DSPRD(x85);
	 }else{
	  COPY(x115,1);COPY(x117,1);
	  FRPRD(x85,1);}
	 {OBJ x119;OBJ x120;
	  x119=_ASeqReduce_3(x113,__ASeq_6,x117);
	  x120=_AGlobSig4SigAna_39(x115);
	  r=_ASeq_26(x120,x119);}}}
      }else{
       {OBJ x121=FLD1(x3,1);
	if(EXPRD(x3,1)){
	 CPPRD(x121,1);
	 DSPRDF(x3);
	}else{
	 CPPRD(x121,2);
	 FRPRD(x3,1);}
	COPY(x1,1);
	{OBJ x122;OBJ x123;
	 x122=_AGlobSig_58(x1);
	 x123=_ARep_24(x121,x122);
	 if(ISTGPRM(x123,1)){
	  FREE(x1,1);
	  FRCLS(x4,1);
	  FRPRD(x121,1);
	  {OBJ x125=FLD1(x85,2);
	   if(EXPRD(x85,1)){
	    FLD1(x85,2)=NIL;DSPRD(x85);
	   }else{
	    COPY(x125,1);
	    FRPRD(x85,1);}
	   r=_AGlobSig4SigAna_39(x125);}
	 }else{
	  COPY(x1,1);
	  CPCLS(__AGlobSig4SigAna_38,1);
	  CPCLS(__AGlobSig4SigAna_41,1);
	  {OBJ x129;OBJ x130;
	   x129=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x1,x4);
	   x130=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_38,2))(__AGlobSig4SigAna_38,x1,x121);
	   {OBJ x134=FLD1(x85,4);
	    if(EXPRD(x85,1)){
	     FLD1(x85,4)=NIL;DSPRD(x85);
	    }else{
	     COPY(x134,1);
	     FRPRD(x85,1);}
	    {OBJ x136;
	     x136=_ASeqFilter_2(x130,x134);
	     r=_ASeqReduce_3(x129,__ASeq_6,x136);}}}}}}}}}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_27(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchOpByIdeOrig */
{OBJ r;
 COPY(x1,1);
 {OBJ x9;
  x9=_AGlobSig_52(x1);
  {OBJ x5=FLD1(x2,1);
   CPCLS(__AGlobSig4SigAna_83,1);
   {OBJ x8;OBJ x10;OBJ x11;OBJ x12;
    x8=x5;
    x10=_ADArray_21(x9,x8);
    COPY(x10,1);
    x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_83,3))(__AGlobSig4SigAna_83,x2,x8,x10);
    x12=_ADEBUG_2(__AGlobSig4SigAna_35,x11,x10);
    if(ISPRM(x12)){
     FREE(x1,1);
     FREE(x3,1);
     FRCLS(x4,1);
     CPCLS(__AGlobSig4SigAna_87,1);
     r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_87,1))(__AGlobSig4SigAna_87,__ABUILTIN_20);
    }else{
     {OBJ x85=FLD1(x12,1);
      if(EXPRD(x12,1)){
       DSPRDF(x12);
      }else{
       CPPRD(x85,1);
       FRPRD(x12,1);}
      if(ISPRM(x3)){
       CPCLS(__AGlobSig4SigAna_41,1);
       {OBJ x113;
	x113=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x1,x4);
	{OBJ x116=FLD1(x85,3);OBJ x118=FLD1(x85,5);
	 if(EXPRD(x85,1)){
	  FLD1(x85,3)=NIL;FLD1(x85,5)=NIL;DSPRD(x85);
	 }else{
	  COPY(x116,1);COPY(x118,1);
	  FRPRD(x85,1);}
	 {OBJ x119;OBJ x120;
	  x119=_ASeqReduce_3(x113,__ASeq_6,x118);
	  x120=_AGlobSig4SigAna_39(x116);
	  r=_ASeq_26(x120,x119);}}}
      }else{
       {OBJ x121=FLD1(x3,1);
	if(EXPRD(x3,1)){
	 CPPRD(x121,1);
	 DSPRDF(x3);
	}else{
	 CPPRD(x121,2);
	 FRPRD(x3,1);}
	COPY(x1,1);
	{OBJ x122;OBJ x123;
	 x122=_AGlobSig_58(x1);
	 x123=_ARep_24(x121,x122);
	 if(ISTGPRM(x123,1)){
	  FREE(x1,1);
	  FRCLS(x4,1);
	  FRPRD(x121,1);
	  {OBJ x126=FLD1(x85,3);
	   if(EXPRD(x85,1)){
	    FLD1(x85,3)=NIL;DSPRD(x85);
	   }else{
	    COPY(x126,1);
	    FRPRD(x85,1);}
	   r=_AGlobSig4SigAna_39(x126);}
	 }else{
	  COPY(x1,1);
	  CPCLS(__AGlobSig4SigAna_38,1);
	  CPCLS(__AGlobSig4SigAna_41,1);
	  {OBJ x129;OBJ x130;
	   x129=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x1,x4);
	   x130=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_38,2))(__AGlobSig4SigAna_38,x1,x121);
	   {OBJ x135=FLD1(x85,5);
	    if(EXPRD(x85,1)){
	     FLD1(x85,5)=NIL;DSPRD(x85);
	    }else{
	     COPY(x135,1);
	     FRPRD(x85,1);}
	    {OBJ x136;
	     x136=_ASeqFilter_2(x130,x135);
	     r=_ASeqReduce_3(x129,__ASeq_6,x136);}}}}}}}}}}}}
 return r;}

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

extern TUP2 _AGlobSig4SigAna_29(OBJ x1,OBJ x2,OBJ x3) /* treatParam */
{TUP2 r;
 {OBJ x33=FLD1(x3,1);OBJ x34=FLD1(x3,2);OBJ x35=FLD1(x3,3);
  COPY(x33,1);COPY(x34,1);COPY(x35,1);
  if(ISPRM(x33)){
   FRCLS(x1,1);
   FREE(x34,1);
   FREE(x35,1);
   r.c1=x2;r.c2=x3;
  }else{
   {OBJ x36=FLD1(x33,1);FLAG x_x33=EXPRD(x33,1);
    if(x_x33){
    }else{
     CPPRD(x36,1);}
    if(EXPRD(x3,1)){
     DSPRD(x3);
    }else{
     DCPRD(x3,1);}
    {OBJ x39;OBJ x40;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x2,x36);
      r.c1=FLD1(t,1);
      x39=FLD1(t,2);
      DSPRDF(t);}
     if(x_x33){
      RSOME(x33,x40);FLD1(x40,1)=x39;
     }else{
      FRPRD(x33,1);PRD1(1,x40);FLD1(x40,1)=x39;}
     PRD1(3,r.c2);FLD1(r.c2,1)=x40;FLD1(r.c2,2)=x34;FLD1(r.c2,3)=x35;}}}}
 return r;}
extern OBJ _AGlobSig4SigAna_29_c(OBJ x1,OBJ x2,OBJ x3) /* treatParam */
{OBJ r;
 {TUP2 t=_AGlobSig4SigAna_29(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AGlobSig4SigAna_30(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* tIStruct */
{OBJ r;
 {OBJ x10;OBJ x15;
  if(ISTGPRD(x3,4)){
   x10=__ABUILTIN_5;
  }else{
   x10=__ABUILTIN_3;}
  if(ISTGPRM(x10,1)){
   x15=__ABUILTIN_5;
  }else{
   if(ISTGPRD(x3,3)){
    x15=__ABUILTIN_5;
   }else{
    x15=__ABUILTIN_3;}}
  if(ISTGPRM(x15,1)){
   CPCLS(__AGlobSig4SigAna_69,1);
   {OBJ x16;OBJ x17;
    x16=_AImpExpEntry_91(x3);
    CPPRD(x16,1);
    x17=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_69,3))(__AGlobSig4SigAna_69,x1,x2,x16);
    r=_ADArrayReduce_6(x17,x4,x16);}
  }else{
   FRCLS(x1,1);
   FRPRD(x3,1);
   r=x4;}}
 return r;}

extern OBJ _AGlobSig4SigAna_31(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* tEIStruct */
{OBJ r;
 {OBJ x10;OBJ x15;
  if(ISTGPRD(x3,4)){
   x10=__ABUILTIN_5;
  }else{
   x10=__ABUILTIN_3;}
  if(ISTGPRM(x10,1)){
   x15=__ABUILTIN_5;
  }else{
   if(ISTGPRD(x3,3)){
    x15=__ABUILTIN_5;
   }else{
    x15=__ABUILTIN_3;}}
  if(ISTGPRM(x15,1)){
   CPCLS(__AGlobSig4SigAna_32,1);
   {OBJ x16;OBJ x17;
    x16=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_32,2))(__AGlobSig4SigAna_32,x1,x2);
    x17=_AImpExpEntry_91(x3);
    r=_ADArrayReduce_6(x16,x4,x17);}
  }else{
   FRCLS(x1,1);
   FRPRD(x3,1);
   r=x4;}}
 return r;}

extern OBJ _AGlobSig4SigAna_32(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* tEIInst */
{OBJ r;
 FREE(x4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(x1,3))(x1,x2,x3,x5);
 return r;}

extern OBJ _AGlobSig4SigAna_33(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatInstSByStructs */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_67,1);
 {OBJ x5;OBJ x6;
  PRD1(2,x5);FLD1(x5,1)=x3;FLD1(x5,2)=x4;
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_67,1))(__AGlobSig4SigAna_67,x2);
  r=_ATableFun2_4(x6,x5,x1);}
 return r;}

extern TUP2 _AGlobSig4SigAna_34(OBJ x1,OBJ x2,OBJ x3) /* treatOpDeclByLookups */
{TUP2 r;
 CPCLS(__AGlobSig4SigAna_73,1);
 CPPRD(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;
  PRD1(2,x4);FLD1(x4,1)=x3;FLD1(x4,2)=x1;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_73,1))(__AGlobSig4SigAna_73,x2);
  x6=_ADArrayReduce_6(x5,x4,x1);
  r=_APair_8(x6);}
 return r;}
extern OBJ _AGlobSig4SigAna_34_c(OBJ x1,OBJ x2,OBJ x3) /* treatOpDeclByLookups */
{OBJ r;
 {TUP2 t=_AGlobSig4SigAna_34(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AGlobSig4SigAna_36(register OBJ x1,register OBJ x2,register OBJ x3) /* union */
{OBJ r;OBJ* p1=&r;
 for(;;){
  if(ISPRM(x2)){
   FRCLS(x1,1);
   *p1=x3;
  }else{
   {OBJ x70=FLD1(x2,1);OBJ x71=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
     CPPRD(x70,1);
    }else{
     CPPRD(x70,2);COPY(x71,1);}
    CPCLS(x1,1);
    COPY(x3,1);
    {OBJ x73;TUP2 x75;
     x73=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x70);
     x75=_ASeqFilter_8(x73,x3);
     if(ISPRM(x75.c2)){
      FREE(x75.c1,1);
      {
       if(x_x2){
	RSOME(x2,*p1);
       }else{
	FRPRD(x2,1);PRD1(2,*p1);FLD1(*p1,1)=x70;}
       x2=x71;p1=&FLD1(*p1,2);continue;}
     }else{
      {OBJ x78=FLD1(x75.c2,1);OBJ x79=FLD1(x75.c2,2);
       if(EXPRD(x75.c2,1)){
	if(x_x2){
	 DSPRDF(x2);
	}else{
	 FRPRD(x2,1);}
	DSPRDF(x75.c2);
       }else{
	CPPRD(x78,1);COPY(x79,1);
	if(x_x2){
	 DSPRDF(x2);
	}else{
	 FRPRD(x2,1);}
	FRPRD(x75.c2,1);}
       FREE(x3,1);
       {OBJ x81;
	x81=_ASeq_26(x75.c1,x79);
	{OBJ x82=FLD1(x70,1);OBJ x83=FLD1(x70,2);FLAG x_x70=EXPRD(x70,1);
	 if(x_x70){
	 }else{
	  COPY(x83,1);}
	 {OBJ x85=FLD1(x78,2);
	  if(EXPRD(x78,1)){
	   {OBJ x87;OBJ x86;OBJ x88;
	    x87=_ASeq_26(x83,x85);
	    x86=_AGlobSig4SigAna_36(x1,x71,x81);
	    if(x_x70){
	     RSOME(x70,x88);FLD1(x88,2)=x87;
	    }else{
	     FRPRD(x70,1);PRD1(2,x88);FLD1(x88,1)=x82;FLD1(x88,2)=x87;}
	    RSOME(x78,*p1);FLD1(*p1,1)=x88;FLD1(*p1,2)=x86;}
	  }else{
	   COPY(x85,1);
	   {OBJ x87;OBJ x86;OBJ x88;
	    x87=_ASeq_26(x83,x85);
	    x86=_AGlobSig4SigAna_36(x1,x71,x81);
	    if(x_x70){
	     RSOME(x70,x88);FLD1(x88,2)=x87;
	    }else{
	     FRPRD(x70,1);PRD1(2,x88);FLD1(x88,1)=x82;FLD1(x88,2)=x87;}
	    FRPRD(x78,1);PRD1(2,*p1);FLD1(*p1,1)=x88;FLD1(*p1,2)=x86;}}}}}}}}}}
  break;}
 return r;}

extern OBJ _AGlobSig4SigAna_37(OBJ x1,OBJ x2) /* unEqExtDecls */
{OBJ r;
 {OBJ x9=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   FRPRD(x1,1);}
  {OBJ x11=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FREE(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   {OBJ x13;
    x13=x11;
    ANat_77(x9,x13,r);}}}
 return r;}

extern OBJ _AGlobSig4SigAna_38(OBJ x1,OBJ x2,OBJ x3) /* eqStruct */
{OBJ r;
 {OBJ x8;
  x8=_AGlobSig_52(x1);
  {OBJ x4=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   {OBJ x7;OBJ x9;
    x7=x4;
    x9=_ADArray_21(x8,x7);
    if(ISPRM(x9)){
     FRPRD(x3,1);
     r=__ABUILTIN_3;
    }else{
     {OBJ x38=FLD1(x9,1);
      if(EXPRD(x9,1)){
       DSPRDF(x9);
      }else{
       CPPRD(x38,1);
       FRPRD(x9,1);}
      {OBJ x39=FLD1(x38,1);
       if(EXPRD(x38,1)){
	FLD1(x38,1)=NIL;DSPRD(x38);
       }else{
	COPY(x39,1);
	FRPRD(x38,1);}
       if(ISPRM(x39)){
	FRPRD(x3,1);
	r=__ABUILTIN_3;
       }else{
	{OBJ x44=FLD1(x39,1);
	 if(EXPRD(x39,1)){
	  DSPRDF(x39);
	 }else{
	  FRPRD(x39,1);}
	 {OBJ x45=FLD1(x3,1);
	  if(EXPRD(x3,1)){
	   FREE(FLD1(x3,2),1);DSPRDF(x3);
	  }else{
	   FRPRD(x3,1);}
	  ANat_76(x44,x45,r);}}}}}}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_39(OBJ x1) /* convIntDecls */
{OBJ r;
 if(ISPRM(x1)){
  r=__ASeq_6;
 }else{
  CPPRD(__AName_26,1);
  {
   PRD1(2,r);FLD1(r,2)=__ASeq_6;
   FLD1(r,1)=_ASeqMap_3(__AName_26,x1);}}
 return r;}

extern OBJ _AGlobSig4SigAna_40(OBJ x1,OBJ x2,OBJ x3) /* convExtDecls */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_41,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_41,2))(__AGlobSig4SigAna_41,x2,x1);
  r=_ASeqReduce_3(x4,__ASeq_6,x3);}
 return r;}

extern OBJ _AGlobSig4SigAna_41(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convExtDecl */
{OBJ r;
 {OBJ x8;
  x8=_AGlobSig_55(x1);
  {OBJ x20=FLD1(x3,1);OBJ x21=FLD1(x3,2);FLAG x_x3=EXPRD(x3,1);
   if(x_x3){
   }else{
    COPY(x21,1);}
   CPCLS(__AGlobSig4SigAna_42,1);
   {OBJ x22;OBJ x23;OBJ x24;
    x22=_ADArray_20(x8,x20);
    x23=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_42,3))(__AGlobSig4SigAna_42,x2,x20,x22);
    x24=_ASeqReduce_3(x23,__ASeq_6,x21);
    if(ISPRM(x24)){
     if(x_x3){
      DSPRDF(x3);
     }else{
      FRPRD(x3,1);}
     r=x4;
    }else{
     if(x_x3){
      RSOME(x3,r);FLD1(r,1)=x24;FLD1(r,2)=x4;
     }else{
      FRPRD(x3,1);PRD1(2,r);FLD1(r,1)=x24;FLD1(r,2)=x4;}}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_42(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* mkNames */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_43,1);
 CPCLS(__AGlobSig4SigAna_47,1);
 CPCLS(__AGlobSig4SigAna_49,1);
 CPCLS(__AImpExpEntry_6,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;OBJ x16;
  x6=_AImpExpEntry_92(x3);
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_43,2))(__AGlobSig4SigAna_43,x2,x4);
  x8=_ADArray_20(x6,x4);
  x9=_AImpExpEntry_10(x8);
  COPY(x9,1);
  x10=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_47,3))(__AGlobSig4SigAna_47,x2,x4,x9);
  x11=_ADEBUG_2(__AGlobSig4SigAna_35,x10,x9);
  x12=_ASeqFilter_2(x1,x11);
  x13=_ASeqMap_3(__AImpExpEntry_6,x12);
  COPY(x13,1);
  x14=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_49,3))(__AGlobSig4SigAna_49,x2,x4,x13);
  x15=_ADEBUG_2(__AGlobSig4SigAna_35,x14,x13);
  x16=_ASeqMap_3(x7,x15);
  r=_ASeq_26(x16,x5);}
 return r;}

extern OBJ _AGlobSig4SigAna_43(OBJ x1,OBJ x2,OBJ x3) /* mkName */
{OBJ r;
 PRDF(3,2,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AGlobSig4SigAna_44(OBJ x1,OBJ x2) /* extStructHead'44 */
{OBJ r;
 {OBJ x15=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   CPPRD(x15,1);
   FRPRD(x1,1);}
  {OBJ x27;OBJ x28;
   if(EXPRD(x2,1)){
    {OBJ x29;
     PRD1(1,x29);FLD1(x29,1)=x15;
     RSOME(x2,r);FREE(FLD1(r,1),1);FLD1(r,1)=x29;}
   }else{
    x27=FLD1(x2,2);x28=FLD1(x2,3);COPY(x27,1);COPY(x28,1);
    {OBJ x29;
     PRD1(1,x29);FLD1(x29,1)=x15;
     FRPRD(x2,1);PRD1(3,r);FLD1(r,1)=x29;FLD1(r,2)=x27;FLD1(r,3)=x28;}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_47(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* mkNames'47 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_45,1);
 CPPRD(__AGlobSig4SigAna_46,1);
 CPCLS(__AObjects_14,1);
 CPCLS(__AImpExpEntry_6,1);
 CPCLS(__ANatConv_1,1);
 CPPRD(__ASeqConv_8,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;
  ANatConv_1(x1,x5);
  ANatConv_1(x2,x6);
  x7=_ASeqMap_3(__AImpExpEntry_6,x3);
  x8=_ASeqMap_3(__AObjects_14,x7);
  x9=_ASeqConv_2(__ANatConv_1,x8);
  ADenotation_4(__AGlobSig4SigAna_45,x9,x10);
  ADenotation_4(x6,x10,x11);
  ADenotation_4(__ASeqConv_8,x11,x12);
  ADenotation_4(x5,x12,x13);
  ADenotation_4(__AGlobSig4SigAna_46,x13,r);}
 return r;}

extern OBJ _AGlobSig4SigAna_49(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* mkNames'49 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_46,1);
 CPPRD(__AGlobSig4SigAna_48,1);
 CPCLS(__AObjects_14,1);
 CPCLS(__ANatConv_1,1);
 CPPRD(__ASeqConv_8,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;
  ANatConv_1(x1,x5);
  ANatConv_1(x2,x6);
  x7=_ASeqMap_3(__AObjects_14,x3);
  x8=_ASeqConv_2(__ANatConv_1,x7);
  ADenotation_4(__AGlobSig4SigAna_48,x8,x9);
  ADenotation_4(x6,x9,x10);
  ADenotation_4(__ASeqConv_8,x10,x11);
  ADenotation_4(x5,x11,x12);
  ADenotation_4(__AGlobSig4SigAna_46,x12,r);}
 return r;}

extern OBJ _AGlobSig4SigAna_53(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* matchSortByIdeOrig'53 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_50,1);
 CPPRD(__AGlobSig4SigAna_51,1);
 CPPRD(__AGlobSig4SigAna_52,1);
 CPCLS(__ARep_119,1);
 CPCLS(__AGlobSigToText_2,1);
 CPPRD(__ASeqConv_9,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;
  x6=_ARep_119(x1);
  x7=_AOptionConv_2(__ARep_119,x2);
  ANatConv_1(x3,x8);
  x9=_AOptionConv_2(__AGlobSigToText_2,x4);
  ADenotation_4(__ASeqConv_9,x9,x10);
  ADenotation_4(x7,x10,x11);
  ADenotation_4(__AGlobSig4SigAna_50,x11,x12);
  ADenotation_4(x8,x12,x13);
  ADenotation_4(__AGlobSig4SigAna_51,x13,x14);
  ADenotation_4(x6,x14,x15);
  ADenotation_4(__AGlobSig4SigAna_52,x15,r);}
 return r;}

extern OBJ _AGlobSig4SigAna_55(OBJ x1) /* matchSortByIdeOrig'55 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_54,1);
 r=_ADEBUG_10(__AGlobSig4SigAna_54);
 return r;}

extern OBJ _AGlobSig4SigAna_57(OBJ x1) /* matchSortByIdeOrig'57 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_56,1);
 r=__AGlobSig4SigAna_56;
 return r;}

extern OBJ _AGlobSig4SigAna_58(OBJ x1) /* matchSortByIdeOrig'58 */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_55,1);
 CPCLS(__AGlobSig4SigAna_57,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_55,1))(__AGlobSig4SigAna_55,__ABUILTIN_20);
  r=_ADEBUG_2(x2,__AGlobSig4SigAna_57,__ASeq_6);}
 return r;}

extern OBJ _AGlobSig4SigAna_59(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatSortPNS'59 */
{OBJ r;
 COPY(__AOcPos_35,1);
 FRPRD(x3,1);
 {OBJ x8;
  PRD1(2,x8);FLD1(x8,1)=x2;FLD1(x8,2)=__AOcPos_35;
  {OBJ x16=FLD1(x4,1);OBJ x17=FLD1(x4,2);
   if(EXPRD(x4,1)){
    {OBJ x19;OBJ x20;OBJ x21;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x16,x8);
      x19=FLD1(t,1);
      x20=FLD1(t,2);
      DSPRDF(t);}
     if(ISTGPRM(x17,1)){
      x21=x20;
     }else{
      x21=__ABUILTIN_3;}
     RSOME(x4,r);FLD1(r,1)=x19;FLD1(r,2)=x21;}
   }else{
    COPY(x16,1);
    {OBJ x19;OBJ x20;OBJ x21;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x16,x8);
      x19=FLD1(t,1);
      x20=FLD1(t,2);
      DSPRDF(t);}
     if(ISTGPRM(x17,1)){
      x21=x20;
     }else{
      x21=__ABUILTIN_3;}
     FRPRD(x4,1);PRD1(2,r);FLD1(r,1)=x19;FLD1(r,2)=x21;}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_60(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatInstPNS'60 */
{OBJ r;
 COPY(__AOcPos_35,1);
 FRPRD(x3,1);
 {OBJ x8;
  PRD1(2,x8);FLD1(x8,1)=x2;FLD1(x8,2)=__AOcPos_35;
  {OBJ x16=FLD1(x4,1);OBJ x17=FLD1(x4,2);
   if(EXPRD(x4,1)){
    {OBJ x19;OBJ x20;OBJ x21;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x16,x8);
      x19=FLD1(t,1);
      x20=FLD1(t,2);
      DSPRDF(t);}
     if(ISTGPRM(x17,1)){
      x21=x20;
     }else{
      x21=__ABUILTIN_3;}
     RSOME(x4,r);FLD1(r,1)=x19;FLD1(r,2)=x21;}
   }else{
    COPY(x16,1);
    {OBJ x19;OBJ x20;OBJ x21;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x16,x8);
      x19=FLD1(t,1);
      x20=FLD1(t,2);
      DSPRDF(t);}
     if(ISTGPRM(x17,1)){
      x21=x20;
     }else{
      x21=__ABUILTIN_3;}
     FRPRD(x4,1);PRD1(2,r);FLD1(r,1)=x19;FLD1(r,2)=x21;}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_61(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* treatOnlyPNS'61 */
{OBJ r;
 {OBJ x20=FLD1(x6,1);OBJ x21=FLD1(x6,2);
  if(EXPRD(x6,1)){
   {OBJ x24;OBJ x25;OBJ x26;
    {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x1,4))(x1,x20,x2,x3,x5);
     x24=FLD1(t,1);
     x25=FLD1(t,2);
     x26=FLD1(t,3);
     DSPRDF(t);}
    RSOME(x6,r);FLD1(r,1)=x24;FLD1(r,3)=x25;
    FLD1(r,2)=_ADArray_15(x21,x4,x26);}
  }else{
   COPY(x20,1);CPPRD(x21,1);
   {OBJ x24;OBJ x25;OBJ x26;
    {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x1,4))(x1,x20,x2,x3,x5);
     x24=FLD1(t,1);
     x25=FLD1(t,2);
     x26=FLD1(t,3);
     DSPRDF(t);}
    FRPRD(x6,1);PRD1(3,r);FLD1(r,1)=x24;FLD1(r,3)=x25;
    FLD1(r,2)=_ADArray_15(x21,x4,x26);}}}
 return r;}

extern OBJ _AGlobSig4SigAna_62(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatOnlyPNS'62 */
{OBJ r;
 {OBJ x35=FLD1(x3,3);
  CPPRD(x35,1);
  {OBJ x59;OBJ x60=FLD1(x4,2);OBJ x61;FLAG x_x4=EXPRD(x4,1);
   if(x_x4){
   }else{
    x59=FLD1(x4,1);x61=FLD1(x4,3);COPY(x59,1);CPPRD(x60,1);}
   CPPRD(x3,1);
   CPPRD(x35,1);
   CPCLS(__AGlobSig4SigAna_61,1);
   {OBJ x62;TUP2 x63;OBJ x65;OBJ x66;TUP3 x68;OBJ x71;
    if(x_x4){
     RSOME(x4,x62);FLD1(x62,2)=x35;
    }else{
     FRPRD(x4,1);PRD1(3,x62);FLD1(x62,1)=x59;FLD1(x62,2)=x35;FLD1(x62,3)=x61;}
    x63=_AGlobSig_97(x3);
    x65=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_61,3))(__AGlobSig4SigAna_61,x1,x63.c1,x63.c2);
    x66=_ADArrayReduce_6(x65,x62,x35);
    x68=_ATriple_10(x66);
    x71=_AGlobSig_99(x3,x68.c2);
    PRD1(3,r);FLD1(r,1)=x68.c1;FLD1(r,3)=x68.c3;
    FLD1(r,2)=_ADArray_15(x60,x2,x71);}}}
 return r;}

extern OBJ _AGlobSig4SigAna_63(OBJ x1,OBJ x2) /* treatDeclS'63 */
{OBJ r;
 {OBJ x11=FLD1(x2,1);OBJ x12=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x11,1);}
  {OBJ x13;OBJ x14;
   if(ISTGPRM(x12,1)){
    x13=x1;
   }else{
    x13=__ABUILTIN_3;}
   if(x_x2){
    RSOME(x2,x14);FLD1(x14,2)=x13;
   }else{
    FRPRD(x2,1);PRD1(2,x14);FLD1(x14,1)=x11;FLD1(x14,2)=x13;}
   r=_ACom_23(x14);}}
 return r;}

extern OBJ _AGlobSig4SigAna_64(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatDeclS'64 */
{OBJ r;
 FRPRD(x3,1);
 {OBJ x13=FLD1(x4,1);OBJ x14=FLD1(x4,2);
  if(EXPRD(x4,1)){
   DSPRDF(x4);
  }else{
   COPY(x13,1);
   FRPRD(x4,1);}
  CPCLS(__AGlobSig4SigAna_63,1);
  {OBJ x15;OBJ x16;
   x15=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x13,x2);
   x16=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_63,1))(__AGlobSig4SigAna_63,x14);
   r=_AComCompose_5(x15,x16);}}
 return r;}

extern OBJ _AGlobSig4SigAna_65(OBJ x1,OBJ x2) /* treatInstSByStructs'65 */
{OBJ r;
 {OBJ x11=FLD1(x2,1);OBJ x12=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x11,1);}
  {OBJ x13;OBJ x14;
   if(ISTGPRM(x12,1)){
    x13=x1;
   }else{
    x13=__ABUILTIN_3;}
   if(x_x2){
    RSOME(x2,x14);FLD1(x14,2)=x13;
   }else{
    FRPRD(x2,1);PRD1(2,x14);FLD1(x14,1)=x11;FLD1(x14,2)=x13;}
   r=_ACom_23(x14);}}
 return r;}

extern OBJ _AGlobSig4SigAna_66(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* treatInstSByStructs'66 */
{OBJ r;
 FREE(x4,1);
 {OBJ x14=FLD1(x5,1);OBJ x15=FLD1(x5,2);
  if(EXPRD(x5,1)){
   DSPRDF(x5);
  }else{
   COPY(x14,1);
   FRPRD(x5,1);}
  CPCLS(__AGlobSig4SigAna_65,1);
  {OBJ x16;OBJ x17;
   x16=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(x1,3))(x1,x14,x2,x3);
   x17=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_65,1))(__AGlobSig4SigAna_65,x15);
   r=_AComCompose_5(x16,x17);}}
 return r;}

extern OBJ _AGlobSig4SigAna_67(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatInstSByStructs'67 */
{OBJ r;
 {OBJ x10;OBJ x15;
  if(ISTGPRD(x3,4)){
   x10=__ABUILTIN_5;
  }else{
   x10=__ABUILTIN_3;}
  if(ISTGPRM(x10,1)){
   x15=__ABUILTIN_5;
  }else{
   if(ISTGPRD(x3,3)){
    x15=__ABUILTIN_5;
   }else{
    x15=__ABUILTIN_3;}}
  if(ISTGPRM(x15,1)){
   CPCLS(__AGlobSig4SigAna_66,1);
   {OBJ x16;OBJ x17;
    x16=_AImpExpEntry_91(x3);
    x17=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_66,2))(__AGlobSig4SigAna_66,x1,x2);
    r=_ATableFun2_4(x17,x4,x16);}
  }else{
   FRCLS(x1,1);
   FRPRD(x3,1);
   r=_ACom_23(x4);}}
 return r;}

extern OBJ _AGlobSig4SigAna_68(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* tIStruct'68 */
{OBJ r;
 COPY(x3,1);
 FREE(x5,1);
 {OBJ x7;
  ANat_81(x4,x3,x7);
  if(ISTGPRM(x7,1)){
   r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x1,4))(x1,x2,x3,x4,x6);
  }else{
   FRCLS(x1,1);
   FREE(x3,1);
   r=x6;}}
 return r;}

extern OBJ _AGlobSig4SigAna_69(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* tIStruct'69 */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_68,1);
 FREE(x5,1);
 {OBJ x7;
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_68,3))(__AGlobSig4SigAna_68,x1,x2,x4);
  r=_ADArrayReduce_6(x7,x6,x3);}
 return r;}

extern OBJ _AGlobSig4SigAna_70(OBJ x1,OBJ x2) /* treatOnlyS'70 */
{OBJ r;
 {OBJ x11=FLD1(x2,1);OBJ x12=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x11,1);}
  {OBJ x13;OBJ x14;
   if(ISTGPRM(x12,1)){
    x13=x1;
   }else{
    x13=__ABUILTIN_3;}
   if(x_x2){
    RSOME(x2,x14);FLD1(x14,2)=x13;
   }else{
    FRPRD(x2,1);PRD1(2,x14);FLD1(x14,1)=x11;FLD1(x14,2)=x13;}
   r=_ACom_23(x14);}}
 return r;}

extern OBJ _AGlobSig4SigAna_71(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* treatOnlyS'71 */
{OBJ r;
 {OBJ x15=FLD1(x6,1);OBJ x16=FLD1(x6,2);
  if(EXPRD(x6,1)){
   DSPRDF(x6);
  }else{
   COPY(x15,1);
   FRPRD(x6,1);}
  CPCLS(__AGlobSig4SigAna_70,1);
  {OBJ x17;OBJ x18;
   x17=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x1,4))(x1,x15,x2,x3,x5);
   x18=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_70,1))(__AGlobSig4SigAna_70,x16);
   r=_AComCompose_5(x17,x18);}}
 return r;}

extern OBJ _AGlobSig4SigAna_72(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatOnlyS'72 */
{OBJ r;
 {OBJ x7=FLD1(x3,3);
  CPPRD(x7,1);
  CPCLS(__AGlobSig4SigAna_71,1);
  {OBJ x8;TUP2 x10;OBJ x12;
   x8=x7;
   x10=_AGlobSig_97(x3);
   x12=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AGlobSig4SigAna_71,3))(__AGlobSig4SigAna_71,x1,x10.c1,x10.c2);
   r=_ATableFun2_4(x12,x4,x8);}}
 return r;}

extern OBJ _AGlobSig4SigAna_73(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatOpDeclByLookups'73 */
{OBJ r;
 {OBJ x46=FLD1(x4,1);OBJ x47=FLD1(x4,2);FLAG x_x4=EXPRD(x4,1);
  if(x_x4){
  }else{
   COPY(x46,1);CPPRD(x47,1);}
  {OBJ x83;OBJ x84;OBJ x85=FLD1(x3,3);OBJ x86;OBJ x87;FLAG x_x3=EXPRD(x3,1);
   if(x_x3){
   }else{
    x83=FLD1(x3,1);x84=FLD1(x3,2);x86=FLD1(x3,4);x87=FLD1(x3,5);COPY(x83,1);COPY(x84,1);COPY(x85,1);COPY(x86,1);COPY(x87,1);}
   {OBJ x89;OBJ x90;OBJ x91;
    {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x46,x85);
     x89=FLD1(t,1);
     x90=FLD1(t,2);
     DSPRDF(t);}
    if(x_x3){
     RSOME(x3,x91);FLD1(x91,3)=x90;
    }else{
     FRPRD(x3,1);PRD1(5,x91);FLD1(x91,1)=x83;FLD1(x91,2)=x84;FLD1(x91,3)=x90;FLD1(x91,4)=x86;FLD1(x91,5)=x87;}
    if(x_x4){
     RSOME(x4,r);FLD1(r,1)=x89;
    }else{
     FRPRD(x4,1);PRD1(2,r);FLD1(r,1)=x89;}
    FLD1(r,2)=_ADArray_15(x47,x2,x91);}}}
 return r;}

extern OBJ _AGlobSig4SigAna_74(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatInstAppls'74 */
{OBJ r;
 CPPRD(x3,1);
 {OBJ x8;
  x8=_AImpExpEntry_10(x3);
  {OBJ x17=FLD1(x4,1);OBJ x18=FLD1(x4,2);
   if(EXPRD(x4,1)){
    {OBJ x20;OBJ x21;OBJ x22;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x18,x8);
      x20=FLD1(t,1);
      x21=FLD1(t,2);
      DSPRDF(t);}
     x22=_AImpExpEntry_120(x21,x3);
     RSOME(x4,r);FLD1(r,2)=x20;
     FLD1(r,1)=_ADArray_15(x17,x2,x22);}
   }else{
    CPPRD(x17,1);CPPRD(x18,1);
    {OBJ x20;OBJ x21;OBJ x22;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x18,x8);
      x20=FLD1(t,1);
      x21=FLD1(t,2);
      DSPRDF(t);}
     x22=_AImpExpEntry_120(x21,x3);
     FRPRD(x4,1);PRD1(2,r);FLD1(r,2)=x20;
     FLD1(r,1)=_ADArray_15(x17,x2,x22);}}}}
 return r;}

extern OBJ _AGlobSig4SigAna_75(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* treatInstAppls'75 */
{OBJ r;
 {OBJ x10;OBJ x11;OBJ x16;OBJ x17;OBJ x18;OBJ x19;OBJ x20;OBJ x22;OBJ x23;OBJ x24;OBJ x25;
  if(ISTGPRD(x3,4)){
   CPPRD(x3,1);
   x10=__ABUILTIN_5;
  }else{
   CPPRD(x3,1);
   x10=__ABUILTIN_3;}
  x11=_AImpExpEntry_92(x3);
  if(ISTGPRM(x10,1)){
   x16=__ABUILTIN_5;
  }else{
   if(ISTGPRD(x3,3)){
    x16=__ABUILTIN_5;
   }else{
    x16=__ABUILTIN_3;}}
  if(ISTGPRM(x16,1)){
   CPPRD(x3,1);
   CPPRD(x11,1);
   CPCLS(__AGlobSig4SigAna_74,1);
   x17=_AImpExpEntry_91(x3);
  }else{
   CPPRD(x11,1);
   CPCLS(__AGlobSig4SigAna_74,1);
   CPPRD(__ATable_10,1);
   x17=__ATable_10;}
  PRD1(2,x18);FLD1(x18,1)=x11;FLD1(x18,2)=x17;
  x19=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_74,1))(__AGlobSig4SigAna_74,x1);
  x20=_ADArrayReduce_6(x19,x18,x11);
  {TUP2 t=_APair_8(x20);
   x22=t.c1;
   x23=t.c2;}
  if(ISTGPRM(x16,1)){
   x24=_AImpExpEntry_117(x23,x3);
  }else{
   FRPRD(x23,1);
   x24=x3;}
  x25=_AImpExpEntry_115(x22,x24);
  r=_ADArray_15(x4,x2,x25);}
 return r;}

extern OBJ _AGlobSig4SigAna_77(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchByIdeOrig'77 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_51,1);
 CPPRD(__AGlobSig4SigAna_76,1);
 CPCLS(__AGlobSigToText_2,1);
 CPPRD(__ASeqConv_9,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x5=_ARep_119(x1);
  ANatConv_1(x2,x6);
  x7=_AOptionConv_2(__AGlobSigToText_2,x3);
  ADenotation_4(__ASeqConv_9,x7,x8);
  ADenotation_4(x6,x8,x9);
  ADenotation_4(__AGlobSig4SigAna_51,x9,x10);
  ADenotation_4(x5,x10,x11);
  ADenotation_4(__AGlobSig4SigAna_76,x11,r);}
 return r;}

extern OBJ _AGlobSig4SigAna_78(OBJ x1) /* matchByIdeOrig'78 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_54,1);
 r=_ADEBUG_10(__AGlobSig4SigAna_54);
 return r;}

extern OBJ _AGlobSig4SigAna_80(OBJ x1) /* matchByIdeOrig'80 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_79,1);
 r=__AGlobSig4SigAna_79;
 return r;}

extern OBJ _AGlobSig4SigAna_81(OBJ x1) /* matchByIdeOrig'81 */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_78,1);
 CPCLS(__AGlobSig4SigAna_80,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_78,1))(__AGlobSig4SigAna_78,__ABUILTIN_20);
  r=_ADEBUG_2(x2,__AGlobSig4SigAna_80,__ASeq_6);}
 return r;}

extern OBJ _AGlobSig4SigAna_83(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchOpByIdeOrig'83 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_51,1);
 CPPRD(__AGlobSig4SigAna_82,1);
 CPCLS(__AGlobSigToText_2,1);
 CPPRD(__ASeqConv_9,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x5=_ARep_119(x1);
  ANatConv_1(x2,x6);
  x7=_AOptionConv_2(__AGlobSigToText_2,x3);
  ADenotation_4(__ASeqConv_9,x7,x8);
  ADenotation_4(x6,x8,x9);
  ADenotation_4(__AGlobSig4SigAna_51,x9,x10);
  ADenotation_4(x5,x10,x11);
  ADenotation_4(__AGlobSig4SigAna_82,x11,r);}
 return r;}

extern OBJ _AGlobSig4SigAna_84(OBJ x1) /* matchOpByIdeOrig'84 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_54,1);
 r=_ADEBUG_10(__AGlobSig4SigAna_54);
 return r;}

extern OBJ _AGlobSig4SigAna_86(OBJ x1) /* matchOpByIdeOrig'86 */
{OBJ r;
 CPPRD(__AGlobSig4SigAna_85,1);
 r=__AGlobSig4SigAna_85;
 return r;}

extern OBJ _AGlobSig4SigAna_87(OBJ x1) /* matchOpByIdeOrig'87 */
{OBJ r;
 CPCLS(__AGlobSig4SigAna_84,1);
 CPCLS(__AGlobSig4SigAna_86,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSig4SigAna_84,1))(__AGlobSig4SigAna_84,__ABUILTIN_20);
  r=_ADEBUG_2(x2,__AGlobSig4SigAna_86,__ASeq_6);}
 return r;}



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

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

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_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;}

init_AGlobSig4SigAna()
{
 static int visited=0; if(visited) return; visited=1;
 init_ADeclEntry();
 init_AGlobPragma();
 init_AMap();
 init_AComCompose();
 init_AGlobSig();
 init_AImpDecl4SigAna();
 init_AName();
 init_AName4SigAna();
 init_AObjects();
 init_ASeqFilter();
 init_APartNameEntry();
 init_ASeqMap();
 init_AImpExpEntry();
 init_ASeqMapEnv();
 init_ARep();
 init_ASeqReduce();
 init_AOcPos();
 init_ASeqZip();
 init_APragma();
 init_ATableFun2();
 init_AImpl();
 init_ATriple();
 init_ATable();
 init_AUniqueTableReduce();
 init_ASeq();
 init_ANatConv();
 init_APair();
 init_ADEBUG();
 init_AOption();
 init_ADenotation();
 init_ACom();
 init_AGlobSigToText();
 init_ANat();
 init_AOptionConv();
 init_AVoid();
 init_ASeqConv();
 init_ADArray();
 init_AInt();
 init_ANatMap();
 init_AReal();
 init_AString();
 init_AMaps4SigAna();
 init_AChar();
 init_ASetByBST();
 init_ASet();
 init_ABSTree();
 init_ABitset();
 init_ATree();
 init_AArray();
 init_ALexem();
 init_AFct();
 init_ADArrayReduce();
 init_AGlobSigImpl();
 init_AAttributes();
 init_APatterns();
 init_APartName();
 init_AUniqueTable();
 CLS(2,_AGlobSig4SigAna_63,__AGlobSig4SigAna_63);
 CLS(4,_AGlobSig4SigAna_31,__AGlobSig4SigAna_31);
 CLS(4,_AGlobSig4SigAna_62,__AGlobSig4SigAna_62);
 CLS(4,_AGlobSig4SigAna_30,__AGlobSig4SigAna_30);
 CLS(6,_AGlobSig4SigAna_61,__AGlobSig4SigAna_61);
 CLS(3,_AGlobSig4SigAna_29_c,__AGlobSig4SigAna_29);
 CLS(4,_AGlobSig4SigAna_60,__AGlobSig4SigAna_60);
 CLS(1,_AGlobSig4SigAna_28,__AGlobSig4SigAna_28);
 CLS(4,_AGlobSig4SigAna_59,__AGlobSig4SigAna_59);
 CLS(4,_AGlobSig4SigAna_27,__AGlobSig4SigAna_27);
 LCLS(1,_AGlobSig4SigAna_58,__AGlobSig4SigAna_58);
 CLS(4,_AGlobSig4SigAna_26,__AGlobSig4SigAna_26);
 LCLS(1,_AGlobSig4SigAna_57,__AGlobSig4SigAna_57);
 CLS(4,_AGlobSig4SigAna_25,__AGlobSig4SigAna_25);
 DEN("matchSortByIdeOrig: no match",__AGlobSig4SigAna_56);
 CLS(2,_AGlobSig4SigAna_24,__AGlobSig4SigAna_24);
 LCLS(1,_AGlobSig4SigAna_87,__AGlobSig4SigAna_87);
 CLS(2,_AGlobSig4SigAna_23,__AGlobSig4SigAna_23);
 LCLS(1,_AGlobSig4SigAna_55,__AGlobSig4SigAna_55);
 LCLS(1,_AGlobSig4SigAna_86,__AGlobSig4SigAna_86);
 CLS(3,_AGlobSig4SigAna_22,__AGlobSig4SigAna_22);
 DEN("-zMatchGS4",__AGlobSig4SigAna_54);
 DEN("matchOpByIdeOrig: no match",__AGlobSig4SigAna_85);
 CLS(2,_AGlobSig4SigAna_21,__AGlobSig4SigAna_21);
 LCLS(5,_AGlobSig4SigAna_53,__AGlobSig4SigAna_53);
 LCLS(1,_AGlobSig4SigAna_84,__AGlobSig4SigAna_84);
 CLS(2,_AGlobSig4SigAna_20,__AGlobSig4SigAna_20);
 DEN("matchSortByIdeOrig:<",__AGlobSig4SigAna_52);
 LCLS(4,_AGlobSig4SigAna_83,__AGlobSig4SigAna_83);
 CLS(3,_AGlobSig4SigAna_19,__AGlobSig4SigAna_19);
 DEN(", ",__AGlobSig4SigAna_51);
 DEN("matchOpByIdeOrig:<",__AGlobSig4SigAna_82);
 CLS(3,_AGlobSig4SigAna_18,__AGlobSig4SigAna_18);
 DEN("><orig:",__AGlobSig4SigAna_50);
 LCLS(1,_AGlobSig4SigAna_81,__AGlobSig4SigAna_81);
 CLS(2,_AGlobSig4SigAna_17,__AGlobSig4SigAna_17);
 LCLS(4,_AGlobSig4SigAna_49,__AGlobSig4SigAna_49);
 LCLS(1,_AGlobSig4SigAna_80,__AGlobSig4SigAna_80);
 CLS(2,_AGlobSig4SigAna_16_c,__AGlobSig4SigAna_16);
 DEN("# ",__AGlobSig4SigAna_48);
 DEN("matchByIdeOrig: no match",__AGlobSig4SigAna_79);
 CLS(2,_AGlobSig4SigAna_15_c,__AGlobSig4SigAna_15);
 LCLS(4,_AGlobSig4SigAna_47,__AGlobSig4SigAna_47);
 LCLS(1,_AGlobSig4SigAna_78,__AGlobSig4SigAna_78);
 CLS(2,_AGlobSig4SigAna_14_c,__AGlobSig4SigAna_14);
 DEN("mkNames:",__AGlobSig4SigAna_46);
 LCLS(4,_AGlobSig4SigAna_77,__AGlobSig4SigAna_77);
 CLS(1,_AGlobSig4SigAna_13,__AGlobSig4SigAna_13);
 DEN("#raw# ",__AGlobSig4SigAna_45);
 DEN("matchByIdeOrig:<",__AGlobSig4SigAna_76);
 CLS(1,_AGlobSig4SigAna_12,__AGlobSig4SigAna_12);
 CLS(2,_AGlobSig4SigAna_44,__AGlobSig4SigAna_44);
 CLS(4,_AGlobSig4SigAna_75,__AGlobSig4SigAna_75);
 CLS(1,_AGlobSig4SigAna_11,__AGlobSig4SigAna_11);
 CLS(3,_AGlobSig4SigAna_43,__AGlobSig4SigAna_43);
 CLS(4,_AGlobSig4SigAna_74,__AGlobSig4SigAna_74);
 CLS(1,_AGlobSig4SigAna_10,__AGlobSig4SigAna_10);
 CLS(5,_AGlobSig4SigAna_42,__AGlobSig4SigAna_42);
 CLS(4,_AGlobSig4SigAna_73,__AGlobSig4SigAna_73);
 CLS(2,_AGlobSig4SigAna_9,__AGlobSig4SigAna_9);
 CLS(4,_AGlobSig4SigAna_41,__AGlobSig4SigAna_41);
 CLS(4,_AGlobSig4SigAna_72,__AGlobSig4SigAna_72);
 CLS(1,_AGlobSig4SigAna_8,__AGlobSig4SigAna_8);
 CLS(3,_AGlobSig4SigAna_40,__AGlobSig4SigAna_40);
 CLS(6,_AGlobSig4SigAna_71,__AGlobSig4SigAna_71);
 CLS(3,_AGlobSig4SigAna_7,__AGlobSig4SigAna_7);
 CLS(1,_AGlobSig4SigAna_39,__AGlobSig4SigAna_39);
 CLS(2,_AGlobSig4SigAna_70,__AGlobSig4SigAna_70);
 CLS(1,_AGlobSig4SigAna_6,__AGlobSig4SigAna_6);
 CLS(3,_AGlobSig4SigAna_38,__AGlobSig4SigAna_38);
 CLS(6,_AGlobSig4SigAna_69,__AGlobSig4SigAna_69);
 CLS(1,_AGlobSig4SigAna_5,__AGlobSig4SigAna_5);
 CLS(2,_AGlobSig4SigAna_37,__AGlobSig4SigAna_37);
 CLS(6,_AGlobSig4SigAna_68,__AGlobSig4SigAna_68);
 CLS(5,_AGlobSig4SigAna_4,__AGlobSig4SigAna_4);
 CLS(3,_AGlobSig4SigAna_36,__AGlobSig4SigAna_36);
 CLS(4,_AGlobSig4SigAna_67,__AGlobSig4SigAna_67);
 CLS(2,_AGlobSig4SigAna_3,__AGlobSig4SigAna_3);
 CLS(5,_AGlobSig4SigAna_66,__AGlobSig4SigAna_66);
 CLS(5,_AGlobSig4SigAna_2,__AGlobSig4SigAna_2);
 CLS(3,_AGlobSig4SigAna_34_c,__AGlobSig4SigAna_34);
 CLS(2,_AGlobSig4SigAna_65,__AGlobSig4SigAna_65);
 CLS(4,_AGlobSig4SigAna_33,__AGlobSig4SigAna_33);
 CLS(4,_AGlobSig4SigAna_64,__AGlobSig4SigAna_64);
 CLS(5,_AGlobSig4SigAna_32,__AGlobSig4SigAna_32);
 MTH(5,0,2,_mt_5_0_2);LZYMTH(5,0,2,_mt_5_0_2);
 MTH(5,2,3,_mt_5_2_3);LZYMTH(5,2,3,_mt_5_2_3);
 MTH(6,0,3,_mt_6_0_3);LZYMTH(6,0,3,_mt_6_0_3);
 MTH(6,3,3,_mt_6_3_3);LZYMTH(6,3,3,_mt_6_3_3);
 CPPRD(__ARep_13,5);
 COPY(__AOcPos_35,1);
 COPY(__APragma_5,1);
 CPPRD(__ATable_10,6);
 PRD(17,1,__AGlobSig4SigAna_1);FLD(__AGlobSig4SigAna_1,1)=__ARep_13;FLD(__AGlobSig4SigAna_1,2)=__ASeq_6;FLD(__AGlobSig4SigAna_1,3)=__ATable_10;FLD(__AGlobSig4SigAna_1,4)=__ATable_10;FLD(__AGlobSig4SigAna_1,5)=__AOcPos_35;FLD(__AGlobSig4SigAna_1,6)=__APragma_5;FLD(__AGlobSig4SigAna_1,7)=__ATable_10;FLD(__AGlobSig4SigAna_1,8)=__ATable_10;FLD(__AGlobSig4SigAna_1,9)=__ATable_10;FLD(__AGlobSig4SigAna_1,10)=__ATable_10;FLD(__AGlobSig4SigAna_1,11)=__ATree_7;FLD(__AGlobSig4SigAna_1,12)=__ATree_7;FLD(__AGlobSig4SigAna_1,13)=__ARep_13;FLD(__AGlobSig4SigAna_1,14)=__ARep_13;FLD(__AGlobSig4SigAna_1,15)=__ARep_13;FLD(__AGlobSig4SigAna_1,16)=__ARep_13;FLD(__AGlobSig4SigAna_1,17)=__ASeq_6;
 CPPRD(__AGlobSig4SigAna_54,1);
 __AGlobSig4SigAna_35=_ADEBUG_10(__AGlobSig4SigAna_54);}

