

#include "BUILTIN.h"
extern OBJ _AImpDecl4SigAna_57(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_57;
extern OBJ __ASeq_6;
extern OBJ _ASeq_14(OBJ,OBJ);extern OBJ __ASeq_14;
extern OBJ _ASeq_15(OBJ,OBJ,OBJ);extern OBJ __ASeq_15;
extern OBJ _ASeq_23(OBJ,OBJ);extern OBJ __ASeq_23;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern TUP2 _ASeq_33(OBJ,OBJ);extern OBJ __ASeq_33;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern OBJ _AAttributes_4(OBJ);extern OBJ __AAttributes_4;
extern OBJ _AAttributes_19(OBJ);extern OBJ __AAttributes_19;
extern OBJ __AOcError_8;
extern OBJ __AOcError_10;
extern OBJ __AOcError_15;
extern OBJ _AOcError_18(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_18;
extern OBJ _AOcError_20(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_20;
extern OBJ _AOcError_21(OBJ,OBJ);extern OBJ __AOcError_21;
extern OBJ _AImpl_161(OBJ);extern OBJ __AImpl_161;
extern OBJ __APatterns_2;
extern OBJ _APatterns_13(OBJ,OBJ);extern OBJ __APatterns_13;

#include "Array.h"
extern OBJ _AAnalyzedGlobSig_1(OBJ);extern OBJ __AAnalyzedGlobSig_1;
extern OBJ _AAnalyzedGlobSig_19(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_19;
extern OBJ __AAnalyzedGlobSig_22;
extern OBJ _AAnalyzedGlobSig_25(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_25;
extern OBJ _AAnalyzedGlobSig_34(OBJ);extern OBJ __AAnalyzedGlobSig_34;
extern OBJ _AAnalyzedGlobSig_41(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_41;
extern OBJ _AAnalyzedGlobSig_45(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_45;
extern OBJ _AAnalyzedGlobSig_46(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_46;
extern OBJ _AAnalyzedGlobSig_54(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_54;

#include "Denotation.h"
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern OBJ __AName_3;
extern OBJ __AGlobSigImpl_16;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _AMap_16(OBJ,OBJ,OBJ);extern OBJ __AMap_16;
extern OBJ _AMap_20(OBJ,OBJ,OBJ);extern OBJ __AMap_20;
extern OBJ _AMap_31(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_31;
extern OBJ _AMySeqFun3_8(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun3_8;

#include "Nat.h"
extern OBJ _ASetConv_3(OBJ,OBJ);extern OBJ __ASetConv_3;
extern OBJ _AMapReduce_6(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMapReduce_6;
extern OBJ __AOption_5;
extern OBJ _AMapMap_5(OBJ,OBJ,OBJ);extern OBJ __AMapMap_5;
extern OBJ _AOcPos_34(OBJ);extern OBJ __AOcPos_34;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ _ADEBUG_3(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_3;
extern OBJ _ADEBUG_4(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_4;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;

#include "NatConv.h"

#include "Char.h"
extern OBJ _AString_2(OBJ,OBJ);extern OBJ __AString_2;
extern OBJ __AString_6;
extern OBJ _AString_24(OBJ,OBJ);extern OBJ __AString_24;
extern OBJ _AString_49(OBJ);extern OBJ __AString_49;
extern OBJ _AStringFormat_1(OBJ,OBJ);extern OBJ __AStringFormat_1;

#include "Real.h"

#include "Int.h"
extern OBJ __ATree_7;
extern OBJ _ASet_39(OBJ,OBJ,OBJ);extern OBJ __ASet_39;
extern OBJ _ASet_41(OBJ,OBJ,OBJ);extern OBJ __ASet_41;
extern OBJ _ASet_42(OBJ,OBJ,OBJ);extern OBJ __ASet_42;
extern OBJ _ASet_43(OBJ,OBJ,OBJ);extern OBJ __ASet_43;
extern OBJ _ASet_46(OBJ,OBJ,OBJ);extern OBJ __ASet_46;

#include "Bitset.h"
extern OBJ _AAnalyzedGlobSigH_1(OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_1;
extern OBJ _AAnalyzedGlobSigH_9(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_9;
extern OBJ _AAnalyzedGlobSigH_14(OBJ,OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_14;
extern TUP4 _AMatchingAnalysis_1(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_1; /* generateMatchingCases */
extern OBJ _AMatchingAnalysis_3(OBJ,OBJ);OBJ __AMatchingAnalysis_3; /* patt */
extern OBJ _AMatchingAnalysis_4(OBJ);OBJ __AMatchingAnalysis_4; /* patt? */
extern OBJ _AMatchingAnalysis_5(OBJ);OBJ __AMatchingAnalysis_5; /* patt,1 */
extern OBJ _AMatchingAnalysis_6(OBJ);OBJ __AMatchingAnalysis_6; /* pos */
extern OBJ _AMatchingAnalysis_8(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_8; /* map */
extern OBJ _AMatchingAnalysis_9(OBJ);OBJ __AMatchingAnalysis_9; /* map? */
extern OBJ _AMatchingAnalysis_10(OBJ);OBJ __AMatchingAnalysis_10; /* else */
extern OBJ _AMatchingAnalysis_11(OBJ);OBJ __AMatchingAnalysis_11; /* defined */
extern OBJ _AMatchingAnalysis_12(OBJ);OBJ __AMatchingAnalysis_12; /* domain */
extern OBJ _AMatchingAnalysis_14(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_14; /* test */
extern OBJ _AMatchingAnalysis_15(OBJ);OBJ __AMatchingAnalysis_15; /* test? */
extern OBJ _AMatchingAnalysis_16(OBJ);OBJ __AMatchingAnalysis_16; /* constrs */
extern OBJ _AMatchingAnalysis_17(OBJ);OBJ __AMatchingAnalysis_17; /* irrel */
extern OBJ _AMatchingAnalysis_18(OBJ);OBJ __AMatchingAnalysis_18; /* pos,1 */
extern OBJ _AMatchingAnalysis_19(OBJ);OBJ __AMatchingAnalysis_19; /* match */
extern OBJ _AMatchingAnalysis_20(OBJ);OBJ __AMatchingAnalysis_20; /* match? */
extern OBJ _AMatchingAnalysis_21(OBJ);OBJ __AMatchingAnalysis_21; /* cases */
OBJ __AMatchingAnalysis_22; /* noMatch */
extern OBJ _AMatchingAnalysis_23(OBJ);OBJ __AMatchingAnalysis_23; /* noMatch? */
extern OBJ _AMatchingAnalysis_25(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_25; /* alternative */
extern OBJ _AMatchingAnalysis_26(OBJ);OBJ __AMatchingAnalysis_26; /* alternative? */
extern OBJ _AMatchingAnalysis_27(OBJ);OBJ __AMatchingAnalysis_27; /* body */
extern OBJ _AMatchingAnalysis_28(OBJ);OBJ __AMatchingAnalysis_28; /* pos,2 */
extern OBJ _AMatchingAnalysis_29(OBJ);OBJ __AMatchingAnalysis_29; /* no */
extern OBJ _AMatchingAnalysis_31(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_31; /* mkPairs */
extern OBJ _AMatchingAnalysis_32(OBJ,OBJ);OBJ __AMatchingAnalysis_32; /* debugMatchTree */
extern OBJ _AMatchingAnalysis_33(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_33; /* printMatchTree */
OBJ __AMatchingAnalysis_34; /* printMatchTree? */
extern OBJ _AMatchingAnalysis_35(OBJ,OBJ);OBJ __AMatchingAnalysis_35; /* < */
extern OBJ _AMatchingAnalysis_36(OBJ);OBJ __AMatchingAnalysis_36; /* ` */
extern OBJ _AMatchingAnalysis_37(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_37; /* `,1 */
extern OBJ _AMatchingAnalysis_38(OBJ);OBJ __AMatchingAnalysis_38; /* `,2 */
extern OBJ _AMatchingAnalysis_39(OBJ);OBJ __AMatchingAnalysis_39; /* `,3 */
extern OBJ _AMatchingAnalysis_40(OBJ,OBJ);OBJ __AMatchingAnalysis_40; /* <,1 */
extern OBJ _AMatchingAnalysis_41(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_41; /* `,4 */
extern OBJ _AMatchingAnalysis_42(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_42; /* `,5 */
extern OBJ _AMatchingAnalysis_43(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_43; /* line */
extern OBJ _AMatchingAnalysis_44(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_44; /* new */
extern OBJ _AMatchingAnalysis_45(OBJ,OBJ);OBJ __AMatchingAnalysis_45; /* addToAll */
extern OBJ _AMatchingAnalysis_46(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_46; /* merge */
extern OBJ _AMatchingAnalysis_47(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_47; /* mergeForName */
extern OBJ _AMatchingAnalysis_48(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_48; /* workAround */
OBJ __AMatchingAnalysis_49; /* traceWorkArounds? */
extern TUP2 _AMatchingAnalysis_50(OBJ);OBJ __AMatchingAnalysis_50; /* mkInitialQueue */
extern TUP2 _AMatchingAnalysis_51(OBJ,OBJ);OBJ __AMatchingAnalysis_51; /* mkAdditionalQueue */
OBJ __AMatchingAnalysis_52; /* traceMatchAna? */
OBJ __AMatchingAnalysis_53; /* traceMatchAnaSteps? */
OBJ __AMatchingAnalysis_54; /* resultTreeIndent */
OBJ __AMatchingAnalysis_55; /* stepTreeIndent */
extern OBJ _AMatchingAnalysis_56(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_56; /* traceGenTree */
extern OBJ _AMatchingAnalysis_57(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_57; /* debugGenTree */
extern OBJ _AMatchingAnalysis_58(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_58; /* traceAddTree */
extern OBJ _AMatchingAnalysis_59(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_59; /* debugAddTree */
extern OBJ _AMatchingAnalysis_60(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_60; /* traceStep */
extern OBJ _AMatchingAnalysis_61(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_61; /* debugStep */
extern OBJ _AMatchingAnalysis_62(OBJ,OBJ);OBJ __AMatchingAnalysis_62; /* generateTree */
extern OBJ _AMatchingAnalysis_63(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_63; /* genTree */
extern OBJ _AMatchingAnalysis_64(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_64; /* addTree */
extern OBJ _AMatchingAnalysis_65(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_65; /* add */
extern OBJ _AMatchingAnalysis_66(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_66; /* doAdd */
extern OBJ _AMatchingAnalysis_67(OBJ);OBJ __AMatchingAnalysis_67; /* mkInitialPattDescr */
extern OBJ _AMatchingAnalysis_68(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_68; /* specialize */
OBJ __AMatchingAnalysis_69; /* indent */
extern OBJ _AMatchingAnalysis_70(OBJ,OBJ);OBJ __AMatchingAnalysis_70; /* `,6 */
extern TUP4 _AMatchingAnalysis_71(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_71; /* codeMatchTree */
extern TUP4 _AMatchingAnalysis_72(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_72; /* code */
extern OBJ _AMatchingAnalysis_73(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_73; /* codeNextTree */
extern OBJ _AMatchingAnalysis_74(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_74; /* mapSelToPattern */
extern OBJ _AMatchingAnalysis_75(OBJ,OBJ);OBJ __AMatchingAnalysis_75; /* * */
extern OBJ _AMatchingAnalysis_76(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_76; /* map,1 */
extern OBJ _AMatchingAnalysis_77(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_77; /* updatePatts */
OBJ __AMatchingAnalysis_78; /* `'78 */
OBJ __AMatchingAnalysis_79; /* `'79 */
OBJ __AMatchingAnalysis_80; /* `'80 */
extern OBJ _AMatchingAnalysis_81(OBJ,OBJ);OBJ __AMatchingAnalysis_81; /* `,2'81 */
extern OBJ _AMatchingAnalysis_82(OBJ,OBJ);OBJ __AMatchingAnalysis_82; /* `,3'82 */
OBJ __AMatchingAnalysis_83; /* `,1'83 */
extern OBJ _AMatchingAnalysis_84(OBJ);OBJ __AMatchingAnalysis_84; /* `,1'84 */
OBJ __AMatchingAnalysis_85; /* `,1'85 */
extern OBJ _AMatchingAnalysis_86(OBJ);OBJ __AMatchingAnalysis_86; /* `,1'86 */
OBJ __AMatchingAnalysis_87; /* `,1'87 */
extern OBJ _AMatchingAnalysis_88(OBJ);OBJ __AMatchingAnalysis_88; /* `,1'88 */
OBJ __AMatchingAnalysis_89; /* `,1'89 */
extern OBJ _AMatchingAnalysis_90(OBJ);OBJ __AMatchingAnalysis_90; /* `,1'90 */
OBJ __AMatchingAnalysis_91; /* `,5'91 */
OBJ __AMatchingAnalysis_92; /* `,4'92 */
extern OBJ _AMatchingAnalysis_93(OBJ);OBJ __AMatchingAnalysis_93; /* `,4'93 */
OBJ __AMatchingAnalysis_94; /* traceGenTree'94 */
OBJ __AMatchingAnalysis_95; /* new'95 */
extern OBJ _AMatchingAnalysis_96(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_96; /* genTree'96 */
OBJ __AMatchingAnalysis_97; /* traceAddTree'97 */
OBJ __AMatchingAnalysis_98; /* traceStep'98 */
OBJ __AMatchingAnalysis_99; /* traceStep'99 */
OBJ __AMatchingAnalysis_100; /* traceStep'100 */
extern OBJ _AMatchingAnalysis_101(OBJ,OBJ);OBJ __AMatchingAnalysis_101; /* workAround'101 */
OBJ __AMatchingAnalysis_102; /* merge'102 */
OBJ __AMatchingAnalysis_103; /* merge'103 */
extern OBJ _AMatchingAnalysis_104(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_104; /* doAdd'104 */
extern OBJ _AMatchingAnalysis_105(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_105; /* doAdd'105 */
extern OBJ _AMatchingAnalysis_106(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_106; /* doAdd'106 */
extern OBJ _AMatchingAnalysis_107(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_107; /* doAdd'107 */
extern OBJ _AMatchingAnalysis_108(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_108; /* doAdd'108 */
extern OBJ _AMatchingAnalysis_109(OBJ);OBJ __AMatchingAnalysis_109; /* mkInitialPattDescr'109 */
OBJ __AMatchingAnalysis_110; /* mkInitialPattDescr'110 */
extern OBJ _AMatchingAnalysis_111(OBJ);OBJ __AMatchingAnalysis_111; /* specialize'111 */
extern OBJ _AMatchingAnalysis_112(OBJ);OBJ __AMatchingAnalysis_112; /* `,6'112 */
extern OBJ _AMatchingAnalysis_113(OBJ);OBJ __AMatchingAnalysis_113; /* `,6'113 */
extern OBJ _AMatchingAnalysis_114(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_114; /* updatePatts'114 */
extern OBJ _AMatchingAnalysis_115(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_115; /* code'115 */
extern OBJ _AMatchingAnalysis_116(OBJ,OBJ);OBJ __AMatchingAnalysis_116; /* code'116 */
OBJ __AMatchingAnalysis_117; /* code'117 */
OBJ __AMatchingAnalysis_118; /* code'118 */
extern OBJ _AMatchingAnalysis_119(OBJ);OBJ __AMatchingAnalysis_119; /* code'119 */
OBJ __AMatchingAnalysis_120; /* code'120 */
extern OBJ _AMatchingAnalysis_121(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_121; /* code'121 */
extern OBJ _AMatchingAnalysis_122(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_122; /* code'122 */
extern OBJ _AMatchingAnalysis_123(OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_123; /* code'123 */
extern OBJ _AMatchingAnalysis_124(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_124; /* code'124 */
extern OBJ _AMatchingAnalysis_125(OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_125; /* code'125 */
extern OBJ _AMatchingAnalysis_126(OBJ,OBJ);OBJ __AMatchingAnalysis_126; /* code'126 */
extern OBJ _AMatchingAnalysis_127(OBJ,OBJ);OBJ __AMatchingAnalysis_127; /* codeNextTree'127 */
extern OBJ _AMatchingAnalysis_128(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMatchingAnalysis_128; /* codeNextTree'128 */
extern OBJ _AMatchingAnalysis_129(OBJ);OBJ __AMatchingAnalysis_129; /* generateMatchingCases'129 */
OBJ __AMatchingAnalysis_130; /* generateMatchingCases'130 */
OBJ __AMatchingAnalysis_131; /* printMatchTree?'131 */
OBJ __AMatchingAnalysis_132; /* indent'132 */
OBJ __AMatchingAnalysis_133; /* traceWorkArounds?'133 */
OBJ __AMatchingAnalysis_134; /* traceMatchAna?'134 */
OBJ __AMatchingAnalysis_135; /* traceMatchAnaSteps?'135 */

extern TUP4 _AMatchingAnalysis_1(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* generateMatchingCases */
{TUP4 r;
 CPCLS(__AMatchingAnalysis_62,1);
 CPCLS(__AMatchingAnalysis_64,1);
 CPCLS(__AMatchingAnalysis_129,1);
 CPPRD(__AMatchingAnalysis_130,1);
 COPY(x3,1);
 COPY(x5,2);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_62,1))(__AMatchingAnalysis_62,x5);
  x7=_AMatchingAnalysis_31(x3,x4,__ANat_5);
  x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_64,1))(__AMatchingAnalysis_64,x5);
  x9=_ASeqMap_3(__AMatchingAnalysis_129,x3);
  x10=_ASeqMap_3(x6,x7);
  x11=_ASeqReduce_4(x8,__AMatchingAnalysis_130,x10);
  {OBJ x12=FLD1(x11,1);
   if(EXPRD(x11,1)){
    FREE(FLD1(x11,2),1);DSPRDF(x11);
   }else{
    COPY(x12,1);
    FRPRD(x11,1);}
   COPY(x5,1);
   CPCLS(__AMatchingAnalysis_33,1);
   {OBJ x14;OBJ x15;OBJ x16;
    x14=x12;
    COPY(x14,1);
    x15=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_33,2))(__AMatchingAnalysis_33,x5,x14);
    x16=_ADEBUG_3(__AMatchingAnalysis_34,x15,x14);
    r=_AMatchingAnalysis_71(x16,x9,x2,x1,x5);}}}
 return r;}
extern OBJ _AMatchingAnalysis_1_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* generateMatchingCases */
{OBJ r;
 {TUP4 t=_AMatchingAnalysis_1(x1,x2,x3,x4,x5);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern OBJ _AMatchingAnalysis_3(OBJ x1,OBJ x2) /* patt */
{OBJ r;
 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x2;
 return r;}

extern OBJ _AMatchingAnalysis_4(OBJ x1) /* patt? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMatchingAnalysis_5(OBJ x1) /* patt,1 */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   CPPRD(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_6(OBJ x1) /* pos */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FRPRD(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   COPY(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_8(OBJ x1,OBJ x2,OBJ x3) /* map */
{OBJ r;
 PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;
 return r;}

extern OBJ _AMatchingAnalysis_9(OBJ x1) /* map? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMatchingAnalysis_10(OBJ x1) /* else */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FLD1(x1,3)=NIL;DSPRD(x1);
  }else{
   COPY(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_11(OBJ x1) /* defined */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FLD1(x1,2)=NIL;DSPRD(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_12(OBJ x1) /* domain */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FLD1(x1,1)=NIL;DSPRD(x1);
  }else{
   COPY(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_14(OBJ x1,OBJ x2,OBJ x3) /* test */
{OBJ r;
 PRD(3,2,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AMatchingAnalysis_15(OBJ x1) /* test? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AMatchingAnalysis_16(OBJ x1) /* constrs */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    CPPRD(x4,1);
    r=x4;
    FRPRD(x1,1);}}
 }else{
  HLT("MatchingAnalysis at <110,24-30> : undefined selection constrs\'MatchingAnalysis:matchTree->constrMap");}
 return r;}

extern OBJ _AMatchingAnalysis_17(OBJ x1) /* irrel */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("MatchingAnalysis at <109,24-28> : undefined selection irrel\'MatchingAnalysis:matchTree->set");}
 return r;}

extern OBJ _AMatchingAnalysis_18(OBJ x1) /* pos,1 */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("MatchingAnalysis at <108,24-26> : undefined selection pos\'MatchingAnalysis:matchTree->seq");}
 return r;}

extern OBJ _AMatchingAnalysis_19(OBJ x1) /* match */
{OBJ r;
 PRD(1,1,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AMatchingAnalysis_20(OBJ x1) /* match? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AMatchingAnalysis_21(OBJ x1) /* cases */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("MatchingAnalysis at <107,25-29> : undefined selection cases\'MatchingAnalysis:matchTree->set");}
 return r;}

extern OBJ _AMatchingAnalysis_23(OBJ x1) /* noMatch? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AMatchingAnalysis_25(OBJ x1,OBJ x2,OBJ x3) /* alternative */
{OBJ r;
 PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;
 return r;}

extern OBJ _AMatchingAnalysis_26(OBJ x1) /* alternative? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMatchingAnalysis_27(OBJ x1) /* body */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   CPPRD(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_28(OBJ x1) /* pos,2 */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FRPRD(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_29(OBJ x1) /* no */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   DSPRD(x1);
  }else{
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AMatchingAnalysis_31(OBJ x1,OBJ x2,OBJ x3) /* mkPairs */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__ASeq_6;
  }else{
   HLT("MatchingAnalysis at <73,5-11> : missing else in mkPairs\'MatchingAnalysis:seq**seq**nat->seq");}
 }else{
  {OBJ x93=FLD1(x1,1);OBJ x94=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    CPPRD(x93,1);COPY(x94,1);}
   if(ISPRM(x2)){
    HLT("MatchingAnalysis at <73,5-11> : missing else in mkPairs\'MatchingAnalysis:seq**seq**nat->seq");
   }else{
    {OBJ x95=FLD1(x2,1);OBJ x96=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
     if(x_x2){
     }else{
      CPPRD(x95,1);COPY(x96,1);}
     {OBJ x98;OBJ x100;
      ANat_2(x3,x98);
      x100=_AMatchingAnalysis_31(x94,x96,x98);
      {OBJ x101=FLD1(x93,1);OBJ x103=FLD1(x93,3);FLAG x_x93=EXPRD(x93,1);
       if(x_x93){
       }else{
	CPPRD(x101,1);COPY(x103,1);}
       {OBJ x104;OBJ x105;
	if(x_x93){
	 RSOME(x93,x104);FLD1(x104,1)=x3;FRPRD(FLD1(x104,2),1);FLD1(x104,2)=x103;FLD1(x104,3)=x95;
	}else{
	 FRPRD(x93,1);PRD1(3,x104);FLD1(x104,1)=x3;FLD1(x104,2)=x103;FLD1(x104,3)=x95;}
	if(x_x2){
	 RSOME(x2,x105);FLD1(x105,1)=x101;FLD1(x105,2)=x104;
	}else{
	 FRPRD(x2,1);PRD1(2,x105);FLD1(x105,1)=x101;FLD1(x105,2)=x104;}
	if(x_x1){
	 RSOME(x1,r);FLD1(r,1)=x105;FLD1(r,2)=x100;
	}else{
	 FRPRD(x1,1);PRD1(2,r);FLD1(r,1)=x105;FLD1(r,2)=x100;}}}}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_32(OBJ x1,OBJ x2) /* debugMatchTree */
{OBJ r;
 CPCLS(__AMatchingAnalysis_33,1);
 COPY(x2,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_33,2))(__AMatchingAnalysis_33,x1,x2);
  r=_ADEBUG_3(__AMatchingAnalysis_34,x3,x2);}
 return r;}

extern OBJ _AMatchingAnalysis_33(OBJ x1,OBJ x2,OBJ x3) /* printMatchTree */
{OBJ r;
 r=_AMatchingAnalysis_37(x1,__ANat_5,x2);
 return r;}

extern OBJ _AMatchingAnalysis_35(OBJ x1,OBJ x2) /* < */
{OBJ r;
 {OBJ x11=FLD1(x1,1);
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   FRPRD(x1,1);}
  {OBJ x14=FLD1(x2,1);
   if(EXPRD(x2,1)){
    DSPRD(x2);
   }else{
    FRPRD(x2,1);}
   {OBJ x17;
    x17=x14;
    ANat_80(x11,x17,r);}}}
 return r;}

extern OBJ _AMatchingAnalysis_36(OBJ x1) /* ` */
{OBJ r;
 {OBJ x20=FLD1(x1,1);OBJ x21=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FRPRD(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x21,1);
   FRPRD(x1,1);}
  CPPRD(__AMatchingAnalysis_78,1);
  CPPRD(__AMatchingAnalysis_79,1);
  CPPRD(__AMatchingAnalysis_80,1);
  {OBJ x23;OBJ x24;OBJ x25;OBJ x26;OBJ x27;OBJ x28;
   x23=_AOcPos_34(x21);
   ANatConv_1(x20,x24);
   ADenotation_4(x23,__AMatchingAnalysis_78,x25);
   ADenotation_4(__AMatchingAnalysis_79,x25,x26);
   ADenotation_4(x24,x26,x27);
   ADenotation_4(__AMatchingAnalysis_80,x27,x28);
   r=_AString_49(x28);}}
 return r;}

extern OBJ _AMatchingAnalysis_37(OBJ x1,OBJ x2,OBJ x3) /* `,1 */
{OBJ r;
 if(ISPRM(x3)){
  FREE(x1,1);
  CPCLS(__AMatchingAnalysis_90,1);
  {OBJ x74;
   x74=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_90,1))(__AMatchingAnalysis_90,__ABUILTIN_20);
   r=_AMatchingAnalysis_43(x2,x74,__AString_6);}
 }else{
  if(ISTGPRD(x3,1)){
   {OBJ x60=FLD(x3,1);
    if(EXPRD(x3,1)){
     DSPRDF(x3);
    }else{
     COPY(x60,1);
     FRPRD(x3,1);}
    FREE(x1,1);
    CPCLS(__AMatchingAnalysis_81,1);
    CPCLS(__AMatchingAnalysis_84,1);
    {OBJ x61;OBJ x62;
     x61=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_84,1))(__AMatchingAnalysis_84,__ABUILTIN_20);
     x62=_ASeqReduce_3(__AMatchingAnalysis_81,__AString_6,x60);
     r=_AMatchingAnalysis_43(x2,x61,x62);}}
  }else{
   {OBJ x63=FLD(x3,1);OBJ x64=FLD(x3,2);OBJ x65=FLD(x3,3);
    if(EXPRD(x3,1)){
     DSPRDF(x3);
    }else{
     COPY(x63,1);COPY(x64,1);CPPRD(x65,1);
     FRPRD(x3,1);}
    CPCLS(__AMatchingAnalysis_81,1);
    CPCLS(__AMatchingAnalysis_82,1);
    CPCLS(__AMatchingAnalysis_86,1);
    CPCLS(__AMatchingAnalysis_88,1);
    {OBJ x66;OBJ x67;OBJ x68;OBJ x69;OBJ x70;OBJ x71;OBJ x72;OBJ x73;
     x66=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_86,1))(__AMatchingAnalysis_86,__ABUILTIN_20);
     x67=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_88,1))(__AMatchingAnalysis_88,__ABUILTIN_20);
     x68=_AMatchingAnalysis_41(x1,x2,x65);
     x69=_ASeqReduce_3(__AMatchingAnalysis_81,__AString_6,x64);
     x70=_ASeqReduce_3(__AMatchingAnalysis_82,__AString_6,x63);
     x71=_AMatchingAnalysis_43(x2,x67,x69);
     x72=_AMatchingAnalysis_43(x2,x66,x70);
     x73=_AString_24(x71,x68);
     r=_AString_24(x72,x73);}}}}
 return r;}

extern OBJ _AMatchingAnalysis_38(OBJ x1) /* `,2 */
{OBJ r;
 CPCLS(__AMatchingAnalysis_81,1);
 r=_ASeqReduce_3(__AMatchingAnalysis_81,__AString_6,x1);
 return r;}

extern OBJ _AMatchingAnalysis_39(OBJ x1) /* `,3 */
{OBJ r;
 CPCLS(__AMatchingAnalysis_82,1);
 r=_ASeqReduce_3(__AMatchingAnalysis_82,__AString_6,x1);
 return r;}

extern OBJ _AMatchingAnalysis_40(register OBJ x1,register OBJ x2) /* <,1 */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   if(ISPRM(x2)){
    r=__ABUILTIN_3;
   }else{
    HLT("MatchingAnalysis at <132,5> : missing else in <\'MatchingAnalysis:seq**seq->bool");}
  }else{
   {OBJ x71=FLD1(x1,1);OBJ x72=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     COPY(x72,1);
     FRPRD(x1,1);}
    if(ISPRM(x2)){
     HLT("MatchingAnalysis at <132,5> : missing else in <\'MatchingAnalysis:seq**seq->bool");
    }else{
     {OBJ x73=FLD1(x2,1);OBJ x74=FLD1(x2,2);
      if(EXPRD(x2,1)){
       DSPRDF(x2);
      }else{
       COPY(x74,1);
       FRPRD(x2,1);}
      {OBJ x77;
       ANat_80(x71,x73,x77);
       if(ISTGPRM(x77,1)){
	FREE(x72,1);
	FREE(x74,1);
	r=__ABUILTIN_5;
       }else{
	{OBJ x78;
	 ANat_76(x71,x73,x78);
	 if(ISTGPRM(x78,1)){
	  x1=x72;x2=x74;continue;
	 }else{
	  FREE(x72,1);
	  FREE(x74,1);
	  {OBJ x79;
	   ANat_81(x71,x73,x79);
	   if(ISTGPRM(x79,1)){
	    r=__ABUILTIN_3;
	   }else{
	    HLT("MatchingAnalysis at <136,6-138,23> : missing else in <\'MatchingAnalysis:seq**seq->bool");}}}}}}}}}}
  break;}
 return r;}

extern OBJ _AMatchingAnalysis_41(OBJ x1,OBJ x2,OBJ x3) /* `,4 */
{OBJ r;
 {OBJ x38=FLD1(x3,2);OBJ x39=FLD1(x3,3);
  if(EXPRD(x3,1)){
   FREE(FLD1(x3,1),1);DSPRDF(x3);
  }else{
   COPY(x38,1);COPY(x39,1);
   FRPRD(x3,1);}
  if(ISPRM(x39)){
   CPCLS(__AMatchingAnalysis_42,1);
   CPCLS(__AAnalyzedGlobSig_19,1);
   {OBJ x40;
    x40=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_42,2))(__AMatchingAnalysis_42,x1,x2);
    r=_AMapReduce_6(__AAnalyzedGlobSig_19,x40,__AString_6,x38);}
  }else{
   {OBJ x41=FLD1(x39,1);
    if(EXPRD(x39,1)){
     DSPRDF(x39);
    }else{
     COPY(x41,1);
     FRPRD(x39,1);}
    COPY(x1,1);
    CPCLS(__AMatchingAnalysis_42,1);
    CPCLS(__AMatchingAnalysis_93,1);
    CPCLS(__AAnalyzedGlobSig_19,1);
    {OBJ x42;OBJ x43;OBJ x44;OBJ x45;OBJ x46;OBJ x47;
     x42=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_42,2))(__AMatchingAnalysis_42,x1,x2);
     x43=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_93,1))(__AMatchingAnalysis_93,__ABUILTIN_20);
     ANat_2(x2,x44);
     x45=_AMapReduce_6(__AAnalyzedGlobSig_19,x42,__AString_6,x38);
     x46=_AMatchingAnalysis_37(x1,x44,x41);
     x47=_AMatchingAnalysis_43(x2,x43,x46);
     r=_AString_24(x45,x47);}}}}
 return r;}

extern OBJ _AMatchingAnalysis_42(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* `,5 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_91,1);
 COPY(x1,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x6=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_22,x3);
  ANat_2(x2,x7);
  ADenotation_4(__AMatchingAnalysis_91,x6,x8);
  x9=_AMatchingAnalysis_37(x1,x7,x4);
  x10=_AString_49(x8);
  x11=_AMatchingAnalysis_43(x2,x10,x9);
  r=_AString_24(x11,x5);}
 return r;}

extern OBJ _AMatchingAnalysis_43(register OBJ x1,register OBJ x2,register OBJ x3) /* line */
{OBJ r;
 for(;;){
  {OBJ x4;
   ANat_6(x1,x4);
   if(ISTGPRM(x4,1)){
    {OBJ x5;
     x5=_AString_2(__AChar_7,x2);
     r=_AString_24(x5,x3);}
   }else{
    {OBJ x6;
     ANat_3(x1,x6);
     if(ISTGPRM(x6,1)){
      {OBJ x7;OBJ x8;
       ANat_4(x1,x7);
       x8=_AString_2(__AChar_8,x2);
       x1=x7;x2=x8;continue;}
     }else{
      HLT("MatchingAnalysis at <162,5-8> : missing else in line\'MatchingAnalysis:nat**string->string->string");}}}}
  break;}
 return r;}

extern OBJ _AMatchingAnalysis_44(OBJ x1,OBJ x2,OBJ x3) /* new */
{OBJ r;
 CPCLS(__AAnalyzedGlobSig_19,1);
 COPY(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=_ASeq_52(x1,__ANat_5);
  x5=_AMap_31(__AAnalyzedGlobSig_19,x2,x3,__ATree_7);
  ANat_76(x4,__ANat_8,x6);
  if(ISTGPRM(x6,1)){
   PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x5;FLD1(r,3)=__AOption_5;
  }else{
   COPY(__AMatchingAnalysis_95,1);
   PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x5;FLD1(r,3)=__AMatchingAnalysis_95;}}
 return r;}

extern OBJ _AMatchingAnalysis_45(OBJ x1,OBJ x2) /* addToAll */
{OBJ r;
 {OBJ x30=FLD1(x1,1);OBJ x31=FLD1(x1,2);OBJ x32=FLD1(x1,3);FLAG x_x1=EXPRD(x1,1);
  if(x_x1){
  }else{
   COPY(x30,1);COPY(x31,1);COPY(x32,1);}
  if(ISPRM(x32)){
   CPCLS(__AAnalyzedGlobSig_19,1);
   {
    if(x_x1){
     RSOME(x1,r);FLD1(r,3)=__AOption_5;
    }else{
     FRPRD(x1,1);PRD1(3,r);FLD1(r,1)=x30;FLD1(r,3)=__AOption_5;}
    FLD1(r,2)=_AMapMap_5(__AAnalyzedGlobSig_19,x2,x31);}
  }else{
   {OBJ x34=FLD1(x32,1);FLAG x_x32=EXPRD(x32,1);
    if(x_x32){
    }else{
     COPY(x34,1);}
    CPCLS(x2,1);
    CPCLS(__AAnalyzedGlobSig_19,1);
    {OBJ x35;OBJ x36;OBJ x37;
     x35=_AMapMap_5(__AAnalyzedGlobSig_19,x2,x31);
     x36=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,x34);
     if(x_x32){
      RSOME(x32,x37);FLD1(x37,1)=x36;
     }else{
      FRPRD(x32,1);PRD1(1,x37);FLD1(x37,1)=x36;}
     if(x_x1){
      RSOME(x1,r);FLD1(r,2)=x35;FLD1(r,3)=x37;
     }else{
      FRPRD(x1,1);PRD1(3,r);FLD1(r,1)=x30;FLD1(r,2)=x35;FLD1(r,3)=x37;}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_46(OBJ x1,OBJ x2,OBJ x3) /* merge */
{OBJ r;
 {OBJ x59=FLD1(x1,1);OBJ x60=FLD1(x1,2);OBJ x61=FLD1(x1,3);FLAG x_x1=EXPRD(x1,1);
  if(x_x1){
  }else{
   COPY(x59,1);COPY(x60,1);COPY(x61,1);}
  {OBJ x92=FLD1(x2,1);OBJ x93=FLD1(x2,2);OBJ x94=FLD1(x2,3);
   if(EXPRD(x2,1)){
    COPY(x92,1);
    DSPRDF(x2);
   }else{
    COPY(x92,2);COPY(x93,1);COPY(x94,1);
    FRPRD(x2,1);}
   COPY(x59,1);
   CPCLS(__AAnalyzedGlobSig_19,3);
   {OBJ x95;OBJ x96;OBJ x97;OBJ x100;OBJ x101;OBJ x102;OBJ x103;
    x95=_ASetConv_3(__AAnalyzedGlobSig_19,x59);
    x96=_ASetConv_3(__AAnalyzedGlobSig_19,x92);
    x97=_ASet_46(__AAnalyzedGlobSig_19,x95,x96);
    if(ISTGPRM(x97,1)){
     FREE(x92,1);
     CPCLS(x3,1);
     COPY(x59,1);
     COPY(x61,1);
     COPY(x94,1);
     CPCLS(__AMatchingAnalysis_47,1);
     CPPRD(__AMatchingAnalysis_102,1);
     x100=__AMatchingAnalysis_47;x101=__ABUILTIN_3;
    }else{
     CPCLS(x3,1);
     COPY(x59,1);
     COPY(x61,1);
     COPY(x94,1);
     CPCLS(__AMatchingAnalysis_48,1);
     CPPRD(__AMatchingAnalysis_102,1);
     x100=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_48,1))(__AMatchingAnalysis_48,x92);
     x101=__AMatchingAnalysis_49;}
    x102=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x100,5))(x100,x60,x61,x93,x94,x3);
    x103=_ASeqReduce_4(x102,__AMatchingAnalysis_102,x59);
    {OBJ x104=FLD1(x103,1);OBJ x105=FLD1(x103,2);
     if(EXPRD(x103,1)){
      DSPRDF(x103);
     }else{
      COPY(x104,1);
      FRPRD(x103,1);}
     {OBJ x111;OBJ x112;
      if(ISTGPRM(x105,1)){
       FRCLS(x3,1);
       FREE(x61,1);
       FREE(x94,1);
       CPPRD(__AMatchingAnalysis_103,1);
       x111=__AOption_5;
      }else{
       {OBJ x109;OBJ x107;OBJ x110;
	if(ISPRM(x94)){
	 HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	}else{
	 {OBJ x108=FLD1(x94,1);
	  if(EXPRD(x94,1)){
	   x109=x108;
	   DSPRDF(x94);
	  }else{
	   COPY(x108,1);
	   x109=x108;
	   FRPRD(x94,1);}}}
	if(ISPRM(x61)){
	 HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	}else{
	 {OBJ x106=FLD1(x61,1);
	  if(EXPRD(x61,1)){
	   x107=x106;
	   DSPRDF(x61);
	  }else{
	   COPY(x106,1);
	   x107=x106;
	   FRPRD(x61,1);}
	  CPPRD(__AMatchingAnalysis_103,1);}}
	x110=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x3,2))(x3,x107,x109);
	PRD1(1,x111);FLD1(x111,1)=x110;}}
      if(x_x1){
       RSOME(x1,x112);FLD1(x112,2)=x104;FLD1(x112,3)=x111;
      }else{
       FRPRD(x1,1);PRD1(3,x112);FLD1(x112,1)=x59;FLD1(x112,2)=x104;FLD1(x112,3)=x111;}
      r=_ADEBUG_4(x101,__AMatchingAnalysis_103,x112);}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_47(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* mergeForName */
{OBJ r;
 CPCLS(__AAnalyzedGlobSig_19,2);
 COPY(x1,1);
 COPY(x3,1);
 COPY(x6,2);
 {OBJ x14;OBJ x15;
  x14=_AMap_20(__AAnalyzedGlobSig_19,x6,x1);
  x15=_AMap_20(__AAnalyzedGlobSig_19,x6,x3);
  {OBJ x29=FLD1(x7,1);OBJ x30=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
   }else{
    COPY(x29,1);}
   if(ISTGPRM(x14,1)){
    FREE(x2,1);
    COPY(x6,1);
    CPCLS(__AAnalyzedGlobSig_19,1);
    {OBJ x31;
     x31=_AMap_16(__AAnalyzedGlobSig_19,x1,x6);
     if(ISTGPRM(x15,1)){
      FREE(x4,1);
      COPY(x6,1);
      CPCLS(__AAnalyzedGlobSig_19,2);
      {OBJ x32;OBJ x33;
       x32=_AMap_16(__AAnalyzedGlobSig_19,x3,x6);
       x33=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x5,2))(x5,x31,x32);
       if(x_x7){
	RSOME(x7,r);
       }else{
	FRPRD(x7,1);PRD1(2,r);FLD1(r,2)=x30;}
       FLD1(r,1)=_AMap_31(__AAnalyzedGlobSig_19,x6,x33,x29);}
     }else{
      FREE(x3,1);
      {OBJ x36;OBJ x37;
       if(ISPRM(x4)){
	HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
       }else{
	{OBJ x35=FLD1(x4,1);
	 if(EXPRD(x4,1)){
	  x36=x35;
	  DSPRDF(x4);
	 }else{
	  COPY(x35,1);
	  x36=x35;
	  FRPRD(x4,1);}
	 CPCLS(__AAnalyzedGlobSig_19,1);}}
       x37=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x5,2))(x5,x31,x36);
       if(x_x7){
	RSOME(x7,r);
       }else{
	FRPRD(x7,1);PRD1(2,r);FLD1(r,2)=x30;}
       FLD1(r,1)=_AMap_31(__AAnalyzedGlobSig_19,x6,x37,x29);}}}
   }else{
    FREE(x1,1);
    FREE(x4,1);
    if(ISTGPRM(x15,1)){
     {OBJ x41;OBJ x39;OBJ x42;
      if(ISPRM(x2)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x40=FLD1(x2,1);
	if(EXPRD(x2,1)){
	 x41=x40;
	 DSPRDF(x2);
	}else{
	 COPY(x40,1);
	 x41=x40;
	 FRPRD(x2,1);}
	COPY(x6,1);
	CPCLS(__AAnalyzedGlobSig_19,2);}}
      x39=_AMap_16(__AAnalyzedGlobSig_19,x3,x6);
      x42=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x5,2))(x5,x41,x39);
      if(x_x7){
       RSOME(x7,r);
      }else{
       FRPRD(x7,1);PRD1(2,r);FLD1(r,2)=x30;}
      FLD1(r,1)=_AMap_31(__AAnalyzedGlobSig_19,x6,x42,x29);}
    }else{
     FREE(x2,1);
     FREE(x3,1);
     FRCLS(x5,1);
     FREE(x6,1);
     if(x_x7){
      RSOME(x7,r);FLD1(r,2)=__ABUILTIN_3;
     }else{
      FRPRD(x7,1);PRD1(2,r);FLD1(r,1)=x29;FLD1(r,2)=__ABUILTIN_3;}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_48(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* workAround */
{OBJ r;
 CPCLS(__AAnalyzedGlobSig_19,1);
 COPY(x2,1);
 COPY(x7,1);
 {OBJ x15;
  x15=_AMap_20(__AAnalyzedGlobSig_19,x7,x2);
  {OBJ x37=FLD1(x8,1);OBJ x38=FLD1(x8,2);FLAG x_x8=EXPRD(x8,1);
   if(x_x8){
   }else{
    COPY(x37,1);}
   COPY(x7,1);
   CPCLS(__AMatchingAnalysis_101,1);
   {OBJ x39;OBJ x40;OBJ x41;OBJ x42;OBJ x45;OBJ x46;
    x39=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_101,1))(__AMatchingAnalysis_101,x7);
    x40=_ASeqFilter_2(x39,x1);
    COPY(x40,1);
    x41=_ASeq_52(x40,__ANat_5);
    ANat_76(x41,__ANat_8,x42);
    if(ISTGPRM(x42,1)){
     if(ISPRM(x40)){
      HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
     }else{
      {OBJ x43=FLD1(x40,1);
       if(EXPRD(x40,1)){
	x45=x43;
	FREE(FLD1(x40,2),1);DSPRDF(x40);
       }else{
	COPY(x43,1);
	x45=x43;
	FRPRD(x40,1);}
       COPY(x4,1);
       CPCLS(__AAnalyzedGlobSig_19,1);}}
    }else{
     HLT("MatchingAnalysis at <221,17-37> : missing else in workAround\'MatchingAnalysis:seq->map**option**map**option**(matchTree**matchTree->matchTree)->name**pair->pair");}
    COPY(x45,1);
    x46=_AMap_20(__AAnalyzedGlobSig_19,x45,x4);
    if(ISTGPRM(x15,1)){
     FREE(x3,1);
     COPY(x7,1);
     CPCLS(__AAnalyzedGlobSig_19,1);
     {OBJ x47;
      x47=_AMap_16(__AAnalyzedGlobSig_19,x2,x7);
      if(ISTGPRM(x46,1)){
       FREE(x5,1);
       CPCLS(__AAnalyzedGlobSig_19,2);
       {OBJ x48;OBJ x49;
	x48=_AMap_16(__AAnalyzedGlobSig_19,x4,x45);
	x49=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x6,2))(x6,x47,x48);
	if(x_x8){
	 RSOME(x8,r);
	}else{
	 FRPRD(x8,1);PRD1(2,r);FLD1(r,2)=x38;}
	FLD1(r,1)=_AMap_31(__AAnalyzedGlobSig_19,x7,x49,x37);}
      }else{
       FREE(x4,1);
       FREE(x45,1);
       {OBJ x52;OBJ x53;
	if(ISPRM(x5)){
	 HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	}else{
	 {OBJ x51=FLD1(x5,1);
	  if(EXPRD(x5,1)){
	   x52=x51;
	   DSPRDF(x5);
	  }else{
	   COPY(x51,1);
	   x52=x51;
	   FRPRD(x5,1);}
	  CPCLS(__AAnalyzedGlobSig_19,1);}}
	x53=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x6,2))(x6,x47,x52);
	if(x_x8){
	 RSOME(x8,r);
	}else{
	 FRPRD(x8,1);PRD1(2,r);FLD1(r,2)=x38;}
	FLD1(r,1)=_AMap_31(__AAnalyzedGlobSig_19,x7,x53,x37);}}}
    }else{
     FREE(x2,1);
     FREE(x5,1);
     if(ISTGPRM(x46,1)){
      {OBJ x56;OBJ x57;OBJ x58;
       if(ISPRM(x3)){
	HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
       }else{
	{OBJ x55=FLD1(x3,1);
	 if(EXPRD(x3,1)){
	  x56=x55;
	  DSPRDF(x3);
	 }else{
	  COPY(x55,1);
	  x56=x55;
	  FRPRD(x3,1);}
	 CPCLS(__AAnalyzedGlobSig_19,2);}}
       x57=_AMap_16(__AAnalyzedGlobSig_19,x4,x45);
       x58=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x6,2))(x6,x56,x57);
       if(x_x8){
	RSOME(x8,r);
       }else{
	FRPRD(x8,1);PRD1(2,r);FLD1(r,2)=x38;}
       FLD1(r,1)=_AMap_31(__AAnalyzedGlobSig_19,x7,x58,x37);}
     }else{
      FREE(x3,1);
      FREE(x4,1);
      FRCLS(x6,1);
      FREE(x7,1);
      FREE(x45,1);
      if(x_x8){
       RSOME(x8,r);FLD1(r,2)=__ABUILTIN_3;
      }else{
       FRPRD(x8,1);PRD1(2,r);FLD1(r,1)=x37;FLD1(r,2)=__ABUILTIN_3;}}}}}}
 return r;}

extern TUP2 _AMatchingAnalysis_50(OBJ x1) /* mkInitialQueue */
{TUP2 r;
 if(ISTGPRD(x1,4)){
  {OBJ x74=FLD(x1,1);OBJ x75=FLD(x1,2);
   if(EXPRD(x1,1)){
    FREE(FLD(x1,3),1);DSPRDF(x1);
   }else{
    CPPRD(x74,1);CPPRD(x75,1);
    FRPRD(x1,1);}
   if(ISTGPRD(x75,3)){
    {OBJ x77=FLD(x75,1);
     if(EXPRD(x75,1)){
      FREE(FLD(x75,2),1);DSPRDF(x75);
     }else{
      COPY(x77,1);
      FRPRD(x75,1);}
     {TUP2 x80;TUP2 x83;
      x80=_AMatchingAnalysis_50(x74);
      x83=_AMatchingAnalysis_51(x77,x80.c2);r.c2=x83.c2;
      r.c1=_ASeq_26(x80.c1,x83.c1);}}
   }else{
    {TUP2 x87;OBJ x90;OBJ x91;
     x87=_AMatchingAnalysis_50(x74);
     ANat_2(x87.c2,r.c2);
     PRD1F(2,x90);FLD1(x90,1)=x87.c2;FLD1(x90,2)=__ASeq_6;
     PRD1(2,x91);FLD1(x91,1)=x90;FLD1(x91,2)=x75;
     r.c1=_ASeq_23(x87.c1,x91);}}}
 }else{
  if(ISTGPRD(x1,7)){
   if(EXPRD(x1,1)){
    DSPRD(x1);
   }else{
    DCPRD(x1,1);}
   r.c1=__ASeq_6;r.c2=__ANat_5;
  }else{
   HLT("MatchingAnalysis at <241,5-18> : missing else in mkInitialQueue\'MatchingAnalysis:expr->seq**nat");}}
 return r;}
extern OBJ _AMatchingAnalysis_50_c(OBJ x1) /* mkInitialQueue */
{OBJ r;
 {TUP2 t=_AMatchingAnalysis_50(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMatchingAnalysis_51(register OBJ x1,register OBJ x2) /* mkAdditionalQueue */
{TUP2 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;
 for(;;){
  if(ISPRM(x1)){
   *p1=__ASeq_6;*p2=x2;
  }else{
   {OBJ x27=FLD1(x1,1);OBJ x28=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
    if(x_x1){
    }else{
     CPPRD(x27,1);COPY(x28,1);}
    {OBJ x29;OBJ x30;OBJ x32;
     if(x_x1){
      RSOME(x1,x29);FLD1(x29,1)=x2;FLD1(x29,2)=__ASeq_6;
     }else{
      FRPRD(x1,1);PRD1F(2,x29);FLD1(x29,1)=x2;FLD1(x29,2)=__ASeq_6;}
     ANat_2(x2,x30);
     PRD1(2,x32);FLD1(x32,1)=x29;FLD1(x32,2)=x27;
     PRD1(2,*p1);FLD1(*p1,1)=x32;
     x1=x28;x2=x30;p1=&FLD1(*p1,2);continue;}}}
  break;}
 return r;}
extern OBJ _AMatchingAnalysis_51_c(OBJ x1,OBJ x2) /* mkAdditionalQueue */
{OBJ r;
 {TUP2 t=_AMatchingAnalysis_51(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMatchingAnalysis_56(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* traceGenTree */
{OBJ r;
 CPPRD(__AMatchingAnalysis_94,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;
  x5=_AMatchingAnalysis_36(x2);
  x6=_AMatchingAnalysis_37(x1,__AMatchingAnalysis_54,x3);
  PRD(1,4,x7);FLD(x7,1)=x5;
  PRD(1,4,x8);FLD(x8,1)=x6;
  x9=_ASeq_14(x7,x8);
  r=_AStringFormat_1(__AMatchingAnalysis_94,x9);}
 return r;}

extern OBJ _AMatchingAnalysis_57(OBJ x1,OBJ x2,OBJ x3) /* debugGenTree */
{OBJ r;
 {OBJ x4;OBJ x5;
  if(ISTGPRM(__AMatchingAnalysis_52,1)){
   COPY(x3,1);
   CPCLS(__AMatchingAnalysis_56,1);
   x4=__ABUILTIN_5;
  }else{
   COPY(x3,1);
   CPCLS(__AMatchingAnalysis_56,1);
   x4=__AMatchingAnalysis_53;}
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_56,3))(__AMatchingAnalysis_56,x1,x2,x3);
  r=_ADEBUG_3(x4,x5,x3);}
 return r;}

extern OBJ _AMatchingAnalysis_58(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* traceAddTree */
{OBJ r;
 CPPRD(__AMatchingAnalysis_97,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;
  x5=_AMatchingAnalysis_36(x2);
  x6=_AMatchingAnalysis_37(x1,__AMatchingAnalysis_54,x3);
  PRD(1,4,x7);FLD(x7,1)=x5;
  PRD(1,4,x8);FLD(x8,1)=x6;
  x9=_ASeq_14(x7,x8);
  r=_AStringFormat_1(__AMatchingAnalysis_97,x9);}
 return r;}

extern OBJ _AMatchingAnalysis_59(OBJ x1,OBJ x2,OBJ x3) /* debugAddTree */
{OBJ r;
 {OBJ x4;OBJ x5;
  if(ISTGPRM(__AMatchingAnalysis_52,1)){
   COPY(x3,1);
   CPCLS(__AMatchingAnalysis_58,1);
   x4=__ABUILTIN_5;
  }else{
   COPY(x3,1);
   CPCLS(__AMatchingAnalysis_58,1);
   x4=__AMatchingAnalysis_53;}
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_58,3))(__AMatchingAnalysis_58,x1,x2,x3);
  r=_ADEBUG_3(x4,x5,x3);}
 return r;}

extern OBJ _AMatchingAnalysis_60(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9) /* traceStep */
{OBJ r;
 CPCLS(__AMatchingAnalysis_81,3);
 CPPRD(__AMatchingAnalysis_98,1);
 CPPRD(__AMatchingAnalysis_99,1);
 CPPRD(__AMatchingAnalysis_100,1);
 COPY(x1,2);
 {OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;OBJ x16;OBJ x17;OBJ x18;OBJ x19;OBJ x20;OBJ x21;OBJ x22;OBJ x23;OBJ x24;OBJ x25;OBJ x26;OBJ x27;OBJ x28;OBJ x29;OBJ x30;
  x10=_AMatchingAnalysis_36(x3);
  x11=_AMatchingAnalysis_37(x1,__AMatchingAnalysis_55,x2);
  x12=_ASeqReduce_3(__AMatchingAnalysis_81,__AString_6,x5);
  x13=_AMatchingAnalysis_37(x1,__AMatchingAnalysis_55,x4);
  x14=_ASeqReduce_3(__AMatchingAnalysis_81,__AString_6,x6);
  x15=_ASeqReduce_3(__AMatchingAnalysis_81,__AString_6,x7);
  x16=_AMatchingAnalysis_37(x1,__AMatchingAnalysis_55,x8);
  PRD(1,4,x17);FLD(x17,1)=x10;
  PRD(1,4,x18);FLD(x18,1)=x11;
  PRD(1,4,x19);FLD(x19,1)=x12;
  PRD(1,4,x20);FLD(x20,1)=x13;
  PRD(1,4,x21);FLD(x21,1)=x14;
  PRD(1,4,x22);FLD(x22,1)=x15;
  PRD(1,4,x23);FLD(x23,1)=x16;
  x24=_ASeq_14(x17,x18);
  x25=_ASeq_14(x19,x20);
  x26=_ASeq_15(x21,x22,x23);
  x27=_AStringFormat_1(__AMatchingAnalysis_98,x24);
  x28=_AStringFormat_1(__AMatchingAnalysis_99,x25);
  x29=_AStringFormat_1(__AMatchingAnalysis_100,x26);
  x30=_AString_24(x28,x29);
  r=_AString_24(x27,x30);}
 return r;}

extern OBJ _AMatchingAnalysis_61(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* debugStep */
{OBJ r;
 CPCLS(__AMatchingAnalysis_60,1);
 COPY(x8,1);
 {OBJ x9;
  x9=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_60,8))(__AMatchingAnalysis_60,x1,x2,x3,x4,x5,x6,x7,x8);
  r=_ADEBUG_3(__AMatchingAnalysis_53,x9,x8);}
 return r;}

extern OBJ _AMatchingAnalysis_62(OBJ x1,OBJ x2) /* generateTree */
{OBJ r;
 {OBJ x14=FLD1(x2,1);OBJ x15=FLD1(x2,2);
  if(EXPRD(x2,1)){
   CPPRD(x15,2);
   COPY(x1,1);
   {TUP2 x17;OBJ x19;
    x17=_AMatchingAnalysis_50(x14);
    x19=_AMatchingAnalysis_63(x1,x17.c1,x15);
    RSOME(x2,r);
    FLD1(r,1)=_AMatchingAnalysis_57(x1,x15,x19);}
  }else{
   CPPRD(x14,1);CPPRD(x15,3);
   COPY(x1,1);
   {TUP2 x17;OBJ x19;
    x17=_AMatchingAnalysis_50(x14);
    x19=_AMatchingAnalysis_63(x1,x17.c1,x15);
    FRPRD(x2,1);PRD1(2,r);FLD1(r,2)=x15;
    FLD1(r,1)=_AMatchingAnalysis_57(x1,x15,x19);}}}
 return r;}

extern OBJ _AMatchingAnalysis_63(register OBJ x1,register OBJ x2,register OBJ x3) /* genTree */
{OBJ r;
 for(;;){
  if(ISPRM(x2)){
   FREE(x1,1);
   {OBJ x648;
    PRD1(2,x648);FLD1(x648,1)=x3;FLD1(x648,2)=__ASeq_6;
    PRD(1,1,r);FLD(r,1)=x648;}
  }else{
   {OBJ x649=FLD1(x2,1);OBJ x650=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
    }else{
     CPPRD(x649,1);COPY(x650,1);}
    {OBJ x651=FLD1(x649,1);OBJ x652=FLD1(x649,2);FLAG x_x649=EXPRD(x649,1);
     if(x_x649){
     }else{
      COPY(x651,1);CPPRD(x652,1);}
     if(ISTGPRD(x652,7)){
      {OBJ x653=FLD(x652,1);
       if(EXPRD(x652,1)){
	COPY(x653,1);
	if(x_x2){
	 DSPRDF(x2);
	}else{
	 FRPRD(x2,1);}
	if(x_x649){
	 DSPRDF(x649);
	}else{
	 FRPRD(x649,1);}
	FREE(FLD(x652,2),1);DSPRDF(x652);
       }else{
	COPY(x653,2);
	if(x_x2){
	 DSPRDF(x2);
	}else{
	 FRPRD(x2,1);}
	if(x_x649){
	 DSPRDF(x649);
	}else{
	 FRPRD(x649,1);}
	FRPRD(x652,1);}
       {OBJ x655;
	x655=_AAnalyzedGlobSig_1(x653);
	if(ISTGPRM(x655,1)){
	 COPY(x1,2);
	 COPY(x653,1);
	 {OBJ x656;OBJ x657;
	  x656=_AMatchingAnalysis_63(x1,x650,x3);
	  x657=_AAnalyzedGlobSigH_1(x1,x653);
	  if(ISPRD(x657)&&(ISTGPRD(x657,2))){
	   {OBJ x659=FLD(x657,2);
	    if(EXPRD(x657,1)){
	     FREE(FLD(x657,1),1);DSPRDF(x657);
	    }else{
	     COPY(x659,1);
	     FRPRD(x657,1);}
	    if(ISPRD(x659)&&(ISTGPRD(x659,0))){
	     {OBJ x660=FLD(x659,1);
	      if(EXPRD(x659,1)){
	       DSPRDF(x659);
	      }else{
	       COPY(x660,1);
	       FRPRD(x659,1);}
	      CPCLS(__AGlobSigImpl_16,1);
	      {OBJ x661;OBJ x662;
	       x661=_AAnalyzedGlobSig_54(x1,x660);
	       x662=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_16,1))(__AGlobSigImpl_16,x661);
	       {OBJ x664=FLD1(x662,2);
		if(EXPRD(x662,1)){
		 FLD1(x662,2)=NIL;DSPRD(x662);
		}else{
		 COPY(x664,1);
		 FRPRD(x662,1);}
		CPCLS(__AImpl_161,1);
		{OBJ x666;
		 x666=_ASeqMap_3(__AImpl_161,x664);
		 PRD(3,2,r);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;
		 FLD(r,3)=_AMatchingAnalysis_44(x666,x653,x656);}}}}
	    }else{
	     HLT("Fct at <unknown> : undefined selection object\'Fct:fct->obj");}}
	  }else{
	   if(ISPRD(x657)&&(ISTGPRD(x657,0))){
	    {OBJ x668=FLD(x657,1);
	     if(EXPRD(x657,1)){
	      DSPRDF(x657);
	     }else{
	      COPY(x668,1);
	      FRPRD(x657,1);}
	     CPCLS(__AGlobSigImpl_16,1);
	     {OBJ x669;OBJ x670;
	      x669=_AAnalyzedGlobSig_54(x1,x668);
	      x670=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_16,1))(__AGlobSigImpl_16,x669);
	      {OBJ x672=FLD1(x670,2);
	       if(EXPRD(x670,1)){
		FLD1(x670,2)=NIL;DSPRD(x670);
	       }else{
		COPY(x672,1);
		FRPRD(x670,1);}
	       CPCLS(__AImpl_161,1);
	       {OBJ x674;
		x674=_ASeqMap_3(__AImpl_161,x672);
		PRD(3,2,r);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;
		FLD(r,3)=_AMatchingAnalysis_44(x674,x653,x656);}}}}
	   }else{
	    HLT("MatchingAnalysis at <330,41-331,66> : missing else in genTree\'MatchingAnalysis:globSig->seq**case->matchTree");}}}
	}else{
	 FREE(x651,1);
	 CPCLS(__AName_3,1);
	 {OBJ x676;
	  x676=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName_3,1))(__AName_3,x653);
	  if(ISTGPRM(x676,1)){
	   x2=x650;continue;
	  }else{
	   HLT("MatchingAnalysis at <328,9-335,35> : missing else in genTree\'MatchingAnalysis:globSig->seq**case->matchTree");}}}}}
     }else{
      if(ISTGPRD(x652,8)){
       {OBJ x678=FLD(x652,2);
	if(EXPRD(x652,1)){
	 FLD(x652,2)=NIL;DSPRD(x652);
	}else{
	 CPPRD(x678,1);
	 FRPRD(x652,1);}
	{OBJ x680;OBJ x681;
	 if(x_x649){
	  RSOME(x649,x680);FLD1(x680,2)=x678;
	 }else{
	  FRPRD(x649,1);PRD1(2,x680);FLD1(x680,1)=x651;FLD1(x680,2)=x678;}
	 if(x_x2){
	  RSOME(x2,x681);FLD1(x681,1)=x680;
	 }else{
	  FRPRD(x2,1);PRD1(2,x681);FLD1(x681,1)=x680;FLD1(x681,2)=x650;}
	 x2=x681;continue;}}
      }else{
       if(ISTGPRD(x652,4)){
	{OBJ x682=FLD(x652,1);OBJ x683=FLD(x652,2);FLAG x_x652=EXPRD(x652,1);
	 if(x_x652){
	 }else{
	  CPPRD(x682,1);CPPRD(x683,1);}
	 if(ISTGPRD(x682,7)){
	  {OBJ x685=FLD(x682,1);
	   if(EXPRD(x682,1)){
	    FREE(FLD(x682,2),1);DSPRDF(x682);
	   }else{
	    COPY(x685,1);
	    FRPRD(x682,1);}
	   {OBJ x689;OBJ x690;
	    if(ISTGPRD(x683,3)){
	     COPY(x1,1);
	     COPY(x685,1);
	     x689=__ABUILTIN_5;
	    }else{
	     COPY(x1,1);
	     COPY(x685,1);
	     x689=__ABUILTIN_3;}
	    x690=_AAnalyzedGlobSigH_1(x1,x685);
	    if(ISPRD(x690)&&(ISTGPRD(x690,2))){
	     {OBJ x692=FLD(x690,2);
	      if(EXPRD(x690,1)){
	       FREE(FLD(x690,1),1);DSPRDF(x690);
	      }else{
	       COPY(x692,1);
	       FRPRD(x690,1);}
	      if(ISPRD(x692)&&(ISTGPRD(x692,0))){
	       {OBJ x693=FLD(x692,1);
		if(EXPRD(x692,1)){
		 DSPRDF(x692);
		}else{
		 COPY(x693,1);
		 FRPRD(x692,1);}
		COPY(x1,1);
		CPCLS(__AGlobSigImpl_16,1);
		{OBJ x694;OBJ x695;
		 x694=_AAnalyzedGlobSig_54(x1,x693);
		 x695=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_16,1))(__AGlobSigImpl_16,x694);
		 {OBJ x697=FLD1(x695,2);
		  if(EXPRD(x695,1)){
		   FLD1(x695,2)=NIL;DSPRD(x695);
		  }else{
		   COPY(x697,1);
		   FRPRD(x695,1);}
		  CPCLS(__AImpl_161,1);
		  {OBJ x699;
		   x699=_ASeqMap_3(__AImpl_161,x697);
		   if(ISTGPRM(x689,1)){
		    if(x_x2){
		     DSPRDF(x2);
		    }else{
		     FRPRD(x2,1);}
		    if(x_x649){
		     DSPRDF(x649);
		    }else{
		     FRPRD(x649,1);}
		    if(ISTGPRD(x683,3)){
		     {OBJ x700=FLD(x683,1);
		      if(EXPRD(x683,1)){
		       FREE(FLD(x683,2),1);DSPRDF(x683);
		      }else{
		       COPY(x700,1);
		       FRPRD(x683,1);}
		      COPY(x651,1);
		      CPCLS(__AMatchingAnalysis_96,1);
		      {OBJ x702;OBJ x703;OBJ x704;OBJ x705;
		       x702=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_96,1))(__AMatchingAnalysis_96,x651);
		       x703=_ASeqReduce_4(x702,__ASeq_6,x700);
		       x704=_ASeq_26(x703,x650);
		       x705=_AMatchingAnalysis_63(x1,x704,x3);
		       if(x_x652){
			RPRD(x652,r);CHGTG(r,2);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;FREE(FLD(r,3),1);
		       }else{
			FRPRD(x652,1);PRD(3,2,r);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;}
		       FLD(r,3)=_AMatchingAnalysis_44(x699,x685,x705);}}
		    }else{
		     HLT("Impl at <unknown> : undefined selection elems\'Impl:expr->seq");}
		   }else{
		    COPY(x651,1);
		    {OBJ x707;OBJ x708;OBJ x709;OBJ x710;
		     x707=_ASeq_23(x651,__ANat_5);
		     if(x_x649){
		      RSOME(x649,x708);FLD1(x708,1)=x707;FLD1(x708,2)=x683;
		     }else{
		      FRPRD(x649,1);PRD1(2,x708);FLD1(x708,1)=x707;FLD1(x708,2)=x683;}
		     if(x_x2){
		      RSOME(x2,x709);FLD1(x709,1)=x708;
		     }else{
		      FRPRD(x2,1);PRD1(2,x709);FLD1(x709,1)=x708;FLD1(x709,2)=x650;}
		     x710=_AMatchingAnalysis_63(x1,x709,x3);
		     if(x_x652){
		      RPRD(x652,r);CHGTG(r,2);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;FREE(FLD(r,3),1);
		     }else{
		      FRPRD(x652,1);PRD(3,2,r);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;}
		     FLD(r,3)=_AMatchingAnalysis_44(x699,x685,x710);}}}}}}
	      }else{
	       HLT("Fct at <unknown> : undefined selection object\'Fct:fct->obj");}}
	    }else{
	     if(ISPRD(x690)&&(ISTGPRD(x690,0))){
	      {OBJ x712=FLD(x690,1);
	       if(EXPRD(x690,1)){
		DSPRDF(x690);
	       }else{
		COPY(x712,1);
		FRPRD(x690,1);}
	       COPY(x1,1);
	       CPCLS(__AGlobSigImpl_16,1);
	       {OBJ x713;OBJ x714;
		x713=_AAnalyzedGlobSig_54(x1,x712);
		x714=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_16,1))(__AGlobSigImpl_16,x713);
		{OBJ x716=FLD1(x714,2);
		 if(EXPRD(x714,1)){
		  FLD1(x714,2)=NIL;DSPRD(x714);
		 }else{
		  COPY(x716,1);
		  FRPRD(x714,1);}
		 CPCLS(__AImpl_161,1);
		 {OBJ x718;
		  x718=_ASeqMap_3(__AImpl_161,x716);
		  if(ISTGPRM(x689,1)){
		   if(x_x2){
		    DSPRDF(x2);
		   }else{
		    FRPRD(x2,1);}
		   if(x_x649){
		    DSPRDF(x649);
		   }else{
		    FRPRD(x649,1);}
		   if(ISTGPRD(x683,3)){
		    {OBJ x719=FLD(x683,1);
		     if(EXPRD(x683,1)){
		      FREE(FLD(x683,2),1);DSPRDF(x683);
		     }else{
		      COPY(x719,1);
		      FRPRD(x683,1);}
		     COPY(x651,1);
		     CPCLS(__AMatchingAnalysis_96,1);
		     {OBJ x721;OBJ x722;OBJ x723;OBJ x724;
		      x721=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_96,1))(__AMatchingAnalysis_96,x651);
		      x722=_ASeqReduce_4(x721,__ASeq_6,x719);
		      x723=_ASeq_26(x722,x650);
		      x724=_AMatchingAnalysis_63(x1,x723,x3);
		      if(x_x652){
		       RPRD(x652,r);CHGTG(r,2);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;FREE(FLD(r,3),1);
		      }else{
		       FRPRD(x652,1);PRD(3,2,r);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;}
		      FLD(r,3)=_AMatchingAnalysis_44(x718,x685,x724);}}
		   }else{
		    HLT("Impl at <unknown> : undefined selection elems\'Impl:expr->seq");}
		  }else{
		   COPY(x651,1);
		   {OBJ x726;OBJ x727;OBJ x728;OBJ x729;
		    x726=_ASeq_23(x651,__ANat_5);
		    if(x_x649){
		     RSOME(x649,x727);FLD1(x727,1)=x726;FLD1(x727,2)=x683;
		    }else{
		     FRPRD(x649,1);PRD1(2,x727);FLD1(x727,1)=x726;FLD1(x727,2)=x683;}
		    if(x_x2){
		     RSOME(x2,x728);FLD1(x728,1)=x727;
		    }else{
		     FRPRD(x2,1);PRD1(2,x728);FLD1(x728,1)=x727;FLD1(x728,2)=x650;}
		    x729=_AMatchingAnalysis_63(x1,x728,x3);
		    if(x_x652){
		     RPRD(x652,r);CHGTG(r,2);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;FREE(FLD(r,3),1);
		    }else{
		     FRPRD(x652,1);PRD(3,2,r);FLD(r,1)=x651;FLD(r,2)=__ASeq_6;}
		    FLD(r,3)=_AMatchingAnalysis_44(x718,x685,x729);}}}}}}
	     }else{
	      HLT("MatchingAnalysis at <343,36-344,61> : missing else in genTree\'MatchingAnalysis:globSig->seq**case->matchTree");}}}}
	 }else{
	  HLT("MatchingAnalysis at <322,5-11> : missing else in genTree\'MatchingAnalysis:globSig->seq**case->matchTree");}}
       }else{
	HLT("MatchingAnalysis at <322,5-11> : missing else in genTree\'MatchingAnalysis:globSig->seq**case->matchTree");}}}}}}
  break;}
 return r;}

extern OBJ _AMatchingAnalysis_64(OBJ x1,OBJ x2,OBJ x3) /* addTree */
{OBJ r;
 {OBJ x19=FLD1(x2,1);OBJ x20=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   COPY(x19,1);CPPRD(x20,1);
   FRPRD(x2,1);}
  {OBJ x30=FLD1(x3,1);OBJ x31=FLD1(x3,2);
   if(EXPRD(x3,1)){
    COPY(x31,1);
    COPY(x1,1);
    CPPRD(x20,2);
    CPCLS(__AMatchingAnalysis_35,1);
    {OBJ x32;OBJ x33;
     x32=_AMatchingAnalysis_65(x1,x19,x20,x30,x31,__ASeq_6,__ASeq_6);
     x33=_ASet_39(__AMatchingAnalysis_35,x20,x31);
     RSOME(x3,r);FLD1(r,2)=x33;
     FLD1(r,1)=_AMatchingAnalysis_59(x1,x20,x32);}
   }else{
    COPY(x30,1);COPY(x31,2);
    COPY(x1,1);
    CPPRD(x20,2);
    CPCLS(__AMatchingAnalysis_35,1);
    {OBJ x32;OBJ x33;
     x32=_AMatchingAnalysis_65(x1,x19,x20,x30,x31,__ASeq_6,__ASeq_6);
     x33=_ASet_39(__AMatchingAnalysis_35,x20,x31);
     FRPRD(x3,1);PRD1(2,r);FLD1(r,2)=x33;
     FLD1(r,1)=_AMatchingAnalysis_59(x1,x20,x32);}}}}
 return r;}

extern OBJ _AMatchingAnalysis_65(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* add */
{OBJ r;
 CPCLS(__AMatchingAnalysis_60,1);
 COPY(x1,1);
 COPY(x2,1);
 CPPRD(x3,1);
 COPY(x4,1);
 COPY(x5,1);
 COPY(x6,1);
 COPY(x7,1);
 {OBJ x8;OBJ x9;
  x8=_AMatchingAnalysis_66(x1,x2,x3,x4,x5,x6,x7);
  COPY(x8,1);
  x9=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_60,8))(__AMatchingAnalysis_60,x1,x2,x3,x4,x5,x6,x7,x8);
  r=_ADEBUG_3(__AMatchingAnalysis_53,x9,x8);}
 return r;}

extern OBJ _AMatchingAnalysis_66(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* doAdd */
{OBJ r;
 if(ISPRM(x2)){
  FREE(x1,1);
  FRPRD(x3,1);
  FREE(x5,1);
  FREE(x6,1);
  FREE(x7,1);
  if(ISPRM(x4)){
   r=__AMatchingAnalysis_22;
  }else{
   r=x4;}
 }else{
  if(ISTGPRD(x2,1)){
   if(ISPRM(x4)){
    FREE(x1,1);
    FRPRD(x3,1);
    FREE(x5,1);
    FREE(x6,1);
    FREE(x7,1);
    r=x2;
   }else{
    if(ISTGPRD(x4,1)){
     {OBJ x235=FLD(x4,1);FLAG x_x4=EXPRD(x4,1);
      if(x_x4){
       COPY(x235,1);
      }else{
       COPY(x235,2);}
      FREE(x1,1);
      if(EXPRD(x2,1)){
       FREE(FLD(x2,1),1);DSPRDF(x2);
      }else{
       DCPRD(x2,1);}
      FREE(x5,1);
      COPY(x6,1);
      COPY(x7,1);
      CPCLS(__AMatchingAnalysis_35,2);
      {OBJ x236;OBJ x237;
       x236=_ASet_42(__AMatchingAnalysis_35,x6,x7);
       x237=_ASet_43(__AMatchingAnalysis_35,x236,x235);
       if(ISPRM(x237)){
	CPCLS(__AMatchingAnalysis_35,3);
	{OBJ x238;OBJ x239;
	 x238=_ASet_42(__AMatchingAnalysis_35,x7,x6);
	 x239=_ASet_42(__AMatchingAnalysis_35,x235,x238);
	 if(x_x4){
	  RPRD(x4,r);
	 }else{
	  FRPRD(x4,1);PRD(1,1,r);}
	 FLD(r,1)=_ASet_39(__AMatchingAnalysis_35,x3,x239);}
       }else{
	if(EXPRD(x237,1)){
	 DSPRD(x237);
	}else{
	 DCPRD(x237,1);}
	FRPRD(x3,1);
	FREE(x6,1);
	FREE(x7,1);
	if(x_x4){
	 RPRD(x4,r);
	}else{
	 FRPRD(x4,1);PRD(1,1,r);FLD(r,1)=x235;}}}}
    }else{
     {OBJ x243;OBJ x244=FLD(x4,2);OBJ x245=FLD(x4,3);
      if(EXPRD(x4,1)){
       COPY(x244,1);
       CPPRD(x3,1);
       CPCLS(__AMatchingAnalysis_35,1);
       CPCLS(__AMatchingAnalysis_104,1);
       {OBJ x246;OBJ x247;
	x246=_ASet_39(__AMatchingAnalysis_35,x3,x244);
	x247=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_104,7))(__AMatchingAnalysis_104,x1,x2,x3,x5,x6,x7,x244);
	RPRD(x4,r);FLD(r,2)=x246;
	FLD(r,3)=_AMatchingAnalysis_45(x245,x247);}
      }else{
       x243=FLD(x4,1);COPY(x243,1);COPY(x244,2);CPPRD(x245,1);
       CPPRD(x3,1);
       CPCLS(__AMatchingAnalysis_35,1);
       CPCLS(__AMatchingAnalysis_104,1);
       {OBJ x246;OBJ x247;
	x246=_ASet_39(__AMatchingAnalysis_35,x3,x244);
	x247=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_104,7))(__AMatchingAnalysis_104,x1,x2,x3,x5,x6,x7,x244);
	FRPRD(x4,1);PRD(3,2,r);FLD(r,1)=x243;FLD(r,2)=x246;
	FLD(r,3)=_AMatchingAnalysis_45(x245,x247);}}}}}
  }else{
   {OBJ x249=FLD(x2,1);OBJ x251=FLD(x2,3);
    COPY(x249,1);CPPRD(x251,1);
    if(ISPRM(x4)){
     FREE(x1,1);
     FRPRD(x3,1);
     FREE(x5,1);
     FREE(x6,1);
     FREE(x7,1);
     FREE(x249,1);
     FRPRD(x251,1);
     r=x2;
    }else{
     if(ISTGPRD(x4,1)){
      if(EXPRD(x2,1)){
       DSPRD(x2);
      }else{
       DCPRD(x2,1);}
      FREE(x7,1);
      COPY(x5,1);
      CPCLS(__AMatchingAnalysis_105,1);
      {OBJ x253;
       x253=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_105,5))(__AMatchingAnalysis_105,x1,x3,x4,x5,x6);
       PRD(3,2,r);FLD(r,1)=x249;FLD(r,2)=x5;
       FLD(r,3)=_AMatchingAnalysis_45(x251,x253);}
     }else{
      {OBJ x255=FLD(x4,1);OBJ x256=FLD(x4,2);OBJ x257=FLD(x4,3);
       COPY(x255,2);COPY(x256,1);CPPRD(x257,1);
       COPY(x249,1);
       {OBJ x258;
	x258=_AMatchingAnalysis_40(x249,x255);
	if(ISTGPRM(x258,1)){
	 if(EXPRD(x2,1)){
	  DSPRD(x2);
	 }else{
	  DCPRD(x2,1);}
	 FREE(x7,1);
	 FREE(x255,1);
	 FREE(x256,1);
	 FRPRD(x257,1);
	 COPY(x5,1);
	 CPCLS(__AMatchingAnalysis_106,1);
	 {OBJ x259;
	  x259=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_106,5))(__AMatchingAnalysis_106,x1,x3,x4,x5,x6);
	  PRD(3,2,r);FLD(r,1)=x249;FLD(r,2)=x5;
	  FLD(r,3)=_AMatchingAnalysis_45(x251,x259);}
	}else{
	 if(EXPRD(x4,1)){
	  DSPRD(x4);
	 }else{
	  DCPRD(x4,1);}
	 COPY(x255,1);
	 {OBJ x261;
	  x261=_AMatchingAnalysis_40(x255,x249);
	  if(ISTGPRM(x261,1)){
	   FRPRD(x251,1);
	   CPPRD(x3,1);
	   COPY(x256,1);
	   CPCLS(__AMatchingAnalysis_35,1);
	   CPCLS(__AMatchingAnalysis_107,1);
	   {OBJ x262;OBJ x263;
	    x262=_ASet_39(__AMatchingAnalysis_35,x3,x256);
	    x263=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_107,7))(__AMatchingAnalysis_107,x1,x2,x3,x5,x6,x7,x256);
	    PRD(3,2,r);FLD(r,1)=x255;FLD(r,2)=x262;
	    FLD(r,3)=_AMatchingAnalysis_45(x257,x263);}
	  }else{
	   if(EXPRD(x2,1)){
	    DSPRD(x2);
	   }else{
	    DCPRD(x2,1);}
	   COPY(x256,1);
	   CPCLS(__AMatchingAnalysis_108,1);
	   {OBJ x265;
	    x265=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_108,6))(__AMatchingAnalysis_108,x1,x3,x5,x6,x7,x256);
	    PRD(3,2,r);FLD(r,1)=x255;FLD(r,2)=x256;
	    FLD(r,3)=_AMatchingAnalysis_46(x251,x257,x265);}}}}}}}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_67(OBJ x1) /* mkInitialPattDescr */
{OBJ r;
 if(ISTGPRD(x1,4)){
  {OBJ x89=FLD(x1,1);OBJ x90=FLD(x1,2);
   if(EXPRD(x1,1)){
    FREE(FLD(x1,3),1);DSPRDF(x1);
   }else{
    CPPRD(x89,1);CPPRD(x90,1);
    FRPRD(x1,1);}
   if(ISTGPRD(x90,3)){
    {OBJ x92=FLD(x90,1);
     if(EXPRD(x90,1)){
      FREE(FLD(x90,2),1);DSPRDF(x90);
     }else{
      COPY(x92,1);
      FRPRD(x90,1);}
     CPCLS(__AMatchingAnalysis_109,1);
     {OBJ x94;OBJ x95;
      x94=_AMatchingAnalysis_67(x89);
      x95=_ASeqMap_3(__AMatchingAnalysis_109,x92);
      if(ISPRD(x94)&&(ISTGPRD(x94,0))){
       {OBJ x96;OBJ x97=FLD(x94,2);
	if(EXPRD(x94,1)){
	 {
	  RPRD(x94,r);
	  FLD(r,2)=_ASeq_23(x97,x95);}
	}else{
	 x96=FLD(x94,1);COPY(x96,1);COPY(x97,1);
	 {
	  FRPRD(x94,1);PRD(2,0,r);FLD(r,1)=x96;
	  FLD(r,2)=_ASeq_23(x97,x95);}}}
      }else{
       HLT("Patterns at <unknown> : undefined selection fun\'Patterns:pattDescr->obj");}}}
   }else{
    if(ISTGPRD(x90,7)){
     if(EXPRD(x90,1)){
      DSPRD(x90);
     }else{
      DCPRD(x90,1);}
     {OBJ x101;
      x101=_AMatchingAnalysis_67(x89);
      if(ISPRD(x101)&&(ISTGPRD(x101,0))){
       {OBJ x102;OBJ x103=FLD(x101,2);
	if(EXPRD(x101,1)){
	 COPY(__AMatchingAnalysis_110,1);
	 {
	  RPRD(x101,r);
	  FLD(r,2)=_ASeq_23(x103,__AMatchingAnalysis_110);}
	}else{
	 x102=FLD(x101,1);COPY(x102,1);COPY(x103,1);
	 COPY(__AMatchingAnalysis_110,1);
	 {
	  FRPRD(x101,1);PRD(2,0,r);FLD(r,1)=x102;
	  FLD(r,2)=_ASeq_23(x103,__AMatchingAnalysis_110);}}}
      }else{
       HLT("Patterns at <unknown> : undefined selection fun\'Patterns:pattDescr->obj");}}
    }else{
     HLT("MatchingAnalysis at <428,5-22> : missing else in mkInitialPattDescr\'MatchingAnalysis:expr->pattDescr");}}}
 }else{
  if(ISTGPRD(x1,7)){
   {OBJ x105;
    if(EXPRD(x1,1)){
     RPRD(x1,r);CHGTG(r,0);FREE(FLD(r,2),1);FLD(r,2)=__ASeq_6;
    }else{
     x105=FLD(x1,1);COPY(x105,1);
     FRPRD(x1,1);PRD(2,0,r);FLD(r,1)=x105;FLD(r,2)=__ASeq_6;}}
  }else{
   HLT("MatchingAnalysis at <428,5-22> : missing else in mkInitialPattDescr\'MatchingAnalysis:expr->pattDescr");}}
 return r;}

extern OBJ _AMatchingAnalysis_68(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* specialize */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x4)){
   COPY(x2,1);
   CPCLS(__AMatchingAnalysis_111,1);
   {OBJ x295;
    x295=_AAnalyzedGlobSig_46(x3,x2);
    PRD(2,1,r);FLD(r,1)=x2;
    FLD(r,2)=_ASeqMap_3(__AMatchingAnalysis_111,x295);}
  }else{
   HLT("MatchingAnalysis at <440,5-14> : missing else in specialize\'MatchingAnalysis:seq**name**globSig->pattDescr->pattDescr");}
 }else{
  {OBJ x297=FLD1(x1,1);OBJ x298=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    COPY(x298,1);}
   if(ISPRM(x4)){
    HLT("MatchingAnalysis at <440,5-14> : missing else in specialize\'MatchingAnalysis:seq**name**globSig->pattDescr->pattDescr");
   }else{
    if(ISTGPRD(x4,0)){
     {OBJ x299=FLD(x4,1);OBJ x300=FLD(x4,2);FLAG x_x4=EXPRD(x4,1);
      if(x_x4){
      }else{
       COPY(x299,1);COPY(x300,1);}
      if(ISPRM(x300)){
       HLT("MatchingAnalysis at <440,5-14> : missing else in specialize\'MatchingAnalysis:seq**name**globSig->pattDescr->pattDescr");
      }else{
       {OBJ x301=FLD1(x300,1);OBJ x302=FLD1(x300,2);FLAG x_x300=EXPRD(x300,1);
	if(x_x300){
	 COPY(x301,1);
	}else{
	 COPY(x301,2);COPY(x302,1);}
	{OBJ x305;OBJ x306;
	 x305=_ASeq_52(x301,__ANat_5);
	 ANat_80(x297,x305,x306);
	 if(ISTGPRM(x306,1)){
	  if(x_x1){
	   DSPRDF(x1);
	  }else{
	   FRPRD(x1,1);}
	  {TUP2 x308;
	   x308=_ASeq_33(x297,x301);
	   if(ISPRM(x308.c2)){
	    HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
	   }else{
	    {OBJ x310=FLD1(x308.c2,1);OBJ x311;FLAG x_x308_c2=EXPRD(x308.c2,1);
	     if(x_x308_c2){
	     }else{
	      x311=FLD1(x308.c2,2);COPY(x310,1);COPY(x311,1);}
	     {OBJ x313;OBJ x314;OBJ x315;OBJ x316;
	      x313=_AMatchingAnalysis_68(x298,x2,x3,x310);
	      if(x_x308_c2){
	       RSOME(x308.c2,x314);FLD1(x314,1)=x313;
	      }else{
	       FRPRD(x308.c2,1);PRD1(2,x314);FLD1(x314,1)=x313;FLD1(x314,2)=x311;}
	      x315=_ASeq_26(x308.c1,x314);
	      if(x_x300){
	       RSOME(x300,x316);FLD1(x316,1)=x315;
	      }else{
	       FRPRD(x300,1);PRD1(2,x316);FLD1(x316,1)=x315;FLD1(x316,2)=x302;}
	      if(x_x4){
	       RPRD(x4,r);FLD(r,2)=x316;
	      }else{
	       FRPRD(x4,1);PRD(2,0,r);FLD(r,1)=x299;FLD(r,2)=x316;}}}}}
	 }else{
	  COPY(x299,1);
	  {OBJ x317;OBJ x318;OBJ x319;OBJ x320;
	   if(x_x4){
	    RPRD(x4,x317);FLD(x317,2)=x302;
	   }else{
	    FRPRD(x4,1);PRD(2,0,x317);FLD(x317,1)=x299;FLD(x317,2)=x302;}
	   ANat_62(x297,x305,x318);
	   if(x_x1){
	    RSOME(x1,x319);FLD1(x319,1)=x318;
	   }else{
	    FRPRD(x1,1);PRD1(2,x319);FLD1(x319,1)=x318;FLD1(x319,2)=x298;}
	   x320=_AMatchingAnalysis_68(x319,x2,x3,x317);
	   if(ISPRD(x320)&&(ISTGPRD(x320,0))){
	    {OBJ x322=FLD(x320,2);
	     if(EXPRD(x320,1)){
	      {OBJ x323;
	       if(x_x300){
		RSOME(x300,x323);FLD1(x323,2)=x322;
	       }else{
		FRPRD(x300,1);PRD1(2,x323);FLD1(x323,1)=x301;FLD1(x323,2)=x322;}
	       RPRD(x320,r);FREE(FLD(r,1),1);FLD(r,1)=x299;FLD(r,2)=x323;}
	     }else{
	      COPY(x322,1);
	      {OBJ x323;
	       if(x_x300){
		RSOME(x300,x323);FLD1(x323,2)=x322;
	       }else{
		FRPRD(x300,1);PRD1(2,x323);FLD1(x323,1)=x301;FLD1(x323,2)=x322;}
	       FRPRD(x320,1);PRD(2,0,r);FLD(r,1)=x299;FLD(r,2)=x323;}}}
	   }else{
	    HLT("Patterns at <unknown> : undefined selection args\'Patterns:pattDescr->seq");}}}}}}}
    }else{
     {OBJ x324=FLD(x4,1);OBJ x325=FLD(x4,2);FLAG x_x4=EXPRD(x4,1);
      if(x_x4){
      }else{
       COPY(x324,1);COPY(x325,1);}
      if(x_x1){
       DSPRDF(x1);
      }else{
       FRPRD(x1,1);}
      {TUP2 x328;
       x328=_ASeq_33(x297,x325);
       if(ISPRM(x328.c2)){
	HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
       }else{
	{OBJ x330=FLD1(x328.c2,1);OBJ x331;FLAG x_x328_c2=EXPRD(x328.c2,1);
	 if(x_x328_c2){
	 }else{
	  x331=FLD1(x328.c2,2);COPY(x330,1);COPY(x331,1);}
	 {OBJ x333;OBJ x334;
	  x333=_AMatchingAnalysis_68(x298,x2,x3,x330);
	  if(x_x328_c2){
	   RSOME(x328.c2,x334);FLD1(x334,1)=x333;
	  }else{
	   FRPRD(x328.c2,1);PRD1(2,x334);FLD1(x334,1)=x333;FLD1(x334,2)=x331;}
	  if(x_x4){
	   RPRD(x4,r);
	  }else{
	   FRPRD(x4,1);PRD(2,1,r);FLD(r,1)=x324;}
	  FLD(r,2)=_ASeq_26(x328.c1,x334);}}}}}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_70(OBJ x1,OBJ x2) /* `,6 */
{OBJ r;
 CPCLS(__AAnalyzedGlobSig_25,1);
 {OBJ x6;
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
  if(ISPRM(x2)){
   CPCLS(__AMatchingAnalysis_113,1);
   CPCLS(__APatterns_13,1);
   CPCLS(__AString_24,1);
   CPCLS(__AString_49,1);
   CPCLS(__ACompose_4,1);
   {OBJ x47;OBJ x48;OBJ x49;OBJ x50;
    x47=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatterns_13,1))(__APatterns_13,x6);
    x48=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AString_49,x47);
    x49=_ASeqMap_3(x48,x2);
    x50=_ASeqMap_3(__AMatchingAnalysis_113,x49);
    r=_ASeqReduce_3(__AString_24,__AString_6,x50);}
  }else{
   {OBJ x37=FLD1(x2,1);OBJ x38=FLD1(x2,2);
    COPY(x37,1);COPY(x38,1);
    if(ISPRM(x38)){
     if(EXPRD(x2,1)){
      DSPRD(x2);
     }else{
      DCPRD(x2,1);}
     {OBJ x39;OBJ x40;
      x39=_APatterns_13(x6,x37);
      x40=_AString_49(x39);
      r=_AString_2(__AChar_8,x40);}
    }else{
     if(EXPRD(x38,1)){
      DSPRD(x38);
     }else{
      DCPRD(x38,1);}
     FREE(x37,1);
     CPCLS(__AMatchingAnalysis_112,1);
     CPCLS(__APatterns_13,1);
     CPCLS(__AString_24,1);
     CPCLS(__AString_49,1);
     CPCLS(__ACompose_4,1);
     {OBJ x43;OBJ x44;OBJ x45;OBJ x46;
      x43=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatterns_13,1))(__APatterns_13,x6);
      x44=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AString_49,x43);
      x45=_ASeqMap_3(x44,x2);
      x46=_ASeqMap_3(__AMatchingAnalysis_112,x45);
      r=_ASeqReduce_3(__AString_24,__AString_6,x46);}}}}}
 return r;}

extern TUP4 _AMatchingAnalysis_71(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* codeMatchTree */
{TUP4 r;
 CPPRD(x3,1);
 COPY(x5,1);
 {OBJ x6;OBJ x7;OBJ x9;TUP2 x10;
  x6=_AMatchingAnalysis_67(x3);
  x7=_AAnalyzedGlobSig_41(x5,x4);
  PRD1(2,x9);FLD1(x9,1)=x6;FLD1(x9,2)=__ASeq_6;
  x10=_AMatchingAnalysis_50(x3);
  r=_AMatchingAnalysis_72(x1,x2,x10.c1,x9,x5,x7);}
 return r;}
extern OBJ _AMatchingAnalysis_71_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* codeMatchTree */
{OBJ r;
 {TUP4 t=_AMatchingAnalysis_71(x1,x2,x3,x4,x5);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern TUP4 _AMatchingAnalysis_72(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5,register OBJ x6) /* code */
{TUP4 r;
 for(;;){
  if(ISPRM(x1)){
   HLT("MatchingAnalysis at <481,5-8> : missing else in code\'MatchingAnalysis:matchTree**seq**seq**seq**globSig**pos->expr**seq**globSig**err");
  }else{
   if(ISTGPRD(x1,1)){
    {OBJ x430=FLD(x1,1);FLAG x_x1=EXPRD(x1,1);
     if(x_x1){
     }else{
      COPY(x430,1);}
     FREE(x3,1);
     COPY(x4,1);
     CPCLS(__AMatchingAnalysis_114,1);
     {OBJ x431;OBJ x436;OBJ x432;OBJ x433;OBJ x437;
      x431=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_114,1))(__AMatchingAnalysis_114,x4);
      if(ISPRM(x430)){
       HLT("arb\'Set: arb applied to empty set");
      }else{
       {OBJ x434=FLD1(x430,1);
	CPPRD(x434,1);
	x436=x434;
	CPPRD(x430,2);}}
      x432=_ASeqReduce_3(x431,x2,x430);
      x433=_ASeq_52(x430,__ANat_5);
      ANat_76(x433,__ANat_8,x437);
      if(ISTGPRM(x437,1)){
       if(x_x1){
	DSPRDF(x1);
       }else{
	FRPRD(x1,1);}
       FREE(x4,1);
       FREE(x6,1);
       FREE(x430,1);
       {OBJ x440=FLD1(x436,3);
	if(EXPRD(x436,1)){
	 r.c2=x432;r.c1=x440;
	 FREE(FLD1(x436,2),1);DSPRDF(x436);
	}else{
	 CPPRD(x440,1);
	 r.c2=x432;r.c1=x440;
	 FRPRD(x436,1);}
	CPPRD(__AOcError_15,1);
	r.c3=x5;r.c4=__AOcError_15;}
      }else{
       COPY(x5,1);
       COPY(x6,1);
       {OBJ x441;OBJ x442;
	if(x_x1){
	 RPRD(x1,x441);CHGTG(x441,0);FLD(x441,1)=x6;
	}else{
	 FRPRD(x1,1);PRD(1,0,x441);FLD(x441,1)=x6;}
	x442=_AMatchingAnalysis_70(x5,x4);
	{OBJ x444=FLD1(x436,2);
	 if(EXPRD(x436,1)){
	  r.c2=x432;
	  FRPRD(FLD1(x436,3),1);DSPRDF(x436);
	 }else{
	  COPY(x444,1);
	  r.c2=x432;
	  FRPRD(x436,1);}
	 COPY(x5,1);
	 COPY(x6,1);
	 COPY(x430,1);
	 CPCLS(__AMatchingAnalysis_115,1);
	 CPCLS(__AMatchingAnalysis_116,1);
	 CPPRD(__AMatchingAnalysis_117,1);
	 {OBJ x446;OBJ x447;OBJ x448;
	  x446=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_115,2))(__AMatchingAnalysis_115,x5,x6);
	  x447=_ASeqReduce_3(x446,__ASeq_6,x430);
	  x448=_ASeqReduce_3(__AMatchingAnalysis_116,__AString_6,x430);
	  PRD(3,5,r.c1);FLD(r.c1,1)=x447;FLD(r.c1,2)=x441;FLD(r.c1,3)=x6;
	  r.c4=_AOcError_20(__AOcError_10,__AMatchingAnalysis_117,x442,x448,x444);
	  r.c3=x5;}}}}}}
   }else{
    {OBJ x451=FLD(x1,1);OBJ x453=FLD(x1,3);
     COPY(x451,1);CPPRD(x453,1);
     if(ISPRM(x3)){
      HLT("MatchingAnalysis at <481,5-8> : missing else in code\'MatchingAnalysis:matchTree**seq**seq**seq**globSig**pos->expr**seq**globSig**err");
     }else{
      {OBJ x454=FLD1(x3,1);OBJ x455=FLD1(x3,2);
       CPPRD(x454,1);COPY(x455,1);
       {OBJ x457=FLD1(x453,1);OBJ x458=FLD1(x453,2);OBJ x459=FLD1(x453,3);
	COPY(x457,1);COPY(x458,1);COPY(x459,1);
	if(EXPRD(x453,1)){
	 DSPRD(x453);
	}else{
	 DCPRD(x453,1);}
	{OBJ x460=FLD1(x454,1);
	 COPY(x460,2);
	 if(EXPRD(x454,1)){
	  DSPRD(x454);
	 }else{
	  DCPRD(x454,1);}
	 {OBJ x462;
	  x462=_AMatchingAnalysis_40(x460,x451);
	  if(ISTGPRM(x462,1)){
	   if(EXPRD(x3,1)){
	    DSPRD(x3);
	   }else{
	    DCPRD(x3,1);}
	   FREE(x457,1);
	   FREE(x458,1);
	   FREE(x459,1);
	   FREE(x460,1);
	   x3=x455;continue;
	  }else{
	   if(EXPRD(x1,1)){
	    DSPRD(x1);
	   }else{
	    DCPRD(x1,1);}
	   COPY(x4,1);
	   COPY(x5,1);
	   COPY(x6,1);
	   CPCLS(__AMatchingAnalysis_73,1);
	   CPPRD(__AOcError_15,1);
	   {OBJ x463;OBJ x464;OBJ x467;OBJ x465;
	    x463=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_73,3))(__AMatchingAnalysis_73,x3,x4,x6);
	    PRD1(4,x464);FLD1(x464,1)=__ASeq_6;FLD1(x464,2)=x2;FLD1(x464,3)=x5;FLD1(x464,4)=__AOcError_15;
	    if(ISPRM(x459)){
	     COPY(x458,1);
	     CPCLS(__AAnalyzedGlobSig_19,1);
	     x467=__ABUILTIN_5;
	    }else{
	     COPY(x458,1);
	     CPCLS(__AAnalyzedGlobSig_19,1);
	     x467=__ABUILTIN_3;}
	    x465=_AMapReduce_6(__AAnalyzedGlobSig_19,x463,x464,x458);
	    {OBJ x468=FLD1(x465,1);OBJ x469=FLD1(x465,2);OBJ x470=FLD1(x465,3);OBJ x471=FLD1(x465,4);
	     if(EXPRD(x465,1)){
	      DSPRDF(x465);
	     }else{
	      COPY(x468,1);COPY(x469,1);COPY(x470,1);CPPRD(x471,1);
	      FRPRD(x465,1);}
	     {OBJ x490;OBJ x491;OBJ x492;OBJ x493;OBJ x494;OBJ x495;
	      if(ISTGPRM(x467,1)){
	       r.c2=x469;r.c3=x470;
	       FREE(x4,1);
	       FREE(x5,1);
	       FREE(x455,1);
	       FREE(x457,1);
	       FREE(x458,1);
	       FREE(x459,1);
	       FREE(x460,1);
	       COPY(x6,1);
	       CPPRD(__AOcError_15,1);
	       PRD(1,0,x490);FLD(x490,1)=x6;
	       x493=__AOcError_15;
	      }else{
	       {OBJ x474;
		if(ISPRM(x459)){
		 HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
		}else{
		 {OBJ x473=FLD1(x459,1);
		  if(EXPRD(x459,1)){
		   x474=x473;
		   DSPRDF(x459);
		  }else{
		   COPY(x473,1);
		   x474=x473;
		   FRPRD(x459,1);}}}
		if(ISPRM(x474)){
		 r.c2=x469;r.c3=x470;
		 FREE(x455,1);
		 COPY(x5,2);
		 COPY(x6,2);
		 CPCLS(__AMatchingAnalysis_119,1);
		 CPCLS(__AMatchingAnalysis_121,1);
		 CPCLS(__AMatchingAnalysis_124,1);
		 CPPRD(__AOcError_15,1);
		 CPCLS(__AOcError_21,1);
		 {OBJ x475;OBJ x476;OBJ x477;OBJ x478;OBJ x479;OBJ x480;OBJ x481;OBJ x483;
		  x475=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_119,1))(__AMatchingAnalysis_119,__ABUILTIN_20);
		  x476=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_121,2))(__AMatchingAnalysis_121,x5,x6);
		  x477=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_124,4))(__AMatchingAnalysis_124,x4,x5,x458,x460);
		  x478=_ASeqReduce_4(x477,__ASeq_6,x457);
		  COPY(x478,1);
		  x479=_AMatchingAnalysis_70(x5,x478);
		  x480=_ASeqMap_3(x476,x478);
		  x481=_AString_24(x475,x479);
		  x493=_ASeqReduce_4(__AOcError_21,__AOcError_15,x480);
		  x483=_AStringConv_1(x481);
		  PRD(2,1,x490);FLD(x490,1)=x483;FLD(x490,2)=x6;}
		}else{
		 COPY(x6,1);
		 CPCLS(__AMatchingAnalysis_125,1);
		 CPCLS(__AMatchingAnalysis_126,1);
		 {OBJ x485;OBJ x486;OBJ x487;OBJ x488;
		  x485=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_125,2))(__AMatchingAnalysis_125,x5,x460);
		  x486=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_126,1))(__AMatchingAnalysis_126,x458);
		  x487=_ASeqFilter_2(x486,x457);
		  x488=_AMySeqFun3_8(x485,x487,x4);
		  {TUP4 t=_AMatchingAnalysis_72(x474,x469,x455,x488,x470,x6);
		   x490=t.c1;
		   r.c2=t.c2;
		   r.c3=t.c3;
		   x493=t.c4;}}}}}
	      PRD(3,5,r.c1);FLD(r.c1,1)=x468;FLD(r.c1,2)=x490;FLD(r.c1,3)=x6;
	      r.c4=_AOcError_21(x471,x493);}}}}}}}}}}}}
  break;}
 return r;}
extern OBJ _AMatchingAnalysis_72_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* code */
{OBJ r;
 {TUP4 t=_AMatchingAnalysis_72(x1,x2,x3,x4,x5,x6);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern OBJ _AMatchingAnalysis_73(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* codeNextTree */
{OBJ r;
 if(ISPRM(x1)){
  HLT("MatchingAnalysis at <529,5-16> : missing else in codeNextTree\'MatchingAnalysis:seq**seq**pos->name**matchTree**quad->quad");
 }else{
  {OBJ x116=FLD1(x1,1);OBJ x117=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    CPPRD(x116,1);COPY(x117,1);}
   {OBJ x118=FLD1(x6,1);OBJ x119=FLD1(x6,2);OBJ x120=FLD1(x6,3);OBJ x121=FLD1(x6,4);FLAG x_x6=EXPRD(x6,1);
    if(x_x6){
     COPY(x120,2);
    }else{
     COPY(x118,1);COPY(x119,1);COPY(x120,3);CPPRD(x121,1);}
    COPY(x4,2);
    {OBJ x123;OBJ x124;
     x123=_AAnalyzedGlobSig_45(x120,x4);
     x124=_AAnalyzedGlobSig_46(x120,x4);
     {OBJ x125=FLD1(x116,1);OBJ x126=FLD1(x116,2);FLAG x_x116=EXPRD(x116,1);
      if(x_x116){
       COPY(x125,1);CPPRD(x126,1);
      }else{
       COPY(x125,2);CPPRD(x126,2);}
      COPY(x3,4);
      COPY(x120,1);
      COPY(x123,1);
      COPY(x124,1);
      CPCLS(__AMatchingAnalysis_68,1);
      CPCLS(__AMatchingAnalysis_127,1);
      CPCLS(__AMatchingAnalysis_128,1);
      {OBJ x127;OBJ x128;OBJ x129;OBJ x130;OBJ x131;OBJ x132;OBJ x133;OBJ x134;TUP4 x136;OBJ x140;OBJ x141;OBJ x142;OBJ x143;
       if(x_x116){
	RSOME(x116,x127);FLD1(x127,1)=x123;FLD1(x127,2)=x124;
       }else{
	FRPRD(x116,1);PRD1(2,x127);FLD1(x127,1)=x123;FLD1(x127,2)=x124;}
       PRD(2,7,x128);FLD(x128,1)=x123;FLD(x128,2)=x3;
       x129=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_68,3))(__AMatchingAnalysis_68,x125,x4,x120);
       PRD(3,4,x130);FLD(x130,1)=x128;FLD(x130,2)=x126;FLD(x130,3)=x3;
       x131=_ASeqMap_3(x129,x2);
       x132=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_128,3))(__AMatchingAnalysis_128,x3,x125,x126);
       x133=_AMatchingAnalysis_76(x132,__ANat_5,x124);
       x134=_ASeq_26(x133,x117);
       x136=_AMatchingAnalysis_72(x5,x119,x134,x131,x120,x3);
       x140=_AOcError_21(x121,x136.c4);
       x141=_ASeqReduce_4(__AMatchingAnalysis_127,x136.c3,x127);
       PRD1(3,x142);FLD1(x142,1)=x130;FLD1(x142,2)=x136.c1;FLD1(x142,3)=x3;
       if(x_x1){
	RSOME(x1,x143);FLD1(x143,1)=x142;FLD1(x143,2)=x118;
       }else{
	FRPRD(x1,1);PRD1(2,x143);FLD1(x143,1)=x142;FLD1(x143,2)=x118;}
       if(x_x6){
	RSOME(x6,r);FLD1(r,1)=x143;FLD1(r,2)=x136.c2;FLD1(r,3)=x141;FLD1(r,4)=x140;
       }else{
	FRPRD(x6,1);PRD1(4,r);FLD1(r,1)=x143;FLD1(r,2)=x136.c2;FLD1(r,3)=x141;FLD1(r,4)=x140;}}}}}}}
 return r;}

extern OBJ _AMatchingAnalysis_74(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* mapSelToPattern */
{OBJ r;
 COPY(x2,1);
 {OBJ x6;OBJ x7;OBJ x8;
  x6=_ASeq_23(x1,x4);
  PRD(2,7,x7);FLD(x7,1)=x5;FLD(x7,2)=x2;
  PRD(3,4,x8);FLD(x8,1)=x7;FLD(x8,2)=x3;FLD(x8,3)=x2;
  PRD1(2,r);FLD1(r,1)=x6;FLD1(r,2)=x8;}
 return r;}

extern OBJ _AMatchingAnalysis_75(OBJ x1,OBJ x2) /* * */
{OBJ r;
 r=_AMatchingAnalysis_76(x1,__ANat_5,x2);
 return r;}

extern OBJ _AMatchingAnalysis_76(register OBJ x1,register OBJ x2,register OBJ x3) /* map,1 */
{OBJ r;OBJ* p1=&r;
 for(;;){
  if(ISPRM(x3)){
   FRCLS(x1,1);
   *p1=__ASeq_6;
  }else{
   {OBJ x24=FLD1(x3,1);OBJ x25=FLD1(x3,2);
    if(EXPRD(x3,1)){
     CPCLS(x1,1);
     {OBJ x26;OBJ x29;
      ANat_2(x2,x26);
      x29=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x2,x24);
      RSOME(x3,*p1);FLD1(*p1,1)=x29;
      x2=x26;x3=x25;p1=&FLD1(*p1,2);continue;}
    }else{
     COPY(x24,1);COPY(x25,1);
     CPCLS(x1,1);
     {OBJ x26;OBJ x29;
      ANat_2(x2,x26);
      x29=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x2,x24);
      FRPRD(x3,1);PRD1(2,*p1);FLD1(*p1,1)=x29;
      x2=x26;x3=x25;p1=&FLD1(*p1,2);continue;}}}}
  break;}
 return r;}

extern OBJ _AMatchingAnalysis_77(OBJ x1,OBJ x2,OBJ x3) /* updatePatts */
{OBJ r;
 CPCLS(__AMatchingAnalysis_114,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMatchingAnalysis_114,1))(__AMatchingAnalysis_114,x3);
  r=_ASeqReduce_3(x4,x1,x2);}
 return r;}

extern OBJ _AMatchingAnalysis_81(OBJ x1,OBJ x2) /* `,2'81 */
{OBJ r;
 {OBJ x3;OBJ x4;
  x3=_AMatchingAnalysis_36(x1);
  x4=_AString_2(__AChar_8,x3);
  r=_AString_24(x4,x2);}
 return r;}

extern OBJ _AMatchingAnalysis_82(OBJ x1,OBJ x2) /* `,3'82 */
{OBJ r;
 {OBJ x3;OBJ x4;OBJ x5;
  ANatConv_1(x1,x3);
  x4=_AString_49(x3);
  x5=_AString_2(__AChar_8,x4);
  r=_AString_24(x5,x2);}
 return r;}

extern OBJ _AMatchingAnalysis_84(OBJ x1) /* `,1'84 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_83,1);
 r=_AString_49(__AMatchingAnalysis_83);
 return r;}

extern OBJ _AMatchingAnalysis_86(OBJ x1) /* `,1'86 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_85,1);
 r=_AString_49(__AMatchingAnalysis_85);
 return r;}

extern OBJ _AMatchingAnalysis_88(OBJ x1) /* `,1'88 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_87,1);
 r=_AString_49(__AMatchingAnalysis_87);
 return r;}

extern OBJ _AMatchingAnalysis_90(OBJ x1) /* `,1'90 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_89,1);
 r=_AString_49(__AMatchingAnalysis_89);
 return r;}

extern OBJ _AMatchingAnalysis_93(OBJ x1) /* `,4'93 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_92,1);
 r=_AString_49(__AMatchingAnalysis_92);
 return r;}

extern OBJ _AMatchingAnalysis_96(OBJ x1,OBJ x2,OBJ x3) /* genTree'96 */
{OBJ r;
 COPY(x3,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=_ASeq_52(x3,__ANat_5);
  x5=_ASeq_23(x1,x4);
  PRD1(2,x6);FLD1(x6,1)=x5;FLD1(x6,2)=x2;
  r=_ASeq_23(x3,x6);}
 return r;}

extern OBJ _AMatchingAnalysis_101(OBJ x1,OBJ x2) /* workAround'101 */
{OBJ r;
 r=_AImpDecl4SigAna_57(x1,x2);
 return r;}

extern OBJ _AMatchingAnalysis_104(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* doAdd'104 */
{OBJ r;
 CPCLS(__AMatchingAnalysis_35,2);
 COPY(x4,1);
 {OBJ x9;OBJ x10;
  x9=_ASet_42(__AMatchingAnalysis_35,x4,x7);
  x10=_ASet_41(__AMatchingAnalysis_35,x5,x9);
  r=_AMatchingAnalysis_65(x1,x2,x3,x8,x4,x10,x6);}
 return r;}

extern OBJ _AMatchingAnalysis_105(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* doAdd'105 */
{OBJ r;
 COPY(x4,1);
 r=_AMatchingAnalysis_65(x1,x6,x2,x3,x4,x5,x4);
 return r;}

extern OBJ _AMatchingAnalysis_106(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* doAdd'106 */
{OBJ r;
 COPY(x4,1);
 r=_AMatchingAnalysis_65(x1,x6,x2,x3,x4,x5,x4);
 return r;}

extern OBJ _AMatchingAnalysis_107(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* doAdd'107 */
{OBJ r;
 CPCLS(__AMatchingAnalysis_35,2);
 COPY(x4,1);
 {OBJ x9;OBJ x10;
  x9=_ASet_42(__AMatchingAnalysis_35,x4,x7);
  x10=_ASet_41(__AMatchingAnalysis_35,x5,x9);
  r=_AMatchingAnalysis_65(x1,x2,x3,x8,x4,x10,x6);}
 return r;}

extern OBJ _AMatchingAnalysis_108(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* doAdd'108 */
{OBJ r;
 CPCLS(__AMatchingAnalysis_35,1);
 {OBJ x9;
  x9=_ASet_41(__AMatchingAnalysis_35,x5,x6);
  r=_AMatchingAnalysis_65(x1,x7,x2,x8,x3,x4,x9);}
 return r;}

extern OBJ _AMatchingAnalysis_109(OBJ x1) /* mkInitialPattDescr'109 */
{OBJ r;
 FRPRD(x1,1);
 r=__APatterns_2;
 return r;}

extern OBJ _AMatchingAnalysis_111(OBJ x1) /* specialize'111 */
{OBJ r;
 FREE(x1,1);
 r=__APatterns_2;
 return r;}

extern OBJ _AMatchingAnalysis_112(OBJ x1) /* `,6'112 */
{OBJ r;
 COPY(__AMatchingAnalysis_69,1);
 r=_AString_24(__AMatchingAnalysis_69,x1);
 return r;}

extern OBJ _AMatchingAnalysis_113(OBJ x1) /* `,6'113 */
{OBJ r;
 COPY(__AMatchingAnalysis_69,1);
 r=_AString_24(__AMatchingAnalysis_69,x1);
 return r;}

extern OBJ _AMatchingAnalysis_114(OBJ x1,OBJ x2,OBJ x3) /* updatePatts'114 */
{OBJ r;
 {OBJ x4=FLD1(x2,1);
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x7;TUP2 x9;OBJ x16;OBJ x13;OBJ x17;OBJ x18;
   x7=x4;
   x9=_ASeq_33(x7,x3);
   if(ISPRM(x9.c2)){
    HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
   }else{
    {OBJ x21=FLD1(x9.c2,1);OBJ x22=FLD1(x9.c2,2);
     if(EXPRD(x9.c2,1)){
      x13=x21;x16=x22;
      DSPRDF(x9.c2);
     }else{
      COPY(x21,1);COPY(x22,1);
      x13=x21;x16=x22;
      FRPRD(x9.c2,1);}}}
   x17=_ASeq_26(x13,x1);
   PRD1(2,x18);FLD1(x18,1)=x17;FLD1(x18,2)=x16;
   r=_ASeq_26(x9.c1,x18);}}
 return r;}

extern OBJ _AMatchingAnalysis_115(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* code'115 */
{OBJ r;
 {OBJ x5;
  x5=_AAnalyzedGlobSig_34(x1);
  {OBJ x8=FLD1(x3,3);FLAG x_x3=EXPRD(x3,1);
   if(x_x3){
   }else{
    CPPRD(x8,1);}
   COPY(x2,1);
   {OBJ x9;OBJ x10;OBJ x11;
    x9=x8;
    PRD(2,7,x10);FLD(x10,1)=x5;FLD(x10,2)=x2;
    if(x_x3){
     RSOME(x3,x11);FLD1(x11,1)=x10;FREE(FLD1(x11,2),1);FLD1(x11,2)=x9;FLD1(x11,3)=x2;
    }else{
     FRPRD(x3,1);PRD1(3,x11);FLD1(x11,1)=x10;FLD1(x11,2)=x9;FLD1(x11,3)=x2;}
    PRD1(2,r);FLD1(r,1)=x11;FLD1(r,2)=x4;}}}
 return r;}

extern OBJ _AMatchingAnalysis_116(OBJ x1,OBJ x2) /* code'116 */
{OBJ r;
 {OBJ x4=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FRPRD(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x4,1);
   FRPRD(x1,1);}
  {OBJ x6;OBJ x7;OBJ x8;OBJ x9;
   x6=x4;
   x7=_AOcPos_34(x6);
   x8=_AString_49(x7);
   x9=_AString_24(x8,x2);
   r=_AString_2(__AChar_8,x9);}}
 return r;}

extern OBJ _AMatchingAnalysis_119(OBJ x1) /* code'119 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_118,1);
 r=_AString_49(__AMatchingAnalysis_118);
 return r;}

extern OBJ _AMatchingAnalysis_121(OBJ x1,OBJ x2,OBJ x3) /* code'121 */
{OBJ r;
 CPPRD(__AMatchingAnalysis_120,1);
 CPCLS(__AAnalyzedGlobSig_25,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
  x5=_APatterns_13(x4,x3);
  x6=_AString_49(x5);
  r=_AOcError_18(__AOcError_8,__AMatchingAnalysis_120,x6,x2);}
 return r;}

extern OBJ _AMatchingAnalysis_122(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* code'122 */
{OBJ r;
 r=_AMatchingAnalysis_68(x2,x3,x1,x4);
 return r;}

extern OBJ _AMatchingAnalysis_123(OBJ x1,OBJ x2,OBJ x3) /* code'123 */
{OBJ r;
 CPCLS(__AMatchingAnalysis_122,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_122,3))(__AMatchingAnalysis_122,x1,x2,x3);
 return r;}

extern OBJ _AMatchingAnalysis_124(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* code'124 */
{OBJ r;
 CPCLS(__AAnalyzedGlobSig_19,1);
 COPY(x5,1);
 {OBJ x7;
  x7=_AMap_20(__AAnalyzedGlobSig_19,x5,x3);
  if(ISTGPRM(x7,1)){
   FREE(x1,1);
   FREE(x2,1);
   FREE(x4,1);
   FREE(x5,1);
   r=x6;
  }else{
   CPCLS(__AMatchingAnalysis_123,1);
   {OBJ x8;OBJ x9;OBJ x10;
    x8=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMatchingAnalysis_123,2))(__AMatchingAnalysis_123,x2,x4);
    x9=(*(OBJ(*)(OBJ,OBJ))METHOD(x8,1))(x8,x5);
    x10=_ASeqMap_3(x9,x1);
    r=_ASeq_26(x10,x6);}}}
 return r;}

extern OBJ _AMatchingAnalysis_125(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* code'125 */
{OBJ r;
 r=_AMatchingAnalysis_68(x2,x3,x1,x4);
 return r;}

extern OBJ _AMatchingAnalysis_126(OBJ x1,OBJ x2) /* code'126 */
{OBJ r;
 CPCLS(__AAnalyzedGlobSig_19,1);
 {OBJ x3;
  x3=_AMap_20(__AAnalyzedGlobSig_19,x2,x1);
  if(ISTGPRM(x3,1)){
   r=__ABUILTIN_3;
  }else{
   r=__ABUILTIN_5;}}
 return r;}

extern OBJ _AMatchingAnalysis_127(OBJ x1,OBJ x2) /* codeNextTree'127 */
{OBJ r;
 CPCLS(__AAttributes_4,1);
 CPCLS(__AAttributes_19,1);
 r=_AAnalyzedGlobSigH_14(__AAttributes_19,__AAttributes_4,x1,x2);
 return r;}

extern OBJ _AMatchingAnalysis_128(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* codeNextTree'128 */
{OBJ r;
 COPY(x1,1);
 {OBJ x6;OBJ x7;OBJ x8;
  PRD(2,7,x6);FLD(x6,1)=x5;FLD(x6,2)=x1;
  x7=_ASeq_23(x2,x4);
  PRD(3,4,x8);FLD(x8,1)=x6;FLD(x8,2)=x3;FLD(x8,3)=x1;
  PRD1(2,r);FLD1(r,1)=x7;FLD1(r,2)=x8;}
 return r;}

extern OBJ _AMatchingAnalysis_129(OBJ x1) /* generateMatchingCases'129 */
{OBJ r;
 FRPRD(x1,1);
 r=__ASeq_6;
 return r;}













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

static OBJ _mt_3_2_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 {OBJ t3;
  if(EXCLS(t)){
   DSCLSF(t);
  }else{
   COPY(FLDCLS(t,1),1);
   COPY(FLDCLS(t,2),1);
   DCCLS(t,1);}
  t3=(*(OBJ(*)(OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),t1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(t3,1))(t3,t2);}
 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;}

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

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

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

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

static OBJ _mt_8_1_5(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,5);
 FLDCLS(r,2)=t1;
 FLDCLS(r,3)=t2;
 FLDCLS(r,4)=t3;
 FLDCLS(r,5)=t4;
 FLDCLS(r,6)=t5;
 return r;}

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

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

static OBJ _mt_9_0_8(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7,OBJ t8) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,8);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 FLDCLS(r,7)=t7;
 FLDCLS(r,8)=t8;
 return r;}

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

init_AMatchingAnalysis()
{
 static int visited=0; if(visited) return; visited=1;
 init_AImpDecl4SigAna();
 init_ADeclEntry();
 init_AMySeqFun1();
 init_APartNameEntry();
 init_AImpExpEntry();
 init_AName4SigAna();
 init_APragma();
 init_ASeq();
 init_AStringMapSeq();
 init_AAttributes();
 init_AOcError();
 init_ASeqMapEnv();
 init_ADArray();
 init_AImpl();
 init_ASeqConv();
 init_ANatMap();
 init_APatterns();
 init_AArray();
 init_AAnalyzedGlobSig();
 init_APartName();
 init_AGlobSig();
 init_ADenotation();
 init_AGlobPragma();
 init_AStringConv();
 init_AName();
 init_AQuadruple();
 init_AGlobSigImpl();
 init_ASeqReduce();
 init_AObjects();
 init_ASeqMap();
 init_APair();
 init_ASeqFilter();
 init_AMap();
 init_AMySeqFun3();
 init_ANat();
 init_ASetReduce();
 init_ARep();
 init_ASetConv();
 init_AFct();
 init_AMapReduce();
 init_AOption();
 init_AMapMap();
 init_AOcPos();
 init_ACompose();
 init_ACom();
 init_ADEBUG();
 init_AVoid();
 init_ANatConv();
 init_AChar();
 init_ABTUnion();
 init_AString();
 init_AStringFormat();
 init_AOcOptions();
 init_AReal();
 init_AStream();
 init_ASetByBST();
 init_AFile();
 init_ABSTree();
 init_AInt();
 init_ATree();
 init_ASet();
 init_AAbsyFun3();
 init_ABitset();
 init_AAnalyzedGlobSigH();
 init_ATable();
 init_AGlobSigToText();
 init_AUniqueTable();
 CLS(2,_AMatchingAnalysis_127,__AMatchingAnalysis_127);
 CLS(3,_AMatchingAnalysis_31,__AMatchingAnalysis_31);
 CLS(3,_AMatchingAnalysis_63,__AMatchingAnalysis_63);
 CLS(2,_AMatchingAnalysis_126,__AMatchingAnalysis_126);
 CLS(2,_AMatchingAnalysis_62,__AMatchingAnalysis_62);
 DEN("generated tree for case %s:%s",__AMatchingAnalysis_94);
 CLS(4,_AMatchingAnalysis_125,__AMatchingAnalysis_125);
 LCLS(1,_AMatchingAnalysis_93,__AMatchingAnalysis_93);
 CLS(1,_AMatchingAnalysis_29,__AMatchingAnalysis_29);
 CLS(8,_AMatchingAnalysis_61,__AMatchingAnalysis_61);
 CLS(6,_AMatchingAnalysis_124,__AMatchingAnalysis_124);
 DEN("test else ",__AMatchingAnalysis_92);
 CLS(1,_AMatchingAnalysis_28,__AMatchingAnalysis_28);
 LCLS(9,_AMatchingAnalysis_60,__AMatchingAnalysis_60);
 CLS(3,_AMatchingAnalysis_123,__AMatchingAnalysis_123);
 DEN("test constructor ",__AMatchingAnalysis_91);
 CLS(1,_AMatchingAnalysis_27,__AMatchingAnalysis_27);
 CLS(3,_AMatchingAnalysis_59,__AMatchingAnalysis_59);
 CLS(4,_AMatchingAnalysis_122,__AMatchingAnalysis_122);
 LCLS(1,_AMatchingAnalysis_90,__AMatchingAnalysis_90);
 CLS(1,_AMatchingAnalysis_26,__AMatchingAnalysis_26);
 LCLS(4,_AMatchingAnalysis_58,__AMatchingAnalysis_58);
 CLS(3,_AMatchingAnalysis_121,__AMatchingAnalysis_121);
 DEN("noMatch",__AMatchingAnalysis_89);
 CLS(3,_AMatchingAnalysis_25,__AMatchingAnalysis_25);
 CLS(3,_AMatchingAnalysis_57,__AMatchingAnalysis_57);
 DEN("missing pattern for %s",__AMatchingAnalysis_120);
 LCLS(4,_AMatchingAnalysis_56,__AMatchingAnalysis_56);
 LCLS(1,_AMatchingAnalysis_88,__AMatchingAnalysis_88);
 LCLS(1,_AMatchingAnalysis_119,__AMatchingAnalysis_119);
 DEN("test irrel",__AMatchingAnalysis_87);
 CLS(1,_AMatchingAnalysis_23,__AMatchingAnalysis_23);
 DEN("missing pattern for",__AMatchingAnalysis_118);
 LCLS(1,_AMatchingAnalysis_86,__AMatchingAnalysis_86);
 DEN("ambiguous patterns at%s for%s",__AMatchingAnalysis_117);
 DEN("test pos",__AMatchingAnalysis_85);
 CLS(1,_AMatchingAnalysis_21,__AMatchingAnalysis_21);
 CLS(2,_AMatchingAnalysis_116,__AMatchingAnalysis_116);
 LCLS(1,_AMatchingAnalysis_84,__AMatchingAnalysis_84);
 CLS(1,_AMatchingAnalysis_20,__AMatchingAnalysis_20);
 CLS(4,_AMatchingAnalysis_115,__AMatchingAnalysis_115);
 DEN("match ",__AMatchingAnalysis_83);
 CLS(1,_AMatchingAnalysis_19,__AMatchingAnalysis_19);
 CLS(2,_AMatchingAnalysis_51_c,__AMatchingAnalysis_51);
 CLS(3,_AMatchingAnalysis_114,__AMatchingAnalysis_114);
 CLS(2,_AMatchingAnalysis_82,__AMatchingAnalysis_82);
 CLS(1,_AMatchingAnalysis_18,__AMatchingAnalysis_18);
 CLS(1,_AMatchingAnalysis_50_c,__AMatchingAnalysis_50);
 CLS(1,_AMatchingAnalysis_113,__AMatchingAnalysis_113);
 CLS(2,_AMatchingAnalysis_81,__AMatchingAnalysis_81);
 CLS(1,_AMatchingAnalysis_17,__AMatchingAnalysis_17);
 CLS(1,_AMatchingAnalysis_112,__AMatchingAnalysis_112);
 DEN("<",__AMatchingAnalysis_80);
 CLS(1,_AMatchingAnalysis_16,__AMatchingAnalysis_16);
 CLS(8,_AMatchingAnalysis_48,__AMatchingAnalysis_48);
 CLS(1,_AMatchingAnalysis_111,__AMatchingAnalysis_111);
 DEN(" at ",__AMatchingAnalysis_79);
 CLS(1,_AMatchingAnalysis_15,__AMatchingAnalysis_15);
 CLS(7,_AMatchingAnalysis_47,__AMatchingAnalysis_47);
 DEN(">",__AMatchingAnalysis_78);
 CLS(3,_AMatchingAnalysis_14,__AMatchingAnalysis_14);
 CLS(3,_AMatchingAnalysis_46,__AMatchingAnalysis_46);
 CLS(1,_AMatchingAnalysis_109,__AMatchingAnalysis_109);
 CLS(2,_AMatchingAnalysis_45,__AMatchingAnalysis_45);
 CLS(3,_AMatchingAnalysis_77,__AMatchingAnalysis_77);
 CLS(8,_AMatchingAnalysis_108,__AMatchingAnalysis_108);
 CLS(3,_AMatchingAnalysis_76,__AMatchingAnalysis_76);
 CLS(1,_AMatchingAnalysis_12,__AMatchingAnalysis_12);
 CLS(3,_AMatchingAnalysis_44,__AMatchingAnalysis_44);
 CLS(8,_AMatchingAnalysis_107,__AMatchingAnalysis_107);
 CLS(2,_AMatchingAnalysis_75,__AMatchingAnalysis_75);
 CLS(1,_AMatchingAnalysis_11,__AMatchingAnalysis_11);
 CLS(3,_AMatchingAnalysis_43,__AMatchingAnalysis_43);
 CLS(6,_AMatchingAnalysis_106,__AMatchingAnalysis_106);
 CLS(5,_AMatchingAnalysis_74,__AMatchingAnalysis_74);
 CLS(1,_AMatchingAnalysis_10,__AMatchingAnalysis_10);
 CLS(5,_AMatchingAnalysis_42,__AMatchingAnalysis_42);
 CLS(6,_AMatchingAnalysis_105,__AMatchingAnalysis_105);
 CLS(6,_AMatchingAnalysis_73,__AMatchingAnalysis_73);
 CLS(1,_AMatchingAnalysis_9,__AMatchingAnalysis_9);
 CLS(3,_AMatchingAnalysis_41,__AMatchingAnalysis_41);
 CLS(8,_AMatchingAnalysis_104,__AMatchingAnalysis_104);
 CLS(6,_AMatchingAnalysis_72_c,__AMatchingAnalysis_72);
 CLS(3,_AMatchingAnalysis_8,__AMatchingAnalysis_8);
 CLS(2,_AMatchingAnalysis_40,__AMatchingAnalysis_40);
 DEN("-ztraceMatchAnaSteps",__AMatchingAnalysis_135);
 DEN("using work-around for bug oc1.30",__AMatchingAnalysis_103);
 CLS(1,_AMatchingAnalysis_39,__AMatchingAnalysis_39);
 CLS(5,_AMatchingAnalysis_71_c,__AMatchingAnalysis_71);
 DEN("-ztraceMatchAna",__AMatchingAnalysis_134);
 CLS(2,_AMatchingAnalysis_70,__AMatchingAnalysis_70);
 CLS(1,_AMatchingAnalysis_6,__AMatchingAnalysis_6);
 CLS(1,_AMatchingAnalysis_38,__AMatchingAnalysis_38);
 DEN("-ztraceWorkArounds",__AMatchingAnalysis_133);
 CLS(2,_AMatchingAnalysis_101,__AMatchingAnalysis_101);
 CLS(1,_AMatchingAnalysis_5,__AMatchingAnalysis_5);
 CLS(3,_AMatchingAnalysis_37,__AMatchingAnalysis_37);
 DEN("\n     ",__AMatchingAnalysis_132);
 CLS(4,_AMatchingAnalysis_68,__AMatchingAnalysis_68);
 DEN("    with more specific cases {%s} and less specific cases {%s} to%s",__AMatchingAnalysis_100);
 CLS(1,_AMatchingAnalysis_4,__AMatchingAnalysis_4);
 CLS(1,_AMatchingAnalysis_36,__AMatchingAnalysis_36);
 DEN("-zprintMatchTree",__AMatchingAnalysis_131);
 CLS(1,_AMatchingAnalysis_67,__AMatchingAnalysis_67);
 DEN("    to tree for cases {%s}:%s\n",__AMatchingAnalysis_99);
 CLS(2,_AMatchingAnalysis_3,__AMatchingAnalysis_3);
 CLS(2,_AMatchingAnalysis_35,__AMatchingAnalysis_35);
 DEN("  added tree for case %s:%s\n",__AMatchingAnalysis_98);
 CLS(7,_AMatchingAnalysis_66,__AMatchingAnalysis_66);
 CLS(1,_AMatchingAnalysis_129,__AMatchingAnalysis_129);
 CLS(7,_AMatchingAnalysis_65,__AMatchingAnalysis_65);
 DEN("added tree for case %s:%s",__AMatchingAnalysis_97);
 CLS(5,_AMatchingAnalysis_1_c,__AMatchingAnalysis_1);
 LCLS(3,_AMatchingAnalysis_33,__AMatchingAnalysis_33);
 CLS(5,_AMatchingAnalysis_128,__AMatchingAnalysis_128);
 CLS(3,_AMatchingAnalysis_96,__AMatchingAnalysis_96);
 CLS(2,_AMatchingAnalysis_32,__AMatchingAnalysis_32);
 CLS(3,_AMatchingAnalysis_64,__AMatchingAnalysis_64);
 MTH(3,0,4,_mt_3_0_4);LZYMTH(3,0,4,_mt_3_0_4);
 MTH(3,2,2,_mt_3_2_2);LZYMTH(3,2,2,_mt_3_2_2);
 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);
 MTH(7,0,5,_mt_7_0_5);LZYMTH(7,0,5,_mt_7_0_5);
 MTH(7,5,2,_mt_7_5_2);LZYMTH(7,5,2,_mt_7_5_2);
 MTH(8,0,6,_mt_8_0_6);LZYMTH(8,0,6,_mt_8_0_6);
 MTH(8,0,7,_mt_8_0_7);LZYMTH(8,0,7,_mt_8_0_7);
 MTH(8,1,5,_mt_8_1_5);LZYMTH(8,1,5,_mt_8_1_5);
 MTH(8,6,2,_mt_8_6_2);LZYMTH(8,6,2,_mt_8_6_2);
 MTH(8,7,1,_mt_8_7_1);LZYMTH(8,7,1,_mt_8_7_1_l);
 MTH(9,0,8,_mt_9_0_8);LZYMTH(9,0,8,_mt_9_0_8);
 MTH(9,8,1,_mt_9_8_1);LZYMTH(9,8,1,_mt_9_8_1_l);
 PRM1(__AMatchingAnalysis_22);
 CPPRD(__AMatchingAnalysis_131,1);
 __AMatchingAnalysis_34=_ADEBUG_10(__AMatchingAnalysis_131);
 CPPRD(__AMatchingAnalysis_133,1);
 __AMatchingAnalysis_49=_ADEBUG_10(__AMatchingAnalysis_133);
 CPPRD(__AMatchingAnalysis_134,1);
 __AMatchingAnalysis_52=_ADEBUG_10(__AMatchingAnalysis_134);
 CPPRD(__AMatchingAnalysis_135,1);
 __AMatchingAnalysis_53=_ADEBUG_10(__AMatchingAnalysis_135);
 __AMatchingAnalysis_54=__ANat_12;
 __AMatchingAnalysis_55=__ANat_17;
 CPPRD(__AMatchingAnalysis_132,1);
 __AMatchingAnalysis_69=_AString_49(__AMatchingAnalysis_132);
 PRD1F(1,__AMatchingAnalysis_95);FLD1(__AMatchingAnalysis_95,1)=__AMatchingAnalysis_22;
 PRD1F(2,__AMatchingAnalysis_102);FLD1(__AMatchingAnalysis_102,1)=__ATree_7;FLD1(__AMatchingAnalysis_102,2)=__ABUILTIN_5;
 PRD1F(2,__AMatchingAnalysis_110);FLD1(__AMatchingAnalysis_110,1)=__APatterns_2;FLD1(__AMatchingAnalysis_110,2)=__ASeq_6;
 PRD1F(2,__AMatchingAnalysis_130);FLD1(__AMatchingAnalysis_130,1)=__AMatchingAnalysis_22;FLD1(__AMatchingAnalysis_130,2)=__ASeq_6;}

