

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _AComCompose_3(OBJ,OBJ);extern OBJ __AComCompose_3;
extern OBJ _AComCompose_4(OBJ,OBJ);extern OBJ __AComCompose_4;
extern TUP2 _AMySeqFun2_3(OBJ,OBJ);OBJ __AMySeqFun2_3; /* existMap */
extern OBJ _AMySeqFun2_4(OBJ,OBJ);OBJ __AMySeqFun2_4; /* * */
extern OBJ _AMySeqFun2_5(OBJ,OBJ);OBJ __AMySeqFun2_5; /* *,1 */
extern OBJ _AMySeqFun2_6(OBJ,OBJ);OBJ __AMySeqFun2_6; /* *,2 */
extern OBJ _AMySeqFun2_7(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_7; /* // */
extern OBJ _AMySeqFun2_8(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_8; /* / */
extern OBJ _AMySeqFun2_9(OBJ,OBJ);OBJ __AMySeqFun2_9; /* /,1 */
extern TUP2 _AMySeqFun2_10(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_10; /* ||| */
extern OBJ _AMySeqFun2_11(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_11; /* cmp */
extern OBJ _AMySeqFun2_12(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_12; /* notDisjoint */
extern OBJ _AMySeqFun2_13(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_13; /* in */
extern OBJ _AMySeqFun2_14(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_14; /* in,1 */
extern TUP2 _AMySeqFun2_17(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_17; /* /\ */
extern OBJ _AMySeqFun2_20(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_20; /* *** */
extern OBJ _AMySeqFun2_23(OBJ,OBJ,OBJ,OBJ);OBJ __AMySeqFun2_23; /* //,1 */
OBJ __AMySeqFun2_24; /* *,2'24 */
extern OBJ _AMySeqFun2_25(OBJ);OBJ __AMySeqFun2_25; /* *,2'25 */
extern OBJ _AMySeqFun2_26(OBJ,OBJ);OBJ __AMySeqFun2_26; /* *,2'26 */
extern OBJ _AMySeqFun2_27(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_27; /* *,2'27 */
extern OBJ _AMySeqFun2_28(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_28; /* /'28 */
extern TUP2 _AMySeqFun2_29(OBJ,OBJ,OBJ,OBJ);OBJ __AMySeqFun2_29; /* |||'29 */
extern OBJ _AMySeqFun2_30(OBJ,OBJ,OBJ);OBJ __AMySeqFun2_30; /* in,1'30 */

extern TUP2 _AMySeqFun2_3(register OBJ x1,register OBJ x2) /* existMap */
{TUP2 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;
 for(;;){
  if(ISPRM(x2)){
   FRCLS(x1,1);
   *p1=__ABUILTIN_5;*p2=__ASeq_6;
  }else{
   {OBJ x27=FLD1(x2,1);OBJ x28=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
    }else{
     COPY(x27,1);COPY(x28,1);}
    CPCLS(x1,1);
    {OBJ x31;OBJ x32;
     {OBJ t=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x27);
      x31=FLD1(t,1);
      x32=FLD1(t,2);
      DSPRDF(t);}
     if(ISTGPRM(x31,1)){
      {
       if(x_x2){
	RSOME(x2,*p2);FLD1(*p2,1)=x32;
       }else{
	FRPRD(x2,1);PRD1(2,*p2);FLD1(*p2,1)=x32;}
       x2=x28;p2=&FLD1(*p2,2);continue;}
     }else{
      if(x_x2){
       DSPRDF(x2);
      }else{
       FRPRD(x2,1);}
      *p1=x31;
      FRCLS(x1,1);
      FREE(x28,1);
      FREE(x32,1);
      *p2=__ASeq_6;}}}}
  break;}
 return r;}
extern OBJ _AMySeqFun2_3_c(OBJ x1,OBJ x2) /* existMap */
{OBJ r;
 {TUP2 t=_AMySeqFun2_3(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMySeqFun2_4(OBJ x1,OBJ x2) /* * */
{OBJ r;
 r=_ASeqMap_3(x1,x2);
 return r;}

extern OBJ _AMySeqFun2_5(OBJ x1,OBJ x2) /* *,1 */
{OBJ r;
 r=_AMySeqFun2_20(x1,__ANat_8,x2);
 return r;}

extern OBJ _AMySeqFun2_6(OBJ x1,OBJ x2) /* *,2 */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  CPCLS(__AMySeqFun2_25,1);
  {OBJ x23;
   x23=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMySeqFun2_25,1))(__AMySeqFun2_25,__ABUILTIN_20);
   PRD(2,0,r);FLD(r,1)=x23;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x24=FLD1(x2,1);OBJ x25=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x24,1);COPY(x25,1);
    FRPRD(x2,1);}
   CPCLS(x1,1);
   CPCLS(__AMySeqFun2_27,1);
   {OBJ x27;OBJ x28;
    x27=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x24);
    x28=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_27,2))(__AMySeqFun2_27,x1,x25);
    r=_AComCompose_3(x27,x28);}}}
 return r;}

extern OBJ _AMySeqFun2_7(OBJ x1,OBJ x2,OBJ x3) /* // */
{OBJ r;
 if(ISPRM(x3)){
  FRCLS(x1,1);
  CPCLS(__ACom_47,1);
  {OBJ x41;OBJ x42;
   PRD(1,0,x41);FLD(x41,1)=x2;
   x42=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x41);
   PRD(2,0,r);FLD(r,1)=x42;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x43=FLD1(x3,1);OBJ x44=FLD1(x3,2);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    COPY(x43,1);COPY(x44,1);
    FRPRD(x3,1);}
   {OBJ x45=FLD1(x2,1);OBJ x46=FLD1(x2,2);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     COPY(x45,1);
     FRPRD(x2,1);}
    CPCLS(x1,1);
    CPCLS(__AMySeqFun2_23,1);
    {OBJ x48;OBJ x49;
     x48=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x45,x43);
     x49=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_23,3))(__AMySeqFun2_23,x46,x1,x44);
     r=_AComCompose_3(x48,x49);}}}}
 return r;}

extern OBJ _AMySeqFun2_8(OBJ x1,OBJ x2,OBJ x3) /* / */
{OBJ r;
 if(ISPRM(x3)){
  FRCLS(x1,1);
  CPCLS(__ACom_47,1);
  {OBJ x25;OBJ x26;
   PRD(1,0,x25);FLD(x25,1)=x2;
   x26=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x25);
   PRD(2,0,r);FLD(r,1)=x26;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x27=FLD1(x3,1);OBJ x28=FLD1(x3,2);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    COPY(x27,1);COPY(x28,1);
    FRPRD(x3,1);}
   CPCLS(x1,1);
   CPCLS(__AMySeqFun2_28,1);
   {OBJ x30;OBJ x31;
    x30=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x2,x27);
    x31=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_28,2))(__AMySeqFun2_28,x1,x28);
    r=_AComCompose_3(x30,x31);}}}
 return r;}

extern OBJ _AMySeqFun2_9(OBJ x1,OBJ x2) /* /,1 */
{OBJ r;
 if(ISPRM(x2)){
  HLT("MySeqFun2 at <unknown> : missing else in /\'MySeqFun2:(a->com)->seq->com");
 }else{
  {OBJ x25=FLD1(x2,1);OBJ x26=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    COPY(x25,1);COPY(x26,1);
    FRPRD(x2,1);}
   CPCLS(x1,1);
   {OBJ x28;
    x28=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x25);
    if(ISPRM(x26)){
     r=x28;
     FRCLS(x1,1);
    }else{
     {OBJ x31;
      x31=_AMySeqFun2_9(x1,x26);
      r=_AComCompose_4(x28,x31);}}}}}
 return r;}

extern TUP2 _AMySeqFun2_10(register OBJ x1,register OBJ x2,register OBJ x3) /* ||| */
{TUP2 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;
 for(;;){
  if(ISPRM(x2)){
   FRCLS(x1,1);
   *p1=__ASeq_6;*p2=x3;
  }else{
   {OBJ x29=FLD1(x2,1);OBJ x30=FLD1(x2,2);
    if(EXPRD(x2,1)){
     COPY(x29,1);
     CPCLS(x1,1);
     CPCLS(__AMySeqFun2_29,1);
     {OBJ x32;TUP2 x34;
      x32=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_29,2))(__AMySeqFun2_29,x1,x29);
      x34=_AMySeqFun2_17(x32,x3,x30);
      RSOME(x2,*p1);
      x2=x34.c2;x3=x34.c1;p1=&FLD1(*p1,2);continue;}
    }else{
     COPY(x29,2);COPY(x30,1);
     CPCLS(x1,1);
     CPCLS(__AMySeqFun2_29,1);
     {OBJ x32;TUP2 x34;
      x32=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_29,2))(__AMySeqFun2_29,x1,x29);
      x34=_AMySeqFun2_17(x32,x3,x30);
      FRPRD(x2,1);PRD1(2,*p1);FLD1(*p1,1)=x29;
      x2=x34.c2;x3=x34.c1;p1=&FLD1(*p1,2);continue;}}}}
  break;}
 return r;}
extern OBJ _AMySeqFun2_10_c(OBJ x1,OBJ x2,OBJ x3) /* ||| */
{OBJ r;
 {TUP2 t=_AMySeqFun2_10(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMySeqFun2_11(register OBJ x1,register OBJ x2,register OBJ x3) /* cmp */
{OBJ r;
 for(;;){
  if(ISPRM(x2)){
   FRCLS(x1,1);
   if(ISPRM(x3)){
    r=__ABUILTIN_5;
   }else{
    if(EXPRD(x3,1)){
     DSPRD(x3);
    }else{
     DCPRD(x3,1);}
    r=__ABUILTIN_3;}
  }else{
   {OBJ x62=FLD1(x2,1);OBJ x63=FLD1(x2,2);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     COPY(x62,1);COPY(x63,1);
     FRPRD(x2,1);}
    if(ISPRM(x3)){
     FRCLS(x1,1);
     FREE(x62,1);
     FREE(x63,1);
     r=__ABUILTIN_3;
    }else{
     {OBJ x64=FLD1(x3,1);OBJ x65=FLD1(x3,2);
      if(EXPRD(x3,1)){
       DSPRDF(x3);
      }else{
       COPY(x64,1);COPY(x65,1);
       FRPRD(x3,1);}
      CPCLS(x1,1);
      {OBJ x68;
       x68=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x62,x64);
       if(ISTGPRM(x68,1)){
	x2=x63;x3=x65;continue;
       }else{
	FRCLS(x1,1);
	FREE(x63,1);
	FREE(x65,1);
	r=__ABUILTIN_3;}}}}}}
  break;}
 return r;}

extern OBJ _AMySeqFun2_12(register OBJ x1,register OBJ x2,register OBJ x3) /* notDisjoint */
{OBJ r;
 for(;;){
  if(ISPRM(x3)){
   FRCLS(x1,1);
   FREE(x2,1);
   r=__ABUILTIN_3;
  }else{
   {OBJ x23=FLD1(x3,1);OBJ x24=FLD1(x3,2);
    if(EXPRD(x3,1)){
     DSPRDF(x3);
    }else{
     COPY(x23,1);COPY(x24,1);
     FRPRD(x3,1);}
    CPCLS(x1,1);
    COPY(x2,1);
    CPCLS(__AMySeqFun2_30,1);
    {OBJ x26;OBJ x27;
     x26=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_30,2))(__AMySeqFun2_30,x1,x23);
     x27=_ASeq_40(x26,x2);
     if(ISTGPRM(x27,1)){
      FRCLS(x1,1);
      FREE(x2,1);
      FREE(x24,1);
      r=__ABUILTIN_5;
     }else{
      x3=x24;continue;}}}}
  break;}
 return r;}

extern OBJ _AMySeqFun2_13(OBJ x1,OBJ x2,OBJ x3) /* in */
{OBJ r;
 CPCLS(__AMySeqFun2_30,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_30,2))(__AMySeqFun2_30,x1,x3);
  r=_ASeq_40(x4,x2);}
 return r;}

extern OBJ _AMySeqFun2_14(OBJ x1,OBJ x2,OBJ x3) /* in,1 */
{OBJ r;
 CPCLS(__AMySeqFun2_30,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AMySeqFun2_30,2))(__AMySeqFun2_30,x1,x2);
  r=_ASeq_40(x4,x3);}
 return r;}

extern TUP2 _AMySeqFun2_17(OBJ x1,OBJ x2,OBJ x3) /* /\ */
{TUP2 r;
 if(ISPRM(x3)){
  FRCLS(x1,1);
  r.c1=x2;r.c2=__ASeq_6;
 }else{
  {OBJ x28=FLD1(x3,1);OBJ x29=FLD1(x3,2);FLAG x_x3=EXPRD(x3,1);
   if(x_x3){
    COPY(x28,1);
   }else{
    COPY(x28,2);COPY(x29,1);}
   CPCLS(x1,1);
   {OBJ x32;OBJ x33;TUP2 x35;
    {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x2,x28);
     x32=FLD1(t,1);
     x33=FLD1(t,2);
     DSPRDF(t);}
    x35=_AMySeqFun2_17(x1,x32,x29);
    if(ISTGPRM(x33,1)){
     if(x_x3){
      DSPRDF(x3);
     }else{
      FRPRD(x3,1);}
     r.c1=x35.c1;r.c2=x35.c2;
     FREE(x28,1);
    }else{
     r.c1=x35.c1;
     if(x_x3){
      RSOME(x3,r.c2);FLD1(r.c2,2)=x35.c2;
     }else{
      FRPRD(x3,1);PRD1(2,r.c2);FLD1(r.c2,1)=x28;FLD1(r.c2,2)=x35.c2;}}}}}
 return r;}
extern OBJ _AMySeqFun2_17_c(OBJ x1,OBJ x2,OBJ x3) /* /\ */
{OBJ r;
 {TUP2 t=_AMySeqFun2_17(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

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

extern OBJ _AMySeqFun2_23(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* //,1 */
{OBJ r;
 if(ISTGPRD(x4,0)){
  {OBJ x24=FLD(x4,1);
   if(EXPRD(x4,1)){
    DSPRDF(x4);
   }else{
    CPPRD(x24,1);
    FRPRD(x4,1);}
   {OBJ x25=FLD1(x24,1);OBJ x26=FLD1(x24,2);FLAG x_x24=EXPRD(x24,1);
    if(x_x24){
    }else{
     COPY(x25,1);}
    {OBJ x27;OBJ x28;
     if(ISTGPRM(x26,1)){
      x27=x1;
     }else{
      x27=__ABUILTIN_3;}
     if(x_x24){
      RSOME(x24,x28);FLD1(x28,2)=x27;
     }else{
      FRPRD(x24,1);PRD1(2,x28);FLD1(x28,1)=x25;FLD1(x28,2)=x27;}
     r=_AMySeqFun2_7(x2,x28,x3);}}}
 }else{
  HLT("MySeqFun2 at <80,9-10> : missing else in //\'MySeqFun2:bool**(b**a->com)**seq->ans->com");}
 return r;}

extern OBJ _AMySeqFun2_25(OBJ x1) /* *,2'25 */
{OBJ r;
 CPPRD(__AMySeqFun2_24,1);
 CPCLS(__ACom_47,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,__AMySeqFun2_24);
 return r;}

extern OBJ _AMySeqFun2_26(OBJ x1,OBJ x2) /* *,2'26 */
{OBJ r;
 if(ISTGPRD(x2,1)){
  FREE(x1,1);
  CPCLS(__ACom_47,1);
  {OBJ x45;
   x45=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
   PRD(2,0,r);FLD(r,1)=x45;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x46=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    COPY(x46,1);}
   if(ISTGPRD(x1,1)){
    {OBJ x47;FLAG x_x1=EXPRD(x1,1);
     if(x_x1){
     }else{
      x47=FLD(x1,1);CPPRD(x47,1);}
     if(x_x2){
      DSPRDF(x2);
     }else{
      FRPRD(x2,1);}
     FREE(x46,1);
     CPCLS(__ACom_47,1);
     {OBJ x48;OBJ x49;
      if(x_x1){
       RPRD(x1,x48);
      }else{
       FRPRD(x1,1);PRD(1,1,x48);FLD(x48,1)=x47;}
      x49=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x48);
      PRD(2,0,r);FLD(r,1)=x49;FLD(r,2)=__ASeq_6;}}
   }else{
    {OBJ x50=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      COPY(x50,1);
      FRPRD(x1,1);}
     CPCLS(__ACom_47,1);
     {OBJ x51;OBJ x52;OBJ x53;
      PRD1(2,x51);FLD1(x51,1)=x50;FLD1(x51,2)=x46;
      if(x_x2){
       RPRD(x2,x52);FLD(x52,1)=x51;
      }else{
       FRPRD(x2,1);PRD(1,0,x52);FLD(x52,1)=x51;}
      x53=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x52);
      PRD(2,0,r);FLD(r,1)=x53;FLD(r,2)=__ASeq_6;}}}}}
 return r;}

extern OBJ _AMySeqFun2_27(OBJ x1,OBJ x2,OBJ x3) /* *,2'27 */
{OBJ r;
 CPCLS(__AMySeqFun2_26,1);
 {OBJ x4;OBJ x5;
  x4=_AMySeqFun2_6(x1,x2);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMySeqFun2_26,1))(__AMySeqFun2_26,x3);
  r=_AComCompose_3(x4,x5);}
 return r;}

extern OBJ _AMySeqFun2_28(OBJ x1,OBJ x2,OBJ x3) /* /'28 */
{OBJ r;
 {OBJ x7;
  if(ISTGPRD(x3,0)){
   {OBJ x4=FLD(x3,1);
    if(EXPRD(x3,1)){
     x7=x4;
     DSPRDF(x3);
    }else{
     COPY(x4,1);
     x7=x4;
     FRPRD(x3,1);}}
  }else{
   HLT("Com at <unknown> : undefined selection data\'Com:ans->data");}
  r=_AMySeqFun2_8(x1,x7,x2);}
 return r;}

extern TUP2 _AMySeqFun2_29(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* |||'29 */
{TUP2 r;
 {OBJ t=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(x1,3))(x1,x3,x2,x4);
  r.c1=FLD1(t,1);
  r.c2=FLD1(t,2);
  DSPRDF(t);}
 return r;}
extern OBJ _AMySeqFun2_29_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* |||'29 */
{OBJ r;
 {TUP2 t=_AMySeqFun2_29(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMySeqFun2_30(OBJ x1,OBJ x2,OBJ x3) /* in,1'30 */
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x3,x2);
 return r;}


static OBJ _mt_4_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,2);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 return r;}

static OBJ _mt_4_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,3);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 return r;}

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

static OBJ _mt_4_3_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 return r;}
static OBJ _mt_4_3_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_AMySeqFun2()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 init_ASeq();
 init_APair();
 init_ACom();
 init_AVoid();
 init_AOption();
 init_ASeqMap();
 init_AComCompose();
 CLS(3,_AMySeqFun2_30,__AMySeqFun2_30);
 CLS(4,_AMySeqFun2_29_c,__AMySeqFun2_29);
 CLS(3,_AMySeqFun2_28,__AMySeqFun2_28);
 CLS(3,_AMySeqFun2_27,__AMySeqFun2_27);
 CLS(2,_AMySeqFun2_26,__AMySeqFun2_26);
 LCLS(1,_AMySeqFun2_25,__AMySeqFun2_25);
 CLS(4,_AMySeqFun2_23,__AMySeqFun2_23);
 CLS(3,_AMySeqFun2_20,__AMySeqFun2_20);
 CLS(3,_AMySeqFun2_17_c,__AMySeqFun2_17);
 CLS(3,_AMySeqFun2_14,__AMySeqFun2_14);
 CLS(3,_AMySeqFun2_13,__AMySeqFun2_13);
 CLS(3,_AMySeqFun2_12,__AMySeqFun2_12);
 CLS(3,_AMySeqFun2_11,__AMySeqFun2_11);
 CLS(3,_AMySeqFun2_10_c,__AMySeqFun2_10);
 CLS(2,_AMySeqFun2_9,__AMySeqFun2_9);
 CLS(3,_AMySeqFun2_8,__AMySeqFun2_8);
 CLS(3,_AMySeqFun2_7,__AMySeqFun2_7);
 CLS(2,_AMySeqFun2_6,__AMySeqFun2_6);
 CLS(2,_AMySeqFun2_5,__AMySeqFun2_5);
 CLS(2,_AMySeqFun2_4,__AMySeqFun2_4);
 CLS(2,_AMySeqFun2_3_c,__AMySeqFun2_3);
 MTH(4,0,2,_mt_4_0_2);LZYMTH(4,0,2,_mt_4_0_2);
 MTH(4,0,3,_mt_4_0_3);LZYMTH(4,0,3,_mt_4_0_3);
 MTH(4,2,2,_mt_4_2_2);LZYMTH(4,2,2,_mt_4_2_2);
 MTH(4,3,1,_mt_4_3_1);LZYMTH(4,3,1,_mt_4_3_1_l);
 PRDF(1,0,__AMySeqFun2_24);FLD(__AMySeqFun2_24,1)=__ASeq_6;}

