

#include "BUILTIN.h"
extern TUP2 _AComposePar_5(OBJ,OBJ,OBJ,OBJ);OBJ __AComposePar_5; /* | */

extern TUP2 _AComposePar_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* | */
{TUP2 r;
 r.c1=(*(OBJ(*)(OBJ,OBJ))METHOD(x1,1))(x1,x3);
 r.c2=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,x4);
 return r;}
extern OBJ _AComposePar_5_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* | */
{OBJ r;
 {TUP2 t=_AComposePar_5(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

static OBJ _mt_4_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,2);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 return r;}

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

static OBJ _mt_4_2_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),t1,t2);
 return r;}

init_AComposePar()
{
 static int visited=0; if(visited) return; visited=1;
 CLS(4,_AComposePar_5_c,__AComposePar_5);
 MTH(4,0,2,_mt_4_0_2);LZYMTH(4,0,2,_mt_4_0_2);
 MTH(4,0,4,_mt_4_0_4);LZYMTH(4,0,4,_mt_4_0_4);
 MTH(4,2,2,_mt_4_2_2);LZYMTH(4,2,2,_mt_4_2_2);}

