

#include "BUILTIN.h"
extern OBJ _ADeclEntry_11(OBJ);extern OBJ __ADeclEntry_11;
extern OBJ _ADeclEntry_12(OBJ);extern OBJ __ADeclEntry_12;
extern OBJ _ADeclEntry_13(OBJ);extern OBJ __ADeclEntry_13;
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;
extern OBJ _AAttributes_6(OBJ);extern OBJ __AAttributes_6;
extern OBJ _AAttributes_17(OBJ);extern OBJ __AAttributes_17;
extern OBJ __AAttributes_25;
extern OBJ _AOcOptions_8(OBJ);extern OBJ __AOcOptions_8;
extern OBJ _AOcOptions_14(OBJ,OBJ);extern OBJ __AOcOptions_14;
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;
extern OBJ _ADArray_14(OBJ,OBJ,OBJ);extern OBJ __ADArray_14;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ _AAnalyzedGlobSig_2(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_2;
extern OBJ _AAnalyzedGlobSig_6(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_6;
extern OBJ __AAnalyzedGlobSig_22;
extern OBJ __AAnalyzedGlobSig_23;
extern OBJ _AAnalyzedGlobSig_31(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_31;
extern OBJ _AAnalyzedGlobSig_41(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_41;
extern OBJ _AAnalyzedGlobSig_42(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_42;
extern OBJ _AAnalyzedGlobSig_56(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_56;
extern OBJ _AAnalyzedGlobSig_57(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_57;
extern OBJ _AAnalyzedGlobSig_60(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_60;
extern OBJ _AGlobSig_56(OBJ);extern OBJ __AGlobSig_56;

#include "Array.h"

#include "Denotation.h"
extern OBJ __AGlobSigImpl_25;
extern OBJ _AGlobSigImpl_26(OBJ,OBJ,OBJ);extern OBJ __AGlobSigImpl_26;
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern OBJ _AObjects_26(OBJ);extern OBJ __AObjects_26;
extern OBJ _AImpl_148(OBJ);extern OBJ __AImpl_148;
extern OBJ _AStringFormat_1(OBJ,OBJ);extern OBJ __AStringFormat_1;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _AComCompose_6(OBJ,OBJ);extern OBJ __AComCompose_6;

#include "Nat.h"
extern OBJ __AOcVerbose_2;
extern OBJ __AOcVerbose_3;
extern OBJ _AOcVerbose_4(OBJ,OBJ,OBJ);extern OBJ __AOcVerbose_4;
extern OBJ __AOcError_8;
extern OBJ __AOcError_10;
extern OBJ __AOcError_15;
extern OBJ _AOcError_16(OBJ,OBJ,OBJ);extern OBJ __AOcError_16;
extern OBJ _AOcError_17(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_17;
extern OBJ _AOcError_18(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_18;
extern OBJ _AOcError_21(OBJ,OBJ);extern OBJ __AOcError_21;
extern OBJ _AOcError_25(OBJ,OBJ);extern OBJ __AOcError_25;
extern OBJ _ABindingAnalysis_1(OBJ,OBJ,OBJ);extern OBJ __ABindingAnalysis_1;
extern OBJ __ARep_13;
extern OBJ _ARep_18(OBJ);extern OBJ __ARep_18;
extern OBJ _ARep_24(OBJ,OBJ);extern OBJ __ARep_24;
extern OBJ __ARep_96;
extern OBJ __ARep_100;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern TUP4 _AMatchingAnalysis_1(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AMatchingAnalysis_1;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_4(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_4;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ _AGlobSig4SigAna_18(OBJ,OBJ,OBJ);extern OBJ __AGlobSig4SigAna_18;
extern OBJ _AOcPos_34(OBJ);extern OBJ __AOcPos_34;
extern OBJ _ASetConv_3(OBJ,OBJ);extern OBJ __ASetConv_3;
extern OBJ __ASeq_6;
extern OBJ _ASeq_15(OBJ,OBJ,OBJ);extern OBJ __ASeq_15;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ __ABoolConv_2;
extern OBJ __ABoolConv_3;

#include "Char.h"
extern OBJ _AAGSig_15(OBJ,OBJ,OBJ);extern OBJ __AAGSig_15;
extern OBJ _AString_49(OBJ);extern OBJ __AString_49;

#include "Real.h"

#include "Int.h"
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_44(OBJ,OBJ,OBJ);extern OBJ __ASet_44;

#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 OBJ _APatternAnalysis_1(OBJ,OBJ);OBJ __APatternAnalysis_1; /* pattAna */
extern OBJ _APatternAnalysis_3(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_3; /* analyzePatterns */
extern OBJ _APatternAnalysis_4(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_4; /* analyzeImpl */
extern OBJ _APatternAnalysis_5(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_5; /* rankWarnings */
extern OBJ _APatternAnalysis_6(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_6; /* rankWarning */
extern OBJ _APatternAnalysis_7(OBJ,OBJ);OBJ __APatternAnalysis_7; /* markExport */
extern OBJ _APatternAnalysis_8(OBJ);OBJ __APatternAnalysis_8; /* etaEnrichment? */
extern OBJ _APatternAnalysis_9(OBJ,OBJ);OBJ __APatternAnalysis_9; /* printGsFinal */
extern TUP5 _APatternAnalysis_10(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_10; /* balanceEqs */
extern OBJ _APatternAnalysis_11(OBJ);OBJ __APatternAnalysis_11; /* countApplies */
extern OBJ _APatternAnalysis_12(OBJ);OBJ __APatternAnalysis_12; /* countFunct */
extern TUP5 _APatternAnalysis_13(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_13; /* balanceEqs,1 */
extern TUP5 _APatternAnalysis_14(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_14; /* balanceEq */
extern TUP2 _APatternAnalysis_15(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_15; /* analyzeLhs */
extern TUP4 _APatternAnalysis_16(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_16; /* addApplies */
extern TUP3 _APatternAnalysis_17(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_17; /* newLocals */
extern TUP3 _APatternAnalysis_18(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_18; /* newLocalSeq */
extern OBJ _APatternAnalysis_19(OBJ,OBJ);OBJ __APatternAnalysis_19; /* checkSpecs */
extern OBJ _APatternAnalysis_20(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_20; /* evalSpec */
extern OBJ _APatternAnalysis_21(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_21; /* noSpec? */
extern OBJ _APatternAnalysis_22(OBJ,OBJ);OBJ __APatternAnalysis_22; /* pcheckerFct? */
extern OBJ _APatternAnalysis_23(OBJ);OBJ __APatternAnalysis_23; /* genOps */
OBJ __APatternAnalysis_24; /* rankWarning'24 */
extern OBJ _APatternAnalysis_25(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_25; /* rankWarnings'25 */
OBJ __APatternAnalysis_26; /* etaEnrichment?'26 */
OBJ __APatternAnalysis_27; /* pcheckerFct?'27 */
extern OBJ _APatternAnalysis_28(OBJ);OBJ __APatternAnalysis_28; /* pcheckerFct?'28 */
OBJ __APatternAnalysis_29; /* pcheckerFct?'29 */
OBJ __APatternAnalysis_30; /* pcheckerFct?'30 */
extern OBJ _APatternAnalysis_31(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_31; /* pcheckerFct?'31 */
OBJ __APatternAnalysis_32; /* pcheckerFct?'32 */
extern OBJ _APatternAnalysis_33(OBJ);OBJ __APatternAnalysis_33; /* pcheckerFct?'33 */
OBJ __APatternAnalysis_34; /* pcheckerFct?'34 */
extern OBJ _APatternAnalysis_35(OBJ,OBJ);OBJ __APatternAnalysis_35; /* pcheckerFct?'35 */
OBJ __APatternAnalysis_36; /* pcheckerFct?'36 */
extern OBJ _APatternAnalysis_37(OBJ);OBJ __APatternAnalysis_37; /* pcheckerFct?'37 */
extern OBJ _APatternAnalysis_38(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_38; /* analyzeImpl'38 */
extern OBJ _APatternAnalysis_39(OBJ);OBJ __APatternAnalysis_39; /* analyzeImpl'39 */
OBJ __APatternAnalysis_40; /* analyzeImpl'40 */
OBJ __APatternAnalysis_41; /* analyzeImpl'41 */
OBJ __APatternAnalysis_42; /* analyzeImpl'42 */
extern OBJ _APatternAnalysis_43(OBJ);OBJ __APatternAnalysis_43; /* analyzeImpl'43 */
OBJ __APatternAnalysis_44; /* analyzeImpl'44 */
extern OBJ _APatternAnalysis_45(OBJ,OBJ);OBJ __APatternAnalysis_45; /* analyzeImpl'45 */
OBJ __APatternAnalysis_46; /* analyzePatterns'46 */
extern OBJ _APatternAnalysis_47(OBJ,OBJ,OBJ,OBJ);OBJ __APatternAnalysis_47; /* analyzePatterns'47 */
OBJ __APatternAnalysis_48; /* printGsFinal'48 */
OBJ __APatternAnalysis_49; /* evalSpec'49 */
extern OBJ _APatternAnalysis_50(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_50; /* genOps'50 */
OBJ __APatternAnalysis_51; /* checkSpecs'51 */
extern OBJ _APatternAnalysis_52(OBJ);OBJ __APatternAnalysis_52; /* checkSpecs'52 */
OBJ __APatternAnalysis_53; /* pattAna'53 */
extern OBJ _APatternAnalysis_54(OBJ,OBJ);OBJ __APatternAnalysis_54; /* pattAna'54 */
extern OBJ _APatternAnalysis_55(OBJ,OBJ);OBJ __APatternAnalysis_55; /* pattAna'55 */
extern OBJ _APatternAnalysis_56(OBJ,OBJ,OBJ);OBJ __APatternAnalysis_56; /* pattAna'56 */

extern OBJ _APatternAnalysis_1(OBJ x1,OBJ x2) /* pattAna */
{OBJ r;
 CPPRD(__APatternAnalysis_53,1);
 CPCLS(__APatternAnalysis_56,1);
 CPPRD(x1,1);
 {OBJ x3;OBJ x4;
  x3=_AOcVerbose_4(x1,__AOcVerbose_2,__APatternAnalysis_53);
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APatternAnalysis_56,2))(__APatternAnalysis_56,x1,x2);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _APatternAnalysis_3(OBJ x1,OBJ x2,OBJ x3) /* analyzePatterns */
{OBJ r;
 CPPRD(__APatternAnalysis_46,1);
 CPCLS(__APatternAnalysis_47,1);
 CPPRD(x1,1);
 COPY(x2,1);
 COPY(x3,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_AAnalyzedGlobSigH_9(x3,__AAnalyzedGlobSig_22,x2);
  ADenotation_4(x4,__APatternAnalysis_46,x5);
  x6=_AOcVerbose_4(x1,__AOcVerbose_3,x5);
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__APatternAnalysis_47,3))(__APatternAnalysis_47,x1,x2,x3);
  r=_AComCompose_5(x6,x7);}
 return r;}

extern OBJ _APatternAnalysis_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzeImpl */
{OBJ r;
 if(ISPRM(x4)){
  if(ISTGPRM(x4,1)){
   FRPRD(x1,1);
   FREE(x2,1);
   CPCLS(__ACom_47,1);
   {OBJ x353;OBJ x354;
    PRD(1,0,x353);FLD(x353,1)=x3;
    x354=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x353);
    PRD(2,0,r);FLD(r,1)=x354;FLD(r,2)=__ASeq_6;}
  }else{
   CPPRD(x1,1);
   COPY(x2,2);
   COPY(x3,3);
   CPCLS(__APatternAnalysis_39,1);
   CPPRD(__APatternAnalysis_40,1);
   CPCLS(__ACom_47,1);
   {OBJ x402;OBJ x403;OBJ x404;OBJ x405;OBJ x406;OBJ x407;OBJ x408;OBJ x409;OBJ x410;OBJ x422;
    x402=_AOcOptions_8(x1);
    x403=_AAnalyzedGlobSig_41(x3,x2);
    x404=_AAnalyzedGlobSigH_9(x3,__AAnalyzedGlobSig_23,x2);
    CPPRD(x404,1);
    x405=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_39,1))(__APatternAnalysis_39,__ABUILTIN_20);
    PRD(1,0,x406);FLD(x406,1)=x3;
    x407=_AString_49(x404);
    x408=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x406);
    x409=_AOcError_18(__AOcError_10,__APatternAnalysis_40,x407,x403);
    PRD(2,0,x410);FLD(x410,1)=x408;FLD(x410,2)=__ASeq_6;
    if(ISTGPRM(x402,1)){
     COPY(x2,1);
     COPY(x3,1);
     CPPRD(__ARep_96,1);
     {OBJ x411;OBJ x412;
      x411=_AAnalyzedGlobSig_2(x3,x2);
      CPPRD(x411,1);
      x412=_ARep_24(x411,__ARep_96);
      if(ISTGPRM(x412,1)){
       x422=x405;
       FRPRD(x1,1);
       FREE(x2,1);
       FREE(x3,1);
       FRPRD(x404,1);
       FRPRD(x409,1);
       FRPRD(x411,1);
      }else{
       {OBJ x413;
	x413=_ARep_18(x411);
	if(ISTGPRM(x413,1)){
	 x422=x405;
	 FRPRD(x1,1);
	 FREE(x2,1);
	 FREE(x3,1);
	 FRPRD(x404,1);
	 FRPRD(x409,1);
	}else{
	 COPY(x2,1);
	 COPY(x3,1);
	 CPPRD(__APatternAnalysis_41,1);
	 {OBJ x414;
	  x414=_AAGSig_15(__APatternAnalysis_41,x3,x2);
	  if(ISTGPRM(x414,1)){
	   x422=x405;
	   FRPRD(x1,1);
	   FREE(x2,1);
	   FREE(x3,1);
	   FRPRD(x404,1);
	   FRPRD(x409,1);
	  }else{
	   COPY(x2,1);
	   COPY(x3,1);
	   CPPRD(__APatternAnalysis_42,1);
	   {OBJ x415;
	    x415=_AAGSig_15(__APatternAnalysis_42,x3,x2);
	    if(ISTGPRM(x415,1)){
	     x422=x405;
	     FRPRD(x1,1);
	     FREE(x2,1);
	     FREE(x3,1);
	     FRPRD(x404,1);
	     FRPRD(x409,1);
	    }else{
	     COPY(x2,1);
	     COPY(x3,1);
	     {OBJ x416;
	      x416=_AAnalyzedGlobSig_6(x3,x2);
	      if(ISTGPRM(x416,1)){
	       COPY(x3,1);
	       CPCLS(__APatternAnalysis_43,1);
	       CPCLS(__APatternAnalysis_45,1);
	       {OBJ x417;OBJ x418;OBJ x419;OBJ x420;OBJ x421;
		x417=_AAnalyzedGlobSigH_1(x3,x2);
		x418=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_43,1))(__APatternAnalysis_43,__ABUILTIN_20);
		x419=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_45,1))(__APatternAnalysis_45,x404);
		x420=_ADEBUG_2(x418,x419,x417);
		x421=_APatternAnalysis_22(x3,x420);
		if(ISTGPRM(x421,1)){
		 x422=x405;
		 FRPRD(x1,1);
		 FRPRD(x409,1);
		}else{
		 FRPRD(x405,1);
		 x422=_AOcError_25(x1,x409);}}
	      }else{
	       FREE(x2,1);
	       FREE(x3,1);
	       FRPRD(x404,1);
	       FRPRD(x405,1);
	       x422=_AOcError_25(x1,x409);}}}}}}}}}}
    }else{
     x422=x405;
     FRPRD(x1,1);
     FREE(x2,1);
     FREE(x3,1);
     FRPRD(x404,1);
     FRPRD(x409,1);}
    r=_AComCompose_6(x422,x410);}}
 }else{
  switch(TGPRD(x4)){
   case 4:
    {OBJ x358=FLD(x4,1);OBJ x359=FLD(x4,2);OBJ x360=FLD(x4,3);
     if(EXPRD(x4,1)){
      DSPRDF(x4);
     }else{
      COPY(x358,1);CPPRD(x359,1);
      FRPRD(x4,1);}
     CPPRD(x1,1);
     COPY(x2,1);
     COPY(x3,1);
     CPPRD(__APatternAnalysis_26,1);
     {OBJ x361;OBJ x362;OBJ x366;
      x361=_AOcOptions_14(__APatternAnalysis_26,x1);
      x362=_AAnalyzedGlobSigH_1(x3,x2);
      if(ISPRM(x358)){
       HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
      }else{
       {OBJ x364=FLD1(x358,1);
	CPPRD(x364,1);
	x366=x364;}}
      {OBJ x369=FLD1(x366,3);FLAG x_x366=EXPRD(x366,1);
       if(x_x366){
	COPY(x369,3);
       }else{
	COPY(x369,4);}
       CPPRD(x1,1);
       COPY(x2,1);
       COPY(x358,1);
       {OBJ x370;OBJ x371;OBJ x372;OBJ x373;TUP5 x375;
	PRD(1,0,x370);FLD(x370,1)=x369;
	PRD(2,7,x371);FLD(x371,1)=x2;FLD(x371,2)=x369;
	if(x_x366){
	 RSOME(x366,x372);FRPRD(FLD1(x372,1),1);FLD1(x372,1)=x371;FRPRD(FLD1(x372,2),1);FLD1(x372,2)=x370;
	}else{
	 FRPRD(x366,1);PRD1(3,x372);FLD1(x372,1)=x371;FLD1(x372,2)=x370;FLD1(x372,3)=x369;}
	PRD1(2,x373);FLD1(x373,1)=x372;FLD1(x373,2)=x358;
	x375=_APatternAnalysis_10(x1,x373,x362,x360);
	if(ISPRM(x375.c1)){
	 HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
	}else{
	 {OBJ x380=FLD1(x375.c1,1);OBJ x381=FLD1(x375.c1,2);
	  if(EXPRD(x375.c1,1)){
	   DSPRDF(x375.c1);
	  }else{
	   CPPRD(x380,1);COPY(x381,1);
	   FRPRD(x375.c1,1);}
	  CPCLS(__ADArray_14,1);
	  {OBJ x383;
	   x383=_ADArrayReduce_6(__ADArray_14,x359,x375.c2);
	   {OBJ x384=FLD1(x380,1);FLAG x_x380=EXPRD(x380,1);
	    if(x_x380){
	    }else{
	     CPPRD(x384,1);}
	    {OBJ x387;OBJ x388;OBJ x390;OBJ x391;OBJ x392;OBJ x393;OBJ x394;OBJ x395;OBJ x396;OBJ x397;OBJ x398;
	     if(ISTGPRM(x361,1)){
	      FREE(x375.c4,1);
	      FREE(x375.c5,1);
	      COPY(x2,1);
	      COPY(x3,1);
	      COPY(x381,1);
	      CPPRD(x384,2);
	      CPCLS(__APatternAnalysis_38,1);
	      CPPRD(__AOcError_15,1);
	      x387=__AOcError_15;
	     }else{
	      COPY(x2,2);
	      COPY(x3,2);
	      COPY(x381,1);
	      CPPRD(x384,2);
	      CPCLS(__APatternAnalysis_38,1);
	      x387=_APatternAnalysis_5(x2,x3,x375.c4,x375.c5);}
	     x388=_ABindingAnalysis_1(x384,x381,x3);
	     {TUP4 t=_AMatchingAnalysis_1(x2,x384,x358,x388,x3);
	      x390=t.c1;
	      x391=t.c2;
	      x392=t.c3;
	      x393=t.c4;}
	     x394=_AOcError_21(x387,x393);
	     x395=_AOcError_25(x1,x394);
	     if(x_x380){
	      RSOME(x380,x396);FRPRD(FLD1(x396,2),1);FLD1(x396,2)=x390;FREE(FLD1(x396,3),1);FLD1(x396,3)=x369;
	     }else{
	      FRPRD(x380,1);PRD1(3,x396);FLD1(x396,1)=x384;FLD1(x396,2)=x390;FLD1(x396,3)=x369;}
	     PRD(5,5,x397);FLD(x397,1)=x381;FLD(x397,2)=x383;FLD(x397,3)=x375.c3;FLD(x397,4)=x391;FLD(x397,5)=x396;
	     x398=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__APatternAnalysis_38,3))(__APatternAnalysis_38,x2,x392,x397);
	     r=_AComCompose_5(x395,x398);}}}}}}}}}break;
   case 5:
    HLT("PatternAnalysis at <95,5-15> : missing else in analyzeImpl\'PatternAnalysis:options->name**globSig**impl->com");break;
   default: 
    if(EXPRD(x4,1)){
     DSPRD(x4);
    }else{
     DCPRD(x4,1);}
    FRPRD(x1,1);
    FREE(x2,1);
    CPCLS(__ACom_47,1);
    {OBJ x356;OBJ x357;
     PRD(1,0,x356);FLD(x356,1)=x3;
     x357=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x356);
     PRD(2,0,r);FLD(r,1)=x357;FLD(r,2)=__ASeq_6;}}}
 return r;}

extern OBJ _APatternAnalysis_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* rankWarnings */
{OBJ r;
 if(ISPRM(x3)){
  HLT("PatternAnalysis at <161,5-16> : missing else in rankWarnings\'PatternAnalysis:name**globSig**seq**seq->err");
 }else{
  {OBJ x27=FLD1(x3,1);
   if(EXPRD(x3,1)){
    FREE(FLD1(x3,2),1);DSPRDF(x3);
   }else{
    COPY(x27,1);
    FRPRD(x3,1);}
   if(ISPRM(x4)){
    FREE(x1,1);
    FREE(x2,1);
    FREE(x27,1);
    CPPRD(__AOcError_15,1);
    r=__AOcError_15;
   }else{
    {OBJ x30=FLD1(x4,2);
     if(EXPRD(x4,1)){
      FREE(FLD1(x4,1),1);DSPRDF(x4);
     }else{
      COPY(x30,1);
      FRPRD(x4,1);}
     CPCLS(__APatternAnalysis_25,1);
     CPPRD(__AOcError_15,1);
     {OBJ x31;
      x31=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__APatternAnalysis_25,3))(__APatternAnalysis_25,x1,x2,x27);
      r=_ASeqReduce_4(x31,__AOcError_15,x30);}}}}}
 return r;}

extern OBJ _APatternAnalysis_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* rankWarning */
{OBJ r;
 CPPRD(__APatternAnalysis_24,1);
 COPY(x4,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;OBJ x16;
  x5=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x1);
  x6=_AOcPos_34(x4);
  x7=_AOcPos_34(x3);
  x8=_AString_49(x5);
  x9=_AString_49(x6);
  x10=_AString_49(x7);
  PRD(1,4,x11);FLD(x11,1)=x8;
  PRD(1,4,x12);FLD(x12,1)=x9;
  PRD(1,4,x13);FLD(x13,1)=x10;
  x14=_ASeq_15(x11,x12,x13);
  x15=_AStringFormat_1(__APatternAnalysis_24,x14);
  x16=_AStringConv_1(x15);
  r=_AOcError_16(__AOcError_10,x16,x4);}
 return r;}

extern OBJ _APatternAnalysis_7(OBJ x1,OBJ x2) /* markExport */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x3;
  x3=_AAnalyzedGlobSig_42(x2,x1);
  if(ISTGPRM(x3,1)){
   CPCLS(__AAttributes_6,1);
   CPCLS(__AAttributes_17,1);
   r=_AAnalyzedGlobSigH_14(__AAttributes_17,__AAttributes_6,x1,x2);
  }else{
   FREE(x1,1);
   r=x2;}}
 return r;}

extern OBJ _APatternAnalysis_8(OBJ x1) /* etaEnrichment? */
{OBJ r;
 CPPRD(__APatternAnalysis_26,1);
 r=_AOcOptions_14(__APatternAnalysis_26,x1);
 return r;}

extern OBJ _APatternAnalysis_9(OBJ x1,OBJ x2) /* printGsFinal */
{OBJ r;
 CPPRD(__APatternAnalysis_48,1);
 CPCLS(__AAnalyzedGlobSig_31,1);
 COPY(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AOcOptions_14(__APatternAnalysis_48,x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AAnalyzedGlobSig_31,1))(__AAnalyzedGlobSig_31,x2);
  r=_ADEBUG_2(x3,x4,x2);}
 return r;}

extern TUP5 _APatternAnalysis_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* balanceEqs */
{TUP5 r;
 CPPRD(__APatternAnalysis_26,1);
 {OBJ x5;OBJ x8;
  x5=_AOcOptions_14(__APatternAnalysis_26,x1);
  if(ISTGPRM(x5,1)){
   COPY(x3,1);
   x8=_APatternAnalysis_12(x3);
  }else{
   COPY(x2,1);
   CPCLS(__APatternAnalysis_11,1);
   CPCLS(__AImpl_148,1);
   CPCLS(__ANat_73,1);
   {OBJ x6;OBJ x7;
    x6=_ASeqMap_3(__AImpl_148,x2);
    x7=_ASeqMap_3(__APatternAnalysis_11,x6);
    x8=_ASeqReduce_4(__ANat_73,__ANat_5,x7);}}
  r=_APatternAnalysis_13(x2,x3,x8,x4);}
 return r;}
extern OBJ _APatternAnalysis_10_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* balanceEqs */
{OBJ r;
 {TUP5 t=_APatternAnalysis_10(x1,x2,x3,x4);
  PRD1(5,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;
  FLD1(r,5)=t.c5;}
 return r;}

extern OBJ _APatternAnalysis_11(OBJ x1) /* countApplies */
{OBJ r;
 if(ISTGPRD(x1,4)){
  {OBJ x24=FLD(x1,1);
   if(EXPRD(x1,1)){
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    CPPRD(x24,1);
    FRPRD(x1,1);}
   {OBJ x27;
    x27=_APatternAnalysis_11(x24);
    ANat_61(x27,__ANat_8,r);}}
 }else{
  if(ISTGPRD(x1,7)){
   if(EXPRD(x1,1)){
    DSPRD(x1);
   }else{
    DCPRD(x1,1);}
   r=__ANat_5;
  }else{
   HLT("PatternAnalysis at <209,5-16> : missing else in countApplies\'PatternAnalysis:expr->nat");}}
 return r;}

extern OBJ _APatternAnalysis_12(OBJ x1) /* countFunct */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  {OBJ x16=FLD(x1,2);
   if(EXPRD(x1,1)){
    FREE(FLD(x1,1),1);DSPRDF(x1);
   }else{
    COPY(x16,1);
    FRPRD(x1,1);}
   {OBJ x17;
    x17=_APatternAnalysis_12(x16);
    ANat_61(x17,__ANat_8,r);}}
 }else{
  FREE(x1,1);
  r=__ANat_5;}
 return r;}

extern TUP5 _APatternAnalysis_13(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* balanceEqs,1 */
{TUP5 r;
 if(ISPRM(x1)){
  FREE(x2,1);
  CPPRD(__AGlobSigImpl_25,1);
  r.c1=__ASeq_6;r.c2=__AGlobSigImpl_25;r.c3=x4;r.c4=__ASeq_6;r.c5=__ASeq_6;
 }else{
  {OBJ x38=FLD1(x1,1);OBJ x39=FLD1(x1,2);
   if(EXPRD(x1,1)){
    COPY(x2,1);
    CPCLS(__ADArray_14,1);
    {TUP5 x42;TUP5 x48;
     x42=_APatternAnalysis_14(x38,x2,x3,x4);
     x48=_APatternAnalysis_13(x39,x2,x3,x42.c3);r.c3=x48.c3;
     r.c5=_ASeq_26(x42.c5,x48.c5);
     r.c4=_ASeq_26(x42.c4,x48.c4);
     RSOME(x1,r.c1);FLD1(r.c1,1)=x42.c1;FLD1(r.c1,2)=x48.c1;
     r.c2=_ADArrayReduce_6(__ADArray_14,x42.c2,x48.c2);}
   }else{
    CPPRD(x38,1);COPY(x39,1);
    COPY(x2,1);
    CPCLS(__ADArray_14,1);
    {TUP5 x42;TUP5 x48;
     x42=_APatternAnalysis_14(x38,x2,x3,x4);
     x48=_APatternAnalysis_13(x39,x2,x3,x42.c3);r.c3=x48.c3;
     r.c5=_ASeq_26(x42.c5,x48.c5);
     r.c4=_ASeq_26(x42.c4,x48.c4);
     FRPRD(x1,1);PRD1(2,r.c1);FLD1(r.c1,1)=x42.c1;FLD1(r.c1,2)=x48.c1;
     r.c2=_ADArrayReduce_6(__ADArray_14,x42.c2,x48.c2);}}}}
 return r;}
extern OBJ _APatternAnalysis_13_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* balanceEqs,1 */
{OBJ r;
 {TUP5 t=_APatternAnalysis_13(x1,x2,x3,x4);
  PRD1(5,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;
  FLD1(r,5)=t.c5;}
 return r;}

extern TUP5 _APatternAnalysis_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* balanceEq */
{TUP5 r;
 {OBJ x28=FLD1(x1,1);OBJ x29=FLD1(x1,2);OBJ x30=FLD1(x1,3);
  CPPRD(x28,2);CPPRD(x29,1);COPY(x30,2);
  {OBJ x31;TUP2 x33;OBJ x35;
   PRD1(2,x31);FLD1(x31,1)=x30;FLD1(x31,2)=__ASeq_6;
   x33=_APatternAnalysis_15(x28,x2,x3);
   ANat_76(x33.c2,__ANat_5,x35);
   if(ISTGPRM(x35,1)){
    r.c4=x31;
    FRPRD(x28,1);
    FRPRD(x29,1);
    FREE(x30,1);
    FREE(x33.c1,1);
    CPPRD(__AGlobSigImpl_25,1);
    r.c1=x1;r.c2=__AGlobSigImpl_25;r.c3=x4;r.c5=__ASeq_6;
   }else{
    r.c5=x31;
    if(EXPRD(x1,1)){
     DSPRD(x1);
    }else{
     DCPRD(x1,1);}
    COPY(x30,1);
    {TUP4 x37;
     x37=_APatternAnalysis_16(x28,x29,x30,x33.c1,x33.c2,x4);r.c2=x37.c3;r.c3=x37.c4;
     PRD1(3,r.c1);FLD1(r.c1,1)=x37.c1;FLD1(r.c1,2)=x37.c2;FLD1(r.c1,3)=x30;
     r.c4=__ASeq_6;}}}}
 return r;}
extern OBJ _APatternAnalysis_14_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* balanceEq */
{OBJ r;
 {TUP5 t=_APatternAnalysis_14(x1,x2,x3,x4);
  PRD1(5,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;
  FLD1(r,5)=t.c5;}
 return r;}

extern TUP2 _APatternAnalysis_15(OBJ x1,OBJ x2,OBJ x3) /* analyzeLhs */
{TUP2 r;
 if(ISTGPRD(x1,4)){
  {OBJ x37=FLD(x1,1);
   if(EXPRD(x1,1)){
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    CPPRD(x37,1);
    FRPRD(x1,1);}
   {TUP2 x41;OBJ x43;
    x41=_APatternAnalysis_15(x37,x2,x3);
    ANat_62(x41.c2,__ANat_8,x43);
    if(ISPRD(x41.c1)&&(ISTGPRD(x41.c1,2))){
     {OBJ x45=FLD(x41.c1,2);
      if(EXPRD(x41.c1,1)){
       r.c2=x43;r.c1=x45;
       FREE(FLD(x41.c1,1),1);DSPRDF(x41.c1);
      }else{
       COPY(x45,1);
       r.c2=x43;r.c1=x45;
       FRPRD(x41.c1,1);}}
    }else{
     HLT("Fct at <unknown> : undefined selection res\'Fct:fct->fct");}}}
 }else{
  if(ISTGPRD(x1,7)){
   if(EXPRD(x1,1)){
    DSPRD(x1);
   }else{
    DCPRD(x1,1);}
   r.c1=x2;r.c2=x3;
  }else{
   HLT("PatternAnalysis at <243,5-14> : missing else in analyzeLhs\'PatternAnalysis:expr**fct**nat->fct**nat");}}
 return r;}
extern OBJ _APatternAnalysis_15_c(OBJ x1,OBJ x2,OBJ x3) /* analyzeLhs */
{OBJ r;
 {TUP2 t=_APatternAnalysis_15(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP4 _APatternAnalysis_16(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* addApplies */
{TUP4 r;
 {OBJ x10;
  ANat_6(x5,x10);
  if(ISPRD(x4)&&(ISTGPRD(x4,2))){
   {OBJ x45=FLD(x4,1);OBJ x46=FLD(x4,2);
    if(EXPRD(x4,1)){
     DSPRDF(x4);
    }else{
     COPY(x45,1);COPY(x46,1);
     FRPRD(x4,1);}
    if(ISTGPRM(x10,1)){
     FREE(x3,1);
     FREE(x45,1);
     FREE(x46,1);
     CPPRD(__AGlobSigImpl_25,1);
     r.c1=x1;r.c2=x2;r.c3=__AGlobSigImpl_25;r.c4=x6;
    }else{
     {OBJ x47;
      ANat_3(x5,x47);
      if(ISTGPRM(x47,1)){
       COPY(x3,3);
       CPCLS(__ADArray_14,1);
       {OBJ x48;TUP3 x50;OBJ x53;OBJ x54;TUP4 x58;
	ANat_4(x5,x48);
	x50=_APatternAnalysis_17(x3,x45,x6);
	CPPRD(x50.c1,1);
	PRD(3,4,x53);FLD(x53,1)=x1;FLD(x53,2)=x50.c1;FLD(x53,3)=x3;
	PRD(3,4,x54);FLD(x54,1)=x2;FLD(x54,2)=x50.c1;FLD(x54,3)=x3;
	x58=_APatternAnalysis_16(x53,x54,x3,x46,x48,x50.c3);r.c1=x58.c1;r.c2=x58.c2;r.c4=x58.c4;
	r.c3=_ADArrayReduce_6(__ADArray_14,x50.c2,x58.c3);}
      }else{
       HLT("PatternAnalysis at <250,5-14> : missing else in addApplies\'PatternAnalysis:expr**expr**pos**fct**nat**nat->expr**expr**locSig**nat");}}}}
  }else{
   FREE(x3,1);
   FREE(x4,1);
   if(ISTGPRM(x10,1)){
    CPPRD(__AGlobSigImpl_25,1);
    r.c1=x1;r.c2=x2;r.c3=__AGlobSigImpl_25;r.c4=x6;
   }else{
    HLT("PatternAnalysis at <250,5-14> : missing else in addApplies\'PatternAnalysis:expr**expr**pos**fct**nat**nat->expr**expr**locSig**nat");}}}
 return r;}
extern OBJ _APatternAnalysis_16_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* addApplies */
{OBJ r;
 {TUP4 t=_APatternAnalysis_16(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 TUP3 _APatternAnalysis_17(OBJ x1,OBJ x2,OBJ x3) /* newLocals */
{TUP3 r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  {OBJ x17=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x17,1);
    FRPRD(x2,1);}
   COPY(x1,1);
   {
    PRD(2,3,r.c1);FLD(r.c1,2)=x1;
    {TUP3 t=_APatternAnalysis_18(x1,x17,x3);
     FLD(r.c1,1)=t.c1;
     r.c2=t.c2;
     r.c3=t.c3;}}}
 }else{
  CPPRD(__ARep_13,1);
  {OBJ x25;
   ANat_2(x3,r.c3);
   r.c2=_AGlobSigImpl_26(x3,__ARep_13,x2);
   PRDF(1,7,x25);FLD(x25,1)=x3;
   PRD(2,7,r.c1);FLD(r.c1,1)=x25;FLD(r.c1,2)=x1;}}
 return r;}
extern OBJ _APatternAnalysis_17_c(OBJ x1,OBJ x2,OBJ x3) /* newLocals */
{OBJ r;
 {TUP3 t=_APatternAnalysis_17(x1,x2,x3);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP3 _APatternAnalysis_18(OBJ x1,OBJ x2,OBJ x3) /* newLocalSeq */
{TUP3 r;
 if(ISPRM(x2)){
  FREE(x1,1);
  CPPRD(__AGlobSigImpl_25,1);
  r.c1=__ASeq_6;r.c2=__AGlobSigImpl_25;r.c3=x3;
 }else{
  {OBJ x31=FLD1(x2,1);OBJ x32=FLD1(x2,2);
   if(EXPRD(x2,1)){
    COPY(x1,1);
    CPPRD(__ARep_13,1);
    CPCLS(__ADArray_14,1);
    {OBJ x33;OBJ x34;OBJ x36;OBJ x37;TUP3 x39;
     PRDF(1,7,x33);FLD(x33,1)=x3;
     ANat_2(x3,x34);
     x36=_AGlobSigImpl_26(x3,__ARep_13,x31);
     PRD(2,7,x37);FLD(x37,1)=x33;FLD(x37,2)=x1;
     x39=_APatternAnalysis_18(x1,x32,x34);r.c3=x39.c3;
     RSOME(x2,r.c1);FLD1(r.c1,1)=x37;FLD1(r.c1,2)=x39.c1;
     r.c2=_ADArrayReduce_6(__ADArray_14,x36,x39.c2);}
   }else{
    COPY(x31,1);COPY(x32,1);
    COPY(x1,1);
    CPPRD(__ARep_13,1);
    CPCLS(__ADArray_14,1);
    {OBJ x33;OBJ x34;OBJ x36;OBJ x37;TUP3 x39;
     PRDF(1,7,x33);FLD(x33,1)=x3;
     ANat_2(x3,x34);
     x36=_AGlobSigImpl_26(x3,__ARep_13,x31);
     PRD(2,7,x37);FLD(x37,1)=x33;FLD(x37,2)=x1;
     x39=_APatternAnalysis_18(x1,x32,x34);r.c3=x39.c3;
     FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x37;FLD1(r.c1,2)=x39.c1;
     r.c2=_ADArrayReduce_6(__ADArray_14,x36,x39.c2);}}}}
 return r;}
extern OBJ _APatternAnalysis_18_c(OBJ x1,OBJ x2,OBJ x3) /* newLocalSeq */
{OBJ r;
 {TUP3 t=_APatternAnalysis_18(x1,x2,x3);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern OBJ _APatternAnalysis_19(OBJ x1,OBJ x2) /* checkSpecs */
{OBJ r;
 CPPRD(__APatternAnalysis_51,1);
 CPPRD(x1,1);
 {OBJ x3;
  x3=_AOcOptions_14(__APatternAnalysis_51,x1);
  if(ISTGPRM(x3,1)){
   COPY(x2,1);
   CPCLS(__APatternAnalysis_20,1);
   CPCLS(__APatternAnalysis_50,1);
   CPCLS(__APatternAnalysis_52,1);
   {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
    x4=_AGlobSig_56(x2);
    x5=_ADArrayReduce_6(__APatternAnalysis_50,__ASeq_6,x4);
    x6=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APatternAnalysis_20,2))(__APatternAnalysis_20,x1,x5);
    x7=_AGlobSig4SigAna_18(x6,x2,__ABUILTIN_5);
    r=_AComCompose_5(x7,__APatternAnalysis_52);}
  }else{
   FRPRD(x1,1);
   r=_ACom_23(x2);}}
 return r;}

extern OBJ _APatternAnalysis_20(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* evalSpec */
{OBJ r;
 COPY(x3,2);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x5=_AGlobSig_56(x3);
  PRD1(2,x6);FLD1(x6,1)=x3;FLD1(x6,2)=__ABUILTIN_5;
  x7=_ADArray_20(x5,x4);
  x8=_ACom_23(x6);
  if(ISTGPRD(x7,1)){
   COPY(x3,1);
   CPPRD(x7,1);
   {OBJ x28;
    x28=_APatternAnalysis_21(x3,x4,x7,x2);
    if(ISTGPRM(x28,1)){
     CPPRD(__APatternAnalysis_49,1);
     {OBJ x29;OBJ x30;OBJ x31;OBJ x32;OBJ x33;
      PRDF(1,1,x29);FLD(x29,1)=x4;
      x30=_AAnalyzedGlobSigH_9(x3,__AAnalyzedGlobSig_23,x29);
      x31=_ADeclEntry_13(x7);
      x32=_AOcError_17(__AOcError_8,__APatternAnalysis_49,x30,x31);
      x33=_AOcError_25(x1,x32);
      r=_AComCompose_6(x33,x8);}
    }else{
     r=x8;
     FRPRD(x1,1);
     FREE(x3,1);
     if(EXPRD(x7,1)){
      DSPRD(x7);
     }else{
      DCPRD(x7,1);}}}
  }else{
   r=x8;
   FRPRD(x1,1);
   FREE(x2,1);
   FREE(x3,1);
   FRPRD(x7,1);}}
 return r;}

extern OBJ _APatternAnalysis_21(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* noSpec? */
{OBJ r;
 if(ISTGPRD(x3,1)){
  {OBJ x63=FLD(x3,5);OBJ x64=FLD(x3,6);
   COPY(x63,1);COPY(x64,1);
   if(ISPRM(x64)){
    CPPRD(x3,1);
    {OBJ x66;
     x66=_ADeclEntry_11(x3);
     if(ISPRM(x66)&&(ISTGPRM(x66,1))){
      FREE(x1,1);
      if(EXPRD(x3,1)){
       DSPRD(x3);
      }else{
       DCPRD(x3,1);}
      FREE(x4,1);
      FREE(x63,1);
      r=__ABUILTIN_3;
     }else{
      FREE(x66,1);
      CPCLS(__ANat_80,1);
      {OBJ x67;
       x67=_ASet_44(__ANat_80,x2,x4);
       if(ISTGPRM(x67,1)){
	FREE(x1,1);
	if(EXPRD(x3,1)){
	 DSPRD(x3);
	}else{
	 DCPRD(x3,1);}
	FREE(x63,1);
	r=__ABUILTIN_3;
       }else{
	{OBJ x68;OBJ x69;
	 x68=_ADeclEntry_12(x3);
	 ABitset_21(__AAttributes_25,x68,x69);
	 if(ISTGPRM(x69,1)){
	  FREE(x1,1);
	  FREE(x63,1);
	  r=__ABUILTIN_3;
	 }else{
	  {OBJ x72;OBJ x74;
	   if(ISPRD(x63)&&(ISTGPRD(x63,2))){
	    x72=__ABUILTIN_5;
	   }else{
	    x72=__ABUILTIN_3;}
	   if(ISTGPRM(x72,1)){
	    x74=__ABUILTIN_5;
	   }else{
	    if(ISPRD(x63)&&(ISTGPRD(x63,0))){
	     x74=__ABUILTIN_5;
	    }else{
	     x74=__ABUILTIN_3;}}
	   if(ISTGPRM(x74,1)){
	    {OBJ x75;
	     x75=_APatternAnalysis_22(x1,x63);
	     if(ISTGPRM(x75,1)){
	      r=__ABUILTIN_3;
	     }else{
	      r=__ABUILTIN_5;}}
	   }else{
	    FREE(x1,1);
	    FREE(x63,1);
	    r=__ABUILTIN_3;}}}}}}}}
   }else{
    if(EXPRD(x64,1)){
     FRPRD(FLD1(x64,1),1);DSPRDF(x64);
    }else{
     DCPRD(x64,1);}
    FREE(x1,1);
    if(EXPRD(x3,1)){
     DSPRD(x3);
    }else{
     DCPRD(x3,1);}
    FREE(x4,1);
    FREE(x63,1);
    r=__ABUILTIN_3;}}
 }else{
  HLT("DeclEntry at <unknown> : undefined selection spc\'DeclEntry:declE->option");}
 return r;}

extern OBJ _APatternAnalysis_22(OBJ x1,OBJ x2) /* pcheckerFct? */
{OBJ r;
 CPCLS(__APatternAnalysis_28,1);
 {OBJ x6;
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_28,1))(__APatternAnalysis_28,__ABUILTIN_20);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x39=FLD(x2,2);
    if(EXPRD(x2,1)){
     FREE(FLD(x2,1),1);DSPRDF(x2);
    }else{
     COPY(x39,1);
     FRPRD(x2,1);}
    if(ISPRD(x39)&&(ISTGPRD(x39,0))){
     {OBJ x40=FLD(x39,1);
      if(EXPRD(x39,1)){
       DSPRDF(x39);
      }else{
       COPY(x40,1);
       FRPRD(x39,1);}
      CPCLS(__APatternAnalysis_31,1);
      {OBJ x41;OBJ x42;OBJ x43;
       x41=_AAnalyzedGlobSig_2(x1,x40);
       CPPRD(x41,1);
       x42=_ARep_18(x41);
       x43=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__APatternAnalysis_31,2))(__APatternAnalysis_31,x41,x42);
       r=_ADEBUG_2(x6,x43,x42);}}
    }else{
     FREE(x1,1);
     FREE(x39,1);
     CPCLS(__APatternAnalysis_33,1);
     r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_33,1))(__APatternAnalysis_33,__ABUILTIN_20);}}
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,0))){
    {OBJ x44=FLD(x2,1);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      COPY(x44,1);
      FRPRD(x2,1);}
     CPCLS(__APatternAnalysis_35,1);
     CPPRD(__ARep_100,1);
     {OBJ x45;OBJ x46;OBJ x47;
      x45=_AAnalyzedGlobSig_2(x1,x44);
      x46=_ARep_24(x45,__ARep_100);
      x47=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_35,1))(__APatternAnalysis_35,x46);
      r=_ADEBUG_2(x6,x47,x46);}}
   }else{
    FREE(x1,1);
    FREE(x2,1);
    CPCLS(__APatternAnalysis_37,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_37,1))(__APatternAnalysis_37,__ABUILTIN_20);}}}
 return r;}

extern OBJ _APatternAnalysis_23(OBJ x1) /* genOps */
{OBJ r;
 CPCLS(__APatternAnalysis_50,1);
 {OBJ x2;
  x2=_AGlobSig_56(x1);
  r=_ADArrayReduce_6(__APatternAnalysis_50,__ASeq_6,x2);}
 return r;}

extern OBJ _APatternAnalysis_25(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* rankWarnings'25 */
{OBJ r;
 {OBJ x6;
  x6=_APatternAnalysis_6(x1,x2,x3,x4);
  r=_AOcError_21(x5,x6);}
 return r;}

extern OBJ _APatternAnalysis_28(OBJ x1) /* pcheckerFct?'28 */
{OBJ r;
 CPPRD(__APatternAnalysis_27,1);
 r=_ADEBUG_10(__APatternAnalysis_27);
 return r;}

extern OBJ _APatternAnalysis_31(OBJ x1,OBJ x2,OBJ x3) /* pcheckerFct?'31 */
{OBJ r;
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_ARep_119(x1);
  if(ISTGPRM(x2,1)){
   CPPRD(__APatternAnalysis_29,1);
   CPPRD(__APatternAnalysis_30,1);
   CPPRD(__ABoolConv_2,1);
   x5=__ABoolConv_2;
  }else{
   CPPRD(__APatternAnalysis_29,1);
   CPPRD(__APatternAnalysis_30,1);
   CPPRD(__ABoolConv_3,1);
   x5=__ABoolConv_3;}
  ADenotation_4(__APatternAnalysis_29,x5,x6);
  ADenotation_4(x4,x6,x7);
  ADenotation_4(__APatternAnalysis_30,x7,r);}
 return r;}

extern OBJ _APatternAnalysis_33(OBJ x1) /* pcheckerFct?'33 */
{OBJ r;
 CPCLS(__APatternAnalysis_28,1);
 CPPRD(__APatternAnalysis_32,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_28,1))(__APatternAnalysis_28,__ABUILTIN_20);
  r=_ADEBUG_4(x2,__APatternAnalysis_32,__ABUILTIN_3);}
 return r;}

extern OBJ _APatternAnalysis_35(OBJ x1,OBJ x2) /* pcheckerFct?'35 */
{OBJ r;
 {OBJ x3;
  if(ISTGPRM(x1,1)){
   CPPRD(__APatternAnalysis_34,1);
   CPPRD(__ABoolConv_2,1);
   x3=__ABoolConv_2;
  }else{
   CPPRD(__APatternAnalysis_34,1);
   CPPRD(__ABoolConv_3,1);
   x3=__ABoolConv_3;}
  ADenotation_4(__APatternAnalysis_34,x3,r);}
 return r;}

extern OBJ _APatternAnalysis_37(OBJ x1) /* pcheckerFct?'37 */
{OBJ r;
 CPCLS(__APatternAnalysis_28,1);
 CPPRD(__APatternAnalysis_36,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_28,1))(__APatternAnalysis_28,__ABUILTIN_20);
  r=_ADEBUG_4(x2,__APatternAnalysis_36,__ABUILTIN_3);}
 return r;}

extern OBJ _APatternAnalysis_38(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzeImpl'38 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x5;OBJ x6;OBJ x7;
  x5=_AAnalyzedGlobSig_57(x2,x1,x3);
  PRD(1,0,x6);FLD(x6,1)=x5;
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x6);
  PRD(2,0,r);FLD(r,1)=x7;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _APatternAnalysis_39(OBJ x1) /* analyzeImpl'39 */
{OBJ r;
 r=_ACom_23(__ABUILTIN_5);
 return r;}

extern OBJ _APatternAnalysis_43(OBJ x1) /* analyzeImpl'43 */
{OBJ r;
 CPPRD(__APatternAnalysis_27,1);
 r=_ADEBUG_10(__APatternAnalysis_27);
 return r;}

extern OBJ _APatternAnalysis_45(OBJ x1,OBJ x2) /* analyzeImpl'45 */
{OBJ r;
 CPPRD(__APatternAnalysis_44,1);
 ADenotation_4(__APatternAnalysis_44,x1,r);
 return r;}

extern OBJ _APatternAnalysis_47(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatterns'47 */
{OBJ r;
 COPY(x2,2);
 {OBJ x5;OBJ x6;
  x5=_APatternAnalysis_7(x2,x3);
  COPY(x5,1);
  x6=_AAnalyzedGlobSig_56(x5,x2);
  r=_APatternAnalysis_4(x1,x2,x5,x6);}
 return r;}

extern OBJ _APatternAnalysis_50(OBJ x1,OBJ x2,OBJ x3) /* genOps'50 */
{OBJ r;
 if(ISTGPRD(x2,2)){
  {OBJ x46=FLD(x2,6);OBJ x47=FLD(x2,7);
   if(EXPRD(x2,1)){
    FLD(x2,7)=NIL;DSPRD(x2);
   }else{
    COPY(x47,1);
    FRPRD(x2,1);}
   CPCLS(__AObjects_26,1);
   CPCLS(__ANat_80,3);
   {OBJ x48;OBJ x49;OBJ x50;
    x48=_ASet_39(__ANat_80,x46,x3);
    x49=_ASeqMap_3(__AObjects_26,x47);
    x50=_ASetConv_3(__ANat_80,x49);
    r=_ASet_41(__ANat_80,x48,x50);}}
 }else{
  FRPRD(x2,1);
  r=x3;}
 return r;}

extern OBJ _APatternAnalysis_52(OBJ x1) /* checkSpecs'52 */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   COPY(x2,1);
   FRPRD(x1,1);}
  {OBJ x4;
   x4=x2;
   r=_ACom_23(x4);}}
 return r;}

extern OBJ _APatternAnalysis_54(OBJ x1,OBJ x2) /* pattAna'54 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x3;OBJ x4;OBJ x5;
  x3=_APatternAnalysis_9(x1,x2);
  PRD(1,0,x4);FLD(x4,1)=x3;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x4);
  PRD(2,0,r);FLD(r,1)=x5;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _APatternAnalysis_55(OBJ x1,OBJ x2) /* pattAna'55 */
{OBJ r;
 CPCLS(__APatternAnalysis_54,1);
 CPPRD(x1,1);
 {OBJ x3;OBJ x4;
  x3=_APatternAnalysis_19(x1,x2);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_54,1))(__APatternAnalysis_54,x1);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _APatternAnalysis_56(OBJ x1,OBJ x2,OBJ x3) /* pattAna'56 */
{OBJ r;
 CPCLS(__APatternAnalysis_3,1);
 CPCLS(__APatternAnalysis_55,1);
 CPPRD(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_3,1))(__APatternAnalysis_3,x1);
  x5=_AAnalyzedGlobSig_60(x4,x2);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__APatternAnalysis_55,1))(__APatternAnalysis_55,x1);
  r=_AComCompose_5(x5,x6);}
 return r;}

init_APatternAnalysis()
{
 static int visited=0; if(visited) return; visited=1;
 init_AGlobSigToText();
 init_ADeclEntry();
 init_AImpDecl4SigAna();
 init_APartNameEntry();
 init_AImpExpEntry();
 init_AMySeqFun1();
 init_APragma();
 init_ACom();
 init_AName4SigAna();
 init_AAttributes();
 init_AOcOptions();
 init_ADArrayReduce();
 init_ADArray();
 init_AAnalyzedGlobSig();
 init_AStringMapSeq();
 init_ANatMap();
 init_AGlobSig();
 init_ALexem();
 init_AArray();
 init_AGlobPragma();
 init_AQuadruple();
 init_APartName();
 init_AName();
 init_ASeqConv();
 init_ADenotation();
 init_AGlobSigImpl();
 init_AStringConv();
 init_AObjects();
 init_ABTUnion();
 init_AImpl();
 init_AStringFormat();
 init_APatterns();
 init_ASeqReduce();
 init_APair();
 init_ASeqMap();
 init_AMap();
 init_AComCompose();
 init_ANat();
 init_AOcVerbose();
 init_AOcError();
 init_ABindingAnalysis();
 init_ARep();
 init_AMatchingAnalysis();
 init_AFct();
 init_ADEBUG();
 init_AOption();
 init_AGlobSig4SigAna();
 init_AOcPos();
 init_ASetConv();
 init_ASeq();
 init_ATableFun2();
 init_AVoid();
 init_ABoolConv();
 init_AChar();
 init_AAGSig();
 init_AString();
 init_AReal();
 init_AStream();
 init_ATree();
 init_AFile();
 init_AMapReduce();
 init_AInt();
 init_ASetByBST();
 init_ASet();
 init_ABSTree();
 init_ABitset();
 init_AAbsyFun3();
 init_ATable();
 init_AAnalyzedGlobSigH();
 init_AUniqueTable();
 LCLS(3,_APatternAnalysis_31,__APatternAnalysis_31);
 DEN("LAW%... >",__APatternAnalysis_30);
 DEN("< ",__APatternAnalysis_29);
 LCLS(1,_APatternAnalysis_28,__APatternAnalysis_28);
 DEN("-zpcheckerFct",__APatternAnalysis_27);
 DEN("etaEnrichment",__APatternAnalysis_26);
 CLS(5,_APatternAnalysis_25,__APatternAnalysis_25);
 CLS(3,_APatternAnalysis_56,__APatternAnalysis_56);
 DEN("definition of %s at %s has smaller rank than definition at %s",__APatternAnalysis_24);
 CLS(2,_APatternAnalysis_55,__APatternAnalysis_55);
 CLS(1,_APatternAnalysis_23,__APatternAnalysis_23);
 CLS(2,_APatternAnalysis_54,__APatternAnalysis_54);
 CLS(2,_APatternAnalysis_22,__APatternAnalysis_22);
 DEN("analyzing patterns ...",__APatternAnalysis_53);
 CLS(4,_APatternAnalysis_21,__APatternAnalysis_21);
 CLS(1,_APatternAnalysis_52,__APatternAnalysis_52);
 CLS(4,_APatternAnalysis_20,__APatternAnalysis_20);
 DEN("pchecker",__APatternAnalysis_51);
 CLS(2,_APatternAnalysis_19,__APatternAnalysis_19);
 CLS(3,_APatternAnalysis_50,__APatternAnalysis_50);
 CLS(3,_APatternAnalysis_18_c,__APatternAnalysis_18);
 DEN("specification missing for %d",__APatternAnalysis_49);
 CLS(3,_APatternAnalysis_17_c,__APatternAnalysis_17);
 DEN("printGsFinal",__APatternAnalysis_48);
 CLS(6,_APatternAnalysis_16_c,__APatternAnalysis_16);
 CLS(4,_APatternAnalysis_47,__APatternAnalysis_47);
 CLS(3,_APatternAnalysis_15_c,__APatternAnalysis_15);
 DEN(" ...",__APatternAnalysis_46);
 CLS(4,_APatternAnalysis_14_c,__APatternAnalysis_14);
 LCLS(2,_APatternAnalysis_45,__APatternAnalysis_45);
 CLS(4,_APatternAnalysis_13_c,__APatternAnalysis_13);
 DEN("pcheckerFct of ",__APatternAnalysis_44);
 CLS(1,_APatternAnalysis_12,__APatternAnalysis_12);
 LCLS(1,_APatternAnalysis_43,__APatternAnalysis_43);
 CLS(1,_APatternAnalysis_11,__APatternAnalysis_11);
 DEN("specified",__APatternAnalysis_42);
 CLS(4,_APatternAnalysis_10_c,__APatternAnalysis_10);
 DEN("handcoded",__APatternAnalysis_41);
 CLS(2,_APatternAnalysis_9,__APatternAnalysis_9);
 DEN("%s is not implemented",__APatternAnalysis_40);
 CLS(1,_APatternAnalysis_8,__APatternAnalysis_8);
 LCLS(1,_APatternAnalysis_39,__APatternAnalysis_39);
 CLS(2,_APatternAnalysis_7,__APatternAnalysis_7);
 CLS(4,_APatternAnalysis_38,__APatternAnalysis_38);
 CLS(4,_APatternAnalysis_6,__APatternAnalysis_6);
 LCLS(1,_APatternAnalysis_37,__APatternAnalysis_37);
 CLS(4,_APatternAnalysis_5,__APatternAnalysis_5);
 DEN("fct not funct not sort",__APatternAnalysis_36);
 CLS(4,_APatternAnalysis_4,__APatternAnalysis_4);
 LCLS(2,_APatternAnalysis_35,__APatternAnalysis_35);
 CLS(3,_APatternAnalysis_3,__APatternAnalysis_3);
 DEN("Sort proofscript\? ",__APatternAnalysis_34);
 LCLS(1,_APatternAnalysis_33,__APatternAnalysis_33);
 CLS(2,_APatternAnalysis_1,__APatternAnalysis_1);
 DEN("funct/res no sort",__APatternAnalysis_32);}

