

#include "BUILTIN.h"
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqCompare_3(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_3;

#include "Denotation.h"
extern OBJ __AAc_14;
extern OBJ _AAc_20(OBJ);extern OBJ __AAc_20;
extern OBJ _AAc_21(OBJ);extern OBJ __AAc_21;
extern OBJ _AAc_22(OBJ);extern OBJ __AAc_22;
extern OBJ _AAc_50(OBJ);extern OBJ __AAc_50;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ __AOcError_15;
extern OBJ _ANatMapConv_2(OBJ);extern OBJ __ANatMapConv_2;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;
extern OBJ _ANatMapReduce_3(OBJ,OBJ,OBJ);extern OBJ __ANatMapReduce_3;
extern OBJ _ANatMapReduce_4(OBJ,OBJ,OBJ);extern OBJ __ANatMapReduce_4;
extern OBJ _APreparedOptions_5(OBJ);extern OBJ __APreparedOptions_5;
extern OBJ _APreparedOptions_6(OBJ);extern OBJ __APreparedOptions_6;
extern OBJ _APreparedOptions_10(OBJ);extern OBJ __APreparedOptions_10;

#include "Nat.h"
extern OBJ __AIdeSet_2;
extern OBJ _AOcOptions_23(OBJ);extern OBJ __AOcOptions_23;
extern OBJ __AAcIO_3;

#include "Char.h"
extern OBJ _AAcFun_1(OBJ,OBJ);extern OBJ __AAcFun_1;
extern OBJ _AAcFun_10(OBJ,OBJ);extern OBJ __AAcFun_10;
extern OBJ _AAcFun_11(OBJ,OBJ,OBJ);extern OBJ __AAcFun_11;
extern OBJ _AAcFun_14(OBJ,OBJ);extern OBJ __AAcFun_14;
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _AAcDump_1(OBJ,OBJ);extern OBJ __AAcDump_1;
extern OBJ _ATypeAnFun_1(OBJ,OBJ);extern OBJ __ATypeAnFun_1;
extern OBJ __AVoid_2;
extern OBJ _AOptimAnFun_1(OBJ,OBJ);extern OBJ __AOptimAnFun_1;
extern OBJ _ADumpToFile_2(OBJ,OBJ,OBJ,OBJ);extern OBJ __ADumpToFile_2;

#include "Int.h"

#include "Array.h"
extern OBJ __ANatMap_3;
extern OBJ _ANatMap_4(OBJ,OBJ,OBJ);extern OBJ __ANatMap_4;
extern OBJ _ANatMap_14(OBJ,OBJ);extern OBJ __ANatMap_14;
extern OBJ _ANatMap_15(OBJ,OBJ);extern OBJ __ANatMap_15;
extern OBJ _ABSTree_57(OBJ,OBJ,OBJ);extern OBJ __ABSTree_57;
extern OBJ _ABSTree_61(OBJ,OBJ,OBJ);extern OBJ __ABSTree_61;
extern OBJ _AIde_13(OBJ,OBJ);extern OBJ __AIde_13;
extern OBJ _AIde_14(OBJ,OBJ);extern OBJ __AIde_14;
extern OBJ __AIde_17;
extern OBJ __AAn_2;
extern OBJ _AAn_3(OBJ,OBJ);extern OBJ __AAn_3;
extern OBJ _AAn_5(OBJ,OBJ);extern OBJ __AAn_5;
extern OBJ _AAn_7(OBJ,OBJ);extern OBJ __AAn_7;

#include "Bitset.h"
extern OBJ __ATypeAn_52;
extern OBJ __ASourceAn_28;
extern OBJ _AOptimAn_8(OBJ);extern OBJ __AOptimAn_8;
extern OBJ __AOptimAn_24;

#include "Real.h"
extern OBJ _ASetByBSTConv_7(OBJ,OBJ);extern OBJ __ASetByBSTConv_7;
extern OBJ _ABSTreeConv_7(OBJ,OBJ);extern OBJ __ABSTreeConv_7;
extern OBJ _AOcBinStream_2(OBJ,OBJ,OBJ,OBJ);extern OBJ __AOcBinStream_2;
extern OBJ _AOcBinStream_4(OBJ,OBJ,OBJ);extern OBJ __AOcBinStream_4;
extern OBJ _AOptimExport_1(OBJ,OBJ);OBJ __AOptimExport_1; /* optimExport */
extern OBJ _AOptimExport_3(OBJ);OBJ __AOptimExport_3; /* applied */
extern OBJ _AOptimExport_4(OBJ);OBJ __AOptimExport_4; /* applied? */
extern OBJ _AOptimExport_5(OBJ);OBJ __AOptimExport_5; /* ides */
OBJ __AOptimExport_6; /* localTime */
extern TUP2 _AOptimExport_8(OBJ,OBJ,OBJ);OBJ __AOptimExport_8; /* buildEmptyExport */
extern TUP2 _AOptimExport_9(OBJ,OBJ,OBJ);OBJ __AOptimExport_9; /* buildSimpleExport */
extern OBJ _AOptimExport_10(OBJ,OBJ,OBJ);OBJ __AOptimExport_10; /* simpleExport? */
extern OBJ _AOptimExport_11(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_11; /* buildExport */
extern OBJ _AOptimExport_12(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_12; /* build */
extern OBJ _AOptimExport_13(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_13; /* defDec */
extern OBJ _AOptimExport_14(OBJ);OBJ __AOptimExport_14; /* notImplemented? */
extern OBJ _AOptimExport_15(OBJ,OBJ,OBJ);OBJ __AOptimExport_15; /* defTypeDec */
extern OBJ _AOptimExport_16(OBJ,OBJ);OBJ __AOptimExport_16; /* updateMode */
extern OBJ _AOptimExport_17(OBJ,OBJ);OBJ __AOptimExport_17; /* updateMode,1 */
extern OBJ _AOptimExport_21(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_21; /* expApplied */
extern OBJ _AOptimExport_22(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_22; /* matchApplied */
extern OBJ _AOptimExport_23(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_23; /* anApplied */
extern OBJ _AOptimExport_24(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_24; /* decApplied */
extern OBJ _AOptimExport_25(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_25; /* typeApplied */
extern OBJ _AOptimExport_26(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_26; /* typeDecApplied */
extern OBJ _AOptimExport_27(OBJ);OBJ __AOptimExport_27; /* killAn */
extern OBJ _AOptimExport_28(OBJ);OBJ __AOptimExport_28; /* killDecAn */
extern OBJ _AOptimExport_29(OBJ);OBJ __AOptimExport_29; /* killMatchAn */
extern OBJ _AOptimExport_30(OBJ);OBJ __AOptimExport_30; /* minAn */
extern OBJ _AOptimExport_31(OBJ,OBJ,OBJ);OBJ __AOptimExport_31; /* writeOptimExport */
extern OBJ _AOptimExport_32(OBJ,OBJ);OBJ __AOptimExport_32; /* diff? */
extern OBJ _AOptimExport_33(OBJ,OBJ);OBJ __AOptimExport_33; /* diffUses? */
extern OBJ _AOptimExport_34(OBJ,OBJ);OBJ __AOptimExport_34; /* diffDecs? */
extern OBJ _AOptimExport_35(OBJ,OBJ);OBJ __AOptimExport_35; /* diffAn? */
extern OBJ _AOptimExport_36(OBJ,OBJ);OBJ __AOptimExport_36; /* diffTypeAn? */
extern OBJ _AOptimExport_37(OBJ,OBJ);OBJ __AOptimExport_37; /* diffTypeDecs? */
extern OBJ _AOptimExport_38(OBJ,OBJ);OBJ __AOptimExport_38; /* diffType? */
extern OBJ _AOptimExport_39(OBJ,OBJ);OBJ __AOptimExport_39; /* diffTypes? */
extern OBJ _AOptimExport_40(OBJ,OBJ);OBJ __AOptimExport_40; /* diffOptimAn? */
extern OBJ _AOptimExport_41(OBJ,OBJ);OBJ __AOptimExport_41; /* diffExp? */
OBJ __AOptimExport_42; /* expApplied'42 */
OBJ __AOptimExport_43; /* typeApplied'43 */
OBJ __AOptimExport_44; /* writeOptimExport'44 */
extern OBJ _AOptimExport_45(OBJ);OBJ __AOptimExport_45; /* writeOptimExport'45 */
extern OBJ _AOptimExport_46(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_46; /* writeOptimExport'46 */
extern OBJ _AOptimExport_47(OBJ,OBJ);OBJ __AOptimExport_47; /* optimExport'47 */
OBJ __AOptimExport_48; /* optimExport'48 */
extern OBJ _AOptimExport_49(OBJ,OBJ);OBJ __AOptimExport_49; /* optimExport'49 */
extern OBJ _AOptimExport_50(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimExport_50; /* optimExport'50 */
extern OBJ _AOptimExport_51(OBJ,OBJ,OBJ);OBJ __AOptimExport_51; /* optimExport'51 */
OBJ __AOptimExport_52; /* localTime'52 */

extern OBJ _AOptimExport_1(OBJ x1,OBJ x2) /* optimExport */
{OBJ r;
 CPPRD(__AOptimExport_6,1);
 CPCLS(__AOptimExport_51,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_51,2))(__AOptimExport_51,x1,x2);
  r=_AComCompose_5(__AOptimExport_6,x3);}
 return r;}

extern OBJ _AOptimExport_3(OBJ x1) /* applied */
{OBJ r;
 r=x1;
 return r;}

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

extern OBJ _AOptimExport_5(OBJ x1) /* ides */
{OBJ r;
 r=x1;
 return r;}

extern TUP2 _AOptimExport_8(OBJ x1,OBJ x2,OBJ x3) /* buildEmptyExport */
{TUP2 r;
 FRPRD(x1,1);
 {OBJ x4;
  PRD(1,4,x4);FLD(x4,1)=x3;
  {OBJ x20=FLD1(x2,2);OBJ x21=FLD1(x2,3);
   CPPRD(x20,1);
   CPPRD(__ANatMap_3,2);
   {OBJ x24;
    x24=_AAn_5(__AAn_2,x4);
    PRD1(5,r.c2);FLD1(r.c2,1)=x24;FLD1(r.c2,2)=x20;FLD1(r.c2,3)=x21;FLD1(r.c2,4)=__ANatMap_3;FLD1(r.c2,5)=__ANatMap_3;
    r.c1=x2;}}}
 return r;}
extern OBJ _AOptimExport_8_c(OBJ x1,OBJ x2,OBJ x3) /* buildEmptyExport */
{OBJ r;
 {TUP2 t=_AOptimExport_8(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimExport_9(OBJ x1,OBJ x2,OBJ x3) /* buildSimpleExport */
{TUP2 r;
 CPCLS(__AOptimExport_10,1);
 CPCLS(__AOptimExport_24,1);
 CPCLS(__AAc_21,1);
 CPPRD(__ANatMap_3,1);
 CPCLS(__AIde_14,1);
 COPY(__AIdeSet_2,1);
 CPPRD(x1,2);
 CPPRD(x2,4);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_10,2))(__AOptimExport_10,x1,x2);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_24,2))(__AOptimExport_24,x1,x2);
  x6=_AAcFun_14(x4,x2);
  COPY(x6,1);
  x7=_ASeqMap_3(__AAc_21,x6);
  x8=_ASetByBSTConv_7(__AIde_14,x7);
  PRD1(2,x9);FLD1(x9,1)=x8;FLD1(x9,2)=__AIdeSet_2;
  x10=_ANatMap_4(__AIde_17,x9,__ANatMap_3);
  x11=_ASeqReduce_3(x5,x10,x6);
  CPPRD(x11,1);
  r.c1=_AOptimExport_16(x2,x11);
  r.c2=_AOptimExport_11(x1,x2,x3,x11);}
 return r;}
extern OBJ _AOptimExport_9_c(OBJ x1,OBJ x2,OBJ x3) /* buildSimpleExport */
{OBJ r;
 {TUP2 t=_AOptimExport_9(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AOptimExport_10(OBJ x1,OBJ x2,OBJ x3) /* simpleExport? */
{OBJ r;
 FRPRD(x1,1);
 FRPRD(x2,1);
 CPPRD(x3,1);
 {OBJ x4;
  x4=_AAc_20(x3);
  if(ISTGPRM(x4,0)){
   if(ISTGPRD(x3,2)){
    {OBJ x55;OBJ x61;OBJ x66;
     x55=_AAc_22(x3);
     if(ISPRM(x55)){
      x61=__AOptimAn_24;
     }else{
      {OBJ x58=FLD1(x55,3);
       if(EXPRD(x55,1)){
	x61=x58;
	FLD1(x55,3)=NIL;DSPRD(x55);
       }else{
	COPY(x58,1);
	x61=x58;
	FRPRD(x55,1);}}}
     if(ISPRD(x61)&&(ISTGPRD(x61,1))){
      {OBJ x63=FLD(x61,2);
       if(EXPRD(x61,1)){
	x66=x63;
	DSPRDF(x61);
       }else{
	x66=x63;
	FRPRD(x61,1);}}
     }else{
      if(ISPRD(x61)&&(ISTGPRD(x61,2))){
       {OBJ x65=FLD(x61,1);
	if(EXPRD(x61,1)){
	 x66=x65;
	 DSPRDF(x61);
	}else{
	 x66=x65;
	 FRPRD(x61,1);}}
      }else{
       HLT("OptimAn at <unknown> : undefined selection rank\'OptimAn:optimAn->nat");}}
     ANat_81(x66,__ANat_5,r);}
   }else{
    if(ISTGPRD(x3,3)){
     if(EXPRD(x3,1)){
      DSPRD(x3);
     }else{
      DCPRD(x3,1);}
     r=__ABUILTIN_5;
    }else{
     FRPRD(x3,1);
     r=__ABUILTIN_3;}}
  }else{
   if(ISTGPRD(x3,3)){
    if(EXPRD(x3,1)){
     DSPRD(x3);
    }else{
     DCPRD(x3,1);}
    r=__ABUILTIN_5;
   }else{
    FRPRD(x3,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern OBJ _AOptimExport_11(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* buildExport */
{OBJ r;
 CPCLS(__AOptimExport_12,1);
 CPPRD(x2,1);
 {OBJ x5;OBJ x6;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_12,2))(__AOptimExport_12,x1,x2);
  PRD(1,4,x6);FLD(x6,1)=x3;
  {OBJ x34=FLD1(x2,1);OBJ x35=FLD1(x2,2);OBJ x36=FLD1(x2,3);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    COPY(x34,1);CPPRD(x35,1);}
   {OBJ x45;OBJ x39;OBJ x46;OBJ x47;
    if(ISPRM(x34)){
     CPPRD(__ANatMap_3,2);
     x45=__AOptimAn_24;
    }else{
     {OBJ x42=FLD1(x34,3);
      if(EXPRD(x34,1)){
       x45=x42;
       FLD1(x34,3)=NIL;DSPRD(x34);
      }else{
       COPY(x42,1);
       x45=x42;
       FRPRD(x34,1);}
      CPPRD(__ANatMap_3,2);}}
    x39=_AAn_5(__AAn_2,x6);
    x46=_AAn_7(x39,x45);
    if(x_x2){
     RSOME(x2,x47);FLD1(x47,1)=x46;FRPRD(FLD1(x47,4),1);FLD1(x47,4)=__ANatMap_3;FRPRD(FLD1(x47,5),1);FLD1(x47,5)=__ANatMap_3;
    }else{
     FRPRD(x2,1);PRD1(5,x47);FLD1(x47,1)=x46;FLD1(x47,2)=x35;FLD1(x47,3)=x36;FLD1(x47,4)=__ANatMap_3;FLD1(x47,5)=__ANatMap_3;}
    r=_ANatMapReduce_4(x5,x47,x4);}}}
 return r;}

extern OBJ _AOptimExport_12(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* build */
{OBJ r;
 CPCLS(__AOptimExport_13,1);
 CPCLS(__AOptimExport_15,1);
 CPPRD(x2,2);
 {OBJ x12;OBJ x13;OBJ x14;
  x12=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimExport_15,1))(__AOptimExport_15,x2);
  x13=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_13,2))(__AOptimExport_13,x1,x2);
  ANat_76(x3,__AIde_17,x14);
  {OBJ x101=FLD1(x4,1);OBJ x102=FLD1(x4,2);
   if(EXPRD(x4,1)){
    DSPRDF(x4);
   }else{
    COPY(x101,1);COPY(x102,1);
    FRPRD(x4,1);}
   {OBJ x160=FLD1(x5,1);OBJ x161=FLD1(x5,2);OBJ x162=FLD1(x5,3);OBJ x163=FLD1(x5,4);OBJ x164=FLD1(x5,5);FLAG x_x5=EXPRD(x5,1);
    if(x_x5){
    }else{
     COPY(x160,1);CPPRD(x161,1);CPPRD(x163,1);CPPRD(x164,1);}
    CPPRD(__ANatMap_3,2);
    CPCLS(__AIde_14,2);
    {OBJ x165;OBJ x166;OBJ x167;OBJ x168;OBJ x169;
     x165=_ABSTreeConv_7(__AIde_14,x102);
     x166=_ABSTreeConv_7(__AIde_14,x101);
     x167=_ASeqReduce_3(x12,__ANatMap_3,x165);
     x168=_ASeqReduce_3(x13,__ANatMap_3,x166);
     PRD(1,3,x169);FLD(x169,1)=x167;
     if(ISTGPRM(x14,1)){
      FRPRD(x2,1);
      FRPRD(x164,1);
      {
       if(x_x5){
	RSOME(x5,r);FLD1(r,5)=x168;
       }else{
	FRPRD(x5,1);PRD1(5,r);FLD1(r,2)=x161;FLD1(r,3)=x162;FLD1(r,4)=x163;FLD1(r,5)=x168;}
       FLD1(r,1)=_AAn_3(x160,x169);}
     }else{
      {OBJ x174=FLD1(x2,4);
       if(EXPRD(x2,1)){
	FLD1(x2,4)=NIL;DSPRD(x2);
       }else{
	CPPRD(x174,1);
	FRPRD(x2,1);}
       {OBJ x176;
	x176=_ANatMap_14(x174,x3);
	{OBJ x177=FLD1(x176,1);OBJ x178=FLD1(x176,2);OBJ x179=FLD1(x176,3);FLAG x_x176=EXPRD(x176,1);
	 if(x_x176){
	 }else{
	  COPY(x177,1);CPPRD(x178,1);}
	 {OBJ x187;OBJ x188;OBJ x189;OBJ x190;
	  if(ISPRM(x177)){
	   CPPRD(__ANatMap_3,1);
	   x187=__ASourceAn_28;
	  }else{
	   {OBJ x183=FLD1(x177,2);
	    if(EXPRD(x177,1)){
	     x187=x183;
	     FLD1(x177,2)=NIL;DSPRD(x177);
	    }else{
	     COPY(x183,1);
	     x187=x183;
	     FRPRD(x177,1);}
	    CPPRD(__ANatMap_3,1);}}
	  x188=_AAn_5(__AAn_2,x187);
	  x189=_AAn_3(x188,x169);
	  if(x_x176){
	   RSOME(x176,x190);FLD1(x190,1)=x189;FRPRD(FLD1(x190,4),1);FLD1(x190,4)=__ANatMap_3;FRPRD(FLD1(x190,5),1);FLD1(x190,5)=x168;
	  }else{
	   FRPRD(x176,1);PRD1(5,x190);FLD1(x190,1)=x189;FLD1(x190,2)=x178;FLD1(x190,3)=x179;FLD1(x190,4)=__ANatMap_3;FLD1(x190,5)=x168;}
	  if(x_x5){
	   RSOME(x5,r);
	  }else{
	   FRPRD(x5,1);PRD1(5,r);FLD1(r,1)=x160;FLD1(r,2)=x161;FLD1(r,3)=x162;FLD1(r,5)=x164;}
	  FLD1(r,4)=_ANatMap_4(x3,x190,x163);}}}}}}}}}
 return r;}

extern OBJ _AOptimExport_13(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* defDec */
{OBJ r;
 CPPRD(x2,1);
 CPPRD(x3,1);
 {OBJ x5;
  x5=_AAcFun_10(x2,x3);
  switch(TGPRD(x5)){
   case 3:
    {OBJ x224=FLD(x5,4);
     FRPRD(x1,1);
     FRPRD(x2,1);
     {OBJ x228;OBJ x229;OBJ x230;OBJ x231;
      {OBJ x225=FLD(x3,1);
       if(EXPRD(x3,1)){
	x228=x225;
	DSPRD(x3);
       }else{
	x228=x225;
	FRPRD(x3,1);}
       CPPRD(x5,1);}
      x229=_AAc_22(x5);
      x230=_AAc_21(x5);
      PRD(4,3,x231);FLD(x231,1)=x229;FLD(x231,2)=x230;FLD(x231,3)=__AAc_14;FLD(x231,4)=x224;
      r=_ANatMap_4(x228,x231,x4);}}break;
   case 1:
    FRPRD(x1,1);
    FRPRD(x2,1);
    {OBJ x238;OBJ x239;OBJ x240;OBJ x241;
     {OBJ x235=FLD(x3,1);
      if(EXPRD(x3,1)){
       x238=x235;
       DSPRD(x3);
      }else{
       x238=x235;
       FRPRD(x3,1);}
      CPPRD(x5,1);}
     x239=_AAc_21(x5);
     x240=_AAc_22(x5);
     PRD(3,1,x241);FLD(x241,1)=x240;FLD(x241,2)=x239;FLD(x241,3)=__AAc_14;
     r=_ANatMap_4(x238,x241,x4);}break;
   case 0:
    HLT("OptimExport at <141,8-168,47> : missing else in defDec\'OptimExport:popts**unit->ide**natMap->natMap");break;
   default: 
    {OBJ x144=FLD(x5,4);
     CPPRD(x144,1);
     if(ISTGPRD(x3,0)){
      {OBJ x184=FLD(x3,1);OBJ x185=FLD(x3,2);
       CPPRD(x5,1);
       {OBJ x187;OBJ x188;OBJ x189;OBJ x195;OBJ x204;
	x187=_AAc_22(x5);
	ANat_76(x185,__AIde_17,x188);
	x189=_AAc_21(x5);
	if(ISPRM(x187)){
	 x195=__AOptimAn_24;
	}else{
	 {OBJ x192=FLD1(x187,3);
	  COPY(x192,1);
	  x195=x192;}}
	if(ISTGPRM(x188,1)){
	 CPPRD(x144,1);
	 {OBJ x196;
	  x196=_AOptimExport_14(x144);
	  if(ISTGPRM(x196,1)){
	   FRPRD(x1,1);
	   FRPRD(x2,1);
	   if(EXPRD(x3,1)){
	    DSPRDF(x3);
	   }else{
	    DCPRD(x3,1);}
	   x204=__ABUILTIN_5;
	  }else{
	   {OBJ x197;
	    x197=_APreparedOptions_10(x1);
	    if(ISPRD(x195)&&(ISTGPRD(x195,1))){
	     {OBJ x198=FLD(x195,1);
	      {OBJ x201;OBJ x203;
	       ANat_78(x198,x197,x201);
	       if(ISTGPRM(x201,1)){
		FRPRD(x2,1);
		if(EXPRD(x3,1)){
		 DSPRDF(x3);
		}else{
		 DCPRD(x3,1);}
		x203=__ABUILTIN_5;
	       }else{
		CPCLS(__AOptimAn_8,1);
		{OBJ x202;
		 x202=_AOptimAnFun_1(x2,x3);
		 x203=_ASeq_40(__AOptimAn_8,x202);}}
	       if(ISTGPRM(x203,1)){
		x204=__ABUILTIN_3;
	       }else{
		x204=__ABUILTIN_5;}}}
	    }else{
	     HLT("OptimAn at <unknown> : undefined selection complexity\'OptimAn:optimAn->nat");}}}}
	}else{
	 FRPRD(x1,1);
	 FRPRD(x2,1);
	 if(EXPRD(x3,1)){
	  DSPRDF(x3);
	 }else{
	  DCPRD(x3,1);}
	 x204=__ABUILTIN_5;}
	if(ISTGPRM(x204,1)){
	 FRPRD(x144,1);
	 {OBJ x208;OBJ x215;OBJ x216;
	  if(ISPRD(x195)&&(ISTGPRD(x195,1))){
	   x208=__ABUILTIN_5;
	  }else{
	   x208=__ABUILTIN_3;}
	  if(ISTGPRM(x208,1)){
	   {OBJ x213;OBJ x214;
	    if(ISPRD(x195)&&(ISTGPRD(x195,1))){
	     {OBJ x210=FLD(x195,2);
	      if(EXPRD(x195,1)){
	       x213=x210;
	       DSPRDF(x195);
	      }else{
	       x213=x210;
	       FRPRD(x195,1);}}
	    }else{
	     if(ISPRD(x195)&&(ISTGPRD(x195,2))){
	      {OBJ x212=FLD(x195,1);
	       if(EXPRD(x195,1)){
		x213=x212;
		DSPRDF(x195);
	       }else{
		x213=x212;
		FRPRD(x195,1);}}
	     }else{
	      HLT("OptimAn at <unknown> : undefined selection rank\'OptimAn:optimAn->nat");}}
	    PRDF(1,2,x214);FLD(x214,1)=x213;
	    x215=_AAn_7(x187,x214);}
	  }else{
	   x215=x187;
	   FREE(x195,1);}
	  PRD(3,1,x216);FLD(x216,1)=x215;FLD(x216,2)=x189;FLD(x216,3)=__AAc_14;
	  r=_ANatMap_4(x184,x216,x4);}
	}else{
	 FREE(x195,1);
	 {OBJ x217;OBJ x218;
	  x217=_AOptimExport_27(x144);
	  PRD(4,2,x218);FLD(x218,1)=x187;FLD(x218,2)=x189;FLD(x218,3)=__AAc_14;FLD(x218,4)=x217;
	  r=_ANatMap_4(x184,x218,x4);}}}}
     }else{
      HLT("Ide at <unknown> : undefined selection origin\'Ide:ide->origin");}}}}
 return r;}

extern OBJ _AOptimExport_14(OBJ x1) /* notImplemented? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  if(ISTGPRD(x1,4)){
   {OBJ x25=FLD(x1,3);
    if(EXPRD(x1,1)){
     FLD(x1,3)=NIL;DSPRD(x1);
    }else{
     CPPRD(x25,1);
     FRPRD(x1,1);}
    if(ISTGPRD(x25,0)){
     if(EXPRD(x25,1)){
      FREE(FLD(x25,1),1);DSPRDF(x25);
     }else{
      DCPRD(x25,1);}
     r=__ABUILTIN_5;
    }else{
     FRPRD(x25,1);
     r=__ABUILTIN_3;}}
  }else{
   FRPRD(x1,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AOptimExport_15(OBJ x1,OBJ x2,OBJ x3) /* defTypeDec */
{OBJ r;
 {OBJ x7;OBJ x8;
  {OBJ x4=FLD(x2,1);
   x7=x4;}
  x8=_ATypeAnFun_1(x1,x2);
  r=_ANatMap_4(x7,x8,x3);}
 return r;}

extern OBJ _AOptimExport_16(OBJ x1,OBJ x2) /* updateMode */
{OBJ r;
 {OBJ x3;
  x3=_ANatMap_14(x2,__AIde_17);
  {OBJ x4=FLD1(x3,1);
   if(EXPRD(x3,1)){
    FREE(FLD1(x3,2),1);DSPRDF(x3);
   }else{
    COPY(x4,1);
    FRPRD(x3,1);}
   CPCLS(__AOptimExport_17,1);
   CPCLS(__AIde_14,1);
   {OBJ x6;OBJ x7;
    x6=x4;
    x7=_ABSTreeConv_7(__AIde_14,x6);
    r=_ASeqReduce_3(__AOptimExport_17,x1,x7);}}}
 return r;}

extern OBJ _AOptimExport_17(OBJ x1,OBJ x2) /* updateMode,1 */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x2,1);
 {OBJ x3;OBJ x4;
  x3=_AAcFun_10(x2,x1);
  CPPRD(x3,1);
  x4=_AAc_20(x3);
  if(ISTGPRM(x4,1)){
   if(ISTGPRD(x3,2)){
    {OBJ x80=FLD(x3,4);
     CPPRD(x80,1);
     CPPRD(x3,1);
     {OBJ x81;OBJ x82;OBJ x83;
      x81=_AAc_21(x3);
      x82=_AAc_22(x3);
      PRD(4,2,x83);FLD(x83,1)=x82;FLD(x83,2)=x81;FLD(x83,3)=__AAc_14;FLD(x83,4)=x80;
      r=_AAcFun_11(x2,x1,x83);}}
   }else{
    {OBJ x99;
     switch(TGPRD(x3)){
      case 1:
       CPPRD(x3,1);
       {OBJ x93;OBJ x94;
	x93=_AAc_22(x3);
	x94=_AAc_21(x3);
	PRD(3,1,x99);FLD(x99,1)=x93;FLD(x99,2)=x94;FLD(x99,3)=__AAc_14;}break;
      case 0:
       HLT("OptimExport at <195,25-200,52> : missing else in updateMode\'OptimExport:ide**unit->unit");break;
      default: 
       {OBJ x87=FLD(x3,4);
	CPPRD(x3,1);
	{OBJ x88;OBJ x89;
	 x88=_AAc_21(x3);
	 x89=_AAc_22(x3);
	 PRD(4,3,x99);FLD(x99,1)=x89;FLD(x99,2)=x88;FLD(x99,3)=__AAc_14;FLD(x99,4)=x87;}}}
     r=_AAcFun_11(x2,x1,x99);}}
  }else{
   FRPRD(x1,1);
   FRPRD(x3,1);
   r=x2;}}
 return r;}

extern OBJ _AOptimExport_21(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* expApplied */
{OBJ r;
 CPPRD(x3,1);
 {OBJ x9;
  x9=_AAc_50(x3);
  if(ISTGPRD(x3,3)){
   {OBJ x289=FLD(x3,2);OBJ x290=FLD(x3,3);
    if(EXPRD(x3,1)){
     FREE(FLD(x3,1),1);DSPRDF(x3);
    }else{
     CPPRD(x289,1);COPY(x290,1);
     FRPRD(x3,1);}
    {OBJ x296;OBJ x297;OBJ x298;OBJ x299;
     if(ISPRM(x9)){
      CPPRD(x1,2);
      CPPRD(x2,2);
      CPCLS(__AOptimExport_21,1);
      x296=__ATypeAn_52;
     }else{
      {OBJ x291=FLD1(x9,1);
       if(EXPRD(x9,1)){
	x296=x291;
	FLD1(x9,1)=NIL;DSPRD(x9);
       }else{
	COPY(x291,1);
	x296=x291;
	FRPRD(x9,1);}
       CPPRD(x1,2);
       CPPRD(x2,2);
       CPCLS(__AOptimExport_21,1);}}
     x297=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_21,2))(__AOptimExport_21,x1,x2);
     x298=_AOptimExport_21(x1,x2,x289,x4);
     x299=_ASeqReduce_3(x297,x298,x290);
     r=_AOptimExport_23(x1,x2,x296,x299);}}
  }else{
   {OBJ x305;
    if(ISPRM(x9)){
     x305=__ATypeAn_52;
    }else{
     {OBJ x300=FLD1(x9,1);
      if(EXPRD(x9,1)){
       x305=x300;
       FLD1(x9,1)=NIL;DSPRD(x9);
      }else{
       COPY(x300,1);
       x305=x300;
       FRPRD(x9,1);}}}
    if(ISTGPRD(x3,5)||ISTGPRD(x3,4)){
     {OBJ x307=FLD(x3,2);OBJ x308=FLD(x3,3);
      if(EXPRD(x3,1)){
       FLD(x3,2)=NIL;FLD(x3,3)=NIL;DSPRD(x3);
      }else{
       COPY(x307,1);CPPRD(x308,1);
       FRPRD(x3,1);}
      CPPRD(x1,2);
      CPPRD(x2,2);
      CPCLS(__AOptimExport_24,1);
      {OBJ x309;OBJ x310;OBJ x311;
       x309=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_24,2))(__AOptimExport_24,x1,x2);
       x310=_AOptimExport_21(x1,x2,x308,x4);
       x311=_ASeqReduce_3(x309,x310,x307);
       r=_AOptimExport_23(x1,x2,x305,x311);}}
    }else{
     if(ISTGPRD(x3,6)){
      {OBJ x313=FLD(x3,2);OBJ x314=FLD(x3,3);OBJ x315=FLD(x3,4);
       if(EXPRD(x3,1)){
	FREE(FLD(x3,1),1);DSPRDF(x3);
       }else{
	CPPRD(x313,1);COPY(x314,1);CPPRD(x315,1);
	FRPRD(x3,1);}
       CPPRD(x1,3);
       CPPRD(x2,3);
       CPCLS(__AOptimExport_22,1);
       {OBJ x316;OBJ x317;OBJ x318;OBJ x319;
	x316=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_22,2))(__AOptimExport_22,x1,x2);
	x317=_AOptimExport_21(x1,x2,x315,x4);
	x318=_AOptimExport_21(x1,x2,x313,x317);
	x319=_ASeqReduce_3(x316,x318,x314);
	r=_AOptimExport_23(x1,x2,x305,x319);}}
     }else{
      {OBJ x328;OBJ x329;
       if(ISTGPRD(x3,2)){
	CPPRD(x1,1);
	CPPRD(x2,1);
	x328=__ABUILTIN_5;
       }else{
	CPPRD(x1,1);
	CPPRD(x2,1);
	x328=__ABUILTIN_3;}
       x329=_AOptimExport_23(x1,x2,x305,x4);
       if(ISTGPRM(x328,1)){
	if(ISTGPRD(x3,2)){
	 {OBJ x331=FLD(x3,2);
	  if(EXPRD(x3,1)){
	   FREE(FLD(x3,1),1);DSPRDF(x3);
	  }else{
	   CPPRD(x331,1);
	   FRPRD(x3,1);}
	  if(ISTGPRD(x331,0)){
	   {OBJ x333=FLD(x331,2);
	    CPPRD(x329,1);
	    {OBJ x334;OBJ x336;OBJ x338;
	     x334=_ANatMap_15(x329,x333);
	     if(ISPRM(x334)){
	      x336=__ABUILTIN_3;
	     }else{
	      x336=__ABUILTIN_5;}
	     if(ISTGPRM(x336,1)){
	      if(ISPRM(x334)){
	       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	      }else{
	       {OBJ x337=FLD1(x334,1);
		if(EXPRD(x334,1)){
		 x338=x337;
		 DSPRDF(x334);
		}else{
		 CPPRD(x337,1);
		 x338=x337;
		 FRPRD(x334,1);}}}
	     }else{
	      FREE(x334,1);
	      CPPRD(__AOptimExport_42,1);
	      x338=__AOptimExport_42;}
	     {OBJ x339=FLD1(x338,1);OBJ x340=FLD1(x338,2);FLAG x_x338=EXPRD(x338,1);
	      if(x_x338){
	       COPY(x339,1);
	      }else{
	       COPY(x339,2);COPY(x340,1);}
	      CPPRD(x331,1);
	      CPCLS(__AIde_14,1);
	      {OBJ x341;
	       x341=_ABSTree_61(__AIde_14,x331,x339);
	       if(ISTGPRM(x341,1)){
		if(x_x338){
		 DSPRDF(x338);
		}else{
		 FRPRD(x338,1);}
		r=x329;
		FRPRD(x1,1);
		FRPRD(x2,1);
		if(EXPRD(x331,1)){
		 DSPRDF(x331);
		}else{
		 DCPRD(x331,1);}
		FREE(x339,1);
		FREE(x340,1);
	       }else{
		CPPRD(x2,1);
		CPPRD(x331,1);
		CPCLS(__AIde_14,1);
		{OBJ x342;OBJ x343;OBJ x344;OBJ x345;
		 x342=_AAcFun_10(x2,x331);
		 x343=_ABSTree_57(__AIde_14,x331,x339);
		 if(x_x338){
		  RSOME(x338,x344);FLD1(x344,1)=x343;
		 }else{
		  FRPRD(x338,1);PRD1(2,x344);FLD1(x344,1)=x343;FLD1(x344,2)=x340;}
		 x345=_ANatMap_4(x333,x344,x329);
		 r=_AOptimExport_24(x1,x2,x342,x345);}}}}}}
	  }else{
	   r=x329;
	   if(EXPRD(x331,1)){
	    DSPRDF(x331);
	   }else{
	    DCPRD(x331,1);}
	   FRPRD(x1,1);
	   FRPRD(x2,1);}}
	}else{
	 HLT("Ac at <unknown> : undefined selection ide\'Ac:exp->ide");}
       }else{
	r=x329;
	FRPRD(x1,1);
	FRPRD(x2,1);
	FRPRD(x3,1);}}}}}}}
 return r;}

extern OBJ _AOptimExport_22(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* matchApplied */
{OBJ r;
 {OBJ x19=FLD1(x3,1);OBJ x21=FLD1(x3,3);
  if(EXPRD(x3,1)){
   FREE(FLD1(x3,2),1);DSPRDF(x3);
  }else{
   CPPRD(x19,1);CPPRD(x21,1);
   FRPRD(x3,1);}
  CPPRD(x1,1);
  CPPRD(x2,1);
  {OBJ x22;OBJ x23;
   x22=_AOptimExport_21(x1,x2,x21,x4);
   PRD(2,2,x23);FLD(x23,1)=__AAn_2;FLD(x23,2)=x19;
   r=_AOptimExport_21(x1,x2,x23,x22);}}
 return r;}

extern OBJ _AOptimExport_23(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* anApplied */
{OBJ r;
 if(ISPRM(x3)){
  FRPRD(x1,1);
  FRPRD(x2,1);
  r=x4;
 }else{
  switch(TGPRD(x3)){
   case 3:
    {OBJ x25=FLD(x3,1);
     if(EXPRD(x3,1)){
      DSPRDF(x3);
     }else{
      CPPRD(x25,1);
      FRPRD(x3,1);}
     CPCLS(__AOptimExport_26,1);
     {OBJ x26;
      x26=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_26,2))(__AOptimExport_26,x1,x2);
      r=_ANatMapReduce_3(x26,x4,x25);}}break;
   case 1:
    {OBJ x27=FLD(x3,1);
     if(EXPRD(x3,1)){
      DSPRDF(x3);
     }else{
      COPY(x27,1);
      FRPRD(x3,1);}
     r=_AOptimExport_25(x1,x2,x27,x4);}break;
   default: 
    {OBJ x23=FLD(x3,1);
     if(EXPRD(x3,1)){
      DSPRDF(x3);
     }else{
      COPY(x23,1);
      FRPRD(x3,1);}
     CPCLS(__AOptimExport_25,1);
     {OBJ x24;
      x24=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_25,2))(__AOptimExport_25,x1,x2);
      r=_ASeqReduce_3(x24,x4,x23);}}}}
 return r;}

extern OBJ _AOptimExport_24(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* decApplied */
{OBJ r;
 {OBJ x9;OBJ x10;OBJ x22;OBJ x16;
  if(ISTGPRD(x3,2)){
   CPPRD(x3,1);
   x9=__ABUILTIN_5;
  }else{
   CPPRD(x3,1);
   x9=__ABUILTIN_3;}
  x10=_AAc_22(x3);
  if(ISPRM(x10)){
   x22=__ATypeAn_52;x16=__AOptimAn_24;
  }else{
   {OBJ x54=FLD1(x10,1);OBJ x56=FLD1(x10,3);
    if(EXPRD(x10,1)){
     x22=x54;x16=x56;
     FLD1(x10,1)=NIL;FLD1(x10,3)=NIL;DSPRD(x10);
    }else{
     COPY(x54,1);COPY(x56,1);
     x22=x54;x16=x56;
     FRPRD(x10,1);}}}
  if(ISTGPRM(x9,1)){
   CPPRD(x3,1);
   {OBJ x23;
    x23=_AAc_21(x3);
    if(ISTGPRD(x3,2)){
     {OBJ x27=FLD(x3,4);
      if(EXPRD(x3,1)){
       FLD(x3,4)=NIL;DSPRD(x3);
      }else{
       CPPRD(x27,1);
       FRPRD(x3,1);}
      {OBJ x28;OBJ x32;OBJ x47;
       x28=x27;
       if(ISTGPRD(x23,0)){
	x32=__ABUILTIN_5;
       }else{
	x32=__ABUILTIN_3;}
       if(ISTGPRM(x32,1)){
	{OBJ x37;OBJ x38;
	 if(ISTGPRD(x23,0)){
	  {OBJ x34=FLD(x23,2);
	   x37=x34;}
	 }else{
	  HLT("Ide at <unknown> : undefined selection origin\'Ide:ide->origin");}
	 ANat_76(x37,__AIde_17,x38);
	 if(ISTGPRM(x38,1)){
	  CPPRD(x1,1);
	  {OBJ x39;
	   x39=_APreparedOptions_10(x1);
	   if(ISPRD(x16)&&(ISTGPRD(x16,1))){
	    {OBJ x40=FLD(x16,1);
	     if(EXPRD(x16,1)){
	      DSPRDF(x16);
	     }else{
	      FRPRD(x16,1);}
	     {OBJ x43;OBJ x44;OBJ x46;
	      x43=x40;
	      ANat_78(x43,x39,x44);
	      if(ISTGPRM(x44,1)){
	       FRPRD(x23,1);
	       x46=__ABUILTIN_5;
	      }else{
	       CPPRD(x2,1);
	       CPCLS(__AOptimAn_8,1);
	       {OBJ x45;
		x45=_AOptimAnFun_1(x2,x23);
		x46=_ASeq_40(__AOptimAn_8,x45);}}
	      if(ISTGPRM(x46,1)){
	       x47=__ABUILTIN_3;
	      }else{
	       x47=__ABUILTIN_5;}}}
	   }else{
	    HLT("OptimAn at <unknown> : undefined selection complexity\'OptimAn:optimAn->nat");}}
	 }else{
	  FREE(x16,1);
	  FRPRD(x23,1);
	  x47=__ABUILTIN_5;}}
       }else{
	FREE(x16,1);
	FRPRD(x23,1);
	x47=__ABUILTIN_3;}
       if(ISTGPRM(x47,1)){
	FRPRD(x28,1);
	r=_AOptimExport_23(x1,x2,x22,x4);
       }else{
	CPPRD(x1,1);
	CPPRD(x2,1);
	{OBJ x48;
	 x48=_AOptimExport_21(x1,x2,x28,x4);
	 r=_AOptimExport_23(x1,x2,x22,x48);}}}}
    }else{
     HLT("Ac at <unknown> : undefined selection def\'Ac:dec->exp");}}
  }else{
   FRPRD(x3,1);
   FREE(x16,1);
   r=_AOptimExport_23(x1,x2,x22,x4);}}
 return r;}

extern OBJ _AOptimExport_25(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4) /* typeApplied */
{OBJ r;
 for(;;){
  if(ISPRM(x3)){
   FRPRD(x1,1);
   FRPRD(x2,1);
   r=x4;
  }else{
   switch(TGPRD(x3)){
    case 6:
     {OBJ x288=FLD(x3,1);OBJ x289=FLD(x3,2);
      if(EXPRD(x3,1)){
       DSPRDF(x3);
      }else{
       COPY(x288,1);COPY(x289,1);
       FRPRD(x3,1);}
      CPPRD(x1,1);
      CPPRD(x2,1);
      CPCLS(__AOptimExport_25,1);
      {OBJ x290;OBJ x291;
       x290=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_25,2))(__AOptimExport_25,x1,x2);
       x291=_AOptimExport_25(x1,x2,x288,x4);
       r=_ASeqReduce_3(x290,x291,x289);}}break;
    case 7:
     {OBJ x293=FLD(x3,2);
      if(EXPRD(x3,1)){
       FREE(FLD(x3,1),1);DSPRDF(x3);
      }else{
       COPY(x293,1);
       FRPRD(x3,1);}
      x3=x293;continue;}break;
    case 2:case 5:
     {OBJ x294=FLD(x3,1);
      if(EXPRD(x3,1)){
       FLD(x3,1)=NIL;DSPRD(x3);
      }else{
       COPY(x294,1);
       FRPRD(x3,1);}
      CPCLS(__AOptimExport_25,1);
      {OBJ x295;
       x295=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_25,2))(__AOptimExport_25,x1,x2);
       r=_ASeqReduce_3(x295,x4,x294);}}break;
    case 3:
     {OBJ x298=FLD(x3,1);OBJ x299=FLD(x3,2);
      if(EXPRD(x3,1)){
       DSPRDF(x3);
      }else{
       COPY(x298,1);COPY(x299,1);
       FRPRD(x3,1);}
      CPPRD(x1,1);
      CPPRD(x2,1);
      CPCLS(__AOptimExport_25,1);
      {OBJ x300;OBJ x301;
       x300=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_25,2))(__AOptimExport_25,x1,x2);
       x301=_AOptimExport_25(x1,x2,x299,x4);
       r=_ASeqReduce_3(x300,x301,x298);}}break;
    case 1:
     {OBJ x302=FLD(x3,1);
      if(EXPRD(x3,1)){
       DSPRDF(x3);
      }else{
       CPPRD(x302,1);
       FRPRD(x3,1);}
      if(ISTGPRD(x302,0)){
       {OBJ x304=FLD(x302,2);
	CPPRD(x4,1);
	{OBJ x305;OBJ x307;OBJ x309;
	 x305=_ANatMap_15(x4,x304);
	 if(ISPRM(x305)){
	  x307=__ABUILTIN_3;
	 }else{
	  x307=__ABUILTIN_5;}
	 if(ISTGPRM(x307,1)){
	  if(ISPRM(x305)){
	   HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	  }else{
	   {OBJ x308=FLD1(x305,1);
	    if(EXPRD(x305,1)){
	     x309=x308;
	     DSPRDF(x305);
	    }else{
	     CPPRD(x308,1);
	     x309=x308;
	     FRPRD(x305,1);}}}
	 }else{
	  FREE(x305,1);
	  CPPRD(__AOptimExport_43,1);
	  x309=__AOptimExport_43;}
	 {OBJ x310=FLD1(x309,1);OBJ x311=FLD1(x309,2);FLAG x_x309=EXPRD(x309,1);
	  if(x_x309){
	   COPY(x311,1);
	  }else{
	   COPY(x310,1);COPY(x311,2);}
	  CPPRD(x302,1);
	  CPCLS(__AIde_14,1);
	  {OBJ x312;
	   x312=_ABSTree_61(__AIde_14,x302,x311);
	   if(ISTGPRM(x312,1)){
	    if(x_x309){
	     DSPRDF(x309);
	    }else{
	     FRPRD(x309,1);}
	    FRPRD(x1,1);
	    FRPRD(x2,1);
	    if(EXPRD(x302,1)){
	     DSPRDF(x302);
	    }else{
	     DCPRD(x302,1);}
	    FREE(x310,1);
	    FREE(x311,1);
	    r=x4;
	   }else{
	    CPPRD(x2,1);
	    CPPRD(x302,1);
	    CPCLS(__AIde_14,1);
	    {OBJ x313;OBJ x314;OBJ x315;OBJ x316;
	     x313=_ATypeAnFun_1(x2,x302);
	     x314=_ABSTree_57(__AIde_14,x302,x311);
	     if(x_x309){
	      RSOME(x309,x315);FLD1(x315,2)=x314;
	     }else{
	      FRPRD(x309,1);PRD1(2,x315);FLD1(x315,1)=x310;FLD1(x315,2)=x314;}
	     x316=_ANatMap_4(x304,x315,x4);
	     r=_AOptimExport_26(x1,x2,x313,x316);}}}}}}
      }else{
       if(EXPRD(x302,1)){
	DSPRDF(x302);
       }else{
	DCPRD(x302,1);}
       FRPRD(x1,1);
       FRPRD(x2,1);
       r=x4;}}break;
    default: 
     {OBJ x283=FLD(x3,1);OBJ x284=FLD(x3,2);FLAG x_x3=EXPRD(x3,1);
      if(x_x3){
      }else{
       CPPRD(x283,1);COPY(x284,1);}
      CPPRD(x1,1);
      CPPRD(x2,1);
      CPCLS(__AOptimExport_25,1);
      {OBJ x285;OBJ x286;OBJ x287;
       x285=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimExport_25,2))(__AOptimExport_25,x1,x2);
       if(x_x3){
	RPRD(x3,x286);CHGTG(x286,2);FLD(x286,1)=__AAn_2;FLD(x286,2)=x283;
       }else{
	FRPRD(x3,1);PRD(2,2,x286);FLD(x286,1)=__AAn_2;FLD(x286,2)=x283;}
       x287=_AOptimExport_21(x1,x2,x286,x4);
       r=_ASeqReduce_3(x285,x287,x284);}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_26(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* typeDecApplied */
{OBJ r;
 if(ISTGPRD(x3,1)){
  {OBJ x12=FLD(x3,2);
   if(EXPRD(x3,1)){
    FRPRD(FLD(x3,1),1);DSPRDF(x3);
   }else{
    COPY(x12,1);
    FRPRD(x3,1);}
   r=_AOptimExport_25(x1,x2,x12,x4);}
 }else{
  FRPRD(x1,1);
  FRPRD(x2,1);
  FRPRD(x3,1);
  r=x4;}
 return r;}

extern OBJ _AOptimExport_27(register OBJ x1) /* killAn */
{OBJ r;OBJ* p1=&r;
 for(;;){
  if(ISTGPRD(x1,2)){
   {OBJ x194=FLD(x1,2);
    CPPRD(x194,1);
    {OBJ x195;
     x195=_AAc_50(x1);
     PRD(2,2,*p1);FLD(*p1,2)=x194;
     FLD(*p1,1)=_AOptimExport_30(x195);}}
  }else{
   if(ISTGPRD(x1,3)){
    {OBJ x198=FLD(x1,2);OBJ x199=FLD(x1,3);
     CPPRD(x198,1);COPY(x199,1);
     CPCLS(__AOptimExport_27,1);
     {OBJ x200;OBJ x201;OBJ x203;
      x200=_AAc_50(x1);
      x201=_ASeqMap_3(__AOptimExport_27,x199);
      x203=_AOptimExport_30(x200);
      PRD(3,3,*p1);FLD(*p1,1)=x203;FLD(*p1,3)=x201;
      x1=x198;p1=&FLD(*p1,2);continue;}}
   }else{
    if(ISTGPRD(x1,4)){
     {OBJ x205=FLD(x1,2);OBJ x206=FLD(x1,3);
      COPY(x205,1);CPPRD(x206,1);
      CPCLS(__AOptimExport_28,1);
      {OBJ x207;OBJ x208;OBJ x209;
       x207=_AAc_50(x1);
       x208=_AOptimExport_30(x207);
       x209=_ASeqMap_3(__AOptimExport_28,x205);
       PRD(3,4,*p1);FLD(*p1,1)=x208;FLD(*p1,2)=x209;
       x1=x206;p1=&FLD(*p1,3);continue;}}
    }else{
     if(ISTGPRD(x1,5)){
      {OBJ x212=FLD(x1,2);OBJ x213=FLD(x1,3);
       COPY(x212,1);CPPRD(x213,1);
       CPCLS(__AOptimExport_28,1);
       {OBJ x214;OBJ x215;OBJ x217;
	x214=_AAc_50(x1);
	x215=_ASeqMap_3(__AOptimExport_28,x212);
	x217=_AOptimExport_30(x214);
	PRD(3,5,*p1);FLD(*p1,1)=x217;FLD(*p1,2)=x215;
	x1=x213;p1=&FLD(*p1,3);continue;}}
     }else{
      if(ISTGPRD(x1,6)){
       {OBJ x219=FLD(x1,2);OBJ x220=FLD(x1,3);OBJ x221=FLD(x1,4);
	CPPRD(x219,1);COPY(x220,1);CPPRD(x221,1);
	CPCLS(__AOptimExport_29,1);
	{OBJ x222;OBJ x223;OBJ x225;OBJ x226;
	 x222=_AAc_50(x1);
	 x223=_AOptimExport_30(x222);
	 x225=_ASeqMap_3(__AOptimExport_29,x220);
	 x226=_AOptimExport_27(x221);
	 PRD(4,6,*p1);FLD(*p1,1)=x223;FLD(*p1,3)=x225;FLD(*p1,4)=x226;
	 x1=x219;p1=&FLD(*p1,2);continue;}}
      }else{
       *p1=x1;}}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_28(OBJ x1) /* killDecAn */
{OBJ r;
 switch(TGPRD(x1)){
  case 2:
   {OBJ x62=FLD(x1,4);
    CPPRD(x62,1);
    CPPRD(x1,2);
    {OBJ x63;OBJ x64;OBJ x65;OBJ x66;
     x63=_AAc_22(x1);
     x64=_AAc_21(x1);
     x65=_AAc_20(x1);
     x66=_AOptimExport_30(x63);
     PRD(4,2,r);FLD(r,1)=x66;FLD(r,2)=x64;FLD(r,3)=x65;
     FLD(r,4)=_AOptimExport_27(x62);}}break;
  case 1:
   CPPRD(x1,2);
   {OBJ x71;OBJ x72;OBJ x73;
    x71=_AAc_20(x1);
    x72=_AAc_21(x1);
    x73=_AAc_22(x1);
    PRD(3,1,r);FLD(r,2)=x72;FLD(r,3)=x71;
    FLD(r,1)=_AOptimExport_30(x73);}break;
  case 3:
   HLT("OptimExport at <367,8-369,57> : missing else in killDecAn\'OptimExport:dec->dec");break;
  default: 
   CPPRD(x1,1);
   {OBJ x56;OBJ x57;
    x56=_AAc_21(x1);
    x57=_AAc_22(x1);
    PRD(2,0,r);FLD(r,2)=x56;
    FLD(r,1)=_AOptimExport_30(x57);}}
 return r;}

extern OBJ _AOptimExport_29(OBJ x1) /* killMatchAn */
{OBJ r;
 {OBJ x16;OBJ x17=FLD1(x1,2);OBJ x18=FLD1(x1,3);
  if(EXPRD(x1,1)){
   CPCLS(__AOptimExport_28,1);
   {OBJ x19;
    x19=_AOptimExport_27(x18);
    RSOME(x1,r);FLD1(r,3)=x19;
    FLD1(r,2)=_ASeqMap_3(__AOptimExport_28,x17);}
  }else{
   x16=FLD1(x1,1);CPPRD(x16,1);COPY(x17,1);CPPRD(x18,1);
   CPCLS(__AOptimExport_28,1);
   {OBJ x19;
    x19=_AOptimExport_27(x18);
    FRPRD(x1,1);PRD1(3,r);FLD1(r,1)=x16;FLD1(r,3)=x19;
    FLD1(r,2)=_ASeqMap_3(__AOptimExport_28,x17);}}}
 return r;}

extern OBJ _AOptimExport_30(OBJ x1) /* minAn */
{OBJ r;
 {OBJ x7;
  if(ISPRM(x1)){
   x7=__ATypeAn_52;
  }else{
   {OBJ x2=FLD1(x1,1);
    if(EXPRD(x1,1)){
     x7=x2;
     FLD1(x1,1)=NIL;DSPRD(x1);
    }else{
     COPY(x2,1);
     x7=x2;
     FRPRD(x1,1);}}}
  if(ISPRM(x7)){
   r=__AAn_2;
  }else{
   r=_AAn_3(__AAn_2,x7);}}
 return r;}

extern OBJ _AOptimExport_31(OBJ x1,OBJ x2,OBJ x3) /* writeOptimExport */
{OBJ r;
 CPPRD(x1,1);
 {OBJ x4;
  x4=_APreparedOptions_6(x1);
  {OBJ x5=FLD1(x1,1);
   if(EXPRD(x1,1)){
    FLD1(x1,1)=NIL;DSPRD(x1);
   }else{
    CPPRD(x5,1);
    FRPRD(x1,1);}
   {OBJ x8;
    x8=x5;
    if(ISTGPRM(x4,1)){
     CPPRD(x2,1);
     CPPRD(x8,1);
     CPCLS(__AOptimExport_46,1);
     CPPRD(__AAcIO_3,1);
     {OBJ x12;OBJ x13;
      x12=_AOcBinStream_4(x8,x2,__AAcIO_3);
      x13=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AOptimExport_46,3))(__AOptimExport_46,x2,x3,x8);
      r=_AComCompose_5(x12,x13);}
    }else{
     CPPRD(__AAcIO_3,1);
     r=_AOcBinStream_2(x8,x2,__AAcIO_3,x3);}}}}
 return r;}

extern OBJ _AOptimExport_32(OBJ x1,OBJ x2) /* diff? */
{OBJ r;
 {OBJ x45=FLD1(x1,1);OBJ x48=FLD1(x1,4);OBJ x49=FLD1(x1,5);
  if(EXPRD(x1,1)){
   FRPRD(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   COPY(x45,1);CPPRD(x48,1);CPPRD(x49,1);
   FRPRD(x1,1);}
  {OBJ x74=FLD1(x2,1);OBJ x77=FLD1(x2,4);OBJ x78=FLD1(x2,5);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    COPY(x74,1);CPPRD(x77,1);CPPRD(x78,1);
    FRPRD(x2,1);}
   {OBJ x79;OBJ x80;OBJ x81;
    x79=_ANatMapConv_2(x48);
    x80=_ANatMapConv_2(x77);
    x81=_AOptimExport_33(x79,x80);
    if(ISTGPRM(x81,1)){
     FREE(x45,1);
     FRPRD(x49,1);
     FREE(x74,1);
     FRPRD(x78,1);
     r=__ABUILTIN_5;
    }else{
     {OBJ x82;
      x82=_AOptimExport_35(x45,x74);
      if(ISTGPRM(x82,1)){
       FRPRD(x49,1);
       FRPRD(x78,1);
       r=__ABUILTIN_5;
      }else{
       {OBJ x83;OBJ x84;
	x83=_ANatMapConv_2(x49);
	x84=_ANatMapConv_2(x78);
	r=_AOptimExport_34(x83,x84);}}}}}}}
 return r;}

extern OBJ _AOptimExport_33(register OBJ x1,register OBJ x2) /* diffUses? */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   if(ISPRM(x2)){
    r=__ABUILTIN_3;
   }else{
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    r=__ABUILTIN_5;}
  }else{
   {OBJ x421=FLD1(x1,1);OBJ x422=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x421,1);COPY(x422,1);
     FRPRD(x1,1);}
    if(ISPRM(x2)){
     FRPRD(x421,1);
     FREE(x422,1);
     r=__ABUILTIN_5;
    }else{
     {OBJ x423=FLD1(x2,1);OBJ x424=FLD1(x2,2);
      if(EXPRD(x2,1)){
       DSPRDF(x2);
      }else{
       CPPRD(x423,1);COPY(x424,1);
       FRPRD(x2,1);}
      {OBJ x427=FLD1(x421,1);OBJ x428=FLD1(x421,2);
       if(EXPRD(x421,1)){
	DSPRDF(x421);
       }else{
	CPPRD(x428,1);
	FRPRD(x421,1);}
       {OBJ x429=FLD1(x423,1);OBJ x430=FLD1(x423,2);
	if(EXPRD(x423,1)){
	 DSPRDF(x423);
	}else{
	 CPPRD(x430,1);
	 FRPRD(x423,1);}
	{OBJ x431;
	 ANat_76(x427,x429,x431);
	 {OBJ x432=FLD1(x428,1);OBJ x433=FLD1(x428,2);
	  if(EXPRD(x428,1)){
	   FLD1(x428,1)=NIL;FLD1(x428,2)=NIL;DSPRD(x428);
	  }else{
	   COPY(x432,1);CPPRD(x433,1);
	   FRPRD(x428,1);}
	  {OBJ x437=FLD1(x430,1);OBJ x438=FLD1(x430,2);
	   if(EXPRD(x430,1)){
	    FLD1(x430,1)=NIL;FLD1(x430,2)=NIL;DSPRD(x430);
	   }else{
	    COPY(x437,1);CPPRD(x438,1);
	    FRPRD(x430,1);}
	   {OBJ x442;
	    if(ISTGPRM(x431,1)){
	     ADenotation_21(x433,x438,x442);
	    }else{
	     FRPRD(x433,1);
	     FRPRD(x438,1);
	     x442=__ABUILTIN_3;}
	    if(ISTGPRM(x442,1)){
	     {OBJ x448;OBJ x450;OBJ x458;
	      if(ISPRM(x432)){
	       x448=__ASourceAn_28;
	      }else{
	       {OBJ x444=FLD1(x432,2);
		if(EXPRD(x432,1)){
		 x448=x444;
		 FLD1(x432,2)=NIL;DSPRD(x432);
		}else{
		 COPY(x444,1);
		 x448=x444;
		 FRPRD(x432,1);}}}
	      if(ISPRD(x448)&&(ISTGPRD(x448,4))){
	       x450=__ABUILTIN_5;
	      }else{
	       x450=__ABUILTIN_3;}
	      if(ISTGPRM(x450,1)){
	       {OBJ x456;
		if(ISPRM(x437)){
		 x456=__ASourceAn_28;
		}else{
		 {OBJ x452=FLD1(x437,2);
		  COPY(x452,1);
		  x456=x452;}}
		if(ISPRD(x456)&&(ISTGPRD(x456,4))){
		 if(EXPRD(x456,1)){
		  FRPRD(FLD(x456,1),1);DSPRDF(x456);
		 }else{
		  DCPRD(x456,1);}
		 x458=__ABUILTIN_5;
		}else{
		 FREE(x456,1);
		 x458=__ABUILTIN_3;}}
	      }else{
	       x458=__ABUILTIN_3;}
	      if(ISTGPRM(x458,1)){
	       {OBJ x464;
		if(ISPRM(x437)){
		 x464=__ASourceAn_28;
		}else{
		 {OBJ x460=FLD1(x437,2);
		  if(EXPRD(x437,1)){
		   x464=x460;
		   FLD1(x437,2)=NIL;DSPRD(x437);
		  }else{
		   COPY(x460,1);
		   x464=x460;
		   FRPRD(x437,1);}}}
		if(ISPRD(x448)&&(ISTGPRD(x448,4))){
		 {OBJ x465=FLD(x448,1);
		  if(EXPRD(x448,1)){
		   DSPRDF(x448);
		  }else{
		   CPPRD(x465,1);
		   FRPRD(x448,1);}
		  if(ISPRD(x464)&&(ISTGPRD(x464,4))){
		   {OBJ x466=FLD(x464,1);
		    if(EXPRD(x464,1)){
		     DSPRDF(x464);
		    }else{
		     CPPRD(x466,1);
		     FRPRD(x464,1);}
		    {OBJ x467;
		     ADenotation_21(x465,x466,x467);
		     if(ISTGPRM(x467,1)){
		      x1=x422;x2=x424;continue;
		     }else{
		      FREE(x422,1);
		      FREE(x424,1);
		      r=__ABUILTIN_5;}}}
		  }else{
		   HLT("SourceAn at <unknown> : undefined selection version\'SourceAn:sourceAn->denotation");}}
		}else{
		 HLT("SourceAn at <unknown> : undefined selection version\'SourceAn:sourceAn->denotation");}}
	      }else{
	       FREE(x422,1);
	       FREE(x424,1);
	       FREE(x437,1);
	       FREE(x448,1);
	       r=__ABUILTIN_5;}}
	    }else{
	     FREE(x422,1);
	     FREE(x424,1);
	     FREE(x432,1);
	     FREE(x437,1);
	     r=__ABUILTIN_5;}}}}}}}}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_34(register OBJ x1,register OBJ x2) /* diffDecs? */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   if(ISPRM(x2)){
    r=__ABUILTIN_3;
   }else{
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    r=__ABUILTIN_5;}
  }else{
   {OBJ x518=FLD1(x1,1);OBJ x519=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x518,1);COPY(x519,1);
     FRPRD(x1,1);}
    {OBJ x520=FLD1(x518,1);OBJ x521=FLD1(x518,2);
     if(EXPRD(x518,1)){
      DSPRDF(x518);
     }else{
      CPPRD(x521,1);
      FRPRD(x518,1);}
     switch(TGPRD(x521)){
      case 3:
       {OBJ x543=FLD(x521,4);
	if(ISPRM(x2)){
	 FREE(x519,1);
	 if(EXPRD(x521,1)){
	  DSPRD(x521);
	 }else{
	  DCPRD(x521,1);}
	 r=__ABUILTIN_5;
	}else{
	 {OBJ x544=FLD1(x2,1);OBJ x545=FLD1(x2,2);
	  if(EXPRD(x2,1)){
	   DSPRDF(x2);
	  }else{
	   CPPRD(x544,1);COPY(x545,1);
	   FRPRD(x2,1);}
	  {OBJ x546=FLD1(x544,1);OBJ x547=FLD1(x544,2);
	   if(EXPRD(x544,1)){
	    DSPRDF(x544);
	   }else{
	    CPPRD(x547,1);
	    FRPRD(x544,1);}
	   if(ISTGPRD(x547,3)){
	    {OBJ x551=FLD(x547,4);
	     {OBJ x552;OBJ x553;OBJ x554;OBJ x556;
	      ANat_77(x520,x546,x552);
	      x553=_AAc_22(x547);
	      x554=_AAc_22(x521);
	      if(ISTGPRM(x552,1)){
	       FREE(x553,1);
	       FREE(x554,1);
	       x556=__ABUILTIN_5;
	      }else{
	       {OBJ x555;
		ANat_77(x543,x551,x555);
		if(ISTGPRM(x555,1)){
		 FREE(x553,1);
		 FREE(x554,1);
		 x556=__ABUILTIN_5;
		}else{
		 x556=_AOptimExport_35(x554,x553);}}}
	      if(ISTGPRM(x556,1)){
	       FREE(x519,1);
	       FREE(x545,1);
	       r=__ABUILTIN_5;
	      }else{
	       x1=x519;x2=x545;continue;}}}
	   }else{
	    FREE(x519,1);
	    if(EXPRD(x521,1)){
	     DSPRD(x521);
	    }else{
	     DCPRD(x521,1);}
	    FREE(x545,1);
	    FRPRD(x547,1);
	    r=__ABUILTIN_5;}}}}}break;
      case 1:
       if(ISPRM(x2)){
	FREE(x519,1);
	if(EXPRD(x521,1)){
	 DSPRD(x521);
	}else{
	 DCPRD(x521,1);}
	r=__ABUILTIN_5;
       }else{
	{OBJ x560=FLD1(x2,1);OBJ x561=FLD1(x2,2);
	 if(EXPRD(x2,1)){
	  DSPRDF(x2);
	 }else{
	  CPPRD(x560,1);COPY(x561,1);
	  FRPRD(x2,1);}
	 {OBJ x562=FLD1(x560,1);OBJ x563=FLD1(x560,2);
	  if(EXPRD(x560,1)){
	   DSPRDF(x560);
	  }else{
	   CPPRD(x563,1);
	   FRPRD(x560,1);}
	  if(ISTGPRD(x563,1)){
	   {OBJ x567;OBJ x568;OBJ x569;OBJ x570;
	    x567=_AAc_22(x521);
	    x568=_AAc_22(x563);
	    ANat_77(x520,x562,x569);
	    if(ISTGPRM(x569,1)){
	     FREE(x567,1);
	     FREE(x568,1);
	     x570=__ABUILTIN_5;
	    }else{
	     x570=_AOptimExport_35(x567,x568);}
	    if(ISTGPRM(x570,1)){
	     FREE(x519,1);
	     FREE(x561,1);
	     r=__ABUILTIN_5;
	    }else{
	     x1=x519;x2=x561;continue;}}
	  }else{
	   FREE(x519,1);
	   if(EXPRD(x521,1)){
	    DSPRD(x521);
	   }else{
	    DCPRD(x521,1);}
	   FREE(x561,1);
	   FRPRD(x563,1);
	   r=__ABUILTIN_5;}}}}break;
      case 0:
       if(EXPRD(x521,1)){
	DSPRD(x521);
       }else{
	DCPRD(x521,1);}
       FREE(x2,1);
       FREE(x519,1);
       r=__ABUILTIN_5;break;
      default: 
       {OBJ x525=FLD(x521,4);
	CPPRD(x525,1);
	if(ISPRM(x2)){
	 FREE(x519,1);
	 if(EXPRD(x521,1)){
	  DSPRD(x521);
	 }else{
	  DCPRD(x521,1);}
	 FRPRD(x525,1);
	 r=__ABUILTIN_5;
	}else{
	 {OBJ x526=FLD1(x2,1);OBJ x527=FLD1(x2,2);
	  if(EXPRD(x2,1)){
	   DSPRDF(x2);
	  }else{
	   CPPRD(x526,1);COPY(x527,1);
	   FRPRD(x2,1);}
	  {OBJ x528=FLD1(x526,1);OBJ x529=FLD1(x526,2);
	   if(EXPRD(x526,1)){
	    DSPRDF(x526);
	   }else{
	    CPPRD(x529,1);
	    FRPRD(x526,1);}
	   if(ISTGPRD(x529,2)){
	    {OBJ x533=FLD(x529,4);
	     CPPRD(x533,1);
	     {OBJ x534;OBJ x535;OBJ x536;OBJ x539;
	      x534=_AAc_22(x521);
	      x535=_AAc_22(x529);
	      ANat_77(x520,x528,x536);
	      if(ISTGPRM(x536,1)){
	       FRPRD(x525,1);
	       FRPRD(x533,1);
	       FREE(x534,1);
	       FREE(x535,1);
	       x539=__ABUILTIN_5;
	      }else{
	       {OBJ x537;
		x537=_AOptimExport_35(x534,x535);
		if(ISTGPRM(x537,1)){
		 FRPRD(x525,1);
		 FRPRD(x533,1);
		 x539=__ABUILTIN_5;
		}else{
		 {OBJ x538;
		  x538=_AAcFun_1(x525,x533);
		  if(ISTGPRM(x538,1)){
		   x539=__ABUILTIN_3;
		  }else{
		   x539=__ABUILTIN_5;}}}}}
	      if(ISTGPRM(x539,1)){
	       FREE(x519,1);
	       FREE(x527,1);
	       r=__ABUILTIN_5;
	      }else{
	       x1=x519;x2=x527;continue;}}}
	   }else{
	    FREE(x519,1);
	    if(EXPRD(x521,1)){
	     DSPRD(x521);
	    }else{
	     DCPRD(x521,1);}
	    FRPRD(x525,1);
	    FREE(x527,1);
	    FRPRD(x529,1);
	    r=__ABUILTIN_5;}}}}}}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_35(OBJ x1,OBJ x2) /* diffAn? */
{OBJ r;
 {OBJ x20;OBJ x8;OBJ x26;OBJ x14;OBJ x27;
  if(ISPRM(x1)){
   x20=__AOptimAn_24;x8=__ATypeAn_52;
  }else{
   {OBJ x33=FLD1(x1,1);OBJ x35=FLD1(x1,3);
    if(EXPRD(x1,1)){
     x8=x33;x20=x35;
     FLD1(x1,1)=NIL;FLD1(x1,3)=NIL;DSPRD(x1);
    }else{
     COPY(x33,1);COPY(x35,1);
     x8=x33;x20=x35;
     FRPRD(x1,1);}}}
  if(ISPRM(x2)){
   x26=__AOptimAn_24;x14=__ATypeAn_52;
  }else{
   {OBJ x44=FLD1(x2,1);OBJ x46=FLD1(x2,3);
    if(EXPRD(x2,1)){
     x14=x44;x26=x46;
     FLD1(x2,1)=NIL;FLD1(x2,3)=NIL;DSPRD(x2);
    }else{
     COPY(x44,1);COPY(x46,1);
     x14=x44;x26=x46;
     FRPRD(x2,1);}}}
  x27=_AOptimExport_36(x8,x14);
  if(ISTGPRM(x27,1)){
   FREE(x20,1);
   FREE(x26,1);
   r=__ABUILTIN_5;
  }else{
   r=_AOptimExport_40(x20,x26);}}
 return r;}

extern OBJ _AOptimExport_36(OBJ x1,OBJ x2) /* diffTypeAn? */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__ABUILTIN_3;
  }else{
   FREE(x2,1);
   r=__ABUILTIN_5;}
 }else{
  switch(TGPRD(x1)){
   case 3:
    {OBJ x43=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      CPPRD(x43,1);
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,3))){
      {OBJ x44=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	CPPRD(x44,1);
	FRPRD(x2,1);}
       {OBJ x45;OBJ x46;
	x45=_ANatMapConv_2(x43);
	x46=_ANatMapConv_2(x44);
	r=_AOptimExport_37(x45,x46);}}
     }else{
      FREE(x2,1);
      FRPRD(x43,1);
      r=__ABUILTIN_5;}}break;
   case 2:
    if(EXPRD(x1,1)){
     FREE(FLD(x1,1),1);DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    FREE(x2,1);
    r=__ABUILTIN_5;break;
   default: 
    {OBJ x41=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      COPY(x41,1);
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,1))){
      {OBJ x42=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	COPY(x42,1);
	FRPRD(x2,1);}
       r=_AOptimExport_38(x41,x42);}
     }else{
      FREE(x2,1);
      FREE(x41,1);
      r=__ABUILTIN_5;}}}}
 return r;}

extern OBJ _AOptimExport_37(register OBJ x1,register OBJ x2) /* diffTypeDecs? */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   if(ISPRM(x2)){
    r=__ABUILTIN_3;
   }else{
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    r=__ABUILTIN_5;}
  }else{
   {OBJ x228=FLD1(x1,1);OBJ x229=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x228,1);COPY(x229,1);
     FRPRD(x1,1);}
    {OBJ x230=FLD1(x228,1);OBJ x231=FLD1(x228,2);
     if(EXPRD(x228,1)){
      DSPRDF(x228);
     }else{
      CPPRD(x231,1);
      FRPRD(x228,1);}
     switch(TGPRD(x231)){
      case 1:
       {OBJ x240=FLD(x231,2);
	if(EXPRD(x231,1)){
	 FRPRD(FLD(x231,1),1);DSPRDF(x231);
	}else{
	 COPY(x240,1);
	 FRPRD(x231,1);}
	if(ISPRM(x2)){
	 FREE(x229,1);
	 FREE(x240,1);
	 r=__ABUILTIN_5;
	}else{
	 {OBJ x241=FLD1(x2,1);OBJ x242=FLD1(x2,2);
	  if(EXPRD(x2,1)){
	   DSPRDF(x2);
	  }else{
	   CPPRD(x241,1);COPY(x242,1);
	   FRPRD(x2,1);}
	  {OBJ x243=FLD1(x241,1);OBJ x244=FLD1(x241,2);
	   if(EXPRD(x241,1)){
	    DSPRDF(x241);
	   }else{
	    CPPRD(x244,1);
	    FRPRD(x241,1);}
	   if(ISTGPRD(x244,1)){
	    {OBJ x246=FLD(x244,2);
	     if(EXPRD(x244,1)){
	      FRPRD(FLD(x244,1),1);DSPRDF(x244);
	     }else{
	      COPY(x246,1);
	      FRPRD(x244,1);}
	     {OBJ x247;OBJ x248;
	      ANat_77(x230,x243,x247);
	      if(ISTGPRM(x247,1)){
	       FREE(x240,1);
	       FREE(x246,1);
	       x248=__ABUILTIN_5;
	      }else{
	       x248=_AOptimExport_38(x240,x246);}
	      if(ISTGPRM(x248,1)){
	       FREE(x229,1);
	       FREE(x242,1);
	       r=__ABUILTIN_5;
	      }else{
	       x1=x229;x2=x242;continue;}}}
	   }else{
	    FREE(x229,1);
	    FREE(x240,1);
	    FREE(x242,1);
	    FRPRD(x244,1);
	    r=__ABUILTIN_5;}}}}}break;
      case 2:
       if(EXPRD(x231,1)){
	DSPRD(x231);
       }else{
	DCPRD(x231,1);}
       FREE(x2,1);
       FREE(x229,1);
       r=__ABUILTIN_5;break;
      default: 
       if(EXPRD(x231,1)){
	FRPRD(FLD(x231,1),1);DSPRDF(x231);
       }else{
	DCPRD(x231,1);}
       if(ISPRM(x2)){
	FREE(x229,1);
	r=__ABUILTIN_5;
       }else{
	{OBJ x233=FLD1(x2,1);OBJ x234=FLD1(x2,2);
	 if(EXPRD(x2,1)){
	  DSPRDF(x2);
	 }else{
	  CPPRD(x233,1);COPY(x234,1);
	  FRPRD(x2,1);}
	 {OBJ x235=FLD1(x233,1);OBJ x236=FLD1(x233,2);
	  if(EXPRD(x233,1)){
	   DSPRDF(x233);
	  }else{
	   CPPRD(x236,1);
	   FRPRD(x233,1);}
	  if(ISTGPRD(x236,0)){
	   if(EXPRD(x236,1)){
	    FRPRD(FLD(x236,1),1);DSPRDF(x236);
	   }else{
	    DCPRD(x236,1);}
	   {OBJ x238;
	    ANat_77(x230,x235,x238);
	    if(ISTGPRM(x238,1)){
	     FREE(x229,1);
	     FREE(x234,1);
	     r=__ABUILTIN_5;
	    }else{
	     x1=x229;x2=x234;continue;}}
	  }else{
	   FREE(x229,1);
	   FREE(x234,1);
	   FRPRD(x236,1);
	   r=__ABUILTIN_5;}}}}}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_38(register OBJ x1,register OBJ x2) /* diffType? */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   if(ISPRM(x2)){
    r=__ABUILTIN_3;
   }else{
    FREE(x2,1);
    r=__ABUILTIN_5;}
  }else{
   switch(TGPRD(x1)){
    case 5:
     {OBJ x283=FLD(x1,1);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       COPY(x283,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,5))){
       {OBJ x284=FLD(x2,1);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 COPY(x284,1);
	 FRPRD(x2,1);}
	r=_AOptimExport_39(x283,x284);}
      }else{
       FREE(x2,1);
       FREE(x283,1);
       r=__ABUILTIN_5;}}break;
    case 6:
     {OBJ x285=FLD(x1,1);OBJ x286=FLD(x1,2);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       COPY(x285,1);COPY(x286,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,6))){
       {OBJ x287=FLD(x2,1);OBJ x288=FLD(x2,2);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 COPY(x287,1);COPY(x288,1);
	 FRPRD(x2,1);}
	{OBJ x289;
	 x289=_AOptimExport_38(x285,x287);
	 if(ISTGPRM(x289,1)){
	  FREE(x286,1);
	  FREE(x288,1);
	  r=__ABUILTIN_5;
	 }else{
	  r=_AOptimExport_39(x286,x288);}}}
      }else{
       FREE(x2,1);
       FREE(x285,1);
       FREE(x286,1);
       r=__ABUILTIN_5;}}break;
    case 7:
     {OBJ x290=FLD(x1,1);OBJ x291=FLD(x1,2);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       COPY(x290,1);COPY(x291,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,7))){
       {OBJ x292=FLD(x2,1);OBJ x293=FLD(x2,2);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 COPY(x292,1);COPY(x293,1);
	 FRPRD(x2,1);}
	CPCLS(__AIde_13,1);
	{OBJ x294;
	 x294=_ASeqCompare_3(__AIde_13,x290,x292);
	 if(ISTGPRM(x294,1)){
	  x1=x291;x2=x293;continue;
	 }else{
	  FREE(x291,1);
	  FREE(x293,1);
	  r=__ABUILTIN_5;}}}
      }else{
       FREE(x2,1);
       FREE(x290,1);
       FREE(x291,1);
       r=__ABUILTIN_5;}}break;
    case 4:
     {OBJ x295=FLD(x1,1);OBJ x296=FLD(x1,2);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       CPPRD(x295,1);COPY(x296,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,4))){
       {OBJ x297=FLD(x2,1);OBJ x298=FLD(x2,2);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 CPPRD(x297,1);COPY(x298,1);
	 FRPRD(x2,1);}
	{OBJ x299;
	 x299=_AIde_13(x295,x297);
	 if(ISTGPRM(x299,1)){
	  r=_AOptimExport_39(x296,x298);
	 }else{
	  FREE(x296,1);
	  FREE(x298,1);
	  r=__ABUILTIN_5;}}}
      }else{
       FREE(x2,1);
       FRPRD(x295,1);
       FREE(x296,1);
       r=__ABUILTIN_5;}}break;
    case 1:
     {OBJ x300=FLD(x1,1);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       CPPRD(x300,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,1))){
       {OBJ x301=FLD(x2,1);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 CPPRD(x301,1);
	 FRPRD(x2,1);}
	{OBJ x302;
	 x302=_AIde_13(x300,x301);
	 if(ISTGPRM(x302,1)){
	  r=__ABUILTIN_3;
	 }else{
	  r=__ABUILTIN_5;}}}
      }else{
       FREE(x2,1);
       FRPRD(x300,1);
       r=__ABUILTIN_5;}}break;
    case 2:
     {OBJ x303=FLD(x1,1);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       COPY(x303,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,2))){
       {OBJ x304=FLD(x2,1);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 COPY(x304,1);
	 FRPRD(x2,1);}
	r=_AOptimExport_39(x303,x304);}
      }else{
       FREE(x2,1);
       FREE(x303,1);
       r=__ABUILTIN_5;}}break;
    default: 
     {OBJ x278=FLD(x1,1);OBJ x279=FLD(x1,2);
      if(EXPRD(x1,1)){
       DSPRDF(x1);
      }else{
       COPY(x278,1);COPY(x279,1);
       FRPRD(x1,1);}
      if(ISPRD(x2)&&(ISTGPRD(x2,3))){
       {OBJ x280=FLD(x2,1);OBJ x281=FLD(x2,2);
	if(EXPRD(x2,1)){
	 DSPRDF(x2);
	}else{
	 COPY(x280,1);COPY(x281,1);
	 FRPRD(x2,1);}
	{OBJ x282;
	 x282=_AOptimExport_38(x279,x281);
	 if(ISTGPRM(x282,1)){
	  FREE(x278,1);
	  FREE(x280,1);
	  r=__ABUILTIN_5;
	 }else{
	  r=_AOptimExport_39(x278,x280);}}}
      }else{
       FREE(x2,1);
       FREE(x278,1);
       FREE(x279,1);
       r=__ABUILTIN_5;}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_39(register OBJ x1,register OBJ x2) /* diffTypes? */
{OBJ r;
 for(;;){
  if(ISPRM(x1)){
   if(ISPRM(x2)){
    r=__ABUILTIN_3;
   }else{
    if(EXPRD(x2,1)){
     DSPRD(x2);
    }else{
     DCPRD(x2,1);}
    r=__ABUILTIN_5;}
  }else{
   {OBJ x61=FLD1(x1,1);OBJ x62=FLD1(x1,2);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     COPY(x61,1);COPY(x62,1);
     FRPRD(x1,1);}
    if(ISPRM(x2)){
     FREE(x61,1);
     FREE(x62,1);
     r=__ABUILTIN_5;
    }else{
     {OBJ x63=FLD1(x2,1);OBJ x64=FLD1(x2,2);
      if(EXPRD(x2,1)){
       DSPRDF(x2);
      }else{
       COPY(x63,1);COPY(x64,1);
       FRPRD(x2,1);}
      {OBJ x67;
       x67=_AOptimExport_38(x61,x63);
       if(ISTGPRM(x67,1)){
	FREE(x62,1);
	FREE(x64,1);
	r=__ABUILTIN_5;
       }else{
	x1=x62;x2=x64;continue;}}}}}}
  break;}
 return r;}

extern OBJ _AOptimExport_40(OBJ x1,OBJ x2) /* diffOptimAn? */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__ABUILTIN_3;
  }else{
   FREE(x2,1);
   r=__ABUILTIN_5;}
 }else{
  switch(TGPRD(x1)){
   case 2:
    {OBJ x102=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,2))){
      {OBJ x103=FLD(x2,1);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       ANat_77(x102,x103,r);}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_5;}}break;
   case 3:
    if(EXPRD(x1,1)){
     FREE(FLD(x1,1),1);DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    FREE(x2,1);
    r=__ABUILTIN_5;break;
   default: 
    {OBJ x94=FLD(x1,1);OBJ x95=FLD(x1,2);OBJ x96=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,1))){
      {OBJ x97=FLD(x2,1);OBJ x98=FLD(x2,2);OBJ x99=FLD(x2,3);
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       {OBJ x100;
	ANat_77(x94,x97,x100);
	if(ISTGPRM(x100,1)){
	 r=__ABUILTIN_5;
	}else{
	 {OBJ x101;
	  ANat_77(x95,x98,x101);
	  if(ISTGPRM(x101,1)){
	   r=__ABUILTIN_5;
	  }else{
	   ANat_77(x96,x99,r);}}}}}
     }else{
      FREE(x2,1);
      r=__ABUILTIN_5;}}}}
 return r;}

extern OBJ _AOptimExport_41(OBJ x1,OBJ x2) /* diffExp? */
{OBJ r;
 {OBJ x3;
  x3=_AAcFun_1(x1,x2);
  if(ISTGPRM(x3,1)){
   r=__ABUILTIN_3;
  }else{
   r=__ABUILTIN_5;}}
 return r;}

extern OBJ _AOptimExport_45(OBJ x1) /* writeOptimExport'45 */
{OBJ r;
 CPPRD(__AOptimExport_44,1);
 CPCLS(__ACom_47,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,__AOptimExport_44);
 return r;}

extern OBJ _AOptimExport_46(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* writeOptimExport'46 */
{OBJ r;
 if(ISPRM(x4)){
  CPPRD(__AAcIO_3,1);
  r=_AOcBinStream_2(x3,x1,__AAcIO_3,x2);
 }else{
  {OBJ x11=FLD1(x4,1);
   if(EXPRD(x4,1)){
    DSPRDF(x4);
   }else{
    CPPRD(x11,1);
    FRPRD(x4,1);}
   CPPRD(x2,1);
   {OBJ x12;
    x12=_AOptimExport_32(x11,x2);
    if(ISTGPRM(x12,1)){
     CPPRD(__AAcIO_3,1);
     r=_AOcBinStream_2(x3,x1,__AAcIO_3,x2);
    }else{
     FRPRD(x1,1);
     FRPRD(x2,1);
     FRPRD(x3,1);
     CPCLS(__AOptimExport_45,1);
     {OBJ x13;
      x13=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimExport_45,1))(__AOptimExport_45,__ABUILTIN_20);
      PRD(2,0,r);FLD(r,1)=x13;FLD(r,2)=__ASeq_6;}}}}}
 return r;}

extern OBJ _AOptimExport_47(OBJ x1,OBJ x2) /* optimExport'47 */
{OBJ r;
 r=_AAcDump_1(x1,x2);
 return r;}

extern OBJ _AOptimExport_49(OBJ x1,OBJ x2) /* optimExport'49 */
{OBJ r;
 CPPRD(__AOcError_15,1);
 CPCLS(__ACom_47,1);
 {OBJ x3;OBJ x4;OBJ x5;
  PRD1(2,x3);FLD1(x3,1)=x1;FLD1(x3,2)=__AOcError_15;
  PRD(1,0,x4);FLD(x4,1)=x3;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x4);
  PRD(2,0,r);FLD(r,1)=x5;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AOptimExport_50(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* optimExport'50 */
{OBJ r;
 CPCLS(__AOptimExport_49,1);
 FRPRD(x5,1);
 {OBJ x6;OBJ x7;
  x6=_AOptimExport_31(x1,x2,x4);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimExport_49,1))(__AOptimExport_49,x3);
  r=_AComCompose_5(x6,x7);}
 return r;}

extern OBJ _AOptimExport_51(OBJ x1,OBJ x2,OBJ x3) /* optimExport'51 */
{OBJ r;
 CPPRD(x1,1);
 {OBJ x8;
  x8=_APreparedOptions_5(x1);
  {OBJ x4=FLD1(x1,1);
   CPPRD(x4,1);
   CPCLS(__AOptimExport_47,1);
   {OBJ x7;OBJ x9;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;OBJ x16;
    x7=x4;
    CPPRD(x7,1);
    x9=_AOcOptions_23(x7);
    x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimExport_47,1))(__AOptimExport_47,x7);
    if(ISTGPRM(x8,1)){
     CPPRD(x1,2);
     CPPRD(__AOptimExport_48,1);
     CPCLS(__AOptimExport_50,1);
     {TUP2 t=_AOptimExport_9(x1,x2,x3);
      x12=t.c1;
      x13=t.c2;}
    }else{
     CPPRD(x1,2);
     CPPRD(__AOptimExport_48,1);
     CPCLS(__AOptimExport_50,1);
     {TUP2 t=_AOptimExport_8(x1,x2,x3);
      x12=t.c1;
      x13=t.c2;}}
    CPPRD(x13,1);
    PRD(1,0,x14);FLD(x14,1)=x13;
    x15=_ADumpToFile_2(x1,__AOptimExport_48,x11,x14);
    x16=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AOptimExport_50,4))(__AOptimExport_50,x1,x9,x12,x13);
    r=_AComCompose_5(x15,x16);}}}
 return r;}

static void ___AOptimExport_6()
{
 CPPRD(__AOptimExport_52,1);
 CPCLS(__ACom_47,1);
 {OBJ x1;OBJ x2;
  PRD(1,0,x1);FLD(x1,1)=__AOptimExport_52;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x1);
  PRD(2,0,__AOptimExport_6);FLD(__AOptimExport_6,1)=x2;FLD(__AOptimExport_6,2)=__ASeq_6;}}




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

static OBJ _mt_5_0_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,4);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 return r;}

static OBJ _mt_5_2_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),t1,t2,t3);
 return r;}

static OBJ _mt_5_4_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 return r;}
static OBJ _mt_5_4_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_AOptimExport()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeqMap();
 init_ASeqReduce();
 init_ASeqCompare();
 init_ADenotation();
 init_AAc();
 init_AComCompose();
 init_AOcError();
 init_AComSeqReduce();
 init_APair();
 init_ANatMapConv();
 init_ACom();
 init_ANatMapReduce();
 init_APreparedOptions();
 init_AOcVerbose();
 init_ANat();
 init_AIdeSet();
 init_AOcOptions();
 init_AAcIO();
 init_AChar();
 init_AAcFun();
 init_ASeq();
 init_AAcDump();
 init_AStream();
 init_ATypeAnFun();
 init_AVoid();
 init_AOptimAnFun();
 init_AString();
 init_ADumpToFile();
 init_AFile();
 init_ARelCmp();
 init_AInt();
 init_AArray();
 init_AOption();
 init_AMap();
 init_AOcPos();
 init_ASetByBST();
 init_ANatMap();
 init_ABSTree();
 init_AIde();
 init_ATree();
 init_AAn();
 init_ABitset();
 init_ATypeAn();
 init_ASeqConv();
 init_ASourceAn();
 init_AMapConv();
 init_AOptimAn();
 init_AReal();
 init_ATransAn();
 init_AMapReduce();
 init_APragmaAn();
 init_ASetByBSTFilter();
 init_AStore();
 init_ASetByBSTConv();
 init_AFormat();
 init_ABSTreeConv();
 init_AFmt();
 init_AOcBinStream();
 init_ASet();
 init_ABuiltin();
 init_AIdeMap();
 CLS(3,_AOptimExport_31,__AOptimExport_31);
 CLS(1,_AOptimExport_30,__AOptimExport_30);
 CLS(1,_AOptimExport_29,__AOptimExport_29);
 CLS(1,_AOptimExport_28,__AOptimExport_28);
 CLS(1,_AOptimExport_27,__AOptimExport_27);
 CLS(4,_AOptimExport_26,__AOptimExport_26);
 CLS(4,_AOptimExport_25,__AOptimExport_25);
 CLS(4,_AOptimExport_24,__AOptimExport_24);
 CLS(4,_AOptimExport_23,__AOptimExport_23);
 CLS(4,_AOptimExport_22,__AOptimExport_22);
 CLS(4,_AOptimExport_21,__AOptimExport_21);
 DEN("Time missing",__AOptimExport_52);
 CLS(3,_AOptimExport_51,__AOptimExport_51);
 CLS(5,_AOptimExport_50,__AOptimExport_50);
 CLS(2,_AOptimExport_49,__AOptimExport_49);
 CLS(2,_AOptimExport_17,__AOptimExport_17);
 DEN("OptimExport",__AOptimExport_48);
 CLS(2,_AOptimExport_16,__AOptimExport_16);
 CLS(2,_AOptimExport_47,__AOptimExport_47);
 CLS(3,_AOptimExport_15,__AOptimExport_15);
 CLS(4,_AOptimExport_46,__AOptimExport_46);
 CLS(1,_AOptimExport_14,__AOptimExport_14);
 LCLS(1,_AOptimExport_45,__AOptimExport_45);
 CLS(4,_AOptimExport_13,__AOptimExport_13);
 CLS(5,_AOptimExport_12,__AOptimExport_12);
 CLS(4,_AOptimExport_11,__AOptimExport_11);
 CLS(3,_AOptimExport_10,__AOptimExport_10);
 CLS(3,_AOptimExport_9_c,__AOptimExport_9);
 CLS(2,_AOptimExport_41,__AOptimExport_41);
 CLS(3,_AOptimExport_8_c,__AOptimExport_8);
 CLS(2,_AOptimExport_40,__AOptimExport_40);
 CLS(2,_AOptimExport_39,__AOptimExport_39);
 CLS(2,_AOptimExport_38,__AOptimExport_38);
 CLS(1,_AOptimExport_5,__AOptimExport_5);
 CLS(2,_AOptimExport_37,__AOptimExport_37);
 CLS(1,_AOptimExport_4,__AOptimExport_4);
 CLS(2,_AOptimExport_36,__AOptimExport_36);
 CLS(1,_AOptimExport_3,__AOptimExport_3);
 CLS(2,_AOptimExport_35,__AOptimExport_35);
 CLS(2,_AOptimExport_34,__AOptimExport_34);
 CLS(2,_AOptimExport_1,__AOptimExport_1);
 CLS(2,_AOptimExport_33,__AOptimExport_33);
 CLS(2,_AOptimExport_32,__AOptimExport_32);
 MTH(5,0,2,_mt_5_0_2);LZYMTH(5,0,2,_mt_5_0_2);
 MTH(5,0,4,_mt_5_0_4);LZYMTH(5,0,4,_mt_5_0_4);
 MTH(5,2,3,_mt_5_2_3);LZYMTH(5,2,3,_mt_5_2_3);
 MTH(5,4,1,_mt_5_4_1);LZYMTH(5,4,1,_mt_5_4_1_l);
 ___AOptimExport_6();
 COPY(__AIdeSet_2,2);
 PRD1(2,__AOptimExport_42);FLD1(__AOptimExport_42,1)=__AIdeSet_2;FLD1(__AOptimExport_42,2)=__AIdeSet_2;
 COPY(__AIdeSet_2,2);
 PRD1(2,__AOptimExport_43);FLD1(__AOptimExport_43,1)=__AIdeSet_2;FLD1(__AOptimExport_43,2)=__AIdeSet_2;
 PRDF(1,0,__AOptimExport_44);FLD(__AOptimExport_44,1)=__AVoid_2;}

