

#include "BUILTIN.h"
extern OBJ _ASetByPred_4(OBJ);extern OBJ __ASetByPred_4;
extern OBJ _ASetByPredConstr_3(OBJ,OBJ);OBJ __ASetByPredConstr_3; /* x */
extern OBJ _ASetByPredConstr_4(OBJ,OBJ);OBJ __ASetByPredConstr_4; /* U */
extern OBJ _ASetByPredConstr_5(OBJ,OBJ,OBJ);OBJ __ASetByPredConstr_5; /* x'5 */
extern OBJ _ASetByPredConstr_6(OBJ,OBJ,OBJ);OBJ __ASetByPredConstr_6; /* U'6 */

extern OBJ _ASetByPredConstr_3(OBJ x1,OBJ x2) /* x */
{OBJ r;
 CPCLS(__ASetByPredConstr_5,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ASetByPredConstr_5,2))(__ASetByPredConstr_5,x1,x2);
 return r;}

extern OBJ _ASetByPredConstr_4(OBJ x1,OBJ x2) /* U */
{OBJ r;
 CPCLS(__ASetByPredConstr_6,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ASetByPredConstr_6,2))(__ASetByPredConstr_6,x1,x2);
 return r;}

extern OBJ _ASetByPredConstr_5(OBJ x1,OBJ x2,OBJ x3) /* x'5 */
{OBJ r;
 {OBJ x11=FLD1(x3,1);OBJ x12=FLD1(x3,2);
  if(EXPRD(x3,1)){
   DSPRDF(x3);
  }else{
   COPY(x11,1);COPY(x12,1);
   FRPRD(x3,1);}
  CPCLS(__ASetByPred_4,1);
  {OBJ x13;
   x13=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ASetByPred_4,2))(__ASetByPred_4,x1,x11);
   if(ISTGPRM(x13,1)){
    CPCLS(__ASetByPred_4,1);
    r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ASetByPred_4,2))(__ASetByPred_4,x2,x12);
   }else{
    FRCLS(x2,1);
    FREE(x12,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern OBJ _ASetByPredConstr_6(OBJ x1,OBJ x2,OBJ x3) /* U'6 */
{OBJ r;
 if(ISTGPRD(x3,0)){
  {OBJ x18=FLD(x3,1);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    COPY(x18,1);
    FRPRD(x3,1);}
   FRCLS(x2,1);
   CPCLS(__ASetByPred_4,1);
   r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ASetByPred_4,2))(__ASetByPred_4,x1,x18);}
 }else{
  {OBJ x19=FLD(x3,1);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    COPY(x19,1);
    FRPRD(x3,1);}
   FRCLS(x1,1);
   CPCLS(__ASetByPred_4,1);
   r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ASetByPred_4,2))(__ASetByPred_4,x2,x19);}}
 return r;}

init_ASetByPredConstr()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASetByPred();
 init_APair();
 init_AUnion2();
 init_APredicate();
 CLS(3,_ASetByPredConstr_6,__ASetByPredConstr_6);
 CLS(3,_ASetByPredConstr_5,__ASetByPredConstr_5);
 CLS(2,_ASetByPredConstr_4,__ASetByPredConstr_4);
 CLS(2,_ASetByPredConstr_3,__ASetByPredConstr_3);}

