

#include "BUILTIN.h"
extern OBJ __ATree_7;

#include "Bitset.h"
extern OBJ _ACom_24(OBJ);extern OBJ __ACom_24;
extern OBJ _AInterOpal_3(OBJ);extern OBJ __AInterOpal_3;
extern OBJ _AInterOpal_4(OBJ);extern OBJ __AInterOpal_4;
extern OBJ __AInterOpal_21;
extern OBJ _AInterOpal_91(OBJ);extern OBJ __AInterOpal_91;
extern OBJ _AInterOpal_155(OBJ);extern OBJ __AInterOpal_155;
extern OBJ _AInterOpal_227(OBJ);extern OBJ __AInterOpal_227;
extern OBJ _AInterOpal_228(OBJ);extern OBJ __AInterOpal_228;
extern OBJ _AInterOpal_287(OBJ);extern OBJ __AInterOpal_287;
extern OBJ _AInterOpal_309(OBJ,OBJ);extern OBJ __AInterOpal_309;
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;

#include "Nat.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ _ASeq_52(OBJ,OBJ);extern OBJ __ASeq_52;

#include "Char.h"

#include "Int.h"
extern OBJ __AOcError_8;
extern OBJ __AOcError_10;
extern OBJ __AOcError_12;
extern OBJ __AOcError_15;
extern OBJ _AOcError_16(OBJ,OBJ,OBJ);extern OBJ __AOcError_16;
extern OBJ _AOcError_21(OBJ,OBJ);extern OBJ __AOcError_21;
extern OBJ _AOcError_25(OBJ,OBJ);extern OBJ __AOcError_25;
extern OBJ __AComAction_1;
extern OBJ __AOcPos_2;
extern OBJ __AOcPos_9;

#include "Denotation.h"
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ __AOcExit_1;
extern OBJ _AInterOpalAccess_16(OBJ);extern OBJ __AInterOpalAccess_16;
extern OBJ _AInterOpalAccess_20(OBJ);extern OBJ __AInterOpalAccess_20;
extern OBJ _AInterOpalAccess_23(OBJ);extern OBJ __AInterOpalAccess_23;
extern OBJ _APostInterOpal_1(OBJ,OBJ);OBJ __APostInterOpal_1; /* checkInfoPragmas */
extern OBJ _APostInterOpal_2(OBJ,OBJ);OBJ __APostInterOpal_2; /* addDiag */
extern OBJ _APostInterOpal_3(OBJ);OBJ __APostInterOpal_3; /* clearInst */
extern OBJ _APostInterOpal_4(OBJ,OBJ,OBJ);OBJ __APostInterOpal_4; /* genErr */
extern OBJ _APostInterOpal_5(OBJ,OBJ,OBJ);OBJ __APostInterOpal_5; /* genErr,1 */
extern OBJ _APostInterOpal_6(OBJ,OBJ,OBJ);OBJ __APostInterOpal_6; /* genErr,2 */
extern OBJ _APostInterOpal_7(OBJ,OBJ,OBJ);OBJ __APostInterOpal_7; /* genErr,3 */
extern OBJ _APostInterOpal_8(OBJ,OBJ,OBJ);OBJ __APostInterOpal_8; /* genErr,4 */
extern OBJ _APostInterOpal_9(OBJ);OBJ __APostInterOpal_9; /* back */
OBJ __APostInterOpal_10; /* addDiag'10 */
extern OBJ _APostInterOpal_11(OBJ);OBJ __APostInterOpal_11; /* addDiag'11 */
OBJ __APostInterOpal_12; /* addDiag'12 */
OBJ __APostInterOpal_13; /* addDiag'13 */
OBJ __APostInterOpal_14; /* addDiag'14 */
OBJ __APostInterOpal_15; /* addDiag'15 */
extern OBJ _APostInterOpal_16(OBJ);OBJ __APostInterOpal_16; /* checkInfoPragmas'16 */
extern OBJ _APostInterOpal_17(OBJ);OBJ __APostInterOpal_17; /* checkInfoPragmas'17 */

extern OBJ _APostInterOpal_1(OBJ x1,OBJ x2) /* checkInfoPragmas */
{OBJ r;
 CPCLS(__APostInterOpal_2,1);
 CPCLS(__AInterOpal_287,1);
 CPCLS(__ASeq_26,1);
 CPPRD(x2,1);
 {OBJ x3;OBJ x4;OBJ x5;OBJ x6;
  x3=_AInterOpalAccess_16(x2);
  x4=_ASeqMap_3(__AInterOpal_287,x3);
  x5=_ASeqReduce_3(__ASeq_26,__ASeq_6,x4);
  x6=_ASeqReduce_3(__APostInterOpal_2,__ATree_7,x5);
  if(ISPRM(x6)){
   FRPRD(x1,1);
   FRPRD(x2,1);
   CPPRD(__AComAction_1,1);
   r=__AComAction_1;
  }else{
   CPPRD(x2,1);
   CPPRD(x6,1);
   CPCLS(__APostInterOpal_4,1);
   CPCLS(__APostInterOpal_5,1);
   CPCLS(__APostInterOpal_17,1);
   CPPRD(__AOcError_15,2);
   {OBJ x22;OBJ x23;OBJ x24;OBJ x25;OBJ x26;OBJ x27;OBJ x28;OBJ x29;
    x22=_AInterOpalAccess_20(x2);
    x23=_AInterOpalAccess_23(x2);
    x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_5,1))(__APostInterOpal_5,x6);
    x25=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_4,1))(__APostInterOpal_4,x6);
    x26=_ASeqReduce_3(x24,__AOcError_15,x23);
    x27=_ASeqReduce_3(x25,__AOcError_15,x22);
    x28=_AOcError_21(x27,x26);
    x29=_AOcError_25(x1,x28);
    r=_AComCompose_5(x29,__APostInterOpal_17);}}}
 return r;}

extern OBJ _APostInterOpal_2(OBJ x1,OBJ x2) /* addDiag */
{OBJ r;
 COPY(x1,1);
 {OBJ x3;OBJ x4;
  x3=_ASeq_52(x1,__ANat_5);
  ANat_81(x3,__ANat_8,x4);
  if(ISTGPRM(x4,1)){
   {OBJ x7;OBJ x11;OBJ x21;OBJ x48;
    if(ISPRM(x1)){
     HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
    }else{
     {OBJ x5=FLD1(x1,1);
      CPPRD(x5,1);
      x7=x5;}}
    if(ISTGPRD(x7,1)){
     x11=__ABUILTIN_5;
    }else{
     x11=__ABUILTIN_3;}
    if(ISTGPRM(x11,1)){
     {OBJ x14;OBJ x17;
      if(ISPRM(x1)){
       HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
      }else{
       {OBJ x13=FLD1(x1,2);
	COPY(x13,1);
	x14=x13;}}
      if(ISPRM(x14)){
       HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
      }else{
       {OBJ x15=FLD1(x14,1);
	if(EXPRD(x14,1)){
	 x17=x15;
	 FREE(FLD1(x14,2),1);DSPRDF(x14);
	}else{
	 CPPRD(x15,1);
	 x17=x15;
	 FRPRD(x14,1);}}}
      if(ISTGPRD(x17,0)){
       if(EXPRD(x17,1)){
	FREE(FLD(x17,1),1);DSPRDF(x17);
       }else{
	DCPRD(x17,1);}
       x21=__ABUILTIN_5;
      }else{
       if(EXPRD(x17,1)){
	DSPRD(x17);
       }else{
	DCPRD(x17,1);}
       x21=__ABUILTIN_3;}}
    }else{
     x21=__ABUILTIN_3;}
    if(ISTGPRM(x21,1)){
     {OBJ x24;OBJ x27;OBJ x37;OBJ x31;OBJ x38;
      if(ISPRM(x1)){
       HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
      }else{
       {OBJ x23=FLD1(x1,2);
	COPY(x23,1);
	x24=x23;}}
      if(ISPRM(x24)){
       HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
      }else{
       {OBJ x25=FLD1(x24,1);
	if(EXPRD(x24,1)){
	 x27=x25;
	 FREE(FLD1(x24,2),1);DSPRDF(x24);
	}else{
	 CPPRD(x25,1);
	 x27=x25;
	 FRPRD(x24,1);}}}
      if(ISTGPRD(x27,0)){
       {OBJ x42=FLD(x27,1);
	if(EXPRD(x27,1)){
	 x37=x42;
	 DSPRDF(x27);
	}else{
	 COPY(x42,1);
	 x37=x42;
	 FRPRD(x27,1);}
	x31=__ABUILTIN_5;}
      }else{
       HLT("InterOpal at <unknown> : undefined selection objects\'InterOpal:pragmaItem->seq");}
      x38=_ASeq_52(x37,__ANat_5);
      ANat_76(x38,__ANat_8,x48);}
    }else{
     x48=__ABUILTIN_3;}
    if(ISTGPRM(x48,1)){
     {OBJ x51;OBJ x52;OBJ x60;OBJ x63;OBJ x55;OBJ x74;OBJ x75;OBJ x73;OBJ x67;OBJ x79;OBJ x76;OBJ x80;
      if(ISPRM(x1)){
       HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
      }else{
       {OBJ x50=FLD1(x1,2);
	if(EXPRD(x1,1)){
	 x51=x50;
	 FRPRD(FLD1(x1,1),1);DSPRDF(x1);
	}else{
	 COPY(x50,1);
	 x51=x50;
	 FRPRD(x1,1);}
	CPCLS(__APostInterOpal_11,1);}}
      x52=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_11,1))(__APostInterOpal_11,__ABUILTIN_20);
      if(ISTGPRD(x7,1)){
       {OBJ x57=FLD(x7,2);
	if(EXPRD(x7,1)){
	 x60=x57;
	 FREE(FLD(x7,1),1);DSPRDF(x7);
	}else{
	 CPPRD(x57,1);
	 x60=x57;
	 FRPRD(x7,1);}}
      }else{
       HLT("InterOpal at <unknown> : undefined selection text\'InterOpal:pragmaItem->denotation");}
      if(ISPRM(x51)){
       HLT("Seq at <unknown> : undefined selection rt\'Seq:seq->seq");
      }else{
       {OBJ x101=FLD1(x51,1);OBJ x102=FLD1(x51,2);
	if(EXPRD(x51,1)){
	 x55=x101;x63=x102;
	 DSPRDF(x51);
	}else{
	 CPPRD(x101,1);COPY(x102,1);
	 x55=x101;x63=x102;
	 FRPRD(x51,1);}
	CPPRD(x60,1);
	CPPRD(__APostInterOpal_12,1);
	CPCLS(__AInterOpal_3,1);}}
      x74=_ASeqFilter_2(__AInterOpal_3,x63);
      ADenotation_21(x60,__APostInterOpal_12,x75);
      if(ISTGPRD(x55,0)){
       {OBJ x93=FLD(x55,1);
	if(EXPRD(x55,1)){
	 x73=x93;
	 DSPRDF(x55);
	}else{
	 COPY(x93,1);
	 x73=x93;
	 FRPRD(x55,1);}
	x67=__ABUILTIN_5;}
      }else{
       HLT("InterOpal at <unknown> : undefined selection objects\'InterOpal:pragmaItem->seq");}
      if(ISPRM(x73)){
       HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
      }else{
       {OBJ x77=FLD1(x73,1);
	if(EXPRD(x73,1)){
	 x79=x77;
	 FREE(FLD1(x73,2),1);DSPRDF(x73);
	}else{
	 CPPRD(x77,1);
	 x79=x77;
	 FRPRD(x73,1);}
	CPPRD(__APostInterOpal_13,1);
	CPCLS(__AInterOpal_4,1);}}
      x76=_ASeqMap_3(__AInterOpal_4,x74);
      x80=_ASeqReduce_3(x52,__APostInterOpal_13,x76);
      {OBJ x81;OBJ x82;FLAG x_x79=EXPRD(x79,1);
       if(x_x79){
       }else{
	x81=FLD1(x79,1);x82=FLD1(x79,2);COPY(x82,1);}
       {OBJ x84;
	if(x_x79){
	 RSOME(x79,x84);FREE(FLD1(x84,3),1);FLD1(x84,3)=__AInterOpal_21;
	}else{
	 FRPRD(x79,1);PRD1(3,x84);FLD1(x84,1)=x81;FLD1(x84,2)=x82;FLD1(x84,3)=__AInterOpal_21;}
	if(ISTGPRM(x75,1)){
	 FRPRD(x60,1);
	 CPCLS(__AInterOpal_309,1);
	 {OBJ x85;
	  PRD1(2,x85);FLD1(x85,1)=__AOcError_8;FLD1(x85,2)=x80;
	  r=_AMap_31(__AInterOpal_309,x84,x85,x2);}
	}else{
	 CPPRD(x60,1);
	 CPPRD(__APostInterOpal_14,1);
	 {OBJ x86;
	  ADenotation_21(x60,__APostInterOpal_14,x86);
	  if(ISTGPRM(x86,1)){
	   FRPRD(x60,1);
	   CPCLS(__AInterOpal_309,1);
	   {OBJ x87;
	    PRD1(2,x87);FLD1(x87,1)=__AOcError_10;FLD1(x87,2)=x80;
	    r=_AMap_31(__AInterOpal_309,x84,x87,x2);}
	  }else{
	   CPPRD(__APostInterOpal_15,1);
	   {OBJ x88;
	    ADenotation_21(x60,__APostInterOpal_15,x88);
	    if(ISTGPRM(x88,1)){
	     CPCLS(__AInterOpal_309,1);
	     {OBJ x89;
	      PRD1(2,x89);FLD1(x89,1)=__AOcError_12;FLD1(x89,2)=x80;
	      r=_AMap_31(__AInterOpal_309,x84,x89,x2);}
	    }else{
	     FRPRD(x80,1);
	     FRPRD(x84,1);
	     r=x2;}}}}}}}}
    }else{
     FREE(x1,1);
     FRPRD(x7,1);
     r=x2;}}
  }else{
   FREE(x1,1);
   r=x2;}}
 return r;}

extern OBJ _APostInterOpal_3(OBJ x1) /* clearInst */
{OBJ r;
 {OBJ x14;OBJ x15;
  if(EXPRD(x1,1)){
   RSOME(x1,r);FREE(FLD1(r,3),1);FLD1(r,3)=__AInterOpal_21;
  }else{
   x14=FLD1(x1,1);x15=FLD1(x1,2);COPY(x15,1);
   FRPRD(x1,1);PRD1(3,r);FLD1(r,1)=x14;FLD1(r,2)=x15;FLD1(r,3)=__AInterOpal_21;}}
 return r;}

extern OBJ _APostInterOpal_4(OBJ x1,OBJ x2,OBJ x3) /* genErr */
{OBJ r;
 {OBJ x25=FLD1(x2,5);
  if(EXPRD(x2,1)){
   FLD1(x2,5)=NIL;DSPRD(x2);
  }else{
   COPY(x25,1);
   FRPRD(x2,1);}
  if(ISPRD(x25)&&(ISTGPRD(x25,5))){
   {OBJ x28=FLD(x25,1);
    if(EXPRD(x25,1)){
     DSPRDF(x25);
    }else{
     COPY(x28,1);
     FRPRD(x25,1);}
    CPCLS(__APostInterOpal_7,1);
    CPCLS(__AInterOpal_155,1);
    {OBJ x29;OBJ x30;
     x29=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_7,1))(__APostInterOpal_7,x1);
     x30=_ASeqMap_3(__AInterOpal_155,x28);
     r=_ASeqReduce_3(x29,x3,x30);}}
  }else{
   FREE(x1,1);
   FRPRD(x3,1);
   FREE(x25,1);
   CPPRD(__AOcError_15,1);
   r=__AOcError_15;}}
 return r;}

extern OBJ _APostInterOpal_5(OBJ x1,OBJ x2,OBJ x3) /* genErr,1 */
{OBJ r;
 switch(TGPRD(x2)){
  case 1:
   {OBJ x35=FLD(x2,4);
    if(EXPRD(x2,1)){
     FLD(x2,4)=NIL;DSPRD(x2);
    }else{
     CPPRD(x35,1);
     FRPRD(x2,1);}
    r=_APostInterOpal_6(x1,x35,x3);}break;
  case 2:
   HLT("PostInterOpal at <84,6-85,40> : missing else in genErr\'PostInterOpal:map->property**err->err");break;
  default: 
   if(EXPRD(x2,1)){
    DSPRD(x2);
   }else{
    DCPRD(x2,1);}
   FREE(x1,1);
   r=x3;}
 return r;}

extern OBJ _APostInterOpal_6(register OBJ x1,register OBJ x2,register OBJ x3) /* genErr,2 */
{OBJ r;
 for(;;){
  switch(TGPRD(x2)){
   case 7:
    COPY(x1,1);
    CPPRD(x2,1);
    {OBJ x430;OBJ x431;OBJ x432;
     x430=_AInterOpal_228(x2);
     x431=_AInterOpal_227(x2);
     x432=_APostInterOpal_6(x1,x431,x3);
     x2=x430;x3=x432;continue;}break;
   case 8:case 9:
    {OBJ x435=FLD(x2,3);
     if(EXPRD(x2,1)){
      FLD(x2,3)=NIL;DSPRD(x2);
     }else{
      CPPRD(x435,1);
      FRPRD(x2,1);}
     x2=x435;continue;}break;
   case 10:case 11:
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    FREE(x1,1);
    r=x3;break;
   case 4:case 5:
    COPY(x1,1);
    CPPRD(x2,1);
    {OBJ x447;OBJ x448;OBJ x449;
     x447=_AInterOpal_227(x2);
     x448=_AInterOpal_228(x2);
     x449=_APostInterOpal_6(x1,x447,x3);
     x2=x448;x3=x449;continue;}break;
   case 6:
    {OBJ x451=FLD(x2,2);OBJ x452=FLD(x2,3);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      CPPRD(x451,1);CPPRD(x452,1);
      FRPRD(x2,1);}
     COPY(x1,1);
     {OBJ x453;
      x453=_APostInterOpal_6(x1,x452,x3);
      x2=x451;x3=x453;continue;}}break;
   case 1:case 2:
    {OBJ x461=FLD(x2,2);OBJ x462=FLD(x2,3);
     if(EXPRD(x2,1)){
      FLD(x2,2)=NIL;FLD(x2,3)=NIL;DSPRD(x2);
     }else{
      CPPRD(x461,1);CPPRD(x462,1);
      FRPRD(x2,1);}
     COPY(x1,1);
     {OBJ x464;
      x464=_APostInterOpal_7(x1,x462,x3);
      r=_APostInterOpal_7(x1,x461,x464);}}break;
   case 0:
    {OBJ x471=FLD(x2,2);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      CPPRD(x471,1);
      FRPRD(x2,1);}
     r=_APostInterOpal_7(x1,x471,x3);}break;
   default: 
    {OBJ x426=FLD(x2,2);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      CPPRD(x426,1);
      FRPRD(x2,1);}
     x2=x426;continue;}}
  break;}
 return r;}

extern OBJ _APostInterOpal_7(register OBJ x1,register OBJ x2,register OBJ x3) /* genErr,3 */
{OBJ r;
 for(;;){
  switch(TGPRD(x2)){
   case 5:
    {OBJ x282=FLD(x2,3);
     if(EXPRD(x2,1)){
      FLD(x2,3)=NIL;DSPRD(x2);
     }else{
      CPPRD(x282,1);
      FRPRD(x2,1);}
     x2=x282;continue;}break;
   case 6:
    {OBJ x284=FLD(x2,2);OBJ x285=FLD(x2,3);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      COPY(x284,1);CPPRD(x285,1);
      FRPRD(x2,1);}
     COPY(x1,1);
     CPCLS(__APostInterOpal_7,1);
     CPCLS(__AInterOpal_155,1);
     {OBJ x286;OBJ x287;OBJ x288;
      x286=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_7,1))(__APostInterOpal_7,x1);
      x287=_ASeqMap_3(__AInterOpal_155,x284);
      x288=_ASeqReduce_3(x286,x3,x287);
      x2=x285;x3=x288;continue;}}break;
   case 4:
    {OBJ x290=FLD(x2,2);OBJ x291=FLD(x2,3);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      COPY(x290,1);COPY(x291,1);
      FRPRD(x2,1);}
     if(ISPRM(x291)){
      CPCLS(__APostInterOpal_8,1);
      {OBJ x292;
       x292=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_8,1))(__APostInterOpal_8,x1);
       r=_ASeqReduce_3(x292,x3,x290);}
     }else{
      {OBJ x293=FLD1(x291,1);
       if(EXPRD(x291,1)){
	DSPRDF(x291);
       }else{
	CPPRD(x293,1);
	FRPRD(x291,1);}
       COPY(x1,1);
       CPCLS(__APostInterOpal_8,1);
       {OBJ x294;OBJ x295;
	x294=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_8,1))(__APostInterOpal_8,x1);
	x295=_ASeqReduce_3(x294,x3,x290);
	x2=x293;x3=x295;continue;}}}}break;
   case 1:
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    FREE(x1,1);
    r=x3;break;
   case 2:
    {OBJ x299=FLD(x2,2);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      COPY(x299,1);
      FRPRD(x2,1);}
     CPCLS(__APostInterOpal_7,1);
     {OBJ x300;
      x300=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_7,1))(__APostInterOpal_7,x1);
      r=_ASeqReduce_3(x300,x3,x299);}}break;
   case 0:
    {OBJ x302=FLD(x2,2);
     CPPRD(x302,1);
     {OBJ x303;
      x303=_AInterOpal_91(x2);
      {OBJ x304;OBJ x305;FLAG x_x302=EXPRD(x302,1);
       if(x_x302){
       }else{
	x304=FLD1(x302,1);x305=FLD1(x302,2);COPY(x305,1);}
       COPY(x1,1);
       CPCLS(__AInterOpal_309,1);
       {OBJ x307;OBJ x308;
	if(x_x302){
	 RSOME(x302,x307);FREE(FLD1(x307,3),1);FLD1(x307,3)=__AInterOpal_21;
	}else{
	 FRPRD(x302,1);PRD1(3,x307);FLD1(x307,1)=x304;FLD1(x307,2)=x305;FLD1(x307,3)=__AInterOpal_21;}
	CPPRD(x307,1);
	x308=_AMap_20(__AInterOpal_309,x307,x1);
	if(ISTGPRM(x308,1)){
	 CPCLS(__AInterOpal_309,1);
	 {OBJ x309;OBJ x310;
	  x309=_APostInterOpal_9(x303);
	  x310=_AMap_16(__AInterOpal_309,x1,x307);
	  {OBJ x311=FLD1(x310,1);OBJ x312=FLD1(x310,2);
	   if(EXPRD(x310,1)){
	    DSPRDF(x310);
	   }else{
	    CPPRD(x312,1);
	    FRPRD(x310,1);}
	   {OBJ x313;
	    x313=_AOcError_16(x311,x312,x309);
	    r=_AOcError_21(x3,x313);}}}
	}else{
	 FREE(x1,1);
	 FREE(x303,1);
	 FRPRD(x307,1);
	 r=x3;}}}}}break;
   default: 
    {OBJ x277=FLD(x2,2);OBJ x278=FLD(x2,3);
     if(EXPRD(x2,1)){
      FREE(FLD(x2,1),1);DSPRDF(x2);
     }else{
      CPPRD(x277,1);CPPRD(x278,1);
      FRPRD(x2,1);}
     COPY(x1,1);
     {OBJ x279;
      x279=_APostInterOpal_7(x1,x278,x3);
      x2=x277;x3=x279;continue;}}}
  break;}
 return r;}

extern OBJ _APostInterOpal_8(OBJ x1,OBJ x2,OBJ x3) /* genErr,4 */
{OBJ r;
 {OBJ x18=FLD1(x2,2);OBJ x19=FLD1(x2,3);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,1),1);DSPRDF(x2);
  }else{
   CPPRD(x18,1);CPPRD(x19,1);
   FRPRD(x2,1);}
  COPY(x1,1);
  {OBJ x20;
   x20=_APostInterOpal_7(x1,x18,x3);
   r=_APostInterOpal_7(x1,x19,x20);}}
 return r;}

extern OBJ _APostInterOpal_9(OBJ x1) /* back */
{OBJ r;
 if(ISPRM(x1)){
  r=__AOcPos_9;
 }else{
  switch(TGPRD(x1)){
   case 2:
    {OBJ x103;OBJ x104;
     if(EXPRD(x1,1)){
      RPRDF(x1,r);CHGTG(r,1);FLD(r,1)=__AOcPos_2;
     }else{
      x103=FLD(x1,2);x104=FLD(x1,3);
      FRPRD(x1,1);PRDF(3,1,r);FLD(r,1)=__AOcPos_2;FLD(r,2)=x103;FLD(r,3)=x104;}}break;
   case 3:
    {OBJ x107;OBJ x108;OBJ x109;OBJ x110;
     if(EXPRD(x1,1)){
      RPRDF(x1,r);CHGTG(r,2);FLD(r,1)=__AOcPos_2;
     }else{
      x107=FLD(x1,2);x108=FLD(x1,3);x109=FLD(x1,4);x110=FLD(x1,5);
      FRPRD(x1,1);PRDF(5,2,r);FLD(r,1)=__AOcPos_2;FLD(r,2)=x107;FLD(r,3)=x108;FLD(r,4)=x109;FLD(r,5)=x110;}}break;
   default: 
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__AOcPos_9;}}
 return r;}

extern OBJ _APostInterOpal_11(OBJ x1) /* addDiag'11 */
{OBJ r;
 CPPRD(__APostInterOpal_10,1);
 CPCLS(__ADenotation_6,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADenotation_6,1))(__ADenotation_6,__APostInterOpal_10);
 return r;}

extern OBJ _APostInterOpal_16(OBJ x1) /* checkInfoPragmas'16 */
{OBJ r;
 CPPRD(__AOcExit_1,1);
 r=_ACom_24(__AOcExit_1);
 return r;}

extern OBJ _APostInterOpal_17(OBJ x1) /* checkInfoPragmas'17 */
{OBJ r;
 if(ISTGPRM(x1,1)){
  CPPRD(__AComAction_1,1);
  r=__AComAction_1;
 }else{
  CPCLS(__APostInterOpal_16,1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APostInterOpal_16,1))(__APostInterOpal_16,__ABUILTIN_20);}
 return r;}

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

init_APostInterOpal()
{
 static int visited=0; if(visited) return; visited=1;
 init_ATree();
 init_ABitset();
 init_ACompose();
 init_AVoid();
 init_ACom();
 init_AOcOptions();
 init_AInterOpal();
 init_AMap();
 init_ANat();
 init_AOption();
 init_ASeq();
 init_ADyn();
 init_ASet();
 init_APair();
 init_AChar();
 init_AStream();
 init_AString();
 init_AFile();
 init_AInt();
 init_AOcError();
 init_AComAction();
 init_AOcPos();
 init_ADenotation();
 init_AComCompose();
 init_ASeqFilter();
 init_ASeqMap();
 init_ASeqReduce();
 init_AObjects();
 init_AOcExit();
 init_AInterOpalAccess();
 init_ASetByBST();
 init_ABSTree();
 CLS(1,_APostInterOpal_17,__APostInterOpal_17);
 LCLS(1,_APostInterOpal_16,__APostInterOpal_16);
 DEN("ERROR",__APostInterOpal_15);
 DEN("WARNING",__APostInterOpal_14);
 DEN("",__APostInterOpal_13);
 DEN("HINT",__APostInterOpal_12);
 LCLS(1,_APostInterOpal_11,__APostInterOpal_11);
 DEN(" ",__APostInterOpal_10);
 CLS(1,_APostInterOpal_9,__APostInterOpal_9);
 CLS(3,_APostInterOpal_8,__APostInterOpal_8);
 CLS(3,_APostInterOpal_7,__APostInterOpal_7);
 CLS(3,_APostInterOpal_6,__APostInterOpal_6);
 CLS(3,_APostInterOpal_5,__APostInterOpal_5);
 CLS(3,_APostInterOpal_4,__APostInterOpal_4);
 CLS(1,_APostInterOpal_3,__APostInterOpal_3);
 CLS(2,_APostInterOpal_2,__APostInterOpal_2);
 CLS(2,_APostInterOpal_1,__APostInterOpal_1);
 MTH(1,0,3,_mt_1_0_3);LZYMTH(1,0,3,_mt_1_0_3);}

