

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

#include "Nat.h"
extern OBJ __ASeq_6;
extern OBJ _AComCompose_3(OBJ,OBJ);extern OBJ __AComCompose_3;
extern OBJ _AComCompose_4(OBJ,OBJ);extern OBJ __AComCompose_4;
extern OBJ _AComCompose_6(OBJ,OBJ);extern OBJ __AComCompose_6;

#include "ComCheck.h"

#define __AComCheck_SS_L7 __AComCheck_7
#define _AComCheck_SS_L7 _AComCheck_7
#define AComCheck_7 AComCheck_SS_L7
extern OBJ __AComCheck_SS_L7;
extern OBJ _AComCheck_SS_L7(OBJ,OBJ);

#define __AComCheck_Asection_L8 __AComCheck_8
#define _AComCheck_Asection_L8 _AComCheck_8
#define AComCheck_8 AComCheck_Asection_L8
extern OBJ __AComCheck_Asection_L8;
extern OBJ _AComCheck_Asection_L8(OBJ,OBJ);

#define __AComCheck_Acheck_L9 __AComCheck_9
#define _AComCheck_Acheck_L9 _AComCheck_9
#define AComCheck_9 AComCheck_Acheck_L9
extern OBJ __AComCheck_Acheck_L9;
extern OBJ _AComCheck_Acheck_L9(OBJ);

#define __AComCheck_Acheck_L10 __AComCheck_10
#define _AComCheck_Acheck_L10 _AComCheck_10
#define AComCheck_10 AComCheck_Acheck_L10
extern OBJ __AComCheck_Acheck_L10;
extern OBJ _AComCheck_Acheck_L10(OBJ,OBJ);
extern OBJ _AComCheck_SS(OBJ,OBJ);OBJ __AComCheck_SS; /* | */
extern OBJ _AComCheck_Abreaks(OBJ,OBJ);OBJ __AComCheck_Abreaks; /* breaks */
extern OBJ _AComCheck_Asection(OBJ,OBJ,OBJ);OBJ __AComCheck_Asection; /* section */
extern OBJ _AComCheck_Acheck(OBJ,OBJ);OBJ __AComCheck_Acheck; /* check */
extern OBJ _AComCheck_AcheckAbort(OBJ,OBJ);OBJ __AComCheck_AcheckAbort; /* checkAbort */
extern OBJ _AComCheck_SS_L7(OBJ,OBJ);OBJ __AComCheck_SS_L7; /* |'7 */
extern OBJ _AComCheck_Asection_L8(OBJ,OBJ);OBJ __AComCheck_Asection_L8; /* section'8 */
extern OBJ _AComCheck_Acheck_L9(OBJ);OBJ __AComCheck_Acheck_L9; /* check'9 */
extern OBJ _AComCheck_Acheck_L10(OBJ,OBJ);OBJ __AComCheck_Acheck_L10; /* check'10 */

#include "ComCheck.hc.c"

extern OBJ _AComCheck_SS(OBJ x1,OBJ x2) /* | */
{OBJ r;
 CPCLS(__AComCheck_SS_L7,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComCheck_SS_L7,1))(__AComCheck_SS_L7,x2);
  r=_AComCompose_3(x1,x3);}
 return r;}

extern OBJ _AComCheck_Abreaks(OBJ x1,OBJ x2) /* breaks */
{OBJ r;
 CPCLS(__AComCheck_SS_L7,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComCheck_SS_L7,1))(__AComCheck_SS_L7,x1);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _AComCheck_Asection(OBJ x1,OBJ x2,OBJ x3) /* section */
{OBJ r;
 CPCLS(__AComCheck_Asection_L8,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComCheck_Asection_L8,1))(__AComCheck_Asection_L8,x2);
  x5=_AComCompose_3(x3,x4);
  r=_AComCompose_6(x1,x5);}
 return r;}

extern OBJ _AComCheck_Acheck(OBJ x1,OBJ x2) /* check */
{OBJ r;
 CPCLS(__AComCheck_Acheck_L10,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComCheck_Acheck_L10,1))(__AComCheck_Acheck_L10,x1);
  r=_AComCompose_3(x2,x3);}
 return r;}

extern OBJ _AComCheck_SS_L7(OBJ x1,OBJ x2) /* |'7 */
{OBJ r;
 if(ISTGPRD(x2,0)){
  FRPRD(x1,1);
  CPCLS(__ACom_47,1);
  {OBJ x8;
   x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
   PRD(2,0,r);FLD(r,1)=x8;FLD(r,2)=__ASeq_6;}
 }else{
  if(EXPRD(x2,1)){
   FRPRD(FLD(x2,1),1);DSPRDF(x2);
  }else{
   DCPRD(x2,1);}
  r=x1;}
 return r;}

extern OBJ _AComCheck_Asection_L8(OBJ x1,OBJ x2) /* section'8 */
{OBJ r;
 {OBJ x5;OBJ x6;OBJ x7;
  if(ISTGPRD(x2,0)){
   CPCLS(__ACom_47,1);
   x5=__ABUILTIN_5;
  }else{
   CPCLS(__ACom_47,1);
   x5=__ABUILTIN_3;}
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
  PRD(2,0,x7);FLD(x7,1)=x6;FLD(x7,2)=__ASeq_6;
  if(ISTGPRM(x5,1)){
   r=_AComCompose_6(x1,x7);
  }else{
   r=_AComCompose_4(x1,x7);}}
 return r;}

extern OBJ _AComCheck_Acheck_L9(OBJ x1) /* check'9 */
{OBJ r;
 r=_ACom_22(__ANat_8);
 return r;}

extern OBJ _AComCheck_Acheck_L10(OBJ x1,OBJ x2) /* check'10 */
{OBJ r;
 if(ISTGPRD(x2,0)){
  FRCLS(x1,1);
  CPCLS(__ACom_47,1);
  {OBJ x16;
   x16=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
   PRD(2,0,r);FLD(r,1)=x16;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x17=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x17,1);
    FRPRD(x2,1);}
   CPCLS(__AComCheck_AcheckAbort,1);
   CPCLS(__AComCheck_Acheck_L9,1);
   {OBJ x18;OBJ x19;OBJ x20;OBJ x21;
    x18=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComCheck_Acheck_L9,1))(__AComCheck_Acheck_L9,__ABUILTIN_20);
    x19=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x17);
    x20=(*(OBJ(*)(OBJ,OBJ))METHOD(__AComCheck_AcheckAbort,1))(__AComCheck_AcheckAbort,x19);
    PRD(2,0,x21);FLD(x21,1)=x20;FLD(x21,2)=__ASeq_6;
    r=_AComCompose_6(x21,x18);}}}
 return r;}

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

init_AComCheck()
{
 static int visited=0; if(visited) return; visited=1;
 init_AVoid();
 init_ACom();
 init_ANat();
 init_ASeq();
 init_AOption();
 init_AComCompose();
 init_ASeqMap();
 CLS(2,_AComCheck_10,__AComCheck_10);
 LCLS(1,_AComCheck_9,__AComCheck_9);
 CLS(2,_AComCheck_8,__AComCheck_8);
 CLS(2,_AComCheck_7,__AComCheck_7);
 CLS(2,_AComCheck_6,__AComCheck_6);
 CLS(2,_AComCheck_5,__AComCheck_5);
 CLS(3,_AComCheck_4,__AComCheck_4);
 CLS(2,_AComCheck_3,__AComCheck_3);
 CLS(2,_AComCheck_2,__AComCheck_2);
 MTH(3,0,3,_mt_3_0_3);LZYMTH(3,0,3,_mt_3_0_3);
 init_const_AComCheck();}

