

#include "BUILTIN.h"
extern OBJ _AToken_12(OBJ);extern OBJ __AToken_12;
extern OBJ _AToken_16(OBJ);extern OBJ __AToken_16;
extern OBJ __ATerminal_2;
extern OBJ __ATerminal_4;
extern OBJ __ATerminal_6;
extern OBJ __ATerminal_8;
extern OBJ __ATerminal_10;
extern OBJ __ATerminal_12;
extern OBJ __ATerminal_14;
extern OBJ __ATerminal_16;
extern OBJ __ATerminal_20;
extern OBJ __ATerminal_22;
extern OBJ __ATerminal_24;
extern OBJ __ATerminal_36;
extern OBJ __ATerminal_38;
extern OBJ __ATerminal_52;
extern OBJ __ATerminal_72;
extern OBJ __ATerminal_74;
extern OBJ __ATerminal_76;
extern OBJ __ATerminal_78;
extern OBJ __ATerminal_82;
extern OBJ __ATerminal_84;
extern OBJ __ATerminal_86;
extern OBJ __ATerminal_88;
extern OBJ __ATerminal_92;
extern OBJ __ATerminal_94;
extern OBJ __ATerminal_96;
extern OBJ __ATerminal_98;
extern OBJ __ATerminal_100;
extern OBJ __ATerminal_102;
extern OBJ __ATerminal_104;
extern OBJ __ATerminal_106;
extern OBJ __ATerminal_108;
extern OBJ __ATerminal_112;
extern OBJ __ATerminal_114;
extern OBJ __ATerminal_116;
extern OBJ __ATerminal_118;
extern OBJ __ATerminal_120;
extern OBJ __ATerminal_124;
extern OBJ __ATerminal_126;
extern OBJ __ATerminal_128;
extern OBJ __ATerminal_130;
extern OBJ __ATerminal_132;
extern OBJ __ATerminal_134;
extern OBJ __ATerminal_136;
extern OBJ _ATerminal_141(OBJ,OBJ);extern OBJ __ATerminal_141;
extern OBJ __ASeq_6;
extern OBJ _ASeq_23(OBJ,OBJ);extern OBJ __ASeq_23;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ _ASeq_38(OBJ);extern OBJ __ASeq_38;
extern OBJ _ASeq_51(OBJ,OBJ);extern OBJ __ASeq_51;
extern OBJ _ASet_9(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASet_9;
extern OBJ _ASet_10(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASet_10;
extern OBJ _ASet_11(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASet_11;
extern OBJ _ASet_12(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASet_12;
extern OBJ _ASet_39(OBJ,OBJ,OBJ);extern OBJ __ASet_39;
extern OBJ _ASet_40(OBJ,OBJ,OBJ);extern OBJ __ASet_40;
extern OBJ _ASet_41(OBJ,OBJ,OBJ);extern OBJ __ASet_41;
extern OBJ _ASet_44(OBJ,OBJ,OBJ);extern OBJ __ASet_44;

#include "Nat.h"
extern OBJ __ARep_13;
extern OBJ __ARep_45;

#include "Char.h"

#include "Int.h"
extern OBJ __APErr_16;
extern OBJ _APErr_17(OBJ);extern OBJ __APErr_17;

#include "Denotation.h"

#include "Bitset.h"
extern TUP2 _ASeqFilter_8(OBJ,OBJ);extern OBJ __ASeqFilter_8;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;

#include "Array.h"
OBJ __APCommon_1; /* ftSignBody */
OBJ __APCommon_2; /* ftBody */
OBJ __APCommon_3; /* ftExpr */
extern OBJ _APCommon_4(OBJ);OBJ __APCommon_4; /* prepareTS */
extern TUP2 _APCommon_5(OBJ,OBJ);OBJ __APCommon_5; /* split */
extern OBJ _APCommon_6(OBJ);OBJ __APCommon_6; /* first */
extern OBJ _APCommon_7(OBJ);OBJ __APCommon_7; /* rest */
extern TUP2 _APCommon_8(OBJ,OBJ);OBJ __APCommon_8; /* splitHeader */
extern OBJ _APCommon_9(OBJ);OBJ __APCommon_9; /* whichBS? */
extern OBJ _APCommon_10(OBJ,OBJ,OBJ,OBJ);OBJ __APCommon_10; /* prepTS */
OBJ __APCommon_11; /* mkEof */
extern TUP2 _APCommon_12(OBJ);OBJ __APCommon_12; /* splitLhs */
extern TUP2 _APCommon_13(OBJ);OBJ __APCommon_13; /* splitName */
extern TUP2 _APCommon_14(OBJ,OBJ,OBJ);OBJ __APCommon_14; /* splitParams */
OBJ __APCommon_15; /* body */
OBJ __APCommon_16; /* def */
OBJ __APCommon_17; /* imp */
OBJ __APCommon_18; /* only */
OBJ __APCommon_19; /* comp */
OBJ __APCommon_20; /* block */
OBJ __APCommon_21; /* eq */
OBJ __APCommon_22; /* prag */
OBJ __APCommon_23; /* body,1 */
OBJ __APCommon_24; /* def,1 */
OBJ __APCommon_25; /* imp,1 */
OBJ __APCommon_26; /* only,1 */
OBJ __APCommon_27; /* comp,1 */
OBJ __APCommon_28; /* block,1 */
OBJ __APCommon_29; /* eq,1 */
OBJ __APCommon_30; /* prag,1 */
extern OBJ _APCommon_31(OBJ);OBJ __APCommon_31; /* body? */
extern OBJ _APCommon_32(OBJ);OBJ __APCommon_32; /* def? */
extern OBJ _APCommon_33(OBJ);OBJ __APCommon_33; /* imp? */
extern OBJ _APCommon_34(OBJ);OBJ __APCommon_34; /* only? */
extern OBJ _APCommon_35(OBJ);OBJ __APCommon_35; /* comp? */
extern OBJ _APCommon_36(OBJ);OBJ __APCommon_36; /* block? */
extern OBJ _APCommon_37(OBJ);OBJ __APCommon_37; /* eq? */
extern OBJ _APCommon_38(OBJ);OBJ __APCommon_38; /* prag? */
extern OBJ _APCommon_39(OBJ,OBJ);OBJ __APCommon_39; /* newPos */
extern OBJ _APCommon_40(OBJ,OBJ);OBJ __APCommon_40; /* rev */
OBJ __APCommon_41; /* traceSplit? */
OBJ __APCommon_45; /* lastPrag */
OBJ __APCommon_46; /* ftSet */
extern OBJ _APCommon_47(OBJ,OBJ);OBJ __APCommon_47; /* splitHeader'47 */
extern OBJ _APCommon_48(OBJ);OBJ __APCommon_48; /* splitHeader'48 */
OBJ __APCommon_49; /* whichBS?'49 */
extern OBJ _APCommon_50(OBJ,OBJ);OBJ __APCommon_50; /* whichBS?'50 */
extern OBJ _APCommon_51(OBJ,OBJ);OBJ __APCommon_51; /* split'51 */
extern OBJ _APCommon_52(OBJ);OBJ __APCommon_52; /* splitParams'52 */
OBJ __APCommon_53; /* splitLhs'53 */
extern OBJ _APCommon_54(OBJ);OBJ __APCommon_54; /* splitLhs'54 */
OBJ __APCommon_55; /* prepTS'55 */
extern OBJ _APCommon_56(OBJ,OBJ);OBJ __APCommon_56; /* prepTS'56 */
extern OBJ _APCommon_57(OBJ);OBJ __APCommon_57; /* prepTS'57 */
OBJ __APCommon_58; /* prepTS'58 */
extern OBJ _APCommon_59(OBJ,OBJ);OBJ __APCommon_59; /* prepTS'59 */
OBJ __APCommon_60; /* first'60 */
OBJ __APCommon_61; /* traceSplit?'61 */

extern OBJ _APCommon_4(OBJ x1) /* prepareTS */
{OBJ r;
 if(ISPRM(x1)){
  {TUP2 x85;OBJ x89;
   x85=_APCommon_8(__ASeq_6,x1);
   if(ISPRM(x85.c2)){
    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
   }else{
    {OBJ x87=FLD1(x85.c2,1);
     CPPRD(x87,1);
     x89=x87;}}
   {OBJ x90=FLD1(x89,1);
    {OBJ x93;
     ANat_76(x90,__ATerminal_4,x93);
     if(ISTGPRM(x93,1)){
      if(EXPRD(x89,1)){
       DSPRD(x89);
      }else{
       DCPRD(x89,1);}
      {OBJ x94;
       PRD1(2,x94);FLD1(x94,1)=x85.c2;FLD1(x94,2)=__ASeq_6;
       PRD1(2,r);FLD1(r,1)=x85.c1;FLD1(r,2)=x94;}
     }else{
      {OBJ x95;OBJ x96;
       x95=_APCommon_9(x89);
       x96=_APCommon_10(x95,__ASeq_6,__ASeq_6,x85.c2);
       PRD1(2,r);FLD1(r,1)=x85.c1;
       FLD1(r,2)=_ASeq_51(x96,__ASeq_6);}}}}}
 }else{
  {OBJ x65=FLD1(x1,1);OBJ x66=FLD1(x1,2);
   CPPRD(x65,1);COPY(x66,1);
   if(ISPRM(x66)){
    if(EXPRD(x1,1)){
     DSPRD(x1);
    }else{
     DCPRD(x1,1);}
    {OBJ x67;
     PRD1(2,x67);FLD1(x67,1)=x65;FLD1(x67,2)=__ASeq_6;
     PRD1(2,r);FLD1(r,1)=x67;FLD1(r,2)=__ASeq_6;}
   }else{
    FRPRD(x65,1);
    {TUP2 x71;OBJ x75;
     x71=_APCommon_8(__ASeq_6,x1);
     if(ISPRM(x71.c2)){
      HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
     }else{
      {OBJ x73=FLD1(x71.c2,1);
       CPPRD(x73,1);
       x75=x73;}}
     {OBJ x76=FLD1(x75,1);
      {OBJ x79;
       ANat_76(x76,__ATerminal_4,x79);
       if(ISTGPRM(x79,1)){
	if(EXPRD(x75,1)){
	 DSPRD(x75);
	}else{
	 DCPRD(x75,1);}
	{OBJ x80;
	 if(EXPRD(x66,1)){
	  RSOME(x66,x80);FRPRD(FLD1(x80,1),1);FLD1(x80,1)=x71.c2;FREE(FLD1(x80,2),1);FLD1(x80,2)=__ASeq_6;
	 }else{
	  DCPRD(x66,1);PRD1(2,x80);FLD1(x80,1)=x71.c2;FLD1(x80,2)=__ASeq_6;}
	 PRD1(2,r);FLD1(r,1)=x71.c1;FLD1(r,2)=x80;}
       }else{
	{OBJ x81;OBJ x82;
	 x81=_APCommon_9(x75);
	 x82=_APCommon_10(x81,__ASeq_6,__ASeq_6,x71.c2);
	 if(EXPRD(x66,1)){
	  RSOME(x66,r);FRPRD(FLD1(r,1),1);FLD1(r,1)=x71.c1;FREE(FLD1(r,2),1);
	 }else{
	  DCPRD(x66,1);PRD1(2,r);FLD1(r,1)=x71.c1;}
	 FLD1(r,2)=_ASeq_51(x82,__ASeq_6);}}}}}}}}
 return r;}

extern TUP2 _APCommon_5(OBJ x1,OBJ x2) /* split */
{TUP2 r;
 CPCLS(__APCommon_51,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_51,1))(__APCommon_51,x1);
  r=_ASeqFilter_8(x3,x2);}
 return r;}
extern OBJ _APCommon_5_c(OBJ x1,OBJ x2) /* split */
{OBJ r;
 {TUP2 t=_APCommon_5(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _APCommon_6(OBJ x1) /* first */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__APCommon_60,1);
  r=__APCommon_60;
 }else{
  {OBJ x10=FLD1(x1,1);
   if(EXPRD(x1,1)){
    r=x10;
    FREE(FLD1(x1,2),1);DSPRDF(x1);
   }else{
    CPPRD(x10,1);
    r=x10;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APCommon_7(OBJ x1) /* rest */
{OBJ r;
 if(ISPRM(x1)){
  r=__ASeq_6;
 }else{
  {OBJ x11=FLD1(x1,2);
   if(EXPRD(x1,1)){
    r=x11;
    FRPRD(FLD1(x1,1),1);DSPRDF(x1);
   }else{
    COPY(x11,1);
    r=x11;
    FRPRD(x1,1);}}}
 return r;}

extern TUP2 _APCommon_8(register OBJ x1,register OBJ x2) /* splitHeader */
{TUP2 r;
 for(;;){
  CPCLS(__APCommon_47,1);
  CPCLS(__APCommon_48,1);
  COPY(x1,1);
  {OBJ x3;OBJ x4;TUP2 x6;OBJ x10;
   x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_47,1))(__APCommon_47,x1);
   x4=_ADEBUG_2(__APCommon_41,x3,x1);
   x6=_ASeqFilter_8(__APCommon_48,x2);
   if(ISPRM(x6.c2)){
    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
   }else{
    {OBJ x8=FLD1(x6.c2,1);
     CPPRD(x8,1);
     x10=x8;}}
   {OBJ x11=FLD1(x10,1);
    {OBJ x14;OBJ x15;OBJ x16;
     x14=x11;
     ANat_76(x14,__ATerminal_52,x15);
     if(ISTGPRM(x15,1)){
      x16=__ABUILTIN_5;
     }else{
      ANat_76(x14,__ATerminal_108,x16);}
     if(ISTGPRM(x16,1)){
      COPY(x6.c1,1);
      {OBJ x17;
       x17=_ASeq_38(x6.c1);
       {OBJ x18=FLD1(x17,1);
	if(EXPRD(x17,1)){
	 DSPRD(x17);
	}else{
	 FRPRD(x17,1);}
	{OBJ x21;OBJ x22;
	 x21=x18;
	 ANat_76(x21,__ATerminal_94,x22);
	 if(ISTGPRM(x22,1)){
	  {OBJ x25;OBJ x26;OBJ x27;
	   if(ISPRM(x6.c2)){
	    HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
	   }else{
	    {OBJ x24=FLD1(x6.c2,2);
	     if(EXPRD(x6.c2,1)){
	      x25=x24;
	      FRPRD(FLD1(x6.c2,1),1);DSPRDF(x6.c2);
	     }else{
	      COPY(x24,1);
	      x25=x24;
	      FRPRD(x6.c2,1);}}}
	   x26=_ASeq_23(x6.c1,x10);
	   x27=_ASeq_26(x4,x26);
	   x1=x27;x2=x25;continue;}
	 }else{
	  r.c2=x6.c2;
	  if(EXPRD(x10,1)){
	   DSPRD(x10);
	  }else{
	   DCPRD(x10,1);}
	  r.c1=_ASeq_26(x4,x6.c1);}}}}
     }else{
      r.c2=x6.c2;
      if(EXPRD(x10,1)){
       DSPRD(x10);
      }else{
       DCPRD(x10,1);}
      r.c1=_ASeq_26(x4,x6.c1);}}}}
  break;}
 return r;}
extern OBJ _APCommon_8_c(OBJ x1,OBJ x2) /* splitHeader */
{OBJ r;
 {TUP2 t=_APCommon_8(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _APCommon_9(OBJ x1) /* whichBS? */
{OBJ r;
 CPCLS(__APCommon_50,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_50,1))(__APCommon_50,x1);
  x3=_ADEBUG_2(__APCommon_41,x2,x1);
  {OBJ x4=FLD1(x3,1);
   if(EXPRD(x3,1)){
    DSPRD(x3);
   }else{
    FRPRD(x3,1);}
   {OBJ x7;OBJ x8;OBJ x15;
    x7=x4;
    ANat_76(x7,__ATerminal_132,x8);
    if(ISTGPRM(x8,1)){
     x15=__ABUILTIN_5;
    }else{
     {OBJ x9;
      ANat_76(x7,__ATerminal_52,x9);
      if(ISTGPRM(x9,1)){
       x15=__ABUILTIN_5;
      }else{
       {OBJ x10;
	ANat_76(x7,__ATerminal_20,x10);
	if(ISTGPRM(x10,1)){
	 x15=__ABUILTIN_5;
	}else{
	 {OBJ x11;
	  ANat_76(x7,__ATerminal_16,x11);
	  if(ISTGPRM(x11,1)){
	   x15=__ABUILTIN_5;
	  }else{
	   {OBJ x12;
	    ANat_76(x7,__ATerminal_14,x12);
	    if(ISTGPRM(x12,1)){
	     x15=__ABUILTIN_5;
	    }else{
	     {OBJ x13;
	      ANat_76(x7,__ATerminal_12,x13);
	      if(ISTGPRM(x13,1)){
	       x15=__ABUILTIN_5;
	      }else{
	       {OBJ x14;
		ANat_76(x7,__ATerminal_10,x14);
		if(ISTGPRM(x14,1)){
		 x15=__ABUILTIN_5;
		}else{
		 ANat_76(x7,__ATerminal_8,x15);}}}}}}}}}}}}}
    if(ISTGPRM(x15,1)){
     CPPRD(__APCommon_16,1);
     r=__APCommon_16;
    }else{
     {OBJ x16;OBJ x18;
      ANat_76(x7,__ATerminal_120,x16);
      if(ISTGPRM(x16,1)){
       x18=__ABUILTIN_5;
      }else{
       {OBJ x17;
	ANat_76(x7,__ATerminal_22,x17);
	if(ISTGPRM(x17,1)){
	 x18=__ABUILTIN_5;
	}else{
	 ANat_76(x7,__ATerminal_24,x18);}}}
      if(ISTGPRM(x18,1)){
       CPPRD(__APCommon_17,1);
       r=__APCommon_17;
      }else{
       {OBJ x19;
	ANat_76(x7,__ATerminal_88,x19);
	if(ISTGPRM(x19,1)){
	 CPPRD(__APCommon_22,1);
	 r=__APCommon_22;
	}else{
	 CPPRD(__APCommon_15,1);
	 r=__APCommon_15;}}}}}}}}
 return r;}

extern OBJ _APCommon_10(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* prepTS */
{OBJ r;
 for(;;){
  if(ISPRM(x4)){
   FRPRD(x1,1);
   {
    PRD1(2,r);FLD1(r,2)=x2;
    FLD1(r,1)=_ASeq_51(x3,__ASeq_6);}
  }else{
   {OBJ x510=FLD1(x4,1);OBJ x511=FLD1(x4,2);FLAG x_x4=EXPRD(x4,1);
    if(x_x4){
    }else{
     CPPRD(x510,1);COPY(x511,1);}
    if(ISPRM(x511)){
     FRPRD(x1,1);
     {OBJ x512;
      if(x_x4){
       RSOME(x4,x512);FLD1(x512,2)=x3;
      }else{
       FRPRD(x4,1);PRD1(2,x512);FLD1(x512,1)=x510;FLD1(x512,2)=x3;}
      PRD1(2,r);FLD1(r,2)=x2;
      FLD1(r,1)=_ASeq_51(x512,__ASeq_6);}
    }else{
     {OBJ x514=FLD1(x511,1);
      CPPRD(x514,1);
      {OBJ x519;OBJ x516;
       if(ISPRM(x3)){
	CPPRD(x1,1);
	x519=__ABUILTIN_5;
       }else{
	CPPRD(x1,1);
	x519=__ABUILTIN_3;}
       ABitset_21(__APCommon_30,x1,x516);
       {OBJ x520=FLD1(x510,1);OBJ x522=FLD1(x510,3);
	COPY(x522,1);
	{OBJ x526;OBJ x527;OBJ x528;
	 if(ISTGPRM(x519,1)){
	  x526=x522;
	  CPPRD(x510,1);
	  COPY(x526,1);
	  CPCLS(__APCommon_56,1);
	 }else{
	  {OBJ x525;
	   if(ISPRM(x3)){
	    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	   }else{
	    {OBJ x523=FLD1(x3,1);
	     CPPRD(x523,1);
	     x525=x523;
	     CPPRD(x510,1);
	     CPCLS(__APCommon_56,1);}}
	   x526=_APErr_17(x525);}}
	 x527=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_56,1))(__APCommon_56,x510);
	 x528=_ADEBUG_2(__APCommon_41,x527,x510);
	 if(ISTGPRM(x516,1)){
	  FRPRD(x514,1);
	  FREE(x522,1);
	  COPY(__APCommon_45,1);
	  CPCLS(__ATerminal_141,1);
	  {OBJ x529;
	   x529=_ASet_44(__ATerminal_141,x520,__APCommon_45);
	   if(ISTGPRM(x529,1)){
	    FRPRD(x1,1);
	    CPCLS(__APCommon_57,1);
	    {OBJ x531;TUP2 x532;
	     if(x_x4){
	      RSOME(x4,x531);FLD1(x531,1)=x528;FLD1(x531,2)=x3;
	     }else{
	      FRPRD(x4,1);PRD1(2,x531);FLD1(x531,1)=x528;FLD1(x531,2)=x3;}
	     x532=_ASeqFilter_8(__APCommon_57,x511);
	     if(ISPRM(x532.c2)){
	      HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
	     }else{
	      {OBJ x534=FLD1(x532.c2,1);OBJ x535=FLD1(x532.c2,2);
	       CPPRD(x534,2);COPY(x535,1);
	       CPCLS(__APCommon_59,1);
	       {OBJ x537;OBJ x538;OBJ x539;OBJ x540;OBJ x544;OBJ x541;OBJ x545;OBJ x553;OBJ x546;OBJ x554;OBJ x555;OBJ x556;
		x537=_APCommon_9(x534);
		PRD1(2,x538);FLD1(x538,1)=x534;FLD1(x538,2)=__ASeq_6;
		x539=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_59,1))(__APCommon_59,x532.c2);
		x540=_ADEBUG_2(__APCommon_41,x539,x532.c1);
		if(ISPRM(x540)){
		 CPPRD(__APCommon_11,1);
		 x544=__ABUILTIN_5;
		}else{
		 CPPRD(x540,1);
		 CPPRD(__APCommon_11,1);
		 x544=__ABUILTIN_3;}
		x541=_ASeq_51(x540,__ASeq_6);
		PRD1(2,x545);FLD1(x545,1)=__APCommon_11;FLD1(x545,2)=x541;
		if(ISTGPRM(x544,1)){
		 x553=x526;
		 FREE(x540,1);
		}else{
		 FREE(x526,1);
		 {OBJ x549;
		  if(ISPRM(x540)){
		   HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
		  }else{
		   {OBJ x547=FLD1(x540,1);
		    if(EXPRD(x540,1)){
		     x549=x547;
		     FREE(FLD1(x540,2),1);DSPRDF(x540);
		    }else{
		     CPPRD(x547,1);
		     x549=x547;
		     FRPRD(x540,1);}}}
		  {OBJ x552=FLD1(x549,3);
		   if(EXPRD(x549,1)){
		    x553=x552;
		    FRPRD(FLD1(x549,2),1);DSPRDF(x549);
		   }else{
		    COPY(x552,1);
		    x553=x552;
		    FRPRD(x549,1);}}}}
		x546=_ASeq_26(x545,x531);
		x554=_APCommon_39(x546,x553);
		x555=_ASeq_51(x554,__ASeq_6);
		PRD1(2,x556);FLD1(x556,1)=x555;FLD1(x556,2)=x2;
		x1=x537;x2=x556;x3=x538;x4=x535;continue;}}}}
	   }else{
	    {OBJ x557;
	     ANat_76(x520,__ATerminal_88,x557);
	     if(ISTGPRM(x557,1)){
	      FRPRD(x1,1);
	      CPPRD(x528,1);
	      CPPRD(__APCommon_11,1);
	      {OBJ x558;OBJ x559;OBJ x560;OBJ x561;OBJ x562;OBJ x563;
	       if(x_x4){
		RSOME(x4,x558);FLD1(x558,1)=__APCommon_11;FLD1(x558,2)=x3;
	       }else{
		FRPRD(x4,1);PRD1(2,x558);FLD1(x558,1)=__APCommon_11;FLD1(x558,2)=x3;}
	       x559=_APCommon_39(x558,x526);
	       x560=_ASeq_51(x559,__ASeq_6);
	       PRD1(2,x561);FLD1(x561,1)=x528;FLD1(x561,2)=__ASeq_6;
	       PRD1(2,x562);FLD1(x562,1)=x560;FLD1(x562,2)=x2;
	       x563=_APCommon_9(x528);
	       x1=x563;x2=x562;x3=x561;x4=x511;continue;}
	     }else{
	      FREE(x526,1);
	      {OBJ x564;
	       if(x_x4){
		RSOME(x4,x564);FLD1(x564,1)=x528;FLD1(x564,2)=x3;
	       }else{
		FRPRD(x4,1);PRD1(2,x564);FLD1(x564,1)=x528;FLD1(x564,2)=x3;}
	       x3=x564;x4=x511;continue;}}}}}
	 }else{
	  COPY(__APCommon_46,1);
	  CPCLS(__ATerminal_141,1);
	  {OBJ x565;
	   x565=_ASet_44(__ATerminal_141,x520,__APCommon_46);
	   if(ISTGPRM(x565,1)){
	    FRPRD(x514,1);
	    FREE(x522,1);
	    {OBJ x566;OBJ x567;OBJ x568;OBJ x569;
	     ANat_76(x520,__ATerminal_52,x566);
	     if(ISTGPRM(x566,1)){
	      x567=__ABUILTIN_5;
	     }else{
	      ANat_76(x520,__ATerminal_20,x567);}
	     if(ISTGPRM(x567,1)){
	      x568=__ABUILTIN_5;
	     }else{
	      ANat_76(x520,__ATerminal_108,x568);}
	     if(ISTGPRM(x568,1)){
	      if(ISTGPRM(x519,1)){
	       x569=__ABUILTIN_3;
	      }else{
	       x569=__ABUILTIN_5;}
	     }else{
	      x569=__ABUILTIN_3;}
	     if(ISTGPRM(x569,1)){
	      {OBJ x572;
	       if(ISPRM(x3)){
		HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	       }else{
		{OBJ x570=FLD1(x3,1);
		 CPPRD(x570,1);
		 x572=x570;}}
	       {OBJ x573=FLD1(x572,1);
		if(EXPRD(x572,1)){
		 DSPRD(x572);
		}else{
		 FRPRD(x572,1);}
		{OBJ x576;
		 ANat_76(x573,__ATerminal_94,x576);
		 if(ISTGPRM(x576,1)){
		  FREE(x526,1);
		  {OBJ x577;
		   if(x_x4){
		    RSOME(x4,x577);FLD1(x577,1)=x528;FLD1(x577,2)=x3;
		   }else{
		    FRPRD(x4,1);PRD1(2,x577);FLD1(x577,1)=x528;FLD1(x577,2)=x3;}
		   x3=x577;x4=x511;continue;}
		 }else{
		  FRPRD(x1,1);
		  CPPRD(x528,1);
		  CPPRD(__APCommon_11,1);
		  {OBJ x578;OBJ x579;OBJ x580;OBJ x581;OBJ x582;OBJ x583;
		   if(x_x4){
		    RSOME(x4,x578);FLD1(x578,1)=__APCommon_11;FLD1(x578,2)=x3;
		   }else{
		    FRPRD(x4,1);PRD1(2,x578);FLD1(x578,1)=__APCommon_11;FLD1(x578,2)=x3;}
		   x579=_APCommon_39(x578,x526);
		   x580=_ASeq_51(x579,__ASeq_6);
		   PRD1(2,x581);FLD1(x581,1)=x528;FLD1(x581,2)=__ASeq_6;
		   PRD1(2,x582);FLD1(x582,1)=x580;FLD1(x582,2)=x2;
		   x583=_APCommon_9(x528);
		   x1=x583;x2=x582;x3=x581;x4=x511;continue;}}}}}
	     }else{
	      FRPRD(x1,1);
	      CPPRD(x528,1);
	      CPPRD(__APCommon_11,1);
	      {OBJ x584;OBJ x585;OBJ x586;OBJ x587;OBJ x588;OBJ x589;
	       if(x_x4){
		RSOME(x4,x584);FLD1(x584,1)=__APCommon_11;FLD1(x584,2)=x3;
	       }else{
		FRPRD(x4,1);PRD1(2,x584);FLD1(x584,1)=__APCommon_11;FLD1(x584,2)=x3;}
	       x585=_APCommon_39(x584,x526);
	       x586=_ASeq_51(x585,__ASeq_6);
	       PRD1(2,x587);FLD1(x587,1)=x528;FLD1(x587,2)=__ASeq_6;
	       PRD1(2,x588);FLD1(x588,1)=x586;FLD1(x588,2)=x2;
	       x589=_APCommon_9(x528);
	       x1=x589;x2=x588;x3=x587;x4=x511;continue;}}}
	   }else{
	    CPPRD(x1,1);
	    {OBJ x590;
	     ABitset_21(__APCommon_25,x1,x590);
	     if(ISTGPRM(x590,1)){
	      FRPRD(x514,1);
	      FREE(x522,1);
	      FREE(x526,1);
	      {OBJ x591;OBJ x592;
	       ANat_76(x520,__ATerminal_136,x591);
	       if(x_x4){
		RSOME(x4,x592);FLD1(x592,1)=x528;FLD1(x592,2)=x3;
	       }else{
		FRPRD(x4,1);PRD1(2,x592);FLD1(x592,1)=x528;FLD1(x592,2)=x3;}
	       if(ISTGPRM(x591,1)){
		FRPRD(x1,1);
		CPPRD(__APCommon_19,1);
		x1=__APCommon_19;x3=x592;x4=x511;continue;
	       }else{
		{OBJ x593;
		 ANat_76(x520,__ATerminal_114,x593);
		 if(ISTGPRM(x593,1)){
		  FRPRD(x1,1);
		  CPPRD(__APCommon_18,1);
		  x1=__APCommon_18;x3=x592;x4=x511;continue;
		 }else{
		  x3=x592;x4=x511;continue;}}}}
	     }else{
	      CPPRD(x1,1);
	      {OBJ x594;
	       ABitset_21(__APCommon_26,x1,x594);
	       if(ISTGPRM(x594,1)){
		FRPRD(x514,1);
		FREE(x522,1);
		FREE(x526,1);
		{OBJ x595;OBJ x596;
		 ANat_76(x520,__ATerminal_114,x595);
		 if(ISTGPRM(x595,1)){
		  x596=__ABUILTIN_5;
		 }else{
		  ANat_76(x520,__ATerminal_136,x596);}
		 if(ISTGPRM(x596,1)){
		  FRPRD(x1,1);
		  {TUP2 x598;OBJ x603;OBJ x600;
		   x598=_APCommon_13(x3);
		   if(ISPRM(x598.c2)){
		    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
		   }else{
		    {OBJ x601=FLD1(x598.c2,1);
		     CPPRD(x601,1);
		     x603=x601;
		     CPPRD(__APCommon_11,1);}}
		   if(x_x4){
		    RSOME(x4,x600);FLD1(x600,1)=__APCommon_11;FLD1(x600,2)=x598.c2;
		   }else{
		    FRPRD(x4,1);PRD1(2,x600);FLD1(x600,1)=__APCommon_11;FLD1(x600,2)=x598.c2;}
		   {OBJ x606=FLD1(x603,3);FLAG x_x603=EXPRD(x603,1);
		    if(x_x603){
		     COPY(x606,1);
		    }else{
		     COPY(x606,2);}
		    CPPRD(__ARep_45,1);
		    {OBJ x607;OBJ x608;OBJ x609;OBJ x610;OBJ x611;OBJ x612;
		     if(x_x603){
		      RSOME(x603,x607);FLD1(x607,1)=__ATerminal_120;FRPRD(FLD1(x607,2),1);FLD1(x607,2)=__ARep_45;
		     }else{
		      FRPRD(x603,1);PRD1(3,x607);FLD1(x607,1)=__ATerminal_120;FLD1(x607,2)=__ARep_45;FLD1(x607,3)=x606;}
		     x608=_ASeq_23(x598.c1,x607);
		     x609=_APCommon_39(x600,x606);
		     x610=_ASeq_51(x609,__ASeq_6);
		     PRD1(2,x611);FLD1(x611,1)=x528;FLD1(x611,2)=x608;
		     PRD1(2,x612);FLD1(x612,1)=x610;FLD1(x612,2)=x2;
		     if(ISTGPRM(x595,1)){
		      CPPRD(__APCommon_18,1);
		      x1=__APCommon_18;x2=x612;x3=x611;x4=x511;continue;
		     }else{
		      {OBJ x613;
		       ANat_76(x520,__ATerminal_136,x613);
		       if(ISTGPRM(x613,1)){
			CPPRD(__APCommon_19,1);
			x1=__APCommon_19;x2=x612;x3=x611;x4=x511;continue;
		       }else{
			HLT("PCommon at <146,23-147,74> : missing else in prepTS\'PCommon:set**seq**seq**seq->seq");}}}}}}
		 }else{
		  {OBJ x614;
		   if(x_x4){
		    RSOME(x4,x614);FLD1(x614,1)=x528;FLD1(x614,2)=x3;
		   }else{
		    FRPRD(x4,1);PRD1(2,x614);FLD1(x614,1)=x528;FLD1(x614,2)=x3;}
		   x3=x614;x4=x511;continue;}}}
	       }else{
		CPPRD(x1,1);
		{OBJ x615;
		 ABitset_21(__APCommon_27,x1,x615);
		 if(ISTGPRM(x615,1)){
		  FRPRD(x1,1);
		  FREE(x522,1);
		  CPPRD(__APCommon_11,1);
		  {OBJ x616;
		   if(x_x4){
		    RSOME(x4,x616);FLD1(x616,1)=__APCommon_11;FLD1(x616,2)=x3;
		   }else{
		    FRPRD(x4,1);PRD1(2,x616);FLD1(x616,1)=__APCommon_11;FLD1(x616,2)=x3;}
		   {OBJ x619=FLD1(x514,3);
		    COPY(x619,1);
		    CPPRD(__APCommon_17,1);
		    CPPRD(__ARep_45,1);
		    {OBJ x620;OBJ x621;OBJ x622;OBJ x623;OBJ x624;OBJ x625;
		     if(EXPRD(x514,1)){
		      RSOME(x514,x620);FLD1(x620,1)=__ATerminal_120;FRPRD(FLD1(x620,2),1);FLD1(x620,2)=__ARep_45;FREE(FLD1(x620,3),1);
		     }else{
		      DCPRD(x514,1);PRD1(3,x620);FLD1(x620,1)=__ATerminal_120;FLD1(x620,2)=__ARep_45;FLD1(x620,3)=x619;}
		     x621=_APCommon_39(x616,x526);
		     PRD1(2,x622);FLD1(x622,1)=x620;FLD1(x622,2)=__ASeq_6;
		     x623=_ASeq_51(x621,__ASeq_6);
		     PRD1(2,x624);FLD1(x624,1)=x528;FLD1(x624,2)=x622;
		     PRD1(2,x625);FLD1(x625,1)=x623;FLD1(x625,2)=x2;
		     x1=__APCommon_17;x2=x625;x3=x624;x4=x511;continue;}}}
		 }else{
		  FRPRD(x514,1);
		  FREE(x526,1);
		  CPPRD(x1,1);
		  {OBJ x626;
		   ABitset_21(__APCommon_24,x1,x626);
		   if(ISTGPRM(x626,1)){
		    FREE(x522,1);
		    {OBJ x627;OBJ x628;OBJ x629;
		     ANat_76(x520,__ATerminal_116,x627);
		     if(ISTGPRM(x627,1)){
		      x628=__ABUILTIN_5;
		     }else{
		      ANat_76(x520,__ATerminal_102,x628);}
		     if(x_x4){
		      RSOME(x4,x629);FLD1(x629,1)=x528;FLD1(x629,2)=x3;
		     }else{
		      FRPRD(x4,1);PRD1(2,x629);FLD1(x629,1)=x528;FLD1(x629,2)=x3;}
		     if(ISTGPRM(x628,1)){
		      FRPRD(x1,1);
		      CPPRD(__APCommon_20,1);
		      x1=__APCommon_20;x3=x629;x4=x511;continue;
		     }else{
		      x3=x629;x4=x511;continue;}}
		   }else{
		    CPPRD(x1,1);
		    {OBJ x630;
		     ABitset_21(__APCommon_28,x1,x630);
		     if(ISTGPRM(x630,1)){
		      FREE(x522,1);
		      {OBJ x631;OBJ x632;
		       ANat_76(x520,__ATerminal_100,x631);
		       if(x_x4){
			RSOME(x4,x632);FLD1(x632,1)=x528;FLD1(x632,2)=x3;
		       }else{
			FRPRD(x4,1);PRD1(2,x632);FLD1(x632,1)=x528;FLD1(x632,2)=x3;}
		       if(ISTGPRM(x631,1)){
			FRPRD(x1,1);
			CPPRD(__APCommon_21,1);
			x1=__APCommon_21;x3=x632;x4=x511;continue;
		       }else{
			x3=x632;x4=x511;continue;}}
		     }else{
		      CPPRD(x1,1);
		      {OBJ x633;
		       ABitset_21(__APCommon_29,x1,x633);
		       if(ISTGPRM(x633,1)){
			{OBJ x634;OBJ x635;
			 ANat_76(x520,__ATerminal_116,x634);
			 if(ISTGPRM(x634,1)){
			  x635=__ABUILTIN_5;
			 }else{
			  ANat_76(x520,__ATerminal_102,x635);}
			 if(ISTGPRM(x635,1)){
			  FRPRD(x1,1);
			  FREE(x522,1);
			  CPPRD(__APCommon_20,1);
			  {OBJ x636;
			   if(x_x4){
			    RSOME(x4,x636);FLD1(x636,1)=x528;FLD1(x636,2)=x3;
			   }else{
			    FRPRD(x4,1);PRD1(2,x636);FLD1(x636,1)=x528;FLD1(x636,2)=x3;}
			   x1=__APCommon_20;x3=x636;x4=x511;continue;}
			 }else{
			  {OBJ x637;
			   ANat_76(x520,__ATerminal_100,x637);
			   if(ISTGPRM(x637,1)){
			    FRPRD(x1,1);
			    {TUP2 x639;OBJ x643;OBJ x650;OBJ x651;OBJ x652;OBJ x653;OBJ x654;
			     x639=_APCommon_12(x3);
			     if(ISPRM(x639.c2)){
			      x643=__ABUILTIN_5;
			     }else{
			      x643=__ABUILTIN_3;}
			     if(ISTGPRM(x643,1)){
			      x650=x522;
			      CPPRD(__APCommon_21,1);
			      CPPRD(__ARep_13,1);
			     }else{
			      FREE(x522,1);
			      {OBJ x646;
			       if(ISPRM(x639.c2)){
				HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
			       }else{
				{OBJ x644=FLD1(x639.c2,1);
				 CPPRD(x644,1);
				 x646=x644;}}
			       {OBJ x649=FLD1(x646,3);
				if(EXPRD(x646,1)){
				 x650=x649;
				 FRPRD(FLD1(x646,2),1);DSPRDF(x646);
				}else{
				 COPY(x649,1);
				 x650=x649;
				 FRPRD(x646,1);}
				CPPRD(__APCommon_21,1);
				CPPRD(__ARep_13,1);}}}
			     PRD1(3,x651);FLD1(x651,1)=__ATerminal_2;FLD1(x651,2)=__ARep_13;FLD1(x651,3)=x650;
			     if(x_x4){
			      RSOME(x4,x652);FLD1(x652,1)=x651;FLD1(x652,2)=x639.c2;
			     }else{
			      FRPRD(x4,1);PRD1(2,x652);FLD1(x652,1)=x651;FLD1(x652,2)=x639.c2;}
			     x653=_ASeq_26(x639.c1,x652);
			     PRD1(2,x654);FLD1(x654,1)=x528;FLD1(x654,2)=x653;
			     x1=__APCommon_21;x3=x654;x4=x511;continue;}
			   }else{
			    FREE(x522,1);
			    {OBJ x655;
			     if(x_x4){
			      RSOME(x4,x655);FLD1(x655,1)=x528;FLD1(x655,2)=x3;
			     }else{
			      FRPRD(x4,1);PRD1(2,x655);FLD1(x655,1)=x528;FLD1(x655,2)=x3;}
			     x3=x655;x4=x511;continue;}}}}}
		       }else{
			FREE(x522,1);
			{OBJ x656;
			 if(x_x4){
			  RSOME(x4,x656);FLD1(x656,1)=x528;FLD1(x656,2)=x3;
			 }else{
			  FRPRD(x4,1);PRD1(2,x656);FLD1(x656,1)=x528;FLD1(x656,2)=x3;}
			 x3=x656;x4=x511;continue;}}}}}}}}}}}}}}}}}}}}}}}
  break;}
 return r;}

extern TUP2 _APCommon_12(OBJ x1) /* splitLhs */
{TUP2 r;
 if(ISPRM(x1)){
  HLT("PCommon at <198,5-12> : missing else in splitLhs\'PCommon:seq->seq**seq");
 }else{
  {OBJ x36=FLD1(x1,1);
   CPPRD(x36,1);
   {OBJ x38=FLD1(x36,1);
    if(EXPRD(x36,1)){
     DSPRD(x36);
    }else{
     DCPRD(x36,1);}
    {OBJ x41;
     ANat_76(x38,__ATerminal_82,x41);
     if(ISTGPRM(x41,1)){
      CPCLS(__APCommon_54,1);
      {OBJ x42;TUP2 x44;
       x42=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_54,1))(__APCommon_54,__ABUILTIN_20);
       x44=_ASeqFilter_8(x42,x1);
       if(ISPRM(x44.c2)){
	r.c1=x44.c1;
	r.c2=__ASeq_6;
       }else{
	{OBJ x46=FLD1(x44.c2,1);OBJ x47=FLD1(x44.c2,2);
	 if(EXPRD(x44.c2,1)){
	  r.c2=x47;
	  DSPRDF(x44.c2);
	 }else{
	  CPPRD(x46,1);COPY(x47,1);
	  r.c2=x47;
	  FRPRD(x44.c2,1);}
	 r.c1=_ASeq_23(x44.c1,x46);}}}
     }else{
      r=_APCommon_13(x1);}}}}}
 return r;}
extern OBJ _APCommon_12_c(OBJ x1) /* splitLhs */
{OBJ r;
 {TUP2 t=_APCommon_12(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _APCommon_13(OBJ x1) /* splitName */
{TUP2 r;
 if(ISPRM(x1)){
  r.c1=__ASeq_6;r.c2=__ASeq_6;
 }else{
  {OBJ x146=FLD1(x1,1);OBJ x147=FLD1(x1,2);
   CPPRD(x146,1);COPY(x147,1);
   {OBJ x149=FLD1(x146,1);
    {OBJ x154;OBJ x155;
     if(ISPRM(x147)){
      x154=__ABUILTIN_3;
     }else{
      x154=__ABUILTIN_5;}
     ANat_76(x149,__ATerminal_72,x155);
     if(ISTGPRM(x154,1)){
      if(ISPRM(x147)){
       HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
      }else{
       {OBJ x156=FLD1(x147,1);OBJ x157=FLD1(x147,2);
	CPPRD(x156,1);COPY(x157,1);
	if(ISTGPRM(x155,1)){
	 if(EXPRD(x1,1)){
	  DSPRD(x1);
	 }else{
	  DCPRD(x1,1);}
	 {OBJ x159=FLD1(x156,1);
	  {OBJ x162;OBJ x163;OBJ x165;
	   ANat_76(x159,__ATerminal_98,x162);
	   if(ISTGPRM(x162,1)){
	    x163=__ABUILTIN_5;
	   }else{
	    ANat_76(x159,__ATerminal_96,x163);}
	   if(ISTGPRM(x163,1)){
	    x165=__ABUILTIN_5;
	   }else{
	    {OBJ x164;
	     ANat_76(x159,__ATerminal_78,x164);
	     if(ISTGPRM(x164,1)){
	      x165=__ABUILTIN_5;
	     }else{
	      ANat_76(x159,__ATerminal_94,x165);}}}
	   if(ISTGPRM(x165,1)){
	    {TUP2 x167;OBJ x169;
	     x167=_APCommon_13(x157);r.c2=x167.c2;
	     if(EXPRD(x147,1)){
	      RSOME(x147,x169);FRPRD(FLD1(x169,1),1);FREE(FLD1(x169,2),1);FLD1(x169,2)=x167.c1;
	     }else{
	      DCPRD(x147,1);PRD1(2,x169);FLD1(x169,1)=x156;FLD1(x169,2)=x167.c1;}
	     PRD1(2,r.c1);FLD1(r.c1,1)=x146;FLD1(r.c1,2)=x169;}
	   }else{
	    if(EXPRD(x147,1)){
	     RSOME(x147,r.c1);FRPRD(FLD1(r.c1,1),1);FLD1(r.c1,1)=x146;FREE(FLD1(r.c1,2),1);FLD1(r.c1,2)=__ASeq_6;
	    }else{
	     DCPRD(x147,1);PRD1(2,r.c1);FLD1(r.c1,1)=x146;FLD1(r.c1,2)=__ASeq_6;}
	    PRD1(2,r.c2);FLD1(r.c2,1)=x156;FLD1(r.c2,2)=x157;}}}
	}else{
	 {OBJ x173;
	  ANat_76(x149,__ATerminal_108,x173);
	  if(ISTGPRM(x173,1)){
	   if(EXPRD(x1,1)){
	    DSPRD(x1);
	   }else{
	    DCPRD(x1,1);}
	   {TUP2 x175;OBJ x177;
	    x175=_APCommon_13(x157);r.c2=x175.c2;
	    if(EXPRD(x147,1)){
	     RSOME(x147,x177);FRPRD(FLD1(x177,1),1);FREE(FLD1(x177,2),1);FLD1(x177,2)=x175.c1;
	    }else{
	     DCPRD(x147,1);PRD1(2,x177);FLD1(x177,1)=x156;FLD1(x177,2)=x175.c1;}
	    PRD1(2,r.c1);FLD1(r.c1,1)=x146;FLD1(r.c1,2)=x177;}
	  }else{
	   {OBJ x179;
	    ANat_76(x149,__ATerminal_74,x179);
	    if(ISTGPRM(x179,1)){
	     if(EXPRD(x1,1)){
	      DSPRD(x1);
	     }else{
	      DCPRD(x1,1);}
	     {OBJ x180;OBJ x181;TUP2 x183;TUP2 x186;
	      if(EXPRD(x147,1)){
	       RSOME(x147,x180);FRPRD(FLD1(x180,1),1);FLD1(x180,1)=x146;FREE(FLD1(x180,2),1);FLD1(x180,2)=__ASeq_6;
	      }else{
	       DCPRD(x147,1);PRD1(2,x180);FLD1(x180,1)=x146;FLD1(x180,2)=__ASeq_6;}
	      PRD1(2,x181);FLD1(x181,1)=x156;FLD1(x181,2)=x157;
	      x183=_APCommon_14(x180,x181,__ANat_8);
	      x186=_APCommon_13(x183.c2);r.c2=x186.c2;
	      r.c1=_ASeq_26(x183.c1,x186.c1);}
	    }else{
	     if(EXPRD(x147,1)){
	      DSPRD(x147);
	     }else{
	      DCPRD(x147,1);}
	     if(EXPRD(x146,1)){
	      DSPRD(x146);
	     }else{
	      DCPRD(x146,1);}
	     FRPRD(x156,1);
	     FREE(x157,1);
	     r.c1=__ASeq_6;r.c2=x1;}}}}}}}
     }else{
      if(ISTGPRM(x155,1)){
       r.c2=x147;
       if(EXPRD(x1,1)){
	DSPRD(x1);
       }else{
	DCPRD(x1,1);}
       PRD1(2,r.c1);FLD1(r.c1,1)=x146;FLD1(r.c1,2)=__ASeq_6;
      }else{
       if(EXPRD(x146,1)){
	DSPRD(x146);
       }else{
	DCPRD(x146,1);}
       FREE(x147,1);
       r.c1=__ASeq_6;r.c2=x1;}}}}}}
 return r;}
extern OBJ _APCommon_13_c(OBJ x1) /* splitName */
{OBJ r;
 {TUP2 t=_APCommon_13(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _APCommon_14(register OBJ x1,register OBJ x2,register OBJ x3) /* splitParams */
{TUP2 r;
 for(;;){
  if(ISPRM(x2)){
   HLT("PCommon at <229,5-15> : missing else in splitParams\'PCommon:seq**seq**nat->seq**seq");
  }else{
   {OBJ x53=FLD1(x2,1);OBJ x54=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
     CPPRD(x53,1);
    }else{
     CPPRD(x53,2);COPY(x54,1);}
    {OBJ x56;
     if(x_x2){
      RSOME(x2,x56);FLD1(x56,2)=x1;
     }else{
      FRPRD(x2,1);PRD1(2,x56);FLD1(x56,1)=x53;FLD1(x56,2)=x1;}
     if(ISPRM(x54)){
      r.c1=x56;
      FRPRD(x53,1);
      r.c2=__ASeq_6;
     }else{
      {OBJ x59=FLD1(x53,1);
       if(EXPRD(x53,1)){
	DSPRD(x53);
       }else{
	FRPRD(x53,1);}
       {OBJ x62;
	ANat_76(x59,__ATerminal_74,x62);
	if(ISTGPRM(x62,1)){
	 {OBJ x63;
	  ANat_61(x3,__ANat_8,x63);
	  x1=x56;x2=x54;x3=x63;continue;}
	}else{
	 {OBJ x64;
	  ANat_76(x59,__ATerminal_76,x64);
	  if(ISTGPRM(x64,1)){
	   {OBJ x65;
	    ANat_76(x3,__ANat_8,x65);
	    if(ISTGPRM(x65,1)){
	     r.c2=x54;
	     r.c1=_ASeq_51(x56,__ASeq_6);
	    }else{
	     {OBJ x67;
	      ANat_62(x3,__ANat_8,x67);
	      x1=x56;x2=x54;x3=x67;continue;}}}
	  }else{
	   {OBJ x68;OBJ x71;
	    ANat_76(x59,__ATerminal_114,x68);
	    if(ISTGPRM(x68,1)){
	     x71=__ABUILTIN_5;
	    }else{
	     {OBJ x69;
	      ANat_76(x59,__ATerminal_136,x69);
	      if(ISTGPRM(x69,1)){
	       x71=__ABUILTIN_5;
	      }else{
	       CPCLS(__APCommon_52,1);
	       CPCLS(__ATerminal_141,1);
	       {OBJ x70;
		x70=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_52,1))(__APCommon_52,__ABUILTIN_20);
		x71=_ASet_44(__ATerminal_141,x59,x70);}}}}
	    if(ISTGPRM(x71,1)){
	     r.c2=x54;
	     r.c1=_ASeq_51(x56,__ASeq_6);
	    }else{
	     x1=x56;x2=x54;continue;}}}}}}}}}}}
  break;}
 return r;}
extern OBJ _APCommon_14_c(OBJ x1,OBJ x2,OBJ x3) /* splitParams */
{OBJ r;
 {TUP2 t=_APCommon_14(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _APCommon_31(OBJ x1) /* body? */
{OBJ r;
 ABitset_21(__APCommon_23,x1,r);
 return r;}

extern OBJ _APCommon_32(OBJ x1) /* def? */
{OBJ r;
 ABitset_21(__APCommon_24,x1,r);
 return r;}

extern OBJ _APCommon_33(OBJ x1) /* imp? */
{OBJ r;
 ABitset_21(__APCommon_25,x1,r);
 return r;}

extern OBJ _APCommon_34(OBJ x1) /* only? */
{OBJ r;
 ABitset_21(__APCommon_26,x1,r);
 return r;}

extern OBJ _APCommon_35(OBJ x1) /* comp? */
{OBJ r;
 ABitset_21(__APCommon_27,x1,r);
 return r;}

extern OBJ _APCommon_36(OBJ x1) /* block? */
{OBJ r;
 ABitset_21(__APCommon_28,x1,r);
 return r;}

extern OBJ _APCommon_37(OBJ x1) /* eq? */
{OBJ r;
 ABitset_21(__APCommon_29,x1,r);
 return r;}

extern OBJ _APCommon_38(OBJ x1) /* prag? */
{OBJ r;
 ABitset_21(__APCommon_30,x1,r);
 return r;}

extern OBJ _APCommon_39(OBJ x1,OBJ x2) /* newPos */
{OBJ r;
 if(ISPRM(x1)){
  FREE(x2,1);
  r=__ASeq_6;
 }else{
  {OBJ x37=FLD1(x1,1);OBJ x38=FLD1(x1,2);
   CPPRD(x37,1);COPY(x38,1);
   {OBJ x39=FLD1(x37,1);OBJ x40=FLD1(x37,2);
    CPPRD(x40,1);
    {OBJ x42;
     ANat_76(x39,__ATerminal_4,x42);
     if(ISTGPRM(x42,1)){
      if(EXPRD(x1,1)){
       DSPRD(x1);
      }else{
       DCPRD(x1,1);}
      {OBJ x43;
       if(EXPRD(x37,1)){
	RSOME(x37,x43);FLD1(x43,1)=__ATerminal_4;FRPRD(FLD1(x43,2),1);FREE(FLD1(x43,3),1);FLD1(x43,3)=x2;
       }else{
	DCPRD(x37,1);PRD1(3,x43);FLD1(x43,1)=__ATerminal_4;FLD1(x43,2)=x40;FLD1(x43,3)=x2;}
       PRD1(2,r);FLD1(r,1)=x43;FLD1(r,2)=x38;}
     }else{
      if(EXPRD(x37,1)){
       DSPRD(x37);
      }else{
       DCPRD(x37,1);}
      FREE(x2,1);
      FREE(x38,1);
      FRPRD(x40,1);
      r=x1;}}}}}
 return r;}

extern OBJ _APCommon_40(OBJ x1,OBJ x2) /* rev */
{OBJ r;
 {OBJ x3;
  x3=_APCommon_39(x1,x2);
  r=_ASeq_51(x3,__ASeq_6);}
 return r;}

extern OBJ _APCommon_47(OBJ x1,OBJ x2) /* splitHeader'47 */
{OBJ r;
 r=_AToken_16(x1);
 return r;}

extern OBJ _APCommon_48(OBJ x1) /* splitHeader'48 */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   FRPRD(x1,1);}
  COPY(__APCommon_46,1);
  CPCLS(__ATerminal_141,1);
  {OBJ x5;OBJ x6;
   x5=x2;
   x6=_ASet_44(__ATerminal_141,x5,__APCommon_46);
   if(ISTGPRM(x6,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _APCommon_50(OBJ x1,OBJ x2) /* whichBS?'50 */
{OBJ r;
 CPPRD(__APCommon_49,1);
 {OBJ x3;
  x3=_AToken_12(x1);
  ADenotation_4(__APCommon_49,x3,r);}
 return r;}

extern OBJ _APCommon_51(OBJ x1,OBJ x2) /* split'51 */
{OBJ r;
 {OBJ x3=FLD1(x2,1);
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   FRPRD(x2,1);}
  CPCLS(__ATerminal_141,1);
  {OBJ x6;OBJ x7;
   x6=x3;
   x7=_ASet_44(__ATerminal_141,x6,x1);
   if(ISTGPRM(x7,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _APCommon_52(OBJ x1) /* splitParams'52 */
{OBJ r;
 COPY(__APCommon_2,1);
 CPCLS(__ATerminal_141,1);
 r=_ASet_40(__ATerminal_141,__ATerminal_108,__APCommon_2);
 return r;}

extern OBJ _APCommon_54(OBJ x1) /* splitLhs'54 */
{OBJ r;
 CPCLS(__APCommon_51,1);
 COPY(__APCommon_53,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APCommon_51,1))(__APCommon_51,__APCommon_53);
 return r;}

extern OBJ _APCommon_56(OBJ x1,OBJ x2) /* prepTS'56 */
{OBJ r;
 CPPRD(__APCommon_55,1);
 {OBJ x3;
  x3=_AToken_12(x1);
  ADenotation_4(__APCommon_55,x3,r);}
 return r;}

extern OBJ _APCommon_57(OBJ x1) /* prepTS'57 */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   FRPRD(x1,1);}
  COPY(__APCommon_46,1);
  CPCLS(__ATerminal_141,1);
  {OBJ x5;OBJ x6;
   x5=x2;
   x6=_ASet_44(__ATerminal_141,x5,__APCommon_46);
   if(ISTGPRM(x6,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _APCommon_59(OBJ x1,OBJ x2) /* prepTS'59 */
{OBJ r;
 CPPRD(__APCommon_58,1);
 {OBJ x3;
  x3=_AToken_16(x1);
  ADenotation_4(__APCommon_58,x3,r);}
 return r;}


static void ___APCommon_2()
{
 COPY(__APCommon_1,1);
 CPCLS(__ATerminal_141,4);
 {OBJ x1;OBJ x2;OBJ x3;
  x1=_ASet_9(__ATerminal_141,__ATerminal_132,__ATerminal_134,__ATerminal_52,__ATerminal_20);
  x2=_ASet_12(__ATerminal_141,__ATerminal_24,__ATerminal_22,__ATerminal_16,__ATerminal_14,__ATerminal_12,__ATerminal_10,__ATerminal_8);
  x3=_ASet_41(__ATerminal_141,x1,x2);
  __APCommon_2=_ASet_41(__ATerminal_141,__APCommon_1,x3);}}

static void ___APCommon_3()
{
 CPCLS(__ATerminal_141,3);
 {OBJ x1;OBJ x2;
  x1=_ASet_11(__ATerminal_141,__ATerminal_38,__ATerminal_36,__ATerminal_116,__ATerminal_118,__ATerminal_102,__ATerminal_92);
  x2=_ASet_10(__ATerminal_141,__ATerminal_124,__ATerminal_106,__ATerminal_112,__ATerminal_130,__ATerminal_128);
  __APCommon_3=_ASet_41(__ATerminal_141,x1,x2);}}



















static void ___APCommon_45()
{
 CPCLS(__ATerminal_141,1);
 {OBJ x1;
  PRD1F(2,x1);FLD1(x1,1)=__ATerminal_86;FLD1(x1,2)=__ASeq_6;
  __APCommon_45=_ASet_39(__ATerminal_141,__ATerminal_4,x1);}}




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

init_APCommon()
{
 static int visited=0; if(visited) return; visited=1;
 init_AToken();
 init_ATerminal();
 init_ASeq();
 init_ASet();
 init_ANat();
 init_AOption();
 init_AOcPos();
 init_AOcOptions();
 init_ARep();
 init_AChar();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AString();
 init_AFile();
 init_AInt();
 init_ARepTab();
 init_APair();
 init_APErr();
 init_AZOpts();
 init_ADenotation();
 init_ABitset();
 init_ASeqMap();
 init_ASeqReduce();
 init_ASeqFilter();
 init_ADEBUG();
 init_AOcError();
 init_AArray();
 init_ALexem();
 CLS(1,_APCommon_31,__APCommon_31);
 DEN("-ztraceSplit",__APCommon_61);
 LCLS(2,_APCommon_59,__APCommon_59);
 DEN("IGN ",__APCommon_58);
 CLS(1,_APCommon_57,__APCommon_57);
 LCLS(2,_APCommon_56,__APCommon_56);
 DEN(" splitBody ",__APCommon_55);
 LCLS(1,_APCommon_54,__APCommon_54);
 LCLS(1,_APCommon_52,__APCommon_52);
 CLS(2,_APCommon_51,__APCommon_51);
 LCLS(2,_APCommon_50,__APCommon_50);
 DEN("whichBS: ",__APCommon_49);
 CLS(1,_APCommon_48,__APCommon_48);
 LCLS(2,_APCommon_47,__APCommon_47);
 CLS(3,_APCommon_14_c,__APCommon_14);
 CLS(1,_APCommon_13_c,__APCommon_13);
 CLS(1,_APCommon_12_c,__APCommon_12);
 CLS(4,_APCommon_10,__APCommon_10);
 CLS(1,_APCommon_9,__APCommon_9);
 CLS(2,_APCommon_8_c,__APCommon_8);
 CLS(2,_APCommon_40,__APCommon_40);
 CLS(1,_APCommon_7,__APCommon_7);
 CLS(2,_APCommon_39,__APCommon_39);
 CLS(1,_APCommon_6,__APCommon_6);
 CLS(1,_APCommon_38,__APCommon_38);
 CLS(2,_APCommon_5_c,__APCommon_5);
 CLS(1,_APCommon_37,__APCommon_37);
 CLS(1,_APCommon_4,__APCommon_4);
 CLS(1,_APCommon_36,__APCommon_36);
 CLS(1,_APCommon_35,__APCommon_35);
 CLS(1,_APCommon_34,__APCommon_34);
 CLS(1,_APCommon_33,__APCommon_33);
 CLS(1,_APCommon_32,__APCommon_32);
 MTH(1,0,2,_mt_1_0_2);LZYMTH(1,0,2,_mt_1_0_2);
 CPCLS(__ATerminal_141,1);
 __APCommon_1=_ASet_10(__ATerminal_141,__ATerminal_108,__ATerminal_126,__ATerminal_120,__ATerminal_88,__ATerminal_104);
 ___APCommon_2();
 ___APCommon_3();
 CPPRD(__ARep_13,1);
 COPY(__APErr_16,1);
 PRD1(3,__APCommon_11);FLD1(__APCommon_11,1)=__ATerminal_4;FLD1(__APCommon_11,2)=__ARep_13;FLD1(__APCommon_11,3)=__APErr_16;
 __APCommon_23=__ANat_8;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_23,__ABitset_2,__APCommon_15);
 __APCommon_24=__ANat_9;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_24,__ABitset_2,__APCommon_16);
 __APCommon_25=__ANat_10;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_25,__ABitset_2,__APCommon_17);
 __APCommon_26=__ANat_12;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_26,__ABitset_2,__APCommon_18);
 __APCommon_27=__ANat_13;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_27,__ABitset_2,__APCommon_19);
 __APCommon_28=__ANat_14;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_28,__ABitset_2,__APCommon_20);
 __APCommon_29=__ANat_15;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_29,__ABitset_2,__APCommon_21);
 __APCommon_30=__ANat_11;
 CPPRD(__ABitset_2,1);
 ABitset_3(__APCommon_30,__ABitset_2,__APCommon_22);
 CPPRD(__APCommon_61,1);
 __APCommon_41=_ADEBUG_10(__APCommon_61);
 ___APCommon_45();
 COPY(__APCommon_2,1);
 CPCLS(__ATerminal_141,1);
 __APCommon_46=_ASet_39(__ATerminal_141,__ATerminal_4,__APCommon_2);
 PRD1F(2,__APCommon_53);FLD1(__APCommon_53,1)=__ATerminal_84;FLD1(__APCommon_53,2)=__ASeq_6;
 CPPRD(__ARep_13,1);
 COPY(__APErr_16,1);
 PRD1(3,__APCommon_60);FLD1(__APCommon_60,1)=__ATerminal_6;FLD1(__APCommon_60,2)=__ARep_13;FLD1(__APCommon_60,3)=__APErr_16;}

