

#include "BUILTIN.h"
extern OBJ _APErr_7(OBJ,OBJ,OBJ);extern OBJ __APErr_7;
extern OBJ __APErr_16;
extern OBJ __APErr_34;
extern OBJ __APreDef_4;
extern OBJ __APreDef_5;

#include "Denotation.h"
extern OBJ __AAbsy_2;
extern OBJ _AAbsy_79(OBJ);extern OBJ __AAbsy_79;
extern OBJ __ASeq_6;
extern OBJ _ASeq_23(OBJ,OBJ);extern OBJ __ASeq_23;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ __AOcError_15;
extern OBJ __AOcError_21;

#include "Nat.h"

#include "Array.h"

#include "Char.h"

#include "Int.h"
extern OBJ _AImpl_10(OBJ);extern OBJ __AImpl_10;
extern OBJ __AImpl_172;
extern OBJ __AImpl_173;
extern OBJ __AImpl_174;
extern OBJ __AImpl_175;
extern OBJ __AImpl_176;
extern OBJ __APartName_23;

#include "Bitset.h"
OBJ __AModExpr_1; /* mkDeno */
OBJ __AModExpr_2; /* modEq */
OBJ __AModExpr_3; /* modEqS */
OBJ __AModExpr_4; /* modExpr */
OBJ __AModExpr_5; /* modExprFct */
OBJ __AModExpr_6; /* modTuple */
OBJ __AModExpr_7; /* modTuplePos */
OBJ __AModExpr_8; /* modAsE */
OBJ __AModExpr_9; /* postCheckAsName */
OBJ __AModExpr_10; /* modGuard */
OBJ __AModExpr_11; /* modGuardSeq */
OBJ __AModExpr_12; /* modOther */
OBJ __AModExpr_13; /* modElse */
OBJ __AModExpr_14; /* modAbstr */
OBJ __AModExpr_15; /* modBlock */
OBJ __AModExpr_16; /* modSeqAnd */
OBJ __AModExpr_17; /* modSeqOr */
OBJ __AModExpr_18; /* traceEq? */
extern OBJ _AModExpr_19(OBJ,OBJ);OBJ __AModExpr_19; /* mEq */
extern OBJ _AModExpr_20(OBJ,OBJ);OBJ __AModExpr_20; /* mEqS */
OBJ __AModExpr_21; /* traceExpr? */
extern OBJ _AModExpr_22(OBJ,OBJ);OBJ __AModExpr_22; /* mExpr */
extern OBJ _AModExpr_23(OBJ,OBJ);OBJ __AModExpr_23; /* preCheck */
extern OBJ _AModExpr_24(OBJ);OBJ __AModExpr_24; /* prePre */
extern OBJ _AModExpr_25(OBJ,OBJ);OBJ __AModExpr_25; /* mTuple */
extern OBJ _AModExpr_26(OBJ,OBJ);OBJ __AModExpr_26; /* mTupPos */
OBJ __AModExpr_27; /* printTuplePos? */
extern OBJ _AModExpr_28(OBJ,OBJ);OBJ __AModExpr_28; /* mExprFct */
extern OBJ _AModExpr_29(OBJ,OBJ);OBJ __AModExpr_29; /* mAsE */
extern OBJ _AModExpr_30(OBJ);OBJ __AModExpr_30; /* mPCAsNm */
extern OBJ _AModExpr_31(OBJ,OBJ);OBJ __AModExpr_31; /* mGuard */
extern OBJ _AModExpr_32(OBJ,OBJ);OBJ __AModExpr_32; /* mGuardS */
extern OBJ _AModExpr_33(OBJ,OBJ,OBJ);OBJ __AModExpr_33; /* mOther */
extern OBJ _AModExpr_34(OBJ,OBJ);OBJ __AModExpr_34; /* getPos */
extern OBJ _AModExpr_35(OBJ,OBJ);OBJ __AModExpr_35; /* mElse */
extern OBJ _AModExpr_36(OBJ,OBJ);OBJ __AModExpr_36; /* modInner */
extern OBJ _AModExpr_37(OBJ,OBJ);OBJ __AModExpr_37; /* mAbstr */
extern OBJ _AModExpr_38(OBJ,OBJ);OBJ __AModExpr_38; /* mBlock */
extern OBJ _AModExpr_39(OBJ,OBJ);OBJ __AModExpr_39; /* mSeqAnd */
extern OBJ _AModExpr_40(OBJ,OBJ);OBJ __AModExpr_40; /* mSeqOr */
OBJ __AModExpr_41; /* mEq'41 */
extern OBJ _AModExpr_42(OBJ);OBJ __AModExpr_42; /* prePre'42 */
extern OBJ _AModExpr_43(OBJ);OBJ __AModExpr_43; /* prePre'43 */
extern OBJ _AModExpr_44(OBJ);OBJ __AModExpr_44; /* prePre'44 */
extern OBJ _AModExpr_45(OBJ);OBJ __AModExpr_45; /* prePre'45 */
extern OBJ _AModExpr_46(OBJ);OBJ __AModExpr_46; /* prePre'46 */
extern OBJ _AModExpr_47(OBJ);OBJ __AModExpr_47; /* prePre'47 */
OBJ __AModExpr_48; /* mExprFct'48 */
OBJ __AModExpr_49; /* mExprFct'49 */
OBJ __AModExpr_50; /* mGuard'50 */
OBJ __AModExpr_51; /* mGuardS'51 */
OBJ __AModExpr_52; /* mElse'52 */
OBJ __AModExpr_53; /* mElse'53 */
OBJ __AModExpr_54; /* mAbstr'54 */
OBJ __AModExpr_55; /* mAbstr'55 */
OBJ __AModExpr_56; /* mBlock'56 */
OBJ __AModExpr_57; /* mBlock'57 */
OBJ __AModExpr_58; /* mSeqAnd'58 */
OBJ __AModExpr_59; /* mSeqAnd'59 */
OBJ __AModExpr_60; /* mSeqOr'60 */
OBJ __AModExpr_61; /* mSeqOr'61 */
extern OBJ _AModExpr_62(OBJ);OBJ __AModExpr_62; /* mkDeno'62 */
OBJ __AModExpr_63; /* modEq'63 */
extern OBJ _AModExpr_64(OBJ,OBJ);OBJ __AModExpr_64; /* modEq'64 */
extern OBJ _AModExpr_65(OBJ,OBJ);OBJ __AModExpr_65; /* modEq'65 */
extern OBJ _AModExpr_66(OBJ,OBJ);OBJ __AModExpr_66; /* modEqS'66 */
OBJ __AModExpr_67; /* modExpr'67 */
extern OBJ _AModExpr_68(OBJ,OBJ);OBJ __AModExpr_68; /* modExpr'68 */
extern OBJ _AModExpr_69(OBJ,OBJ);OBJ __AModExpr_69; /* modExpr'69 */
extern OBJ _AModExpr_70(OBJ,OBJ);OBJ __AModExpr_70; /* modExprFct'70 */
extern OBJ _AModExpr_71(OBJ,OBJ);OBJ __AModExpr_71; /* modTuple'71 */
extern OBJ _AModExpr_72(OBJ,OBJ);OBJ __AModExpr_72; /* modTuplePos'72 */
extern OBJ _AModExpr_73(OBJ,OBJ);OBJ __AModExpr_73; /* modTuplePos'73 */
extern OBJ _AModExpr_74(OBJ,OBJ);OBJ __AModExpr_74; /* modAsE'74 */
extern OBJ _AModExpr_75(OBJ);OBJ __AModExpr_75; /* postCheckAsName'75 */
extern OBJ _AModExpr_76(OBJ,OBJ);OBJ __AModExpr_76; /* modGuard'76 */
extern OBJ _AModExpr_77(OBJ,OBJ);OBJ __AModExpr_77; /* modGuardSeq'77 */
extern OBJ _AModExpr_78(OBJ,OBJ);OBJ __AModExpr_78; /* modOther'78 */
extern OBJ _AModExpr_79(OBJ,OBJ);OBJ __AModExpr_79; /* modElse'79 */
extern OBJ _AModExpr_80(OBJ,OBJ);OBJ __AModExpr_80; /* modAbstr'80 */
extern OBJ _AModExpr_81(OBJ,OBJ);OBJ __AModExpr_81; /* modBlock'81 */
extern OBJ _AModExpr_82(OBJ,OBJ);OBJ __AModExpr_82; /* modSeqAnd'82 */
extern OBJ _AModExpr_83(OBJ,OBJ);OBJ __AModExpr_83; /* modSeqOr'83 */
OBJ __AModExpr_84; /* traceEq?'84 */
OBJ __AModExpr_85; /* traceExpr?'85 */
OBJ __AModExpr_86; /* printTuplePos?'86 */

extern OBJ _AModExpr_19(OBJ x1,OBJ x2) /* mEq */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRD(x2)&&(ISTGPRD(x2,11))){
   {OBJ x216=FLD(x2,1);
    COPY(x216,1);
    if(ISPRM(x216)){
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      DCPRD(x2,1);}
     COPY(__AModExpr_41,1);
     r=__AModExpr_41;
    }else{
     if(EXPRD(x216,1)){
      DSPRD(x216);
     }else{
      DCPRD(x216,1);}
     r=x2;}}
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x219=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
     if(x_x2){
      CPPRD(x219,1);
     }else{
      CPPRD(x219,2);}
     {OBJ x220;OBJ x221;OBJ x222;OBJ x223;
      x220=_AImpl_10(x219);
      COPY(x220,1);
      if(x_x2){
       RPRD(x2,x221);CHGTG(x221,0);FLD(x221,1)=x220;
      }else{
       FRPRD(x2,1);PRD(1,0,x221);FLD(x221,1)=x220;}
      PRD1(3,x222);FLD1(x222,1)=x221;FLD1(x222,2)=x219;FLD1(x222,3)=x220;
      PRD1(2,x223);FLD1(x223,1)=x222;FLD1(x223,2)=__ASeq_6;
      PRD(1,11,r);FLD(r,1)=x223;}}
   }else{
    FREE(x2,1);
    COPY(__AModExpr_41,1);
    r=__AModExpr_41;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,14))){
   {OBJ x197=FLD(x1,1);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x197,1);
     FRPRD(x1,1);}
    if(ISPRD(x2)&&(ISTGPRD(x2,11))){
     {OBJ x198=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
      if(x_x2){
      }else{
       COPY(x198,1);}
      if(ISPRM(x198)){
       if(x_x2){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       FRPRD(x197,1);
       COPY(__AModExpr_41,1);
       r=__AModExpr_41;
      }else{
       {OBJ x199=FLD1(x198,1);OBJ x200=FLD1(x198,2);FLAG x_x198=EXPRD(x198,1);
	if(x_x198){
	}else{
	 CPPRD(x199,1);COPY(x200,1);}
	{OBJ x203=FLD1(x199,2);OBJ x204=FLD1(x199,3);FLAG x_x199=EXPRD(x199,1);
	 if(x_x199){
	 }else{
	  CPPRD(x203,1);COPY(x204,1);}
	 {OBJ x207;OBJ x208;
	  if(ISPRM(x200)){
	   x207=__ABUILTIN_5;
	  }else{
	   x207=__ABUILTIN_3;}
	  if(x_x199){
	   RSOME(x199,x208);FRPRD(FLD1(x208,1),1);FLD1(x208,1)=x197;
	  }else{
	   FRPRD(x199,1);PRD1(3,x208);FLD1(x208,1)=x197;FLD1(x208,2)=x203;FLD1(x208,3)=x204;}
	  if(ISTGPRM(x207,1)){
	   FREE(x200,1);
	   {OBJ x209;
	    if(x_x198){
	     RSOME(x198,x209);FLD1(x209,1)=x208;FLD1(x209,2)=__ASeq_6;
	    }else{
	     FRPRD(x198,1);PRD1(2,x209);FLD1(x209,1)=x208;FLD1(x209,2)=__ASeq_6;}
	    if(x_x2){
	     RPRD(x2,r);FLD(r,1)=x209;
	    }else{
	     FRPRD(x2,1);PRD(1,11,r);FLD(r,1)=x209;}}
	  }else{
	   {OBJ x210;
	    if(x_x198){
	     RSOME(x198,x210);FLD1(x210,1)=x208;
	    }else{
	     FRPRD(x198,1);PRD1(2,x210);FLD1(x210,1)=x208;FLD1(x210,2)=x200;}
	    if(x_x2){
	     RPRD(x2,r);FLD(r,1)=x210;
	    }else{
	     FRPRD(x2,1);PRD(1,11,r);FLD(r,1)=x210;}}}}}}}}
    }else{
     FREE(x2,1);
     FRPRD(x197,1);
     COPY(__AModExpr_41,1);
     r=__AModExpr_41;}}
  }else{
   if(ISPRD(x1)&&(ISTGPRD(x1,16))){
    {OBJ x211=FLD(x1,1);FLAG x_x1=EXPRD(x1,1);
     if(x_x1){
     }else{
      COPY(x211,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,14))){
      {OBJ x212=FLD(x2,1);
       if(EXPRD(x2,1)){
	COPY(x211,1);
	{OBJ x213;OBJ x214;OBJ x215;
	 if(x_x1){
	  RPRD(x1,x213);CHGTG(x213,0);
	 }else{
	  FRPRD(x1,1);PRD(1,0,x213);FLD(x213,1)=x211;}
	 PRD1(3,x214);FLD1(x214,1)=x213;FLD1(x214,2)=x212;FLD1(x214,3)=x211;
	 PRD1(2,x215);FLD1(x215,1)=x214;FLD1(x215,2)=__ASeq_6;
	 RPRD(x2,r);CHGTG(r,11);FLD(r,1)=x215;}
       }else{
	CPPRD(x212,1);
	COPY(x211,1);
	{OBJ x213;OBJ x214;OBJ x215;
	 if(x_x1){
	  RPRD(x1,x213);CHGTG(x213,0);
	 }else{
	  FRPRD(x1,1);PRD(1,0,x213);FLD(x213,1)=x211;}
	 PRD1(3,x214);FLD1(x214,1)=x213;FLD1(x214,2)=x212;FLD1(x214,3)=x211;
	 PRD1(2,x215);FLD1(x215,1)=x214;FLD1(x215,2)=__ASeq_6;
	 FRPRD(x2,1);PRD(1,11,r);FLD(r,1)=x215;}}}
     }else{
      if(x_x1){
       DSPRDF(x1);
      }else{
       FRPRD(x1,1);}
      FREE(x2,1);
      FREE(x211,1);
      COPY(__AModExpr_41,1);
      r=__AModExpr_41;}}
   }else{
    if(ISPRD(x1)&&(ISTGPRD(x1,11))){
     {OBJ x224=FLD(x1,1);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       COPY(x224,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,11))){
       {OBJ x225=FLD(x2,1);
	if(EXPRD(x2,1)){
	 {
	  RPRD(x2,r);
	  FLD(r,1)=_ASeq_26(x224,x225);}
	}else{
	 COPY(x225,1);
	 {
	  FRPRD(x2,1);PRD(1,11,r);
	  FLD(r,1)=_ASeq_26(x224,x225);}}}
      }else{
       FREE(x2,1);
       FREE(x224,1);
       COPY(__AModExpr_41,1);
       r=__AModExpr_41;}}
    }else{
     FREE(x1,1);
     FREE(x2,1);
     COPY(__AModExpr_41,1);
     r=__AModExpr_41;}}}}
 return r;}

extern OBJ _AModExpr_20(OBJ x1,OBJ x2) /* mEqS */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,11))){
  {OBJ x19=FLD(x1,1);
   COPY(x19,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,11))){
    {OBJ x20=FLD(x2,1);
     if(EXPRD(x2,1)){
      if(EXPRD(x1,1)){
       FREE(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      {
       RPRD(x2,r);
       FLD(r,1)=_ASeq_26(x19,x20);}
     }else{
      COPY(x20,1);
      if(EXPRD(x1,1)){
       FREE(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      {
       FRPRD(x2,1);PRD(1,11,r);
       FLD(r,1)=_ASeq_26(x19,x20);}}}
   }else{
    FREE(x2,1);
    FREE(x19,1);
    r=x1;}}
 }else{
  FREE(x2,1);
  r=x1;}
 return r;}

extern OBJ _AModExpr_22(OBJ x1,OBJ x2) /* mExpr */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__AAbsy_2;
  }else{
   r=x2;}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,14))){
   {OBJ x24=FLD(x1,1);
    CPPRD(x24,1);
    if(ISPRM(x2)){
     FRPRD(x24,1);
     r=x1;
    }else{
     if(ISPRD(x2)&&(ISTGPRD(x2,14))){
      {OBJ x25=FLD(x2,1);
       if(EXPRD(x2,1)){
	if(EXPRD(x1,1)){
	 FRPRD(FLD(x1,1),1);DSPRDF(x1);
	}else{
	 DCPRD(x1,1);}
	{
	 RPRD(x2,r);
	 FLD(r,1)=_AModExpr_23(x24,x25);}
       }else{
	CPPRD(x25,1);
	if(EXPRD(x1,1)){
	 FRPRD(FLD(x1,1),1);DSPRDF(x1);
	}else{
	 DCPRD(x1,1);}
	{
	 FRPRD(x2,1);PRD(1,14,r);
	 FLD(r,1)=_AModExpr_23(x24,x25);}}}
     }else{
      if(EXPRD(x1,1)){
       FRPRD(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      FREE(x2,1);
      FRPRD(x24,1);
      r=__AAbsy_2;}}}
  }else{
   if(ISPRM(x2)){
    r=x1;
   }else{
    FREE(x1,1);
    FREE(x2,1);
    r=__AAbsy_2;}}}
 return r;}

extern OBJ _AModExpr_23(OBJ x1,OBJ x2) /* preCheck */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(ISTGPRD(x2,0)){
   {
    if(EXPRD(x2,1)){
     RPRD(x2,r);FREE(FLD(r,1),1);
    }else{
     DCPRD(x2,1);PRD(1,0,r);}
    FLD(r,1)=_AImpl_10(x1);}
  }else{
   if(EXPRD(x1,1)){
    FREE(FLD(x1,1),1);DSPRDF(x1);
   }else{
    DCPRD(x1,1);}
   CPPRD(x2,1);
   {OBJ x99;
    x99=_AImpl_10(x2);
    if(ISTGPRD(x2,11)){
     {OBJ x100;
      if(EXPRD(x2,1)){
       RPRD(x2,r);FREE(FLD(r,2),1);FLD(r,2)=x99;
      }else{
       x100=FLD(x2,1);COPY(x100,1);
       FRPRD(x2,1);PRD(2,11,r);FLD(r,1)=x100;FLD(r,2)=x99;}}
    }else{
     {OBJ x102;OBJ x103;
      x102=_AModExpr_24(x2);
      PRD1(2,x103);FLD1(x103,1)=x102;FLD1(x103,2)=__ASeq_6;
      PRD(2,11,r);FLD(r,1)=x103;FLD(r,2)=x99;}}}}
 }else{
  {OBJ x105;
   if(ISTGPRD(x2,0)){
    x105=__ABUILTIN_5;
   }else{
    x105=__ABUILTIN_3;}
   if(ISTGPRD(x1,11)){
    {OBJ x106=FLD(x1,1);
     COPY(x106,1);
     if(ISTGPRM(x105,1)){
      FRPRD(x2,1);
      FREE(x106,1);
      r=x1;
     }else{
      {OBJ x108;
       x108=_AImpl_10(x1);
       if(ISTGPRD(x2,11)){
	{OBJ x109=FLD(x2,1);
	 if(EXPRD(x2,1)){
	  {
	   RPRD(x2,r);FREE(FLD(r,2),1);FLD(r,2)=x108;
	   FLD(r,1)=_ASeq_26(x106,x109);}
	 }else{
	  COPY(x109,1);
	  {
	   FRPRD(x2,1);PRD(2,11,r);FLD(r,2)=x108;
	   FLD(r,1)=_ASeq_26(x106,x109);}}}
       }else{
	{OBJ x112;
	 x112=_AModExpr_24(x2);
	 PRD(2,11,r);FLD(r,2)=x108;
	 FLD(r,1)=_ASeq_23(x106,x112);}}}}}
   }else{
    CPPRD(x1,1);
    {OBJ x114;OBJ x115;
     x114=_AImpl_10(x1);
     x115=_AModExpr_24(x1);
     if(ISTGPRM(x105,1)){
      FRPRD(x2,1);
      {OBJ x116;
       PRD1(2,x116);FLD1(x116,1)=x115;FLD1(x116,2)=__ASeq_6;
       PRD(2,11,r);FLD(r,1)=x116;FLD(r,2)=x114;}
     }else{
      if(ISTGPRD(x2,11)){
       {OBJ x117=FLD(x2,1);
	if(EXPRD(x2,1)){
	 {OBJ x119;
	  PRD1(2,x119);FLD1(x119,1)=x115;FLD1(x119,2)=x117;
	  RPRD(x2,r);FLD(r,1)=x119;FREE(FLD(r,2),1);FLD(r,2)=x114;}
	}else{
	 COPY(x117,1);
	 {OBJ x119;
	  PRD1(2,x119);FLD1(x119,1)=x115;FLD1(x119,2)=x117;
	  FRPRD(x2,1);PRD(2,11,r);FLD(r,1)=x119;FLD(r,2)=x114;}}}
      }else{
       {OBJ x120;OBJ x121;OBJ x122;
	x120=_AModExpr_24(x2);
	PRD1(2,x121);FLD1(x121,1)=x120;FLD1(x121,2)=__ASeq_6;
	PRD1(2,x122);FLD1(x122,1)=x115;FLD1(x122,2)=x121;
	PRD(2,11,r);FLD(r,1)=x122;FLD(r,2)=x114;}}}}}}}
 return r;}

extern OBJ _AModExpr_24(OBJ x1) /* prePre */
{OBJ r;
 if(ISTGPRD(x1,6)){
  CPCLS(__AModExpr_44,1);
  {OBJ x343;
   x343=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_44,1))(__AModExpr_44,__ABUILTIN_20);
   PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x343;}
 }else{
  if(ISTGPRD(x1,8)){
   {OBJ x344=FLD(x1,1);OBJ x345=FLD(x1,2);
    COPY(x344,1);CPPRD(x345,1);
    {OBJ x347;OBJ x348;
     x347=_AImpl_10(x1);
     x348=_AModExpr_24(x345);
     {OBJ x349=FLD1(x348,1);OBJ x350;
      if(EXPRD(x348,1)){
       {OBJ x351;
	PRD(3,8,x351);FLD(x351,1)=x344;FLD(x351,2)=x349;FLD(x351,3)=x347;
	RSOME(x348,r);FLD1(r,1)=x351;}
      }else{
       x350=FLD1(x348,2);CPPRD(x349,1);CPPRD(x350,1);
       {OBJ x351;
	PRD(3,8,x351);FLD(x351,1)=x344;FLD(x351,2)=x349;FLD(x351,3)=x347;
	FRPRD(x348,1);PRD1(2,r);FLD1(r,1)=x351;FLD1(r,2)=x350;}}}}}
  }else{
   if(ISTGPRD(x1,10)){
    {OBJ x352=FLD(x1,1);OBJ x353=FLD(x1,2);
     CPPRD(x352,1);COPY(x353,1);
     {OBJ x355;OBJ x356;
      x355=_AImpl_10(x1);
      x356=_AModExpr_24(x352);
      {OBJ x357=FLD1(x356,1);OBJ x358;
       if(EXPRD(x356,1)){
	{OBJ x359;
	 PRD(3,10,x359);FLD(x359,1)=x357;FLD(x359,2)=x353;FLD(x359,3)=x355;
	 RSOME(x356,r);FLD1(r,1)=x359;}
       }else{
	x358=FLD1(x356,2);CPPRD(x357,1);CPPRD(x358,1);
	{OBJ x359;
	 PRD(3,10,x359);FLD(x359,1)=x357;FLD(x359,2)=x353;FLD(x359,3)=x355;
	 FRPRD(x356,1);PRD1(2,r);FLD1(r,1)=x359;FLD1(r,2)=x358;}}}}}
   }else{
    if(ISTGPRD(x1,7)){
     CPCLS(__AModExpr_46,1);
     {OBJ x364;
      x364=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_46,1))(__AModExpr_46,__ABUILTIN_20);
      PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x364;}
    }else{
     if(ISTGPRD(x1,3)){
      {OBJ x365=FLD(x1,1);
       COPY(x365,1);
       if(ISPRM(x365)){
	CPCLS(__AModExpr_47,1);
	{OBJ x367;
	 x367=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_47,1))(__AModExpr_47,__ABUILTIN_20);
	 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x367;}
       }else{
	{OBJ x368=FLD1(x365,1);OBJ x369=FLD1(x365,2);
	 CPPRD(x368,1);COPY(x369,1);
	 CPCLS(__AModExpr_43,1);
	 {OBJ x371;
	  x371=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_43,1))(__AModExpr_43,__ABUILTIN_20);
	  if(ISTGPRD(x368,2)){
	   if(ISPRM(x369)){
	    if(EXPRD(x368,1)){
	     DSPRD(x368);
	    }else{
	     DCPRD(x368,1);}
	    if(EXPRD(x365,1)){
	     RSOME(x365,r);FRPRD(FLD1(r,1),1);FLD1(r,1)=x1;FREE(FLD1(r,2),1);FLD1(r,2)=x371;
	    }else{
	     DCPRD(x365,1);PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x371;}
	   }else{
	    {OBJ x377;OBJ x378;OBJ x379;
	     x377=_AImpl_10(x1);
	     if(EXPRD(x365,1)){
	      RSOME(x365,x378);FRPRD(FLD1(x378,1),1);FREE(FLD1(x378,2),1);
	     }else{
	      DCPRD(x365,1);PRD1(2,x378);FLD1(x378,1)=x368;FLD1(x378,2)=x369;}
	     PRD(2,3,x379);FLD(x379,1)=x378;FLD(x379,2)=x377;
	     PRD1(2,r);FLD1(r,1)=x379;FLD1(r,2)=x371;}}
	  }else{
	   FRPRD(x368,1);
	   if(ISPRM(x369)){
	    FRPRD(x371,1);
	    CPCLS(__AModExpr_44,1);
	    {OBJ x380;
	     x380=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_44,1))(__AModExpr_44,__ABUILTIN_20);
	     if(EXPRD(x365,1)){
	      RSOME(x365,r);FRPRD(FLD1(r,1),1);FLD1(r,1)=x1;FREE(FLD1(r,2),1);FLD1(r,2)=x380;
	     }else{
	      DCPRD(x365,1);PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x380;}}
	   }else{
	    if(EXPRD(x365,1)){
	     DSPRD(x365);
	    }else{
	     DCPRD(x365,1);}
	    if(EXPRD(x369,1)){
	     RSOME(x369,r);FRPRD(FLD1(r,1),1);FLD1(r,1)=x1;FREE(FLD1(r,2),1);FLD1(r,2)=x371;
	    }else{
	     DCPRD(x369,1);PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x371;}}}}}}}
     }else{
      {OBJ x387;OBJ x388;
       if(ISTGPRD(x1,4)){
	CPCLS(__AModExpr_43,1);
	x387=__ABUILTIN_5;
       }else{
	CPCLS(__AModExpr_43,1);
	x387=__ABUILTIN_3;}
       x388=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_43,1))(__AModExpr_43,__ABUILTIN_20);
       if(ISTGPRM(x387,1)){
	FRPRD(x388,1);
	CPCLS(__AModExpr_44,1);
	{OBJ x389;
	 x389=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_44,1))(__AModExpr_44,__ABUILTIN_20);
	 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x389;}
       }else{
	if(ISTGPRD(x1,2)){
	 FRPRD(x388,1);
	 CPCLS(__AModExpr_44,1);
	 {OBJ x392;
	  x392=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_44,1))(__AModExpr_44,__ABUILTIN_20);
	  PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x392;}
	}else{
	 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x388;}}}}}}}}
 return r;}

extern OBJ _AModExpr_25(OBJ x1,OBJ x2) /* mTuple */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__AAbsy_2;
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,16))){
    if(EXPRD(x2,1)){
     FREE(FLD(x2,1),1);DSPRDF(x2);
    }else{
     DCPRD(x2,1);}
    r=__AAbsy_2;
   }else{
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     {OBJ x441=FLD(x2,1);
      CPPRD(x441,1);
      if(ISTGPRD(x441,3)){
       if(EXPRD(x441,1)){
	DSPRD(x441);
       }else{
	DCPRD(x441,1);}
       r=x2;
      }else{
       FRPRD(x441,1);
       r=x2;}}
    }else{
     r=x2;}}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,16))){
   {OBJ x430=FLD(x1,1);FLAG x_x1=EXPRD(x1,1);
    if(x_x1){
    }else{
     COPY(x430,1);}
    if(ISPRM(x2)){
     if(x_x1){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     FREE(x430,1);
     r=__AAbsy_2;
    }else{
     if(ISPRD(x2)&&(ISTGPRD(x2,16))){
      if(x_x1){
       DSPRDF(x1);
      }else{
       FRPRD(x1,1);}
      {OBJ x432;
       PRD(2,3,x432);FLD(x432,1)=__ASeq_6;FLD(x432,2)=x430;
       if(EXPRD(x2,1)){
	RPRD(x2,r);CHGTG(r,14);FREE(FLD(r,1),1);FLD(r,1)=x432;
       }else{
	DCPRD(x2,1);PRD(1,14,r);FLD(r,1)=x432;}}
     }else{
      if(ISPRD(x2)&&(ISTGPRD(x2,14))){
       {OBJ x433=FLD(x2,1);
	CPPRD(x433,1);
	if(ISTGPRD(x433,0)){
	 if(x_x1){
	  DSPRDF(x1);
	 }else{
	  FRPRD(x1,1);}
	 if(EXPRD(x433,1)){
	  FREE(FLD(x433,1),1);DSPRDF(x433);
	 }else{
	  DCPRD(x433,1);}
	 FREE(x430,1);
	 r=x2;
	}else{
	 if(ISTGPRD(x433,3)){
	  {OBJ x435;FLAG x_x433=EXPRD(x433,1);
	   if(x_x433){
	   }else{
	    x435=FLD(x433,1);COPY(x435,1);}
	   if(EXPRD(x2,1)){
	    FRPRD(FLD(x2,1),1);DSPRDF(x2);
	   }else{
	    DCPRD(x2,1);}
	   {OBJ x437;
	    if(x_x433){
	     RPRD(x433,x437);FREE(FLD(x437,2),1);FLD(x437,2)=x430;
	    }else{
	     FRPRD(x433,1);PRD(2,3,x437);FLD(x437,1)=x435;FLD(x437,2)=x430;}
	    if(x_x1){
	     RPRD(x1,r);CHGTG(r,14);FLD(r,1)=x437;
	    }else{
	     FRPRD(x1,1);PRD(1,14,r);FLD(r,1)=x437;}}}
	 }else{
	  if(EXPRD(x2,1)){
	   FRPRD(FLD(x2,1),1);DSPRDF(x2);
	  }else{
	   DCPRD(x2,1);}
	  {OBJ x438;OBJ x439;
	   PRD1(2,x438);FLD1(x438,1)=x433;FLD1(x438,2)=__ASeq_6;
	   PRD(2,3,x439);FLD(x439,1)=x438;FLD(x439,2)=x430;
	   if(x_x1){
	    RPRD(x1,r);CHGTG(r,14);FLD(r,1)=x439;
	   }else{
	    FRPRD(x1,1);PRD(1,14,r);FLD(r,1)=x439;}}}}}
      }else{
       if(x_x1){
	DSPRDF(x1);
       }else{
	FRPRD(x1,1);}
       FREE(x2,1);
       FREE(x430,1);
       r=__AAbsy_2;}}}}
  }else{
   if(ISPRD(x1)&&(ISTGPRD(x1,14))){
    {OBJ x444=FLD(x1,1);
     CPPRD(x444,1);
     if(ISTGPRD(x444,0)){
      if(EXPRD(x444,1)){
       FREE(FLD(x444,1),1);DSPRDF(x444);
      }else{
       DCPRD(x444,1);}
      if(ISPRM(x2)){
       r=x1;
      }else{
       if(ISPRD(x2)&&(ISTGPRD(x2,16))){
	if(EXPRD(x2,1)){
	 FREE(FLD(x2,1),1);DSPRDF(x2);
	}else{
	 DCPRD(x2,1);}
	r=x1;
       }else{
	if(ISPRD(x2)&&(ISTGPRD(x2,14))){
	 {OBJ x447=FLD(x2,1);
	  CPPRD(x447,1);
	  if(EXPRD(x1,1)){
	   FRPRD(FLD(x1,1),1);DSPRDF(x1);
	  }else{
	   DCPRD(x1,1);}
	  if(ISTGPRD(x447,3)||ISTGPRD(x447,0)){
	   if(EXPRD(x447,1)){
	    DSPRD(x447);
	   }else{
	    DCPRD(x447,1);}
	   r=x2;
	  }else{
	   FRPRD(x447,1);
	   r=x2;}}
	}else{
	 if(EXPRD(x1,1)){
	  FRPRD(FLD(x1,1),1);DSPRDF(x1);
	 }else{
	  DCPRD(x1,1);}
	 FREE(x2,1);
	 r=__AAbsy_2;}}}
     }else{
      if(ISPRD(x2)&&(ISTGPRD(x2,14))){
       {OBJ x451=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
	if(x_x2){
	}else{
	 CPPRD(x451,1);}
	if(ISTGPRD(x444,3)){
	 {OBJ x452=FLD(x444,1);
	  COPY(x452,1);
	  if(ISTGPRD(x451,0)){
	   if(x_x2){
	    DSPRDF(x2);
	   }else{
	    FRPRD(x2,1);}
	   if(EXPRD(x451,1)){
	    FREE(FLD(x451,1),1);DSPRDF(x451);
	   }else{
	    DCPRD(x451,1);}
	   if(EXPRD(x444,1)){
	    DSPRD(x444);
	   }else{
	    DCPRD(x444,1);}
	   FREE(x452,1);
	   r=x1;
	  }else{
	   if(EXPRD(x1,1)){
	    FRPRD(FLD(x1,1),1);DSPRDF(x1);
	   }else{
	    DCPRD(x1,1);}
	   {OBJ x455;
	    x455=_AImpl_10(x444);
	    if(ISTGPRD(x451,3)){
	     {OBJ x456=FLD(x451,1);FLAG x_x451=EXPRD(x451,1);
	      if(x_x451){
	      }else{
	       COPY(x456,1);}
	      {OBJ x458;OBJ x459;
	       x458=_ASeq_26(x452,x456);
	       if(x_x451){
		RPRD(x451,x459);FLD(x459,1)=x458;FREE(FLD(x459,2),1);FLD(x459,2)=x455;
	       }else{
		FRPRD(x451,1);PRD(2,3,x459);FLD(x459,1)=x458;FLD(x459,2)=x455;}
	       if(x_x2){
		RPRD(x2,r);FLD(r,1)=x459;
	       }else{
		FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x459;}}}
	    }else{
	     {OBJ x460;OBJ x461;
	      x460=_ASeq_23(x452,x451);
	      PRD(2,3,x461);FLD(x461,1)=x460;FLD(x461,2)=x455;
	      if(x_x2){
	       RPRD(x2,r);FLD(r,1)=x461;
	      }else{
	       FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x461;}}}}}}
	}else{
	 if(ISTGPRD(x451,0)){
	  if(x_x2){
	   DSPRDF(x2);
	  }else{
	   FRPRD(x2,1);}
	  if(EXPRD(x451,1)){
	   FREE(FLD(x451,1),1);DSPRDF(x451);
	  }else{
	   DCPRD(x451,1);}
	  FRPRD(x444,1);
	  r=x1;
	 }else{
	  if(EXPRD(x1,1)){
	   FRPRD(FLD(x1,1),1);DSPRDF(x1);
	  }else{
	   DCPRD(x1,1);}
	  CPPRD(x444,1);
	  {OBJ x463;
	   x463=_AImpl_10(x444);
	   if(ISTGPRD(x451,3)){
	    {OBJ x464=FLD(x451,1);FLAG x_x451=EXPRD(x451,1);
	     if(x_x451){
	     }else{
	      COPY(x464,1);}
	     {OBJ x466;OBJ x467;
	      PRD1(2,x466);FLD1(x466,1)=x444;FLD1(x466,2)=x464;
	      if(x_x451){
	       RPRD(x451,x467);FLD(x467,1)=x466;FREE(FLD(x467,2),1);FLD(x467,2)=x463;
	      }else{
	       FRPRD(x451,1);PRD(2,3,x467);FLD(x467,1)=x466;FLD(x467,2)=x463;}
	      if(x_x2){
	       RPRD(x2,r);FLD(r,1)=x467;
	      }else{
	       FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x467;}}}
	   }else{
	    {OBJ x468;OBJ x469;OBJ x470;
	     PRD1(2,x468);FLD1(x468,1)=x451;FLD1(x468,2)=__ASeq_6;
	     PRD1(2,x469);FLD1(x469,1)=x444;FLD1(x469,2)=x468;
	     PRD(2,3,x470);FLD(x470,1)=x469;FLD(x470,2)=x463;
	     if(x_x2){
	      RPRD(x2,r);FLD(r,1)=x470;
	     }else{
	      FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x470;}}}}}}}
      }else{
       if(ISTGPRD(x444,3)){
	if(EXPRD(x444,1)){
	 DSPRD(x444);
	}else{
	 DCPRD(x444,1);}
	if(ISPRM(x2)){
	 r=x1;
	}else{
	 FREE(x2,1);
	 r=x1;}
       }else{
	FRPRD(x444,1);
	if(ISPRM(x2)){
	 r=x1;
	}else{
	 if(EXPRD(x1,1)){
	  FRPRD(FLD(x1,1),1);DSPRDF(x1);
	 }else{
	  DCPRD(x1,1);}
	 FREE(x2,1);
	 r=__AAbsy_2;}}}}}
   }else{
    if(ISPRM(x2)){
     r=x1;
    }else{
     if(ISPRD(x2)&&(ISTGPRD(x2,14))){
      {OBJ x473=FLD(x2,1);
       CPPRD(x473,1);
       FREE(x1,1);
       if(ISTGPRD(x473,3)){
	if(EXPRD(x473,1)){
	 DSPRD(x473);
	}else{
	 DCPRD(x473,1);}
	r=x2;
       }else{
	if(EXPRD(x2,1)){
	 FRPRD(FLD(x2,1),1);DSPRDF(x2);
	}else{
	 DCPRD(x2,1);}
	FRPRD(x473,1);
	r=__AAbsy_2;}}
     }else{
      FREE(x1,1);
      FREE(x2,1);
      r=__AAbsy_2;}}}}}
 return r;}

extern OBJ _AModExpr_26(OBJ x1,OBJ x2) /* mTupPos */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,16))){
  {OBJ x51=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x51,1);
    FRPRD(x1,1);}
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x52=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
     if(x_x2){
     }else{
      CPPRD(x52,1);}
     if(ISTGPRD(x52,3)){
      {OBJ x53;FLAG x_x52=EXPRD(x52,1);
       if(x_x52){
       }else{
	x53=FLD(x52,1);COPY(x53,1);}
       {OBJ x55;
	if(x_x52){
	 RPRD(x52,x55);FREE(FLD(x55,2),1);FLD(x55,2)=x51;
	}else{
	 FRPRD(x52,1);PRD(2,3,x55);FLD(x55,1)=x53;FLD(x55,2)=x51;}
	if(x_x2){
	 RPRD(x2,r);FLD(r,1)=x55;
	}else{
	 FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x55;}}}
     }else{
      {OBJ x56;OBJ x57;
       PRD1(2,x56);FLD1(x56,1)=x52;FLD1(x56,2)=__ASeq_6;
       PRD(2,3,x57);FLD(x57,1)=x56;FLD(x57,2)=x51;
       if(x_x2){
	RPRD(x2,r);FLD(r,1)=x57;
       }else{
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x57;}}}}
   }else{
    if(ISPRD(x2)&&(ISTGPRD(x2,16))){
     {OBJ x59;
      PRD(2,3,x59);FLD(x59,1)=__ASeq_6;FLD(x59,2)=x51;
      if(EXPRD(x2,1)){
       RPRD(x2,r);CHGTG(r,14);FREE(FLD(r,1),1);FLD(r,1)=x59;
      }else{
       DCPRD(x2,1);PRD(1,14,r);FLD(r,1)=x59;}}
    }else{
     FREE(x51,1);
     r=x2;}}}
 }else{
  FREE(x1,1);
  r=x2;}
 return r;}

extern OBJ _AModExpr_28(OBJ x1,OBJ x2) /* mExprFct */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  {OBJ x75=FLD(x1,1);
   CPPRD(x75,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x76=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
     if(x_x2){
     }else{
      CPPRD(x76,1);}
     if(ISTGPRD(x76,10)){
      {OBJ x78=FLD(x76,2);
       COPY(x78,1);
       if(EXPRD(x1,1)){
	FRPRD(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       {OBJ x80;OBJ x81;
	x80=_AImpl_10(x76);
	PRD(3,10,x81);FLD(x81,1)=x75;FLD(x81,2)=x78;FLD(x81,3)=x80;
	if(x_x2){
	 RPRD(x2,r);FLD(r,1)=x81;
	}else{
	 FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x81;}}}
     }else{
      if(x_x2){
       DSPRDF(x2);
      }else{
       FRPRD(x2,1);}
      FRPRD(x75,1);
      FRPRD(x76,1);
      r=x1;}}
   }else{
    FREE(x2,1);
    FRPRD(x75,1);
    r=x1;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,16))){
   {OBJ x82=FLD(x1,1);FLAG x_x1=EXPRD(x1,1);
    if(x_x1){
    }else{
     COPY(x82,1);}
    if(ISPRD(x2)&&(ISTGPRD(x2,5))){
     {OBJ x83=FLD(x2,1);
      if(EXPRD(x2,1)){
       COPY(x82,1);
       {OBJ x84;OBJ x85;
	if(x_x1){
	 RPRD(x1,x84);CHGTG(x84,0);
	}else{
	 FRPRD(x1,1);PRD(1,0,x84);FLD(x84,1)=x82;}
	PRD(3,10,x85);FLD(x85,1)=x84;FLD(x85,2)=x83;FLD(x85,3)=x82;
	RPRD(x2,r);CHGTG(r,14);FLD(r,1)=x85;}
      }else{
       COPY(x83,1);
       COPY(x82,1);
       {OBJ x84;OBJ x85;
	if(x_x1){
	 RPRD(x1,x84);CHGTG(x84,0);
	}else{
	 FRPRD(x1,1);PRD(1,0,x84);FLD(x84,1)=x82;}
	PRD(3,10,x85);FLD(x85,1)=x84;FLD(x85,2)=x83;FLD(x85,3)=x82;
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x85;}}}
    }else{
     if(x_x1){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     FREE(x2,1);
     FREE(x82,1);
     COPY(__AModExpr_49,1);
     r=__AModExpr_49;}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   COPY(__AModExpr_49,1);
   r=__AModExpr_49;}}
 return r;}

extern OBJ _AModExpr_29(OBJ x1,OBJ x2) /* mAsE */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,1))){
  {OBJ x48=FLD(x1,1);
   COPY(x48,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x49=FLD(x2,1);
     if(EXPRD(x2,1)){
      CPPRD(x49,1);
      if(EXPRD(x1,1)){
       FREE(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      {OBJ x50;OBJ x51;
       x50=_AImpl_10(x49);
       PRD(3,8,x51);FLD(x51,1)=x48;FLD(x51,2)=x49;FLD(x51,3)=x50;
       RPRD(x2,r);FLD(r,1)=x51;}
     }else{
      CPPRD(x49,2);
      if(EXPRD(x1,1)){
       FREE(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      {OBJ x50;OBJ x51;
       x50=_AImpl_10(x49);
       PRD(3,8,x51);FLD(x51,1)=x48;FLD(x51,2)=x49;FLD(x51,3)=x50;
       FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x51;}}}
   }else{
    FREE(x2,1);
    FREE(x48,1);
    r=x1;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,16))){
   {OBJ x52=FLD(x1,1);
    COPY(x52,1);
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     {OBJ x53=FLD(x2,1);
      if(EXPRD(x2,1)){
       if(EXPRD(x1,1)){
	FREE(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       {OBJ x54;
	PRD(3,8,x54);FLD(x54,1)=__APartName_23;FLD(x54,2)=x53;FLD(x54,3)=x52;
	RPRD(x2,r);FLD(r,1)=x54;}
      }else{
       CPPRD(x53,1);
       if(EXPRD(x1,1)){
	FREE(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       {OBJ x54;
	PRD(3,8,x54);FLD(x54,1)=__APartName_23;FLD(x54,2)=x53;FLD(x54,3)=x52;
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x54;}}}
    }else{
     FREE(x2,1);
     FREE(x52,1);
     r=x1;}}
  }else{
   FREE(x2,1);
   r=x1;}}
 return r;}

extern OBJ _AModExpr_30(OBJ x1) /* mPCAsNm */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  {OBJ x229=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x229,1);
    FRPRD(x1,1);}
   if(ISTGPRD(x229,8)){
    {OBJ x230=FLD(x229,1);
     if(EXPRD(x229,1)){
      FLD(x229,1)=NIL;DSPRD(x229);
     }else{
      COPY(x230,1);
      FRPRD(x229,1);}
     if(ISPRM(x230)){
      HLT("PartName at <unknown> : undefined selection structIde\'PartName:partName->option");
     }else{
      {OBJ x235=FLD1(x230,2);OBJ x236=FLD1(x230,3);OBJ x238=FLD1(x230,5);OBJ x240=FLD1(x230,7);
       if(EXPRD(x230,1)){
	FLD1(x230,2)=NIL;FLD1(x230,3)=NIL;FLD1(x230,5)=NIL;FLD1(x230,7)=NIL;DSPRD(x230);
       }else{
	COPY(x235,1);COPY(x236,1);COPY(x238,1);COPY(x240,1);
	FRPRD(x230,1);}
       if(ISPRM(x235)){
	{OBJ x243;OBJ x246;
	 if(ISPRM(x238)&&(ISTGPRM(x238,0))){
	  x243=__ABUILTIN_5;
	 }else{
	  FREE(x238,1);
	  x243=__ABUILTIN_3;}
	 if(ISTGPRM(x243,1)){
	  FREE(x236,1);
	  x246=__ABUILTIN_5;
	 }else{
	  if(ISPRM(x236)){
	   x246=__ABUILTIN_3;
	  }else{
	   if(EXPRD(x236,1)){
	    DSPRD(x236);
	   }else{
	    DCPRD(x236,1);}
	   x246=__ABUILTIN_5;}}
	 if(ISTGPRM(x246,1)){
	  CPPRD(__APErr_34,1);
	  r=_APErr_7(__APErr_34,x240,__ASeq_6);
	 }else{
	  FREE(x240,1);
	  CPPRD(__AOcError_15,1);
	  r=__AOcError_15;}}
       }else{
	if(EXPRD(x235,1)){
	 FRPRD(FLD1(x235,1),1);DSPRDF(x235);
	}else{
	 DCPRD(x235,1);}
	FREE(x236,1);
	FREE(x238,1);
	CPPRD(__APErr_34,1);
	r=_APErr_7(__APErr_34,x240,__ASeq_6);}}}}
   }else{
    FRPRD(x229,1);
    CPPRD(__AOcError_15,1);
    r=__AOcError_15;}}
 }else{
  FREE(x1,1);
  CPPRD(__AOcError_15,1);
  r=__AOcError_15;}
 return r;}

extern OBJ _AModExpr_31(OBJ x1,OBJ x2) /* mGuard */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  {OBJ x25=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x25,1);
    FRPRD(x1,1);}
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x26=FLD(x2,1);
     if(EXPRD(x2,1)){
      CPPRD(x25,1);
      {OBJ x27;OBJ x28;OBJ x29;
       x27=_AImpl_10(x25);
       PRD1(3,x28);FLD1(x28,1)=x25;FLD1(x28,2)=x26;FLD1(x28,3)=x27;
       PRD1(2,x29);FLD1(x29,1)=x28;FLD1(x29,2)=__ASeq_6;
       RPRD(x2,r);CHGTG(r,15);FLD(r,1)=x29;}
     }else{
      CPPRD(x26,1);
      CPPRD(x25,1);
      {OBJ x27;OBJ x28;OBJ x29;
       x27=_AImpl_10(x25);
       PRD1(3,x28);FLD1(x28,1)=x25;FLD1(x28,2)=x26;FLD1(x28,3)=x27;
       PRD1(2,x29);FLD1(x29,1)=x28;FLD1(x29,2)=__ASeq_6;
       FRPRD(x2,1);PRD(1,15,r);FLD(r,1)=x29;}}}
   }else{
    FREE(x2,1);
    FRPRD(x25,1);
    COPY(__AModExpr_50,1);
    r=__AModExpr_50;}}
 }else{
  FREE(x1,1);
  FREE(x2,1);
  COPY(__AModExpr_50,1);
  r=__AModExpr_50;}
 return r;}

extern OBJ _AModExpr_32(OBJ x1,OBJ x2) /* mGuardS */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,15))){
  {OBJ x16=FLD(x1,1);
   COPY(x16,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,15))){
    {OBJ x21=FLD(x2,1);
     if(EXPRD(x2,1)){
      if(EXPRD(x1,1)){
       FREE(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      {
       RPRD(x2,r);
       FLD(r,1)=_ASeq_26(x16,x21);}
     }else{
      COPY(x21,1);
      if(EXPRD(x1,1)){
       FREE(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      {
       FRPRD(x2,1);PRD(1,15,r);
       FLD(r,1)=_ASeq_26(x16,x21);}}}
   }else{
    FREE(x2,1);
    FREE(x16,1);
    r=x1;}}
 }else{
  FREE(x1,1);
  if(ISPRD(x2)&&(ISTGPRD(x2,15))){
   r=x2;
  }else{
   FREE(x2,1);
   COPY(__AModExpr_51,1);
   r=__AModExpr_51;}}
 return r;}

extern OBJ _AModExpr_33(OBJ x1,OBJ x2,OBJ x3) /* mOther */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  FREE(x2,1);
  FREE(x3,1);
  r=x1;
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,15))){
   {OBJ x38=FLD(x1,1);FLAG x_x1=EXPRD(x1,1);
    if(x_x1){
    }else{
     COPY(x38,1);}
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     {OBJ x39=FLD(x2,1);
      if(EXPRD(x2,1)){
       if(x_x1){
	DSPRDF(x1);
       }else{
	FRPRD(x1,1);}
       {OBJ x40;
	PRD(3,5,x40);FLD(x40,1)=x38;FLD(x40,2)=x39;FLD(x40,3)=x3;
	RPRD(x2,r);FLD(r,1)=x40;}
      }else{
       CPPRD(x39,1);
       if(x_x1){
	DSPRDF(x1);
       }else{
	FRPRD(x1,1);}
       {OBJ x40;
	PRD(3,5,x40);FLD(x40,1)=x38;FLD(x40,2)=x39;FLD(x40,3)=x3;
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x40;}}}
    }else{
     FREE(x2,1);
     COPY(x3,1);
     {OBJ x41;OBJ x42;
      if(x_x1){
       RPRD(x1,x41);CHGTG(x41,0);FLD(x41,1)=x3;
      }else{
       FRPRD(x1,1);PRD(1,0,x41);FLD(x41,1)=x3;}
      PRD(3,5,x42);FLD(x42,1)=x38;FLD(x42,2)=x41;FLD(x42,3)=x3;
      PRD(1,14,r);FLD(r,1)=x42;}}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   COPY(x3,1);
   {OBJ x43;OBJ x44;
    PRD(1,0,x43);FLD(x43,1)=x3;
    PRD(3,5,x44);FLD(x44,1)=__ASeq_6;FLD(x44,2)=x43;FLD(x44,3)=x3;
    PRD(1,14,r);FLD(r,1)=x44;}}}
 return r;}

extern OBJ _AModExpr_34(OBJ x1,OBJ x2) /* getPos */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  {OBJ x49=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x49,1);
    FRPRD(x1,1);}
   {OBJ x51;OBJ x52;
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     if(EXPRD(x2,1)){
      FRPRD(FLD(x2,1),1);DSPRDF(x2);
     }else{
      DCPRD(x2,1);}
     x51=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     x51=__ABUILTIN_3;}
    x52=_AImpl_10(x49);
    r=x52;}}
 }else{
  {OBJ x54;
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    x54=__ABUILTIN_5;
   }else{
    x54=__ABUILTIN_3;}
   if(ISPRD(x1)&&(ISTGPRD(x1,15))){
    {OBJ x55=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      COPY(x55,1);
      FRPRD(x1,1);}
     if(ISPRM(x55)){
      if(ISTGPRM(x54,1)){
       if(ISPRD(x2)&&(ISTGPRD(x2,14))){
	{OBJ x61=FLD(x2,1);
	 if(EXPRD(x2,1)){
	  DSPRDF(x2);
	 }else{
	  CPPRD(x61,1);
	  FRPRD(x2,1);}
	 r=_AImpl_10(x61);}
       }else{
	HLT("Absy at <unknown> : undefined selection e\'Absy:absy->expr");}
      }else{
       FREE(x2,1);
       COPY(__APErr_16,1);
       r=__APErr_16;}
     }else{
      {OBJ x56=FLD1(x55,1);
       if(EXPRD(x55,1)){
	FREE(FLD1(x55,2),1);DSPRDF(x55);
       }else{
	CPPRD(x56,1);
	FRPRD(x55,1);}
       FREE(x2,1);
       {OBJ x60=FLD1(x56,3);
	if(EXPRD(x56,1)){
	 FLD1(x56,3)=NIL;DSPRD(x56);
	}else{
	 COPY(x60,1);
	 FRPRD(x56,1);}
	r=x60;}}}}
   }else{
    FREE(x1,1);
    if(ISTGPRM(x54,1)){
     if(ISPRD(x2)&&(ISTGPRD(x2,14))){
      {OBJ x62=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	CPPRD(x62,1);
	FRPRD(x2,1);}
       r=_AImpl_10(x62);}
     }else{
      HLT("Absy at <unknown> : undefined selection e\'Absy:absy->expr");}
    }else{
     FREE(x2,1);
     COPY(__APErr_16,1);
     r=__APErr_16;}}}}
 return r;}

extern OBJ _AModExpr_35(OBJ x1,OBJ x2) /* mElse */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   COPY(__AModExpr_53,1);
   r=__AModExpr_53;
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    r=x2;
   }else{
    FREE(x2,1);
    COPY(__AModExpr_53,1);
    r=__AModExpr_53;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,14))){
   {OBJ x74=FLD(x1,1);
    CPPRD(x74,1);
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     {OBJ x75=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
      if(x_x2){
      }else{
       CPPRD(x75,1);}
      if(EXPRD(x1,1)){
       FRPRD(FLD(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      if(ISTGPRD(x74,5)){
       {OBJ x76=FLD(x74,1);OBJ x77=FLD(x74,2);
	COPY(x76,1);CPPRD(x77,1);
	{OBJ x79;OBJ x80;
	 x79=_AImpl_10(x74);
	 PRD(3,5,x80);FLD(x80,1)=x76;FLD(x80,2)=x77;FLD(x80,3)=x79;
	 if(x_x2){
	  RPRD(x2,r);
	 }else{
	  FRPRD(x2,1);PRD(1,14,r);}
	 FLD(r,1)=_AModExpr_36(x80,x75);}}
      }else{
       {
	if(x_x2){
	 RPRD(x2,r);
	}else{
	 FRPRD(x2,1);PRD(1,14,r);}
	FLD(r,1)=_AModExpr_23(x74,x75);}}}
    }else{
     if(ISTGPRD(x74,5)){
      if(EXPRD(x74,1)){
       DSPRD(x74);
      }else{
       DCPRD(x74,1);}
      if(ISPRM(x2)){
       r=x1;
      }else{
       if(EXPRD(x1,1)){
	FRPRD(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       FREE(x2,1);
       COPY(__AModExpr_53,1);
       r=__AModExpr_53;}
     }else{
      FRPRD(x74,1);
      if(ISPRM(x2)){
       r=x1;
      }else{
       if(EXPRD(x1,1)){
	FRPRD(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       FREE(x2,1);
       COPY(__AModExpr_53,1);
       r=__AModExpr_53;}}}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   COPY(__AModExpr_53,1);
   r=__AModExpr_53;}}
 return r;}

extern OBJ _AModExpr_36(register OBJ x1,register OBJ x2) /* modInner */
{OBJ r;OBJ* p1=&r;
 for(;;){
  if(ISTGPRD(x1,5)){
   {OBJ x26=FLD(x1,1);OBJ x27=FLD(x1,2);
    COPY(x26,1);CPPRD(x27,1);
    {OBJ x29;
     x29=_AImpl_10(x1);
     if(ISTGPRD(x27,0)){
      if(EXPRD(x27,1)){
       FREE(FLD(x27,1),1);DSPRDF(x27);
      }else{
       DCPRD(x27,1);}
      PRD(3,5,*p1);FLD(*p1,1)=x26;FLD(*p1,2)=x2;FLD(*p1,3)=x29;
     }else{
      {
       PRD(3,5,*p1);FLD(*p1,1)=x26;FLD(*p1,3)=x29;
       x1=x27;p1=&FLD(*p1,2);continue;}}}}
  }else{
   FRPRD(x2,1);
   *p1=x1;}
  break;}
 return r;}

extern OBJ _AModExpr_37(OBJ x1,OBJ x2) /* mAbstr */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   {OBJ x464=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
    }else{
     COPY(x464,1);}
    if(ISPRM(x464)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x471=FLD1(x464,7);
      COPY(x471,2);
      {OBJ x473;OBJ x474;
       PRD(2,7,x473);FLD(x473,1)=x464;FLD(x473,2)=x471;
       PRD(3,6,x474);FLD(x474,1)=__ASeq_6;FLD(x474,2)=x473;FLD(x474,3)=x471;
       if(x_x2){
	RPRD(x2,r);CHGTG(r,14);FLD(r,1)=x474;
       }else{
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x474;}}}}}
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x475=FLD(x2,1);
     if(EXPRD(x2,1)){
      CPPRD(x475,1);
      {OBJ x476;OBJ x477;
       x476=_AImpl_10(x475);
       PRD(3,6,x477);FLD(x477,1)=__ASeq_6;FLD(x477,2)=x475;FLD(x477,3)=x476;
       RPRD(x2,r);FLD(r,1)=x477;}
     }else{
      CPPRD(x475,2);
      {OBJ x476;OBJ x477;
       x476=_AImpl_10(x475);
       PRD(3,6,x477);FLD(x477,1)=__ASeq_6;FLD(x477,2)=x475;FLD(x477,3)=x476;
       FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x477;}}}
   }else{
    FREE(x2,1);
    COPY(__AModExpr_55,1);
    r=__AModExpr_55;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,2))){
   {OBJ x412=FLD(x1,1);FLAG x_x1=EXPRD(x1,1);
    if(x_x1){
    }else{
     COPY(x412,1);}
    if(ISPRM(x412)){
     if(x_x1){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,1))){
      {OBJ x413=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
       if(x_x2){
       }else{
	COPY(x413,1);}
       if(ISPRM(x413)){
	if(x_x2){
	 DSPRDF(x2);
	}else{
	 FRPRD(x2,1);}
	COPY(__AModExpr_55,1);
	r=__AModExpr_55;
       }else{
	{OBJ x420=FLD1(x413,7);
	 COPY(x420,2);
	 {OBJ x421;OBJ x422;
	  PRD(2,7,x421);FLD(x421,1)=x413;FLD(x421,2)=x420;
	  PRD(3,6,x422);FLD(x422,1)=__ASeq_6;FLD(x422,2)=x421;FLD(x422,3)=x420;
	  if(x_x2){
	   RPRD(x2,r);CHGTG(r,14);FLD(r,1)=x422;
	  }else{
	   FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x422;}}}}}
     }else{
      if(ISPRD(x2)&&(ISTGPRD(x2,14))){
       {OBJ x423=FLD(x2,1);
	if(EXPRD(x2,1)){
	 CPPRD(x423,1);
	 {OBJ x424;OBJ x425;
	  x424=_AImpl_10(x423);
	  PRD(3,6,x425);FLD(x425,1)=__ASeq_6;FLD(x425,2)=x423;FLD(x425,3)=x424;
	  RPRD(x2,r);FLD(r,1)=x425;}
	}else{
	 CPPRD(x423,2);
	 {OBJ x424;OBJ x425;
	  x424=_AImpl_10(x423);
	  PRD(3,6,x425);FLD(x425,1)=__ASeq_6;FLD(x425,2)=x423;FLD(x425,3)=x424;
	  FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x425;}}}
      }else{
       FREE(x2,1);
       COPY(__AModExpr_55,1);
       r=__AModExpr_55;}}
    }else{
     {OBJ x426=FLD1(x412,1);OBJ x427=FLD1(x412,2);FLAG x_x412=EXPRD(x412,1);
      if(x_x412){
      }else{
       COPY(x426,1);COPY(x427,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,1))){
       {OBJ x428=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
	if(x_x2){
	}else{
	 COPY(x428,1);}
	{OBJ x437;OBJ x438;
	 if(ISPRM(x428)){
	  COPY(x426,1);
	  x437=__ABUILTIN_5;
	 }else{
	  COPY(x426,1);
	  x437=__ABUILTIN_3;}
	 if(x_x412){
	  RSOME(x412,x438);
	 }else{
	  FRPRD(x412,1);PRD1(2,x438);FLD1(x438,1)=x426;FLD1(x438,2)=x427;}
	 if(ISTGPRM(x437,1)){
	  FREE(x428,1);
	  {OBJ x446;OBJ x447;OBJ x448;
	   if(ISPRM(x426)){
	    HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
	   }else{
	    {OBJ x445=FLD1(x426,7);
	     if(EXPRD(x426,1)){
	      x446=x445;
	      FLD1(x426,7)=NIL;DSPRD(x426);
	     }else{
	      COPY(x445,1);
	      x446=x445;
	      FRPRD(x426,1);}}}
	   COPY(x446,1);
	   if(x_x2){
	    RPRD(x2,x447);CHGTG(x447,0);FLD(x447,1)=x446;
	   }else{
	    FRPRD(x2,1);PRD(1,0,x447);FLD(x447,1)=x446;}
	   PRD(3,6,x448);FLD(x448,1)=x438;FLD(x448,2)=x447;FLD(x448,3)=x446;
	   if(x_x1){
	    RPRD(x1,r);CHGTG(r,14);FLD(r,1)=x448;
	   }else{
	    FRPRD(x1,1);PRD(1,14,r);FLD(r,1)=x448;}}
	 }else{
	  if(x_x1){
	   DSPRDF(x1);
	  }else{
	   FRPRD(x1,1);}
	  FREE(x426,1);
	  {OBJ x456;OBJ x457;OBJ x458;
	   if(ISPRM(x428)){
	    HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
	   }else{
	    {OBJ x455=FLD1(x428,7);
	     COPY(x455,1);
	     x456=x455;}}
	   COPY(x456,1);
	   PRD(2,7,x457);FLD(x457,1)=x428;FLD(x457,2)=x456;
	   PRD(3,6,x458);FLD(x458,1)=x438;FLD(x458,2)=x457;FLD(x458,3)=x456;
	   if(x_x2){
	    RPRD(x2,r);CHGTG(r,14);FLD(r,1)=x458;
	   }else{
	    FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x458;}}}}}
      }else{
       if(ISPRD(x2)&&(ISTGPRD(x2,14))){
	{OBJ x459=FLD(x2,1);
	 if(EXPRD(x2,1)){
	  CPPRD(x459,1);
	  if(x_x1){
	   DSPRDF(x1);
	  }else{
	   FRPRD(x1,1);}
	  {OBJ x460;OBJ x462;OBJ x463;
	   x460=_AImpl_10(x459);
	   if(x_x412){
	    RSOME(x412,x462);
	   }else{
	    FRPRD(x412,1);PRD1(2,x462);FLD1(x462,1)=x426;FLD1(x462,2)=x427;}
	   PRD(3,6,x463);FLD(x463,1)=x462;FLD(x463,2)=x459;FLD(x463,3)=x460;
	   RPRD(x2,r);FLD(r,1)=x463;}
	 }else{
	  CPPRD(x459,2);
	  if(x_x1){
	   DSPRDF(x1);
	  }else{
	   FRPRD(x1,1);}
	  {OBJ x460;OBJ x462;OBJ x463;
	   x460=_AImpl_10(x459);
	   if(x_x412){
	    RSOME(x412,x462);
	   }else{
	    FRPRD(x412,1);PRD1(2,x462);FLD1(x462,1)=x426;FLD1(x462,2)=x427;}
	   PRD(3,6,x463);FLD(x463,1)=x462;FLD(x463,2)=x459;FLD(x463,3)=x460;
	   FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x463;}}}
       }else{
	if(x_x1){
	 DSPRDF(x1);
	}else{
	 FRPRD(x1,1);}
	if(x_x412){
	 DSPRDF(x412);
	}else{
	 FRPRD(x412,1);}
	FREE(x2,1);
	FREE(x426,1);
	FREE(x427,1);
	COPY(__AModExpr_55,1);
	r=__AModExpr_55;}}}}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   COPY(__AModExpr_55,1);
   r=__AModExpr_55;}}
 return r;}

extern OBJ _AModExpr_38(OBJ x1,OBJ x2) /* mBlock */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,11))){
  {OBJ x54=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x54,1);
    FRPRD(x1,1);}
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x55=FLD(x2,1);
     if(EXPRD(x2,1)){
      CPPRD(x55,1);
      {OBJ x56;OBJ x57;
       x56=_AImpl_10(x55);
       PRD(3,9,x57);FLD(x57,1)=x54;FLD(x57,2)=x55;FLD(x57,3)=x56;
       RPRD(x2,r);FLD(r,1)=x57;}
     }else{
      CPPRD(x55,2);
      {OBJ x56;OBJ x57;
       x56=_AImpl_10(x55);
       PRD(3,9,x57);FLD(x57,1)=x54;FLD(x57,2)=x55;FLD(x57,3)=x56;
       FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x57;}}}
   }else{
    FREE(x2,1);
    FREE(x54,1);
    COPY(__AModExpr_57,1);
    r=__AModExpr_57;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,14))){
   {OBJ x58=FLD(x1,1);
    CPPRD(x58,1);
    if(ISPRD(x2)&&(ISTGPRD(x2,11))){
     {OBJ x59=FLD(x2,1);
      if(EXPRD(x2,1)){
       if(EXPRD(x1,1)){
	FRPRD(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       CPPRD(x58,1);
       {OBJ x60;OBJ x61;
	x60=_AImpl_10(x58);
	PRD(3,9,x61);FLD(x61,1)=x59;FLD(x61,2)=x58;FLD(x61,3)=x60;
	RPRD(x2,r);CHGTG(r,14);FLD(r,1)=x61;}
      }else{
       COPY(x59,1);
       if(EXPRD(x1,1)){
	FRPRD(FLD(x1,1),1);DSPRDF(x1);
       }else{
	DCPRD(x1,1);}
       CPPRD(x58,1);
       {OBJ x60;OBJ x61;
	x60=_AImpl_10(x58);
	PRD(3,9,x61);FLD(x61,1)=x59;FLD(x61,2)=x58;FLD(x61,3)=x60;
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x61;}}}
    }else{
     if(ISPRD(x2)&&(ISTGPRD(x2,14))){
      if(EXPRD(x2,1)){
       FRPRD(FLD(x2,1),1);DSPRDF(x2);
      }else{
       DCPRD(x2,1);}
      FRPRD(x58,1);
      r=x1;
     }else{
      FREE(x2,1);
      FRPRD(x58,1);
      r=x1;}}}
  }else{
   FREE(x1,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    r=x2;
   }else{
    FREE(x2,1);
    COPY(__AModExpr_57,1);
    r=__AModExpr_57;}}}
 return r;}

extern OBJ _AModExpr_39(OBJ x1,OBJ x2) /* mSeqAnd */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  {OBJ x158=FLD(x1,1);
   CPPRD(x158,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x159=FLD(x2,1);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      CPPRD(x159,1);
      FRPRD(x2,1);}
     if(ISTGPRD(x159,5)){
      {OBJ x160=FLD(x159,1);OBJ x161=FLD(x159,2);
       COPY(x160,1);CPPRD(x161,1);
       if(ISPRM(x160)){
	FRPRD(x158,1);
	if(EXPRD(x159,1)){
	 DSPRD(x159);
	}else{
	 DCPRD(x159,1);}
	FRPRD(x161,1);
	r=x1;
       }else{
	{OBJ x163=FLD1(x160,1);
	 CPPRD(x163,1);
	 {OBJ x165=FLD1(x163,1);OBJ x166=FLD1(x163,2);OBJ x167=FLD1(x163,3);
	  CPPRD(x165,1);CPPRD(x166,1);COPY(x167,1);
	  if(ISTGPRD(x165,0)){
	   if(EXPRD(x1,1)){
	    FRPRD(FLD(x1,1),1);DSPRDF(x1);
	   }else{
	    DCPRD(x1,1);}
	   {OBJ x169;OBJ x170;OBJ x171;OBJ x172;
	    x169=_AImpl_10(x159);
	    if(EXPRD(x163,1)){
	     RSOME(x163,x170);FRPRD(FLD1(x170,1),1);FLD1(x170,1)=x158;FRPRD(FLD1(x170,2),1);FREE(FLD1(x170,3),1);
	    }else{
	     DCPRD(x163,1);PRD1(3,x170);FLD1(x170,1)=x158;FLD1(x170,2)=x166;FLD1(x170,3)=x167;}
	    if(EXPRD(x160,1)){
	     RSOME(x160,x171);FRPRD(FLD1(x171,1),1);FLD1(x171,1)=x170;FREE(FLD1(x171,2),1);FLD1(x171,2)=__ASeq_6;
	    }else{
	     DCPRD(x160,1);PRD1(2,x171);FLD1(x171,1)=x170;FLD1(x171,2)=__ASeq_6;}
	    PRD(3,5,x172);FLD(x172,1)=x171;FLD(x172,2)=x161;FLD(x172,3)=x169;
	    if(EXPRD(x165,1)){
	     RPRD(x165,r);CHGTG(r,14);FREE(FLD(r,1),1);FLD(r,1)=x172;
	    }else{
	     DCPRD(x165,1);PRD(1,14,r);FLD(r,1)=x172;}}
	  }else{
	   if(EXPRD(x160,1)){
	    DSPRD(x160);
	   }else{
	    DCPRD(x160,1);}
	   if(EXPRD(x163,1)){
	    DSPRD(x163);
	   }else{
	    DCPRD(x163,1);}
	   FRPRD(x158,1);
	   if(EXPRD(x159,1)){
	    DSPRD(x159);
	   }else{
	    DCPRD(x159,1);}
	   FRPRD(x161,1);
	   FRPRD(x165,1);
	   FRPRD(x166,1);
	   FREE(x167,1);
	   r=x1;}}}}}
     }else{
      FRPRD(x158,1);
      FRPRD(x159,1);
      r=x1;}}
   }else{
    FREE(x2,1);
    FRPRD(x158,1);
    r=x1;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,16))){
   {OBJ x173=FLD(x1,1);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     COPY(x173,1);
     FRPRD(x1,1);}
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     {OBJ x174=FLD(x2,1);
      if(EXPRD(x2,1)){
       COPY(x173,1);
       CPPRD(__AModExpr_58,1);
       CPPRD(__APreDef_5,1);
       {OBJ x175;OBJ x176;OBJ x177;
	PRD1(3,x175);FLD1(x175,1)=__AModExpr_58;FLD1(x175,2)=x174;FLD1(x175,3)=x173;
	PRD1(2,x176);FLD1(x176,1)=x175;FLD1(x176,2)=__ASeq_6;
	PRD(3,5,x177);FLD(x177,1)=x176;FLD(x177,2)=__APreDef_5;FLD(x177,3)=x173;
	RPRD(x2,r);FLD(r,1)=x177;}
      }else{
       CPPRD(x174,1);
       COPY(x173,1);
       CPPRD(__AModExpr_58,1);
       CPPRD(__APreDef_5,1);
       {OBJ x175;OBJ x176;OBJ x177;
	PRD1(3,x175);FLD1(x175,1)=__AModExpr_58;FLD1(x175,2)=x174;FLD1(x175,3)=x173;
	PRD1(2,x176);FLD1(x176,1)=x175;FLD1(x176,2)=__ASeq_6;
	PRD(3,5,x177);FLD(x177,1)=x176;FLD(x177,2)=__APreDef_5;FLD(x177,3)=x173;
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x177;}}}
    }else{
     FREE(x2,1);
     FREE(x173,1);
     COPY(__AModExpr_59,1);
     r=__AModExpr_59;}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   COPY(__AModExpr_59,1);
   r=__AModExpr_59;}}
 return r;}

extern OBJ _AModExpr_40(OBJ x1,OBJ x2) /* mSeqOr */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,14))){
  {OBJ x162=FLD(x1,1);
   CPPRD(x162,1);
   if(ISPRD(x2)&&(ISTGPRD(x2,14))){
    {OBJ x163=FLD(x2,1);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      CPPRD(x163,1);
      FRPRD(x2,1);}
     if(ISTGPRD(x163,5)){
      {OBJ x164=FLD(x163,1);OBJ x165=FLD(x163,2);
       COPY(x164,1);CPPRD(x165,1);
       if(ISPRM(x164)){
	FRPRD(x162,1);
	if(EXPRD(x163,1)){
	 DSPRD(x163);
	}else{
	 DCPRD(x163,1);}
	FRPRD(x165,1);
	r=x1;
       }else{
	{OBJ x167=FLD1(x164,1);
	 CPPRD(x167,1);
	 {OBJ x169=FLD1(x167,1);OBJ x170=FLD1(x167,2);OBJ x171=FLD1(x167,3);
	  CPPRD(x169,1);CPPRD(x170,1);COPY(x171,1);
	  if(ISTGPRD(x169,0)){
	   if(EXPRD(x1,1)){
	    FRPRD(FLD(x1,1),1);DSPRDF(x1);
	   }else{
	    DCPRD(x1,1);}
	   {OBJ x173;OBJ x174;OBJ x175;OBJ x176;
	    x173=_AImpl_10(x163);
	    if(EXPRD(x167,1)){
	     RSOME(x167,x174);FRPRD(FLD1(x174,1),1);FLD1(x174,1)=x162;FRPRD(FLD1(x174,2),1);FREE(FLD1(x174,3),1);
	    }else{
	     DCPRD(x167,1);PRD1(3,x174);FLD1(x174,1)=x162;FLD1(x174,2)=x170;FLD1(x174,3)=x171;}
	    if(EXPRD(x164,1)){
	     RSOME(x164,x175);FRPRD(FLD1(x175,1),1);FLD1(x175,1)=x174;FREE(FLD1(x175,2),1);FLD1(x175,2)=__ASeq_6;
	    }else{
	     DCPRD(x164,1);PRD1(2,x175);FLD1(x175,1)=x174;FLD1(x175,2)=__ASeq_6;}
	    PRD(3,5,x176);FLD(x176,1)=x175;FLD(x176,2)=x165;FLD(x176,3)=x173;
	    if(EXPRD(x169,1)){
	     RPRD(x169,r);CHGTG(r,14);FREE(FLD(r,1),1);FLD(r,1)=x176;
	    }else{
	     DCPRD(x169,1);PRD(1,14,r);FLD(r,1)=x176;}}
	  }else{
	   if(EXPRD(x164,1)){
	    DSPRD(x164);
	   }else{
	    DCPRD(x164,1);}
	   if(EXPRD(x167,1)){
	    DSPRD(x167);
	   }else{
	    DCPRD(x167,1);}
	   FRPRD(x162,1);
	   if(EXPRD(x163,1)){
	    DSPRD(x163);
	   }else{
	    DCPRD(x163,1);}
	   FRPRD(x165,1);
	   FRPRD(x169,1);
	   FRPRD(x170,1);
	   FREE(x171,1);
	   r=x1;}}}}}
     }else{
      FRPRD(x162,1);
      FRPRD(x163,1);
      r=x1;}}
   }else{
    FREE(x2,1);
    FRPRD(x162,1);
    r=x1;}}
 }else{
  if(ISPRD(x1)&&(ISTGPRD(x1,16))){
   {OBJ x177=FLD(x1,1);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     COPY(x177,1);
     FRPRD(x1,1);}
    if(ISPRD(x2)&&(ISTGPRD(x2,14))){
     {OBJ x178=FLD(x2,1);
      if(EXPRD(x2,1)){
       CPPRD(x178,1);
       CPPRD(__AModExpr_60,1);
       CPPRD(__APreDef_4,1);
       {OBJ x179;OBJ x180;OBJ x181;OBJ x182;
	x179=_AImpl_10(x178);
	PRD1(3,x180);FLD1(x180,1)=__AModExpr_60;FLD1(x180,2)=__APreDef_4;FLD1(x180,3)=x177;
	PRD1(2,x181);FLD1(x181,1)=x180;FLD1(x181,2)=__ASeq_6;
	PRD(3,5,x182);FLD(x182,1)=x181;FLD(x182,2)=x178;FLD(x182,3)=x179;
	RPRD(x2,r);FLD(r,1)=x182;}
      }else{
       CPPRD(x178,2);
       CPPRD(__AModExpr_60,1);
       CPPRD(__APreDef_4,1);
       {OBJ x179;OBJ x180;OBJ x181;OBJ x182;
	x179=_AImpl_10(x178);
	PRD1(3,x180);FLD1(x180,1)=__AModExpr_60;FLD1(x180,2)=__APreDef_4;FLD1(x180,3)=x177;
	PRD1(2,x181);FLD1(x181,1)=x180;FLD1(x181,2)=__ASeq_6;
	PRD(3,5,x182);FLD(x182,1)=x181;FLD(x182,2)=x178;FLD(x182,3)=x179;
	FRPRD(x2,1);PRD(1,14,r);FLD(r,1)=x182;}}}
    }else{
     FREE(x2,1);
     FREE(x177,1);
     COPY(__AModExpr_61,1);
     r=__AModExpr_61;}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   COPY(__AModExpr_61,1);
   r=__AModExpr_61;}}
 return r;}

extern OBJ _AModExpr_42(OBJ x1) /* prePre'42 */
{OBJ r;
 CPPRD(__AImpl_175,1);
 CPPRD(__AImpl_176,1);
 ABitset_16(__AImpl_176,__AImpl_175,r);
 return r;}

extern OBJ _AModExpr_43(OBJ x1) /* prePre'43 */
{OBJ r;
 CPCLS(__AModExpr_42,1);
 CPPRD(__AImpl_173,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_42,1))(__AModExpr_42,__ABUILTIN_20);
  ABitset_16(__AImpl_173,x2,r);}
 return r;}

extern OBJ _AModExpr_44(OBJ x1) /* prePre'44 */
{OBJ r;
 CPCLS(__AModExpr_43,1);
 CPPRD(__AImpl_172,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_43,1))(__AModExpr_43,__ABUILTIN_20);
  ABitset_16(__AImpl_172,x2,r);}
 return r;}

extern OBJ _AModExpr_45(OBJ x1) /* prePre'45 */
{OBJ r;
 CPCLS(__AModExpr_42,1);
 CPPRD(__AImpl_172,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_42,1))(__AModExpr_42,__ABUILTIN_20);
  ABitset_16(__AImpl_172,x2,r);}
 return r;}

extern OBJ _AModExpr_46(OBJ x1) /* prePre'46 */
{OBJ r;
 CPCLS(__AModExpr_45,1);
 CPPRD(__AImpl_174,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_45,1))(__AModExpr_45,__ABUILTIN_20);
  ABitset_16(__AImpl_174,x2,r);}
 return r;}

extern OBJ _AModExpr_47(OBJ x1) /* prePre'47 */
{OBJ r;
 CPPRD(__AImpl_173,1);
 CPPRD(__AImpl_176,1);
 ABitset_16(__AImpl_173,__AImpl_176,r);
 return r;}

extern OBJ _AModExpr_62(OBJ x1) /* mkDeno'62 */
{OBJ r;
 {OBJ x8;OBJ x14;OBJ x11;
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    x8=x4;
    FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    COPY(x4,1);
    x8=x4;
    FRPRD(x1,1);}}
  if(ISPRM(x8)){
   HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
  }else{
   {OBJ x32=FLD1(x8,1);OBJ x33=FLD1(x8,2);
    if(EXPRD(x8,1)){
     x11=x32;x14=x33;
     DSPRDF(x8);
    }else{
     CPPRD(x32,1);COPY(x33,1);
     x11=x32;x14=x33;
     FRPRD(x8,1);}}}
  {OBJ x26=FLD1(x11,2);OBJ x27=FLD1(x11,3);
   if(EXPRD(x11,1)){
    DSPRDF(x11);
   }else{
    CPPRD(x26,1);COPY(x27,1);
    FRPRD(x11,1);}
   CPPRD(__AOcError_15,1);
   {OBJ x28;OBJ x29;
    PRD(2,2,x28);FLD(x28,1)=x26;FLD(x28,2)=x27;
    PRD(1,14,x29);FLD(x29,1)=x28;
    PRD(3,0,r);FLD(r,1)=__AOcError_15;FLD(r,2)=x29;FLD(r,3)=x14;}}}
 return r;}

extern OBJ _AModExpr_64(OBJ x1,OBJ x2) /* modEq'64 */
{OBJ r;
 CPPRD(__AModExpr_63,1);
 {OBJ x3;
  x3=_AAbsy_79(x1);
  ADenotation_4(__AModExpr_63,x3,r);}
 return r;}

extern OBJ _AModExpr_65(OBJ x1,OBJ x2) /* modEq'65 */
{OBJ r;
 {OBJ x4;OBJ x6;OBJ x34;OBJ x20;OBJ x35;OBJ x36;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   x4=__ABUILTIN_5;
  }else{
   x4=__ABUILTIN_3;}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   x6=__ABUILTIN_5;
  }else{
   x6=__ABUILTIN_3;}
  if(ISTGPRM(x6,1)){
   {OBJ x24;OBJ x32;OBJ x33;
    if(ISPRD(x1)&&(ISTGPRD(x1,21)||ISTGPRD(x1,1))){
     {OBJ x21=FLD(x1,1);
      if(EXPRD(x1,1)){
       x24=x21;
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       COPY(x21,1);
       x24=x21;
       FRPRD(x1,1);}}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x24)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x31=FLD1(x24,7);
      COPY(x31,1);
      x32=x31;}}
    PRD(2,7,x33);FLD(x33,1)=x24;FLD(x33,2)=x32;
    PRD(1,14,x34);FLD(x34,1)=x33;}
  }else{
   x34=x1;}
  if(ISTGPRM(x4,1)){
   {OBJ x10;OBJ x18;OBJ x19;
    if(ISPRD(x2)&&(ISTGPRD(x2,21)||ISTGPRD(x2,1))){
     {OBJ x7=FLD(x2,1);
      if(EXPRD(x2,1)){
       x10=x7;
       FLD(x2,1)=NIL;DSPRD(x2);
      }else{
       COPY(x7,1);
       x10=x7;
       FRPRD(x2,1);}}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x10)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x17=FLD1(x10,7);
      COPY(x17,1);
      x18=x17;
      CPCLS(__AModExpr_64,1);}}
    PRD(2,7,x19);FLD(x19,1)=x10;FLD(x19,2)=x18;
    PRD(1,14,x20);FLD(x20,1)=x19;}
  }else{
   CPCLS(__AModExpr_64,1);
   x20=x2;}
  x35=_AModExpr_19(x34,x20);
  COPY(x35,1);
  x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_64,1))(__AModExpr_64,x35);
  r=_ADEBUG_2(__AModExpr_18,x36,x35);}
 return r;}

extern OBJ _AModExpr_66(OBJ x1,OBJ x2) /* modEqS'66 */
{OBJ r;
 r=_AModExpr_20(x1,x2);
 return r;}

extern OBJ _AModExpr_68(OBJ x1,OBJ x2) /* modExpr'68 */
{OBJ r;
 CPPRD(__AModExpr_67,1);
 {OBJ x3;
  x3=_AAbsy_79(x1);
  ADenotation_4(__AModExpr_67,x3,r);}
 return r;}

extern OBJ _AModExpr_69(OBJ x1,OBJ x2) /* modExpr'69 */
{OBJ r;
 {OBJ x4;OBJ x6;OBJ x34;OBJ x20;OBJ x35;OBJ x36;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   x4=__ABUILTIN_5;
  }else{
   x4=__ABUILTIN_3;}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   x6=__ABUILTIN_5;
  }else{
   x6=__ABUILTIN_3;}
  if(ISTGPRM(x6,1)){
   {OBJ x24;OBJ x32;OBJ x33;
    if(ISPRD(x1)&&(ISTGPRD(x1,21)||ISTGPRD(x1,1))){
     {OBJ x21=FLD(x1,1);
      if(EXPRD(x1,1)){
       x24=x21;
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       COPY(x21,1);
       x24=x21;
       FRPRD(x1,1);}}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x24)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x31=FLD1(x24,7);
      COPY(x31,1);
      x32=x31;}}
    PRD(2,7,x33);FLD(x33,1)=x24;FLD(x33,2)=x32;
    PRD(1,14,x34);FLD(x34,1)=x33;}
  }else{
   x34=x1;}
  if(ISTGPRM(x4,1)){
   {OBJ x10;OBJ x18;OBJ x19;
    if(ISPRD(x2)&&(ISTGPRD(x2,21)||ISTGPRD(x2,1))){
     {OBJ x7=FLD(x2,1);
      if(EXPRD(x2,1)){
       x10=x7;
       FLD(x2,1)=NIL;DSPRD(x2);
      }else{
       COPY(x7,1);
       x10=x7;
       FRPRD(x2,1);}}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x10)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x17=FLD1(x10,7);
      COPY(x17,1);
      x18=x17;
      CPCLS(__AModExpr_68,1);}}
    PRD(2,7,x19);FLD(x19,1)=x10;FLD(x19,2)=x18;
    PRD(1,14,x20);FLD(x20,1)=x19;}
  }else{
   CPCLS(__AModExpr_68,1);
   x20=x2;}
  x35=_AModExpr_22(x34,x20);
  COPY(x35,1);
  x36=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_68,1))(__AModExpr_68,x35);
  r=_ADEBUG_2(__AModExpr_21,x36,x35);}
 return r;}

extern OBJ _AModExpr_70(OBJ x1,OBJ x2) /* modExprFct'70 */
{OBJ r;
 r=_AModExpr_28(x1,x2);
 return r;}

extern OBJ _AModExpr_71(OBJ x1,OBJ x2) /* modTuple'71 */
{OBJ r;
 {OBJ x4;OBJ x6;OBJ x30;OBJ x18;OBJ x114;OBJ x72;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   x4=__ABUILTIN_5;
  }else{
   x4=__ABUILTIN_3;}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   x6=__ABUILTIN_5;
  }else{
   x6=__ABUILTIN_3;}
  if(ISTGPRM(x6,1)){
   {OBJ x22;
    if(ISPRD(x1)&&(ISTGPRD(x1,21)||ISTGPRD(x1,1))){
     {OBJ x19=FLD(x1,1);
      COPY(x19,1);
      x22=x19;}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x22)){
     x30=__ABUILTIN_5;
    }else{
     if(EXPRD(x22,1)){
      DSPRD(x22);
     }else{
      DCPRD(x22,1);}
     x30=__ABUILTIN_3;}}
  }else{
   x30=__ABUILTIN_3;}
  if(ISTGPRM(x4,1)){
   {OBJ x10;
    if(ISPRD(x2)&&(ISTGPRD(x2,21)||ISTGPRD(x2,1))){
     {OBJ x7=FLD(x2,1);
      COPY(x7,1);
      x10=x7;}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x10)){
     x18=__ABUILTIN_5;
    }else{
     if(EXPRD(x10,1)){
      DSPRD(x10);
     }else{
      DCPRD(x10,1);}
     x18=__ABUILTIN_3;}}
  }else{
   x18=__ABUILTIN_3;}
  if(ISTGPRM(x30,1)){
   {OBJ x76;OBJ x77;
    if(ISPRD(x1)&&(ISTGPRD(x1,21)||ISTGPRD(x1,1))){
     {OBJ x73=FLD(x1,1);
      if(EXPRD(x1,1)){
       x76=x73;
       FLD(x1,1)=NIL;DSPRD(x1);
      }else{
       COPY(x73,1);
       x76=x73;
       FRPRD(x1,1);}
      COPY(__APErr_16,1);}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    PRD(2,7,x77);FLD(x77,1)=x76;FLD(x77,2)=__APErr_16;
    PRD(1,14,x114);FLD(x114,1)=x77;}
  }else{
   if(ISTGPRM(x6,1)){
    {OBJ x81;OBJ x97;OBJ x89;OBJ x98;
     if(ISPRD(x1)&&(ISTGPRD(x1,21)||ISTGPRD(x1,1))){
      {OBJ x78=FLD(x1,1);
       if(EXPRD(x1,1)){
	x81=x78;
	FLD(x1,1)=NIL;DSPRD(x1);
       }else{
	COPY(x78,1);
	x81=x78;
	FRPRD(x1,1);}}
     }else{
      HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
     if(ISPRM(x81)){
      HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
     }else{
      {OBJ x112=FLD1(x81,7);
       COPY(x112,1);
       x97=x112;
       x89=__ABUILTIN_3;}}
     PRD(2,7,x98);FLD(x98,1)=x81;FLD(x98,2)=x97;
     PRD(1,14,x114);FLD(x114,1)=x98;}
   }else{
    x114=x1;}}
  if(ISTGPRM(x18,1)){
   {OBJ x34;OBJ x35;
    if(ISPRD(x2)&&(ISTGPRD(x2,21)||ISTGPRD(x2,1))){
     {OBJ x31=FLD(x2,1);
      if(EXPRD(x2,1)){
       x34=x31;
       FLD(x2,1)=NIL;DSPRD(x2);
      }else{
       COPY(x31,1);
       x34=x31;
       FRPRD(x2,1);}
      COPY(__APErr_16,1);}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    PRD(2,7,x35);FLD(x35,1)=x34;FLD(x35,2)=__APErr_16;
    PRD(1,14,x72);FLD(x72,1)=x35;}
  }else{
   if(ISTGPRM(x4,1)){
    {OBJ x39;OBJ x55;OBJ x47;OBJ x56;
     if(ISPRD(x2)&&(ISTGPRD(x2,21)||ISTGPRD(x2,1))){
      {OBJ x36=FLD(x2,1);
       if(EXPRD(x2,1)){
	x39=x36;
	FLD(x2,1)=NIL;DSPRD(x2);
       }else{
	COPY(x36,1);
	x39=x36;
	FRPRD(x2,1);}}
     }else{
      HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
     if(ISPRM(x39)){
      HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
     }else{
      {OBJ x70=FLD1(x39,7);
       COPY(x70,1);
       x55=x70;
       x47=__ABUILTIN_3;}}
     PRD(2,7,x56);FLD(x56,1)=x39;FLD(x56,2)=x55;
     PRD(1,14,x72);FLD(x72,1)=x56;}
   }else{
    x72=x2;}}
  r=_AModExpr_25(x114,x72);}
 return r;}

extern OBJ _AModExpr_72(OBJ x1,OBJ x2) /* modTuplePos'72 */
{OBJ r;
 r=_AAbsy_79(x1);
 return r;}

extern OBJ _AModExpr_73(OBJ x1,OBJ x2) /* modTuplePos'73 */
{OBJ r;
 {OBJ x4;OBJ x20;OBJ x21;OBJ x22;
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   x4=__ABUILTIN_5;
  }else{
   x4=__ABUILTIN_3;}
  if(ISTGPRM(x4,1)){
   {OBJ x8;OBJ x16;OBJ x17;OBJ x18;OBJ x19;
    if(ISPRD(x2)&&(ISTGPRD(x2,21)||ISTGPRD(x2,1))){
     {OBJ x5=FLD(x2,1);
      if(EXPRD(x2,1)){
       x8=x5;
       FLD(x2,1)=NIL;DSPRD(x2);
      }else{
       COPY(x5,1);
       x8=x5;
       FRPRD(x2,1);}}
    }else{
     HLT("Absy at <unknown> : undefined selection pName\'Absy:absy->partName");}
    if(ISPRM(x8)){
     HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
    }else{
     {OBJ x15=FLD1(x8,7);
      COPY(x15,1);
      x16=x15;
      CPCLS(__AModExpr_72,1);}}
    COPY(x16,1);
    PRD(2,7,x17);FLD(x17,1)=x8;FLD(x17,2)=x16;
    PRD1(2,x18);FLD1(x18,1)=x17;FLD1(x18,2)=__ASeq_6;
    PRD(2,3,x19);FLD(x19,1)=x18;FLD(x19,2)=x16;
    PRD(1,14,x20);FLD(x20,1)=x19;}
  }else{
   CPCLS(__AModExpr_72,1);
   x20=x2;}
  x21=_AModExpr_26(x1,x20);
  COPY(x21,1);
  x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__AModExpr_72,1))(__AModExpr_72,x21);
  r=_ADEBUG_2(__AModExpr_27,x22,x21);}
 return r;}

extern OBJ _AModExpr_74(OBJ x1,OBJ x2) /* modAsE'74 */
{OBJ r;
 r=_AModExpr_29(x1,x2);
 return r;}

extern OBJ _AModExpr_75(OBJ x1) /* postCheckAsName'75 */
{OBJ r;
 {OBJ x22;OBJ x15;OBJ x8;OBJ x23;OBJ x24;
  {OBJ x31=FLD(x1,1);OBJ x32=FLD(x1,2);OBJ x33=FLD(x1,3);
   if(EXPRD(x1,1)){
    x8=x31;x15=x32;x22=x33;
    FLD(x1,1)=NIL;FLD(x1,2)=NIL;FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    CPPRD(x31,1);COPY(x32,1);COPY(x33,1);
    x8=x31;x15=x32;x22=x33;
    FRPRD(x1,1);}
   CPCLS(__AOcError_21,1);}
  COPY(x15,1);
  x23=_AModExpr_30(x15);
  x24=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOcError_21,2))(__AOcError_21,x8,x23);
  PRD(3,0,r);FLD(r,1)=x24;FLD(r,2)=x15;FLD(r,3)=x22;}
 return r;}

extern OBJ _AModExpr_76(OBJ x1,OBJ x2) /* modGuard'76 */
{OBJ r;
 r=_AModExpr_31(x1,x2);
 return r;}

extern OBJ _AModExpr_77(OBJ x1,OBJ x2) /* modGuardSeq'77 */
{OBJ r;
 r=_AModExpr_32(x1,x2);
 return r;}

extern OBJ _AModExpr_78(OBJ x1,OBJ x2) /* modOther'78 */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x3;
  x3=_AModExpr_34(x1,x2);
  r=_AModExpr_33(x1,x2,x3);}
 return r;}

extern OBJ _AModExpr_79(OBJ x1,OBJ x2) /* modElse'79 */
{OBJ r;
 r=_AModExpr_35(x1,x2);
 return r;}

extern OBJ _AModExpr_80(OBJ x1,OBJ x2) /* modAbstr'80 */
{OBJ r;
 r=_AModExpr_37(x1,x2);
 return r;}

extern OBJ _AModExpr_81(OBJ x1,OBJ x2) /* modBlock'81 */
{OBJ r;
 r=_AModExpr_38(x1,x2);
 return r;}

extern OBJ _AModExpr_82(OBJ x1,OBJ x2) /* modSeqAnd'82 */
{OBJ r;
 r=_AModExpr_39(x1,x2);
 return r;}

extern OBJ _AModExpr_83(OBJ x1,OBJ x2) /* modSeqOr'83 */
{OBJ r;
 r=_AModExpr_40(x1,x2);
 return r;}




































init_AModExpr()
{
 static int visited=0; if(visited) return; visited=1;
 init_ARepTab();
 init_APErr();
 init_APCommon();
 init_AZOpts();
 init_APTypes();
 init_APreDef();
 init_AToken();
 init_ADenotation();
 init_AModBase();
 init_ASeqReduce();
 init_AAbsy();
 init_ASeqMap();
 init_ASeq();
 init_ADEBUG();
 init_AOcError();
 init_ASetByBST();
 init_ACom();
 init_ABSTree();
 init_ANat();
 init_ATree();
 init_AVoid();
 init_AArray();
 init_AOption();
 init_AMapReduce();
 init_AOcPos();
 init_ASeqConv();
 init_AString();
 init_ALexem();
 init_AOcOptions();
 init_AChar();
 init_AStream();
 init_AFile();
 init_AInt();
 init_APragma();
 init_AFct();
 init_AStruct();
 init_AImpl();
 init_APartName();
 init_ARep();
 init_APair();
 init_ABitset();
 init_AGlobPragma();
 init_AMap();
 init_ASet();
 init_ATerminal();
 DEN("modEq Res ",__AModExpr_63);
 CLS(2,_AModExpr_31,__AModExpr_31);
 CLS(1,_AModExpr_62,__AModExpr_62);
 CLS(1,_AModExpr_30,__AModExpr_30);
 CLS(2,_AModExpr_29,__AModExpr_29);
 CLS(2,_AModExpr_28,__AModExpr_28);
 CLS(2,_AModExpr_26,__AModExpr_26);
 CLS(2,_AModExpr_25,__AModExpr_25);
 CLS(1,_AModExpr_24,__AModExpr_24);
 CLS(2,_AModExpr_23,__AModExpr_23);
 DEN("-zprintTuplePos",__AModExpr_86);
 CLS(2,_AModExpr_22,__AModExpr_22);
 DEN("-ztraceExpr",__AModExpr_85);
 DEN("-ztraceEq",__AModExpr_84);
 CLS(2,_AModExpr_20,__AModExpr_20);
 CLS(2,_AModExpr_83,__AModExpr_83);
 CLS(2,_AModExpr_19,__AModExpr_19);
 CLS(2,_AModExpr_82,__AModExpr_82);
 CLS(2,_AModExpr_81,__AModExpr_81);
 CLS(2,_AModExpr_80,__AModExpr_80);
 CLS(2,_AModExpr_79,__AModExpr_79);
 LCLS(1,_AModExpr_47,__AModExpr_47);
 CLS(2,_AModExpr_78,__AModExpr_78);
 LCLS(1,_AModExpr_46,__AModExpr_46);
 CLS(2,_AModExpr_77,__AModExpr_77);
 LCLS(1,_AModExpr_45,__AModExpr_45);
 CLS(2,_AModExpr_76,__AModExpr_76);
 LCLS(1,_AModExpr_44,__AModExpr_44);
 CLS(1,_AModExpr_75,__AModExpr_75);
 LCLS(1,_AModExpr_43,__AModExpr_43);
 CLS(2,_AModExpr_74,__AModExpr_74);
 LCLS(1,_AModExpr_42,__AModExpr_42);
 CLS(2,_AModExpr_73,__AModExpr_73);
 LCLS(2,_AModExpr_72,__AModExpr_72);
 CLS(2,_AModExpr_40,__AModExpr_40);
 CLS(2,_AModExpr_71,__AModExpr_71);
 CLS(2,_AModExpr_39,__AModExpr_39);
 CLS(2,_AModExpr_70,__AModExpr_70);
 CLS(2,_AModExpr_38,__AModExpr_38);
 CLS(2,_AModExpr_69,__AModExpr_69);
 CLS(2,_AModExpr_37,__AModExpr_37);
 LCLS(2,_AModExpr_68,__AModExpr_68);
 CLS(2,_AModExpr_36,__AModExpr_36);
 DEN("modExp ",__AModExpr_67);
 CLS(2,_AModExpr_35,__AModExpr_35);
 CLS(2,_AModExpr_66,__AModExpr_66);
 CLS(2,_AModExpr_34,__AModExpr_34);
 CLS(2,_AModExpr_65,__AModExpr_65);
 CLS(3,_AModExpr_33,__AModExpr_33);
 LCLS(2,_AModExpr_64,__AModExpr_64);
 CLS(2,_AModExpr_32,__AModExpr_32);
 CPCLS(__AModExpr_62,1);
 PRD(1,1,__AModExpr_1);FLD(__AModExpr_1,1)=__AModExpr_62;
 CPPRD(__AModExpr_84,1);
 __AModExpr_18=_ADEBUG_10(__AModExpr_84);
 PRDF(1,11,__AModExpr_41);FLD(__AModExpr_41,1)=__ASeq_6;
 CPCLS(__AModExpr_65,1);
 PRD(1,0,__AModExpr_2);FLD(__AModExpr_2,1)=__AModExpr_65;
 CPCLS(__AModExpr_66,1);
 PRD(1,0,__AModExpr_3);FLD(__AModExpr_3,1)=__AModExpr_66;
 CPPRD(__AModExpr_85,1);
 __AModExpr_21=_ADEBUG_10(__AModExpr_85);
 CPCLS(__AModExpr_69,1);
 PRD(1,0,__AModExpr_4);FLD(__AModExpr_4,1)=__AModExpr_69;
 COPY(__APErr_16,1);
 PRD(1,0,__AModExpr_48);FLD(__AModExpr_48,1)=__APErr_16;
 CPPRD(__AModExpr_48,1);
 PRD(1,14,__AModExpr_49);FLD(__AModExpr_49,1)=__AModExpr_48;
 CPCLS(__AModExpr_70,1);
 PRD(1,0,__AModExpr_5);FLD(__AModExpr_5,1)=__AModExpr_70;
 CPCLS(__AModExpr_71,1);
 PRD(1,0,__AModExpr_6);FLD(__AModExpr_6,1)=__AModExpr_71;
 CPPRD(__AModExpr_86,1);
 __AModExpr_27=_ADEBUG_10(__AModExpr_86);
 CPCLS(__AModExpr_73,1);
 PRD(1,0,__AModExpr_7);FLD(__AModExpr_7,1)=__AModExpr_73;
 CPCLS(__AModExpr_74,1);
 PRD(1,0,__AModExpr_8);FLD(__AModExpr_8,1)=__AModExpr_74;
 CPCLS(__AModExpr_75,1);
 PRD(1,1,__AModExpr_9);FLD(__AModExpr_9,1)=__AModExpr_75;
 PRDF(1,15,__AModExpr_50);FLD(__AModExpr_50,1)=__ASeq_6;
 CPCLS(__AModExpr_76,1);
 PRD(1,0,__AModExpr_10);FLD(__AModExpr_10,1)=__AModExpr_76;
 PRDF(1,15,__AModExpr_51);FLD(__AModExpr_51,1)=__ASeq_6;
 CPCLS(__AModExpr_77,1);
 PRD(1,0,__AModExpr_11);FLD(__AModExpr_11,1)=__AModExpr_77;
 CPCLS(__AModExpr_78,1);
 PRD(1,0,__AModExpr_12);FLD(__AModExpr_12,1)=__AModExpr_78;
 COPY(__APErr_16,1);
 PRD(1,0,__AModExpr_52);FLD(__AModExpr_52,1)=__APErr_16;
 CPPRD(__AModExpr_52,1);
 PRD(1,14,__AModExpr_53);FLD(__AModExpr_53,1)=__AModExpr_52;
 CPCLS(__AModExpr_79,1);
 PRD(1,0,__AModExpr_13);FLD(__AModExpr_13,1)=__AModExpr_79;
 COPY(__APErr_16,1);
 PRD(1,0,__AModExpr_54);FLD(__AModExpr_54,1)=__APErr_16;
 CPPRD(__AModExpr_54,1);
 PRD(1,14,__AModExpr_55);FLD(__AModExpr_55,1)=__AModExpr_54;
 CPCLS(__AModExpr_80,1);
 PRD(1,0,__AModExpr_14);FLD(__AModExpr_14,1)=__AModExpr_80;
 COPY(__APErr_16,1);
 PRD(1,0,__AModExpr_56);FLD(__AModExpr_56,1)=__APErr_16;
 CPPRD(__AModExpr_56,1);
 PRD(1,14,__AModExpr_57);FLD(__AModExpr_57,1)=__AModExpr_56;
 CPCLS(__AModExpr_81,1);
 PRD(1,0,__AModExpr_15);FLD(__AModExpr_15,1)=__AModExpr_81;
 COPY(__APErr_16,1);
 PRD(1,0,__AModExpr_58);FLD(__AModExpr_58,1)=__APErr_16;
 CPPRD(__AModExpr_58,1);
 PRD(1,14,__AModExpr_59);FLD(__AModExpr_59,1)=__AModExpr_58;
 CPCLS(__AModExpr_82,1);
 PRD(1,0,__AModExpr_16);FLD(__AModExpr_16,1)=__AModExpr_82;
 COPY(__APErr_16,1);
 PRD(1,0,__AModExpr_60);FLD(__AModExpr_60,1)=__APErr_16;
 CPPRD(__AModExpr_60,1);
 PRD(1,14,__AModExpr_61);FLD(__AModExpr_61,1)=__AModExpr_60;
 CPCLS(__AModExpr_83,1);
 PRD(1,0,__AModExpr_17);FLD(__AModExpr_17,1)=__AModExpr_83;}

