

#include "BUILTIN.h"

#include "Bitset.h"
extern OBJ _AOcPos_31(OBJ,OBJ);extern OBJ __AOcPos_31;
extern OBJ _AOcPos_34(OBJ);extern OBJ __AOcPos_34;
extern OBJ __AString_6;
extern OBJ _AString_24(OBJ,OBJ);extern OBJ __AString_24;
extern OBJ _AString_49(OBJ);extern OBJ __AString_49;
extern OBJ __ASeq_6;
extern OBJ _ASeq_14(OBJ,OBJ);extern OBJ __ASeq_14;
extern OBJ _AOcOptions_14(OBJ,OBJ);extern OBJ __AOcOptions_14;
extern OBJ __AOcOptions_151;
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _ACom_25(OBJ);extern OBJ __ACom_25;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;

#include "Nat.h"
extern OBJ __AVoid_2;

#include "Char.h"
extern OBJ __AStream_5;

#include "Int.h"
extern OBJ _ASeqConv_5(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_5;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _ASeqSort_3(OBJ,OBJ,OBJ);extern OBJ __ASeqSort_3;
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern OBJ _AStringFormat_1(OBJ,OBJ);extern OBJ __AStringFormat_1;
extern OBJ _AComCompose_3(OBJ,OBJ);extern OBJ __AComCompose_3;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ _AComSeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __AComSeqReduce_4;
extern OBJ _AOcStream_7(OBJ,OBJ,OBJ);extern OBJ __AOcStream_7;
extern OBJ _AComState_3(OBJ);extern OBJ __AComState_3;
extern OBJ _AComState_5(OBJ,OBJ);extern OBJ __AComState_5;
extern OBJ _AComState_7(OBJ);extern OBJ __AComState_7;

#include "Denotation.h"
extern OBJ _AProcessArgs_7(OBJ);extern OBJ __AProcessArgs_7;

#include "NatConv.h"

#include "Real.h"
extern OBJ _AOcError_2(OBJ,OBJ,OBJ);OBJ __AOcError_2; /* diag */
extern OBJ _AOcError_3(OBJ);OBJ __AOcError_3; /* diag? */
extern OBJ _AOcError_4(OBJ);OBJ __AOcError_4; /* msg */
extern OBJ _AOcError_5(OBJ);OBJ __AOcError_5; /* pos */
extern OBJ _AOcError_6(OBJ);OBJ __AOcError_6; /* kind */
OBJ __AOcError_8; /* hint */
extern OBJ _AOcError_9(OBJ);OBJ __AOcError_9; /* hint? */
OBJ __AOcError_10; /* warning */
extern OBJ _AOcError_11(OBJ);OBJ __AOcError_11; /* warning? */
OBJ __AOcError_12; /* error */
extern OBJ _AOcError_13(OBJ);OBJ __AOcError_13; /* error? */
OBJ __AOcError_15; /* ok */
extern OBJ _AOcError_16(OBJ,OBJ,OBJ);OBJ __AOcError_16; /* err */
extern OBJ _AOcError_17(OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_17; /* err,1 */
extern OBJ _AOcError_18(OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_18; /* err,2 */
extern OBJ _AOcError_19(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_19; /* err,3 */
extern OBJ _AOcError_20(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_20; /* err,4 */
extern OBJ _AOcError_21(OBJ,OBJ);OBJ __AOcError_21; /* + */
extern OBJ _AOcError_22(OBJ);OBJ __AOcError_22; /* ok? */
extern OBJ _AOcError_23(OBJ);OBJ __AOcError_23; /* warning?,1 */
extern OBJ _AOcError_24(OBJ);OBJ __AOcError_24; /* hint?,1 */
extern OBJ _AOcError_25(OBJ,OBJ);OBJ __AOcError_25; /* errors */
extern OBJ _AOcError_26(OBJ);OBJ __AOcError_26; /* asString */
OBJ __AOcError_27; /* getAndClearInternDiag */
extern OBJ _AOcError_39(OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_39; /* err,5 */
extern OBJ _AOcError_40(OBJ);OBJ __AOcError_40; /* err? */
extern OBJ _AOcError_41(OBJ);OBJ __AOcError_41; /* hintCnt */
extern OBJ _AOcError_42(OBJ);OBJ __AOcError_42; /* warnCnt */
extern OBJ _AOcError_43(OBJ);OBJ __AOcError_43; /* errCnt */
extern OBJ _AOcError_44(OBJ);OBJ __AOcError_44; /* diags */
extern OBJ _AOcError_46(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_46; /* writeDiag */
extern OBJ _AOcError_47(OBJ,OBJ);OBJ __AOcError_47; /* asString,1 */
extern OBJ _AOcError_48(OBJ,OBJ);OBJ __AOcError_48; /* asString,2 */
OBJ __AOcError_50; /* useColours */
OBJ __AOcError_51; /* red */
OBJ __AOcError_52; /* magenta */
OBJ __AOcError_53; /* blue */
OBJ __AOcError_54; /* black */
extern OBJ _AOcError_55(OBJ);OBJ __AOcError_55; /* esc */
OBJ __AOcError_56; /* internDiags */
extern OBJ _AOcError_57(OBJ);OBJ __AOcError_57; /* addInternDiag */
extern OBJ _AOcError_58(OBJ,OBJ);OBJ __AOcError_58; /* +'58 */
OBJ __AOcError_59; /* asString,1'59 */
OBJ __AOcError_60; /* asString,1'60 */
OBJ __AOcError_61; /* asString,1'61 */
extern OBJ _AOcError_62(OBJ);OBJ __AOcError_62; /* asString,2'62 */
extern OBJ _AOcError_63(OBJ,OBJ);OBJ __AOcError_63; /* addInternDiag'63 */
OBJ __AOcError_64; /* errors'64 */
extern OBJ _AOcError_65(OBJ);OBJ __AOcError_65; /* errors'65 */
extern OBJ _AOcError_66(OBJ);OBJ __AOcError_66; /* errors'66 */
extern OBJ _AOcError_67(OBJ);OBJ __AOcError_67; /* errors'67 */
extern OBJ _AOcError_68(OBJ,OBJ);OBJ __AOcError_68; /* errors'68 */
extern OBJ _AOcError_69(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_69; /* errors'69 */
extern OBJ _AOcError_70(OBJ,OBJ);OBJ __AOcError_70; /* errors'70 */
extern OBJ _AOcError_71(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOcError_71; /* errors'71 */
extern OBJ _AOcError_72(OBJ);OBJ __AOcError_72; /* asString'72 */
OBJ __AOcError_73; /* asString'73 */
extern OBJ _AOcError_74(OBJ);OBJ __AOcError_74; /* esc'74 */
extern OBJ _AOcError_75(OBJ);OBJ __AOcError_75; /* esc'75 */
OBJ __AOcError_76; /* useColours'76 */
OBJ __AOcError_77; /* useColours'77 */
OBJ __AOcError_78; /* useColours'78 */
extern OBJ _AOcError_79(OBJ);OBJ __AOcError_79; /* useColours'79 */
OBJ __AOcError_80; /* red'80 */
OBJ __AOcError_81; /* magenta'81 */
OBJ __AOcError_82; /* blue'82 */
OBJ __AOcError_83; /* black'83 */
extern OBJ _AOcError_84(OBJ);OBJ __AOcError_84; /* getAndClearInternDiag'84 */
extern OBJ _AOcError_85(OBJ,OBJ);OBJ __AOcError_85; /* getAndClearInternDiag'85 */
extern OBJ _AOcError_86(OBJ);OBJ __AOcError_86; /* getAndClearInternDiag'86 */

extern OBJ _AOcError_2(OBJ x1,OBJ x2,OBJ x3) /* diag */
{OBJ r;
 PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;
 return r;}

extern OBJ _AOcError_3(OBJ x1) /* diag? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AOcError_4(OBJ x1) /* msg */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   COPY(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_5(OBJ x1) /* pos */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FREE(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_6(OBJ x1) /* kind */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   DSPRD(x1);
  }else{
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_9(OBJ x1) /* hint? */
{OBJ r;
 if(ISTGPRM(x1,2)){
  r=__ABUILTIN_5;
 }else{
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AOcError_11(OBJ x1) /* warning? */
{OBJ r;
 if(ISTGPRM(x1,1)){
  r=__ABUILTIN_5;
 }else{
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AOcError_13(OBJ x1) /* error? */
{OBJ r;
 if(ISTGPRM(x1,0)){
  r=__ABUILTIN_5;
 }else{
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AOcError_16(OBJ x1,OBJ x2,OBJ x3) /* err */
{OBJ r;
 switch(TGPRM(x1)){
  case 2:
   {OBJ x28;OBJ x29;OBJ x30;
    x28=_AString_49(x2);
    PRD1(3,x29);FLD1(x29,1)=__AOcError_8;FLD1(x29,2)=x3;FLD1(x29,3)=x28;
    PRD1(2,x30);FLD1(x30,1)=x29;FLD1(x30,2)=__ASeq_6;
    PRD1(4,r);FLD1(r,1)=x30;FLD1(r,2)=__ANat_5;FLD1(r,3)=__ANat_5;FLD1(r,4)=__ANat_8;}break;
  case 0:
   {OBJ x31;OBJ x32;OBJ x33;
    x31=_AString_49(x2);
    PRD1(3,x32);FLD1(x32,1)=__AOcError_12;FLD1(x32,2)=x3;FLD1(x32,3)=x31;
    PRD1(2,x33);FLD1(x33,1)=x32;FLD1(x33,2)=__ASeq_6;
    PRD1(4,r);FLD1(r,1)=x33;FLD1(r,2)=__ANat_8;FLD1(r,3)=__ANat_5;FLD1(r,4)=__ANat_5;}break;
  default: 
   {OBJ x25;OBJ x26;OBJ x27;
    x25=_AString_49(x2);
    PRD1(3,x26);FLD1(x26,1)=__AOcError_10;FLD1(x26,2)=x3;FLD1(x26,3)=x25;
    PRD1(2,x27);FLD1(x27,1)=x26;FLD1(x27,2)=__ASeq_6;
    PRD1(4,r);FLD1(r,1)=x27;FLD1(r,2)=__ANat_5;FLD1(r,3)=__ANat_8;FLD1(r,4)=__ANat_5;}}
 return r;}

extern OBJ _AOcError_17(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* err,1 */
{OBJ r;
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  PRD(1,6,x5);FLD(x5,1)=x3;
  PRD1(2,x6);FLD1(x6,1)=x5;FLD1(x6,2)=__ASeq_6;
  x7=_AStringFormat_1(x2,x6);
  x8=_AStringConv_1(x7);
  r=_AOcError_16(x1,x8,x4);}
 return r;}

extern OBJ _AOcError_18(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* err,2 */
{OBJ r;
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  PRD(1,4,x5);FLD(x5,1)=x3;
  PRD1(2,x6);FLD1(x6,1)=x5;FLD1(x6,2)=__ASeq_6;
  x7=_AStringFormat_1(x2,x6);
  x8=_AStringConv_1(x7);
  r=_AOcError_16(x1,x8,x4);}
 return r;}

extern OBJ _AOcError_19(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* err,3 */
{OBJ r;
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  PRD(1,6,x6);FLD(x6,1)=x3;
  PRD(1,6,x7);FLD(x7,1)=x4;
  x8=_ASeq_14(x6,x7);
  x9=_AStringFormat_1(x2,x8);
  x10=_AStringConv_1(x9);
  r=_AOcError_16(x1,x10,x5);}
 return r;}

extern OBJ _AOcError_20(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* err,4 */
{OBJ r;
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  PRD(1,4,x6);FLD(x6,1)=x3;
  PRD(1,4,x7);FLD(x7,1)=x4;
  x8=_ASeq_14(x6,x7);
  x9=_AStringFormat_1(x2,x8);
  x10=_AStringConv_1(x9);
  r=_AOcError_16(x1,x10,x5);}
 return r;}

extern OBJ _AOcError_21(OBJ x1,OBJ x2) /* + */
{OBJ r;
 {OBJ x47=FLD1(x1,1);OBJ x48=FLD1(x1,2);OBJ x49=FLD1(x1,3);OBJ x50=FLD1(x1,4);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   COPY(x47,1);
   FRPRD(x1,1);}
  {OBJ x75=FLD1(x2,1);OBJ x76=FLD1(x2,2);OBJ x77=FLD1(x2,3);OBJ x78=FLD1(x2,4);
   if(EXPRD(x2,1)){
    CPCLS(__AOcError_58,1);
    {OBJ x79;OBJ x80;OBJ x81;
     ANat_61(x48,x76,x79);
     ANat_61(x49,x77,x80);
     ANat_61(x50,x78,x81);
     RSOME(x2,r);FLD1(r,2)=x79;FLD1(r,3)=x80;FLD1(r,4)=x81;
     FLD1(r,1)=_ASeqSort_3(__AOcError_58,x47,x75);}
   }else{
    COPY(x75,1);
    CPCLS(__AOcError_58,1);
    {OBJ x79;OBJ x80;OBJ x81;
     ANat_61(x48,x76,x79);
     ANat_61(x49,x77,x80);
     ANat_61(x50,x78,x81);
     FRPRD(x2,1);PRD1(4,r);FLD1(r,2)=x79;FLD1(r,3)=x80;FLD1(r,4)=x81;
     FLD1(r,1)=_ASeqSort_3(__AOcError_58,x47,x75);}}}}
 return r;}

extern OBJ _AOcError_22(OBJ x1) /* ok? */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   FRPRD(x1,1);}
  {OBJ x6;
   x6=x3;
   ANat_6(x6,r);}}
 return r;}

extern OBJ _AOcError_23(OBJ x1) /* warning?,1 */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   FRPRD(x1,1);}
  {OBJ x6;
   x6=x4;
   ANat_6(x6,r);}}
 return r;}

extern OBJ _AOcError_24(OBJ x1) /* hint?,1 */
{OBJ r;
 {OBJ x5=FLD1(x1,4);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   FRPRD(x1,1);}
  {OBJ x6;
   x6=x5;
   ANat_6(x6,r);}}
 return r;}

extern OBJ _AOcError_25(OBJ x1,OBJ x2) /* errors */
{OBJ r;
 CPCLS(__AOcError_46,1);
 CPPRD(__AOcError_64,1);
 CPPRD(x1,2);
 {OBJ x23;OBJ x36;
  x23=_AOcOptions_14(__AOcError_64,x1);
  x36=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AOcError_46,3))(__AOcError_46,__AOcError_50,x1,__AStream_5);
  {OBJ x58=FLD1(x2,1);OBJ x59=FLD1(x2,2);OBJ x61=FLD1(x2,4);
   COPY(x58,1);
   {OBJ x99=FLD1(x1,5);OBJ x105=FLD1(x1,11);
    {OBJ x106;OBJ x112;OBJ x113;OBJ x114;
     ANat_76(x99,__ANat_5,x106);
     if(ISTGPRM(x106,1)){
      if(ISTGPRM(x23,1)){
       CPCLS(__AOcError_71,1);
       x112=__ASeq_6;
      }else{
       COPY(x58,1);
       CPCLS(__AOcError_65,1);
       CPCLS(__AOcError_71,1);
       {OBJ x107;
	x107=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_65,1))(__AOcError_65,__ABUILTIN_20);
	x112=_ASeqFilter_2(x107,x58);}}
     }else{
      {OBJ x108;OBJ x109;
       ANat_76(x99,__ANat_8,x108);
       if(ISTGPRM(x108,1)){
	ANat_81(x61,__ANat_5,x109);
       }else{
	x109=__ABUILTIN_3;}
       if(ISTGPRM(x109,1)){
	COPY(x58,1);
	CPCLS(__AOcError_67,1);
	CPCLS(__AOcError_71,1);
	{OBJ x111;
	 x111=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_67,1))(__AOcError_67,__ABUILTIN_20);
	 x112=_ASeqFilter_2(x111,x58);}
       }else{
	x112=x58;
	COPY(x112,1);
	CPCLS(__AOcError_71,1);}}}
     x113=_AComSeqReduce_4(x36,__AVoid_2,x112);
     x114=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AOcError_71,6))(__AOcError_71,x1,x2,x58,x59,x23,x105);
     r=_AComCompose_5(x113,x114);}}}}
 return r;}

extern OBJ _AOcError_26(OBJ x1) /* asString */
{OBJ r;
 CPCLS(__AOcError_72,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_72,1))(__AOcError_72,__ABUILTIN_20);
  {OBJ x3=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x3,1);
    FRPRD(x1,1);}
   CPPRD(__AOcError_73,2);
   CPPRD(__AOcOptions_151,1);
   {OBJ x7;
    x7=x3;
    r=_ASeqConv_5(__AOcOptions_151,__AOcError_73,__AOcError_73,x2,x7);}}}
 return r;}

extern OBJ _AOcError_39(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* err,5 */
{OBJ r;
 PRD1(4,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;FLD1(r,4)=x4;
 return r;}

extern OBJ _AOcError_40(OBJ x1) /* err? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AOcError_41(OBJ x1) /* hintCnt */
{OBJ r;
 {OBJ x5=FLD1(x1,4);
  if(EXPRD(x1,1)){
   r=x5;
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   r=x5;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_42(OBJ x1) /* warnCnt */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_43(OBJ x1) /* errCnt */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_44(OBJ x1) /* diags */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   DSPRDF(x1);
  }else{
   COPY(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOcError_46(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* writeDiag */
{OBJ r;
 {OBJ x6;
  x6=_AOcError_48(x1,x4);
  r=_AOcStream_7(x2,x3,x6);}
 return r;}

extern OBJ _AOcError_47(OBJ x1,OBJ x2) /* asString,1 */
{OBJ r;
 switch(TGPRM(x2)){
  case 2:
   {OBJ x20;OBJ x21;
    if(ISTGPRM(x1,1)){
     CPPRD(__AOcError_53,1);
     CPPRD(__AOcError_60,1);
     x20=__AOcError_53;
    }else{
     CPPRD(__AOcError_60,1);
     CPPRD(__AOcOptions_151,1);
     x20=__AOcOptions_151;}
    ADenotation_4(x20,__AOcError_60,x21);
    r=_AString_49(x21);}break;
  case 0:
   {OBJ x22;OBJ x23;
    if(ISTGPRM(x1,1)){
     CPPRD(__AOcError_51,1);
     CPPRD(__AOcError_61,1);
     x22=__AOcError_51;
    }else{
     CPPRD(__AOcError_61,1);
     CPPRD(__AOcOptions_151,1);
     x22=__AOcOptions_151;}
    ADenotation_4(x22,__AOcError_61,x23);
    r=_AString_49(x23);}break;
  default: 
   {OBJ x18;OBJ x19;
    if(ISTGPRM(x1,1)){
     CPPRD(__AOcError_52,1);
     CPPRD(__AOcError_59,1);
     x18=__AOcError_52;
    }else{
     CPPRD(__AOcError_59,1);
     CPPRD(__AOcOptions_151,1);
     x18=__AOcOptions_151;}
    ADenotation_4(x18,__AOcError_59,x19);
    r=_AString_49(x19);}}
 return r;}

extern OBJ _AOcError_48(OBJ x1,OBJ x2) /* asString,2 */
{OBJ r;
 {OBJ x21=FLD1(x2,1);OBJ x22=FLD1(x2,2);OBJ x23=FLD1(x2,3);
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   COPY(x22,1);COPY(x23,1);
   FRPRD(x2,1);}
  {OBJ x26;OBJ x24;OBJ x25;OBJ x27;OBJ x28;OBJ x29;
   if(ISTGPRM(x1,1)){
    CPCLS(__AOcError_62,1);
    x26=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_62,1))(__AOcError_62,__ABUILTIN_20);
   }else{
    x26=__AString_6;}
   x24=_AOcError_47(x1,x21);
   x25=_AOcPos_34(x22);
   x27=_AString_24(x23,x26);
   x28=_AString_49(x25);
   x29=_AString_24(x24,x27);
   r=_AString_24(x28,x29);}}
 return r;}

extern OBJ _AOcError_55(OBJ x1) /* esc */
{OBJ r;
 CPCLS(__AOcError_75,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_75,1))(__AOcError_75,__ABUILTIN_20);
  ADenotation_4(x3,x1,r);}
 return r;}

extern OBJ _AOcError_57(OBJ x1) /* addInternDiag */
{OBJ r;
 CPCLS(__AOcError_63,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_63,1))(__AOcError_63,x1);
  r=_AComState_5(__AOcError_56,x2);}
 return r;}

extern OBJ _AOcError_58(OBJ x1,OBJ x2) /* +'58 */
{OBJ r;
 {OBJ x12=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x12,1);
   FRPRD(x1,1);}
  {OBJ x15=FLD1(x2,2);
   if(EXPRD(x2,1)){
    FREE(FLD1(x2,3),1);DSPRDF(x2);
   }else{
    COPY(x15,1);
    FRPRD(x2,1);}
   {OBJ x17;
    x17=x15;
    r=_AOcPos_31(x12,x17);}}}
 return r;}

extern OBJ _AOcError_62(OBJ x1) /* asString,2'62 */
{OBJ r;
 CPPRD(__AOcError_54,1);
 r=_AString_49(__AOcError_54);
 return r;}

extern OBJ _AOcError_63(OBJ x1,OBJ x2) /* addInternDiag'63 */
{OBJ r;
 r=_AOcError_21(x2,x1);
 return r;}

extern OBJ _AOcError_65(OBJ x1) /* errors'65 */
{OBJ r;
 CPCLS(__AOcError_6,1);
 CPCLS(__AOcError_13,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AOcError_13,__AOcError_6);
 return r;}

extern OBJ _AOcError_66(OBJ x1) /* errors'66 */
{OBJ r;
 CPCLS(__AOcError_6,1);
 CPCLS(__AOcError_9,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AOcError_9,__AOcError_6);
 return r;}

extern OBJ _AOcError_67(OBJ x1) /* errors'67 */
{OBJ r;
 CPCLS(__AOcError_66,1);
 CPCLS(__ABUILTIN_7,1);
 CPCLS(__ACompose_4,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_66,1))(__AOcError_66,__ABUILTIN_20);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__ABUILTIN_7,x2);}
 return r;}

extern OBJ _AOcError_68(OBJ x1,OBJ x2) /* errors'68 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x3;OBJ x4;OBJ x5;
  ANat_6(x1,x3);
  PRDF(1,0,x4);FLD(x4,1)=x3;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x4);
  PRD(2,0,r);FLD(r,1)=x5;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AOcError_69(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* errors'69 */
{OBJ r;
 CPCLS(__AOcError_46,1);
 CPCLS(__AOcError_68,1);
 {OBJ x6;OBJ x7;OBJ x8;
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AOcError_46,3))(__AOcError_46,__ABUILTIN_3,x1,x4);
  x7=_AComSeqReduce_4(x6,__AVoid_2,x2);
  x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_68,1))(__AOcError_68,x3);
  r=_AComCompose_5(x7,x8);}
 return r;}

extern OBJ _AOcError_70(OBJ x1,OBJ x2) /* errors'70 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x3;OBJ x4;OBJ x5;
  ANat_6(x1,x3);
  PRDF(1,0,x4);FLD(x4,1)=x3;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x4);
  PRD(2,0,r);FLD(r,1)=x5;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AOcError_71(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* errors'71 */
{OBJ r;
 if(ISTGPRM(x5,1)){
  CPCLS(__AOcError_63,1);
  CPCLS(__AOcError_69,1);
  {OBJ x8;OBJ x9;OBJ x10;
   x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_63,1))(__AOcError_63,x2);
   x9=_AComState_5(__AOcError_56,x8);
   x10=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AOcError_69,4))(__AOcError_69,x1,x3,x4,x6);
   r=_AComCompose_5(x9,x10);}
 }else{
  FRPRD(x2,1);
  CPCLS(__AOcError_46,1);
  CPCLS(__AOcError_70,1);
  {OBJ x11;OBJ x12;OBJ x13;
   x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AOcError_46,3))(__AOcError_46,__ABUILTIN_3,x1,x6);
   x12=_AComSeqReduce_4(x11,__AVoid_2,x3);
   x13=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_70,1))(__AOcError_70,x4);
   r=_AComCompose_5(x12,x13);}}
 return r;}

extern OBJ _AOcError_72(OBJ x1) /* asString'72 */
{OBJ r;
 CPCLS(__AOcError_48,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_48,1))(__AOcError_48,__ABUILTIN_3);
 return r;}

extern OBJ _AOcError_74(OBJ x1) /* esc'74 */
{OBJ r;
 ANatConv_2(__ANat_34,r);
 return r;}

extern OBJ _AOcError_75(OBJ x1) /* esc'75 */
{OBJ r;
 CPCLS(__AOcError_74,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_74,1))(__AOcError_74,__ABUILTIN_20);
  ADenotation_1(__ANat_8,x2,r);}
 return r;}

extern OBJ _AOcError_79(OBJ x1) /* useColours'79 */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x11=FLD(x1,1);
   if(EXPRD(x1,1)){
    CPPRD(x11,1);
    DSPRDF(x1);
   }else{
    CPPRD(x11,2);
    FRPRD(x1,1);}
   CPPRD(__AOcError_77,1);
   {OBJ x12;
    ADenotation_21(x11,__AOcError_77,x12);
    if(ISTGPRM(x12,1)){
     FRPRD(x11,1);
     r=_ACom_23(__ABUILTIN_3);
    }else{
     CPPRD(__AOcError_78,1);
     {OBJ x13;
      ADenotation_21(x11,__AOcError_78,x13);
      if(ISTGPRM(x13,1)){
       r=_ACom_23(__ABUILTIN_5);
      }else{
       r=_ACom_23(__ABUILTIN_3);}}}}}
 }else{
  if(EXPRD(x1,1)){
   FRPRD(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=_ACom_23(__ABUILTIN_3);}
 return r;}

extern OBJ _AOcError_84(OBJ x1) /* getAndClearInternDiag'84 */
{OBJ r;
 CPPRD(__AOcError_15,1);
 FRPRD(x1,1);
 r=__AOcError_15;
 return r;}

extern OBJ _AOcError_85(OBJ x1,OBJ x2) /* getAndClearInternDiag'85 */
{OBJ r;
 {OBJ x3=FLD1(x1,1);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   COPY(x3,1);
   FRPRD(x1,1);}
  {OBJ x7;
   x7=x3;
   r=_ACom_23(x7);}}
 return r;}

extern OBJ _AOcError_86(OBJ x1) /* getAndClearInternDiag'86 */
{OBJ r;
 CPCLS(__AOcError_84,1);
 CPCLS(__AOcError_85,1);
 {OBJ x2;OBJ x3;
  x2=_AComState_5(__AOcError_56,__AOcError_84);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOcError_85,1))(__AOcError_85,x1);
  r=_AComCompose_5(x2,x3);}
 return r;}





static void ___AOcError_27()
{
 CPCLS(__AOcError_86,1);
 {OBJ x1;
  x1=_AComState_7(__AOcError_56);
  __AOcError_27=_AComCompose_5(x1,__AOcError_86);}}

static void ___AOcError_50()
{
 CPPRD(__AOcError_76,1);
 CPCLS(__AOcError_79,1);
 {OBJ x1;OBJ x2;
  x1=_AProcessArgs_7(__AOcError_76);
  x2=_AComCompose_3(x1,__AOcError_79);
  __AOcError_50=_ACom_25(x2);}}

static void ___AOcError_51()
{
 if(ISTGPRM(__AOcError_50,1)){
  CPPRD(__AOcError_80,1);
  {OBJ x1;OBJ x2;
   ANatConv_2(__ANat_34,x1);
   ADenotation_1(__ANat_8,x1,x2);
   ADenotation_4(x2,__AOcError_80,__AOcError_51);}
 }else{
  CPPRD(__AOcOptions_151,1);
  __AOcError_51=__AOcOptions_151;}}

static void ___AOcError_52()
{
 if(ISTGPRM(__AOcError_50,1)){
  CPPRD(__AOcError_81,1);
  {OBJ x1;OBJ x2;
   ANatConv_2(__ANat_34,x1);
   ADenotation_1(__ANat_8,x1,x2);
   ADenotation_4(x2,__AOcError_81,__AOcError_52);}
 }else{
  CPPRD(__AOcOptions_151,1);
  __AOcError_52=__AOcOptions_151;}}

static void ___AOcError_53()
{
 if(ISTGPRM(__AOcError_50,1)){
  CPPRD(__AOcError_82,1);
  {OBJ x1;OBJ x2;
   ANatConv_2(__ANat_34,x1);
   ADenotation_1(__ANat_8,x1,x2);
   ADenotation_4(x2,__AOcError_82,__AOcError_53);}
 }else{
  CPPRD(__AOcOptions_151,1);
  __AOcError_53=__AOcOptions_151;}}

static void ___AOcError_54()
{
 if(ISTGPRM(__AOcError_50,1)){
  CPPRD(__AOcError_83,1);
  {OBJ x1;OBJ x2;
   ANatConv_2(__ANat_34,x1);
   ADenotation_1(__ANat_8,x1,x2);
   ADenotation_4(x2,__AOcError_83,__AOcError_54);}
 }else{
  CPPRD(__AOcOptions_151,1);
  __AOcError_54=__AOcOptions_151;}}

static void ___AOcError_56()
{
 CPPRD(__AOcError_15,1);
 {OBJ x1;
  x1=_AComState_3(__AOcError_15);
  __AOcError_56=_ACom_25(x1);}}

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

static OBJ _mt_5_1_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,2);
 FLDCLS(r,2)=t1;
 FLDCLS(r,3)=t2;
 return r;}

static OBJ _mt_5_1_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),t1,t2,t3,t4);
 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;}

init_AOcError()
{
 static int visited=0; if(visited) return; visited=1;
 init_ABitset();
 init_APair();
 init_ASet();
 init_AMap();
 init_AOcPos();
 init_AMapReduce();
 init_AString();
 init_ASetByBST();
 init_ASeq();
 init_ABSTree();
 init_AOcOptions();
 init_ASeqMap();
 init_ACom();
 init_AStringMapSeq();
 init_ANat();
 init_AEQUALITY();
 init_AVoid();
 init_AOption();
 init_AChar();
 init_AStream();
 init_AFile();
 init_AInt();
 init_ASeqConv();
 init_ASeqFilter();
 init_ASeqSort();
 init_AStringConv();
 init_ABTUnion();
 init_AStringFormat();
 init_AComCompose();
 init_ACompose();
 init_AComSeqReduce();
 init_AOcStream();
 init_AComState();
 init_ADenotation();
 init_AProcessArgs();
 init_ANatConv();
 init_AReal();
 init_ASeqReduce();
 init_ATree();
 CLS(2,_AOcError_63,__AOcError_63);
 LCLS(1,_AOcError_62,__AOcError_62);
 DEN("ERROR: ",__AOcError_61);
 DEN("HINT: ",__AOcError_60);
 DEN("WARNING: ",__AOcError_59);
 CLS(2,_AOcError_58,__AOcError_58);
 CLS(1,_AOcError_26,__AOcError_26);
 CLS(2,_AOcError_25,__AOcError_25);
 CLS(1,_AOcError_57,__AOcError_57);
 CLS(1,_AOcError_24,__AOcError_24);
 CLS(1,_AOcError_23,__AOcError_23);
 CLS(1,_AOcError_55,__AOcError_55);
 CLS(1,_AOcError_86,__AOcError_86);
 CLS(1,_AOcError_22,__AOcError_22);
 CLS(2,_AOcError_85,__AOcError_85);
 CLS(2,_AOcError_21,__AOcError_21);
 CLS(1,_AOcError_84,__AOcError_84);
 CLS(5,_AOcError_20,__AOcError_20);
 DEN("[0m",__AOcError_83);
 CLS(5,_AOcError_19,__AOcError_19);
 DEN("[34m",__AOcError_82);
 CLS(4,_AOcError_18,__AOcError_18);
 DEN("[35m",__AOcError_81);
 CLS(4,_AOcError_17,__AOcError_17);
 DEN("[31m",__AOcError_80);
 CLS(3,_AOcError_16,__AOcError_16);
 CLS(2,_AOcError_48,__AOcError_48);
 CLS(1,_AOcError_79,__AOcError_79);
 CLS(2,_AOcError_47,__AOcError_47);
 DEN("yes",__AOcError_78);
 CLS(5,_AOcError_46,__AOcError_46);
 DEN("no",__AOcError_77);
 CLS(1,_AOcError_13,__AOcError_13);
 DEN("OPAL_COLOR",__AOcError_76);
 CLS(1,_AOcError_44,__AOcError_44);
 LCLS(1,_AOcError_75,__AOcError_75);
 CLS(1,_AOcError_11,__AOcError_11);
 CLS(1,_AOcError_43,__AOcError_43);
 LCLS(1,_AOcError_74,__AOcError_74);
 CLS(1,_AOcError_42,__AOcError_42);
 DEN("\n",__AOcError_73);
 CLS(1,_AOcError_9,__AOcError_9);
 CLS(1,_AOcError_41,__AOcError_41);
 LCLS(1,_AOcError_72,__AOcError_72);
 CLS(1,_AOcError_40,__AOcError_40);
 CLS(7,_AOcError_71,__AOcError_71);
 CLS(4,_AOcError_39,__AOcError_39);
 CLS(2,_AOcError_70,__AOcError_70);
 CLS(1,_AOcError_6,__AOcError_6);
 CLS(5,_AOcError_69,__AOcError_69);
 CLS(1,_AOcError_5,__AOcError_5);
 CLS(2,_AOcError_68,__AOcError_68);
 CLS(1,_AOcError_4,__AOcError_4);
 LCLS(1,_AOcError_67,__AOcError_67);
 CLS(1,_AOcError_3,__AOcError_3);
 LCLS(1,_AOcError_66,__AOcError_66);
 CLS(3,_AOcError_2,__AOcError_2);
 LCLS(1,_AOcError_65,__AOcError_65);
 DEN("internDiag",__AOcError_64);
 MTH(5,0,1,_mt_5_0_1);LZYMTH(5,0,1,_mt_5_0_1);
 MTH(5,1,2,_mt_5_1_2);LZYMTH(5,1,2,_mt_5_1_2);
 MTH(5,1,4,_mt_5_1_4);LZYMTH(5,1,4,_mt_5_1_4);
 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);
 PRM(2,__AOcError_8);
 PRM(1,__AOcError_10);
 PRM(0,__AOcError_12);
 PRD1F(4,__AOcError_15);FLD1(__AOcError_15,1)=__ASeq_6;FLD1(__AOcError_15,2)=__ANat_5;FLD1(__AOcError_15,3)=__ANat_5;FLD1(__AOcError_15,4)=__ANat_5;
 ___AOcError_56();
 ___AOcError_27();
 ___AOcError_50();
 ___AOcError_51();
 ___AOcError_52();
 ___AOcError_53();
 ___AOcError_54();}

