

#include "BUILTIN.h"
extern OBJ _AUnion4_2(OBJ);OBJ __AUnion4_2; /* data4 */
extern OBJ _AUnion4_3(OBJ);OBJ __AUnion4_3; /* data4? */
extern OBJ _AUnion4_4(OBJ);OBJ __AUnion4_4; /* cont4 */
extern OBJ _AUnion4_5(OBJ);OBJ __AUnion4_5; /* data3 */
extern OBJ _AUnion4_6(OBJ);OBJ __AUnion4_6; /* data3? */
extern OBJ _AUnion4_7(OBJ);OBJ __AUnion4_7; /* cont3 */
extern OBJ _AUnion4_8(OBJ);OBJ __AUnion4_8; /* data2 */
extern OBJ _AUnion4_9(OBJ);OBJ __AUnion4_9; /* data2? */
extern OBJ _AUnion4_10(OBJ);OBJ __AUnion4_10; /* cont2 */
extern OBJ _AUnion4_11(OBJ);OBJ __AUnion4_11; /* data1 */
extern OBJ _AUnion4_12(OBJ);OBJ __AUnion4_12; /* data1? */
extern OBJ _AUnion4_13(OBJ);OBJ __AUnion4_13; /* cont1 */

extern OBJ _AUnion4_2(OBJ x1) /* data4 */
{OBJ r;
 PRD(1,3,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AUnion4_3(OBJ x1) /* data4? */
{OBJ r;
 if(ISTGPRD(x1,3)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AUnion4_4(OBJ x1) /* cont4 */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Union4 at <unknown> : undefined selection cont4\'Union4:union->data4");}
 return r;}

extern OBJ _AUnion4_5(OBJ x1) /* data3 */
{OBJ r;
 PRD(1,2,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AUnion4_6(OBJ x1) /* data3? */
{OBJ r;
 if(ISTGPRD(x1,2)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AUnion4_7(OBJ x1) /* cont3 */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Union4 at <unknown> : undefined selection cont3\'Union4:union->data3");}
 return r;}

extern OBJ _AUnion4_8(OBJ x1) /* data2 */
{OBJ r;
 PRD(1,1,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AUnion4_9(OBJ x1) /* data2? */
{OBJ r;
 if(ISTGPRD(x1,1)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AUnion4_10(OBJ x1) /* cont2 */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Union4 at <unknown> : undefined selection cont2\'Union4:union->data2");}
 return r;}

extern OBJ _AUnion4_11(OBJ x1) /* data1 */
{OBJ r;
 PRD(1,0,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AUnion4_12(OBJ x1) /* data1? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AUnion4_13(OBJ x1) /* cont1 */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Union4 at <unknown> : undefined selection cont1\'Union4:union->data1");}
 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;}

init_AUnion4()
{
 static int visited=0; if(visited) return; visited=1;
 CLS(1,_AUnion4_13,__AUnion4_13);
 CLS(1,_AUnion4_12,__AUnion4_12);
 CLS(1,_AUnion4_11,__AUnion4_11);
 CLS(1,_AUnion4_10,__AUnion4_10);
 CLS(1,_AUnion4_9,__AUnion4_9);
 CLS(1,_AUnion4_8,__AUnion4_8);
 CLS(1,_AUnion4_7,__AUnion4_7);
 CLS(1,_AUnion4_6,__AUnion4_6);
 CLS(1,_AUnion4_5,__AUnion4_5);
 CLS(1,_AUnion4_4,__AUnion4_4);
 CLS(1,_AUnion4_3,__AUnion4_3);
 CLS(1,_AUnion4_2,__AUnion4_2);
 MTH(1,0,1,_mt_1_0_1);LZYMTH(1,0,1,_mt_1_0_1_l);}

