

#include "BUILTIN.h"

#include "Bitset.h"
extern OBJ __ASeq_6;

#include "Nat.h"
extern OBJ _AString_49(OBJ);extern OBJ __AString_49;

#include "Char.h"

#include "NatConv.h"
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_3;
extern OBJ _ASeqConv_5(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_5;
extern OBJ __ASeqConv_8;

#include "Int.h"

#include "Real.h"
extern OBJ _ABitsetConv_1(OBJ);OBJ __ABitsetConv_1; /* asSeq */
extern OBJ _ABitsetConv_2(OBJ);OBJ __ABitsetConv_2; /* asSet */
extern OBJ _ABitsetConv_3(OBJ);OBJ __ABitsetConv_3; /* ` */
extern OBJ _ABitsetConv_4(OBJ);OBJ __ABitsetConv_4; /* `,1 */
OBJ __ABitsetConv_5; /* `'5 */
OBJ __ABitsetConv_6; /* `'6 */
extern OBJ _ABitsetConv_7(OBJ);OBJ __ABitsetConv_7; /* `,1'7 */

extern OBJ _ABitsetConv_1(register OBJ x1) /* asSeq */
{OBJ r;OBJ* p1=&r;
 for(;;){
  CPPRD(x1,1);
  {OBJ x2;
   ABitset_20(x1,x2);
   if(ISTGPRM(x2,1)){
    FRPRD(x1,1);
    *p1=__ASeq_6;
   }else{
    CPPRD(x1,1);
    {OBJ x3;OBJ x4;
     ABitset_19(x1,x3);
     ABitset_13(x3,x1,x4);
     PRD1(2,*p1);FLD1(*p1,1)=x3;
     x1=x4;p1=&FLD1(*p1,2);continue;}}}
  break;}
 return r;}

extern OBJ _ABitsetConv_2(OBJ x1) /* asSet */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__ABitset_2,1);
  r=__ABitset_2;
 }else{
  {OBJ x20=FLD1(x1,1);OBJ x21=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x21,1);
    FRPRD(x1,1);}
   {OBJ x23;
    x23=_ABitsetConv_2(x21);
    ABitset_3(x20,x23,r);}}}
 return r;}

extern OBJ _ABitsetConv_3(OBJ x1) /* ` */
{OBJ r;
 CPPRD(__ABitsetConv_5,1);
 CPPRD(__ABitsetConv_6,1);
 CPCLS(__ANatConv_1,1);
 CPPRD(__ASeqConv_8,1);
 {OBJ x2;
  x2=_ABitsetConv_1(x1);
  r=_ASeqConv_3(__ABitsetConv_5,__ASeqConv_8,__ABitsetConv_6,__ANatConv_1,x2);}
 return r;}

extern OBJ _ABitsetConv_4(OBJ x1) /* `,1 */
{OBJ r;
 CPPRD(__ABitsetConv_5,1);
 CPPRD(__ABitsetConv_6,1);
 CPCLS(__ABitsetConv_7,1);
 CPPRD(__ASeqConv_8,1);
 {OBJ x2;
  x2=_ABitsetConv_1(x1);
  r=_ASeqConv_5(__ABitsetConv_5,__ASeqConv_8,__ABitsetConv_6,__ABitsetConv_7,x2);}
 return r;}

extern OBJ _ABitsetConv_7(OBJ x1) /* `,1'7 */
{OBJ r;
 {OBJ x2;
  ANatConv_1(x1,x2);
  r=_AString_49(x2);}
 return r;}

init_ABitsetConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_ABitset();
 init_ASeq();
 init_ANat();
 init_AString();
 init_AChar();
 init_AOption();
 init_ANatConv();
 init_ASeqConv();
 init_AInt();
 init_AReal();
 CLS(1,_ABitsetConv_7,__ABitsetConv_7);
 DEN("}",__ABitsetConv_6);
 DEN("{",__ABitsetConv_5);
 CLS(1,_ABitsetConv_4,__ABitsetConv_4);
 CLS(1,_ABitsetConv_3,__ABitsetConv_3);
 CLS(1,_ABitsetConv_2,__ABitsetConv_2);
 CLS(1,_ABitsetConv_1,__ABitsetConv_1);}

