

#include "BUILTIN.h"
extern OBJ __ASeq_6;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;

#include "Nat.h"
extern OBJ _AComCompose_3(OBJ,OBJ);extern OBJ __AComCompose_3;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _AComSeqReduce_3(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_3; /* / */
extern OBJ _AComSeqReduce_4(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_4; /* /& */
extern OBJ _AComSeqReduce_5(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_5; /* /,1 */
extern OBJ _AComSeqReduce_6(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_6; /* /&,1 */
extern OBJ _AComSeqReduce_7(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_7; /* // */
extern OBJ _AComSeqReduce_8(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_8; /* /'8 */
extern OBJ _AComSeqReduce_9(OBJ,OBJ,OBJ);OBJ __AComSeqReduce_9; /* /&'9 */

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

extern OBJ _AComSeqReduce_4(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(__AComSeqReduce_9,1);
   {OBJ x30;OBJ x31;
    x30=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x1,2))(x1,x27,x2);
    x31=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AComSeqReduce_9,2))(__AComSeqReduce_9,x1,x28);
    r=_AComCompose_5(x30,x31);}}}
 return r;}

extern OBJ _AComSeqReduce_5(OBJ x1,OBJ x2,OBJ x3) /* /,1 */
{OBJ r;
 r=_AComSeqReduce_3(x1,x2,x3);
 return r;}

extern OBJ _AComSeqReduce_6(OBJ x1,OBJ x2,OBJ x3) /* /&,1 */
{OBJ r;
 r=_AComSeqReduce_4(x1,x2,x3);
 return r;}

extern OBJ _AComSeqReduce_7(OBJ x1,OBJ x2,OBJ x3) /* // */
{OBJ r;
 r=_AComSeqReduce_3(x1,x3,x2);
 return r;}

extern OBJ _AComSeqReduce_8(OBJ x1,OBJ x2,OBJ x3) /* /'8 */
{OBJ r;
 r=_AComSeqReduce_3(x1,x3,x2);
 return r;}

extern OBJ _AComSeqReduce_9(OBJ x1,OBJ x2,OBJ x3) /* /&'9 */
{OBJ r;
 r=_AComSeqReduce_4(x1,x3,x2);
 return r;}

init_AComSeqReduce()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeq();
 init_ACom();
 init_ANat();
 init_AVoid();
 init_AOption();
 init_AComCompose();
 init_ASeqMap();
 CLS(3,_AComSeqReduce_9,__AComSeqReduce_9);
 CLS(3,_AComSeqReduce_8,__AComSeqReduce_8);
 CLS(3,_AComSeqReduce_7,__AComSeqReduce_7);
 CLS(3,_AComSeqReduce_6,__AComSeqReduce_6);
 CLS(3,_AComSeqReduce_5,__AComSeqReduce_5);
 CLS(3,_AComSeqReduce_4,__AComSeqReduce_4);
 CLS(3,_AComSeqReduce_3,__AComSeqReduce_3);}

