

#include "BUILTIN.h"
extern OBJ _ADyn_2(OBJ,OBJ);OBJ __ADyn_2; /* mkdyn */
extern OBJ _ADyn_3(OBJ);OBJ __ADyn_3; /* mkdyn? */
extern OBJ _ADyn_4(OBJ);OBJ __ADyn_4; /* value */
extern OBJ _ADyn_5(OBJ);OBJ __ADyn_5; /* tag */
OBJ __ADyn_8; /* cons4 */
extern OBJ _ADyn_9(OBJ);OBJ __ADyn_9; /* cons4? */
OBJ __ADyn_10; /* cons3 */
extern OBJ _ADyn_11(OBJ);OBJ __ADyn_11; /* cons3? */
extern OBJ _ADyn_12(OBJ,OBJ);OBJ __ADyn_12; /* cons2 */
extern OBJ _ADyn_13(OBJ);OBJ __ADyn_13; /* cons2? */
extern OBJ _ADyn_14(OBJ);OBJ __ADyn_14; /* x */
extern OBJ _ADyn_15(OBJ);OBJ __ADyn_15; /* z */
extern OBJ _ADyn_16(OBJ,OBJ);OBJ __ADyn_16; /* cons1 */
extern OBJ _ADyn_17(OBJ);OBJ __ADyn_17; /* cons1? */
extern OBJ _ADyn_18(OBJ);OBJ __ADyn_18; /* y */

extern OBJ _ADyn_2(OBJ x1,OBJ x2) /* mkdyn */
{OBJ r;
 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x2;
 return r;}

extern OBJ _ADyn_3(OBJ x1) /* mkdyn? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _ADyn_4(OBJ x1) /* value */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FRPRD(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _ADyn_5(OBJ x1) /* tag */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   CPPRD(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _ADyn_9(OBJ x1) /* cons4? */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,3))){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ADyn_11(OBJ x1) /* cons3? */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,2))){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ADyn_12(OBJ x1,OBJ x2) /* cons2 */
{OBJ r;
 PRD(2,1,r);FLD(r,1)=x1;FLD(r,2)=x2;
 return r;}

extern OBJ _ADyn_13(OBJ x1) /* cons2? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ADyn_14(OBJ x1) /* x */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,0))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FREE(FLD(x1,2),1);DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x5=FLD(x1,2);
    if(EXPRD(x1,1)){
     r=x5;
     FREE(FLD(x1,1),1);DSPRDF(x1);
    }else{
     COPY(x5,1);
     r=x5;
     FRPRD(x1,1);}}
  }else{
   HLT("Dyn at <16,37> : undefined selection x\'Dyn:dynvalue->dynvalue");}}
 return r;}

extern OBJ _ADyn_15(OBJ x1) /* z */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FREE(FLD(x1,2),1);DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Dyn at <16,24> : undefined selection z\'Dyn:dynvalue->dynvalue");}
 return r;}

extern OBJ _ADyn_16(OBJ x1,OBJ x2) /* cons1 */
{OBJ r;
 PRD(2,0,r);FLD(r,1)=x1;FLD(r,2)=x2;
 return r;}

extern OBJ _ADyn_17(OBJ x1) /* cons1? */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,0))){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ADyn_18(OBJ x1) /* y */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,0))){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FREE(FLD(x1,1),1);DSPRDF(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Dyn at <15,37> : undefined selection y\'Dyn:dynvalue->dynvalue");}
 return r;}



static OBJ _mt_1_0_1(OBJ t,OBJ t1) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
 return r;}
static OBJ _mt_1_0_1_l(OBJ t,OBJ t1) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
 COPY(r,1);LZYCLS(t,r);
 return r;}

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

init_ADyn()
{
 static int visited=0; if(visited) return; visited=1;
 CLS(1,_ADyn_18,__ADyn_18);
 CLS(1,_ADyn_17,__ADyn_17);
 CLS(2,_ADyn_16,__ADyn_16);
 CLS(1,_ADyn_15,__ADyn_15);
 CLS(1,_ADyn_14,__ADyn_14);
 CLS(1,_ADyn_13,__ADyn_13);
 CLS(2,_ADyn_12,__ADyn_12);
 CLS(1,_ADyn_11,__ADyn_11);
 CLS(1,_ADyn_9,__ADyn_9);
 CLS(1,_ADyn_5,__ADyn_5);
 CLS(1,_ADyn_4,__ADyn_4);
 CLS(1,_ADyn_3,__ADyn_3);
 CLS(2,_ADyn_2,__ADyn_2);
 MTH(1,0,1,_mt_1_0_1);LZYMTH(1,0,1,_mt_1_0_1_l);
 MTH(2,0,2,_mt_2_0_2);LZYMTH(2,0,2,_mt_2_0_2);
 PRM(3,__ADyn_8);
 PRM(2,__ADyn_10);}

