

#include "BUILTIN.h"
extern OBJ __AOcError_10;
extern OBJ __AOcError_12;
extern OBJ __AOcError_15;
extern OBJ _AOcError_17(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_17;
extern OBJ _AOcError_19(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcError_19;
extern OBJ _AOcError_21(OBJ,OBJ);extern OBJ __AOcError_21;
extern OBJ _AOcError_22(OBJ);extern OBJ __AOcError_22;
extern OBJ _AImpl_153(OBJ);extern OBJ __AImpl_153;
extern OBJ _AImpl_154(OBJ);extern OBJ __AImpl_154;
extern OBJ _AAnalyzedGlobSig_18(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_18;
extern OBJ __AAnalyzedGlobSig_22;
extern OBJ __AAnalyzedGlobSig_23;
extern OBJ _AAnalyzedGlobSig_43(OBJ,OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_43;
extern OBJ _AAnalyzedGlobSig_54(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_54;
extern OBJ _AAnalyzedGlobSig_55(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_55;
extern OBJ _AAnalyzedGlobSig_56(OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_56;
extern OBJ _AAnalyzedGlobSig_57(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSig_57;

#include "Array.h"
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;
extern OBJ __AGlobSigImpl_15;
extern OBJ __AGlobSigImpl_16;
extern OBJ __AGlobSigImpl_18;
extern OBJ __AGlobSigImpl_19;
extern OBJ __AGlobSigImpl_21;
extern OBJ __AGlobSigImpl_23;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern TUP2 _ASeqFilter_8(OBJ,OBJ);extern OBJ __ASeqFilter_8;
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern TUP2 _ANameAnalysis_11(OBJ,OBJ);extern OBJ __ANameAnalysis_11;
extern TUP2 _ANameAnalysis_12(OBJ,OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_12;
extern TUP2 _ANameAnalysis_13(OBJ,OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_13;
extern OBJ _ANameAnalysis_14(OBJ,OBJ,OBJ);extern OBJ __ANameAnalysis_14;
extern TUP2 _ANameAnalysis_15(OBJ,OBJ);extern OBJ __ANameAnalysis_15;

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

#include "Char.h"

#include "Denotation.h"
extern OBJ _AAnalyzedGlobSigH_5(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_5;
extern OBJ _AAnalyzedGlobSigH_9(OBJ,OBJ,OBJ);extern OBJ __AAnalyzedGlobSigH_9;

#include "Int.h"

#include "Bitset.h"
extern OBJ _ADataDefAnalysis_1(OBJ);OBJ __ADataDefAnalysis_1; /* target */
extern TUP2 _ADataDefAnalysis_2(OBJ,OBJ);OBJ __ADataDefAnalysis_2; /* analyzeDataDef */
extern TUP2 _ADataDefAnalysis_3(OBJ,OBJ);OBJ __ADataDefAnalysis_3; /* analyzeTypeDef */
OBJ __ADataDefAnalysis_4; /* parameterImplementation */
OBJ __ADataDefAnalysis_5; /* duplicateImplementation */
extern TUP3 _ADataDefAnalysis_9(OBJ,OBJ);OBJ __ADataDefAnalysis_9; /* analyzeSortImpl */
extern TUP3 _ADataDefAnalysis_10(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_10; /* analyzeVariant */
extern TUP3 _ADataDefAnalysis_11(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_11; /* analyzeComp */
extern TUP2 _ADataDefAnalysis_12(OBJ,OBJ);OBJ __ADataDefAnalysis_12; /* includeTypeDef */
extern TUP4 _ADataDefAnalysis_13(OBJ,OBJ);OBJ __ADataDefAnalysis_13; /* includeFreeConstrs */
extern TUP2 _ADataDefAnalysis_14(OBJ,OBJ);OBJ __ADataDefAnalysis_14; /* includeFreeConstr */
extern TUP2 _ADataDefAnalysis_15(OBJ,OBJ);OBJ __ADataDefAnalysis_15; /* includeDataDef */
extern TUP2 _ADataDefAnalysis_16(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_16; /* includeVariants */
extern TUP3 _ADataDefAnalysis_17(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_17; /* includeVariant */
extern TUP3 _ADataDefAnalysis_18(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_18; /* includeComps */
extern OBJ _ADataDefAnalysis_19(OBJ,OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_19; /* checkImpl */
extern OBJ _ADataDefAnalysis_20(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_20; /* uniqueIn */
extern OBJ _ADataDefAnalysis_21(OBJ,OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_21; /* checkEquivalent */
extern OBJ _ADataDefAnalysis_22(OBJ,OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_22; /* checkEquivalent,1 */
OBJ __ADataDefAnalysis_23; /* duplicateSel */
OBJ __ADataDefAnalysis_24; /* duplicateFreeType */
OBJ __ADataDefAnalysis_25; /* parameterAsFreeType */
OBJ __ADataDefAnalysis_26; /* parameterAsConstr */
OBJ __ADataDefAnalysis_27; /* parameterAsDiscr */
OBJ __ADataDefAnalysis_28; /* parameterAsSel */
OBJ __ADataDefAnalysis_29; /* duplFreeConstr */
OBJ __ADataDefAnalysis_30; /* duplFreeDiscr */
extern OBJ _ADataDefAnalysis_31(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_31; /* analyzeVariant'31 */
extern OBJ _ADataDefAnalysis_32(OBJ,OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_32; /* analyzeVariant'32 */
extern OBJ _ADataDefAnalysis_33(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_33; /* analyzeVariant'33 */
extern OBJ _ADataDefAnalysis_34(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_34; /* analyzeSortImpl'34 */
extern OBJ _ADataDefAnalysis_35(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_35; /* includeFreeConstr'35 */
extern OBJ _ADataDefAnalysis_36(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_36; /* uniqueIn'36 */
extern OBJ _ADataDefAnalysis_37(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_37; /* includeComps'37 */
extern OBJ _ADataDefAnalysis_38(OBJ,OBJ,OBJ);OBJ __ADataDefAnalysis_38; /* checkEquivalent,1'38 */
OBJ __ADataDefAnalysis_39; /* checkEquivalent'39 */

extern OBJ _ADataDefAnalysis_1(OBJ x1) /* target */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FLD1(x1,1)=NIL;DSPRD(x1);
  }else{
   COPY(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern TUP2 _ADataDefAnalysis_2(OBJ x1,OBJ x2) /* analyzeDataDef */
{TUP2 r;
 {TUP3 x4;OBJ x7;
  x4=_ADataDefAnalysis_9(x1,x2);
  CPPRD(x4.c3,1);
  x7=_AOcError_22(x4.c3);
  if(ISTGPRM(x7,1)){
   FRPRD(x4.c3,1);
   r=_ADataDefAnalysis_15(x4.c1,x4.c2);
  }else{
   r.c1=x4.c2;r.c2=x4.c3;
   FRPRD(x4.c1,1);}}
 return r;}
extern OBJ _ADataDefAnalysis_2_c(OBJ x1,OBJ x2) /* analyzeDataDef */
{OBJ r;
 {TUP2 t=_ADataDefAnalysis_2(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ADataDefAnalysis_3(OBJ x1,OBJ x2) /* analyzeTypeDef */
{TUP2 r;
 {TUP3 x4;OBJ x7;
  x4=_ADataDefAnalysis_9(x1,x2);
  CPPRD(x4.c3,1);
  x7=_AOcError_22(x4.c3);
  if(ISTGPRM(x7,1)){
   FRPRD(x4.c3,1);
   r=_ADataDefAnalysis_12(x4.c1,x4.c2);
  }else{
   r.c1=x4.c2;r.c2=x4.c3;
   FRPRD(x4.c1,1);}}
 return r;}
extern OBJ _ADataDefAnalysis_3_c(OBJ x1,OBJ x2) /* analyzeTypeDef */
{OBJ r;
 {TUP2 t=_ADataDefAnalysis_3(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP3 _ADataDefAnalysis_9(OBJ x1,OBJ x2) /* analyzeSortImpl */
{TUP3 r;
 CPPRD(__AOcError_15,1);
 COPY(x2,1);
 {OBJ x15;
  PRD1(3,x15);FLD1(x15,1)=__ASeq_6;FLD1(x15,2)=__AOcError_15;FLD1(x15,3)=x2;
  {OBJ x42=FLD1(x1,1);OBJ x43=FLD1(x1,2);OBJ x44=FLD1(x1,3);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    COPY(x42,1);COPY(x43,1);COPY(x44,1);}
   CPCLS(__ADataDefAnalysis_34,1);
   {TUP2 x46;OBJ x48;OBJ x49;
    x46=_ANameAnalysis_11(x42,x2);
    COPY(x46.c1,1);
    x48=(*(OBJ(*)(OBJ,OBJ))METHOD(__ADataDefAnalysis_34,1))(__ADataDefAnalysis_34,x46.c1);
    x49=_ASeqReduce_3(x48,x15,x43);
    {OBJ x50=FLD1(x49,1);OBJ x51=FLD1(x49,2);OBJ x52=FLD1(x49,3);
     if(EXPRD(x49,1)){
      r.c2=x52;
      DSPRDF(x49);
     }else{
      COPY(x50,1);CPPRD(x51,1);COPY(x52,1);
      r.c2=x52;
      FRPRD(x49,1);}
     if(x_x1){
      RSOME(x1,r.c1);FLD1(r.c1,1)=x46.c1;FLD1(r.c1,2)=x50;
     }else{
      FRPRD(x1,1);PRD1(3,r.c1);FLD1(r.c1,1)=x46.c1;FLD1(r.c1,2)=x50;FLD1(r.c1,3)=x44;}
     r.c3=_AOcError_21(x46.c2,x51);}}}}
 return r;}
extern OBJ _ADataDefAnalysis_9_c(OBJ x1,OBJ x2) /* analyzeSortImpl */
{OBJ r;
 {TUP3 t=_ADataDefAnalysis_9(x1,x2);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP3 _ADataDefAnalysis_10(OBJ x1,OBJ x2,OBJ x3) /* analyzeVariant */
{TUP3 r;
 CPPRD(__AOcError_15,1);
 COPY(x3,1);
 {OBJ x24;
  PRD1(3,x24);FLD1(x24,1)=__ASeq_6;FLD1(x24,2)=__AOcError_15;FLD1(x24,3)=x3;
  {OBJ x58=FLD1(x1,1);OBJ x59=FLD1(x1,2);OBJ x60=FLD1(x1,3);OBJ x61=FLD1(x1,4);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
    COPY(x61,1);
   }else{
    COPY(x58,1);COPY(x59,1);COPY(x60,1);COPY(x61,2);}
   COPY(x2,1);
   CPCLS(__ADataDefAnalysis_33,1);
   {OBJ x62;OBJ x63;
    x62=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_33,3))(__ADataDefAnalysis_33,x2,x3,x61);
    x63=_ASeqReduce_3(x62,x24,x60);
    {OBJ x64=FLD1(x63,1);OBJ x65=FLD1(x63,2);OBJ x66=FLD1(x63,3);
     if(EXPRD(x63,1)){
      COPY(x64,1);COPY(x66,2);
      r.c2=x66;
      DSPRDF(x63);
     }else{
      COPY(x64,2);CPPRD(x65,1);COPY(x66,3);
      r.c2=x66;
      FRPRD(x63,1);}
     COPY(x2,1);
     CPCLS(__AImpl_153,1);
     {OBJ x68;OBJ x69;TUP2 x71;
      x68=_ASeqMap_3(__AImpl_153,x64);
      x69=_ANameAnalysis_14(x59,x2,r.c2);
      x71=_ANameAnalysis_13(x58,x2,x68,r.c2);
      if(x_x1){
       RSOME(x1,r.c1);FLD1(r.c1,1)=x71.c1;FLD1(r.c1,2)=x69;FLD1(r.c1,3)=x64;
      }else{
       FRPRD(x1,1);PRD1(4,r.c1);FLD1(r.c1,1)=x71.c1;FLD1(r.c1,2)=x69;FLD1(r.c1,3)=x64;FLD1(r.c1,4)=x61;}
      r.c3=_AOcError_21(x65,x71.c2);}}}}}
 return r;}
extern OBJ _ADataDefAnalysis_10_c(OBJ x1,OBJ x2,OBJ x3) /* analyzeVariant */
{OBJ r;
 {TUP3 t=_ADataDefAnalysis_10(x1,x2,x3);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP3 _ADataDefAnalysis_11(OBJ x1,OBJ x2,OBJ x3) /* analyzeComp */
{TUP3 r;
 {OBJ x23=FLD1(x1,1);OBJ x24=FLD1(x1,2);OBJ x25;
  if(EXPRD(x1,1)){
   {TUP2 x27;
    x27=_ANameAnalysis_15(x24,x3);r.c2=x27.c2;
    COPY(x27.c1,1);
    COPY(r.c2,1);
    RSOME(x1,r.c1);FLD1(r.c1,2)=x27.c1;
    {TUP2 t=_ANameAnalysis_12(x23,x2,x27.c1,r.c2);
     FLD1(r.c1,1)=t.c1;
     r.c3=t.c2;}}
  }else{
   x25=FLD1(x1,3);COPY(x23,1);COPY(x24,1);COPY(x25,1);
   {TUP2 x27;
    x27=_ANameAnalysis_15(x24,x3);r.c2=x27.c2;
    COPY(x27.c1,1);
    COPY(r.c2,1);
    FRPRD(x1,1);PRD1(3,r.c1);FLD1(r.c1,2)=x27.c1;FLD1(r.c1,3)=x25;
    {TUP2 t=_ANameAnalysis_12(x23,x2,x27.c1,r.c2);
     FLD1(r.c1,1)=t.c1;
     r.c3=t.c2;}}}}
 return r;}
extern OBJ _ADataDefAnalysis_11_c(OBJ x1,OBJ x2,OBJ x3) /* analyzeComp */
{OBJ r;
 {TUP3 t=_ADataDefAnalysis_11(x1,x2,x3);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP2 _ADataDefAnalysis_12(OBJ x1,OBJ x2) /* includeTypeDef */
{TUP2 r;
 {OBJ x44=FLD1(x1,1);OBJ x45=FLD1(x1,2);OBJ x46=FLD1(x1,3);
  COPY(x44,2);COPY(x45,1);COPY(x46,1);
  COPY(x2,1);
  CPCLS(__AGlobSigImpl_23,1);
  {OBJ x47;OBJ x48;
   x47=_AAnalyzedGlobSig_54(x2,x44);
   x48=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_23,1))(__AGlobSigImpl_23,x47);
   if(ISTGPRM(x48,1)){
    COPY(x2,1);
    COPY(x44,1);
    CPCLS(__AGlobSigImpl_21,1);
    {OBJ x49;OBJ x50;
     x49=_AAnalyzedGlobSig_56(x2,x44);
     x50=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_21,1))(__AGlobSigImpl_21,x49);
     if(ISTGPRM(x50,1)){
      if(EXPRD(x1,1)){
       DSPRD(x1);
      }else{
       DCPRD(x1,1);}
      FREE(x45,1);
      COPY(x2,1);
      CPPRD(__ADataDefAnalysis_25,1);
      {OBJ x51;
       x51=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x44);
       r.c2=_AOcError_17(__AOcError_12,__ADataDefAnalysis_25,x51,x46);
       r.c1=x2;}
     }else{
      FREE(x46,1);
      {OBJ x53;OBJ x54;TUP4 x58;
       PRD(1,3,x53);FLD(x53,1)=x1;
       x54=_AAnalyzedGlobSig_55(x2,x44,x53);
       x58=_ADataDefAnalysis_13(x45,x54);r.c1=x58.c1;r.c2=x58.c2;
       FREE(x58.c3,1);
       FREE(x58.c4,1);}}}
   }else{
    if(EXPRD(x1,1)){
     DSPRD(x1);
    }else{
     DCPRD(x1,1);}
    FREE(x45,1);
    COPY(x2,1);
    CPPRD(__ADataDefAnalysis_24,1);
    {OBJ x60;
     x60=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x44);
     r.c2=_AOcError_17(__AOcError_12,__ADataDefAnalysis_24,x60,x46);
     r.c1=x2;}}}}
 return r;}
extern OBJ _ADataDefAnalysis_12_c(OBJ x1,OBJ x2) /* includeTypeDef */
{OBJ r;
 {TUP2 t=_ADataDefAnalysis_12(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP4 _ADataDefAnalysis_13(OBJ x1,OBJ x2) /* includeFreeConstrs */
{TUP4 r;
 if(ISPRM(x1)){
  CPPRD(__AOcError_15,1);
  r.c1=x2;r.c2=__AOcError_15;r.c3=__ASeq_6;r.c4=__ASeq_6;
 }else{
  {OBJ x81=FLD1(x1,1);OBJ x82=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
   if(x_x1){
   }else{
    CPPRD(x81,1);COPY(x82,1);}
   {OBJ x85=FLD1(x81,1);OBJ x86=FLD1(x81,2);OBJ x88=FLD1(x81,4);
    COPY(x85,3);COPY(x86,3);COPY(x88,1);
    COPY(x2,3);
    {TUP4 x89;OBJ x94;OBJ x95;OBJ x96;OBJ x97;OBJ x99;OBJ x101;OBJ x102;OBJ x103;OBJ x104;OBJ x105;OBJ x106;
     x89=_ADataDefAnalysis_13(x82,x2);
     COPY(x89.c3,1);
     COPY(x89.c4,1);
     x94=_ADataDefAnalysis_20(x2,x86,x89.c4);
     x95=_ADataDefAnalysis_20(x2,x85,x89.c3);
     if(x_x1){
      RSOME(x1,x96);FLD1(x96,1)=x85;FLD1(x96,2)=x89.c3;
     }else{
      FRPRD(x1,1);PRD1(2,x96);FLD1(x96,1)=x85;FLD1(x96,2)=x89.c3;}
     PRD1(2,x97);FLD1(x97,1)=x86;FLD1(x97,2)=x89.c4;
     if(ISTGPRM(x95,1)){
      COPY(x2,1);
      COPY(x88,1);
      CPPRD(__ADataDefAnalysis_29,1);
      {OBJ x98;
       x98=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x85);
       x99=_AOcError_17(__AOcError_12,__ADataDefAnalysis_29,x98,x88);}
     }else{
      FREE(x85,1);
      CPPRD(__AOcError_15,1);
      x99=__AOcError_15;}
     if(ISTGPRM(x94,1)){
      r.c3=x96;r.c4=x97;
      CPPRD(__ADataDefAnalysis_30,1);
      {OBJ x100;
       x100=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x86);
       x101=_AOcError_17(__AOcError_12,__ADataDefAnalysis_30,x100,x88);}
     }else{
      r.c3=x96;r.c4=x97;
      FREE(x2,1);
      FREE(x86,1);
      FREE(x88,1);
      CPPRD(__AOcError_15,1);
      x101=__AOcError_15;}
     {TUP2 t=_ADataDefAnalysis_14(x81,x89.c1);
      r.c1=t.c1;
      x103=t.c2;}
     x104=_AOcError_21(x103,x89.c2);
     x105=_AOcError_21(x101,x104);
     r.c2=_AOcError_21(x99,x105);}}}}
 return r;}
extern OBJ _ADataDefAnalysis_13_c(OBJ x1,OBJ x2) /* includeFreeConstrs */
{OBJ r;
 {TUP4 t=_ADataDefAnalysis_13(x1,x2);
  PRD1(4,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;}
 return r;}

extern TUP2 _ADataDefAnalysis_14(OBJ x1,OBJ x2) /* includeFreeConstr */
{TUP2 r;
 {OBJ x37=FLD1(x1,1);OBJ x38=FLD1(x1,2);OBJ x39=FLD1(x1,3);OBJ x40=FLD1(x1,4);
  if(EXPRD(x1,1)){
   COPY(x37,2);COPY(x38,2);
   DSPRDF(x1);
  }else{
   COPY(x37,3);COPY(x38,3);COPY(x39,1);COPY(x40,1);
   FRPRD(x1,1);}
  COPY(x2,3);
  CPCLS(__AImpl_154,1);
  CPCLS(__AGlobSigImpl_21,2);
  {OBJ x41;OBJ x42;OBJ x43;OBJ x44;OBJ x45;OBJ x46;OBJ x49;OBJ x51;OBJ x47;OBJ x52;OBJ x53;OBJ x54;
   x41=_ASeqMap_3(__AImpl_154,x39);
   COPY(x41,1);
   x42=_AAnalyzedGlobSig_56(x2,x37);
   x43=_AAnalyzedGlobSig_56(x2,x38);
   x44=_AAnalyzedGlobSig_43(x2,x37,x38,x41);
   x45=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_21,1))(__AGlobSigImpl_21,x42);
   x46=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_21,1))(__AGlobSigImpl_21,x43);
   if(ISTGPRM(x46,1)){
    COPY(x2,1);
    COPY(x40,1);
    CPPRD(__ADataDefAnalysis_27,1);
    {OBJ x48;
     x48=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x38);
     x49=_AOcError_17(__AOcError_12,__ADataDefAnalysis_27,x48,x40);}
   }else{
    FREE(x38,1);
    CPPRD(__AOcError_15,1);
    x49=__AOcError_15;}
   if(ISTGPRM(x45,1)){
    r.c1=x44;
    COPY(x2,1);
    COPY(x40,1);
    CPPRD(__ADataDefAnalysis_26,1);
    CPCLS(__ADataDefAnalysis_35,1);
    CPCLS(__AOcError_21,1);
    {OBJ x50;
     x50=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x37);
     x51=_AOcError_17(__AOcError_12,__ADataDefAnalysis_26,x50,x40);}
   }else{
    r.c1=x44;
    FREE(x37,1);
    CPCLS(__ADataDefAnalysis_35,1);
    CPPRD(__AOcError_15,1);
    CPCLS(__AOcError_21,1);
    x51=__AOcError_15;}
   x47=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_35,2))(__ADataDefAnalysis_35,x2,x40);
   x52=_ASeqMap_3(x47,x41);
   x53=_AOcError_21(x51,x49);
   r.c2=_ASeqReduce_4(__AOcError_21,x53,x52);}}
 return r;}
extern OBJ _ADataDefAnalysis_14_c(OBJ x1,OBJ x2) /* includeFreeConstr */
{OBJ r;
 {TUP2 t=_ADataDefAnalysis_14(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ADataDefAnalysis_15(OBJ x1,OBJ x2) /* includeDataDef */
{TUP2 r;
 {OBJ x43=FLD1(x1,1);OBJ x44=FLD1(x1,2);OBJ x45=FLD1(x1,3);
  COPY(x43,2);COPY(x44,1);COPY(x45,1);
  COPY(x2,1);
  CPCLS(__AGlobSigImpl_15,1);
  {OBJ x46;OBJ x47;
   x46=_AAnalyzedGlobSig_56(x2,x43);
   COPY(x46,1);
   x47=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_15,1))(__AGlobSigImpl_15,x46);
   if(ISTGPRM(x47,1)){
    if(EXPRD(x1,1)){
     DSPRD(x1);
    }else{
     DCPRD(x1,1);}
    FREE(x44,1);
    COPY(x2,1);
    CPCLS(__AGlobSigImpl_16,1);
    {OBJ x48;OBJ x49;
     x48=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x43);
     x49=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_16,1))(__AGlobSigImpl_16,x46);
     {OBJ x52=FLD1(x49,3);
      if(EXPRD(x49,1)){
       FLD1(x49,3)=NIL;DSPRD(x49);
      }else{
       COPY(x52,1);
       FRPRD(x49,1);}
      CPPRD(__ADataDefAnalysis_5,1);
      {OBJ x53;
       x53=_AOcPos_34(x52);
       r.c2=_AOcError_19(__AOcError_12,__ADataDefAnalysis_5,x48,x53,x45);
       r.c1=x2;}}}
   }else{
    COPY(x46,1);
    CPCLS(__AGlobSigImpl_21,1);
    {OBJ x55;
     x55=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_21,1))(__AGlobSigImpl_21,x46);
     if(ISTGPRM(x55,1)){
      if(EXPRD(x1,1)){
       DSPRD(x1);
      }else{
       DCPRD(x1,1);}
      FREE(x44,1);
      FREE(x46,1);
      COPY(x2,1);
      CPPRD(__ADataDefAnalysis_4,1);
      {OBJ x56;
       x56=_AAnalyzedGlobSigH_9(x2,__AAnalyzedGlobSig_23,x43);
       r.c2=_AOcError_17(__AOcError_12,__ADataDefAnalysis_4,x56,x45);
       r.c1=x2;}
     }else{
      FREE(x45,1);
      CPCLS(__AGlobSigImpl_23,1);
      {OBJ x58;
       x58=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_23,1))(__AGlobSigImpl_23,x46);
       if(ISTGPRM(x58,1)){
	CPPRD(x1,1);
	COPY(x2,2);
	COPY(x43,2);
	CPCLS(__AGlobSigImpl_23,1);
	{OBJ x59;OBJ x60;OBJ x61;OBJ x62;TUP2 x64;
	 PRD(1,3,x59);FLD(x59,1)=x1;
	 x60=_AAnalyzedGlobSig_54(x2,x43);
	 COPY(x60,1);
	 x61=_AAnalyzedGlobSig_57(x2,x43,x59);
	 x62=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_23,1))(__AGlobSigImpl_23,x60);
	 x64=_ADataDefAnalysis_16(x44,x61,__ASeq_6);
	 if(ISTGPRM(x62,1)){
	  FREE(x2,1);
	  FREE(x43,1);
	  FREE(x60,1);
	  {TUP2 x68;
	   x68=_ADataDefAnalysis_12(x1,x64.c1);r.c1=x68.c1;
	   r.c2=_AOcError_21(x64.c2,x68.c2);}
	 }else{
	  CPPRD(x64.c2,1);
	  {OBJ x70;OBJ x72;
	   x70=_AOcError_22(x64.c2);
	   if(ISTGPRM(x70,1)){
	    r.c1=x64.c1;
	    FRPRD(x64.c2,1);
	    CPCLS(__AGlobSigImpl_16,1);
	    {OBJ x71;
	     x71=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_16,1))(__AGlobSigImpl_16,x60);
	     r.c2=_ADataDefAnalysis_21(x2,x43,x1,x71);}
	   }else{
	    r.c1=x64.c1;r.c2=x64.c2;
	    if(EXPRD(x1,1)){
	     DSPRD(x1);
	    }else{
	     DCPRD(x1,1);}
	    FREE(x2,1);
	    FREE(x43,1);
	    FREE(x60,1);}}}}
       }else{
	HLT("DataDefAnalysis at <170,9-181,33> : missing else in includeDataDef\'DataDefAnalysis:sortImpl**globSig->globSig**err");}}}}}}}
 return r;}
extern OBJ _ADataDefAnalysis_15_c(OBJ x1,OBJ x2) /* includeDataDef */
{OBJ r;
 {TUP2 t=_ADataDefAnalysis_15(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _ADataDefAnalysis_16(OBJ x1,OBJ x2,OBJ x3) /* includeVariants */
{TUP2 r;
 if(ISPRM(x1)){
  FREE(x3,1);
  CPPRD(__AOcError_15,1);
  r.c1=x2;r.c2=__AOcError_15;
 }else{
  {OBJ x30=FLD1(x1,1);OBJ x31=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x30,1);COPY(x31,1);
    FRPRD(x1,1);}
   COPY(x3,1);
   {TUP3 x34;OBJ x37;TUP2 x40;
    x34=_ADataDefAnalysis_17(x30,x2,x3);
    x37=_ASeq_26(x3,x34.c3);
    x40=_ADataDefAnalysis_16(x31,x34.c1,x37);r.c1=x40.c1;
    r.c2=_AOcError_21(x34.c2,x40.c2);}}}
 return r;}
extern OBJ _ADataDefAnalysis_16_c(OBJ x1,OBJ x2,OBJ x3) /* includeVariants */
{OBJ r;
 {TUP2 t=_ADataDefAnalysis_16(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP3 _ADataDefAnalysis_17(OBJ x1,OBJ x2,OBJ x3) /* includeVariant */
{TUP3 r;
 {OBJ x37=FLD1(x1,1);OBJ x38=FLD1(x1,2);OBJ x39=FLD1(x1,3);OBJ x40=FLD1(x1,4);
  if(EXPRD(x1,1)){
   COPY(x37,2);COPY(x38,2);COPY(x40,2);
   DSPRDF(x1);
  }else{
   COPY(x37,3);COPY(x38,3);COPY(x39,1);COPY(x40,3);
   FRPRD(x1,1);}
  COPY(x2,4);
  {OBJ x41;OBJ x42;OBJ x43;OBJ x44;OBJ x45;OBJ x46;OBJ x47;OBJ x48;TUP3 x51;
   x41=_AAnalyzedGlobSig_56(x2,x37);
   x42=_AAnalyzedGlobSig_56(x2,x38);
   PRD(1,2,x43);FLD(x43,1)=x40;
   COPY(x43,1);
   x44=_ADataDefAnalysis_19(x2,x37,x41,x40);
   x45=_ADataDefAnalysis_19(x2,x38,x42,x40);
   x46=_AAnalyzedGlobSig_57(x2,x37,x43);
   x47=_AOcError_21(x44,x45);
   x48=_AAnalyzedGlobSig_57(x46,x38,x43);
   x51=_ADataDefAnalysis_18(x39,x48,x3);r.c1=x51.c1;r.c3=x51.c3;
   r.c2=_AOcError_21(x47,x51.c2);}}
 return r;}
extern OBJ _ADataDefAnalysis_17_c(OBJ x1,OBJ x2,OBJ x3) /* includeVariant */
{OBJ r;
 {TUP3 t=_ADataDefAnalysis_17(x1,x2,x3);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern TUP3 _ADataDefAnalysis_18(register OBJ x1,register OBJ x2,register OBJ x3) /* includeComps */
{TUP3 r;
 for(;;){
  if(ISPRM(x1)){
   FREE(x3,1);
   CPPRD(__AOcError_15,1);
   r.c1=x2;r.c2=__AOcError_15;r.c3=__ASeq_6;
  }else{
   {OBJ x60=FLD1(x1,1);OBJ x61=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
    if(x_x1){
    }else{
     CPPRD(x60,1);COPY(x61,1);}
    {OBJ x63=FLD1(x60,1);OBJ x65=FLD1(x60,3);
     if(EXPRD(x60,1)){
      COPY(x63,1);
      FREE(FLD1(x60,2),1);DSPRDF(x60);
     }else{
      COPY(x63,2);COPY(x65,1);
      FRPRD(x60,1);}
     COPY(x2,1);
     COPY(x3,1);
     CPCLS(__ADataDefAnalysis_37,1);
     {OBJ x66;OBJ x67;
      x66=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_37,2))(__ADataDefAnalysis_37,x2,x63);
      x67=_ASeq_40(x66,x3);
      if(ISTGPRM(x67,1)){
       if(x_x1){
	DSPRDF(x1);
       }else{
	FRPRD(x1,1);}
       FREE(x63,1);
       FREE(x65,1);
       x1=x61;continue;
      }else{
       COPY(x2,2);
       COPY(x63,3);
       COPY(x65,1);
       {OBJ x68;OBJ x69;OBJ x70;OBJ x71;TUP3 x74;
	PRD(1,2,x68);FLD(x68,1)=x65;
	x69=_AAnalyzedGlobSig_56(x2,x63);
	x70=_AAnalyzedGlobSig_57(x2,x63,x68);
	x71=_ADataDefAnalysis_19(x2,x63,x69,x65);
	x74=_ADataDefAnalysis_18(x61,x70,x3);r.c1=x74.c1;
	if(x_x1){
	 RSOME(x1,r.c3);FLD1(r.c3,1)=x63;FLD1(r.c3,2)=x74.c3;
	}else{
	 FRPRD(x1,1);PRD1(2,r.c3);FLD1(r.c3,1)=x63;FLD1(r.c3,2)=x74.c3;}
	r.c2=_AOcError_21(x71,x74.c2);}}}}}}
  break;}
 return r;}
extern OBJ _ADataDefAnalysis_18_c(OBJ x1,OBJ x2,OBJ x3) /* includeComps */
{OBJ r;
 {TUP3 t=_ADataDefAnalysis_18(x1,x2,x3);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern OBJ _ADataDefAnalysis_19(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* checkImpl */
{OBJ r;
 CPCLS(__AGlobSigImpl_21,1);
 COPY(x3,1);
 {OBJ x5;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_21,1))(__AGlobSigImpl_21,x3);
  if(ISTGPRM(x5,1)){
   FREE(x3,1);
   CPPRD(__ADataDefAnalysis_4,1);
   {OBJ x6;
    x6=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_23,x2);
    r=_AOcError_17(__AOcError_12,__ADataDefAnalysis_4,x6,x4);}
  }else{
   COPY(x3,1);
   CPCLS(__AGlobSigImpl_18,1);
   {OBJ x7;
    x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_18,1))(__AGlobSigImpl_18,x3);
    if(ISTGPRM(x7,1)){
     CPPRD(__ADataDefAnalysis_5,1);
     CPCLS(__AGlobSigImpl_19,1);
     {OBJ x8;OBJ x9;OBJ x10;
      x8=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_23,x2);
      x9=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_19,1))(__AGlobSigImpl_19,x3);
      x10=_AOcPos_34(x9);
      r=_AOcError_19(__AOcError_12,__ADataDefAnalysis_5,x8,x10,x4);}
    }else{
     FREE(x1,1);
     FREE(x2,1);
     FREE(x4,1);
     CPCLS(__AGlobSigImpl_23,1);
     {OBJ x11;
      x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_23,1))(__AGlobSigImpl_23,x3);
      if(ISTGPRM(x11,1)){
       CPPRD(__AOcError_15,1);
       r=__AOcError_15;
      }else{
       HLT("DataDefAnalysis at <218,5-13> : missing else in checkImpl\'DataDefAnalysis:globSig**name**impl**pos->err");}}}}}}
 return r;}

extern OBJ _ADataDefAnalysis_20(OBJ x1,OBJ x2,OBJ x3) /* uniqueIn */
{OBJ r;
 CPCLS(__ADataDefAnalysis_36,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_36,2))(__ADataDefAnalysis_36,x1,x2);
  x5=_ASeqFilter_2(x4,x3);
  x6=_ASeq_52(x5,__ANat_5);
  ANat_76(x6,__ANat_8,r);}
 return r;}

extern OBJ _ADataDefAnalysis_21(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* checkEquivalent */
{OBJ r;
 COPY(x1,1);
 {OBJ x29;
  x29=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_22,x2);
  {OBJ x32=FLD1(x3,2);OBJ x33=FLD1(x3,3);
   if(EXPRD(x3,1)){
    FREE(FLD1(x3,1),1);DSPRDF(x3);
   }else{
    COPY(x32,1);COPY(x33,1);
    FRPRD(x3,1);}
   {OBJ x48=FLD1(x4,2);
    if(EXPRD(x4,1)){
     FLD1(x4,2)=NIL;DSPRD(x4);
    }else{
     COPY(x48,1);
     FRPRD(x4,1);}
    CPPRD(__ADataDefAnalysis_39,1);
    {OBJ x50;
     x50=_AOcError_17(__AOcError_10,__ADataDefAnalysis_39,x29,x33);
     r=_ADataDefAnalysis_22(x1,x32,x48,x50);}}}}
 return r;}

extern OBJ _ADataDefAnalysis_22(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* checkEquivalent,1 */
{OBJ r;
 for(;;){
  if(ISPRM(x2)){
   FREE(x1,1);
   if(ISPRM(x3)){
    FRPRD(x4,1);
    CPPRD(__AOcError_15,1);
    r=__AOcError_15;
   }else{
    if(EXPRD(x3,1)){
     DSPRD(x3);
    }else{
     DCPRD(x3,1);}
    r=x4;}
  }else{
   {OBJ x190=FLD1(x2,1);OBJ x191=FLD1(x2,2);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     CPPRD(x190,1);COPY(x191,1);
     FRPRD(x2,1);}
    if(ISPRM(x3)){
     FREE(x1,1);
     FRPRD(x190,1);
     FREE(x191,1);
     r=x4;
    }else{
     COPY(x1,1);
     CPPRD(x190,1);
     CPCLS(__ADataDefAnalysis_38,1);
     {OBJ x195;TUP2 x197;
      x195=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_38,2))(__ADataDefAnalysis_38,x1,x190);
      x197=_ASeqFilter_8(x195,x3);
      if(ISPRM(x197.c2)){
       FREE(x1,1);
       FRPRD(x190,1);
       FREE(x191,1);
       FREE(x197.c1,1);
       r=x4;
      }else{
       {OBJ x199=FLD1(x197.c2,1);OBJ x200=FLD1(x197.c2,2);
	if(EXPRD(x197.c2,1)){
	 DSPRDF(x197.c2);
	}else{
	 CPPRD(x199,1);COPY(x200,1);
	 FRPRD(x197.c2,1);}
	COPY(x1,1);
	CPCLS(__AAnalyzedGlobSig_18,1);
	{OBJ x201;
	 x201=(*(OBJ(*)(OBJ,OBJ))METHOD(__AAnalyzedGlobSig_18,1))(__AAnalyzedGlobSig_18,x1);
	 {OBJ x203=FLD1(x190,2);OBJ x204=FLD1(x190,3);
	  if(EXPRD(x190,1)){
	   FLD1(x190,2)=NIL;FLD1(x190,3)=NIL;DSPRD(x190);
	  }else{
	   COPY(x203,1);COPY(x204,1);
	   FRPRD(x190,1);}
	  {OBJ x207=FLD1(x199,2);OBJ x208=FLD1(x199,3);
	   if(EXPRD(x199,1)){
	    FLD1(x199,2)=NIL;FLD1(x199,3)=NIL;DSPRD(x199);
	   }else{
	    COPY(x207,1);COPY(x208,1);
	    FRPRD(x199,1);}
	   COPY(x1,1);
	   CPCLS(__ABUILTIN_9,1);
	   CPCLS(__AImpl_154,2);
	   {OBJ x210;OBJ x211;OBJ x212;OBJ x213;OBJ x214;
	    x210=_AAnalyzedGlobSigH_5(x1,x203,x207);
	    x211=_ASeqMap_3(__AImpl_154,x204);
	    x212=_ASeqMap_3(__AImpl_154,x208);
	    x213=_ASeqZip_4(x201,x211,x212);
	    x214=_ASeqReduce_4(__ABUILTIN_9,x210,x213);
	    if(ISTGPRM(x214,1)){
	     {OBJ x215;
	      x215=_ASeq_26(x197.c1,x200);
	      x2=x191;x3=x215;continue;}
	    }else{
	     FREE(x1,1);
	     FREE(x191,1);
	     FREE(x197.c1,1);
	     FREE(x200,1);
	     r=x4;}}}}}}}}}}}
  break;}
 return r;}

extern OBJ _ADataDefAnalysis_31(OBJ x1,OBJ x2,OBJ x3) /* analyzeVariant'31 */
{OBJ r;
 {OBJ x12=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FLD1(x2,1)=NIL;DSPRD(x2);
  }else{
   COPY(x12,1);
   FRPRD(x2,1);}
  {OBJ x15=FLD1(x3,1);
   if(EXPRD(x3,1)){
    FLD1(x3,1)=NIL;DSPRD(x3);
   }else{
    COPY(x15,1);
    FRPRD(x3,1);}
   {OBJ x18;
    x18=x15;
    r=_AAnalyzedGlobSigH_5(x1,x12,x18);}}}
 return r;}

extern OBJ _ADataDefAnalysis_32(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* analyzeVariant'32 */
{OBJ r;
 CPCLS(__ADataDefAnalysis_31,1);
 COPY(x1,1);
 CPPRD(x3,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_31,2))(__ADataDefAnalysis_31,x1,x3);
  x6=_ASeqFilter_2(x5,x4);
  x7=_ASeq_52(x6,__ANat_5);
  ANat_76(x7,__ANat_8,x8);
  if(ISTGPRM(x8,1)){
   {OBJ x9=FLD1(x3,1);
    if(EXPRD(x3,1)){
     FLD1(x3,1)=NIL;DSPRD(x3);
    }else{
     COPY(x9,1);
     FRPRD(x3,1);}
    CPPRD(__ADataDefAnalysis_23,1);
    {OBJ x12;OBJ x13;
     x12=x9;
     x13=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_23,x12);
     r=_AOcError_17(__AOcError_12,__ADataDefAnalysis_23,x13,x2);}}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   FRPRD(x3,1);
   CPPRD(__AOcError_15,1);
   r=__AOcError_15;}}
 return r;}

extern OBJ _ADataDefAnalysis_33(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* analyzeVariant'33 */
{OBJ r;
 {OBJ x27=FLD1(x5,1);OBJ x28=FLD1(x5,2);OBJ x29=FLD1(x5,3);
  if(EXPRD(x5,1)){
   COPY(x27,1);
   CPCLS(__ADataDefAnalysis_32,1);
   {OBJ x31;TUP3 x32;OBJ x35;OBJ x36;OBJ x37;
    x31=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_32,2))(__ADataDefAnalysis_32,x2,x3);
    x32=_ADataDefAnalysis_11(x4,x1,x29);
    CPPRD(x32.c1,1);
    PRD1(2,x35);FLD1(x35,1)=x32.c1;FLD1(x35,2)=x27;
    x36=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x31,2))(x31,x32.c1,x27);
    x37=_AOcError_21(x36,x28);
    RSOME(x5,r);FLD1(r,1)=x35;FLD1(r,3)=x32.c2;
    FLD1(r,2)=_AOcError_21(x32.c3,x37);}
  }else{
   COPY(x27,2);CPPRD(x28,1);COPY(x29,1);
   CPCLS(__ADataDefAnalysis_32,1);
   {OBJ x31;TUP3 x32;OBJ x35;OBJ x36;OBJ x37;
    x31=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ADataDefAnalysis_32,2))(__ADataDefAnalysis_32,x2,x3);
    x32=_ADataDefAnalysis_11(x4,x1,x29);
    CPPRD(x32.c1,1);
    PRD1(2,x35);FLD1(x35,1)=x32.c1;FLD1(x35,2)=x27;
    x36=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(x31,2))(x31,x32.c1,x27);
    x37=_AOcError_21(x36,x28);
    FRPRD(x5,1);PRD1(3,r);FLD1(r,1)=x35;FLD1(r,3)=x32.c2;
    FLD1(r,2)=_AOcError_21(x32.c3,x37);}}}
 return r;}

extern OBJ _ADataDefAnalysis_34(OBJ x1,OBJ x2,OBJ x3) /* analyzeSortImpl'34 */
{OBJ r;
 {OBJ x22=FLD1(x3,1);OBJ x23=FLD1(x3,2);OBJ x24=FLD1(x3,3);
  if(EXPRD(x3,1)){
   {TUP3 x26;OBJ x29;OBJ x30;
    x26=_ADataDefAnalysis_10(x2,x1,x24);
    x29=_AOcError_21(x26.c3,x23);
    PRD1(2,x30);FLD1(x30,1)=x26.c1;FLD1(x30,2)=x22;
    RSOME(x3,r);FLD1(r,1)=x30;FLD1(r,2)=x29;FLD1(r,3)=x26.c2;}
  }else{
   COPY(x22,1);CPPRD(x23,1);COPY(x24,1);
   {TUP3 x26;OBJ x29;OBJ x30;
    x26=_ADataDefAnalysis_10(x2,x1,x24);
    x29=_AOcError_21(x26.c3,x23);
    PRD1(2,x30);FLD1(x30,1)=x26.c1;FLD1(x30,2)=x22;
    FRPRD(x3,1);PRD1(3,r);FLD1(r,1)=x30;FLD1(r,2)=x29;FLD1(r,3)=x26.c2;}}}
 return r;}

extern OBJ _ADataDefAnalysis_35(OBJ x1,OBJ x2,OBJ x3) /* includeFreeConstr'35 */
{OBJ r;
 CPCLS(__AGlobSigImpl_21,1);
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x4;OBJ x5;
  x4=_AAnalyzedGlobSig_56(x1,x3);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigImpl_21,1))(__AGlobSigImpl_21,x4);
  if(ISTGPRM(x5,1)){
   CPPRD(__ADataDefAnalysis_28,1);
   {OBJ x6;
    x6=_AAnalyzedGlobSigH_9(x1,__AAnalyzedGlobSig_23,x3);
    r=_AOcError_17(__AOcError_12,__ADataDefAnalysis_28,x6,x2);}
  }else{
   FREE(x1,1);
   FREE(x2,1);
   FREE(x3,1);
   CPPRD(__AOcError_15,1);
   r=__AOcError_15;}}
 return r;}

extern OBJ _ADataDefAnalysis_36(OBJ x1,OBJ x2,OBJ x3) /* uniqueIn'36 */
{OBJ r;
 r=_AAnalyzedGlobSigH_5(x1,x2,x3);
 return r;}

extern OBJ _ADataDefAnalysis_37(OBJ x1,OBJ x2,OBJ x3) /* includeComps'37 */
{OBJ r;
 r=_AAnalyzedGlobSigH_5(x1,x3,x2);
 return r;}

extern OBJ _ADataDefAnalysis_38(OBJ x1,OBJ x2,OBJ x3) /* checkEquivalent,1'38 */
{OBJ r;
 {OBJ x4=FLD1(x3,1);
  if(EXPRD(x3,1)){
   FLD1(x3,1)=NIL;DSPRD(x3);
  }else{
   COPY(x4,1);
   FRPRD(x3,1);}
  {OBJ x8;
   x8=x4;
   {OBJ x25=FLD1(x2,1);
    if(EXPRD(x2,1)){
     FLD1(x2,1)=NIL;DSPRD(x2);
    }else{
     COPY(x25,1);
     FRPRD(x2,1);}
    {OBJ x29;
     x29=_AAnalyzedGlobSigH_5(x1,x25,x8);
     if(ISTGPRM(x29,1)){
      r=__ABUILTIN_3;
     }else{
      r=__ABUILTIN_5;}}}}}
 return r;}

init_ADataDefAnalysis()
{
 static int visited=0; if(visited) return; visited=1;
 init_ALexem();
 init_AUniqueTable();
 init_ADeclEntry();
 init_APartNameEntry();
 init_AImpExpEntry();
 init_AOcError();
 init_APragma();
 init_APartName();
 init_AAttributes();
 init_AImpl();
 init_ADArray();
 init_AAnalyzedGlobSig();
 init_ANatMap();
 init_AGlobSig();
 init_AArray();
 init_AGlobPragma();
 init_ATriple();
 init_AName();
 init_ASeqReduce();
 init_AGlobSigImpl();
 init_ASeqMap();
 init_AObjects();
 init_ASeqFilter();
 init_APatterns();
 init_ASeqZip();
 init_APair();
 init_ANameAnalysis();
 init_AMap();
 init_ARepSet();
 init_ANat();
 init_AKnowledge();
 init_ARep();
 init_ACandidates();
 init_AFct();
 init_AReason();
 init_AOption();
 init_ASubstitution();
 init_AOcPos();
 init_APrioTab();
 init_ASeq();
 init_ASetByBST();
 init_ACom();
 init_ABSTree();
 init_AVoid();
 init_ATree();
 init_AChar();
 init_ASeqConv();
 init_AString();
 init_ADenotation();
 init_AOcOptions();
 init_AAbsyFun3();
 init_AStream();
 init_AAnalyzedGlobSigH();
 init_AFile();
 init_AGlobSigToText();
 init_AInt();
 init_AImpDecl4SigAna();
 init_ASet();
 init_AMySeqFun1();
 init_ABitset();
 init_AName4SigAna();
 init_ATable();
 CLS(3,_ADataDefAnalysis_31,__ADataDefAnalysis_31);
 DEN("duplicate discriminator %s in free type",__ADataDefAnalysis_30);
 DEN("duplicate constructor %s in free type",__ADataDefAnalysis_29);
 DEN("parameter %s as selector in free type",__ADataDefAnalysis_28);
 DEN("parameter %s as discriminator in free type",__ADataDefAnalysis_27);
 DEN("parameter %s as constructor in free type",__ADataDefAnalysis_26);
 DEN("parameter as free type %s",__ADataDefAnalysis_25);
 DEN("duplicate free type for %s",__ADataDefAnalysis_24);
 DEN("duplicate selector definition of %s",__ADataDefAnalysis_23);
 CLS(4,_ADataDefAnalysis_22,__ADataDefAnalysis_22);
 CLS(4,_ADataDefAnalysis_21,__ADataDefAnalysis_21);
 CLS(3,_ADataDefAnalysis_20,__ADataDefAnalysis_20);
 CLS(4,_ADataDefAnalysis_19,__ADataDefAnalysis_19);
 CLS(3,_ADataDefAnalysis_18_c,__ADataDefAnalysis_18);
 CLS(3,_ADataDefAnalysis_17_c,__ADataDefAnalysis_17);
 CLS(3,_ADataDefAnalysis_16_c,__ADataDefAnalysis_16);
 CLS(2,_ADataDefAnalysis_15_c,__ADataDefAnalysis_15);
 CLS(2,_ADataDefAnalysis_14_c,__ADataDefAnalysis_14);
 CLS(2,_ADataDefAnalysis_13_c,__ADataDefAnalysis_13);
 CLS(2,_ADataDefAnalysis_12_c,__ADataDefAnalysis_12);
 CLS(3,_ADataDefAnalysis_11_c,__ADataDefAnalysis_11);
 CLS(3,_ADataDefAnalysis_10_c,__ADataDefAnalysis_10);
 CLS(2,_ADataDefAnalysis_9_c,__ADataDefAnalysis_9);
 DEN("implementation of %s may be not equivalent to its free type",__ADataDefAnalysis_39);
 CLS(3,_ADataDefAnalysis_38,__ADataDefAnalysis_38);
 CLS(3,_ADataDefAnalysis_37,__ADataDefAnalysis_37);
 DEN("duplicate implementation: %s already implemented at %s",__ADataDefAnalysis_5);
 CLS(3,_ADataDefAnalysis_36,__ADataDefAnalysis_36);
 DEN("parameter implementation: %s must not be implemented",__ADataDefAnalysis_4);
 CLS(3,_ADataDefAnalysis_35,__ADataDefAnalysis_35);
 CLS(2,_ADataDefAnalysis_3_c,__ADataDefAnalysis_3);
 CLS(3,_ADataDefAnalysis_34,__ADataDefAnalysis_34);
 CLS(2,_ADataDefAnalysis_2_c,__ADataDefAnalysis_2);
 CLS(5,_ADataDefAnalysis_33,__ADataDefAnalysis_33);
 CLS(1,_ADataDefAnalysis_1,__ADataDefAnalysis_1);
 CLS(4,_ADataDefAnalysis_32,__ADataDefAnalysis_32);}

