

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ __AGlobSigImpl_6;
extern OBJ __AGlobSigImpl_10;
extern OBJ __AGlobSigImpl_25;
extern OBJ __AGlobSigImpl_27;
extern OBJ __AOcError_12;
extern OBJ __AOcError_15;
extern OBJ _AOcError_19(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_19;
extern OBJ _AOcError_21(OBJ,OBJ);extern OBJ __AOcError_21;
extern OBJ _AOcError_22(OBJ);extern OBJ __AOcError_22;
extern OBJ _APartName_28(OBJ);extern OBJ __APartName_28;
extern OBJ _AImpl_10(OBJ);extern OBJ __AImpl_10;
extern OBJ __AAnalyzedGlobSig_23;
extern OBJ _AAnalyzedGlobSig_25(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_25;
extern TUP2 _AAnalyzedGlobSig_37(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_37;
extern OBJ _AAnalyzedGlobSig_44(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_44;
extern OBJ _AAnalyzedGlobSig_56(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_56;
extern OBJ __ARepSet_2;
extern OBJ _ARepSet_3(OBJ,OBJ);extern OBJ __ARepSet_3;
extern OBJ _ARepSet_6(OBJ,OBJ);extern OBJ __ARepSet_6;
extern OBJ _ARepSet_10(OBJ,OBJ);extern OBJ __ARepSet_10;

#include "Bitset.h"
extern OBJ _ACandidates_12(OBJ);extern OBJ __ACandidates_12;
extern OBJ _ACandidates_15(OBJ,OBJ);extern OBJ __ACandidates_15;
extern OBJ _ACandidates_16(OBJ,OBJ);extern OBJ __ACandidates_16;
extern OBJ __ACandidates_18;
extern OBJ __ACandidates_19;
extern TUP2 _ACandidates_20(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ACandidates_20;
extern TUP2 _ACandidates_21(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ACandidates_21;
extern OBJ _ACandidates_25(OBJ);extern OBJ __ACandidates_25;
extern OBJ _ACandidates_27(OBJ,OBJ);extern OBJ __ACandidates_27;
extern TUP2 _ACandidates_28(OBJ);extern OBJ __ACandidates_28;
extern OBJ _ACandidates_29(OBJ,OBJ);extern OBJ __ACandidates_29;
extern OBJ __APair_2;
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern OBJ _ANatMap_12(OBJ,OBJ);extern OBJ __ANatMap_12;
extern OBJ _AOcPos_34(OBJ);extern OBJ __AOcPos_34;

#include "Array.h"
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
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 __ASubstitution_2;
extern TUP2 _ASubstitution_4(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASubstitution_4;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern OBJ _ASeqConv_2(OBJ,OBJ);extern OBJ __ASeqConv_2;
extern TUP3 _ANameAnalysis_3(OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_3;
extern TUP3 _ANameAnalysis_4(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_4;
extern TUP2 _ANameAnalysis_9(OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_9;
extern TUP4 _ANameAnalysis_10(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_10;
extern OBJ __AOption_5;
extern TUP2 _ATypeDepExprAnalysis_7(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ATypeDepExprAnalysis_7;
extern TUP3 _ATypeDepExprAnalysis_9(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ATypeDepExprAnalysis_9;
extern TUP4 _ATypeDepExprAnalysis_10(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ATypeDepExprAnalysis_10;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;

#include "Denotation.h"

#include "Char.h"
extern OBJ _AAnalyzedGlobSigH_1(OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_1;
extern OBJ _AAnalyzedGlobSigH_3(OBJ);extern OBJ __AAnalyzedGlobSigH_3;
extern OBJ _AAnalyzedGlobSigH_9(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_9;

#include "Int.h"
extern OBJ _ALhsAnalysis_1(OBJ);OBJ __ALhsAnalysis_1; /* target */
extern TUP4 _ALhsAnalysis_2(OBJ,OBJ);OBJ __ALhsAnalysis_2; /* idUses */
extern TUP2 _ALhsAnalysis_3(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_3; /* analyzeLhs */
extern TUP6 _ALhsAnalysis_4(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_4; /* substituteLhs */
extern TUP4 _ALhsAnalysis_6(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_6; /* addLocals */
extern TUP4 _ALhsAnalysis_7(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_7; /* addGlobals */
extern TUP4 _ALhsAnalysis_8(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_8; /* addMixeds */
extern OBJ _ALhsAnalysis_9(OBJ,OBJ);OBJ __ALhsAnalysis_9; /* addErr */
OBJ __ALhsAnalysis_10; /* locConflictMsg */
extern TUP4 _ALhsAnalysis_11(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_11; /* add */
extern TUP4 _ALhsAnalysis_12(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_12; /* addUses */
extern TUP4 _ALhsAnalysis_14(OBJ,OBJ);OBJ __ALhsAnalysis_14; /* idUsesInPattern */
extern TUP4 _ALhsAnalysis_15(OBJ);OBJ __ALhsAnalysis_15; /* idUsesInConstr */
extern TUP2 _ALhsAnalysis_18(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_18; /* analyzePattern */
extern TUP2 _ALhsAnalysis_19(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_19; /* analyzePatternConstr */
extern TUP4 _ALhsAnalysis_20(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_20; /* substitutePattern */
extern TUP2 _ALhsAnalysis_21(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_21; /* analyzePatternSeq */
extern TUP2 _ALhsAnalysis_22(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_22; /* analyzePatternConstrSeq */
extern TUP4 _ALhsAnalysis_23(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_23; /* substitutePatternSeq */
extern TUP4 _ALhsAnalysis_24(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_24; /* substitutePatternSeq,1 */
extern OBJ _ALhsAnalysis_25(OBJ,OBJ);OBJ __ALhsAnalysis_25; /* idUsesInPattern'25 */
extern TUP4 _ALhsAnalysis_26(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_26; /* analyzePatternConstr'26 */
extern TUP4 _ALhsAnalysis_27(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_27; /* analyzePattern'27 */
extern TUP4 _ALhsAnalysis_28(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_28; /* analyzePattern'28 */
OBJ __ALhsAnalysis_29; /* analyzePattern'29 */
extern OBJ _ALhsAnalysis_30(OBJ,OBJ);OBJ __ALhsAnalysis_30; /* analyzePattern'30 */
extern OBJ _ALhsAnalysis_31(OBJ,OBJ);OBJ __ALhsAnalysis_31; /* analyzePattern'31 */
extern TUP4 _ALhsAnalysis_32(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_32; /* analyzePattern'32 */
OBJ __ALhsAnalysis_33; /* analyzePattern'33 */
OBJ __ALhsAnalysis_34; /* analyzePattern'34 */
OBJ __ALhsAnalysis_35; /* analyzePattern'35 */
extern TUP4 _ALhsAnalysis_36(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_36; /* analyzePattern'36 */
extern TUP4 _ALhsAnalysis_37(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_37; /* analyzeLhs'37 */
OBJ __ALhsAnalysis_38; /* analyzeLhs'38 */
extern OBJ _ALhsAnalysis_39(OBJ);OBJ __ALhsAnalysis_39; /* analyzeLhs'39 */
OBJ __ALhsAnalysis_40; /* analyzeLhs'40 */
OBJ __ALhsAnalysis_41; /* analyzeLhs'41 */
extern OBJ _ALhsAnalysis_42(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_42; /* analyzeLhs'42 */
extern TUP4 _ALhsAnalysis_43(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_43; /* substitutePattern'43 */
extern OBJ _ALhsAnalysis_44(OBJ,OBJ);OBJ __ALhsAnalysis_44; /* substitutePattern'44 */
extern OBJ _ALhsAnalysis_45(OBJ);OBJ __ALhsAnalysis_45; /* substituteLhs'45 */
OBJ __ALhsAnalysis_46; /* substituteLhs'46 */
OBJ __ALhsAnalysis_47; /* substituteLhs'47 */
extern OBJ _ALhsAnalysis_48(OBJ,OBJ,OBJ,OBJ);OBJ __ALhsAnalysis_48; /* substituteLhs'48 */

extern OBJ _ALhsAnalysis_1(register OBJ x1) /* target */
{OBJ r;
 for(;;){
  if(ISTGPRD(x1,10)||ISTGPRD(x1,4)){
   {OBJ x70=FLD(x1,1);
    if(EXPRD(x1,1)){
     FLD(x1,1)=NIL;DSPRD(x1);
    }else{
     CPPRD(x70,1);
     FRPRD(x1,1);}
    x1=x70;continue;}
  }else{
   if(ISTGPRD(x1,7)){
    {OBJ x73=FLD(x1,1);
     if(EXPRD(x1,1)){
      r=x73;
      FREE(FLD(x1,2),1);DSPRDF(x1);
     }else{
      COPY(x73,1);
      r=x73;
      FRPRD(x1,1);}}
   }else{
    if(ISTGPRD(x1,3)){
     {OBJ x78=FLD(x1,1);
      if(EXPRD(x1,1)){
       FREE(FLD(x1,2),1);DSPRDF(x1);
      }else{
       COPY(x78,1);
       FRPRD(x1,1);}
      {OBJ x82;
       if(ISPRM(x78)){
	HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
       }else{
	{OBJ x80=FLD1(x78,1);
	 if(EXPRD(x78,1)){
	  x82=x80;
	  FREE(FLD1(x78,2),1);DSPRDF(x78);
	 }else{
	  CPPRD(x80,1);
	  x82=x80;
	  FRPRD(x78,1);}}}
       x1=x82;continue;}}
    }else{
     HLT("LhsAnalysis at <unknown> : missing else in target\'LhsAnalysis:expr->partName");}}}
  break;}
 return r;}

extern TUP4 _ALhsAnalysis_2(register OBJ x1,register OBJ x2) /* idUses */
{TUP4 r;
 for(;;){
  if(ISTGPRD(x1,4)){
   {OBJ x187=FLD(x1,1);OBJ x188=FLD(x1,2);
    if(EXPRD(x1,1)){
     FREE(FLD(x1,3),1);DSPRDF(x1);
    }else{
     CPPRD(x187,1);CPPRD(x188,1);
     FRPRD(x1,1);}
    COPY(x2,1);
    {TUP4 x192;TUP4 x196;
     x192=_ALhsAnalysis_2(x187,x2);
     x196=_ALhsAnalysis_14(x188,x2);
     r=_ALhsAnalysis_12(x192.c1,x192.c2,x192.c3,x192.c4,x196.c1,x196.c2,x196.c3,x196.c4);}}
  }else{
   if(ISTGPRD(x1,7)){
    {OBJ x201=FLD(x1,1);
     if(EXPRD(x1,1)){
      FREE(FLD(x1,2),1);DSPRDF(x1);
     }else{
      COPY(x201,1);
      FRPRD(x1,1);}
     FREE(x2,1);
     if(ISPRM(x201)){
      HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
     }else{
      {OBJ x203=FLD1(x201,1);OBJ x209=FLD1(x201,7);
       if(EXPRD(x201,1)){
	FLD1(x201,1)=NIL;FLD1(x201,7)=NIL;DSPRD(x201);
       }else{
	CPPRD(x203,1);COPY(x209,1);
	FRPRD(x201,1);}
       CPPRD(__AOcError_15,1);
       CPPRD(__ARepSet_2,2);
       r.c1=_ARepSet_3(x203,x209);
       r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__AOcError_15;}}}
   }else{
    if(ISTGPRD(x1,10)){
     {OBJ x212=FLD(x1,1);
      if(EXPRD(x1,1)){
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       CPPRD(x212,1);
       FRPRD(x1,1);}
      x1=x212;continue;}
    }else{
     if(ISTGPRD(x1,3)){
      {OBJ x215=FLD(x1,1);
       if(EXPRD(x1,1)){
	FREE(FLD(x1,2),1);DSPRDF(x1);
       }else{
	COPY(x215,1);
	FRPRD(x1,1);}
       {OBJ x219;
	if(ISPRM(x215)){
	 HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	}else{
	 {OBJ x217=FLD1(x215,1);
	  if(EXPRD(x215,1)){
	   x219=x217;
	   FREE(FLD1(x215,2),1);DSPRDF(x215);
	  }else{
	   CPPRD(x217,1);
	   x219=x217;
	   FRPRD(x215,1);}}}
	x1=x219;continue;}}
     }else{
      HLT("LhsAnalysis at <unknown> : missing else in idUses\'LhsAnalysis:expr**globSig->repSet**repSet**repSet**err");}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_2_c(OBJ x1,OBJ x2) /* idUses */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_2(x1,x2);
  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 TUP2 _ALhsAnalysis_3(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* analyzeLhs */
{TUP2 r;
 for(;;){
  if(ISTGPRD(x1,4)){
   {OBJ x139=FLD(x1,1);OBJ x140=FLD(x1,2);
    CPPRD(x139,1);CPPRD(x140,1);
    COPY(x2,3);
    COPY(x3,1);
    CPCLS(__ALhsAnalysis_37,1);
    {OBJ x142;OBJ x144;TUP2 x145;TUP2 x148;
     x142=_AImpl_10(x1);
     x144=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_37,1))(__ALhsAnalysis_37,x2);
     x145=_ALhsAnalysis_3(x139,x2,x3,x4);
     x148=_ALhsAnalysis_18(x140,x2,x3,x145.c2);
     r=_ACandidates_20(__ACandidates_18,x2,x142,x148.c2,x144,x145.c1,x148.c1);}}
  }else{
   if(ISTGPRD(x1,7)){
    {OBJ x153=FLD(x1,1);
     COPY(x153,2);
     FREE(x3,1);
     COPY(x2,1);
     CPCLS(__ALhsAnalysis_39,1);
     CPCLS(__ALhsAnalysis_42,1);
     {OBJ x155;OBJ x156;TUP3 x158;OBJ x161;OBJ x162;OBJ x163;
      x155=_AImpl_10(x1);
      x156=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_39,1))(__ALhsAnalysis_39,__ABUILTIN_20);
      x158=_ANameAnalysis_3(x153,x2,x4);
      COPY(x158.c1,1);
      CPPRD(x158.c2,1);
      x161=_AOcError_22(x158.c2);
      x162=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ALhsAnalysis_42,3))(__ALhsAnalysis_42,x2,x153,x158.c1);
      x163=_ADEBUG_2(x156,x162,x158.c1);
      if(ISTGPRM(x161,1)){
       r.c2=x158.c3;
       FRPRD(x158.c2,1);
       r.c1=_ACandidates_16(x163,x155);
      }else{
       r.c2=x158.c3;
       FREE(x155,1);
       FREE(x163,1);
       PRD(1,2,r.c1);FLD(r.c1,1)=x158.c2;}}}
   }else{
    if(ISTGPRD(x1,10)){
     {OBJ x166=FLD(x1,1);OBJ x167=FLD(x1,2);
      CPPRD(x166,1);COPY(x167,1);
      COPY(x2,1);
      {OBJ x169;TUP2 x171;
       x169=_AImpl_10(x1);
       x171=_ALhsAnalysis_3(x166,x2,x3,x4);
       r=_ATypeDepExprAnalysis_7(x167,x169,x2,x171.c1,x171.c2);}}
    }else{
     if(ISTGPRD(x1,3)){
      {OBJ x173=FLD(x1,1);
       if(EXPRD(x1,1)){
	FREE(FLD(x1,2),1);DSPRDF(x1);
       }else{
	COPY(x173,1);
	FRPRD(x1,1);}
       {OBJ x177;
	if(ISPRM(x173)){
	 HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	}else{
	 {OBJ x175=FLD1(x173,1);
	  if(EXPRD(x173,1)){
	   x177=x175;
	   FREE(FLD1(x173,2),1);DSPRDF(x173);
	  }else{
	   CPPRD(x175,1);
	   x177=x175;
	   FRPRD(x173,1);}}}
	x1=x177;continue;}}
     }else{
      HLT("LhsAnalysis at <unknown> : missing else in analyzeLhs\'LhsAnalysis:expr**globSig**knowl**nat->cands**nat");}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_3_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzeLhs */
{OBJ r;
 {TUP2 t=_ALhsAnalysis_3(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP6 _ALhsAnalysis_4(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* substituteLhs */
{TUP6 r;
 for(;;){
  if(ISTGPRD(x1,4)){
   {OBJ x147=FLD(x1,1);OBJ x148=FLD(x1,2);
    CPPRD(x147,1);CPPRD(x148,1);
    CPPRD(x4,1);
    CPCLS(__AGlobSigImpl_27,1);
    {OBJ x151;TUP2 x152;TUP6 x156;TUP4 x162;
     x151=_AImpl_10(x1);
     x152=_ACandidates_28(x2);
     x156=_ALhsAnalysis_4(x147,x152.c1,x3,x4);r.c1=x156.c1;r.c5=x156.c5;
     x162=_ALhsAnalysis_20(x148,x152.c2,x156.c3,r.c5,x4);r.c3=x162.c2;
     r.c4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSigImpl_27,2))(__AGlobSigImpl_27,x156.c4,x162.c3);
     PRD(3,4,r.c2);FLD(r.c2,1)=x156.c2;FLD(r.c2,2)=x162.c1;FLD(r.c2,3)=x151;
     r.c6=_AOcError_21(x156.c6,x162.c4);}}
  }else{
   if(ISTGPRD(x1,7)){
    {OBJ x169=FLD(x1,1);
     COPY(x169,1);
     FRPRD(x4,1);
     COPY(x3,4);
     CPCLS(__ALhsAnalysis_45,1);
     CPCLS(__ALhsAnalysis_48,1);
     CPCLS(__AGlobSigImpl_10,1);
     {OBJ x171;OBJ x172;OBJ x173;TUP2 x175;OBJ x177;OBJ x178;OBJ x179;OBJ x180;OBJ x181;OBJ x184;
      x171=_AImpl_10(x1);
      COPY(x171,1);
      x172=_ACandidates_27(x3,x2);
      x173=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_45,1))(__ALhsAnalysis_45,__ABUILTIN_20);
      x175=_ANameAnalysis_9(x172,x3,x171);
      COPY(x175.c1,1);
      x177=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ALhsAnalysis_48,3))(__ALhsAnalysis_48,x3,x169,x175.c1);
      x178=_ADEBUG_2(x173,x177,x175.c1);
      COPY(x178,2);
      x179=_AAnalyzedGlobSig_56(x3,x178);
      COPY(x179,1);
      PRD(2,7,x180);FLD(x180,1)=x178;FLD(x180,2)=x171;
      x181=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_10,1))(__AGlobSigImpl_10,x179);
      if(ISTGPRM(x181,1)){
       r.c6=x175.c2;r.c1=x178;r.c2=x180;
       CPCLS(__AGlobSigImpl_6,1);
       CPPRD(__AGlobSigImpl_25,1);
       r.c5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_6,1))(__AGlobSigImpl_6,x179);
      }else{
       r.c6=x175.c2;r.c1=x178;r.c2=x180;
       FREE(x179,1);
       COPY(x3,1);
       CPPRD(__AGlobSigImpl_25,1);
       {OBJ x182;OBJ x183;
	x182=_AAnalyzedGlobSigH_3(x3);
	x183=_ASeq_52(x182,__ANat_5);
	ANat_2(x183,r.c5);}}
      r.c3=x3;r.c4=__AGlobSigImpl_25;}}
   }else{
    if(ISTGPRD(x1,10)){
     {OBJ x185=FLD(x1,1);
      if(EXPRD(x1,1)){
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       CPPRD(x185,1);
       FRPRD(x1,1);}
      {TUP2 x189;
       x189=_ACandidates_28(x2);
       FRPRD(x189.c2,1);
       x1=x185;x2=x189.c1;continue;}}
    }else{
     if(ISTGPRD(x1,3)){
      {OBJ x191=FLD(x1,1);
       if(EXPRD(x1,1)){
	FREE(FLD(x1,2),1);DSPRDF(x1);
       }else{
	COPY(x191,1);
	FRPRD(x1,1);}
       {OBJ x195;
	if(ISPRM(x191)){
	 HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	}else{
	 {OBJ x193=FLD1(x191,1);
	  if(EXPRD(x191,1)){
	   x195=x193;
	   FREE(FLD1(x191,2),1);DSPRDF(x191);
	  }else{
	   CPPRD(x193,1);
	   x195=x193;
	   FRPRD(x191,1);}}}
	x1=x195;continue;}}
     }else{
      HLT("LhsAnalysis at <unknown> : missing else in substituteLhs\'LhsAnalysis:expr**cands**globSig**repSet->name**expr**globSig**locSig**nat**err");}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_4_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* substituteLhs */
{OBJ r;
 {TUP6 t=_ALhsAnalysis_4(x1,x2,x3,x4);
  PRD1(6,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;
  FLD1(r,6)=t.c6;}
 return r;}

extern TUP4 _ALhsAnalysis_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addLocals */
{TUP4 r;
 CPCLS(__ALhsAnalysis_9,3);
 CPPRD(__AOcError_15,1);
 CPPRD(x1,1);
 CPPRD(x2,1);
 CPPRD(x3,1);
 CPPRD(x4,5);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x11;OBJ x12;
  x5=_ARepSet_10(x4,x1);
  x6=_ARepSet_10(x4,x3);
  x7=_ARepSet_10(x2,x4);
  r.c2=_ANatMap_12(x4,x2);
  r.c3=_ARepSet_6(x3,x4);
  r.c1=_ARepSet_6(x1,x4);
  x11=_ASeqReduce_4(__ALhsAnalysis_9,__AOcError_15,x5);
  x12=_ASeqReduce_4(__ALhsAnalysis_9,x11,x6);
  r.c4=_ASeqReduce_4(__ALhsAnalysis_9,x12,x7);}
 return r;}
extern OBJ _ALhsAnalysis_6_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addLocals */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_6(x1,x2,x3,x4);
  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 _ALhsAnalysis_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addGlobals */
{TUP4 r;
 CPCLS(__ALhsAnalysis_9,1);
 CPPRD(__AOcError_15,1);
 CPPRD(x2,2);
 CPPRD(x4,2);
 {OBJ x5;OBJ x7;
  x5=_ARepSet_10(x2,x4);
  r.c3=_ARepSet_6(x3,x4);
  x7=_ARepSet_6(x4,x2);
  r.c4=_ASeqReduce_4(__ALhsAnalysis_9,__AOcError_15,x5);
  r.c1=_ANatMap_12(x1,x7);
  r.c2=x2;}
 return r;}
extern OBJ _ALhsAnalysis_7_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addGlobals */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_7(x1,x2,x3,x4);
  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 _ALhsAnalysis_8(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addMixeds */
{TUP4 r;
 CPCLS(__ALhsAnalysis_9,1);
 CPPRD(__AOcError_15,1);
 CPPRD(x2,2);
 CPPRD(x3,1);
 CPPRD(x4,2);
 {OBJ x5;OBJ x6;OBJ x8;OBJ x10;OBJ x11;
  x5=_ARepSet_10(x2,x4);
  x6=_ARepSet_6(x3,x4);
  CPPRD(x6,1);
  r.c4=_ASeqReduce_4(__ALhsAnalysis_9,__AOcError_15,x5);
  x8=_ARepSet_6(x3,x6);
  r.c1=_ANatMap_12(x1,x8);
  CPPRD(r.c1,1);
  x10=_ARepSet_6(x4,r.c1);
  x11=_ARepSet_6(x10,x2);
  r.c3=_ANatMap_12(x6,x11);
  r.c2=x2;}
 return r;}
extern OBJ _ALhsAnalysis_8_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addMixeds */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_8(x1,x2,x3,x4);
  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 _ALhsAnalysis_9(OBJ x1,OBJ x2) /* addErr */
{OBJ r;
 {OBJ x18=FLD1(x1,1);OBJ x19=FLD1(x1,2);OBJ x20=FLD1(x1,3);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   CPPRD(x18,1);COPY(x19,1);COPY(x20,1);
   FRPRD(x1,1);}
  CPPRD(__ALhsAnalysis_10,1);
  {OBJ x21;OBJ x22;OBJ x23;
   x21=_AOcPos_34(x20);
   x22=_ARep_119(x18);
   x23=_AOcError_19(__AOcError_12,__ALhsAnalysis_10,x22,x21,x19);
   r=_AOcError_21(x23,x2);}}
 return r;}

extern TUP4 _ALhsAnalysis_11(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* add */
{TUP4 r;
 {OBJ x11;
  {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x1,4))(x1,x3,x4,x5,x2);
   r.c1=FLD1(t,1);
   r.c2=FLD1(t,2);
   r.c3=FLD1(t,3);
   x11=FLD1(t,4);
   DSPRDF(t);}
  r.c4=_AOcError_21(x6,x11);}
 return r;}
extern OBJ _ALhsAnalysis_11_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* add */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_11(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 TUP4 _ALhsAnalysis_12(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* addUses */
{TUP4 r;
 CPCLS(__ALhsAnalysis_6,1);
 CPCLS(__ALhsAnalysis_7,1);
 CPCLS(__ALhsAnalysis_8,1);
 {OBJ x9;TUP4 x20;TUP4 x25;
  x9=_AOcError_21(x4,x8);
  x20=_ALhsAnalysis_11(__ALhsAnalysis_8,x7,x1,x2,x3,x9);
  x25=_ALhsAnalysis_11(__ALhsAnalysis_6,x6,x20.c1,x20.c2,x20.c3,x20.c4);
  r=_ALhsAnalysis_11(__ALhsAnalysis_7,x5,x25.c1,x25.c2,x25.c3,x25.c4);}
 return r;}
extern OBJ _ALhsAnalysis_12_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* addUses */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_12(x1,x2,x3,x4,x5,x6,x7,x8);
  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 _ALhsAnalysis_14(register OBJ x1,register OBJ x2) /* idUsesInPattern */
{TUP4 r;
 for(;;){
  if(ISTGPRD(x1,4)){
   {OBJ x1195=FLD(x1,1);OBJ x1196=FLD(x1,2);
    if(EXPRD(x1,1)){
     FREE(FLD(x1,3),1);DSPRDF(x1);
    }else{
     CPPRD(x1195,1);CPPRD(x1196,1);
     FRPRD(x1,1);}
    {TUP4 x1199;TUP4 x1204;
     x1199=_ALhsAnalysis_15(x1195);
     x1204=_ALhsAnalysis_14(x1196,x2);
     r=_ALhsAnalysis_12(x1199.c1,x1199.c2,x1199.c3,x1199.c4,x1204.c1,x1204.c2,x1204.c3,x1204.c4);}}
  }else{
   if(ISTGPRD(x1,8)){
    {OBJ x1209=FLD(x1,1);OBJ x1210=FLD(x1,2);
     if(EXPRD(x1,1)){
      FREE(FLD(x1,3),1);DSPRDF(x1);
     }else{
      COPY(x1209,1);CPPRD(x1210,1);
      FRPRD(x1,1);}
     if(ISPRM(x1209)){
      HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
     }else{
      {OBJ x1213=FLD1(x1209,1);OBJ x1219=FLD1(x1209,7);
       if(EXPRD(x1209,1)){
	FLD1(x1209,1)=NIL;FLD1(x1209,7)=NIL;DSPRD(x1209);
       }else{
	CPPRD(x1213,1);COPY(x1219,1);
	FRPRD(x1209,1);}
       CPPRD(__AOcError_15,1);
       CPPRD(__ARepSet_2,2);
       {OBJ x1221;TUP4 x1222;
	x1221=_ARepSet_3(x1213,x1219);
	x1222=_ALhsAnalysis_14(x1210,x2);
	r=_ALhsAnalysis_12(__ARepSet_2,x1221,__ARepSet_2,__AOcError_15,x1222.c1,x1222.c2,x1222.c3,x1222.c4);}}}}
   }else{
    if(ISTGPRD(x1,10)){
     {OBJ x1227=FLD(x1,1);
      if(EXPRD(x1,1)){
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       CPPRD(x1227,1);
       FRPRD(x1,1);}
      x1=x1227;continue;}
    }else{
     if(ISTGPRD(x1,11)){
      {OBJ x1230=FLD(x1,1);
       COPY(x1230,1);
       if(ISPRM(x1230)){
	HLT("LhsAnalysis at <167,5-19> : missing else in idUsesInPattern\'LhsAnalysis:expr**globSig->repSet**repSet**repSet**err");
       }else{
	{OBJ x1232=FLD1(x1230,1);OBJ x1233=FLD1(x1230,2);
	 CPPRD(x1232,1);COPY(x1233,1);
	 if(EXPRD(x1230,1)){
	  DSPRD(x1230);
	 }else{
	  DCPRD(x1230,1);}
	 if(ISPRM(x1233)){
	  if(EXPRD(x1,1)){
	   DSPRD(x1);
	  }else{
	   DCPRD(x1,1);}
	  {OBJ x1234=FLD1(x1232,1);
	   if(EXPRD(x1232,1)){
	    FRPRD(FLD1(x1232,2),1);DSPRDF(x1232);
	   }else{
	    CPPRD(x1234,1);
	    FRPRD(x1232,1);}
	   x1=x1234;continue;}
	 }else{
	  {OBJ x1236=FLD1(x1233,1);OBJ x1237=FLD1(x1233,2);
	   CPPRD(x1236,1);COPY(x1237,1);
	   if(EXPRD(x1233,1)){
	    DSPRD(x1233);
	   }else{
	    DCPRD(x1233,1);}
	   {OBJ x1238;
	    x1238=_AImpl_10(x1);
	    {OBJ x1239=FLD1(x1232,1);
	     if(EXPRD(x1232,1)){
	      FRPRD(FLD1(x1232,2),1);DSPRDF(x1232);
	     }else{
	      CPPRD(x1239,1);
	      FRPRD(x1232,1);}
	     {OBJ x1243;
	      PRD(2,11,x1243);FLD(x1243,1)=x1237;FLD(x1243,2)=x1238;
	      {OBJ x1244=FLD1(x1236,1);
	       if(EXPRD(x1236,1)){
		FRPRD(FLD1(x1236,2),1);DSPRDF(x1236);
	       }else{
		CPPRD(x1244,1);
		FRPRD(x1236,1);}
	       COPY(x2,1);
	       {TUP4 x1247;TUP4 x1252;TUP4 x1258;TUP4 x1262;
		x1247=_ALhsAnalysis_15(x1244);
		x1252=_ALhsAnalysis_14(x1243,x2);
		x1258=_ALhsAnalysis_14(x1239,x2);
		x1262=_ALhsAnalysis_12(x1247.c1,x1247.c2,x1247.c3,x1247.c4,x1252.c1,x1252.c2,x1252.c3,x1252.c4);
		r=_ALhsAnalysis_12(x1258.c1,x1258.c2,x1258.c3,x1258.c4,x1262.c1,x1262.c2,x1262.c3,x1262.c4);}}}}}}}}}}
     }else{
      if(ISTGPRD(x1,7)){
       {OBJ x1267=FLD(x1,1);
	if(EXPRD(x1,1)){
	 FREE(FLD(x1,2),1);DSPRDF(x1);
	}else{
	 COPY(x1267,1);
	 FRPRD(x1,1);}
	if(ISPRM(x1267)){
	 HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
	}else{
	 {OBJ x1269=FLD1(x1267,1);OBJ x1270=FLD1(x1267,2);OBJ x1271=FLD1(x1267,3);OBJ x1275=FLD1(x1267,7);
	  if(EXPRD(x1267,1)){
	   FLD1(x1267,1)=NIL;FLD1(x1267,2)=NIL;FLD1(x1267,3)=NIL;FLD1(x1267,7)=NIL;DSPRD(x1267);
	  }else{
	   CPPRD(x1269,1);COPY(x1270,1);COPY(x1271,1);COPY(x1275,1);
	   FRPRD(x1267,1);}
	  if(ISPRM(x1270)){
	   if(ISPRM(x1271)){
	    COPY(x2,1);
	    CPPRD(x1269,1);
	    CPCLS(__ALhsAnalysis_25,1);
	    {OBJ x1278;OBJ x1279;TUP2 x1280;OBJ x1282;
	     x1278=_ARepSet_3(x1269,x1275);
	     x1279=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_25,1))(__ALhsAnalysis_25,x2);
	     x1280=_AAnalyzedGlobSig_37(x2,x1269,__AOption_5,__ASeq_6,__AOption_5,__ANat_5);
	     x1282=_ASeq_40(x1279,x1280.c1);
	     if(ISTGPRM(x1282,1)){
	      r.c3=x1278;
	      CPPRD(__AOcError_15,1);
	      CPPRD(__ARepSet_2,2);
	      r.c1=__ARepSet_2;r.c2=__ARepSet_2;r.c4=__AOcError_15;
	     }else{
	      r.c2=x1278;
	      CPPRD(__AOcError_15,1);
	      CPPRD(__ARepSet_2,2);
	      r.c1=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__AOcError_15;}}
	   }else{
	    if(EXPRD(x1271,1)){
	     DSPRD(x1271);
	    }else{
	     DCPRD(x1271,1);}
	    FREE(x2,1);
	    CPPRD(__AOcError_15,1);
	    CPPRD(__ARepSet_2,2);
	    r.c1=_ARepSet_3(x1269,x1275);
	    r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__AOcError_15;}
	  }else{
	   if(EXPRD(x1270,1)){
	    FRPRD(FLD1(x1270,1),1);DSPRDF(x1270);
	   }else{
	    DCPRD(x1270,1);}
	   FREE(x2,1);
	   FREE(x1271,1);
	   CPPRD(__AOcError_15,1);
	   CPPRD(__ARepSet_2,2);
	   r.c1=_ARepSet_3(x1269,x1275);
	   r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__AOcError_15;}}}}
      }else{
       if(ISTGPRD(x1,3)){
	{OBJ x1290=FLD(x1,1);
	 COPY(x1290,1);
	 if(ISPRM(x1290)){
	  if(EXPRD(x1,1)){
	   DSPRD(x1);
	  }else{
	   DCPRD(x1,1);}
	  FREE(x2,1);
	  CPPRD(__AOcError_15,1);
	  CPPRD(__ARepSet_2,3);
	  r.c1=__ARepSet_2;r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__AOcError_15;
	 }else{
	  {OBJ x1292=FLD1(x1290,1);OBJ x1293=FLD1(x1290,2);
	   CPPRD(x1292,1);COPY(x1293,1);
	   if(EXPRD(x1290,1)){
	    DSPRD(x1290);
	   }else{
	    DCPRD(x1290,1);}
	   COPY(x2,1);
	   {OBJ x1294;OBJ x1297;TUP4 x1298;TUP4 x1303;
	    x1294=_AImpl_10(x1);
	    PRD(2,3,x1297);FLD(x1297,1)=x1293;FLD(x1297,2)=x1294;
	    x1298=_ALhsAnalysis_14(x1292,x2);
	    x1303=_ALhsAnalysis_14(x1297,x2);
	    r=_ALhsAnalysis_12(x1298.c1,x1298.c2,x1298.c3,x1298.c4,x1303.c1,x1303.c2,x1303.c3,x1303.c4);}}}}
       }else{
	HLT("LhsAnalysis at <167,5-19> : missing else in idUsesInPattern\'LhsAnalysis:expr**globSig->repSet**repSet**repSet**err");}}}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_14_c(OBJ x1,OBJ x2) /* idUsesInPattern */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_14(x1,x2);
  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 _ALhsAnalysis_15(register OBJ x1) /* idUsesInConstr */
{TUP4 r;
 for(;;){
  if(ISTGPRD(x1,7)){
   {OBJ x100=FLD(x1,1);
    if(EXPRD(x1,1)){
     FREE(FLD(x1,2),1);DSPRDF(x1);
    }else{
     COPY(x100,1);
     FRPRD(x1,1);}
    if(ISPRM(x100)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x102=FLD1(x100,1);OBJ x108=FLD1(x100,7);
      if(EXPRD(x100,1)){
       FLD1(x100,1)=NIL;FLD1(x100,7)=NIL;DSPRD(x100);
      }else{
       CPPRD(x102,1);COPY(x108,1);
       FRPRD(x100,1);}
      CPPRD(__AOcError_15,1);
      CPPRD(__ARepSet_2,2);
      r.c1=_ARepSet_3(x102,x108);
      r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__AOcError_15;}}}
  }else{
   if(ISTGPRD(x1,10)){
    {OBJ x111=FLD(x1,1);
     if(EXPRD(x1,1)){
      FLD(x1,1)=NIL;DSPRD(x1);
     }else{
      CPPRD(x111,1);
      FRPRD(x1,1);}
     x1=x111;continue;}
   }else{
    if(ISTGPRD(x1,3)){
     {OBJ x114=FLD(x1,1);
      if(EXPRD(x1,1)){
       FREE(FLD(x1,2),1);DSPRDF(x1);
      }else{
       COPY(x114,1);
       FRPRD(x1,1);}
      {OBJ x118;
       if(ISPRM(x114)){
	HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
       }else{
	{OBJ x116=FLD1(x114,1);
	 if(EXPRD(x114,1)){
	  x118=x116;
	  FREE(FLD1(x114,2),1);DSPRDF(x114);
	 }else{
	  CPPRD(x116,1);
	  x118=x116;
	  FRPRD(x114,1);}}}
       x1=x118;continue;}}
    }else{
     HLT("LhsAnalysis at <208,5-18> : missing else in idUsesInConstr\'LhsAnalysis:expr->repSet**repSet**repSet**err");}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_15_c(OBJ x1) /* idUsesInConstr */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_15(x1);
  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 TUP2 _ALhsAnalysis_18(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePattern */
{TUP2 r;
 if(ISTGPRD(x1,4)){
  {OBJ x448=FLD(x1,1);OBJ x449=FLD(x1,2);
   CPPRD(x448,1);CPPRD(x449,1);
   COPY(x2,3);
   COPY(x3,1);
   CPCLS(__ALhsAnalysis_27,1);
   {OBJ x451;OBJ x453;TUP2 x454;TUP2 x457;
    x451=_AImpl_10(x1);
    x453=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_27,1))(__ALhsAnalysis_27,x2);
    x454=_ALhsAnalysis_19(x448,x2,x3,x4);
    x457=_ALhsAnalysis_18(x449,x2,x3,x454.c2);
    r=_ACandidates_20(__ACandidates_18,x2,x451,x457.c2,x453,x454.c1,x457.c1);}}
 }else{
  if(ISTGPRD(x1,8)){
   {OBJ x462=FLD(x1,1);OBJ x463=FLD(x1,2);
    COPY(x462,1);CPPRD(x463,1);
    COPY(x2,2);
    COPY(x3,1);
    CPCLS(__ALhsAnalysis_28,1);
    {OBJ x465;OBJ x467;TUP3 x468;OBJ x471;OBJ x473;OBJ x474;OBJ x475;OBJ x477;OBJ x478;
     x465=_AImpl_10(x1);
     x467=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_28,1))(__ALhsAnalysis_28,x2);
     x468=_ANameAnalysis_4(x462,x2,x3,x4,__ABUILTIN_3);
     CPPRD(x468.c2,1);
     x471=_AOcError_22(x468.c2);
     if(ISTGPRM(x471,1)){
      FRPRD(x468.c2,1);
      COPY(x2,1);
      COPY(x465,1);
      x473=_ACandidates_16(x468.c1,x465);
     }else{
      FREE(x468.c1,1);
      COPY(x2,1);
      PRD(1,2,x473);FLD(x473,1)=x468.c2;}
     {TUP2 t=_ALhsAnalysis_18(x463,x2,x3,x468.c3);
      x474=t.c1;
      x475=t.c2;}
     r=_ACandidates_20(__ACandidates_18,x2,x465,x475,x467,x473,x474);}}
  }else{
   if(ISTGPRD(x1,10)){
    {OBJ x479=FLD(x1,1);OBJ x480=FLD(x1,2);
     CPPRD(x479,1);COPY(x480,1);
     COPY(x2,1);
     {OBJ x482;TUP2 x484;
      x482=_AImpl_10(x1);
      x484=_ALhsAnalysis_18(x479,x2,x3,x4);
      r=_ATypeDepExprAnalysis_7(x480,x482,x2,x484.c1,x484.c2);}}
   }else{
    if(ISTGPRD(x1,11)){
     {OBJ x486=FLD(x1,1);
      COPY(x486,2);
      CPPRD(__ALhsAnalysis_29,1);
      CPCLS(__ALhsAnalysis_31,1);
      {OBJ x488;OBJ x489;
       x488=_AImpl_10(x1);
       x489=_ASeqReduce_3(__ALhsAnalysis_31,__ALhsAnalysis_29,x486);
       {OBJ x490=FLD1(x489,1);OBJ x491=FLD1(x489,2);
	if(EXPRD(x489,1)){
	 DSPRDF(x489);
	}else{
	 COPY(x490,1);COPY(x491,1);
	 FRPRD(x489,1);}
	COPY(x2,1);
	COPY(x3,1);
	{TUP2 x494;
	 x494=_ALhsAnalysis_21(x490,x2,x3,x4);
	 if(ISPRM(x494.c1)){
	  HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
	 }else{
	  {OBJ x496;OBJ x497=FLD1(x494.c1,2);FLAG x_x494_c1=EXPRD(x494.c1,1);
	   if(x_x494_c1){
	   }else{
	    x496=FLD1(x494.c1,1);CPPRD(x496,1);COPY(x497,1);}
	   COPY(x2,1);
	   COPY(x3,1);
	   CPCLS(__ALhsAnalysis_30,1);
	   CPCLS(__ACandidates_25,1);
	   CPPRD(__APair_2,1);
	   {TUP2 x500;OBJ x502;OBJ x503;OBJ x504;OBJ x505;
	    x500=_ALhsAnalysis_22(x491,x2,x3,x494.c2);
	    x502=_ASeqZip_4(__APair_2,x497,x500.c1);
	    x503=_ASeqReduce_3(__ALhsAnalysis_30,__ASeq_6,x502);
	    if(x_x494_c1){
	     RSOME(x494.c1,x504);FLD1(x504,2)=x503;
	    }else{
	     FRPRD(x494.c1,1);PRD1(2,x504);FLD1(x504,1)=x496;FLD1(x504,2)=x503;}
	    COPY(x504,1);
	    x505=_ASeq_40(__ACandidates_25,x504);
	    if(ISTGPRM(x505,1)){
	     FREE(x3,1);
	     FREE(x486,1);
	     CPCLS(__ALhsAnalysis_32,1);
	     CPCLS(__ACandidates_25,1);
	     {OBJ x506;
	      x506=_ASeqFilter_2(__ACandidates_25,x504);
	      r=_ACandidates_21(__ACandidates_18,x2,x488,x500.c2,__ALhsAnalysis_32,x506);}
	    }else{
	     {TUP3 x509;
	      x509=_ATypeDepExprAnalysis_9(__ABUILTIN_5,x486,x504,x488,x2,x3,__ANat_5,x500.c2);r.c1=x509.c1;r.c2=x509.c3;}}}}}}}}}
    }else{
     if(ISTGPRD(x1,7)){
      {OBJ x511=FLD(x1,1);
       COPY(x511,1);
       {OBJ x513;TUP3 x515;OBJ x518;
	x513=_AImpl_10(x1);
	x515=_ANameAnalysis_4(x511,x2,x3,x4,__ABUILTIN_5);
	CPPRD(x515.c2,1);
	x518=_AOcError_22(x515.c2);
	if(ISTGPRM(x518,1)){
	 r.c2=x515.c3;
	 FRPRD(x515.c2,1);
	 r.c1=_ACandidates_16(x515.c1,x513);
	}else{
	 r.c2=x515.c3;
	 FREE(x513,1);
	 FREE(x515.c1,1);
	 PRD(1,2,r.c1);FLD(r.c1,1)=x515.c2;}}}
     }else{
      if(ISTGPRD(x1,3)){
       {OBJ x521=FLD(x1,1);
	COPY(x521,1);
	{OBJ x523;
	 x523=_AImpl_10(x1);
	 if(ISPRM(x521)){
	  FREE(x2,1);
	  FREE(x3,1);
	  COPY(__ALhsAnalysis_35,1);
	  r.c1=_ACandidates_15(__ALhsAnalysis_35,x523);
	  r.c2=x4;
	 }else{
	  COPY(x2,1);
	  CPCLS(__ALhsAnalysis_36,1);
	  {TUP2 x528;
	   x528=_ALhsAnalysis_21(x521,x2,x3,x4);
	   r=_ACandidates_21(__ACandidates_19,x2,x523,x528.c2,__ALhsAnalysis_36,x528.c1);}}}}
      }else{
       HLT("LhsAnalysis at <308,5-18> : missing else in analyzePattern\'LhsAnalysis:expr**globSig**knowl**nat->cands**nat");}}}}}}
 return r;}
extern OBJ _ALhsAnalysis_18_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePattern */
{OBJ r;
 {TUP2 t=_ALhsAnalysis_18(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ALhsAnalysis_19(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatternConstr */
{TUP2 r;
 if(ISTGPRD(x1,7)){
  {OBJ x82=FLD(x1,1);
   COPY(x82,1);
   {OBJ x84;TUP3 x86;OBJ x89;
    x84=_AImpl_10(x1);
    x86=_ANameAnalysis_4(x82,x2,x3,x4,__ABUILTIN_3);
    CPPRD(x86.c2,1);
    x89=_AOcError_22(x86.c2);
    if(ISTGPRM(x89,1)){
     r.c2=x86.c3;
     FRPRD(x86.c2,1);
     r.c1=_ACandidates_16(x86.c1,x84);
    }else{
     r.c2=x86.c3;
     FREE(x84,1);
     FREE(x86.c1,1);
     PRD(1,2,r.c1);FLD(r.c1,1)=x86.c2;}}}
 }else{
  if(ISTGPRD(x1,10)){
   {OBJ x92=FLD(x1,1);OBJ x93=FLD(x1,2);
    CPPRD(x92,1);COPY(x93,1);
    COPY(x2,1);
    {OBJ x95;TUP2 x97;
     x95=_AImpl_10(x1);
     x97=_ALhsAnalysis_19(x92,x2,x3,x4);
     r=_ATypeDepExprAnalysis_7(x93,x95,x2,x97.c1,x97.c2);}}
  }else{
   if(ISTGPRD(x1,3)){
    {OBJ x99=FLD(x1,1);
     COPY(x99,1);
     COPY(x2,1);
     CPCLS(__ALhsAnalysis_26,1);
     {OBJ x101;TUP2 x103;
      x101=_AImpl_10(x1);
      x103=_ALhsAnalysis_22(x99,x2,x3,x4);
      r=_ACandidates_21(__ACandidates_18,x2,x101,x103.c2,__ALhsAnalysis_26,x103.c1);}}
   }else{
    HLT("LhsAnalysis at <310,5-24> : missing else in analyzePatternConstr\'LhsAnalysis:expr**globSig**knowl**nat->cands**nat");}}}
 return r;}
extern OBJ _ALhsAnalysis_19_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatternConstr */
{OBJ r;
 {TUP2 t=_ALhsAnalysis_19(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP4 _ALhsAnalysis_20(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5) /* substitutePattern */
{TUP4 r;
 for(;;){
  if(ISTGPRD(x1,4)){
   {OBJ x305=FLD(x1,1);OBJ x306=FLD(x1,2);
    CPPRD(x305,1);CPPRD(x306,1);
    CPPRD(x5,1);
    CPCLS(__AGlobSigImpl_27,1);
    {OBJ x309;TUP2 x310;TUP4 x313;TUP4 x318;
     x309=_AImpl_10(x1);
     x310=_ACandidates_28(x2);
     x313=_ALhsAnalysis_20(x305,x310.c1,x3,x4,x5);
     x318=_ALhsAnalysis_20(x306,x310.c2,x313.c2,x4,x5);r.c2=x318.c2;
     r.c3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSigImpl_27,2))(__AGlobSigImpl_27,x313.c3,x318.c3);
     PRD(3,4,r.c1);FLD(r.c1,1)=x313.c1;FLD(r.c1,2)=x318.c1;FLD(r.c1,3)=x309;
     r.c4=_AOcError_21(x313.c4,x318.c4);}}
  }else{
   if(ISTGPRD(x1,8)){
    {OBJ x326=FLD(x1,2);
     CPPRD(x326,1);
     COPY(x3,1);
     CPPRD(x5,1);
     CPCLS(__AGlobSigImpl_27,1);
     {OBJ x328;TUP2 x330;OBJ x332;TUP4 x334;TUP4 x339;
      x328=_AImpl_10(x1);
      COPY(x328,1);
      x330=_ACandidates_28(x2);
      x332=_ACandidates_27(x3,x330.c1);
      x334=_ANameAnalysis_10(x332,x3,x4,x5,x328);
      x339=_ALhsAnalysis_20(x326,x330.c2,x334.c2,x4,x5);r.c2=x339.c2;
      r.c3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSigImpl_27,2))(__AGlobSigImpl_27,x334.c3,x339.c3);
      PRD(3,8,r.c1);FLD(r.c1,1)=x334.c1;FLD(r.c1,2)=x339.c1;FLD(r.c1,3)=x328;
      r.c4=_AOcError_21(x334.c4,x339.c4);}}
   }else{
    if(ISTGPRD(x1,10)){
     {OBJ x346=FLD(x1,1);
      if(EXPRD(x1,1)){
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       CPPRD(x346,1);
       FRPRD(x1,1);}
      {TUP2 x350;
       x350=_ACandidates_28(x2);
       FRPRD(x350.c2,1);
       x1=x346;x2=x350.c1;continue;}}
    }else{
     if(ISTGPRD(x1,11)){
      {OBJ x352=FLD(x1,1);
       COPY(x352,1);
       CPCLS(__ALhsAnalysis_43,1);
       {OBJ x354;OBJ x355;
	x354=_AImpl_10(x1);
	x355=(*(OBJ(*)(OBJ,OBJ))METHOD(__ALhsAnalysis_43,1))(__ALhsAnalysis_43,x5);
	r=_ATypeDepExprAnalysis_10(x355,x352,x354,x2,x3,x4);}}
     }else{
      if(ISTGPRD(x1,7)){
       COPY(x3,1);
       {OBJ x358;OBJ x359;
	x358=_ACandidates_27(x3,x2);
	x359=_AImpl_10(x1);
	COPY(x359,1);
	PRD(2,7,r.c1);FLD(r.c1,2)=x359;
	{TUP4 t=_ANameAnalysis_10(x358,x3,x4,x5,x359);
	 FLD(r.c1,1)=t.c1;
	 r.c2=t.c2;
	 r.c3=t.c3;
	 r.c4=t.c4;}}
      }else{
       if(ISTGPRD(x1,3)){
	{OBJ x366=FLD(x1,1);
	 COPY(x366,1);
	 {OBJ x368;
	  x368=_AImpl_10(x1);
	  if(ISPRM(x366)){
	   FRPRD(x2,1);
	   FRPRD(x5,1);
	   CPPRD(__AOcError_15,1);
	   CPPRD(__AGlobSigImpl_25,1);
	   PRD(2,3,r.c1);FLD(r.c1,1)=__ASeq_6;FLD(r.c1,2)=x368;
	   r.c2=x3;r.c3=__AGlobSigImpl_25;r.c4=__AOcError_15;
	  }else{
	   CPCLS(__ALhsAnalysis_44,1);
	   {TUP4 x373;
	    x373=_ALhsAnalysis_23(x366,x2,x3,x4,x5);r.c2=x373.c2;r.c3=x373.c3;r.c4=x373.c4;
	    PRD(2,3,r.c1);FLD(r.c1,2)=x368;
	    FLD(r.c1,1)=_ASeqReduce_3(__ALhsAnalysis_44,__ASeq_6,x373.c1);}}}}
       }else{
	HLT("LhsAnalysis at <312,5-21> : missing else in substitutePattern\'LhsAnalysis:expr**cands**globSig**nat**repSet->expr**globSig**locSig**err");}}}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_20_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePattern */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_20(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 TUP2 _ALhsAnalysis_21(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* analyzePatternSeq */
{TUP2 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;
 for(;;){
  if(ISPRM(x1)){
   FREE(x2,1);
   FREE(x3,1);
   *p1=__ASeq_6;*p2=x4;
  }else{
   {OBJ x29=FLD1(x1,1);OBJ x30=FLD1(x1,2);
    if(EXPRD(x1,1)){
     COPY(x2,1);
     COPY(x3,1);
     {TUP2 x33;
      x33=_ALhsAnalysis_18(x29,x2,x3,x4);
      RSOME(x1,*p1);FLD1(*p1,1)=x33.c1;
      x1=x30;x4=x33.c2;p1=&FLD1(*p1,2);continue;}
    }else{
     CPPRD(x29,1);COPY(x30,1);
     COPY(x2,1);
     COPY(x3,1);
     {TUP2 x33;
      x33=_ALhsAnalysis_18(x29,x2,x3,x4);
      FRPRD(x1,1);PRD1(2,*p1);FLD1(*p1,1)=x33.c1;
      x1=x30;x4=x33.c2;p1=&FLD1(*p1,2);continue;}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_21_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatternSeq */
{OBJ r;
 {TUP2 t=_ALhsAnalysis_21(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ALhsAnalysis_22(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* analyzePatternConstrSeq */
{TUP2 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;
 for(;;){
  if(ISPRM(x1)){
   FREE(x2,1);
   FREE(x3,1);
   *p1=__ASeq_6;*p2=x4;
  }else{
   {OBJ x29=FLD1(x1,1);OBJ x30=FLD1(x1,2);
    if(EXPRD(x1,1)){
     COPY(x2,1);
     COPY(x3,1);
     {TUP2 x33;
      x33=_ALhsAnalysis_19(x29,x2,x3,x4);
      RSOME(x1,*p1);FLD1(*p1,1)=x33.c1;
      x1=x30;x4=x33.c2;p1=&FLD1(*p1,2);continue;}
    }else{
     CPPRD(x29,1);COPY(x30,1);
     COPY(x2,1);
     COPY(x3,1);
     {TUP2 x33;
      x33=_ALhsAnalysis_19(x29,x2,x3,x4);
      FRPRD(x1,1);PRD1(2,*p1);FLD1(*p1,1)=x33.c1;
      x1=x30;x4=x33.c2;p1=&FLD1(*p1,2);continue;}}}}
  break;}
 return r;}
extern OBJ _ALhsAnalysis_22_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatternConstrSeq */
{OBJ r;
 {TUP2 t=_ALhsAnalysis_22(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP4 _ALhsAnalysis_23(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePatternSeq */
{TUP4 r;
 COPY(x1,1);
 {OBJ x6;OBJ x7;
  x6=_ASeq_52(x1,__ANat_5);
  x7=_ACandidates_29(x6,x2);
  r=_ALhsAnalysis_24(x1,x7,x3,x4,x5);}
 return r;}
extern OBJ _ALhsAnalysis_23_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePatternSeq */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_23(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 _ALhsAnalysis_24(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePatternSeq,1 */
{TUP4 r;
 if(ISPRM(x1)){
  FRPRD(x5,1);
  if(ISPRM(x2)){
   CPPRD(__AOcError_15,1);
   CPPRD(__AGlobSigImpl_25,1);
   r.c1=__ASeq_6;r.c2=x3;r.c3=__AGlobSigImpl_25;r.c4=__AOcError_15;
  }else{
   HLT("LhsAnalysis at <490,5-24> : missing else in substitutePatternSeq\'LhsAnalysis:seq**seq**globSig**nat**repSet->seq**globSig**locSig**err");}
 }else{
  {OBJ x104=FLD1(x1,1);OBJ x105=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x104,1);COPY(x105,1);
    FRPRD(x1,1);}
   if(ISPRM(x2)){
    HLT("LhsAnalysis at <490,5-24> : missing else in substitutePatternSeq\'LhsAnalysis:seq**seq**globSig**nat**repSet->seq**globSig**locSig**err");
   }else{
    {OBJ x106=FLD1(x2,1);OBJ x107=FLD1(x2,2);
     if(EXPRD(x2,1)){
      CPPRD(x5,1);
      CPCLS(__AGlobSigImpl_27,1);
      {TUP4 x111;TUP4 x116;
       x111=_ALhsAnalysis_20(x104,x106,x3,x4,x5);
       x116=_ALhsAnalysis_24(x105,x107,x111.c2,x4,x5);r.c2=x116.c2;
       r.c4=_AOcError_21(x111.c4,x116.c4);
       r.c3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSigImpl_27,2))(__AGlobSigImpl_27,x111.c3,x116.c3);
       RSOME(x2,r.c1);FLD1(r.c1,1)=x111.c1;FLD1(r.c1,2)=x116.c1;}
     }else{
      CPPRD(x106,1);COPY(x107,1);
      CPPRD(x5,1);
      CPCLS(__AGlobSigImpl_27,1);
      {TUP4 x111;TUP4 x116;
       x111=_ALhsAnalysis_20(x104,x106,x3,x4,x5);
       x116=_ALhsAnalysis_24(x105,x107,x111.c2,x4,x5);r.c2=x116.c2;
       r.c4=_AOcError_21(x111.c4,x116.c4);
       r.c3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AGlobSigImpl_27,2))(__AGlobSigImpl_27,x111.c3,x116.c3);
       FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x111.c1;FLD1(r.c1,2)=x116.c1;}}}}}}
 return r;}
extern OBJ _ALhsAnalysis_24_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePatternSeq,1 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_24(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 _ALhsAnalysis_25(OBJ x1,OBJ x2) /* idUsesInPattern'25 */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x3;
  x3=_AAnalyzedGlobSig_44(x1,x2);
  if(ISTGPRM(x3,1)){
   {OBJ x4;
    x4=_AAnalyzedGlobSigH_1(x1,x2);
    if(ISPRD(x4)&&(ISTGPRD(x4,0))){
     if(EXPRD(x4,1)){
      FREE(FLD(x4,1),1);DSPRDF(x4);
     }else{
      DCPRD(x4,1);}
     r=__ABUILTIN_5;
    }else{
     FREE(x4,1);
     r=__ABUILTIN_3;}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   r=__ABUILTIN_3;}}
 return r;}

extern TUP4 _ALhsAnalysis_26(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatternConstr'26 */
{TUP4 r;
 {OBJ x5;OBJ x7;
  PRD1(2,x5);FLD1(x5,1)=x2;FLD1(x5,2)=__ASeq_6;
  PRD1(2,r.c2);FLD1(r.c2,1)=x3;FLD1(r.c2,2)=__ASeq_6;
  PRD1(2,x7);FLD1(x7,1)=x1;FLD1(x7,2)=x5;
  PRD(1,1,r.c1);FLD(r.c1,1)=x7;
  r.c3=x4;r.c4=__ASeq_6;}
 return r;}
extern OBJ _ALhsAnalysis_26_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePatternConstr'26 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_26(x1,x2,x3,x4);
  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 _ALhsAnalysis_27(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzePattern'27 */
{TUP4 r;
 COPY(x2,1);
 COPY(x3,1);
 CPPRD(x4,1);
 {OBJ x6;OBJ x7;OBJ x8;TUP2 x10;
  PRDF(1,4,x6);FLD(x6,1)=x5;
  COPY(x6,1);
  ANat_2(x5,x7);
  PRD(2,2,x8);FLD(x8,1)=x3;FLD(x8,2)=x6;
  x10=_ASubstitution_4(x1,x2,x8,x4,x7);
  if(ISPRM(x10.c1)){
   r.c1=x6;r.c3=x7;
   CPPRD(x4,1);
   {OBJ x21;
    PRD(3,0,x21);FLD(x21,1)=x2;FLD(x21,2)=x3;FLD(x21,3)=x4;
    PRD1(2,r.c2);FLD1(r.c2,1)=x4;FLD1(r.c2,2)=__ASeq_6;
    PRD1(2,r.c4);FLD1(r.c4,1)=x21;FLD1(r.c4,2)=__ASeq_6;}
  }else{
   r.c1=x6;r.c2=x10.c1;r.c3=x10.c2;
   FREE(x2,1);
   FREE(x3,1);
   FRPRD(x4,1);
   r.c4=__ASeq_6;}}
 return r;}
extern OBJ _ALhsAnalysis_27_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzePattern'27 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_27(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 _ALhsAnalysis_28(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzePattern'28 */
{TUP4 r;
 COPY(x2,1);
 COPY(x3,1);
 CPPRD(x4,1);
 {TUP2 x7;
  x7=_ASubstitution_4(x1,x2,x3,x4,x5);
  if(ISPRM(x7.c1)){
   COPY(x3,1);
   CPPRD(x4,1);
   {OBJ x18;
    PRD(3,9,x18);FLD(x18,1)=x2;FLD(x18,2)=x3;FLD(x18,3)=x4;
    PRD1(2,r.c2);FLD1(r.c2,1)=x4;FLD1(r.c2,2)=__ASeq_6;
    PRD1(2,r.c4);FLD1(r.c4,1)=x18;FLD1(r.c4,2)=__ASeq_6;
    r.c1=x3;r.c3=x5;}
  }else{
   r.c2=x7.c1;r.c3=x7.c2;
   FREE(x2,1);
   FRPRD(x4,1);
   r.c1=x3;r.c4=__ASeq_6;}}
 return r;}
extern OBJ _ALhsAnalysis_28_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzePattern'28 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_28(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 _ALhsAnalysis_30(OBJ x1,OBJ x2) /* analyzePattern'30 */
{OBJ r;
 {OBJ x10;OBJ x11=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
  if(x_x1){
  }else{
   x10=FLD1(x1,1);CPPRD(x10,1);CPPRD(x11,1);}
  {OBJ x12;
   if(x_x1){
    RSOME(x1,x12);FLD1(x12,2)=x2;
   }else{
    FRPRD(x1,1);PRD1(2,x12);FLD1(x12,1)=x10;FLD1(x12,2)=x2;}
   PRD1(2,r);FLD1(r,1)=x11;FLD1(r,2)=x12;}}
 return r;}

extern OBJ _ALhsAnalysis_31(OBJ x1,OBJ x2) /* analyzePattern'31 */
{OBJ r;
 {OBJ x20=FLD1(x2,1);OBJ x21=FLD1(x2,2);OBJ x22=FLD1(x2,3);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x20,1);COPY(x21,1);}
  {OBJ x23=FLD1(x1,1);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    CPPRD(x23,1);}
   {OBJ x25;
    x25=x23;
    if(ISTGPRM(x22,1)){
     {OBJ x26;
      if(x_x1){
       RSOME(x1,x26);FLD1(x26,1)=x25;FRPRD(FLD1(x26,2),1);FLD1(x26,2)=x20;
      }else{
       FRPRD(x1,1);PRD1(2,x26);FLD1(x26,1)=x25;FLD1(x26,2)=x20;}
      if(x_x2){
       RSOME(x2,r);FLD1(r,1)=x26;FLD1(r,3)=__ABUILTIN_3;
      }else{
       FRPRD(x2,1);PRD1(3,r);FLD1(r,1)=x26;FLD1(r,2)=x21;FLD1(r,3)=__ABUILTIN_3;}}
    }else{
     {OBJ x27;
      if(x_x1){
       RSOME(x1,x27);FLD1(x27,1)=x25;FRPRD(FLD1(x27,2),1);FLD1(x27,2)=x21;
      }else{
       FRPRD(x1,1);PRD1(2,x27);FLD1(x27,1)=x25;FLD1(x27,2)=x21;}
      if(x_x2){
       RSOME(x2,r);FLD1(r,2)=x27;FLD1(r,3)=__ABUILTIN_5;
      }else{
       FRPRD(x2,1);PRD1(3,r);FLD1(r,1)=x20;FLD1(r,2)=x27;FLD1(r,3)=__ABUILTIN_5;}}}}}}
 return r;}

extern TUP4 _ALhsAnalysis_32(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePattern'32 */
{TUP4 r;
 {OBJ x5;OBJ x7;
  PRD1(2,x5);FLD1(x5,1)=x2;FLD1(x5,2)=__ASeq_6;
  PRD1(2,r.c2);FLD1(r.c2,1)=x3;FLD1(r.c2,2)=__ASeq_6;
  PRD1(2,x7);FLD1(x7,1)=x1;FLD1(x7,2)=x5;
  PRD(1,1,r.c1);FLD(r.c1,1)=x7;
  r.c3=x4;r.c4=__ASeq_6;}
 return r;}
extern OBJ _ALhsAnalysis_32_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePattern'32 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_32(x1,x2,x3,x4);
  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 _ALhsAnalysis_36(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePattern'36 */
{TUP4 r;
 {OBJ x5;OBJ x7;
  PRD1(2,x5);FLD1(x5,1)=x2;FLD1(x5,2)=__ASeq_6;
  PRD1(2,r.c2);FLD1(r.c2,1)=x3;FLD1(r.c2,2)=__ASeq_6;
  PRD1(2,x7);FLD1(x7,1)=x1;FLD1(x7,2)=x5;
  PRD(1,1,r.c1);FLD(r.c1,1)=x7;
  r.c3=x4;r.c4=__ASeq_6;}
 return r;}
extern OBJ _ALhsAnalysis_36_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzePattern'36 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_36(x1,x2,x3,x4);
  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 _ALhsAnalysis_37(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzeLhs'37 */
{TUP4 r;
 COPY(x2,1);
 COPY(x3,1);
 CPPRD(x4,1);
 {OBJ x6;OBJ x7;OBJ x8;TUP2 x10;
  PRDF(1,4,x6);FLD(x6,1)=x5;
  COPY(x6,1);
  ANat_2(x5,x7);
  PRD(2,2,x8);FLD(x8,1)=x3;FLD(x8,2)=x6;
  x10=_ASubstitution_4(x1,x2,x8,x4,x7);
  if(ISPRM(x10.c1)){
   r.c1=x6;r.c3=x7;
   CPPRD(x4,1);
   {OBJ x21;
    PRD(3,0,x21);FLD(x21,1)=x2;FLD(x21,2)=x3;FLD(x21,3)=x4;
    PRD1(2,r.c2);FLD1(r.c2,1)=x4;FLD1(r.c2,2)=__ASeq_6;
    PRD1(2,r.c4);FLD1(r.c4,1)=x21;FLD1(r.c4,2)=__ASeq_6;}
  }else{
   r.c1=x6;r.c2=x10.c1;r.c3=x10.c2;
   FREE(x2,1);
   FREE(x3,1);
   FRPRD(x4,1);
   r.c4=__ASeq_6;}}
 return r;}
extern OBJ _ALhsAnalysis_37_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzeLhs'37 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_37(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 _ALhsAnalysis_39(OBJ x1) /* analyzeLhs'39 */
{OBJ r;
 CPPRD(__ALhsAnalysis_38,1);
 r=_ADEBUG_10(__ALhsAnalysis_38);
 return r;}

extern OBJ _ALhsAnalysis_42(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzeLhs'42 */
{OBJ r;
 CPPRD(__ALhsAnalysis_40,1);
 CPPRD(__ALhsAnalysis_41,1);
 CPCLS(__AAnalyzedGlobSig_25,1);
 CPCLS(__ACandidates_12,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_23);
  x6=_ASeqMap_3(__ACandidates_12,x3);
  x7=_APartName_28(x2);
  x8=_ASeqConv_2(x5,x6);
  ADenotation_4(__ALhsAnalysis_40,x8,x9);
  ADenotation_4(x7,x9,x10);
  ADenotation_4(__ALhsAnalysis_41,x10,r);}
 return r;}

extern TUP4 _ALhsAnalysis_43(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePattern'43 */
{TUP4 r;
 r=_ALhsAnalysis_20(x2,x3,x4,x5,x1);
 return r;}
extern OBJ _ALhsAnalysis_43_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* substitutePattern'43 */
{OBJ r;
 {TUP4 t=_ALhsAnalysis_43(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 _ALhsAnalysis_44(OBJ x1,OBJ x2) /* substitutePattern'44 */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x9=FLD(x1,1);
   if(EXPRD(x1,1)){
    FREE(FLD(x1,2),1);DSPRDF(x1);
   }else{
    COPY(x9,1);
    FRPRD(x1,1);}
   r=_ASeq_26(x9,x2);}
 }else{
  PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x2;}
 return r;}

extern OBJ _ALhsAnalysis_45(OBJ x1) /* substituteLhs'45 */
{OBJ r;
 CPPRD(__ALhsAnalysis_38,1);
 r=_ADEBUG_10(__ALhsAnalysis_38);
 return r;}

extern OBJ _ALhsAnalysis_48(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* substituteLhs'48 */
{OBJ r;
 CPPRD(__ALhsAnalysis_46,1);
 CPPRD(__ALhsAnalysis_47,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x5=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_23,x3);
  x6=_APartName_28(x2);
  ADenotation_4(__ALhsAnalysis_46,x6,x7);
  ADenotation_4(x5,x7,x8);
  ADenotation_4(__ALhsAnalysis_47,x8,r);}
 return r;}





init_ALhsAnalysis()
{
 static int visited=0; if(visited) return; visited=1;
 init_AMySeqFun1();
 init_AUniqueTable();
 init_AName4SigAna();
 init_ADeclEntry();
 init_APartNameEntry();
 init_AUnion2();
 init_AImpExpEntry();
 init_ANat();
 init_APartialSignatures();
 init_AGlobSigImpl();
 init_AOcError();
 init_ALexem();
 init_APragma();
 init_APartName();
 init_AQuadruple();
 init_AGlobPragma();
 init_AImpl();
 init_AMap();
 init_AAnalyzedGlobSig();
 init_ASet();
 init_ARepSet();
 init_ABitset();
 init_AKnowledge();
 init_APatterns();
 init_ACandidates();
 init_AAttributes();
 init_APair();
 init_ADArray();
 init_ASeq();
 init_ANatMap();
 init_AOcPos();
 init_AArray();
 init_ARep();
 init_ATriple();
 init_AFct();
 init_ASeqReduce();
 init_AReason();
 init_ASeqMap();
 init_ASubstitution();
 init_ASeqFilter();
 init_APrioTab();
 init_ASeqZip();
 init_AGlobSig();
 init_ASeqConv();
 init_AName();
 init_ANameAnalysis();
 init_AOption();
 init_ATypeDepExprAnalysis();
 init_AString();
 init_ADEBUG();
 init_AOcOptions();
 init_ADenotation();
 init_ACom();
 init_ASetByBST();
 init_AVoid();
 init_ABSTree();
 init_AChar();
 init_ATree();
 init_AStream();
 init_AAbsyFun3();
 init_AFile();
 init_AAnalyzedGlobSigH();
 init_AInt();
 init_AGlobSigToText();
 init_AObjects();
 init_AImpDecl4SigAna();
 init_ATable();
 CLS(2,_ALhsAnalysis_31,__ALhsAnalysis_31);
 CLS(2,_ALhsAnalysis_30,__ALhsAnalysis_30);
 CLS(5,_ALhsAnalysis_28_c,__ALhsAnalysis_28);
 CLS(5,_ALhsAnalysis_27_c,__ALhsAnalysis_27);
 CLS(4,_ALhsAnalysis_26_c,__ALhsAnalysis_26);
 CLS(2,_ALhsAnalysis_25,__ALhsAnalysis_25);
 CLS(5,_ALhsAnalysis_24_c,__ALhsAnalysis_24);
 CLS(5,_ALhsAnalysis_23_c,__ALhsAnalysis_23);
 CLS(4,_ALhsAnalysis_22_c,__ALhsAnalysis_22);
 CLS(4,_ALhsAnalysis_21_c,__ALhsAnalysis_21);
 CLS(5,_ALhsAnalysis_20_c,__ALhsAnalysis_20);
 CLS(4,_ALhsAnalysis_19_c,__ALhsAnalysis_19);
 CLS(4,_ALhsAnalysis_18_c,__ALhsAnalysis_18);
 LCLS(4,_ALhsAnalysis_48,__ALhsAnalysis_48);
 DEN("substituteLhs/name:",__ALhsAnalysis_47);
 CLS(1,_ALhsAnalysis_15_c,__ALhsAnalysis_15);
 DEN(" pname:",__ALhsAnalysis_46);
 CLS(2,_ALhsAnalysis_14_c,__ALhsAnalysis_14);
 LCLS(1,_ALhsAnalysis_45,__ALhsAnalysis_45);
 CLS(2,_ALhsAnalysis_44,__ALhsAnalysis_44);
 CLS(8,_ALhsAnalysis_12_c,__ALhsAnalysis_12);
 CLS(5,_ALhsAnalysis_43_c,__ALhsAnalysis_43);
 CLS(6,_ALhsAnalysis_11_c,__ALhsAnalysis_11);
 LCLS(4,_ALhsAnalysis_42,__ALhsAnalysis_42);
 DEN("use of identifier %s as pattern variable contradicts its use at %s",__ALhsAnalysis_10);
 DEN("analyzeLhs/pname:",__ALhsAnalysis_41);
 CLS(2,_ALhsAnalysis_9,__ALhsAnalysis_9);
 DEN(" idNames:",__ALhsAnalysis_40);
 CLS(4,_ALhsAnalysis_8_c,__ALhsAnalysis_8);
 LCLS(1,_ALhsAnalysis_39,__ALhsAnalysis_39);
 CLS(4,_ALhsAnalysis_7_c,__ALhsAnalysis_7);
 DEN("-ztraceAnalyzeFunDef",__ALhsAnalysis_38);
 CLS(4,_ALhsAnalysis_6_c,__ALhsAnalysis_6);
 CLS(5,_ALhsAnalysis_37_c,__ALhsAnalysis_37);
 CLS(4,_ALhsAnalysis_36_c,__ALhsAnalysis_36);
 CLS(4,_ALhsAnalysis_4_c,__ALhsAnalysis_4);
 CLS(4,_ALhsAnalysis_3_c,__ALhsAnalysis_3);
 CLS(2,_ALhsAnalysis_2_c,__ALhsAnalysis_2);
 CLS(1,_ALhsAnalysis_1,__ALhsAnalysis_1);
 CLS(4,_ALhsAnalysis_32_c,__ALhsAnalysis_32);
 PRD1F(3,__ALhsAnalysis_29);FLD1(__ALhsAnalysis_29,1)=__ASeq_6;FLD1(__ALhsAnalysis_29,2)=__ASeq_6;FLD1(__ALhsAnalysis_29,3)=__ABUILTIN_5;
 PRDF(1,1,__ALhsAnalysis_33);FLD(__ALhsAnalysis_33,1)=__ASeq_6;
 COPY(__ALhsAnalysis_33,1);
 CPPRD(__ASubstitution_2,1);
 PRD1(2,__ALhsAnalysis_34);FLD1(__ALhsAnalysis_34,1)=__ALhsAnalysis_33;FLD1(__ALhsAnalysis_34,2)=__ASubstitution_2;
 CPPRD(__ALhsAnalysis_34,1);
 PRD1(2,__ALhsAnalysis_35);FLD1(__ALhsAnalysis_35,1)=__ALhsAnalysis_34;FLD1(__ALhsAnalysis_35,2)=__ASeq_6;}

