

#include "BUILTIN.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_14(OBJ,OBJ);extern OBJ __ASeq_14;
extern OBJ __AOcError_12;
extern OBJ _AOcError_16(OBJ,OBJ,OBJ);extern OBJ __AOcError_16;
extern OBJ _AOcError_17(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_17;
extern OBJ _AOcPos_28(OBJ,OBJ);extern OBJ __AOcPos_28;
extern OBJ _AOcPos_32(OBJ,OBJ);extern OBJ __AOcPos_32;
extern OBJ _AOcPos_34(OBJ);extern OBJ __AOcPos_34;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern OBJ _APartName_28(OBJ);extern OBJ __APartName_28;
extern OBJ _AFct_45(OBJ,OBJ,OBJ);extern OBJ __AFct_45;

#include "Array.h"
extern OBJ __AAnalyzedGlobSig_22;
extern OBJ _AAnalyzedGlobSig_25(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_25;

#include "CharConv.h"
extern TUP2 _ASubstitution_7(OBJ,OBJ);extern OBJ __ASubstitution_7;

#include "Denotation.h"

#include "Nat.h"
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern OBJ _AStringFormat_1(OBJ,OBJ);extern OBJ __AStringFormat_1;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;
extern OBJ _ASeqCompare_2(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ _AMySeqFun1_14(OBJ,OBJ);extern OBJ __AMySeqFun1_14;
extern OBJ __ARelCmp_7;

#include "Real.h"

#include "Char.h"

#include "Int.h"

#include "Bitset.h"
extern OBJ _AReason_2(OBJ,OBJ,OBJ);OBJ __AReason_2; /* wronglyTypedEquality */
extern OBJ _AReason_3(OBJ);OBJ __AReason_3; /* wronglyTypedEquality? */
extern OBJ _AReason_4(OBJ);OBJ __AReason_4; /* subst */
extern OBJ _AReason_5(OBJ);OBJ __AReason_5; /* right */
extern OBJ _AReason_6(OBJ);OBJ __AReason_6; /* left */
extern OBJ _AReason_7(OBJ,OBJ,OBJ);OBJ __AReason_7; /* unexpectedFct */
extern OBJ _AReason_8(OBJ);OBJ __AReason_8; /* unexpectedFct? */
extern OBJ _AReason_10(OBJ);OBJ __AReason_10; /* delivered */
extern OBJ _AReason_11(OBJ);OBJ __AReason_11; /* demanded */
extern OBJ _AReason_12(OBJ,OBJ,OBJ);OBJ __AReason_12; /* wronglyTypedPatternSynonym */
extern OBJ _AReason_13(OBJ);OBJ __AReason_13; /* wronglyTypedPatternSynonym? */
extern OBJ _AReason_15(OBJ);OBJ __AReason_15; /* expr */
extern OBJ _AReason_16(OBJ);OBJ __AReason_16; /* name */
extern OBJ _AReason_17(OBJ,OBJ,OBJ);OBJ __AReason_17; /* wronglyTypedImplementation */
extern OBJ _AReason_18(OBJ);OBJ __AReason_18; /* wronglyTypedImplementation? */
extern OBJ _AReason_22(OBJ,OBJ,OBJ,OBJ);OBJ __AReason_22; /* locMismatchInLocSig */
extern OBJ _AReason_23(OBJ);OBJ __AReason_23; /* locMismatchInLocSig? */
extern OBJ _AReason_24(OBJ);OBJ __AReason_24; /* substs */
extern OBJ _AReason_27(OBJ);OBJ __AReason_27; /* rep */
extern OBJ _AReason_28(OBJ);OBJ __AReason_28; /* globAndLocInLocSig */
extern OBJ _AReason_29(OBJ);OBJ __AReason_29; /* globAndLocInLocSig? */
extern OBJ _AReason_31(OBJ,OBJ,OBJ);OBJ __AReason_31; /* wronglyTypedEquation */
extern OBJ _AReason_32(OBJ);OBJ __AReason_32; /* wronglyTypedEquation? */
extern OBJ _AReason_36(OBJ,OBJ,OBJ);OBJ __AReason_36; /* wrongTypingOfTupleOrCases */
extern OBJ _AReason_37(OBJ);OBJ __AReason_37; /* wrongTypingOfTupleOrCases? */
extern OBJ _AReason_39(OBJ);OBJ __AReason_39; /* fct */
extern OBJ _AReason_41(OBJ,OBJ,OBJ);OBJ __AReason_41; /* incompatibleElse */
extern OBJ _AReason_42(OBJ);OBJ __AReason_42; /* incompatibleElse? */
extern OBJ _AReason_44(OBJ);OBJ __AReason_44; /* else */
extern OBJ _AReason_45(OBJ);OBJ __AReason_45; /* guards */
extern OBJ _AReason_46(OBJ,OBJ,OBJ);OBJ __AReason_46; /* incompatibleGuards */
extern OBJ _AReason_47(OBJ);OBJ __AReason_47; /* incompatibleGuards? */
extern OBJ _AReason_49(OBJ);OBJ __AReason_49; /* guard2 */
extern OBJ _AReason_50(OBJ);OBJ __AReason_50; /* guard1 */
extern OBJ _AReason_51(OBJ,OBJ);OBJ __AReason_51; /* wronglyTypedCondition */
extern OBJ _AReason_52(OBJ);OBJ __AReason_52; /* wronglyTypedCondition? */
extern OBJ _AReason_54(OBJ);OBJ __AReason_54; /* if */
extern OBJ _AReason_55(OBJ,OBJ,OBJ);OBJ __AReason_55; /* wronglyTypedApplOrInfix */
extern OBJ _AReason_56(OBJ);OBJ __AReason_56; /* wronglyTypedApplOrInfix? */
extern OBJ _AReason_58(OBJ);OBJ __AReason_58; /* arg */
extern OBJ _AReason_59(OBJ);OBJ __AReason_59; /* fun */
extern OBJ _AReason_61(OBJ,OBJ);OBJ __AReason_61; /* and */
extern OBJ _AReason_62(OBJ);OBJ __AReason_62; /* and? */
extern OBJ _AReason_63(OBJ);OBJ __AReason_63; /* reasons */
extern OBJ _AReason_64(OBJ);OBJ __AReason_64; /* pos */
extern OBJ _AReason_66(OBJ);OBJ __AReason_66; /* or */
extern OBJ _AReason_67(OBJ);OBJ __AReason_67; /* or? */
extern OBJ _AReason_68(OBJ);OBJ __AReason_68; /* alterns */
OBJ __AReason_69; /* allReasons? */
OBJ __AReason_70; /* eagerCands? */
OBJ __AReason_71; /* lazyCands? */
extern OBJ _AReason_72(OBJ);OBJ __AReason_72; /* sortAsOperation */
extern OBJ _AReason_73(OBJ);OBJ __AReason_73; /* operationAsSort */
extern OBJ _AReason_74(OBJ);OBJ __AReason_74; /* localNameWithOrigin */
extern OBJ _AReason_75(OBJ);OBJ __AReason_75; /* noMatchingOp */
extern OBJ _AReason_76(OBJ);OBJ __AReason_76; /* noMatchingConstr */
extern OBJ _AReason_77(OBJ);OBJ __AReason_77; /* noMatchingSort */
extern OBJ _AReason_78(OBJ);OBJ __AReason_78; /* noMatchingName */
extern OBJ _AReason_79(OBJ);OBJ __AReason_79; /* sortDefinedByFunDef */
extern OBJ _AReason_80(OBJ);OBJ __AReason_80; /* improperlyNamedFunction */
extern OBJ _AReason_81(OBJ);OBJ __AReason_81; /* actStructIdeExpected */
extern OBJ _AReason_82(OBJ);OBJ __AReason_82; /* wrongNumberOfParameters */
extern OBJ _AReason_83(OBJ);OBJ __AReason_83; /* sortAsPattern */
extern OBJ _AReason_84(OBJ,OBJ,OBJ);OBJ __AReason_84; /* error */
extern OBJ _AReason_86(OBJ,OBJ);OBJ __AReason_86; /* and,1 */
extern OBJ _AReason_87(OBJ);OBJ __AReason_87; /* and?,1 */
extern OBJ _AReason_88(OBJ);OBJ __AReason_88; /* reasons,1 */
extern OBJ _AReason_89(OBJ);OBJ __AReason_89; /* pos,1 */
extern OBJ _AReason_91(OBJ);OBJ __AReason_91; /* or,1 */
extern OBJ _AReason_92(OBJ);OBJ __AReason_92; /* or?,1 */
extern OBJ _AReason_93(OBJ);OBJ __AReason_93; /* alterns,1 */
OBJ __AReason_162; /* differentPositions? */
extern OBJ _AReason_175(OBJ,OBJ);OBJ __AReason_175; /* < */
extern OBJ _AReason_176(OBJ,OBJ);OBJ __AReason_176; /* convert */
extern OBJ _AReason_177(OBJ,OBJ);OBJ __AReason_177; /* convert,1 */
extern OBJ _AReason_179(OBJ,OBJ);OBJ __AReason_179; /* error,1 */
extern OBJ _AReason_180(OBJ,OBJ);OBJ __AReason_180; /* ` */
extern OBJ _AReason_181(OBJ,OBJ);OBJ __AReason_181; /* `,1 */
extern OBJ _AReason_182(OBJ);OBJ __AReason_182; /* tab */
extern OBJ _AReason_183(OBJ,OBJ);OBJ __AReason_183; /* `,2 */
extern OBJ _AReason_184(OBJ,OBJ);OBJ __AReason_184; /* +++ */
OBJ __AReason_185; /* sortAsOperation'185 */
OBJ __AReason_186; /* operationAsSort'186 */
OBJ __AReason_187; /* localNameWithOrigin'187 */
OBJ __AReason_188; /* noMatchingOp'188 */
OBJ __AReason_189; /* noMatchingConstr'189 */
OBJ __AReason_190; /* noMatchingSort'190 */
OBJ __AReason_191; /* noMatchingName'191 */
OBJ __AReason_192; /* sortDefinedByFunDef'192 */
OBJ __AReason_193; /* improperlyNamedFunction'193 */
OBJ __AReason_194; /* actStructIdeExpected'194 */
OBJ __AReason_195; /* wrongNumberOfParameters'195 */
OBJ __AReason_196; /* sortAsPattern'196 */
OBJ __AReason_197; /* +++'197 */
OBJ __AReason_198; /* `,2'198 */
extern OBJ _AReason_199(OBJ);OBJ __AReason_199; /* `,2'199 */
OBJ __AReason_200; /* `,2'200 */
extern OBJ _AReason_201(OBJ);OBJ __AReason_201; /* `,2'201 */
extern OBJ _AReason_202(OBJ);OBJ __AReason_202; /* `,2'202 */
OBJ __AReason_203; /* `,2'203 */
extern OBJ _AReason_204(OBJ);OBJ __AReason_204; /* `,2'204 */
OBJ __AReason_205; /* `,2'205 */
extern OBJ _AReason_206(OBJ,OBJ,OBJ,OBJ);OBJ __AReason_206; /* `,2'206 */
OBJ __AReason_207; /* `,2'207 */
OBJ __AReason_208; /* `,2'208 */
extern OBJ _AReason_209(OBJ);OBJ __AReason_209; /* `,2'209 */
OBJ __AReason_210; /* `,2'210 */
extern OBJ _AReason_211(OBJ);OBJ __AReason_211; /* `,2'211 */
extern OBJ _AReason_212(OBJ);OBJ __AReason_212; /* `,2'212 */
OBJ __AReason_213; /* `,2'213 */
extern OBJ _AReason_214(OBJ);OBJ __AReason_214; /* `,2'214 */
OBJ __AReason_215; /* `,2'215 */
extern OBJ _AReason_216(OBJ);OBJ __AReason_216; /* `,2'216 */
OBJ __AReason_217; /* `,2'217 */
extern OBJ _AReason_218(OBJ);OBJ __AReason_218; /* `,2'218 */
extern OBJ _AReason_219(OBJ);OBJ __AReason_219; /* `,2'219 */
OBJ __AReason_220; /* `,2'220 */
extern OBJ _AReason_221(OBJ);OBJ __AReason_221; /* `,2'221 */
OBJ __AReason_222; /* `,2'222 */
extern OBJ _AReason_223(OBJ);OBJ __AReason_223; /* `,2'223 */
OBJ __AReason_224; /* `,2'224 */
extern OBJ _AReason_225(OBJ);OBJ __AReason_225; /* `,2'225 */
extern OBJ _AReason_226(OBJ);OBJ __AReason_226; /* `,2'226 */
OBJ __AReason_227; /* `,2'227 */
extern OBJ _AReason_228(OBJ);OBJ __AReason_228; /* `,2'228 */
OBJ __AReason_229; /* `,2'229 */
extern OBJ _AReason_230(OBJ);OBJ __AReason_230; /* `,2'230 */
OBJ __AReason_231; /* `,2'231 */
extern OBJ _AReason_232(OBJ);OBJ __AReason_232; /* `,2'232 */
OBJ __AReason_233; /* `,2'233 */
OBJ __AReason_234; /* `,2'234 */
extern OBJ _AReason_235(OBJ);OBJ __AReason_235; /* `,2'235 */
OBJ __AReason_236; /* `,2'236 */
extern OBJ _AReason_237(OBJ);OBJ __AReason_237; /* `,2'237 */
extern OBJ _AReason_238(OBJ);OBJ __AReason_238; /* `,2'238 */
OBJ __AReason_239; /* `,2'239 */
extern OBJ _AReason_240(OBJ);OBJ __AReason_240; /* `,2'240 */
OBJ __AReason_241; /* `,2'241 */
OBJ __AReason_242; /* `,2'242 */
extern OBJ _AReason_243(OBJ);OBJ __AReason_243; /* `,2'243 */
OBJ __AReason_244; /* `,2'244 */
extern OBJ _AReason_245(OBJ);OBJ __AReason_245; /* `,2'245 */
extern OBJ _AReason_246(OBJ);OBJ __AReason_246; /* `,2'246 */
OBJ __AReason_247; /* `,2'247 */
extern OBJ _AReason_248(OBJ);OBJ __AReason_248; /* `,2'248 */
OBJ __AReason_249; /* `,2'249 */
extern OBJ _AReason_250(OBJ);OBJ __AReason_250; /* `,2'250 */
OBJ __AReason_251; /* `,2'251 */
extern OBJ _AReason_252(OBJ);OBJ __AReason_252; /* `,2'252 */
extern OBJ _AReason_253(OBJ);OBJ __AReason_253; /* `,2'253 */
OBJ __AReason_254; /* `,2'254 */
extern OBJ _AReason_255(OBJ);OBJ __AReason_255; /* `,2'255 */
extern OBJ _AReason_256(OBJ);OBJ __AReason_256; /* tab'256 */
extern OBJ _AReason_257(OBJ);OBJ __AReason_257; /* `,1'257 */
extern OBJ _AReason_258(OBJ,OBJ,OBJ);OBJ __AReason_258; /* `,1'258 */
OBJ __AReason_259; /* `'259 */
OBJ __AReason_260; /* `'260 */
OBJ __AReason_261; /* error,1'261 */
extern OBJ _AReason_262(OBJ);OBJ __AReason_262; /* error,1'262 */
OBJ __AReason_263; /* allReasons?'263 */
OBJ __AReason_264; /* eagerCands?'264 */
OBJ __AReason_265; /* lazyCands?'265 */

extern OBJ _AReason_2(OBJ x1,OBJ x2,OBJ x3) /* wronglyTypedEquality */
{OBJ r;
 PRD(3,11,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_3(OBJ x1) /* wronglyTypedEquality? */
{OBJ r;
 if(ISTGPRD(x1,11)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_4(OBJ x1) /* subst */
{OBJ r;
 if(ISTGPRD(x1,2)||ISTGPRD(x1,3)||ISTGPRD(x1,4)||ISTGPRD(x1,5)||ISTGPRD(x1,8)||ISTGPRD(x1,9)||ISTGPRD(x1,10)||ISTGPRD(x1,11)||ISTGPRD(x1,0)){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    CPPRD(x4,1);
    r=x4;
    FRPRD(x1,1);}}
 }else{
  if(ISTGPRD(x1,1)){
   {OBJ x6=FLD(x1,2);
    if(EXPRD(x1,1)){
     r=x6;
     FREE(FLD(x1,1),1);DSPRDF(x1);
    }else{
     CPPRD(x6,1);
     r=x6;
     FRPRD(x1,1);}}
  }else{
   HLT("Reason at <unknown> : undefined selection subst\'Reason:reason->subst");}}
 return r;}

extern OBJ _AReason_5(OBJ x1) /* right */
{OBJ r;
 if(ISTGPRD(x1,8)||ISTGPRD(x1,11)||ISTGPRD(x1,5)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  if(ISTGPRD(x1,7)){
   {OBJ x7=FLD(x1,3);
    if(EXPRD(x1,1)){
     r=x7;
     FLD(x1,3)=NIL;DSPRD(x1);
    }else{
     COPY(x7,1);
     r=x7;
     FRPRD(x1,1);}}
  }else{
   HLT("Reason at <unknown> : undefined selection right\'Reason:reason->fct");}}
 return r;}

extern OBJ _AReason_6(OBJ x1) /* left */
{OBJ r;
 if(ISTGPRD(x1,8)||ISTGPRD(x1,11)||ISTGPRD(x1,5)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  if(ISTGPRD(x1,7)){
   {OBJ x6=FLD(x1,2);
    if(EXPRD(x1,1)){
     r=x6;
     FLD(x1,2)=NIL;DSPRD(x1);
    }else{
     COPY(x6,1);
     r=x6;
     FRPRD(x1,1);}}
  }else{
   HLT("Reason at <unknown> : undefined selection left\'Reason:reason->fct");}}
 return r;}

extern OBJ _AReason_7(OBJ x1,OBJ x2,OBJ x3) /* unexpectedFct */
{OBJ r;
 PRD(3,10,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_8(OBJ x1) /* unexpectedFct? */
{OBJ r;
 if(ISTGPRD(x1,10)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_10(OBJ x1) /* delivered */
{OBJ r;
 if(ISTGPRD(x1,10)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection delivered\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_11(OBJ x1) /* demanded */
{OBJ r;
 if(ISTGPRD(x1,10)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection demanded\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_12(OBJ x1,OBJ x2,OBJ x3) /* wronglyTypedPatternSynonym */
{OBJ r;
 PRD(3,9,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_13(OBJ x1) /* wronglyTypedPatternSynonym? */
{OBJ r;
 if(ISTGPRD(x1,9)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_15(OBJ x1) /* expr */
{OBJ r;
 if(ISTGPRD(x1,4)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  if(ISTGPRD(x1,9)){
   {OBJ x6=FLD(x1,2);
    if(EXPRD(x1,1)){
     r=x6;
     FLD(x1,2)=NIL;DSPRD(x1);
    }else{
     COPY(x6,1);
     r=x6;
     FRPRD(x1,1);}}
  }else{
   HLT("Reason at <unknown> : undefined selection expr\'Reason:reason->fct");}}
 return r;}

extern OBJ _AReason_16(OBJ x1) /* name */
{OBJ r;
 if(ISTGPRD(x1,9)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection name\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_17(OBJ x1,OBJ x2,OBJ x3) /* wronglyTypedImplementation */
{OBJ r;
 PRD(3,8,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_18(OBJ x1) /* wronglyTypedImplementation? */
{OBJ r;
 if(ISTGPRD(x1,8)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_22(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* locMismatchInLocSig */
{OBJ r;
 PRD(4,7,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;FLD(r,4)=x4;
 return r;}

extern OBJ _AReason_23(OBJ x1) /* locMismatchInLocSig? */
{OBJ r;
 if(ISTGPRD(x1,7)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_24(OBJ x1) /* substs */
{OBJ r;
 if(ISTGPRD(x1,7)){
  {OBJ x5=FLD(x1,4);
   if(EXPRD(x1,1)){
    r=x5;
    FLD(x1,4)=NIL;DSPRD(x1);
   }else{
    COPY(x5,1);
    r=x5;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection substs\'Reason:reason->seq");}
 return r;}

extern OBJ _AReason_27(OBJ x1) /* rep */
{OBJ r;
 if(ISTGPRD(x1,7)||ISTGPRD(x1,6)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    CPPRD(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection rep\'Reason:reason->rep");}
 return r;}

extern OBJ _AReason_28(OBJ x1) /* globAndLocInLocSig */
{OBJ r;
 PRD(1,6,r);FLD(r,1)=x1;
 return r;}

extern OBJ _AReason_29(OBJ x1) /* globAndLocInLocSig? */
{OBJ r;
 if(ISTGPRD(x1,6)){
  if(EXPRD(x1,1)){
   FRPRD(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_31(OBJ x1,OBJ x2,OBJ x3) /* wronglyTypedEquation */
{OBJ r;
 PRD(3,5,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_32(OBJ x1) /* wronglyTypedEquation? */
{OBJ r;
 if(ISTGPRD(x1,5)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_36(OBJ x1,OBJ x2,OBJ x3) /* wrongTypingOfTupleOrCases */
{OBJ r;
 PRD(3,4,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_37(OBJ x1) /* wrongTypingOfTupleOrCases? */
{OBJ r;
 if(ISTGPRD(x1,4)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_39(OBJ x1) /* fct */
{OBJ r;
 if(ISTGPRD(x1,4)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection fct\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_41(OBJ x1,OBJ x2,OBJ x3) /* incompatibleElse */
{OBJ r;
 PRD(3,3,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_42(OBJ x1) /* incompatibleElse? */
{OBJ r;
 if(ISTGPRD(x1,3)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_44(OBJ x1) /* else */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection else\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_45(OBJ x1) /* guards */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection guards\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_46(OBJ x1,OBJ x2,OBJ x3) /* incompatibleGuards */
{OBJ r;
 PRD(3,2,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_47(OBJ x1) /* incompatibleGuards? */
{OBJ r;
 if(ISTGPRD(x1,2)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_49(OBJ x1) /* guard2 */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection guard2\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_50(OBJ x1) /* guard1 */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection guard1\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_51(OBJ x1,OBJ x2) /* wronglyTypedCondition */
{OBJ r;
 PRD(2,1,r);FLD(r,1)=x1;FLD(r,2)=x2;
 return r;}

extern OBJ _AReason_52(OBJ x1) /* wronglyTypedCondition? */
{OBJ r;
 if(ISTGPRD(x1,1)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_54(OBJ x1) /* if */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FRPRD(FLD(x1,2),1);DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection if\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_55(OBJ x1,OBJ x2,OBJ x3) /* wronglyTypedApplOrInfix */
{OBJ r;
 PRD(3,0,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AReason_56(OBJ x1) /* wronglyTypedApplOrInfix? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AReason_58(OBJ x1) /* arg */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection arg\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_59(OBJ x1) /* fun */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("Reason at <unknown> : undefined selection fun\'Reason:reason->fct");}
 return r;}

extern OBJ _AReason_61(OBJ x1,OBJ x2) /* and */
{OBJ r;
 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x2;
 return r;}

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

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

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

extern OBJ _AReason_66(OBJ x1) /* or */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AReason_67(OBJ x1) /* or? */
{OBJ r;
 FREE(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AReason_68(OBJ x1) /* alterns */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AReason_72(OBJ x1) /* sortAsOperation */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_185,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_185,x2,x10);}
 return r;}

extern OBJ _AReason_73(OBJ x1) /* operationAsSort */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_186,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_186,x2,x10);}
 return r;}

extern OBJ _AReason_74(OBJ x1) /* localNameWithOrigin */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_187,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_187,x2,x10);}
 return r;}

extern OBJ _AReason_75(OBJ x1) /* noMatchingOp */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_188,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_188,x2,x10);}
 return r;}

extern OBJ _AReason_76(OBJ x1) /* noMatchingConstr */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_189,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_189,x2,x10);}
 return r;}

extern OBJ _AReason_77(OBJ x1) /* noMatchingSort */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_190,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_190,x2,x10);}
 return r;}

extern OBJ _AReason_78(OBJ x1) /* noMatchingName */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_191,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_191,x2,x10);}
 return r;}

extern OBJ _AReason_79(OBJ x1) /* sortDefinedByFunDef */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_192,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_192,x2,x10);}
 return r;}

extern OBJ _AReason_80(OBJ x1) /* improperlyNamedFunction */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_193,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_193,x2,x10);}
 return r;}

extern OBJ _AReason_81(OBJ x1) /* actStructIdeExpected */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_194,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_194,x2,x10);}
 return r;}

extern OBJ _AReason_82(OBJ x1) /* wrongNumberOfParameters */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_195,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_195,x2,x10);}
 return r;}

extern OBJ _AReason_83(OBJ x1) /* sortAsPattern */
{OBJ r;
 {OBJ x10;OBJ x2;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x9=FLD1(x1,7);
    COPY(x9,1);
    x10=x9;
    CPPRD(__AReason_196,1);}}
  x2=_APartName_28(x1);
  r=_AOcError_17(__AOcError_12,__AReason_196,x2,x10);}
 return r;}

extern OBJ _AReason_84(OBJ x1,OBJ x2,OBJ x3) /* error */
{OBJ r;
 {OBJ x4;
  x4=_AReason_176(x3,x2);
  r=_AReason_179(x1,x4);}
 return r;}

extern OBJ _AReason_86(OBJ x1,OBJ x2) /* and,1 */
{OBJ r;
 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x2;
 return r;}

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

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

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

extern OBJ _AReason_91(OBJ x1) /* or,1 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AReason_92(OBJ x1) /* or?,1 */
{OBJ r;
 FREE(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AReason_93(OBJ x1) /* alterns,1 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AReason_175(OBJ x1,OBJ x2) /* < */
{OBJ r;
 {OBJ x18=FLD1(x1,1);OBJ x19=FLD1(x1,2);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   COPY(x18,1);COPY(x19,1);
   FRPRD(x1,1);}
  {OBJ x29=FLD1(x2,1);OBJ x30=FLD1(x2,2);
   if(EXPRD(x2,1)){
    COPY(x29,1);
    DSPRDF(x2);
   }else{
    COPY(x29,2);COPY(x30,1);
    FRPRD(x2,1);}
   COPY(x18,1);
   {OBJ x31;
    x31=_AOcPos_28(x29,x18);
    if(ISTGPRM(x31,1)){
     FREE(x18,1);
     FREE(x19,1);
     FREE(x29,1);
     FREE(x30,1);
     r=__ABUILTIN_5;
    }else{
     {OBJ x32;
      x32=_AOcPos_32(x18,x29);
      if(ISTGPRM(x32,1)){
       CPCLS(__ADenotation_17,1);
       CPCLS(__ARelCmp_7,1);
       {OBJ x33;
	x33=_ASeqCompare_2(__ADenotation_17,x19,x30);
	r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ARelCmp_7,1))(__ARelCmp_7,x33);}
      }else{
       FREE(x19,1);
       FREE(x30,1);
       r=__ABUILTIN_3;}}}}}}
 return r;}

extern OBJ _AReason_176(OBJ x1,OBJ x2) /* convert */
{OBJ r;
 CPCLS(__AReason_175,1);
 CPCLS(__AReason_177,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_177,1))(__AReason_177,x1);
  x4=_ASeqMap_3(x3,x2);
  r=_AMySeqFun1_14(__AReason_175,x4);}
 return r;}

extern OBJ _AReason_177(OBJ x1,OBJ x2) /* convert,1 */
{OBJ r;
 CPCLS(__AReason_183,1);
 {OBJ x9;
  x9=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_183,1))(__AReason_183,x1);
  {OBJ x12;OBJ x13=FLD1(x2,2);
   if(EXPRD(x2,1)){
    CPCLS(__ADenotation_17,1);
    {OBJ x14;
     x14=_ASeqMap_3(x9,x13);
     RSOME(x2,r);
     FLD1(r,2)=_AMySeqFun1_14(__ADenotation_17,x14);}
   }else{
    x12=FLD1(x2,1);COPY(x12,1);COPY(x13,1);
    CPCLS(__ADenotation_17,1);
    {OBJ x14;
     x14=_ASeqMap_3(x9,x13);
     FRPRD(x2,1);PRD1(2,r);FLD1(r,1)=x12;
     FLD1(r,2)=_AMySeqFun1_14(__ADenotation_17,x14);}}}}
 return r;}

extern OBJ _AReason_179(OBJ x1,OBJ x2) /* error,1 */
{OBJ r;
 if(ISPRM(x2)){
  CPPRD(__AReason_261,1);
  {OBJ x101;
   x101=_AReason_180(__ANat_8,x2);
   r=_AOcError_17(__AOcError_12,__AReason_261,x101,x1);}
 }else{
  {OBJ x82=FLD1(x2,1);OBJ x83=FLD1(x2,2);
   CPPRD(x82,1);COPY(x83,1);
   {OBJ x86=FLD1(x82,2);
    COPY(x86,1);
    if(EXPRD(x82,1)){
     DSPRD(x82);
    }else{
     DCPRD(x82,1);}
    {OBJ x89;
     if(ISPRM(x83)){
      x89=__ABUILTIN_5;
     }else{
      if(EXPRD(x83,1)){
       DSPRD(x83);
      }else{
       DCPRD(x83,1);}
      x89=__ABUILTIN_3;}
     if(ISPRM(x86)){
      if(ISTGPRM(x89,1)){
       if(EXPRD(x2,1)){
	DSPRD(x2);
       }else{
	DCPRD(x2,1);}
       CPPRD(__AReason_261,1);
       CPCLS(__AReason_262,1);
       {OBJ x98;OBJ x99;
	x98=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_262,1))(__AReason_262,__ABUILTIN_20);
	x99=_AReason_181(x98,x86);
	r=_AOcError_17(__AOcError_12,__AReason_261,x99,x1);}
      }else{
       CPPRD(__AReason_261,1);
       {OBJ x100;
	x100=_AReason_180(__ANat_8,x2);
	r=_AOcError_17(__AOcError_12,__AReason_261,x100,x1);}}
     }else{
      {OBJ x90=FLD1(x86,1);OBJ x91=FLD1(x86,2);
       CPPRD(x90,1);COPY(x91,1);
       if(ISPRM(x91)){
	if(EXPRD(x86,1)){
	 DSPRD(x86);
	}else{
	 DCPRD(x86,1);}
	if(ISTGPRM(x89,1)){
	 if(EXPRD(x2,1)){
	  DSPRD(x2);
	 }else{
	  DCPRD(x2,1);}
	 r=_AOcError_16(__AOcError_12,x90,x1);
	}else{
	 FRPRD(x90,1);
	 CPPRD(__AReason_261,1);
	 {OBJ x92;
	  x92=_AReason_180(__ANat_8,x2);
	  r=_AOcError_17(__AOcError_12,__AReason_261,x92,x1);}}
       }else{
	if(EXPRD(x91,1)){
	 DSPRD(x91);
	}else{
	 DCPRD(x91,1);}
	FRPRD(x90,1);
	if(ISTGPRM(x89,1)){
	 if(EXPRD(x2,1)){
	  DSPRD(x2);
	 }else{
	  DCPRD(x2,1);}
	 CPPRD(__AReason_261,1);
	 CPCLS(__AReason_262,1);
	 {OBJ x95;OBJ x96;
	  x95=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_262,1))(__AReason_262,__ABUILTIN_20);
	  x96=_AReason_181(x95,x86);
	  r=_AOcError_17(__AOcError_12,__AReason_261,x96,x1);}
	}else{
	 if(EXPRD(x86,1)){
	  DSPRD(x86);
	 }else{
	  DCPRD(x86,1);}
	 CPPRD(__AReason_261,1);
	 {OBJ x97;
	  x97=_AReason_180(__ANat_8,x2);
	  r=_AOcError_17(__AOcError_12,__AReason_261,x97,x1);}}}}}}}}}
 return r;}

extern OBJ _AReason_180(OBJ x1,OBJ x2) /* ` */
{OBJ r;
 if(ISPRM(x2)){
  CPPRD(__ADenotation_3,1);
  r=__ADenotation_3;
 }else{
  {OBJ x51=FLD1(x2,1);OBJ x52=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    CPPRD(x51,1);COPY(x52,1);}
   {OBJ x53;OBJ x54;OBJ x56;
    ANat_2(x1,x53);
    PRDF(1,0,x54);FLD(x54,1)=x1;
    x56=_AReason_180(x53,x52);
    {OBJ x57=FLD1(x51,1);OBJ x58=FLD1(x51,2);FLAG x_x51=EXPRD(x51,1);
     if(x_x51){
     }else{
      COPY(x57,1);COPY(x58,1);}
     {OBJ x68;
      if(ISTGPRM(__AReason_162,1)){
       CPPRD(__AReason_259,1);
       {OBJ x59;OBJ x60;OBJ x61;OBJ x62;OBJ x63;OBJ x64;
	x59=_AOcPos_34(x57);
	PRD(1,6,x60);FLD(x60,1)=x59;
	if(x_x51){
	 RSOME(x51,x61);FLD1(x61,1)=x60;FLD1(x61,2)=__ASeq_6;
	}else{
	 FRPRD(x51,1);PRD1(2,x61);FLD1(x61,1)=x60;FLD1(x61,2)=__ASeq_6;}
	if(x_x2){
	 RSOME(x2,x62);FLD1(x62,1)=x54;FLD1(x62,2)=x61;
	}else{
	 FRPRD(x2,1);PRD1(2,x62);FLD1(x62,1)=x54;FLD1(x62,2)=x61;}
	x63=_AStringFormat_1(__AReason_259,x62);
	x64=_AStringConv_1(x63);
	x68=_AReason_181(x64,x58);}
      }else{
       if(x_x2){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       FREE(x57,1);
       CPPRD(__AReason_260,1);
       {OBJ x65;OBJ x66;OBJ x67;
	if(x_x51){
	 RSOME(x51,x65);FLD1(x65,1)=x54;FLD1(x65,2)=__ASeq_6;
	}else{
	 FRPRD(x51,1);PRD1(2,x65);FLD1(x65,1)=x54;FLD1(x65,2)=__ASeq_6;}
	x66=_AStringFormat_1(__AReason_260,x65);
	x67=_AStringConv_1(x66);
	x68=_AReason_181(x67,x58);}}
      ADenotation_4(x68,x56,r);}}}}}
 return r;}

extern OBJ _AReason_181(OBJ x1,OBJ x2) /* `,1 */
{OBJ r;
 if(ISPRM(x2)){
  FRPRD(x1,1);
  CPPRD(__ADenotation_3,1);
  r=__ADenotation_3;
 }else{
  {OBJ x23=FLD1(x2,1);OBJ x24=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x23,1);COPY(x24,1);
    FRPRD(x2,1);}
   CPPRD(x1,1);
   CPCLS(__AReason_257,1);
   CPCLS(__AReason_258,1);
   CPPRD(__ADenotation_3,1);
   CPCLS(__ADenotation_4,1);
   {OBJ x25;OBJ x27;OBJ x28;OBJ x29;OBJ x30;OBJ x31;
    x25=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_257,1))(__AReason_257,__ABUILTIN_20);
    CPPRD(x25,1);
    ADenotation_4(x23,x25,x27);
    ADenotation_4(x1,x27,x28);
    x29=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AReason_258,2))(__AReason_258,x1,x25);
    x30=_ASeqMap_3(x29,x24);
    x31=_ASeqReduce_3(__ADenotation_4,__ADenotation_3,x30);
    ADenotation_4(x28,x31,r);}}}
 return r;}

extern OBJ _AReason_182(OBJ x1) /* tab */
{OBJ r;
 {OBJ x2;
  ANat_6(x1,x2);
  if(ISTGPRM(x2,1)){
   CPPRD(__ADenotation_3,1);
   r=__ADenotation_3;
  }else{
   CPCLS(__AReason_256,1);
   {OBJ x3;OBJ x4;OBJ x5;
    x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_256,1))(__AReason_256,__ABUILTIN_20);
    ANat_62(x1,__ANat_8,x4);
    x5=_AReason_182(x4);
    ADenotation_4(x3,x5,r);}}}
 return r;}

extern OBJ _AReason_183(OBJ x1,OBJ x2) /* `,2 */
{OBJ r;
 switch(TGPRD(x2)){
  case 7:
   {OBJ x2202=FLD(x2,1);OBJ x2203=FLD(x2,2);OBJ x2204=FLD(x2,3);OBJ x2205=FLD(x2,4);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     CPPRD(x2202,1);COPY(x2203,1);COPY(x2204,1);COPY(x2205,1);
     FRPRD(x2,1);}
    CPCLS(__AReason_206,1);
    CPPRD(__AReason_207,1);
    CPPRD(__ADenotation_3,1);
    CPCLS(__ADenotation_4,1);
    {OBJ x2206;OBJ x2207;OBJ x2208;OBJ x2209;OBJ x2210;OBJ x2211;OBJ x2212;OBJ x2213;OBJ x2214;
     x2206=_ARep_119(x2202);
     PRD(1,6,x2207);FLD(x2207,1)=x2206;
     x2208=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AReason_206,3))(__AReason_206,x1,x2203,x2204);
     x2209=_ASeqMap_3(x2208,x2205);
     x2210=_ASeqReduce_4(__ADenotation_4,__ADenotation_3,x2209);
     PRD(1,6,x2211);FLD(x2211,1)=x2210;
     PRD1(2,x2212);FLD1(x2212,1)=x2211;FLD1(x2212,2)=__ASeq_6;
     PRD1(2,x2213);FLD1(x2213,1)=x2207;FLD1(x2213,2)=x2212;
     x2214=_AStringFormat_1(__AReason_207,x2213);
     r=_AStringConv_1(x2214);}}break;
  case 9:
   {OBJ x2215=FLD(x2,1);OBJ x2216=FLD(x2,2);OBJ x2217=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2217,1);
     DSPRDF(x2);
    }else{
     COPY(x2215,1);COPY(x2216,1);CPPRD(x2217,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_214,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2219;OBJ x2224;TUP2 x2225;OBJ x2227;OBJ x2228;TUP2 x2229;OBJ x2231;OBJ x2232;OBJ x2233;OBJ x2234;
     x2219=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2219,1);
     x2224=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_214,1))(__AReason_214,__ABUILTIN_20);
     x2225=_ASubstitution_7(x2217,x2216);
     x2227=_AFct_45(x2219,__ABUILTIN_3,x2225.c1);
     PRD(1,6,x2228);FLD(x2228,1)=x2227;
     x2229=_ASubstitution_7(x2217,x2215);
     x2231=_AFct_45(x2219,__ABUILTIN_3,x2229.c1);
     PRD(1,6,x2232);FLD(x2232,1)=x2231;
     x2233=_ASeq_14(x2232,x2228);
     x2234=_AStringFormat_1(x2224,x2233);
     r=_AStringConv_1(x2234);}}break;
  case 10:
   {OBJ x2235=FLD(x2,1);OBJ x2236=FLD(x2,2);OBJ x2237=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2237,1);
     DSPRDF(x2);
    }else{
     COPY(x2235,1);COPY(x2236,1);CPPRD(x2237,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_221,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2238;OBJ x2244;TUP2 x2245;OBJ x2247;OBJ x2248;TUP2 x2249;OBJ x2251;OBJ x2252;OBJ x2253;OBJ x2254;
     x2238=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2238,1);
     x2244=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_221,1))(__AReason_221,__ABUILTIN_20);
     x2245=_ASubstitution_7(x2237,x2236);
     x2247=_AFct_45(x2238,__ABUILTIN_3,x2245.c1);
     PRD(1,6,x2248);FLD(x2248,1)=x2247;
     x2249=_ASubstitution_7(x2237,x2235);
     x2251=_AFct_45(x2238,__ABUILTIN_3,x2249.c1);
     PRD(1,6,x2252);FLD(x2252,1)=x2251;
     x2253=_ASeq_14(x2252,x2248);
     x2254=_AStringFormat_1(x2244,x2253);
     r=_AStringConv_1(x2254);}}break;
  case 11:
   {OBJ x2255=FLD(x2,1);OBJ x2256=FLD(x2,2);OBJ x2257=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2257,1);
     DSPRDF(x2);
    }else{
     COPY(x2255,1);COPY(x2256,1);CPPRD(x2257,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_228,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2259;OBJ x2265;TUP2 x2266;OBJ x2268;OBJ x2269;TUP2 x2270;OBJ x2272;OBJ x2273;OBJ x2274;OBJ x2275;
     x2259=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2259,1);
     x2265=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_228,1))(__AReason_228,__ABUILTIN_20);
     x2266=_ASubstitution_7(x2257,x2256);
     x2268=_AFct_45(x2259,__ABUILTIN_3,x2266.c1);
     PRD(1,6,x2269);FLD(x2269,1)=x2268;
     x2270=_ASubstitution_7(x2257,x2255);
     x2272=_AFct_45(x2259,__ABUILTIN_3,x2270.c1);
     PRD(1,6,x2273);FLD(x2273,1)=x2272;
     x2274=_ASeq_14(x2273,x2269);
     x2275=_AStringFormat_1(x2265,x2274);
     r=_AStringConv_1(x2275);}}break;
  case 8:
   {OBJ x2276=FLD(x2,1);OBJ x2277=FLD(x2,2);OBJ x2278=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2278,1);
     DSPRDF(x2);
    }else{
     COPY(x2276,1);COPY(x2277,1);CPPRD(x2278,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_230,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2280;OBJ x2286;TUP2 x2287;OBJ x2289;OBJ x2290;TUP2 x2291;OBJ x2293;OBJ x2294;OBJ x2295;OBJ x2296;
     x2280=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2280,1);
     x2286=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_230,1))(__AReason_230,__ABUILTIN_20);
     x2287=_ASubstitution_7(x2278,x2277);
     x2289=_AFct_45(x2280,__ABUILTIN_3,x2287.c1);
     PRD(1,6,x2290);FLD(x2290,1)=x2289;
     x2291=_ASubstitution_7(x2278,x2276);
     x2293=_AFct_45(x2280,__ABUILTIN_3,x2291.c1);
     PRD(1,6,x2294);FLD(x2294,1)=x2293;
     x2295=_ASeq_14(x2294,x2290);
     x2296=_AStringFormat_1(x2286,x2295);
     r=_AStringConv_1(x2296);}}break;
  case 5:
   {OBJ x2297=FLD(x2,1);OBJ x2298=FLD(x2,2);OBJ x2299=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2299,1);
     DSPRDF(x2);
    }else{
     COPY(x2297,1);COPY(x2298,1);CPPRD(x2299,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_232,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2301;OBJ x2307;TUP2 x2308;OBJ x2310;OBJ x2311;TUP2 x2312;OBJ x2314;OBJ x2315;OBJ x2316;OBJ x2317;
     x2301=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2301,1);
     x2307=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_232,1))(__AReason_232,__ABUILTIN_20);
     x2308=_ASubstitution_7(x2299,x2298);
     x2310=_AFct_45(x2301,__ABUILTIN_3,x2308.c1);
     PRD(1,6,x2311);FLD(x2311,1)=x2310;
     x2312=_ASubstitution_7(x2299,x2297);
     x2314=_AFct_45(x2301,__ABUILTIN_3,x2312.c1);
     PRD(1,6,x2315);FLD(x2315,1)=x2314;
     x2316=_ASeq_14(x2315,x2311);
     x2317=_AStringFormat_1(x2307,x2316);
     r=_AStringConv_1(x2317);}}break;
  case 6:
   {OBJ x2318=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
    }else{
     CPPRD(x2318,1);}
    FREE(x1,1);
    CPPRD(__AReason_233,1);
    {OBJ x2319;OBJ x2320;OBJ x2321;OBJ x2322;
     x2319=_ARep_119(x2318);
     if(x_x2){
      RPRD(x2,x2320);FLD(x2320,1)=x2319;
     }else{
      FRPRD(x2,1);PRD(1,6,x2320);FLD(x2320,1)=x2319;}
     PRD1(2,x2321);FLD1(x2321,1)=x2320;FLD1(x2321,2)=__ASeq_6;
     x2322=_AStringFormat_1(__AReason_233,x2321);
     r=_AStringConv_1(x2322);}}break;
  case 4:
   {OBJ x2323=FLD(x2,1);OBJ x2324=FLD(x2,2);OBJ x2325=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2325,1);
     DSPRDF(x2);
    }else{
     COPY(x2323,1);COPY(x2324,1);CPPRD(x2325,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_240,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2327;OBJ x2332;TUP2 x2333;OBJ x2335;OBJ x2336;TUP2 x2337;OBJ x2339;OBJ x2340;OBJ x2341;OBJ x2342;
     x2327=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2327,1);
     x2332=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_240,1))(__AReason_240,__ABUILTIN_20);
     x2333=_ASubstitution_7(x2325,x2324);
     x2335=_AFct_45(x2327,__ABUILTIN_3,x2333.c1);
     PRD(1,6,x2336);FLD(x2336,1)=x2335;
     x2337=_ASubstitution_7(x2325,x2323);
     x2339=_AFct_45(x2327,__ABUILTIN_3,x2337.c1);
     PRD(1,6,x2340);FLD(x2340,1)=x2339;
     x2341=_ASeq_14(x2340,x2336);
     x2342=_AStringFormat_1(x2332,x2341);
     r=_AStringConv_1(x2342);}}break;
  case 1:
   {OBJ x2343=FLD(x2,1);OBJ x2344=FLD(x2,2);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     COPY(x2343,1);CPPRD(x2344,1);
     FRPRD(x2,1);}
    CPPRD(__AReason_241,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2345;TUP2 x2347;OBJ x2349;OBJ x2350;OBJ x2351;OBJ x2352;
     x2345=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     x2347=_ASubstitution_7(x2344,x2343);
     x2349=_AFct_45(x2345,__ABUILTIN_3,x2347.c1);
     PRD(1,6,x2350);FLD(x2350,1)=x2349;
     PRD1(2,x2351);FLD1(x2351,1)=x2350;FLD1(x2351,2)=__ASeq_6;
     x2352=_AStringFormat_1(__AReason_241,x2351);
     r=_AStringConv_1(x2352);}}break;
  case 2:
   {OBJ x2353=FLD(x2,1);OBJ x2354=FLD(x2,2);OBJ x2355=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2355,1);
     DSPRDF(x2);
    }else{
     COPY(x2353,1);COPY(x2354,1);CPPRD(x2355,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_248,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2357;OBJ x2362;TUP2 x2363;OBJ x2365;OBJ x2366;TUP2 x2367;OBJ x2369;OBJ x2370;OBJ x2371;OBJ x2372;
     x2357=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2357,1);
     x2362=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_248,1))(__AReason_248,__ABUILTIN_20);
     x2363=_ASubstitution_7(x2355,x2354);
     x2365=_AFct_45(x2357,__ABUILTIN_3,x2363.c1);
     PRD(1,6,x2366);FLD(x2366,1)=x2365;
     x2367=_ASubstitution_7(x2355,x2353);
     x2369=_AFct_45(x2357,__ABUILTIN_3,x2367.c1);
     PRD(1,6,x2370);FLD(x2370,1)=x2369;
     x2371=_ASeq_14(x2370,x2366);
     x2372=_AStringFormat_1(x2362,x2371);
     r=_AStringConv_1(x2372);}}break;
  case 0:
   {OBJ x2373=FLD(x2,1);OBJ x2374=FLD(x2,2);OBJ x2375=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2375,1);
     DSPRDF(x2);
    }else{
     COPY(x2373,1);COPY(x2374,1);CPPRD(x2375,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_255,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2376;OBJ x2382;TUP2 x2383;OBJ x2385;OBJ x2386;TUP2 x2387;OBJ x2389;OBJ x2390;OBJ x2391;OBJ x2392;
     x2376=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2376,1);
     x2382=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_255,1))(__AReason_255,__ABUILTIN_20);
     x2383=_ASubstitution_7(x2375,x2374);
     x2385=_AFct_45(x2376,__ABUILTIN_3,x2383.c1);
     PRD(1,6,x2386);FLD(x2386,1)=x2385;
     x2387=_ASubstitution_7(x2375,x2373);
     x2389=_AFct_45(x2376,__ABUILTIN_3,x2387.c1);
     PRD(1,6,x2390);FLD(x2390,1)=x2389;
     x2391=_ASeq_14(x2390,x2386);
     x2392=_AStringFormat_1(x2382,x2391);
     r=_AStringConv_1(x2392);}}break;
  default: 
   {OBJ x2182=FLD(x2,1);OBJ x2183=FLD(x2,2);OBJ x2184=FLD(x2,3);
    if(EXPRD(x2,1)){
     CPPRD(x2184,1);
     DSPRDF(x2);
    }else{
     COPY(x2182,1);COPY(x2183,1);CPPRD(x2184,2);
     FRPRD(x2,1);}
    CPCLS(__AReason_204,1);
    CPCLS(__AAnalyzedGlobSig_25,1);
    {OBJ x2185;OBJ x2191;TUP2 x2192;OBJ x2194;OBJ x2195;TUP2 x2196;OBJ x2198;OBJ x2199;OBJ x2200;OBJ x2201;
     x2185=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
     CPCLS(x2185,1);
     x2191=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_204,1))(__AReason_204,__ABUILTIN_20);
     x2192=_ASubstitution_7(x2184,x2183);
     x2194=_AFct_45(x2185,__ABUILTIN_3,x2192.c1);
     PRD(1,6,x2195);FLD(x2195,1)=x2194;
     x2196=_ASubstitution_7(x2184,x2182);
     x2198=_AFct_45(x2185,__ABUILTIN_3,x2196.c1);
     PRD(1,6,x2199);FLD(x2199,1)=x2198;
     x2200=_ASeq_14(x2199,x2195);
     x2201=_AStringFormat_1(x2191,x2200);
     r=_AStringConv_1(x2201);}}}
 return r;}

extern OBJ _AReason_184(OBJ x1,OBJ x2) /* +++ */
{OBJ r;
 CPPRD(__AReason_197,1);
 {OBJ x3;
  ADenotation_4(__AReason_197,x2,x3);
  ADenotation_4(x1,x3,r);}
 return r;}

extern OBJ _AReason_199(OBJ x1) /* `,2'199 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_198,1);
 ADenotation_4(__AReason_197,__AReason_198,r);
 return r;}

extern OBJ _AReason_201(OBJ x1) /* `,2'201 */
{OBJ r;
 CPCLS(__AReason_199,1);
 CPPRD(__AReason_200,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_199,1))(__AReason_199,__ABUILTIN_20);
  ADenotation_4(__AReason_200,x2,r);}
 return r;}

extern OBJ _AReason_202(OBJ x1) /* `,2'202 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_201,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_201,1))(__AReason_201,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_204(OBJ x1) /* `,2'204 */
{OBJ r;
 CPCLS(__AReason_202,1);
 CPPRD(__AReason_203,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_202,1))(__AReason_202,__ABUILTIN_20);
  ADenotation_4(__AReason_203,x2,r);}
 return r;}

extern OBJ _AReason_206(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* `,2'206 */
{OBJ r;
 CPPRD(__AReason_205,1);
 CPCLS(__AAnalyzedGlobSig_25,1);
 CPPRD(x4,1);
 {OBJ x5;TUP2 x8;OBJ x10;OBJ x11;OBJ x12;TUP2 x13;OBJ x15;OBJ x16;OBJ x17;OBJ x18;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AAnalyzedGlobSig_25,2))(__AAnalyzedGlobSig_25,x1,__AAnalyzedGlobSig_22);
  CPCLS(x5,1);
  x8=_ASubstitution_7(x4,x3);
  x10=_AFct_45(x5,__ABUILTIN_3,x8.c1);
  PRD(1,6,x11);FLD(x11,1)=x10;
  PRD1(2,x12);FLD1(x12,1)=x11;FLD1(x12,2)=__ASeq_6;
  x13=_ASubstitution_7(x4,x2);
  x15=_AFct_45(x5,__ABUILTIN_3,x13.c1);
  PRD(1,6,x16);FLD(x16,1)=x15;
  PRD1(2,x17);FLD1(x17,1)=x16;FLD1(x17,2)=x12;
  x18=_AStringFormat_1(__AReason_205,x17);
  r=_AStringConv_1(x18);}
 return r;}

extern OBJ _AReason_209(OBJ x1) /* `,2'209 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_208,1);
 ADenotation_4(__AReason_197,__AReason_208,r);
 return r;}

extern OBJ _AReason_211(OBJ x1) /* `,2'211 */
{OBJ r;
 CPCLS(__AReason_209,1);
 CPPRD(__AReason_210,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_209,1))(__AReason_209,__ABUILTIN_20);
  ADenotation_4(__AReason_210,x2,r);}
 return r;}

extern OBJ _AReason_212(OBJ x1) /* `,2'212 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_211,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_211,1))(__AReason_211,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_214(OBJ x1) /* `,2'214 */
{OBJ r;
 CPCLS(__AReason_212,1);
 CPPRD(__AReason_213,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_212,1))(__AReason_212,__ABUILTIN_20);
  ADenotation_4(__AReason_213,x2,r);}
 return r;}

extern OBJ _AReason_216(OBJ x1) /* `,2'216 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_215,1);
 ADenotation_4(__AReason_197,__AReason_215,r);
 return r;}

extern OBJ _AReason_218(OBJ x1) /* `,2'218 */
{OBJ r;
 CPCLS(__AReason_216,1);
 CPPRD(__AReason_217,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_216,1))(__AReason_216,__ABUILTIN_20);
  ADenotation_4(__AReason_217,x2,r);}
 return r;}

extern OBJ _AReason_219(OBJ x1) /* `,2'219 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_218,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_218,1))(__AReason_218,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_221(OBJ x1) /* `,2'221 */
{OBJ r;
 CPCLS(__AReason_219,1);
 CPPRD(__AReason_220,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_219,1))(__AReason_219,__ABUILTIN_20);
  ADenotation_4(__AReason_220,x2,r);}
 return r;}

extern OBJ _AReason_223(OBJ x1) /* `,2'223 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_222,1);
 ADenotation_4(__AReason_197,__AReason_222,r);
 return r;}

extern OBJ _AReason_225(OBJ x1) /* `,2'225 */
{OBJ r;
 CPCLS(__AReason_223,1);
 CPPRD(__AReason_224,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_223,1))(__AReason_223,__ABUILTIN_20);
  ADenotation_4(__AReason_224,x2,r);}
 return r;}

extern OBJ _AReason_226(OBJ x1) /* `,2'226 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_225,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_225,1))(__AReason_225,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_228(OBJ x1) /* `,2'228 */
{OBJ r;
 CPCLS(__AReason_226,1);
 CPPRD(__AReason_227,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_226,1))(__AReason_226,__ABUILTIN_20);
  ADenotation_4(__AReason_227,x2,r);}
 return r;}

extern OBJ _AReason_230(OBJ x1) /* `,2'230 */
{OBJ r;
 CPCLS(__AReason_226,1);
 CPPRD(__AReason_229,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_226,1))(__AReason_226,__ABUILTIN_20);
  ADenotation_4(__AReason_229,x2,r);}
 return r;}

extern OBJ _AReason_232(OBJ x1) /* `,2'232 */
{OBJ r;
 CPCLS(__AReason_226,1);
 CPPRD(__AReason_231,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_226,1))(__AReason_226,__ABUILTIN_20);
  ADenotation_4(__AReason_231,x2,r);}
 return r;}

extern OBJ _AReason_235(OBJ x1) /* `,2'235 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_234,1);
 ADenotation_4(__AReason_197,__AReason_234,r);
 return r;}

extern OBJ _AReason_237(OBJ x1) /* `,2'237 */
{OBJ r;
 CPCLS(__AReason_235,1);
 CPPRD(__AReason_236,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_235,1))(__AReason_235,__ABUILTIN_20);
  ADenotation_4(__AReason_236,x2,r);}
 return r;}

extern OBJ _AReason_238(OBJ x1) /* `,2'238 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_237,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_237,1))(__AReason_237,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_240(OBJ x1) /* `,2'240 */
{OBJ r;
 CPCLS(__AReason_238,1);
 CPPRD(__AReason_239,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_238,1))(__AReason_238,__ABUILTIN_20);
  ADenotation_4(__AReason_239,x2,r);}
 return r;}

extern OBJ _AReason_243(OBJ x1) /* `,2'243 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_242,1);
 ADenotation_4(__AReason_197,__AReason_242,r);
 return r;}

extern OBJ _AReason_245(OBJ x1) /* `,2'245 */
{OBJ r;
 CPCLS(__AReason_243,1);
 CPPRD(__AReason_244,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_243,1))(__AReason_243,__ABUILTIN_20);
  ADenotation_4(__AReason_244,x2,r);}
 return r;}

extern OBJ _AReason_246(OBJ x1) /* `,2'246 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_245,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_245,1))(__AReason_245,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_248(OBJ x1) /* `,2'248 */
{OBJ r;
 CPCLS(__AReason_246,1);
 CPPRD(__AReason_247,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_246,1))(__AReason_246,__ABUILTIN_20);
  ADenotation_4(__AReason_247,x2,r);}
 return r;}

extern OBJ _AReason_250(OBJ x1) /* `,2'250 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPPRD(__AReason_249,1);
 ADenotation_4(__AReason_197,__AReason_249,r);
 return r;}

extern OBJ _AReason_252(OBJ x1) /* `,2'252 */
{OBJ r;
 CPCLS(__AReason_250,1);
 CPPRD(__AReason_251,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_250,1))(__AReason_250,__ABUILTIN_20);
  ADenotation_4(__AReason_251,x2,r);}
 return r;}

extern OBJ _AReason_253(OBJ x1) /* `,2'253 */
{OBJ r;
 CPPRD(__AReason_197,1);
 CPCLS(__AReason_252,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_252,1))(__AReason_252,__ABUILTIN_20);
  ADenotation_4(__AReason_197,x2,r);}
 return r;}

extern OBJ _AReason_255(OBJ x1) /* `,2'255 */
{OBJ r;
 CPCLS(__AReason_253,1);
 CPPRD(__AReason_254,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AReason_253,1))(__AReason_253,__ABUILTIN_20);
  ADenotation_4(__AReason_254,x2,r);}
 return r;}

extern OBJ _AReason_256(OBJ x1) /* tab'256 */
{OBJ r;
 ADenotation_1(__ANat_8,__AChar_8,r);
 return r;}

extern OBJ _AReason_257(OBJ x1) /* `,1'257 */
{OBJ r;
 ADenotation_1(__ANat_8,__AChar_7,r);
 return r;}

extern OBJ _AReason_258(OBJ x1,OBJ x2,OBJ x3) /* `,1'258 */
{OBJ r;
 {OBJ x4;OBJ x5;OBJ x6;
  ADenotation_15(x1,x4);
  x5=_AReason_182(x4);
  ADenotation_4(x3,x2,x6);
  ADenotation_4(x5,x6,r);}
 return r;}

extern OBJ _AReason_262(OBJ x1) /* error,1'262 */
{OBJ r;
 r=_AReason_182(__ANat_15);
 return r;}




static void ___AReason_162()
{
 if(ISTGPRM(__AReason_69,1)){
  __AReason_162=__ABUILTIN_5;
 }else{
  if(ISTGPRM(__AReason_71,1)){
   __AReason_162=__ABUILTIN_5;
  }else{
   if(ISTGPRM(__AReason_70,1)){
    __AReason_162=__ABUILTIN_3;
   }else{
    __AReason_162=__ABUILTIN_5;}}}}

init_AReason()
{
 static int visited=0; if(visited) return; visited=1;
 init_AQuadruple();
 init_ATable();
 init_AStringMapSeq();
 init_AUniqueTable();
 init_ADeclEntry();
 init_APartNameEntry();
 init_ASeq();
 init_AImpExpEntry();
 init_AOcError();
 init_APragma();
 init_AOcPos();
 init_AAttributes();
 init_ARep();
 init_ADArray();
 init_APartName();
 init_ANatMap();
 init_AFct();
 init_AArray();
 init_AAnalyzedGlobSig();
 init_ACharConv();
 init_ASubstitution();
 init_ADenotation();
 init_ANat();
 init_AStringConv();
 init_AGlobSig();
 init_ABTUnion();
 init_AGlobPragma();
 init_AStringFormat();
 init_AName();
 init_ASeqMap();
 init_AGlobSigImpl();
 init_ASeqReduce();
 init_AObjects();
 init_ASeqCompare();
 init_AImpl();
 init_ADEBUG();
 init_APatterns();
 init_AMySeqFun1();
 init_APair();
 init_ARelCmp();
 init_AMap();
 init_AReal();
 init_AOption();
 init_ASetByBST();
 init_ACom();
 init_ABSTree();
 init_AVoid();
 init_ATree();
 init_AChar();
 init_ALexem();
 init_AString();
 init_ASeqConv();
 init_AOcOptions();
 init_AAbsyFun3();
 init_AStream();
 init_AAnalyzedGlobSigH();
 init_AFile();
 init_AGlobSigToText();
 init_AInt();
 init_AImpDecl4SigAna();
 init_ASet();
 init_AName4SigAna();
 init_ABitset();
 LCLS(1,_AReason_255,__AReason_255);
 DEN("no matching name for %s",__AReason_191);
 LCLS(1,_AReason_223,__AReason_223);
 CLS(3,_AReason_31,__AReason_31);
 CLS(1,_AReason_63,__AReason_63);
 DEN("wrongly typed application",__AReason_254);
 DEN("right: %s",__AReason_222);
 CLS(1,_AReason_62,__AReason_62);
 DEN("no matching sort for %s",__AReason_190);
 LCLS(1,_AReason_253,__AReason_253);
 LCLS(1,_AReason_221,__AReason_221);
 CLS(1,_AReason_93,__AReason_93);
 DEN("no matching free constructor for %s",__AReason_189);
 CLS(1,_AReason_29,__AReason_29);
 CLS(2,_AReason_61,__AReason_61);
 LCLS(1,_AReason_252,__AReason_252);
 DEN("no matching operation for %s",__AReason_188);
 DEN("unexpected type of expression",__AReason_220);
 CLS(1,_AReason_28,__AReason_28);
 CLS(1,_AReason_92,__AReason_92);
 DEN("function: %s",__AReason_251);
 LCLS(1,_AReason_219,__AReason_219);
 CLS(1,_AReason_91,__AReason_91);
 DEN("local name with origin %s",__AReason_187);
 CLS(1,_AReason_27,__AReason_27);
 CLS(1,_AReason_59,__AReason_59);
 LCLS(1,_AReason_250,__AReason_250);
 LCLS(1,_AReason_218,__AReason_218);
 CLS(1,_AReason_58,__AReason_58);
 DEN("operation %s used as sort",__AReason_186);
 DEN("argument: %s",__AReason_249);
 DEN("demanded:  %s",__AReason_217);
 CLS(1,_AReason_89,__AReason_89);
 DEN("sort %s used as operation",__AReason_185);
 LCLS(1,_AReason_248,__AReason_248);
 LCLS(1,_AReason_216,__AReason_216);
 CLS(1,_AReason_88,__AReason_88);
 CLS(2,_AReason_184,__AReason_184);
 CLS(1,_AReason_24,__AReason_24);
 CLS(1,_AReason_56,__AReason_56);
 DEN("incompatible guards",__AReason_247);
 DEN("delivered: %s",__AReason_215);
 CLS(1,_AReason_87,__AReason_87);
 CLS(2,_AReason_183,__AReason_183);
 CLS(1,_AReason_23,__AReason_23);
 CLS(3,_AReason_55,__AReason_55);
 LCLS(1,_AReason_246,__AReason_246);
 LCLS(1,_AReason_214,__AReason_214);
 CLS(2,_AReason_86,__AReason_86);
 CLS(1,_AReason_182,__AReason_182);
 CLS(4,_AReason_22,__AReason_22);
 CLS(1,_AReason_54,__AReason_54);
 LCLS(1,_AReason_245,__AReason_245);
 CLS(2,_AReason_181,__AReason_181);
 DEN("wrongly typed pattern synonym",__AReason_213);
 DEN("first:  %s",__AReason_244);
 CLS(2,_AReason_180,__AReason_180);
 LCLS(1,_AReason_212,__AReason_212);
 CLS(1,_AReason_52,__AReason_52);
 CLS(3,_AReason_84,__AReason_84);
 LCLS(1,_AReason_243,__AReason_243);
 CLS(2,_AReason_179,__AReason_179);
 LCLS(1,_AReason_211,__AReason_211);
 CLS(2,_AReason_51,__AReason_51);
 CLS(1,_AReason_83,__AReason_83);
 DEN("second: %s",__AReason_242);
 CLS(1,_AReason_82,__AReason_82);
 DEN("synonym: %s",__AReason_210);
 CLS(1,_AReason_18,__AReason_18);
 CLS(1,_AReason_50,__AReason_50);
 DEN("wrongly typed condition \'%s\'",__AReason_241);
 LCLS(1,_AReason_209,__AReason_209);
 CLS(1,_AReason_81,__AReason_81);
 CLS(2,_AReason_177,__AReason_177);
 CLS(3,_AReason_17,__AReason_17);
 CLS(1,_AReason_49,__AReason_49);
 LCLS(1,_AReason_240,__AReason_240);
 CLS(2,_AReason_176,__AReason_176);
 DEN("pattern: %s",__AReason_208);
 CLS(1,_AReason_16,__AReason_16);
 CLS(1,_AReason_80,__AReason_80);
 DEN("wrong typing",__AReason_239);
 DEN("local name \'%s\' is used with conflicting types:%s",__AReason_207);
 CLS(1,_AReason_79,__AReason_79);
 CLS(2,_AReason_175,__AReason_175);
 CLS(1,_AReason_15,__AReason_15);
 CLS(1,_AReason_47,__AReason_47);
 LCLS(1,_AReason_238,__AReason_238);
 CLS(4,_AReason_206,__AReason_206);
 CLS(3,_AReason_46,__AReason_46);
 CLS(1,_AReason_78,__AReason_78);
 LCLS(1,_AReason_237,__AReason_237);
 CLS(1,_AReason_77,__AReason_77);
 DEN(" \'%s\'&\'%s\'",__AReason_205);
 CLS(1,_AReason_13,__AReason_13);
 CLS(1,_AReason_45,__AReason_45);
 DEN("expression: %s",__AReason_236);
 CLS(1,_AReason_76,__AReason_76);
 LCLS(1,_AReason_204,__AReason_204);
 CLS(3,_AReason_12,__AReason_12);
 CLS(1,_AReason_44,__AReason_44);
 LCLS(1,_AReason_235,__AReason_235);
 DEN("incompatible else",__AReason_203);
 CLS(1,_AReason_11,__AReason_11);
 CLS(1,_AReason_75,__AReason_75);
 DEN("typing:     %s",__AReason_234);
 CLS(1,_AReason_74,__AReason_74);
 LCLS(1,_AReason_202,__AReason_202);
 CLS(1,_AReason_10,__AReason_10);
 CLS(1,_AReason_42,__AReason_42);
 DEN("-zlazyCands",__AReason_265);
 LCLS(1,_AReason_201,__AReason_201);
 DEN("\'%s\' would be global operation and local name in the same signature",__AReason_233);
 CLS(3,_AReason_41,__AReason_41);
 CLS(1,_AReason_73,__AReason_73);
 DEN("-zeagerCands",__AReason_264);
 DEN("guards: %s",__AReason_200);
 LCLS(1,_AReason_232,__AReason_232);
 CLS(1,_AReason_8,__AReason_8);
 CLS(1,_AReason_72,__AReason_72);
 DEN("-zallReasons",__AReason_263);
 DEN("wrongly typed equation",__AReason_231);
 LCLS(1,_AReason_199,__AReason_199);
 CLS(3,_AReason_7,__AReason_7);
 CLS(1,_AReason_39,__AReason_39);
 LCLS(1,_AReason_262,__AReason_262);
 DEN("else:   %s",__AReason_198);
 LCLS(1,_AReason_230,__AReason_230);
 CLS(1,_AReason_6,__AReason_6);
 DEN("undefined identification\n%s",__AReason_261);
 DEN("wrongly typed implementation",__AReason_229);
 DEN("\n     ",__AReason_197);
 CLS(1,_AReason_5,__AReason_5);
 CLS(1,_AReason_37,__AReason_37);
 DEN("%2n. ",__AReason_260);
 LCLS(1,_AReason_228,__AReason_228);
 CLS(1,_AReason_68,__AReason_68);
 DEN("sort %s used as pattern",__AReason_196);
 CLS(1,_AReason_4,__AReason_4);
 CLS(3,_AReason_36,__AReason_36);
 DEN("%2n. %s ",__AReason_259);
 DEN("%s must have actual parameters",__AReason_195);
 DEN("wrongly typed (in)equality",__AReason_227);
 CLS(1,_AReason_3,__AReason_3);
 CLS(1,_AReason_67,__AReason_67);
 CLS(3,_AReason_258,__AReason_258);
 LCLS(1,_AReason_226,__AReason_226);
 DEN("%s must have actual origin",__AReason_194);
 CLS(3,_AReason_2,__AReason_2);
 CLS(1,_AReason_66,__AReason_66);
 LCLS(1,_AReason_257,__AReason_257);
 DEN("improperly named function definition target or parameter %s",__AReason_193);
 LCLS(1,_AReason_225,__AReason_225);
 LCLS(1,_AReason_256,__AReason_256);
 DEN("sort %s defined by function definition",__AReason_192);
 DEN("left:  %s",__AReason_224);
 CLS(1,_AReason_32,__AReason_32);
 CLS(1,_AReason_64,__AReason_64);
 CPPRD(__AReason_263,1);
 __AReason_69=_ADEBUG_10(__AReason_263);
 CPPRD(__AReason_264,1);
 __AReason_70=_ADEBUG_10(__AReason_264);
 CPPRD(__AReason_265,1);
 __AReason_71=_ADEBUG_10(__AReason_265);
 ___AReason_162();}

