

#include "BUILTIN.h"
extern OBJ _ATriple_2(OBJ,OBJ,OBJ);OBJ __ATriple_2; /* & */
extern OBJ _ATriple_3(OBJ);OBJ __ATriple_3; /* &? */
extern OBJ _ATriple_4(OBJ);OBJ __ATriple_4; /* 3rd */
extern OBJ _ATriple_5(OBJ);OBJ __ATriple_5; /* 2nd */
extern OBJ _ATriple_6(OBJ);OBJ __ATriple_6; /* 1st */
extern TUP3 _ATriple_10(OBJ);OBJ __ATriple_10; /* untriple */

extern OBJ _ATriple_2(OBJ x1,OBJ x2,OBJ x3) /* & */
{OBJ r;
 PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;
 return r;}

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

extern OBJ _ATriple_4(OBJ x1) /* 3rd */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FLD1(x1,3)=NIL;DSPRD(x1);
  }else{
   COPY(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _ATriple_5(OBJ x1) /* 2nd */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FLD1(x1,2)=NIL;DSPRD(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _ATriple_6(OBJ x1) /* 1st */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FLD1(x1,1)=NIL;DSPRD(x1);
  }else{
   COPY(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern TUP3 _ATriple_10(OBJ x1) /* untriple */
{TUP3 r;
 {OBJ x14=FLD1(x1,1);OBJ x15=FLD1(x1,2);OBJ x16=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r.c1=x14;r.c2=x15;r.c3=x16;
   DSPRDF(x1);
  }else{
   COPY(x14,1);COPY(x15,1);COPY(x16,1);
   r.c1=x14;r.c2=x15;r.c3=x16;
   FRPRD(x1,1);}}
 return r;}
extern OBJ _ATriple_10_c(OBJ x1) /* untriple */
{OBJ r;
 {TUP3 t=_ATriple_10(x1);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 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_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_ATriple()
{
 static int visited=0; if(visited) return; visited=1;
 CLS(1,_ATriple_10_c,__ATriple_10);
 CLS(1,_ATriple_6,__ATriple_6);
 CLS(1,_ATriple_5,__ATriple_5);
 CLS(1,_ATriple_4,__ATriple_4);
 CLS(1,_ATriple_3,__ATriple_3);
 CLS(3,_ATriple_2,__ATriple_2);
 MTH(1,0,1,_mt_1_0_1);LZYMTH(1,0,1,_mt_1_0_1_l);
 MTH(3,0,3,_mt_3_0_3);LZYMTH(3,0,3,_mt_3_0_3);}

