

#include "BUILTIN.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ __AOcError_8;
extern OBJ __AOcError_12;
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_19(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_19;
extern OBJ _AOcError_21(OBJ,OBJ);extern OBJ __AOcError_21;
extern OBJ _ANatMap_12(OBJ,OBJ);extern OBJ __ANatMap_12;

#include "Array.h"
extern OBJ _AImpl_10(OBJ);extern OBJ __AImpl_10;
extern OBJ _AImpl_30(OBJ);extern OBJ __AImpl_30;
extern OBJ _AImpl_148(OBJ);extern OBJ __AImpl_148;
extern OBJ __ARepSet_2;
extern OBJ _ARepSet_3(OBJ,OBJ);extern OBJ __ARepSet_3;
extern OBJ _ARepSet_4(OBJ,OBJ,OBJ);extern OBJ __ARepSet_4;
extern OBJ _ARepSet_6(OBJ,OBJ);extern OBJ __ARepSet_6;
extern OBJ _ARepSet_7(OBJ,OBJ);extern OBJ __ARepSet_7;
extern OBJ _ARepSet_8(OBJ,OBJ);extern OBJ __ARepSet_8;
extern OBJ _ARepSet_9(OBJ,OBJ);extern OBJ __ARepSet_9;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern OBJ _AOcPos_34(OBJ);extern OBJ __AOcPos_34;

#include "Nat.h"

#include "Char.h"
extern OBJ __APair_2;

#include "Bitset.h"

#include "Int.h"

#include "Denotation.h"
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern TUP2 _ASeqFilter_5(OBJ,OBJ);extern OBJ __ASeqFilter_5;
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern TUP2 _ASeqZip_5(OBJ,OBJ);extern OBJ __ASeqZip_5;
extern TUP5 _ATypeIndepExprAnalysis_1(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_1; /* rearrange */
OBJ __ATypeIndepExprAnalysis_2; /* duplOverlLocal */
extern TUP2 _ATypeIndepExprAnalysis_3(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_3; /* addLocalsToSignature */
extern OBJ _ATypeIndepExprAnalysis_4(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_4; /* checkUsed */
extern OBJ _ATypeIndepExprAnalysis_6(OBJ,OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_6; /* eq */
extern OBJ _ATypeIndepExprAnalysis_7(OBJ);OBJ __ATypeIndepExprAnalysis_7; /* eq? */
extern OBJ _ATypeIndepExprAnalysis_8(OBJ);OBJ __ATypeIndepExprAnalysis_8; /* eq,1 */
extern OBJ _ATypeIndepExprAnalysis_9(OBJ);OBJ __ATypeIndepExprAnalysis_9; /* use */
extern OBJ _ATypeIndepExprAnalysis_10(OBJ);OBJ __ATypeIndepExprAnalysis_10; /* def */
extern OBJ _ATypeIndepExprAnalysis_11(OBJ);OBJ __ATypeIndepExprAnalysis_11; /* id */
extern OBJ _ATypeIndepExprAnalysis_13(OBJ);OBJ __ATypeIndepExprAnalysis_13; /* partNames */
extern OBJ _ATypeIndepExprAnalysis_14(OBJ);OBJ __ATypeIndepExprAnalysis_14; /* toRepSet */
extern TUP5 _ATypeIndepExprAnalysis_15(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_15; /* rearrangeSeq */
extern TUP5 _ATypeIndepExprAnalysis_16(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_16; /* rearrange,1 */
extern TUP5 _ATypeIndepExprAnalysis_17(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_17; /* rearrangeSeq,1 */
extern TUP5 _ATypeIndepExprAnalysis_18(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_18; /* rearrangeDefs */
extern TUP5 _ATypeIndepExprAnalysis_19(OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_19; /* rearrange,2 */
extern TUP5 _ATypeIndepExprAnalysis_20(OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_20; /* rearrangeSeq,2 */
extern TUP2 _ATypeIndepExprAnalysis_24(OBJ);OBJ __ATypeIndepExprAnalysis_24; /* sort */
extern OBJ _ATypeIndepExprAnalysis_25(OBJ);OBJ __ATypeIndepExprAnalysis_25; /* sortUsedFirst */
extern TUP2 _ATypeIndepExprAnalysis_26(OBJ);OBJ __ATypeIndepExprAnalysis_26; /* checkUses */
extern OBJ _ATypeIndepExprAnalysis_27(OBJ);OBJ __ATypeIndepExprAnalysis_27; /* checkCycle */
OBJ __ATypeIndepExprAnalysis_28; /* dirRecursiveLet */
OBJ __ATypeIndepExprAnalysis_29; /* indirRecursiveLet */
extern TUP2 _ATypeIndepExprAnalysis_30(OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_30; /* dfs */
extern TUP2 _ATypeIndepExprAnalysis_31(OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_31; /* visit */
extern OBJ _ATypeIndepExprAnalysis_32(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_32; /* uses */
extern OBJ _ATypeIndepExprAnalysis_33(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_33; /* usedBy */
extern OBJ _ATypeIndepExprAnalysis_34(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_34; /* addLocalsToSignature'34 */
OBJ __ATypeIndepExprAnalysis_35; /* checkUsed'35 */
extern OBJ _ATypeIndepExprAnalysis_36(OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_36; /* checkUsed'36 */
extern OBJ _ATypeIndepExprAnalysis_37(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_37; /* toRepSet'37 */
extern OBJ _ATypeIndepExprAnalysis_38(OBJ,OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_38; /* dfs'38 */
extern OBJ _ATypeIndepExprAnalysis_39(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_39; /* visit'39 */
OBJ __ATypeIndepExprAnalysis_40; /* checkCycle'40 */
extern OBJ _ATypeIndepExprAnalysis_41(OBJ,OBJ);OBJ __ATypeIndepExprAnalysis_41; /* checkCycle'41 */
extern TUP2 _ATypeIndepExprAnalysis_42(OBJ);OBJ __ATypeIndepExprAnalysis_42; /* rearrange'42 */

extern TUP5 _ATypeIndepExprAnalysis_1(register OBJ x1,register OBJ x2) /* rearrange */
{TUP5 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;OBJ* p3=&r.c3;OBJ* p4=&r.c4;OBJ* p5=&r.c5;
 for(;;){
  if(ISTGPRD(x1,4)){
   {OBJ x854=FLD(x1,1);OBJ x855=FLD(x1,2);
    CPPRD(x854,1);CPPRD(x855,1);
    CPPRD(x2,1);
    {OBJ x857;TUP5 x859;TUP5 x865;
     x857=_AImpl_10(x1);
     x859=_ATypeIndepExprAnalysis_1(x855,x2);
     x865=_ATypeIndepExprAnalysis_1(x854,x2);
     *p2=_ANatMap_12(x865.c2,x859.c2);
     *p3=_ANatMap_12(x865.c3,x859.c3);
     *p4=_ANatMap_12(x865.c4,x859.c4);
     PRD(3,4,*p1);FLD(*p1,1)=x865.c1;FLD(*p1,2)=x859.c1;FLD(*p1,3)=x857;
     *p5=_AOcError_21(x865.c5,x859.c5);}}
  }else{
   if(ISTGPRD(x1,6)){
    {OBJ x875=FLD(x1,1);OBJ x876=FLD(x1,2);
     COPY(x875,3);CPPRD(x876,1);
     CPCLS(__ATypeIndepExprAnalysis_36,1);
     CPPRD(__AOcError_15,1);
     {OBJ x878;TUP5 x880;OBJ x885;OBJ x886;TUP2 x890;OBJ x891;
      x878=_AImpl_10(x1);
      x880=_ATypeIndepExprAnalysis_1(x876,x2);*p2=x880.c2;*p4=x880.c4;
      CPPRD(*p4,1);
      x885=(*(OBJ(*)(OBJ,OBJ))METHOD(__ATypeIndepExprAnalysis_36,1))(__ATypeIndepExprAnalysis_36,*p4);
      x886=_ASeqReduce_4(x885,__AOcError_15,x875);
      PRD(3,6,*p1);FLD(*p1,1)=x875;FLD(*p1,2)=x880.c1;FLD(*p1,3)=x878;
      x890=_ATypeIndepExprAnalysis_3(x875,x880.c3);*p3=x890.c1;
      x891=_AOcError_21(x880.c5,x890.c2);
      *p5=_AOcError_21(x891,x886);}}
   }else{
    if(ISTGPRD(x1,9)){
     {OBJ x893=FLD(x1,1);OBJ x894=FLD(x1,2);
      COPY(x893,2);CPPRD(x894,1);
      CPCLS(__ATypeIndepExprAnalysis_13,1);
      CPCLS(__ATypeIndepExprAnalysis_36,1);
      CPCLS(__ATypeIndepExprAnalysis_37,1);
      CPCLS(__ASeq_26,1);
      CPPRD(__AOcError_15,1);
      CPCLS(__AImpl_148,1);
      CPPRD(__ARepSet_2,1);
      {OBJ x896;OBJ x897;OBJ x898;OBJ x899;OBJ x900;OBJ x901;TUP5 x903;TUP5 x909;OBJ x914;OBJ x915;OBJ x918;OBJ x920;TUP2 x923;OBJ x924;OBJ x925;
       x896=_AImpl_10(x1);
       x897=_ASeqMap_3(__AImpl_148,x893);
       x898=_ASeqMap_3(__ATypeIndepExprAnalysis_13,x897);
       x899=_ASeqReduce_4(__ASeq_26,__ASeq_6,x898);
       COPY(x899,2);
       x900=_ASeqReduce_4(__ATypeIndepExprAnalysis_37,__ARepSet_2,x899);
       CPPRD(x900,1);
       x901=_ANatMap_12(x2,x900);
       CPPRD(x901,1);
       x903=_ATypeIndepExprAnalysis_18(x893,x901);
       x909=_ATypeIndepExprAnalysis_1(x894,x901);
       x914=_ANatMap_12(x903.c3,x909.c3);
       x915=_ANatMap_12(x903.c2,x909.c2);
       *p4=_ANatMap_12(x903.c4,x909.c4);
       CPPRD(*p4,1);
       PRD(3,9,*p1);FLD(*p1,1)=x903.c1;FLD(*p1,2)=x909.c1;FLD(*p1,3)=x896;
       x918=(*(OBJ(*)(OBJ,OBJ))METHOD(__ATypeIndepExprAnalysis_36,1))(__ATypeIndepExprAnalysis_36,*p4);
       x920=_ASeqReduce_4(x918,__AOcError_15,x899);
       *p2=_ARepSet_6(x915,x900);
       x923=_ATypeIndepExprAnalysis_3(x899,x914);*p3=x923.c1;
       x924=_AOcError_21(x909.c5,x923.c2);
       x925=_AOcError_21(x924,x903.c5);
       *p5=_AOcError_21(x925,x920);}}
    }else{
     if(ISTGPRD(x1,10)){
      {OBJ x927=FLD(x1,1);OBJ x928=FLD(x1,2);
       CPPRD(x927,1);COPY(x928,1);
       {OBJ x930;
	x930=_AImpl_10(x1);
	PRD(3,10,*p1);FLD(*p1,2)=x928;FLD(*p1,3)=x930;
	x1=x927;p1=&FLD(*p1,1);continue;}}
     }else{
      if(ISTGPRD(x1,11)){
       {OBJ x938=FLD(x1,1);
	COPY(x938,1);
	CPCLS(__ATypeIndepExprAnalysis_42,1);
	CPPRD(__APair_2,1);
	{OBJ x940;TUP2 x942;TUP5 x945;
	 x940=_AImpl_10(x1);
	 x942=_ASeqZip_5(__ATypeIndepExprAnalysis_42,x938);
	 x945=_ATypeIndepExprAnalysis_15(x942.c1,x2);*p2=x945.c2;*p3=x945.c3;*p4=x945.c4;*p5=x945.c5;
	 PRD(2,11,*p1);FLD(*p1,2)=x940;
	 FLD(*p1,1)=_ASeqZip_4(__APair_2,x945.c1,x942.c2);}}
      }else{
       if(ISTGPRD(x1,7)){
	{OBJ x952=FLD(x1,1);
	 COPY(x952,1);
	 if(ISPRM(x952)){
	  HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
	 }else{
	  {OBJ x954=FLD1(x952,1);OBJ x960=FLD1(x952,7);
	   CPPRD(x954,2);COPY(x960,1);
	   if(EXPRD(x952,1)){
	    DSPRD(x952);
	   }else{
	    DCPRD(x952,1);}
	   {OBJ x962;OBJ x963;OBJ x964;
	    x962=_ARepSet_8(x954,x2);
	    x963=_ARepSet_3(x954,x960);
	    if(ISTGPRM(x962,1)){
	     *p4=x963;*p2=x963;
	     CPPRD(*p4,1);
	     CPPRD(__AOcError_15,1);
	     CPPRD(__ARepSet_2,1);
	    }else{
	     *p4=x963;
	     CPPRD(__AOcError_15,1);
	     CPPRD(__ARepSet_2,2);
	     *p2=__ARepSet_2;}
	    *p1=x1;*p3=__ARepSet_2;*p5=__AOcError_15;}}}}
       }else{
	if(ISTGPRD(x1,5)){
	 {OBJ x965=FLD(x1,1);OBJ x966=FLD(x1,2);
	  COPY(x965,1);CPPRD(x966,1);
	  CPPRD(x2,1);
	  {OBJ x968;TUP5 x971;TUP5 x976;
	   x968=_AImpl_10(x1);
	   x971=_ATypeIndepExprAnalysis_1(x966,x2);
	   x976=_ATypeIndepExprAnalysis_17(x965,x2);
	   *p2=_ANatMap_12(x976.c2,x971.c2);
	   *p3=_ANatMap_12(x976.c3,x971.c3);
	   *p4=_ANatMap_12(x976.c4,x971.c4);
	   PRD(3,5,*p1);FLD(*p1,1)=x976.c1;FLD(*p1,2)=x971.c1;FLD(*p1,3)=x968;
	   *p5=_AOcError_21(x976.c5,x971.c5);}}
	}else{
	 if(ISTGPRD(x1,2)){
	  FRPRD(x2,1);
	  CPPRD(__AOcError_15,1);
	  CPPRD(__ARepSet_2,3);
	  *p1=x1;*p2=__ARepSet_2;*p3=__ARepSet_2;*p4=__ARepSet_2;*p5=__AOcError_15;
	 }else{
	  if(ISTGPRD(x1,3)){
	   {OBJ x988=FLD(x1,1);
	    COPY(x988,1);
	    {OBJ x990;
	     x990=_AImpl_10(x1);
	     PRD(2,3,*p1);FLD(*p1,2)=x990;
	     {TUP5 t=_ATypeIndepExprAnalysis_15(x988,x2);
	      FLD(*p1,1)=t.c1;
	      *p2=t.c2;
	      *p3=t.c3;
	      *p4=t.c4;
	      *p5=t.c5;}}}
	  }else{
	   if(ISTGPRD(x1,0)){
	    FRPRD(x2,1);
	    CPPRD(__AOcError_15,1);
	    CPPRD(__ARepSet_2,3);
	    {OBJ x999;
	     x999=_AImpl_10(x1);
	     PRD(1,0,*p1);FLD(*p1,1)=x999;
	     *p2=__ARepSet_2;*p3=__ARepSet_2;*p4=__ARepSet_2;*p5=__AOcError_15;}
	   }else{
	    HLT("TypeIndepExprAnalysis at <unknown> : missing else in rearrange\'TypeIndepExprAnalysis:expr**repSet->expr**repSet**repSet**repSet**err");}}}}}}}}}}
  break;}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_1_c(OBJ x1,OBJ x2) /* rearrange */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_1(x1,x2);
  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 _ATypeIndepExprAnalysis_3(OBJ x1,OBJ x2) /* addLocalsToSignature */
{TUP2 r;
 CPCLS(__ATypeIndepExprAnalysis_34,1);
 CPPRD(__AOcError_15,1);
 {OBJ x3;OBJ x4;
  PRD1(2,x3);FLD1(x3,1)=x2;FLD1(x3,2)=__AOcError_15;
  x4=_ASeqReduce_4(__ATypeIndepExprAnalysis_34,x3,x1);
  {OBJ x11=FLD1(x4,1);OBJ x12=FLD1(x4,2);
   if(EXPRD(x4,1)){
    r.c1=x11;r.c2=x12;
    DSPRDF(x4);
   }else{
    CPPRD(x11,1);CPPRD(x12,1);
    r.c1=x11;r.c2=x12;
    FRPRD(x4,1);}}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_3_c(OBJ x1,OBJ x2) /* addLocalsToSignature */
{OBJ r;
 {TUP2 t=_ATypeIndepExprAnalysis_3(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_4(OBJ x1,OBJ x2) /* checkUsed */
{OBJ r;
 CPCLS(__ATypeIndepExprAnalysis_36,1);
 CPPRD(__AOcError_15,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ATypeIndepExprAnalysis_36,1))(__ATypeIndepExprAnalysis_36,x2);
  r=_ASeqReduce_4(x3,__AOcError_15,x1);}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* eq */
{OBJ r;
 PRD1(4,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;FLD1(r,4)=x4;
 return r;}

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

extern OBJ _ATypeIndepExprAnalysis_8(OBJ x1) /* eq,1 */
{OBJ r;
 {OBJ x5=FLD1(x1,4);
  if(EXPRD(x1,1)){
   r=x5;
   FLD1(x1,4)=NIL;DSPRD(x1);
  }else{
   CPPRD(x5,1);
   r=x5;
   FRPRD(x1,1);}}
 return r;}

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

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

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

extern OBJ _ATypeIndepExprAnalysis_13(OBJ x1) /* partNames */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x16=FLD(x1,1);
   if(EXPRD(x1,1)){
    FREE(FLD(x1,2),1);DSPRDF(x1);
   }else{
    COPY(x16,1);
    FRPRD(x1,1);}
   CPCLS(__AImpl_30,1);
   r=_ASeqMap_3(__AImpl_30,x16);}
 }else{
  if(ISTGPRD(x1,7)){
   {OBJ x18=FLD(x1,1);
    if(EXPRD(x1,1)){
     FREE(FLD(x1,2),1);DSPRDF(x1);
    }else{
     COPY(x18,1);
     FRPRD(x1,1);}
    PRD1(2,r);FLD1(r,1)=x18;FLD1(r,2)=__ASeq_6;}
  }else{
   HLT("TypeIndepExprAnalysis at <123,5-13> : missing else in partNames\'TypeIndepExprAnalysis:expr->seq");}}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_14(OBJ x1) /* toRepSet */
{OBJ r;
 CPCLS(__ATypeIndepExprAnalysis_37,1);
 CPPRD(__ARepSet_2,1);
 r=_ASeqReduce_4(__ATypeIndepExprAnalysis_37,__ARepSet_2,x1);
 return r;}

extern TUP5 _ATypeIndepExprAnalysis_15(OBJ x1,OBJ x2) /* rearrangeSeq */
{TUP5 r;
 if(ISPRM(x1)){
  FRPRD(x2,1);
  CPPRD(__AOcError_15,1);
  CPPRD(__ARepSet_2,3);
  r.c1=__ASeq_6;r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__ARepSet_2;r.c5=__AOcError_15;
 }else{
  {OBJ x37=FLD1(x1,1);OBJ x38=FLD1(x1,2);
   if(EXPRD(x1,1)){
    CPPRD(x2,1);
    {TUP5 x42;TUP5 x47;
     x42=_ATypeIndepExprAnalysis_15(x38,x2);
     x47=_ATypeIndepExprAnalysis_1(x37,x2);
     r.c5=_AOcError_21(x47.c5,x42.c5);
     r.c4=_ANatMap_12(x47.c4,x42.c4);
     r.c3=_ANatMap_12(x47.c3,x42.c3);
     RSOME(x1,r.c1);FLD1(r.c1,1)=x47.c1;FLD1(r.c1,2)=x42.c1;
     r.c2=_ANatMap_12(x47.c2,x42.c2);}
   }else{
    CPPRD(x37,1);COPY(x38,1);
    CPPRD(x2,1);
    {TUP5 x42;TUP5 x47;
     x42=_ATypeIndepExprAnalysis_15(x38,x2);
     x47=_ATypeIndepExprAnalysis_1(x37,x2);
     r.c5=_AOcError_21(x47.c5,x42.c5);
     r.c4=_ANatMap_12(x47.c4,x42.c4);
     r.c3=_ANatMap_12(x47.c3,x42.c3);
     FRPRD(x1,1);PRD1(2,r.c1);FLD1(r.c1,1)=x47.c1;FLD1(r.c1,2)=x42.c1;
     r.c2=_ANatMap_12(x47.c2,x42.c2);}}}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_15_c(OBJ x1,OBJ x2) /* rearrangeSeq */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_15(x1,x2);
  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 _ATypeIndepExprAnalysis_16(OBJ x1,OBJ x2) /* rearrange,1 */
{TUP5 r;
 {OBJ x32=FLD1(x1,1);OBJ x33=FLD1(x1,2);OBJ x34;
  if(EXPRD(x1,1)){
   CPPRD(x2,1);
   {TUP5 x37;TUP5 x42;
    x37=_ATypeIndepExprAnalysis_1(x33,x2);
    x42=_ATypeIndepExprAnalysis_1(x32,x2);
    r.c5=_AOcError_21(x42.c5,x37.c5);
    r.c4=_ANatMap_12(x42.c4,x37.c4);
    r.c3=_ANatMap_12(x42.c3,x37.c3);
    RSOME(x1,r.c1);FLD1(r.c1,1)=x42.c1;FLD1(r.c1,2)=x37.c1;
    r.c2=_ANatMap_12(x42.c2,x37.c2);}
  }else{
   x34=FLD1(x1,3);CPPRD(x32,1);CPPRD(x33,1);COPY(x34,1);
   CPPRD(x2,1);
   {TUP5 x37;TUP5 x42;
    x37=_ATypeIndepExprAnalysis_1(x33,x2);
    x42=_ATypeIndepExprAnalysis_1(x32,x2);
    r.c5=_AOcError_21(x42.c5,x37.c5);
    r.c4=_ANatMap_12(x42.c4,x37.c4);
    r.c3=_ANatMap_12(x42.c3,x37.c3);
    FRPRD(x1,1);PRD1(3,r.c1);FLD1(r.c1,1)=x42.c1;FLD1(r.c1,2)=x37.c1;FLD1(r.c1,3)=x34;
    r.c2=_ANatMap_12(x42.c2,x37.c2);}}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_16_c(OBJ x1,OBJ x2) /* rearrange,1 */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_16(x1,x2);
  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 _ATypeIndepExprAnalysis_17(OBJ x1,OBJ x2) /* rearrangeSeq,1 */
{TUP5 r;
 if(ISPRM(x1)){
  FRPRD(x2,1);
  CPPRD(__AOcError_15,1);
  CPPRD(__ARepSet_2,3);
  r.c1=__ASeq_6;r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__ARepSet_2;r.c5=__AOcError_15;
 }else{
  {OBJ x37=FLD1(x1,1);OBJ x38=FLD1(x1,2);
   if(EXPRD(x1,1)){
    CPPRD(x2,1);
    {TUP5 x42;TUP5 x47;
     x42=_ATypeIndepExprAnalysis_17(x38,x2);
     x47=_ATypeIndepExprAnalysis_16(x37,x2);
     r.c5=_AOcError_21(x47.c5,x42.c5);
     r.c4=_ANatMap_12(x47.c4,x42.c4);
     r.c3=_ANatMap_12(x47.c3,x42.c3);
     RSOME(x1,r.c1);FLD1(r.c1,1)=x47.c1;FLD1(r.c1,2)=x42.c1;
     r.c2=_ANatMap_12(x47.c2,x42.c2);}
   }else{
    CPPRD(x37,1);COPY(x38,1);
    CPPRD(x2,1);
    {TUP5 x42;TUP5 x47;
     x42=_ATypeIndepExprAnalysis_17(x38,x2);
     x47=_ATypeIndepExprAnalysis_16(x37,x2);
     r.c5=_AOcError_21(x47.c5,x42.c5);
     r.c4=_ANatMap_12(x47.c4,x42.c4);
     r.c3=_ANatMap_12(x47.c3,x42.c3);
     FRPRD(x1,1);PRD1(2,r.c1);FLD1(r.c1,1)=x47.c1;FLD1(r.c1,2)=x42.c1;
     r.c2=_ANatMap_12(x47.c2,x42.c2);}}}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_17_c(OBJ x1,OBJ x2) /* rearrangeSeq,1 */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_17(x1,x2);
  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 _ATypeIndepExprAnalysis_18(OBJ x1,OBJ x2) /* rearrangeDefs */
{TUP5 r;
 CPCLS(__ATypeIndepExprAnalysis_8,1);
 {TUP5 x4;OBJ x9;TUP2 x11;
  x4=_ATypeIndepExprAnalysis_20(__ANat_5,x1,x2);r.c2=x4.c2;r.c3=x4.c3;r.c4=x4.c4;
  x9=_ATypeIndepExprAnalysis_25(x4.c1);
  x11=_ATypeIndepExprAnalysis_26(x9);
  r.c1=_ASeqMap_3(__ATypeIndepExprAnalysis_8,x11.c1);
  r.c5=_AOcError_21(x4.c5,x11.c2);}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_18_c(OBJ x1,OBJ x2) /* rearrangeDefs */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_18(x1,x2);
  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 _ATypeIndepExprAnalysis_19(OBJ x1,OBJ x2,OBJ x3) /* rearrange,2 */
{TUP5 r;
 {OBJ x26=FLD1(x2,1);OBJ x27=FLD1(x2,2);OBJ x28;FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
   CPPRD(x26,1);
  }else{
   x28=FLD1(x2,3);CPPRD(x26,2);CPPRD(x27,1);COPY(x28,1);}
  CPCLS(__ATypeIndepExprAnalysis_37,1);
  CPPRD(__ARepSet_2,1);
  {OBJ x30;OBJ x31;TUP5 x32;OBJ x37;
   x30=_ATypeIndepExprAnalysis_13(x26);
   x31=_ASeqReduce_4(__ATypeIndepExprAnalysis_37,__ARepSet_2,x30);
   x32=_ATypeIndepExprAnalysis_1(x27,x3);r.c2=x32.c2;r.c3=x32.c3;r.c4=x32.c4;r.c5=x32.c5;
   CPPRD(r.c2,1);
   if(x_x2){
    RSOME(x2,x37);FLD1(x37,2)=x32.c1;
   }else{
    FRPRD(x2,1);PRD1(3,x37);FLD1(x37,1)=x26;FLD1(x37,2)=x32.c1;FLD1(x37,3)=x28;}
   PRD1(4,r.c1);FLD1(r.c1,1)=x1;FLD1(r.c1,2)=x31;FLD1(r.c1,3)=r.c2;FLD1(r.c1,4)=x37;}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_19_c(OBJ x1,OBJ x2,OBJ x3) /* rearrange,2 */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_19(x1,x2,x3);
  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 _ATypeIndepExprAnalysis_20(OBJ x1,OBJ x2,OBJ x3) /* rearrangeSeq,2 */
{TUP5 r;
 if(ISPRM(x2)){
  FRPRD(x3,1);
  CPPRD(__AOcError_15,1);
  CPPRD(__ARepSet_2,3);
  r.c1=__ASeq_6;r.c2=__ARepSet_2;r.c3=__ARepSet_2;r.c4=__ARepSet_2;r.c5=__AOcError_15;
 }else{
  {OBJ x39=FLD1(x2,1);OBJ x40=FLD1(x2,2);
   if(EXPRD(x2,1)){
    CPPRD(x3,1);
    {OBJ x41;TUP5 x45;TUP5 x50;
     ANat_2(x1,x41);
     x45=_ATypeIndepExprAnalysis_20(x41,x40,x3);
     x50=_ATypeIndepExprAnalysis_19(x1,x39,x3);
     r.c5=_AOcError_21(x50.c5,x45.c5);
     r.c4=_ANatMap_12(x50.c4,x45.c4);
     r.c3=_ANatMap_12(x50.c3,x45.c3);
     RSOME(x2,r.c1);FLD1(r.c1,1)=x50.c1;FLD1(r.c1,2)=x45.c1;
     r.c2=_ANatMap_12(x50.c2,x45.c2);}
   }else{
    CPPRD(x39,1);COPY(x40,1);
    CPPRD(x3,1);
    {OBJ x41;TUP5 x45;TUP5 x50;
     ANat_2(x1,x41);
     x45=_ATypeIndepExprAnalysis_20(x41,x40,x3);
     x50=_ATypeIndepExprAnalysis_19(x1,x39,x3);
     r.c5=_AOcError_21(x50.c5,x45.c5);
     r.c4=_ANatMap_12(x50.c4,x45.c4);
     r.c3=_ANatMap_12(x50.c3,x45.c3);
     FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x50.c1;FLD1(r.c1,2)=x45.c1;
     r.c2=_ANatMap_12(x50.c2,x45.c2);}}}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_20_c(OBJ x1,OBJ x2,OBJ x3) /* rearrangeSeq,2 */
{OBJ r;
 {TUP5 t=_ATypeIndepExprAnalysis_20(x1,x2,x3);
  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 _ATypeIndepExprAnalysis_24(OBJ x1) /* sort */
{TUP2 r;
 {OBJ x2;
  x2=_ATypeIndepExprAnalysis_25(x1);
  r=_ATypeIndepExprAnalysis_26(x2);}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_24_c(OBJ x1) /* sort */
{OBJ r;
 {TUP2 t=_ATypeIndepExprAnalysis_24(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_25(OBJ x1) /* sortUsedFirst */
{OBJ r;
 if(ISPRM(x1)){
  r=__ASeq_6;
 }else{
  {OBJ x23=FLD1(x1,1);OBJ x24=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x23,1);COPY(x24,1);
    FRPRD(x1,1);}
   CPCLS(__ATypeIndepExprAnalysis_33,1);
   {TUP2 x27;OBJ x29;
    x27=_ATypeIndepExprAnalysis_30(__ATypeIndepExprAnalysis_33,x23,x24);
    x29=_ATypeIndepExprAnalysis_25(x27.c2);
    r=_ASeq_26(x29,x27.c1);}}}
 return r;}

extern TUP2 _ATypeIndepExprAnalysis_26(OBJ x1) /* checkUses */
{TUP2 r;
 if(ISPRM(x1)){
  CPPRD(__AOcError_15,1);
  r.c1=__ASeq_6;r.c2=__AOcError_15;
 }else{
  {OBJ x28=FLD1(x1,1);OBJ x29=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x28,1);COPY(x29,1);
    FRPRD(x1,1);}
   CPCLS(__ATypeIndepExprAnalysis_32,1);
   {TUP2 x32;OBJ x34;TUP2 x36;
    x32=_ATypeIndepExprAnalysis_30(__ATypeIndepExprAnalysis_32,x28,x29);
    COPY(x32.c1,1);
    x34=_ATypeIndepExprAnalysis_27(x32.c1);
    x36=_ATypeIndepExprAnalysis_26(x32.c2);
    r.c1=_ASeq_26(x32.c1,x36.c1);
    r.c2=_AOcError_21(x34,x36.c2);}}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_26_c(OBJ x1) /* checkUses */
{OBJ r;
 {TUP2 t=_ATypeIndepExprAnalysis_26(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_27(OBJ x1) /* checkCycle */
{OBJ r;
 if(ISPRM(x1)){
  HLT("TypeIndepExprAnalysis at <269,5-14> : missing else in checkCycle\'TypeIndepExprAnalysis:seq->err");
 }else{
  {OBJ x79=FLD1(x1,1);OBJ x80=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x79,1);COPY(x80,1);
    FRPRD(x1,1);}
   if(ISPRM(x80)){
    CPPRD(x79,2);
    {OBJ x81;
     x81=_ATypeIndepExprAnalysis_32(x79,x79);
     if(ISTGPRM(x81,1)){
      {OBJ x85=FLD1(x79,4);
       if(EXPRD(x79,1)){
	FLD1(x79,4)=NIL;DSPRD(x79);
       }else{
	CPPRD(x85,1);
	FRPRD(x79,1);}
       {OBJ x88=FLD1(x85,3);
	if(EXPRD(x85,1)){
	 FLD1(x85,3)=NIL;DSPRD(x85);
	}else{
	 COPY(x88,1);
	 FRPRD(x85,1);}
	CPPRD(__ATypeIndepExprAnalysis_28,1);
	r=_AOcError_16(__AOcError_12,__ATypeIndepExprAnalysis_28,x88);}}
     }else{
      FRPRD(x79,1);
      CPPRD(__AOcError_15,1);
      r=__AOcError_15;}}
   }else{
    {OBJ x94=FLD1(x79,4);
     if(EXPRD(x79,1)){
      FLD1(x79,4)=NIL;DSPRD(x79);
     }else{
      CPPRD(x94,1);
      FRPRD(x79,1);}
     {OBJ x97=FLD1(x94,3);
      if(EXPRD(x94,1)){
       FLD1(x94,3)=NIL;DSPRD(x94);
      }else{
       COPY(x97,1);
       FRPRD(x94,1);}
      CPPRD(__ATypeIndepExprAnalysis_29,1);
      CPCLS(__ATypeIndepExprAnalysis_41,1);
      CPPRD(__ADenotation_3,1);
      {OBJ x98;
       x98=_ASeqReduce_4(__ATypeIndepExprAnalysis_41,__ADenotation_3,x80);
       r=_AOcError_17(__AOcError_12,__ATypeIndepExprAnalysis_29,x98,x97);}}}}}}
 return r;}

extern TUP2 _ATypeIndepExprAnalysis_30(OBJ x1,OBJ x2,OBJ x3) /* dfs */
{TUP2 r;
 CPCLS(__ATypeIndepExprAnalysis_38,1);
 CPCLS(x1,1);
 CPPRD(x2,1);
 COPY(x3,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ATypeIndepExprAnalysis_38,2))(__ATypeIndepExprAnalysis_38,x1,x2);
  x5=_ASeqFilter_2(x4,x3);
  PRD1(2,r.c1);FLD1(r.c1,1)=x2;
  {TUP2 t=_ATypeIndepExprAnalysis_31(x1,x5,x3);
   FLD1(r.c1,2)=t.c1;
   r.c2=t.c2;}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_30_c(OBJ x1,OBJ x2,OBJ x3) /* dfs */
{OBJ r;
 {TUP2 t=_ATypeIndepExprAnalysis_30(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ATypeIndepExprAnalysis_31(register OBJ x1,register OBJ x2,register OBJ x3) /* visit */
{TUP2 r;
 for(;;){
  if(ISPRM(x2)){
   FRCLS(x1,1);
   r.c1=__ASeq_6;r.c2=x3;
  }else{
   {OBJ x47=FLD1(x2,1);OBJ x48=FLD1(x2,2);
    if(EXPRD(x2,1)){
     CPPRD(x47,1);
     DSPRDF(x2);
    }else{
     CPPRD(x47,2);COPY(x48,1);
     FRPRD(x2,1);}
    COPY(x3,1);
    CPCLS(__ATypeIndepExprAnalysis_39,1);
    {OBJ x50;TUP2 x52;
     x50=(*(OBJ(*)(OBJ,OBJ))METHOD(__ATypeIndepExprAnalysis_39,1))(__ATypeIndepExprAnalysis_39,x47);
     x52=_ASeqFilter_5(x50,x3);
     if(ISPRM(x52.c1)){
      FRPRD(x47,1);
      FREE(x52.c2,1);
      x2=x48;continue;
     }else{
      if(EXPRD(x52.c1,1)){
       DSPRD(x52.c1);
      }else{
       DCPRD(x52.c1,1);}
      FREE(x3,1);
      CPCLS(x1,1);
      {TUP2 x57;TUP2 x60;
       x57=_ATypeIndepExprAnalysis_30(x1,x47,x52.c2);
       x60=_ATypeIndepExprAnalysis_31(x1,x48,x57.c2);r.c2=x60.c2;
       r.c1=_ASeq_26(x60.c1,x57.c1);}}}}}
  break;}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_31_c(OBJ x1,OBJ x2,OBJ x3) /* visit */
{OBJ r;
 {TUP2 t=_ATypeIndepExprAnalysis_31(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_32(OBJ x1,OBJ x2) /* uses */
{OBJ r;
 {OBJ x46=FLD1(x1,3);
  if(EXPRD(x1,1)){
   FLD1(x1,3)=NIL;DSPRD(x1);
  }else{
   CPPRD(x46,1);
   FRPRD(x1,1);}
  {OBJ x70=FLD1(x2,2);
   if(EXPRD(x2,1)){
    FLD1(x2,2)=NIL;DSPRD(x2);
   }else{
    CPPRD(x70,1);
    FRPRD(x2,1);}
   {OBJ x73;
    x73=_ARepSet_7(x46,x70);
    if(ISTGPRM(x73,1)){
     r=__ABUILTIN_3;
    }else{
     r=__ABUILTIN_5;}}}}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_33(OBJ x1,OBJ x2) /* usedBy */
{OBJ r;
 {OBJ x45=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FLD1(x1,2)=NIL;DSPRD(x1);
  }else{
   CPPRD(x45,1);
   FRPRD(x1,1);}
  {OBJ x71=FLD1(x2,3);
   if(EXPRD(x2,1)){
    FLD1(x2,3)=NIL;DSPRD(x2);
   }else{
    CPPRD(x71,1);
    FRPRD(x2,1);}
   {OBJ x73;
    x73=_ARepSet_7(x45,x71);
    if(ISTGPRM(x73,1)){
     r=__ABUILTIN_3;
    }else{
     r=__ABUILTIN_5;}}}}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_34(OBJ x1,OBJ x2) /* addLocalsToSignature'34 */
{OBJ r;
 {OBJ x32=FLD1(x2,1);OBJ x33=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   CPPRD(x32,1);CPPRD(x33,1);}
  {OBJ x49;OBJ x41;OBJ x50;
   if(ISPRM(x1)){
    HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
   }else{
    {OBJ x64=FLD1(x1,1);OBJ x70=FLD1(x1,7);
     if(EXPRD(x1,1)){
      x41=x64;x49=x70;
      FLD1(x1,1)=NIL;FLD1(x1,7)=NIL;DSPRD(x1);
     }else{
      CPPRD(x64,1);COPY(x70,1);
      x41=x64;x49=x70;
      FRPRD(x1,1);}
     CPPRD(x32,1);}}
   CPPRD(x41,1);
   x50=_ARepSet_8(x41,x32);
   if(ISTGPRM(x50,1)){
    CPPRD(x32,1);
    CPPRD(x41,1);
    CPPRD(__ATypeIndepExprAnalysis_2,1);
    {OBJ x51;OBJ x52;OBJ x53;OBJ x54;
     x51=_ARepSet_9(x41,x32);
     x52=_AOcPos_34(x49);
     x53=_ARep_119(x41);
     x54=_AOcError_19(__AOcError_12,__ATypeIndepExprAnalysis_2,x53,x52,x51);
     if(x_x2){
      RSOME(x2,r);
     }else{
      FRPRD(x2,1);PRD1(2,r);FLD1(r,1)=x32;}
     FLD1(r,2)=_AOcError_21(x54,x33);}
   }else{
    {
     if(x_x2){
      RSOME(x2,r);
     }else{
      FRPRD(x2,1);PRD1(2,r);FLD1(r,2)=x33;}
     FLD1(r,1)=_ARepSet_4(x41,x49,x32);}}}}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_36(OBJ x1,OBJ x2,OBJ x3) /* checkUsed'36 */
{OBJ r;
 {OBJ x11;OBJ x12;
  if(ISPRM(x2)){
   HLT("PartName at <unknown> : undefined selection ide\'PartName:partName->rep");
  }else{
   {OBJ x4=FLD1(x2,1);
    CPPRD(x4,1);
    x11=x4;}}
  CPPRD(x11,1);
  x12=_ARepSet_8(x11,x1);
  if(ISTGPRM(x12,1)){
   FREE(x2,1);
   FRPRD(x11,1);
   r=x3;
  }else{
   {OBJ x29=FLD1(x11,3);
    if(ISTGPRM(x29,1)){
     FREE(x2,1);
     if(EXPRD(x11,1)){
      FRPRD(FLD1(x11,2),1);DSPRDF(x11);
     }else{
      DCPRD(x11,1);}
     r=x3;
    }else{
     {OBJ x37;OBJ x38;OBJ x39;
      if(ISPRM(x2)){
       HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
      }else{
       {OBJ x36=FLD1(x2,7);
	if(EXPRD(x2,1)){
	 x37=x36;
	 FLD1(x2,7)=NIL;DSPRD(x2);
	}else{
	 COPY(x36,1);
	 x37=x36;
	 FRPRD(x2,1);}
	CPPRD(__ATypeIndepExprAnalysis_35,1);}}
      x38=_ARep_119(x11);
      x39=_AOcError_17(__AOcError_8,__ATypeIndepExprAnalysis_35,x38,x37);
      r=_AOcError_21(x39,x3);}}}}}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_37(OBJ x1,OBJ x2) /* toRepSet'37 */
{OBJ r;
 {OBJ x18;OBJ x10;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x26=FLD1(x1,1);OBJ x32=FLD1(x1,7);
    if(EXPRD(x1,1)){
     x10=x26;x18=x32;
     FLD1(x1,1)=NIL;FLD1(x1,7)=NIL;DSPRD(x1);
    }else{
     CPPRD(x26,1);COPY(x32,1);
     x10=x26;x18=x32;
     FRPRD(x1,1);}}}
  r=_ARepSet_4(x10,x18,x2);}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_38(OBJ x1,OBJ x2,OBJ x3) /* dfs'38 */
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x2,x3);
 return r;}

extern OBJ _ATypeIndepExprAnalysis_39(OBJ x1,OBJ x2) /* visit'39 */
{OBJ r;
 {OBJ x3=FLD1(x2,1);
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x7;
   x7=x3;
   {OBJ x8=FLD1(x1,1);
    if(EXPRD(x1,1)){
     DSPRD(x1);
    }else{
     FRPRD(x1,1);}
    {OBJ x12;
     x12=x8;
     ANat_76(x7,x12,r);}}}}
 return r;}

extern OBJ _ATypeIndepExprAnalysis_41(OBJ x1,OBJ x2) /* checkCycle'41 */
{OBJ r;
 {OBJ x17=FLD1(x1,4);
  if(EXPRD(x1,1)){
   FLD1(x1,4)=NIL;DSPRD(x1);
  }else{
   CPPRD(x17,1);
   FRPRD(x1,1);}
  {OBJ x20=FLD1(x17,3);
   if(EXPRD(x17,1)){
    FLD1(x17,3)=NIL;DSPRD(x17);
   }else{
    COPY(x20,1);
    FRPRD(x17,1);}
   CPPRD(__ATypeIndepExprAnalysis_40,1);
   {OBJ x21;OBJ x22;
    x21=_AOcPos_34(x20);
    ADenotation_4(x21,x2,x22);
    ADenotation_4(__ATypeIndepExprAnalysis_40,x22,r);}}}
 return r;}

extern TUP2 _ATypeIndepExprAnalysis_42(OBJ x1) /* rearrange'42 */
{TUP2 r;
 {OBJ x8=FLD1(x1,1);OBJ x9=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r.c1=x8;r.c2=x9;
   DSPRDF(x1);
  }else{
   CPPRD(x8,1);CPPRD(x9,1);
   r.c1=x8;r.c2=x9;
   FRPRD(x1,1);}}
 return r;}
extern OBJ _ATypeIndepExprAnalysis_42_c(OBJ x1) /* rearrange'42 */
{OBJ r;
 {TUP2 t=_ATypeIndepExprAnalysis_42(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

init_ATypeIndepExprAnalysis()
{
 static int visited=0; if(visited) return; visited=1;
 init_AMap();
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 init_ASeq();
 init_ASeqConv();
 init_AOcError();
 init_ANatMap();
 init_APartName();
 init_AArray();
 init_AImpl();
 init_ALexem();
 init_ARepSet();
 init_ATriple();
 init_ARep();
 init_AOcPos();
 init_ANat();
 init_AChar();
 init_AOption();
 init_AFct();
 init_APair();
 init_ABitset();
 init_APragma();
 init_AString();
 init_AOcOptions();
 init_ACom();
 init_AVoid();
 init_AStream();
 init_AFile();
 init_AInt();
 init_ADenotation();
 init_ASeqReduce();
 init_ASeqMap();
 init_ASeqFilter();
 init_ASeqZip();
 init_ACompose();
 init_ASet();
 CLS(3,_ATypeIndepExprAnalysis_31_c,__ATypeIndepExprAnalysis_31);
 CLS(3,_ATypeIndepExprAnalysis_30_c,__ATypeIndepExprAnalysis_30);
 DEN("recursive let/where: indirect recursive equation, involving equations at%s",__ATypeIndepExprAnalysis_29);
 DEN("recursive let/where: direct recursive equation",__ATypeIndepExprAnalysis_28);
 CLS(1,_ATypeIndepExprAnalysis_27,__ATypeIndepExprAnalysis_27);
 CLS(1,_ATypeIndepExprAnalysis_26_c,__ATypeIndepExprAnalysis_26);
 CLS(1,_ATypeIndepExprAnalysis_25,__ATypeIndepExprAnalysis_25);
 CLS(1,_ATypeIndepExprAnalysis_24_c,__ATypeIndepExprAnalysis_24);
 CLS(3,_ATypeIndepExprAnalysis_20_c,__ATypeIndepExprAnalysis_20);
 CLS(3,_ATypeIndepExprAnalysis_19_c,__ATypeIndepExprAnalysis_19);
 CLS(2,_ATypeIndepExprAnalysis_18_c,__ATypeIndepExprAnalysis_18);
 CLS(2,_ATypeIndepExprAnalysis_17_c,__ATypeIndepExprAnalysis_17);
 CLS(2,_ATypeIndepExprAnalysis_16_c,__ATypeIndepExprAnalysis_16);
 CLS(2,_ATypeIndepExprAnalysis_15_c,__ATypeIndepExprAnalysis_15);
 CLS(1,_ATypeIndepExprAnalysis_14,__ATypeIndepExprAnalysis_14);
 CLS(1,_ATypeIndepExprAnalysis_13,__ATypeIndepExprAnalysis_13);
 CLS(1,_ATypeIndepExprAnalysis_11,__ATypeIndepExprAnalysis_11);
 CLS(1,_ATypeIndepExprAnalysis_42_c,__ATypeIndepExprAnalysis_42);
 CLS(1,_ATypeIndepExprAnalysis_10,__ATypeIndepExprAnalysis_10);
 CLS(2,_ATypeIndepExprAnalysis_41,__ATypeIndepExprAnalysis_41);
 CLS(1,_ATypeIndepExprAnalysis_9,__ATypeIndepExprAnalysis_9);
 DEN(" ",__ATypeIndepExprAnalysis_40);
 CLS(1,_ATypeIndepExprAnalysis_8,__ATypeIndepExprAnalysis_8);
 CLS(2,_ATypeIndepExprAnalysis_39,__ATypeIndepExprAnalysis_39);
 CLS(1,_ATypeIndepExprAnalysis_7,__ATypeIndepExprAnalysis_7);
 CLS(3,_ATypeIndepExprAnalysis_38,__ATypeIndepExprAnalysis_38);
 CLS(4,_ATypeIndepExprAnalysis_6,__ATypeIndepExprAnalysis_6);
 CLS(2,_ATypeIndepExprAnalysis_37,__ATypeIndepExprAnalysis_37);
 CLS(3,_ATypeIndepExprAnalysis_36,__ATypeIndepExprAnalysis_36);
 CLS(2,_ATypeIndepExprAnalysis_4,__ATypeIndepExprAnalysis_4);
 DEN("local name %s is not used",__ATypeIndepExprAnalysis_35);
 CLS(2,_ATypeIndepExprAnalysis_3_c,__ATypeIndepExprAnalysis_3);
 CLS(2,_ATypeIndepExprAnalysis_34,__ATypeIndepExprAnalysis_34);
 DEN("duplicate or overloaded local name %s (also added at %s)",__ATypeIndepExprAnalysis_2);
 CLS(2,_ATypeIndepExprAnalysis_1_c,__ATypeIndepExprAnalysis_1);
 CLS(2,_ATypeIndepExprAnalysis_33,__ATypeIndepExprAnalysis_33);
 CLS(2,_ATypeIndepExprAnalysis_32,__ATypeIndepExprAnalysis_32);}

