

#include "BUILTIN.h"

#include "Denotation.h"
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;

#include "Nat.h"
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern OBJ __AOption_5;
extern OBJ _AMapReduce_6(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMapReduce_6;
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ _ASeq_38(OBJ);extern OBJ __ASeq_38;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;
extern OBJ __ATypeAn_40;
extern OBJ __ABuiltin_2;
extern OBJ __ABuiltin_3;
extern OBJ __ABuiltin_4;
extern OBJ __AIde_17;
extern OBJ _AInterOpalAccess_21(OBJ,OBJ);extern OBJ __AInterOpalAccess_21;
extern OBJ _AInterOpalAccess_27(OBJ,OBJ);extern OBJ __AInterOpalAccess_27;
extern OBJ _AInterOpalAccess_31(OBJ);extern OBJ __AInterOpalAccess_31;
extern OBJ _AInterOpalAccess_38(OBJ,OBJ);extern OBJ __AInterOpalAccess_38;
extern OBJ __AAc_14;
extern OBJ __AAc_74;
extern OBJ _AInterOpalVars_2(OBJ);extern OBJ __AInterOpalVars_2;
extern OBJ _AInterOpal_130(OBJ);extern OBJ __AInterOpal_130;
extern OBJ _AInterOpal_139(OBJ);extern OBJ __AInterOpal_139;
extern OBJ _AInterOpal_309(OBJ,OBJ);extern OBJ __AInterOpal_309;
extern OBJ _ANameTranslation_3(OBJ,OBJ);extern OBJ __ANameTranslation_3;
extern OBJ _ANameTranslation_6(OBJ);extern OBJ __ANameTranslation_6;
extern OBJ _AParameterTranslation_5(OBJ);extern OBJ __AParameterTranslation_5;
extern OBJ _AParameterTranslation_6(OBJ);extern OBJ __AParameterTranslation_6;
extern OBJ _AParameterTranslation_9(OBJ);extern OBJ __AParameterTranslation_9;
extern OBJ _AParameterTranslation_21(OBJ);extern OBJ __AParameterTranslation_21;
extern OBJ _AFctTranslation_3(OBJ,OBJ,OBJ);extern OBJ __AFctTranslation_3;
extern OBJ _AFctTranslation_5(OBJ,OBJ);extern OBJ __AFctTranslation_5;
extern OBJ _AFctTranslation_6(OBJ,OBJ);extern OBJ __AFctTranslation_6;
extern OBJ _AExprTranslation_1(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AExprTranslation_1;
extern OBJ _AExprTranslation_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AExprTranslation_3;
extern OBJ _AExprTranslation_23(OBJ,OBJ,OBJ,OBJ);extern OBJ __AExprTranslation_23;
extern OBJ __AAn_2;
extern OBJ _AAn_3(OBJ,OBJ);extern OBJ __AAn_3;
extern OBJ _AAn_5(OBJ,OBJ);extern OBJ __AAn_5;
extern OBJ __ASourceAn_4;
extern OBJ __ASourceAn_6;
extern OBJ __ATree_7;

#include "Array.h"

#include "Char.h"

#include "Int.h"
extern OBJ _AMap_16(OBJ,OBJ,OBJ);extern OBJ __AMap_16;
extern OBJ _AMap_20(OBJ,OBJ,OBJ);extern OBJ __AMap_20;
extern OBJ _AMap_31(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_31;
extern OBJ _ADefinitionTranslation_1(OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_1; /* dec */
extern TUP3 _ADefinitionTranslation_2(OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_2; /* typeDecNops */
extern OBJ _ADefinitionTranslation_3(OBJ,OBJ);OBJ __ADefinitionTranslation_3; /* isUsedOrForcedForAc */
extern OBJ _ADefinitionTranslation_5(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_5; /* dec,1 */
extern TUP3 _ADefinitionTranslation_7(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_7; /* typeDecNops,1 */
extern TUP4 _ADefinitionTranslation_8(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_8; /* variants */
extern TUP4 _ADefinitionTranslation_9(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_9; /* variant */
extern OBJ _ADefinitionTranslation_10(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_10; /* buildSelMap */
extern TUP3 _ADefinitionTranslation_11(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_11; /* singleVariant */
extern OBJ _ADefinitionTranslation_12(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_12; /* buildSelDecs */
extern OBJ _ADefinitionTranslation_13(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_13; /* canonicalCase */
extern OBJ _ADefinitionTranslation_14(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_14; /* canonicalExp */
extern TUP4 _ADefinitionTranslation_15(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_15; /* constructorDecs */
extern TUP4 _ADefinitionTranslation_16(OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_16; /* components */
extern TUP4 _ADefinitionTranslation_17(OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_17; /* component */
extern OBJ _ADefinitionTranslation_18(OBJ,OBJ);OBJ __ADefinitionTranslation_18; /* decMode */
extern OBJ _ADefinitionTranslation_19(OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_19; /* an */
extern OBJ _ADefinitionTranslation_20(OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_20; /* anWithoutOpParams */
extern OBJ _ADefinitionTranslation_21(OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_21; /* optLambda */
extern OBJ _ADefinitionTranslation_22(OBJ,OBJ);OBJ __ADefinitionTranslation_22; /* variant'22 */
OBJ __ADefinitionTranslation_23; /* variant'23 */
extern OBJ _ADefinitionTranslation_24(OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_24; /* variants'24 */
extern OBJ _ADefinitionTranslation_25(OBJ,OBJ);OBJ __ADefinitionTranslation_25; /* singleVariant'25 */
OBJ __ADefinitionTranslation_26; /* singleVariant'26 */
OBJ __ADefinitionTranslation_27; /* typeDecNops,1'27 */
extern OBJ _ADefinitionTranslation_28(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_28; /* typeDecNops,1'28 */
extern OBJ _ADefinitionTranslation_29(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_29; /* typeDecNops,1'29 */
extern OBJ _ADefinitionTranslation_30(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_30; /* typeDecNops,1'30 */
extern OBJ _ADefinitionTranslation_31(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADefinitionTranslation_31; /* typeDecNops,1'31 */

extern OBJ _ADefinitionTranslation_1(OBJ x1,OBJ x2,OBJ x3) /* dec */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x3,1);
 {OBJ x4;
  x4=_AInterOpalAccess_21(x1,x3);
  {OBJ x55=FLD1(x4,5);
   if(EXPRD(x4,1)){
    FLD1(x4,5)=NIL;DSPRD(x4);
   }else{
    COPY(x55,1);
    FRPRD(x4,1);}
   if(ISPRM(x55)&&(ISTGPRM(x55,0))){
    CPPRD(x1,4);
    CPPRD(x2,2);
    CPPRD(x3,3);
    CPPRD(__AAc_74,1);
    {OBJ x58;OBJ x59;OBJ x60;OBJ x61;OBJ x62;OBJ x63;
     x58=_AInterOpalAccess_27(x1,x3);
     x59=_ANameTranslation_3(x1,x3);
     x60=_AExprTranslation_23(__AAc_74,x1,x2,x3);
     x61=_AFctTranslation_3(x1,x2,x58);
     x62=_ADefinitionTranslation_19(x1,x2,x3,x61);
     PRD(4,2,x63);FLD(x63,1)=x62;FLD(x63,2)=x59;FLD(x63,3)=__AAc_14;FLD(x63,4)=x60;
     PRD1(1,r);FLD1(r,1)=x63;}
   }else{
    if(ISPRD(x55)&&(ISTGPRD(x55,5))){
     {OBJ x64=FLD(x55,1);
      COPY(x64,1);
      FRPRD(x3,1);
      {OBJ x65;OBJ x66;
       x65=_AInterOpalVars_2(x55);
       x66=_ASeq_38(x64);
       {OBJ x68=FLD1(x65,2);
	{OBJ x69;
	 ANat_2(x68,x69);
	 PRD1(1,r);
	 FLD1(r,1)=_ADefinitionTranslation_5(x1,x2,x65,x69,x66);}}}}
    }else{
     FRPRD(x1,1);
     FRPRD(x2,1);
     FRPRD(x3,1);
     FREE(x55,1);
     r=__AOption_5;}}}}
 return r;}

extern TUP3 _ADefinitionTranslation_2(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* typeDecNops */
{TUP3 r;
 CPPRD(x1,1);
 CPPRD(x3,1);
 {OBJ x5;
  x5=_AInterOpalAccess_21(x1,x3);
  {OBJ x67=FLD1(x5,5);
   if(EXPRD(x5,1)){
    FLD1(x5,5)=NIL;DSPRD(x5);
   }else{
    COPY(x67,1);
    FRPRD(x5,1);}
   {OBJ x84;OBJ x85;OBJ x86;
    if(ISPRM(x67)&&(ISTGPRM(x67,0))){
     {OBJ x70;OBJ x71;OBJ x72;OBJ x73;
      x70=_ANameTranslation_3(x1,x3);
      x71=_AParameterTranslation_5(x2);
      x72=_AFctTranslation_6(x71,__ATypeAn_40);
      PRD(2,1,x73);FLD(x73,1)=x70;FLD(x73,2)=x72;
      PRD1(1,r.c1);FLD1(r.c1,1)=x73;
      r.c2=__ASeq_6;r.c3=x4;}
    }else{
     if(ISPRD(x67)&&(ISTGPRD(x67,2))){
      if(EXPRD(x67,1)){
       FREE(FLD(x67,1),1);DSPRDF(x67);
      }else{
       DCPRD(x67,1);}
      FRPRD(x1,1);
      FRPRD(x2,1);
      FRPRD(x3,1);
      r.c1=__AOption_5;r.c2=__ASeq_6;r.c3=x4;
     }else{
      if(ISPRD(x67)&&(ISTGPRD(x67,4))){
       {OBJ x77=FLD(x67,1);
	if(EXPRD(x67,1)){
	 DSPRDF(x67);
	}else{
	 COPY(x77,1);
	 FRPRD(x67,1);}
	{
	 PRD1(1,r.c1);
	 {TUP3 t=_ADefinitionTranslation_7(x1,x2,x4,x3,x77);
	  FLD1(r.c1,1)=t.c1;
	  r.c2=t.c2;
	  r.c3=t.c3;}}}
      }else{
       HLT("DefinitionTranslation at <102,14-109,52> : missing else in typeDecNops\'DefinitionTranslation:interOpal**info->name**nat->option**seq**nat");}}}}}}
 return r;}
extern OBJ _ADefinitionTranslation_2_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* typeDecNops */
{OBJ r;
 {TUP3 t=_ADefinitionTranslation_2(x1,x2,x3,x4);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern OBJ _ADefinitionTranslation_3(OBJ x1,OBJ x2) /* isUsedOrForcedForAc */
{OBJ r;
 FRPRD(x1,1);
 FRPRD(x2,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _ADefinitionTranslation_5(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5) /* dec,1 */
{OBJ r;
 for(;;){
  {OBJ x200=FLD1(x5,1);OBJ x201=FLD1(x5,2);OBJ x202=FLD1(x5,3);OBJ x203=FLD1(x5,4);FLAG x_x5=EXPRD(x5,1);
   if(x_x5){
   }else{
    COPY(x200,1);CPPRD(x201,1);COPY(x202,1);CPPRD(x203,1);}
   if(ISTGPRD(x201,1)){
    {OBJ x205=FLD(x201,2);
     CPPRD(x205,1);
     if(x_x5){
      DSPRDF(x5);
     }else{
      FRPRD(x5,1);}
     FREE(x200,1);
     FREE(x202,1);
     if(ISTGPRD(x2,0)){
      {OBJ x211=FLD(x2,6);
       COPY(x211,1);
       CPPRD(x1,2);
       CPPRD(x2,1);
       CPPRD(x205,2);
       {OBJ x212;OBJ x213;
	x212=_ANameTranslation_3(x1,x205);
	x213=_AExprTranslation_1(x1,x2,x205,x3,x4,x203);
	{OBJ x214=FLD1(x213,1);OBJ x215=FLD1(x213,2);
	 if(EXPRD(x213,1)){
	  DSPRDF(x213);
	 }else{
	  CPPRD(x214,1);COPY(x215,1);
	  FRPRD(x213,1);}
	 {OBJ x217;OBJ x222;
	  x217=_ADefinitionTranslation_19(x1,x2,x205,x215);
	  if(ISPRM(x211)){
	   x222=x214;
	   if(EXPRD(x201,1)){
	    DSPRD(x201);
	   }else{
	    DCPRD(x201,1);}
	  }else{
	   {OBJ x220;OBJ x221;
	    x220=_AInterOpal_130(x201);
	    x221=_ANameTranslation_6(x220);
	    PRD(3,4,x222);FLD(x222,1)=x221;FLD(x222,2)=x211;FLD(x222,3)=x214;}}
	  PRD(4,2,r);FLD(r,1)=x217;FLD(r,2)=x212;FLD(r,3)=__AAc_14;FLD(r,4)=x222;}}}}
     }else{
      HLT("ParameterTranslation at <unknown> : undefined selection opParamDecs\'ParameterTranslation:info->seq");}}
   }else{
    if(ISTGPRD(x201,4)){
     {OBJ x224=FLD(x201,2);OBJ x225=FLD(x201,3);
      CPPRD(x224,1);CPPRD(x225,1);
      if(ISTGPRD(x225,2)){
       {OBJ x227=FLD(x225,2);
	CPPRD(x227,1);
	if(EXPRD(x225,1)){
	 DSPRD(x225);
	}else{
	 DCPRD(x225,1);}
	{OBJ x228;OBJ x229;OBJ x230;OBJ x231;
	 x228=_AInterOpal_130(x201);
	 PRD1(2,x229);FLD1(x229,1)=x227;FLD1(x229,2)=__ASeq_6;
	 PRD(3,5,x230);FLD(x230,1)=x228;FLD(x230,2)=x229;FLD(x230,3)=x203;
	 if(x_x5){
	  RSOME(x5,x231);FLD1(x231,2)=x224;FLD1(x231,4)=x230;
	 }else{
	  FRPRD(x5,1);PRD1(4,x231);FLD1(x231,1)=x200;FLD1(x231,2)=x224;FLD1(x231,3)=x202;FLD1(x231,4)=x230;}
	 x5=x231;continue;}}
      }else{
       if(ISTGPRD(x225,5)){
	{OBJ x233=FLD(x225,2);
	 COPY(x233,1);
	 if(EXPRD(x225,1)){
	  DSPRD(x225);
	 }else{
	  DCPRD(x225,1);}
	 CPCLS(__AInterOpal_139,1);
	 {OBJ x234;OBJ x235;OBJ x236;OBJ x237;
	  x234=_AInterOpal_130(x201);
	  x235=_ASeqMap_3(__AInterOpal_139,x233);
	  PRD(3,5,x236);FLD(x236,1)=x234;FLD(x236,2)=x235;FLD(x236,3)=x203;
	  if(x_x5){
	   RSOME(x5,x237);FLD1(x237,2)=x224;FLD1(x237,4)=x236;
	  }else{
	   FRPRD(x5,1);PRD1(4,x237);FLD1(x237,1)=x200;FLD1(x237,2)=x224;FLD1(x237,3)=x202;FLD1(x237,4)=x236;}
	  x5=x237;continue;}}
       }else{
	HLT("DefinitionTranslation at <78,5-7> : missing else in dec\'DefinitionTranslation:interOpal**info**locSig**nat->eqn->dec");}}}
    }else{
     HLT("DefinitionTranslation at <78,5-7> : missing else in dec\'DefinitionTranslation:interOpal**info**locSig**nat->eqn->dec");}}}
  break;}
 return r;}

extern TUP3 _ADefinitionTranslation_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* typeDecNops,1 */
{TUP3 r;
 if(ISPRM(x5)){
  CPPRD(x1,3);
  CPPRD(x2,4);
  CPPRD(x4,1);
  CPCLS(__ADefinitionTranslation_31,1);
  CPCLS(__AInterOpal_309,1);
  {OBJ x1339;OBJ x1340;OBJ x1341;OBJ x1342;OBJ x1343;OBJ x1344;OBJ x1345;OBJ x1346;OBJ x1348;TUP4 x1349;OBJ x1353;OBJ x1354;OBJ x1356;
   PRD(1,0,x1339);FLD(x1339,1)=x4;
   x1340=_AParameterTranslation_5(x2);
   x1341=_ANameTranslation_3(x1,x4);
   x1342=_AParameterTranslation_6(x2);
   x1343=_AFctTranslation_3(x1,x2,x1339);
   COPY(x1343,1);
   ANat_2(x1342,x1344);
   ANat_2(x1344,x1345);
   PRDF(1,1,x1346);FLD(x1346,1)=x1344;
   CPPRD(x1346,1);
   x1348=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ADefinitionTranslation_31,5))(__ADefinitionTranslation_31,x1,x2,x5,x1346,x1343);
   x1349=_ADefinitionTranslation_8(x1,x2,x1343,x3,x1346,x1345,x5);r.c3=x1349.c3;
   PRD(1,5,x1353);FLD(x1353,1)=x1349.c1;
   x1354=_AFctTranslation_6(x1340,x1353);
   PRD(2,1,r.c1);FLD(r.c1,1)=x1341;FLD(r.c1,2)=x1354;
   x1356=_AMapReduce_6(__AInterOpal_309,x1348,__ASeq_6,x1349.c4);
   r.c2=_ASeq_26(x1349.c2,x1356);}
 }else{
  {OBJ x1197=FLD1(x5,1);OBJ x1198=FLD1(x5,2);
   CPPRD(x1197,1);COPY(x1198,1);
   {OBJ x1199=FLD1(x1197,1);OBJ x1200=FLD1(x1197,2);OBJ x1201=FLD1(x1197,3);OBJ x1202=FLD1(x1197,4);
    COPY(x1199,1);CPPRD(x1200,1);CPPRD(x1201,1);COPY(x1202,1);
    if(ISPRM(x1202)){
     FREE(x1199,1);
     FRPRD(x1200,1);
     FRPRD(x1201,1);
     CPPRD(x1,1);
     CPPRD(x2,2);
     CPPRD(x4,2);
     {OBJ x1309;OBJ x1310;OBJ x1311;OBJ x1312;OBJ x1317;OBJ x1313;OBJ x1314;OBJ x1318;OBJ x1319;
      PRD(1,0,x1309);FLD(x1309,1)=x4;
      x1310=_AParameterTranslation_5(x2);
      x1311=_ANameTranslation_3(x1,x4);
      x1312=_AParameterTranslation_6(x2);
      if(ISPRM(x1198)){
       CPPRD(x1,1);
       CPPRD(x2,1);
       x1317=__ABUILTIN_5;
      }else{
       if(EXPRD(x1198,1)){
	DSPRD(x1198);
       }else{
	DCPRD(x1198,1);}
       CPPRD(x1,1);
       CPPRD(x2,1);
       x1317=__ABUILTIN_3;}
      x1313=_AFctTranslation_3(x1,x2,x1309);
      ANat_2(x1312,x1314);
      ANat_2(x1314,x1318);
      PRDF(1,1,x1319);FLD(x1319,1)=x1314;
      if(ISTGPRM(x1317,1)){
       if(EXPRD(x5,1)){
	DSPRD(x5);
       }else{
	DCPRD(x5,1);}
       CPPRD(x1,1);
       {OBJ x1320;OBJ x1321;TUP3 x1323;
	x1320=_AInterOpalAccess_21(x1,x4);
	x1321=_AInterOpalAccess_31(x1320);
	x1323=_ADefinitionTranslation_11(x1,x2,x1313,x3,x1319,x1318,x1321,x1197);r.c2=x1323.c2;r.c3=x1323.c3;
	PRD(2,1,r.c1);FLD(r.c1,1)=x1311;
	FLD(r.c1,2)=_AFctTranslation_6(x1310,x1323.c1);}
      }else{
       FRPRD(x4,1);
       if(EXPRD(x1197,1)){
	DSPRD(x1197);
       }else{
	DCPRD(x1197,1);}
       CPPRD(x1,1);
       CPPRD(x2,1);
       CPPRD(x5,1);
       COPY(x1313,1);
       CPPRD(x1319,1);
       CPCLS(__ADefinitionTranslation_30,1);
       CPCLS(__AInterOpal_309,1);
       {OBJ x1329;TUP4 x1330;OBJ x1334;OBJ x1335;OBJ x1337;
	x1329=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ADefinitionTranslation_30,5))(__ADefinitionTranslation_30,x1,x2,x5,x1319,x1313);
	x1330=_ADefinitionTranslation_8(x1,x2,x1313,x3,x1319,x1318,x5);r.c3=x1330.c3;
	PRD(1,5,x1334);FLD(x1334,1)=x1330.c1;
	x1335=_AFctTranslation_6(x1310,x1334);
	PRD(2,1,r.c1);FLD(r.c1,1)=x1311;FLD(r.c1,2)=x1335;
	x1337=_AMapReduce_6(__AInterOpal_309,x1329,__ASeq_6,x1330.c4);
	r.c2=_ASeq_26(x1330.c2,x1337);}}}
    }else{
     {OBJ x1203=FLD1(x1202,1);OBJ x1204=FLD1(x1202,2);
      CPPRD(x1203,1);COPY(x1204,1);
      CPPRD(x1,1);
      CPPRD(x2,1);
      CPPRD(x4,1);
      {OBJ x1205;OBJ x1206;OBJ x1209;
       x1205=_AParameterTranslation_5(x2);
       x1206=_ANameTranslation_3(x1,x4);
       if(ISPRM(x1198)){
	x1209=__ABUILTIN_5;
       }else{
	if(EXPRD(x1198,1)){
	 DSPRD(x1198);
	}else{
	 DCPRD(x1198,1);}
	x1209=__ABUILTIN_3;}
       if(ISPRM(x1204)){
	if(EXPRD(x1197,1)){
	 DSPRD(x1197);
	}else{
	 DCPRD(x1197,1);}
	if(ISTGPRM(x1209,1)){
	 if(EXPRD(x5,1)){
	  DSPRD(x5);
	 }else{
	  DCPRD(x5,1);}
	 {OBJ x1210=FLD1(x1203,1);OBJ x1211=FLD1(x1203,2);FLAG x_x1203=EXPRD(x1203,1);
	  if(x_x1203){
	   CPPRD(x1211,1);
	  }else{
	   COPY(x1210,1);CPPRD(x1211,2);}
	  CPPRD(x1,1);
	  {OBJ x1212;
	   x1212=_AInterOpalAccess_27(x1,x1211);
	   if(ISTGPRD(x1212,2)){
	    {OBJ x1214=FLD(x1212,2);FLAG x_x1212=EXPRD(x1212,1);
	     if(x_x1212){
	     }else{
	      CPPRD(x1214,1);}
	     CPPRD(x1,10);
	     CPPRD(x2,12);
	     CPPRD(x4,3);
	     COPY(x1199,1);
	     CPPRD(x1200,1);
	     CPPRD(x1201,1);
	     CPPRD(x1211,1);
	     COPY(__ADefinitionTranslation_27,1);
	     CPPRD(__ABuiltin_3,1);
	     {OBJ x1215;OBJ x1216;OBJ x1217;OBJ x1218;OBJ x1219;OBJ x1220;OBJ x1221;OBJ x1222;OBJ x1223;OBJ x1224;OBJ x1225;OBJ x1226;OBJ x1227;OBJ x1228;OBJ x1229;OBJ x1230;OBJ x1232;OBJ x1233;OBJ x1234;OBJ x1235;OBJ x1236;OBJ x1237;OBJ x1238;OBJ x1239;OBJ x1240;OBJ x1241;OBJ x1242;OBJ x1243;OBJ x1244;OBJ x1245;OBJ x1246;OBJ x1247;OBJ x1248;OBJ x1249;OBJ x1250;OBJ x1251;OBJ x1252;OBJ x1253;OBJ x1254;OBJ x1255;OBJ x1256;OBJ x1257;OBJ x1258;OBJ x1259;OBJ x1260;OBJ x1261;OBJ x1262;OBJ x1263;
	      x1215=_AFctTranslation_3(x1,x2,x1214);
	      COPY(x1215,3);
	      x1216=_AParameterTranslation_6(x2);
	      PRD(1,0,x1217);FLD(x1217,1)=x4;
	      x1218=_AFctTranslation_3(x1,x2,x1217);
	      COPY(x1218,1);
	      ANat_2(x1216,x1219);
	      x1220=_ANameTranslation_6(x1199);
	      COPY(x1220,1);
	      PRDF(1,1,x1221);FLD(x1221,1)=x1219;
	      if(x_x1203){
	       RSOME(x1203,x1222);FLD1(x1222,1)=x1218;FLD1(x1222,2)=__ASeq_6;
	      }else{
	       FRPRD(x1203,1);PRD1(2,x1222);FLD1(x1222,1)=x1218;FLD1(x1222,2)=__ASeq_6;}
	      x1223=_ANameTranslation_3(x1,x1201);
	      if(x_x1212){
	       RPRD(x1212,x1224);FRPRD(FLD(x1224,1),1);FLD(x1224,1)=x1220;FLD(x1224,2)=__ABuiltin_3;
	      }else{
	       FRPRD(x1212,1);PRD(2,2,x1224);FLD(x1224,1)=x1220;FLD(x1224,2)=__ABuiltin_3;}
	      PRD(2,3,x1225);FLD(x1225,1)=x1222;FLD(x1225,2)=__ADefinitionTranslation_27;
	      x1226=_ADefinitionTranslation_19(x1,x2,x1201,x1225);
	      x1227=_ADefinitionTranslation_14(x2,x1221,x1218,x1220,x1224);
	      PRD(4,2,x1228);FLD(x1228,1)=x1226;FLD(x1228,2)=x1223;FLD(x1228,3)=__AAc_14;FLD(x1228,4)=x1227;
	      if(EXPRD(x1202,1)){
	       RSOME(x1202,x1229);FRPRD(FLD1(x1229,1),1);FLD1(x1229,1)=x1228;FREE(FLD1(x1229,2),1);FLD1(x1229,2)=__ASeq_6;
	      }else{
	       DCPRD(x1202,1);PRD1(2,x1229);FLD1(x1229,1)=x1228;FLD1(x1229,2)=__ASeq_6;}
	      x1230=_AFctTranslation_6(x1205,x1215);
	      PRD(2,1,r.c1);FLD(r.c1,1)=x1206;FLD(r.c1,2)=x1230;
	      x1232=_AInterOpalAccess_21(x1,x4);
	      x1233=_AParameterTranslation_6(x2);
	      PRD(1,0,x1234);FLD(x1234,1)=x4;
	      x1235=_AFctTranslation_3(x1,x2,x1234);
	      COPY(x1235,1);
	      ANat_2(x1233,x1236);
	      x1237=_AInterOpalAccess_31(x1232);
	      x1238=_ANameTranslation_6(x1237);
	      PRDF(1,1,x1239);FLD(x1239,1)=x1236;
	      CPPRD(x1239,1);
	      PRD1(2,x1240);FLD1(x1240,1)=x1235;FLD1(x1240,2)=__ASeq_6;
	      x1241=_ANameTranslation_3(x1,x1211);
	      x1242=_ANameTranslation_6(x1210);
	      PRD(2,2,x1243);FLD(x1243,1)=x1242;FLD(x1243,2)=x1239;
	      x1244=_ADefinitionTranslation_14(x2,x1239,x1235,x1238,x1243);
	      PRD(2,3,x1245);FLD(x1245,1)=x1240;FLD(x1245,2)=x1215;
	      x1246=_ADefinitionTranslation_19(x1,x2,x1211,x1245);
	      PRD(4,2,x1247);FLD(x1247,1)=x1246;FLD(x1247,2)=x1241;FLD(x1247,3)=__AAc_14;FLD(x1247,4)=x1244;
	      PRD1(2,x1248);FLD1(x1248,1)=x1247;FLD1(x1248,2)=__ASeq_6;
	      PRD(1,0,x1249);FLD(x1249,1)=x4;
	      x1250=_AParameterTranslation_6(x2);
	      ANat_2(x1250,x1251);
	      x1252=_AFctTranslation_3(x1,x2,x1249);
	      x1253=_ANameTranslation_3(x1,x1200);
	      PRDF(1,1,x1254);FLD(x1254,1)=x1251;
	      CPPRD(x1254,1);
	      x1255=_ANameTranslation_6(x1199);
	      COPY(x1255,1);
	      PRD(2,2,x1256);FLD(x1256,1)=x1255;FLD(x1256,2)=x1254;
	      x1257=_ADefinitionTranslation_14(x2,x1254,x1215,x1255,x1256);
	      PRD1(2,x1258);FLD1(x1258,1)=x1215;FLD1(x1258,2)=__ASeq_6;
	      PRD(2,3,x1259);FLD(x1259,1)=x1258;FLD(x1259,2)=x1252;
	      x1260=_ADefinitionTranslation_19(x1,x2,x1200,x1259);
	      PRD(4,2,x1261);FLD(x1261,1)=x1260;FLD(x1261,2)=x1253;FLD(x1261,3)=__AAc_14;FLD(x1261,4)=x1257;
	      PRD1(2,x1262);FLD1(x1262,1)=x1261;FLD1(x1262,2)=__ASeq_6;
	      x1263=_ASeq_26(x1262,x1248);
	      r.c2=_ASeq_26(x1229,x1263);
	      r.c3=x3;}}
	   }else{
	    HLT("InterOpal at <unknown> : undefined selection codom\'InterOpal:fct->fct");}}}
	}else{
	 if(EXPRD(x1202,1)){
	  DSPRD(x1202);
	 }else{
	  DCPRD(x1202,1);}
	 FREE(x1199,1);
	 FRPRD(x1200,1);
	 FRPRD(x1201,1);
	 FRPRD(x1203,1);
	 CPPRD(x1,2);
	 CPPRD(x2,3);
	 CPPRD(x5,1);
	 CPCLS(__ADefinitionTranslation_28,1);
	 CPCLS(__AInterOpal_309,1);
	 {OBJ x1265;OBJ x1266;OBJ x1267;OBJ x1268;OBJ x1269;OBJ x1270;OBJ x1272;TUP4 x1273;OBJ x1277;OBJ x1278;OBJ x1280;
	  x1265=_AParameterTranslation_6(x2);
	  PRD(1,0,x1266);FLD(x1266,1)=x4;
	  ANat_2(x1265,x1267);
	  x1268=_AFctTranslation_3(x1,x2,x1266);
	  COPY(x1268,1);
	  PRDF(1,1,x1269);FLD(x1269,1)=x1267;
	  CPPRD(x1269,1);
	  ANat_2(x1267,x1270);
	  x1272=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ADefinitionTranslation_28,5))(__ADefinitionTranslation_28,x1,x2,x5,x1269,x1268);
	  x1273=_ADefinitionTranslation_8(x1,x2,x1268,x3,x1269,x1270,x5);r.c3=x1273.c3;
	  PRD(1,5,x1277);FLD(x1277,1)=x1273.c1;
	  x1278=_AFctTranslation_6(x1205,x1277);
	  PRD(2,1,r.c1);FLD(r.c1,1)=x1206;FLD(r.c1,2)=x1278;
	  x1280=_AMapReduce_6(__AInterOpal_309,x1272,__ASeq_6,x1273.c4);
	  r.c2=_ASeq_26(x1273.c2,x1280);}}
       }else{
	if(EXPRD(x1202,1)){
	 DSPRD(x1202);
	}else{
	 DCPRD(x1202,1);}
	if(EXPRD(x1204,1)){
	 DSPRD(x1204);
	}else{
	 DCPRD(x1204,1);}
	FREE(x1199,1);
	FRPRD(x1200,1);
	FRPRD(x1201,1);
	FRPRD(x1203,1);
	CPPRD(x1,1);
	CPPRD(x2,2);
	CPPRD(x4,1);
	{OBJ x1284;OBJ x1285;OBJ x1286;OBJ x1287;OBJ x1288;OBJ x1289;
	 x1284=_AParameterTranslation_6(x2);
	 PRD(1,0,x1285);FLD(x1285,1)=x4;
	 ANat_2(x1284,x1286);
	 x1287=_AFctTranslation_3(x1,x2,x1285);
	 PRDF(1,1,x1288);FLD(x1288,1)=x1286;
	 ANat_2(x1286,x1289);
	 if(ISTGPRM(x1209,1)){
	  if(EXPRD(x5,1)){
	   DSPRD(x5);
	  }else{
	   DCPRD(x5,1);}
	  CPPRD(x1,1);
	  {OBJ x1290;OBJ x1291;TUP3 x1293;
	   x1290=_AInterOpalAccess_21(x1,x4);
	   x1291=_AInterOpalAccess_31(x1290);
	   x1293=_ADefinitionTranslation_11(x1,x2,x1287,x3,x1288,x1289,x1291,x1197);r.c2=x1293.c2;r.c3=x1293.c3;
	   PRD(2,1,r.c1);FLD(r.c1,1)=x1206;
	   FLD(r.c1,2)=_AFctTranslation_6(x1205,x1293.c1);}
	 }else{
	  FRPRD(x4,1);
	  if(EXPRD(x1197,1)){
	   DSPRD(x1197);
	  }else{
	   DCPRD(x1197,1);}
	  CPPRD(x1,1);
	  CPPRD(x2,1);
	  CPPRD(x5,1);
	  COPY(x1287,1);
	  CPPRD(x1288,1);
	  CPCLS(__ADefinitionTranslation_29,1);
	  CPCLS(__AInterOpal_309,1);
	  {OBJ x1299;TUP4 x1300;OBJ x1304;OBJ x1305;OBJ x1307;
	   x1299=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ADefinitionTranslation_29,5))(__ADefinitionTranslation_29,x1,x2,x5,x1288,x1287);
	   x1300=_ADefinitionTranslation_8(x1,x2,x1287,x3,x1288,x1289,x5);r.c3=x1300.c3;
	   PRD(1,5,x1304);FLD(x1304,1)=x1300.c1;
	   x1305=_AFctTranslation_6(x1205,x1304);
	   PRD(2,1,r.c1);FLD(r.c1,1)=x1206;FLD(r.c1,2)=x1305;
	   x1307=_AMapReduce_6(__AInterOpal_309,x1299,__ASeq_6,x1300.c4);
	   r.c2=_ASeq_26(x1300.c2,x1307);}}}}}}}}}}
 return r;}
extern OBJ _ADefinitionTranslation_7_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* typeDecNops,1 */
{OBJ r;
 {TUP3 t=_ADefinitionTranslation_7(x1,x2,x3,x4,x5);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP4 _ADefinitionTranslation_8(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* variants */
{TUP4 r;
 if(ISPRM(x7)){
  FRPRD(x1,1);
  FRPRD(x2,1);
  FREE(x3,1);
  FRPRD(x5,1);
  r.c1=__ASeq_6;r.c2=__ASeq_6;r.c3=x4;r.c4=__ATree_7;
 }else{
  {OBJ x38=FLD1(x7,1);OBJ x39=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
   }else{
    CPPRD(x38,1);COPY(x39,1);}
   CPPRD(x1,1);
   CPPRD(x2,1);
   COPY(x3,1);
   CPPRD(x5,1);
   CPCLS(__ADefinitionTranslation_24,1);
   CPCLS(__AInterOpal_309,1);
   {TUP4 x42;TUP4 x47;
    x42=_ADefinitionTranslation_9(x1,x2,x3,x4,x5,x6,x38);
    x47=_ADefinitionTranslation_8(x1,x2,x3,x42.c3,x5,x6,x39);r.c3=x47.c3;
    r.c2=_ASeq_26(x42.c2,x47.c2);
    if(x_x7){
     RSOME(x7,r.c1);FLD1(r.c1,1)=x42.c1;FLD1(r.c1,2)=x47.c1;
    }else{
     FRPRD(x7,1);PRD1(2,r.c1);FLD1(r.c1,1)=x42.c1;FLD1(r.c1,2)=x47.c1;}
    r.c4=_AMapReduce_6(__AInterOpal_309,__ADefinitionTranslation_24,x47.c4,x42.c4);}}}
 return r;}
extern OBJ _ADefinitionTranslation_8_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* variants */
{OBJ r;
 {TUP4 t=_ADefinitionTranslation_8(x1,x2,x3,x4,x5,x6,x7);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern TUP4 _ADefinitionTranslation_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* variant */
{TUP4 r;
 {OBJ x52=FLD1(x7,1);OBJ x53=FLD1(x7,2);OBJ x54=FLD1(x7,3);OBJ x55=FLD1(x7,4);
  if(EXPRD(x7,1)){
   CPPRD(x54,1);
   DSPRDF(x7);
  }else{
   COPY(x52,1);CPPRD(x53,1);CPPRD(x54,2);COPY(x55,1);
   FRPRD(x7,1);}
  CPPRD(x1,3);
  CPPRD(x2,3);
  COPY(x3,2);
  CPCLS(__ADefinitionTranslation_22,1);
  COPY(__ADefinitionTranslation_23,1);
  CPPRD(__ABuiltin_3,1);
  CPPRD(__ABuiltin_4,1);
  {OBJ x56;TUP4 x58;OBJ x63;TUP4 x65;OBJ x69;OBJ x70;OBJ x71;OBJ x72;OBJ x73;OBJ x74;OBJ x75;OBJ x76;OBJ x77;OBJ x78;
   x56=_ANameTranslation_6(x52);
   COPY(x56,3);
   x58=_ADefinitionTranslation_16(x1,x2,x6,x55);
   COPY(x58.c3,1);
   COPY(x58.c4,2);
   x63=_ASeqZip_4(__ADefinitionTranslation_22,x58.c3,x58.c4);
   COPY(x63,1);
   x65=_ADefinitionTranslation_15(x1,x2,x4,x53,x58.c4,x3,x56);r.c1=x65.c1;r.c3=x65.c4;
   CPPRD(x65.c3,1);
   r.c4=_ADefinitionTranslation_10(x65.c3,x63,x58.c1,x58.c2,x58.c3,x58.c4);
   PRD1(2,x69);FLD1(x69,1)=x3;FLD1(x69,2)=__ASeq_6;
   x70=_ANameTranslation_3(x1,x54);
   PRD(2,3,x71);FLD(x71,1)=x69;FLD(x71,2)=__ADefinitionTranslation_23;
   x72=_ADefinitionTranslation_19(x1,x2,x54,x71);
   PRD(2,2,x73);FLD(x73,1)=x56;FLD(x73,2)=__ABuiltin_4;
   PRD(2,2,x74);FLD(x74,1)=x56;FLD(x74,2)=__ABuiltin_3;
   PRD1(3,x75);FLD1(x75,1)=x65.c3;FLD1(x75,2)=x63;FLD1(x75,3)=x74;
   PRD1(2,x76);FLD1(x76,1)=x75;FLD1(x76,2)=__ASeq_6;
   x77=_ADefinitionTranslation_13(x2,x5,x3,x56,x76,x73);
   PRD(4,2,x78);FLD(x78,1)=x72;FLD(x78,2)=x70;FLD(x78,3)=__AAc_14;FLD(x78,4)=x77;
   PRD1(2,r.c2);FLD1(r.c2,1)=x78;FLD1(r.c2,2)=x65.c2;}}
 return r;}
extern OBJ _ADefinitionTranslation_9_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* variant */
{OBJ r;
 {TUP4 t=_ADefinitionTranslation_9(x1,x2,x3,x4,x5,x6,x7);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern OBJ _ADefinitionTranslation_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* buildSelMap */
{OBJ r;
 if(ISPRM(x3)){
  FRPRD(x1,1);
  FREE(x2,1);
  if(ISPRM(x4)){
   if(ISPRM(x5)){
    if(ISPRM(x6)){
     r=__ATree_7;
    }else{
     HLT("DefinitionTranslation at <246,5-15> : missing else in buildSelMap\'DefinitionTranslation:ide**seq->seq**seq**seq**seq->map");}
   }else{
    HLT("DefinitionTranslation at <246,5-15> : missing else in buildSelMap\'DefinitionTranslation:ide**seq->seq**seq**seq**seq->map");}
  }else{
   HLT("DefinitionTranslation at <246,5-15> : missing else in buildSelMap\'DefinitionTranslation:ide**seq->seq**seq**seq**seq->map");}
 }else{
  {OBJ x223=FLD1(x3,1);OBJ x224=FLD1(x3,2);
   if(EXPRD(x3,1)){
    DSPRDF(x3);
   }else{
    CPPRD(x223,1);COPY(x224,1);
    FRPRD(x3,1);}
   if(ISPRM(x4)){
    HLT("DefinitionTranslation at <246,5-15> : missing else in buildSelMap\'DefinitionTranslation:ide**seq->seq**seq**seq**seq->map");
   }else{
    {OBJ x225=FLD1(x4,1);OBJ x226=FLD1(x4,2);
     if(EXPRD(x4,1)){
      DSPRDF(x4);
     }else{
      COPY(x225,1);COPY(x226,1);
      FRPRD(x4,1);}
     if(ISPRM(x5)){
      HLT("DefinitionTranslation at <246,5-15> : missing else in buildSelMap\'DefinitionTranslation:ide**seq->seq**seq**seq**seq->map");
     }else{
      {OBJ x227=FLD1(x5,1);OBJ x228=FLD1(x5,2);
       if(EXPRD(x5,1)){
	DSPRDF(x5);
       }else{
	CPPRD(x227,1);COPY(x228,1);
	FRPRD(x5,1);}
       if(ISPRM(x6)){
	HLT("DefinitionTranslation at <246,5-15> : missing else in buildSelMap\'DefinitionTranslation:ide**seq->seq**seq**seq**seq->map");
       }else{
	{OBJ x229=FLD1(x6,1);OBJ x230=FLD1(x6,2);FLAG x_x6=EXPRD(x6,1);
	 if(x_x6){
	 }else{
	  COPY(x229,1);COPY(x230,1);}
	 CPPRD(x1,1);
	 COPY(x2,1);
	 CPCLS(__AInterOpal_309,1);
	 {OBJ x236;OBJ x235;OBJ x237;OBJ x238;
	  PRD(2,2,x236);FLD(x236,1)=x225;FLD(x236,2)=x227;
	  x235=_ADefinitionTranslation_10(x1,x2,x224,x226,x228,x230);
	  PRD1(3,x237);FLD1(x237,1)=x1;FLD1(x237,2)=x2;FLD1(x237,3)=x236;
	  if(x_x6){
	   RSOME(x6,x238);FLD1(x238,1)=x237;FLD1(x238,2)=x229;
	  }else{
	   FRPRD(x6,1);PRD1(2,x238);FLD1(x238,1)=x237;FLD1(x238,2)=x229;}
	  r=_AMap_31(__AInterOpal_309,x223,x238,x235);}}}}}}}}}
 return r;}

extern TUP3 _ADefinitionTranslation_11(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* singleVariant */
{TUP3 r;
 {OBJ x51=FLD1(x8,1);OBJ x52=FLD1(x8,2);OBJ x53=FLD1(x8,3);OBJ x54=FLD1(x8,4);
  if(EXPRD(x8,1)){
   CPPRD(x53,1);
   DSPRDF(x8);
  }else{
   COPY(x51,1);CPPRD(x52,1);CPPRD(x53,2);COPY(x54,1);
   FRPRD(x8,1);}
  CPPRD(x1,4);
  CPPRD(x2,4);
  COPY(x3,3);
  CPPRD(x5,1);
  CPCLS(__ADefinitionTranslation_25,1);
  COPY(__ADefinitionTranslation_26,1);
  CPPRD(__ABuiltin_3,1);
  {OBJ x55;TUP4 x57;OBJ x62;TUP4 x64;OBJ x67;OBJ x68;OBJ x69;OBJ x70;OBJ x71;OBJ x72;OBJ x73;OBJ x74;OBJ x75;
   x55=_ANameTranslation_6(x51);
   COPY(x55,2);
   x57=_ADefinitionTranslation_16(x1,x2,x6,x54);
   COPY(x57.c3,1);
   COPY(x57.c4,2);
   x62=_ASeqZip_4(__ADefinitionTranslation_25,x57.c3,x57.c4);
   x64=_ADefinitionTranslation_15(x1,x2,x4,x52,x57.c4,x3,x55);r.c1=x64.c1;r.c3=x64.c4;
   x67=_ADefinitionTranslation_12(x1,x2,x3,x5,x7,x64.c3,x62,x57.c1,x57.c2,x57.c3,x57.c4);
   PRD1(2,x68);FLD1(x68,1)=x3;FLD1(x68,2)=__ASeq_6;
   x69=_ANameTranslation_3(x1,x53);
   PRD(2,3,x70);FLD(x70,1)=x68;FLD(x70,2)=__ADefinitionTranslation_26;
   x71=_ADefinitionTranslation_19(x1,x2,x53,x70);
   PRD(2,2,x72);FLD(x72,1)=x55;FLD(x72,2)=__ABuiltin_3;
   x73=_ADefinitionTranslation_14(x2,x5,x3,x55,x72);
   PRD(4,2,x74);FLD(x74,1)=x71;FLD(x74,2)=x69;FLD(x74,3)=__AAc_14;FLD(x74,4)=x73;
   PRD1(2,x75);FLD1(x75,1)=x74;FLD1(x75,2)=x64.c2;
   r.c2=_ASeq_26(x75,x67);}}
 return r;}
extern OBJ _ADefinitionTranslation_11_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* singleVariant */
{OBJ r;
 {TUP3 t=_ADefinitionTranslation_11(x1,x2,x3,x4,x5,x6,x7,x8);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern OBJ _ADefinitionTranslation_12(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9,OBJ x10,OBJ x11) /* buildSelDecs */
{OBJ r;
 if(ISPRM(x8)){
  FRPRD(x1,1);
  FRPRD(x2,1);
  FREE(x3,1);
  FRPRD(x4,1);
  FREE(x5,1);
  FRPRD(x6,1);
  FREE(x7,1);
  if(ISPRM(x9)){
   if(ISPRM(x10)){
    if(ISPRM(x11)){
     r=__ASeq_6;
    }else{
     HLT("DefinitionTranslation at <278,5-16> : missing else in buildSelDecs\'DefinitionTranslation:interOpal**info**type**ide**pos**ide**seq->seq**seq**seq**seq->seq");}
   }else{
    HLT("DefinitionTranslation at <278,5-16> : missing else in buildSelDecs\'DefinitionTranslation:interOpal**info**type**ide**pos**ide**seq->seq**seq**seq**seq->seq");}
  }else{
   HLT("DefinitionTranslation at <278,5-16> : missing else in buildSelDecs\'DefinitionTranslation:interOpal**info**type**ide**pos**ide**seq->seq**seq**seq**seq->seq");}
 }else{
  {OBJ x298=FLD1(x8,1);OBJ x299=FLD1(x8,2);
   if(EXPRD(x8,1)){
    DSPRDF(x8);
   }else{
    CPPRD(x298,1);COPY(x299,1);
    FRPRD(x8,1);}
   if(ISPRM(x9)){
    HLT("DefinitionTranslation at <278,5-16> : missing else in buildSelDecs\'DefinitionTranslation:interOpal**info**type**ide**pos**ide**seq->seq**seq**seq**seq->seq");
   }else{
    {OBJ x300=FLD1(x9,1);OBJ x301=FLD1(x9,2);FLAG x_x9=EXPRD(x9,1);
     if(x_x9){
     }else{
      COPY(x300,1);COPY(x301,1);}
     if(ISPRM(x10)){
      HLT("DefinitionTranslation at <278,5-16> : missing else in buildSelDecs\'DefinitionTranslation:interOpal**info**type**ide**pos**ide**seq->seq**seq**seq**seq->seq");
     }else{
      {OBJ x302=FLD1(x10,1);OBJ x303=FLD1(x10,2);FLAG x_x10=EXPRD(x10,1);
       if(x_x10){
       }else{
	CPPRD(x302,1);COPY(x303,1);}
       if(ISPRM(x11)){
	HLT("DefinitionTranslation at <278,5-16> : missing else in buildSelDecs\'DefinitionTranslation:interOpal**info**type**ide**pos**ide**seq->seq**seq**seq**seq->seq");
       }else{
	{OBJ x304=FLD1(x11,1);OBJ x305=FLD1(x11,2);FLAG x_x11=EXPRD(x11,1);
	 if(x_x11){
	  COPY(x304,1);
	 }else{
	  COPY(x304,2);COPY(x305,1);}
	 CPPRD(x1,4);
	 CPPRD(x2,2);
	 COPY(x3,2);
	 CPPRD(x4,1);
	 CPPRD(x6,1);
	 COPY(x7,1);
	 CPPRD(x298,3);
	 {OBJ x310;OBJ x312;OBJ x313;OBJ x314;OBJ x315;OBJ x311;OBJ x316;OBJ x317;OBJ x318;OBJ x319;OBJ x320;OBJ x321;OBJ x322;OBJ x323;
	  if(x_x11){
	   RSOME(x11,x310);FLD1(x310,1)=x3;FLD1(x310,2)=__ASeq_6;
	  }else{
	   FRPRD(x11,1);PRD1(2,x310);FLD1(x310,1)=x3;FLD1(x310,2)=__ASeq_6;}
	  PRD(2,2,x312);FLD(x312,1)=x300;FLD(x312,2)=x302;
	  x313=_ANameTranslation_3(x1,x298);
	  PRD(2,3,x314);FLD(x314,1)=x310;FLD(x314,2)=x304;
	  x315=_AInterOpalAccess_21(x1,x298);
	  x311=_ADefinitionTranslation_12(x1,x2,x3,x4,x5,x6,x7,x299,x301,x303,x305);
	  PRD1(3,x316);FLD1(x316,1)=x6;FLD1(x316,2)=x7;FLD1(x316,3)=x312;
	  x317=_ADefinitionTranslation_19(x1,x2,x298,x314);
	  x318=_AInterOpalAccess_31(x315);
	  COPY(x318,1);
	  x319=_AExprTranslation_3(x1,x298,x318,x304,__ASourceAn_6);
	  if(x_x10){
	   RSOME(x10,x320);FLD1(x320,1)=x316;FLD1(x320,2)=__ASeq_6;
	  }else{
	   FRPRD(x10,1);PRD1(2,x320);FLD1(x320,1)=x316;FLD1(x320,2)=__ASeq_6;}
	  x321=_ANameTranslation_6(x318);
	  x322=_ADefinitionTranslation_13(x2,x4,x3,x321,x320,x319);
	  PRD(4,2,x323);FLD(x323,1)=x317;FLD(x323,2)=x313;FLD(x323,3)=__AAc_14;FLD(x323,4)=x322;
	  if(x_x9){
	   RSOME(x9,r);FLD1(r,1)=x323;FLD1(r,2)=x311;
	  }else{
	   FRPRD(x9,1);PRD1(2,r);FLD1(r,1)=x323;FLD1(r,2)=x311;}}}}}}}}}}
 return r;}

extern OBJ _ADefinitionTranslation_13(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* canonicalCase */
{OBJ r;
 CPPRD(x2,1);
 COPY(x4,2);
 {OBJ x7;OBJ x8;
  PRD(2,2,x7);FLD(x7,1)=x4;FLD(x7,2)=x2;
  PRD(4,6,x8);FLD(x8,1)=x4;FLD(x8,2)=x7;FLD(x8,3)=x5;FLD(x8,4)=x6;
  r=_ADefinitionTranslation_14(x1,x2,x3,x4,x8);}
 return r;}

extern OBJ _ADefinitionTranslation_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* canonicalExp */
{OBJ r;
 {OBJ x13;
  PRD(1,1,x13);FLD(x13,1)=x3;
  if(ISTGPRD(x1,0)){
   {OBJ x25=FLD(x1,6);
    if(EXPRD(x1,1)){
     FLD(x1,6)=NIL;DSPRD(x1);
    }else{
     COPY(x25,1);
     FRPRD(x1,1);}
    COPY(x4,1);
    {OBJ x26;OBJ x27;OBJ x28;OBJ x29;
     x26=_AAn_3(__AAn_2,x13);
     PRD(2,0,x27);FLD(x27,1)=x26;FLD(x27,2)=x2;
     PRD1(2,x28);FLD1(x28,1)=x27;FLD1(x28,2)=__ASeq_6;
     PRD(3,4,x29);FLD(x29,1)=x4;FLD(x29,2)=x28;FLD(x29,3)=x5;
     if(ISPRM(x25)){
      r=x29;
      FREE(x4,1);
     }else{
      PRD(3,4,r);FLD(r,1)=x4;FLD(r,2)=x25;FLD(r,3)=x29;}}}
  }else{
   HLT("ParameterTranslation at <unknown> : undefined selection opParamDecs\'ParameterTranslation:info->seq");}}
 return r;}

extern TUP4 _ADefinitionTranslation_15(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* constructorDecs */
{TUP4 r;
 CPPRD(x1,1);
 CPPRD(x2,1);
 CPPRD(x4,1);
 COPY(x5,2);
 {OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x8=_AFctTranslation_5(x5,x6);
  x9=_AParameterTranslation_21(x2);
  x10=_ANameTranslation_3(x1,x4);
  x11=_ASeq_52(x5,__ANat_5);
  if(ISTGPRM(x9,1)){
   CPPRD(x1,1);
   CPPRD(x2,1);
   CPPRD(x4,1);
   COPY(x8,1);
   {OBJ x12;OBJ x13;OBJ x21;
    x12=_ADefinitionTranslation_20(x1,x2,x4,x8);
    PRDF(2,0,x13);FLD(x13,1)=x3;FLD(x13,2)=__AIde_17;
    ANat_2(x3,x21);
    if(ISTGPRD(x2,0)){
     {OBJ x37=FLD(x2,6);
      COPY(x37,1);
      COPY(x7,1);
      CPPRD(x13,3);
      {OBJ x38;OBJ x39;OBJ x40;OBJ x41;OBJ x44;OBJ x45;OBJ x46;OBJ x47;
       PRD(2,4,x38);FLD(x38,1)=x13;FLD(x38,2)=x5;
       PRD(2,2,x39);FLD(x39,1)=x7;FLD(x39,2)=x13;
       x40=_ADefinitionTranslation_19(x1,x2,x4,x8);
       PRD(4,3,x41);FLD(x41,1)=x12;FLD(x41,2)=x13;FLD(x41,3)=__AAc_14;FLD(x41,4)=x11;
       if(ISPRM(x37)){
	r.c3=x13;r.c4=x21;r.c1=x38;x44=x39;
	FREE(x7,1);
       }else{
	r.c3=x13;r.c4=x21;r.c1=x38;
	PRD(3,4,x44);FLD(x44,1)=x7;FLD(x44,2)=x37;FLD(x44,3)=x39;}
       PRD(4,2,x45);FLD(x45,1)=x40;FLD(x45,2)=x10;FLD(x45,3)=__AAc_14;FLD(x45,4)=x44;
       PRD1(2,x46);FLD1(x46,1)=x45;FLD1(x46,2)=__ASeq_6;
       PRD1(2,r.c2);FLD1(r.c2,1)=x41;FLD1(r.c2,2)=x46;}}
    }else{
     HLT("ParameterTranslation at <unknown> : undefined selection opParamDecs\'ParameterTranslation:info->seq");}}
  }else{
   r.c3=x10;
   FREE(x7,1);
   CPPRD(r.c3,2);
   {OBJ x48;OBJ x50;
    x48=_ADefinitionTranslation_19(x1,x2,x4,x8);
    PRD(2,4,r.c1);FLD(r.c1,1)=r.c3;FLD(r.c1,2)=x5;
    PRD(4,3,x50);FLD(x50,1)=x48;FLD(x50,2)=r.c3;FLD(x50,3)=__AAc_14;FLD(x50,4)=x11;
    PRD1(2,r.c2);FLD1(r.c2,1)=x50;FLD1(r.c2,2)=__ASeq_6;
    r.c4=x3;}}}
 return r;}
extern OBJ _ADefinitionTranslation_15_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* constructorDecs */
{OBJ r;
 {TUP4 t=_ADefinitionTranslation_15(x1,x2,x3,x4,x5,x6,x7);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern TUP4 _ADefinitionTranslation_16(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* components */
{TUP4 r;
 if(ISPRM(x4)){
  FRPRD(x1,1);
  FRPRD(x2,1);
  r.c1=__ASeq_6;r.c2=__ASeq_6;r.c3=__ASeq_6;r.c4=__ASeq_6;
 }else{
  {OBJ x37=FLD1(x4,1);OBJ x38=FLD1(x4,2);FLAG x_x4=EXPRD(x4,1);
   if(x_x4){
   }else{
    CPPRD(x37,1);COPY(x38,1);}
   CPPRD(x1,1);
   CPPRD(x2,1);
   {OBJ x39;TUP4 x43;TUP4 x47;
    ANat_2(x3,x39);
    x43=_ADefinitionTranslation_16(x1,x2,x39,x38);
    x47=_ADefinitionTranslation_17(x1,x2,x3,x37);
    if(x_x4){
     RSOME(x4,r.c4);FLD1(r.c4,1)=x47.c4;FLD1(r.c4,2)=x43.c4;
    }else{
     FRPRD(x4,1);PRD1(2,r.c4);FLD1(r.c4,1)=x47.c4;FLD1(r.c4,2)=x43.c4;}
    PRD1(2,r.c3);FLD1(r.c3,1)=x47.c3;FLD1(r.c3,2)=x43.c3;
    PRD1(2,r.c2);FLD1(r.c2,1)=x47.c2;FLD1(r.c2,2)=x43.c2;
    PRD1(2,r.c1);FLD1(r.c1,1)=x47.c1;FLD1(r.c1,2)=x43.c1;}}}
 return r;}
extern OBJ _ADefinitionTranslation_16_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* components */
{OBJ r;
 {TUP4 t=_ADefinitionTranslation_16(x1,x2,x3,x4);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern TUP4 _ADefinitionTranslation_17(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* component */
{TUP4 r;
 {OBJ x11;
  PRDF(1,1,x11);FLD(x11,1)=x3;
  {OBJ x18=FLD1(x4,1);OBJ x19=FLD1(x4,2);
   if(EXPRD(x4,1)){
    CPPRD(x19,1);
    DSPRDF(x4);
   }else{
    COPY(x18,1);CPPRD(x19,2);
    FRPRD(x4,1);}
   CPPRD(x1,1);
   {OBJ x20;OBJ x21;
    x20=_AInterOpalAccess_27(x1,x19);
    x21=_ANameTranslation_6(x18);
    if(ISTGPRD(x20,2)){
     {OBJ x23=FLD(x20,2);
      if(EXPRD(x20,1)){
       r.c3=x11;r.c1=x19;r.c2=x21;
       FRPRD(FLD(x20,1),1);DSPRDF(x20);
      }else{
       CPPRD(x23,1);
       r.c3=x11;r.c1=x19;r.c2=x21;
       FRPRD(x20,1);}
      r.c4=_AFctTranslation_3(x1,x2,x23);}
    }else{
     HLT("InterOpal at <unknown> : undefined selection codom\'InterOpal:fct->fct");}}}}
 return r;}
extern OBJ _ADefinitionTranslation_17_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* component */
{OBJ r;
 {TUP4 t=_ADefinitionTranslation_17(x1,x2,x3,x4);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern OBJ _ADefinitionTranslation_18(OBJ x1,OBJ x2) /* decMode */
{OBJ r;
 FRPRD(x1,1);
 FRPRD(x2,1);
 r=__AAc_14;
 return r;}

extern OBJ _ADefinitionTranslation_19(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* an */
{OBJ r;
 CPPRD(x2,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;
  x5=_AParameterTranslation_5(x2);
  x6=_AParameterTranslation_9(x2);
  x7=_AInterOpalAccess_38(x1,x3);
  x8=_AFctTranslation_5(x6,x4);
  PRD(1,3,x9);FLD(x9,1)=x7;
  x10=_AFctTranslation_6(x5,x8);
  x11=_AAn_5(__AAn_2,x9);
  PRD(1,1,x12);FLD(x12,1)=x10;
  r=_AAn_3(x11,x12);}
 return r;}

extern OBJ _ADefinitionTranslation_20(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* anWithoutOpParams */
{OBJ r;
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  x5=_AParameterTranslation_5(x2);
  x6=_AInterOpalAccess_38(x1,x3);
  x7=_AFctTranslation_6(x5,x4);
  PRD(1,3,x8);FLD(x8,1)=x6;
  PRD(1,1,x9);FLD(x9,1)=x7;
  x10=_AAn_5(__AAn_2,x8);
  r=_AAn_3(x10,x9);}
 return r;}

extern OBJ _ADefinitionTranslation_21(OBJ x1,OBJ x2,OBJ x3) /* optLambda */
{OBJ r;
 if(ISPRM(x2)){
  FREE(x1,1);
  r=x3;
 }else{
  PRD(3,4,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;}
 return r;}

extern OBJ _ADefinitionTranslation_22(OBJ x1,OBJ x2) /* variant'22 */
{OBJ r;
 {OBJ x3;
  PRD(1,1,x3);FLD(x3,1)=x2;
  PRD(2,0,r);FLD(r,2)=x1;
  FLD(r,1)=_AAn_3(__AAn_2,x3);}
 return r;}

extern OBJ _ADefinitionTranslation_24(OBJ x1,OBJ x2,OBJ x3) /* variants'24 */
{OBJ r;
 CPCLS(__AInterOpal_309,1);
 CPPRD(x1,1);
 COPY(x3,1);
 {OBJ x10;
  x10=_AMap_20(__AInterOpal_309,x1,x3);
  {OBJ x19=FLD1(x2,1);OBJ x20=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    CPPRD(x19,1);COPY(x20,1);}
   if(ISTGPRM(x10,1)){
    CPPRD(x1,1);
    COPY(x3,1);
    CPCLS(__AInterOpal_309,1);
    {OBJ x21;
     x21=_AMap_16(__AInterOpal_309,x3,x1);
     {OBJ x22=FLD1(x21,1);FLAG x_x21=EXPRD(x21,1);
      if(x_x21){
      }else{
       COPY(x22,1);}
      CPCLS(__AInterOpal_309,1);
      {OBJ x24;OBJ x25;
       if(x_x2){
	RSOME(x2,x24);FLD1(x24,2)=x22;
       }else{
	FRPRD(x2,1);PRD1(2,x24);FLD1(x24,1)=x19;FLD1(x24,2)=x22;}
       if(x_x21){
	RSOME(x21,x25);FLD1(x25,1)=x24;FREE(FLD1(x25,2),1);FLD1(x25,2)=x20;
       }else{
	FRPRD(x21,1);PRD1(2,x25);FLD1(x25,1)=x24;FLD1(x25,2)=x20;}
       r=_AMap_31(__AInterOpal_309,x1,x25,x3);}}}
   }else{
    CPCLS(__AInterOpal_309,1);
    {OBJ x26;OBJ x27;
     if(x_x2){
      RSOME(x2,x26);FLD1(x26,2)=__ASeq_6;
     }else{
      FRPRD(x2,1);PRD1(2,x26);FLD1(x26,1)=x19;FLD1(x26,2)=__ASeq_6;}
     PRD1(2,x27);FLD1(x27,1)=x26;FLD1(x27,2)=x20;
     r=_AMap_31(__AInterOpal_309,x1,x27,x3);}}}}
 return r;}

extern OBJ _ADefinitionTranslation_25(OBJ x1,OBJ x2) /* singleVariant'25 */
{OBJ r;
 {OBJ x3;
  PRD(1,1,x3);FLD(x3,1)=x2;
  PRD(2,0,r);FLD(r,2)=x1;
  FLD(r,1)=_AAn_3(__AAn_2,x3);}
 return r;}

extern OBJ _ADefinitionTranslation_28(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* typeDecNops,1'28 */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x6,1);
 {OBJ x9;OBJ x16;
  x9=_AInterOpalAccess_21(x1,x6);
  x16=_ASeq_52(x3,__ANat_5);
  {OBJ x29=FLD1(x7,1);OBJ x30=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
    COPY(x29,1);
   }else{
    COPY(x29,2);COPY(x30,1);}
   {OBJ x31;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;OBJ x39;OBJ x40;OBJ x41;OBJ x42;
    x31=_ASeq_52(x29,__ANat_5);
    x32=_AInterOpalAccess_31(x9);
    ANat_76(x31,x16,x33);
    if(ISTGPRM(x33,1)){
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_6;
    }else{
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_4;}
    x35=_ANameTranslation_3(x1,x6);
    x36=_ANameTranslation_6(x32);
    if(x_x7){
     RSOME(x7,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;
    }else{
     FRPRD(x7,1);PRD1(2,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;}
    PRD(2,3,x38);FLD(x38,1)=x37;FLD(x38,2)=x30;
    x39=_AExprTranslation_3(x1,x6,x32,x30,x34);
    x40=_ADefinitionTranslation_19(x1,x2,x6,x38);
    x41=_ADefinitionTranslation_13(x2,x4,x5,x36,x29,x39);
    PRD(4,2,x42);FLD(x42,1)=x40;FLD(x42,2)=x35;FLD(x42,3)=__AAc_14;FLD(x42,4)=x41;
    PRD1(2,r);FLD1(r,1)=x42;FLD1(r,2)=x8;}}}
 return r;}

extern OBJ _ADefinitionTranslation_29(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* typeDecNops,1'29 */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x6,1);
 {OBJ x9;OBJ x10;
  x9=_ASeq_52(x3,__ANat_5);
  x10=_AInterOpalAccess_21(x1,x6);
  {OBJ x29=FLD1(x7,1);OBJ x30=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
    COPY(x29,1);
   }else{
    COPY(x29,2);COPY(x30,1);}
   {OBJ x31;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;OBJ x39;OBJ x40;OBJ x41;OBJ x42;
    x31=_ASeq_52(x29,__ANat_5);
    x32=_AInterOpalAccess_31(x10);
    ANat_76(x31,x9,x33);
    if(ISTGPRM(x33,1)){
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_6;
    }else{
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_4;}
    x35=_ANameTranslation_3(x1,x6);
    x36=_ANameTranslation_6(x32);
    if(x_x7){
     RSOME(x7,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;
    }else{
     FRPRD(x7,1);PRD1(2,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;}
    PRD(2,3,x38);FLD(x38,1)=x37;FLD(x38,2)=x30;
    x39=_AExprTranslation_3(x1,x6,x32,x30,x34);
    x40=_ADefinitionTranslation_19(x1,x2,x6,x38);
    x41=_ADefinitionTranslation_13(x2,x4,x5,x36,x29,x39);
    PRD(4,2,x42);FLD(x42,1)=x40;FLD(x42,2)=x35;FLD(x42,3)=__AAc_14;FLD(x42,4)=x41;
    PRD1(2,r);FLD1(r,1)=x42;FLD1(r,2)=x8;}}}
 return r;}

extern OBJ _ADefinitionTranslation_30(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* typeDecNops,1'30 */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x6,1);
 {OBJ x9;OBJ x10;
  x9=_ASeq_52(x3,__ANat_5);
  x10=_AInterOpalAccess_21(x1,x6);
  {OBJ x29=FLD1(x7,1);OBJ x30=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
    COPY(x29,1);
   }else{
    COPY(x29,2);COPY(x30,1);}
   {OBJ x31;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;OBJ x39;OBJ x40;OBJ x41;OBJ x42;
    x31=_ASeq_52(x29,__ANat_5);
    x32=_AInterOpalAccess_31(x10);
    ANat_76(x31,x9,x33);
    if(ISTGPRM(x33,1)){
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_6;
    }else{
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_4;}
    x35=_ANameTranslation_3(x1,x6);
    x36=_ANameTranslation_6(x32);
    if(x_x7){
     RSOME(x7,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;
    }else{
     FRPRD(x7,1);PRD1(2,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;}
    PRD(2,3,x38);FLD(x38,1)=x37;FLD(x38,2)=x30;
    x39=_AExprTranslation_3(x1,x6,x32,x30,x34);
    x40=_ADefinitionTranslation_19(x1,x2,x6,x38);
    x41=_ADefinitionTranslation_13(x2,x4,x5,x36,x29,x39);
    PRD(4,2,x42);FLD(x42,1)=x40;FLD(x42,2)=x35;FLD(x42,3)=__AAc_14;FLD(x42,4)=x41;
    PRD1(2,r);FLD1(r,1)=x42;FLD1(r,2)=x8;}}}
 return r;}

extern OBJ _ADefinitionTranslation_31(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* typeDecNops,1'31 */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x6,1);
 {OBJ x9;OBJ x10;
  x9=_ASeq_52(x3,__ANat_5);
  x10=_AInterOpalAccess_21(x1,x6);
  {OBJ x29=FLD1(x7,1);OBJ x30=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
    COPY(x29,1);
   }else{
    COPY(x29,2);COPY(x30,1);}
   {OBJ x31;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;OBJ x39;OBJ x40;OBJ x41;OBJ x42;
    x31=_ASeq_52(x29,__ANat_5);
    x32=_AInterOpalAccess_31(x10);
    ANat_76(x31,x9,x33);
    if(ISTGPRM(x33,1)){
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_6;
    }else{
     CPPRD(x1,2);
     CPPRD(x2,1);
     COPY(x5,1);
     CPPRD(x6,2);
     COPY(x30,1);
     COPY(x32,1);
     x34=__ASourceAn_4;}
    x35=_ANameTranslation_3(x1,x6);
    x36=_ANameTranslation_6(x32);
    if(x_x7){
     RSOME(x7,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;
    }else{
     FRPRD(x7,1);PRD1(2,x37);FLD1(x37,1)=x5;FLD1(x37,2)=__ASeq_6;}
    PRD(2,3,x38);FLD(x38,1)=x37;FLD(x38,2)=x30;
    x39=_AExprTranslation_3(x1,x6,x32,x30,x34);
    x40=_ADefinitionTranslation_19(x1,x2,x6,x38);
    x41=_ADefinitionTranslation_13(x2,x4,x5,x36,x29,x39);
    PRD(4,2,x42);FLD(x42,1)=x40;FLD(x42,2)=x35;FLD(x42,3)=__AAc_14;FLD(x42,4)=x41;
    PRD1(2,r);FLD1(r,1)=x42;FLD1(r,2)=x8;}}}
 return r;}




static OBJ _mt_6_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_6_0_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,4);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 return r;}

static OBJ _mt_6_2_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{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,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),t1,t2,t3,t4);
 return r;}

static OBJ _mt_6_4_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);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1,t2);
 return r;}

static OBJ _mt_7_0_6(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,6);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 return r;}

static OBJ _mt_7_6_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1);
 return r;}
static OBJ _mt_7_6_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;FLDCLS(t,5)=NIL;FLDCLS(t,6)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

static OBJ _mt_11_0_7(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,7);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 FLDCLS(r,7)=t7;
 return r;}

static OBJ _mt_11_0_11(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7,OBJ t8,OBJ t9,OBJ t10,OBJ t11) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11);
 return r;}

static OBJ _mt_11_7_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  COPY(FLDCLS(t,7),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),FLDCLS(t,7),t1,t2,t3,t4);
 return r;}

init_ADefinitionTranslation()
{
 static int visited=0; if(visited) return; visited=1;
 init_ADenotation();
 init_ATriple();
 init_ASeqMap();
 init_ASeqReduce();
 init_ANat();
 init_ASeqZip();
 init_AOption();
 init_AMapReduce();
 init_ASeq();
 init_AMapMap();
 init_ATypeAn();
 init_ABuiltin();
 init_AIde();
 init_AInterOpalAccess();
 init_AAc();
 init_AInterOpalVars();
 init_AInterOpal();
 init_ANameTranslation();
 init_AParameterTranslation();
 init_AFctTranslation();
 init_ANatMap();
 init_AExprTranslation();
 init_AAn();
 init_ASetByBST();
 init_ASourceAn();
 init_ABSTree();
 init_AOptimAn();
 init_ATree();
 init_ATransAn();
 init_AArray();
 init_APragmaAn();
 init_ACompose();
 init_AStore();
 init_AFormat();
 init_AString();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AFmt();
 init_AChar();
 init_AFile();
 init_AInt();
 init_ASet();
 init_APair();
 init_AIdeMap();
 init_AMap();
 init_ADyn();
 CLS(8,_ADefinitionTranslation_31,__ADefinitionTranslation_31);
 CLS(8,_ADefinitionTranslation_30,__ADefinitionTranslation_30);
 CLS(8,_ADefinitionTranslation_29,__ADefinitionTranslation_29);
 CLS(8,_ADefinitionTranslation_28,__ADefinitionTranslation_28);
 CLS(2,_ADefinitionTranslation_25,__ADefinitionTranslation_25);
 CLS(3,_ADefinitionTranslation_24,__ADefinitionTranslation_24);
 CLS(2,_ADefinitionTranslation_22,__ADefinitionTranslation_22);
 CLS(3,_ADefinitionTranslation_21,__ADefinitionTranslation_21);
 CLS(4,_ADefinitionTranslation_20,__ADefinitionTranslation_20);
 CLS(4,_ADefinitionTranslation_19,__ADefinitionTranslation_19);
 CLS(2,_ADefinitionTranslation_18,__ADefinitionTranslation_18);
 CLS(4,_ADefinitionTranslation_17_c,__ADefinitionTranslation_17);
 CLS(4,_ADefinitionTranslation_16_c,__ADefinitionTranslation_16);
 CLS(7,_ADefinitionTranslation_15_c,__ADefinitionTranslation_15);
 CLS(5,_ADefinitionTranslation_14,__ADefinitionTranslation_14);
 CLS(6,_ADefinitionTranslation_13,__ADefinitionTranslation_13);
 CLS(11,_ADefinitionTranslation_12,__ADefinitionTranslation_12);
 CLS(8,_ADefinitionTranslation_11_c,__ADefinitionTranslation_11);
 CLS(6,_ADefinitionTranslation_10,__ADefinitionTranslation_10);
 CLS(7,_ADefinitionTranslation_9_c,__ADefinitionTranslation_9);
 CLS(7,_ADefinitionTranslation_8_c,__ADefinitionTranslation_8);
 CLS(5,_ADefinitionTranslation_7_c,__ADefinitionTranslation_7);
 CLS(5,_ADefinitionTranslation_5,__ADefinitionTranslation_5);
 CLS(2,_ADefinitionTranslation_3,__ADefinitionTranslation_3);
 CLS(4,_ADefinitionTranslation_2_c,__ADefinitionTranslation_2);
 CLS(3,_ADefinitionTranslation_1,__ADefinitionTranslation_1);
 MTH(6,0,2,_mt_6_0_2);LZYMTH(6,0,2,_mt_6_0_2);
 MTH(6,0,4,_mt_6_0_4);LZYMTH(6,0,4,_mt_6_0_4);
 MTH(6,2,4,_mt_6_2_4);LZYMTH(6,2,4,_mt_6_2_4);
 MTH(6,4,2,_mt_6_4_2);LZYMTH(6,4,2,_mt_6_4_2);
 MTH(7,0,6,_mt_7_0_6);LZYMTH(7,0,6,_mt_7_0_6);
 MTH(7,6,1,_mt_7_6_1);LZYMTH(7,6,1,_mt_7_6_1_l);
 MTH(11,0,7,_mt_11_0_7);LZYMTH(11,0,7,_mt_11_0_7);
 MTH(11,0,11,_mt_11_0_11);LZYMTH(11,0,11,_mt_11_0_11);
 MTH(11,7,4,_mt_11_7_4);LZYMTH(11,7,4,_mt_11_7_4);
 CPPRD(__ABuiltin_2,1);
 PRD(1,1,__ADefinitionTranslation_23);FLD(__ADefinitionTranslation_23,1)=__ABuiltin_2;
 CPPRD(__ABuiltin_2,1);
 PRD(1,1,__ADefinitionTranslation_26);FLD(__ADefinitionTranslation_26,1)=__ABuiltin_2;
 CPPRD(__ABuiltin_2,1);
 PRD(1,1,__ADefinitionTranslation_27);FLD(__ADefinitionTranslation_27,1)=__ABuiltin_2;}

