

#include "BUILTIN.h"

#include "Array.h"
extern OBJ __AOptimAn_24;
extern OBJ _AMapConv_4(OBJ,OBJ);extern OBJ __AMapConv_4;
extern OBJ _AIde_14(OBJ,OBJ);extern OBJ __AIde_14;
extern OBJ __AIde_17;
extern OBJ _AIde_18(OBJ);extern OBJ __AIde_18;
extern OBJ _AFormat_5(OBJ,OBJ);extern OBJ __AFormat_5;
extern OBJ __ASeq_6;
extern OBJ _ASeq_14(OBJ,OBJ);extern OBJ __ASeq_14;
extern OBJ _ASeq_15(OBJ,OBJ,OBJ);extern OBJ __ASeq_15;
extern OBJ _ASeq_18(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeq_18;

#include "Nat.h"
extern OBJ _AFmt_28(OBJ);extern OBJ __AFmt_28;

#include "Char.h"

#include "Int.h"
extern OBJ _ANatMap_14(OBJ,OBJ);extern OBJ __ANatMap_14;

#include "NatConv.h"
extern OBJ _AFormatFun1_2(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AFormatFun1_2;

#include "Real.h"
extern OBJ _AMap_33(OBJ,OBJ,OBJ);extern OBJ __AMap_33;
extern OBJ _AOptimAnFun_1(OBJ,OBJ);OBJ __AOptimAnFun_1; /* props */
extern OBJ _AOptimAnFun_2(OBJ);OBJ __AOptimAnFun_2; /* format */
extern OBJ _AOptimAnFun_3(OBJ);OBJ __AOptimAnFun_3; /* format,1 */
extern OBJ _AOptimAnFun_4(OBJ);OBJ __AOptimAnFun_4; /* format,2 */
OBJ __AOptimAnFun_5; /* format,2'5 */
extern OBJ _AOptimAnFun_6(OBJ);OBJ __AOptimAnFun_6; /* format,2'6 */
OBJ __AOptimAnFun_7; /* format,2'7 */
extern OBJ _AOptimAnFun_8(OBJ);OBJ __AOptimAnFun_8; /* format,2'8 */
OBJ __AOptimAnFun_9; /* format,2'9 */
extern OBJ _AOptimAnFun_10(OBJ);OBJ __AOptimAnFun_10; /* format,2'10 */
OBJ __AOptimAnFun_11; /* format,2'11 */
extern OBJ _AOptimAnFun_12(OBJ);OBJ __AOptimAnFun_12; /* format,2'12 */
OBJ __AOptimAnFun_13; /* format,2'13 */
extern OBJ _AOptimAnFun_14(OBJ);OBJ __AOptimAnFun_14; /* format,2'14 */
OBJ __AOptimAnFun_15; /* format,1'15 */
extern OBJ _AOptimAnFun_16(OBJ);OBJ __AOptimAnFun_16; /* format,1'16 */
OBJ __AOptimAnFun_17; /* format,1'17 */
extern OBJ _AOptimAnFun_18(OBJ);OBJ __AOptimAnFun_18; /* format,1'18 */
OBJ __AOptimAnFun_19; /* format,1'19 */
extern OBJ _AOptimAnFun_20(OBJ);OBJ __AOptimAnFun_20; /* format,1'20 */
OBJ __AOptimAnFun_21; /* format,1'21 */
extern OBJ _AOptimAnFun_22(OBJ);OBJ __AOptimAnFun_22; /* format,1'22 */
OBJ __AOptimAnFun_23; /* format'23 */
extern OBJ _AOptimAnFun_24(OBJ);OBJ __AOptimAnFun_24; /* format'24 */
OBJ __AOptimAnFun_25; /* format'25 */
extern OBJ _AOptimAnFun_26(OBJ);OBJ __AOptimAnFun_26; /* format'26 */
OBJ __AOptimAnFun_27; /* format'27 */
extern OBJ _AOptimAnFun_28(OBJ);OBJ __AOptimAnFun_28; /* format'28 */
OBJ __AOptimAnFun_29; /* format'29 */
extern OBJ _AOptimAnFun_30(OBJ);OBJ __AOptimAnFun_30; /* format'30 */
OBJ __AOptimAnFun_31; /* format'31 */
extern OBJ _AOptimAnFun_32(OBJ);OBJ __AOptimAnFun_32; /* format'32 */
extern OBJ _AOptimAnFun_33(OBJ);OBJ __AOptimAnFun_33; /* format'33 */
extern OBJ _AOptimAnFun_34(OBJ);OBJ __AOptimAnFun_34; /* format'34 */
OBJ __AOptimAnFun_35; /* format'35 */
extern OBJ _AOptimAnFun_36(OBJ);OBJ __AOptimAnFun_36; /* format'36 */

extern OBJ _AOptimAnFun_1(OBJ x1,OBJ x2) /* props */
{OBJ r;
 {OBJ x7;OBJ x8;OBJ x86;
  if(ISTGPRD(x2,0)){
   {OBJ x4=FLD(x2,2);
    x7=x4;}
  }else{
   HLT("Ide at <unknown> : undefined selection origin\'Ide:ide->origin");}
  ANat_76(x7,__AIde_17,x8);
  if(ISTGPRM(x8,1)){
   {OBJ x26=FLD1(x1,1);
    if(EXPRD(x1,1)){
     FLD1(x1,1)=NIL;DSPRD(x1);
    }else{
     COPY(x26,1);
     FRPRD(x1,1);}
    if(ISPRM(x26)){
     x86=__AOptimAn_24;
    }else{
     {OBJ x33=FLD1(x26,3);
      if(EXPRD(x26,1)){
       x86=x33;
       FLD1(x26,3)=NIL;DSPRD(x26);
      }else{
       COPY(x33,1);
       x86=x33;
       FRPRD(x26,1);}}}}
  }else{
   {OBJ x73=FLD1(x1,4);
    if(EXPRD(x1,1)){
     FLD1(x1,4)=NIL;DSPRD(x1);
    }else{
     CPPRD(x73,1);
     FRPRD(x1,1);}
    {OBJ x75;
     x75=_ANatMap_14(x73,x7);
     {OBJ x76=FLD1(x75,1);
      if(EXPRD(x75,1)){
       FLD1(x75,1)=NIL;DSPRD(x75);
      }else{
       COPY(x76,1);
       FRPRD(x75,1);}
      if(ISPRM(x76)){
       x86=__AOptimAn_24;
      }else{
       {OBJ x83=FLD1(x76,3);
	if(EXPRD(x76,1)){
	 x86=x83;
	 FLD1(x76,3)=NIL;DSPRD(x76);
	}else{
	 COPY(x83,1);
	 x86=x83;
	 FRPRD(x76,1);}}}}}}}
  if(ISPRD(x86)&&(ISTGPRD(x86,3))){
   {OBJ x96=FLD(x86,1);
    if(EXPRD(x86,1)){
     DSPRDF(x86);
    }else{
     COPY(x96,1);
     FRPRD(x86,1);}
    CPCLS(__AIde_14,1);
    {OBJ x97;
     x97=_AMap_33(__AIde_14,x96,x2);
     if(ISPRM(x97)){
      r=__ASeq_6;
     }else{
      {OBJ x98=FLD1(x97,1);
       if(EXPRD(x97,1)){
	r=x98;
	DSPRDF(x97);
       }else{
	COPY(x98,1);
	r=x98;
	FRPRD(x97,1);}}}}}
  }else{
   FRPRD(x2,1);
   FREE(x86,1);
   r=__ASeq_6;}}
 return r;}

extern OBJ _AOptimAnFun_2(OBJ x1) /* format */
{OBJ r;
 if(ISPRM(x1)){
  CPCLS(__AOptimAnFun_36,1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_36,1))(__AOptimAnFun_36,__ABUILTIN_20);
 }else{
  switch(TGPRD(x1)){
   case 1:
    {OBJ x86=FLD(x1,1);OBJ x87=FLD(x1,2);OBJ x88=FLD(x1,3);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPCLS(__AOptimAnFun_26,1);
     CPCLS(__AOptimAnFun_28,1);
     CPCLS(__AOptimAnFun_30,1);
     {OBJ x89;OBJ x90;OBJ x91;OBJ x92;OBJ x93;OBJ x94;OBJ x95;OBJ x96;OBJ x97;OBJ x98;
      x89=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_26,1))(__AOptimAnFun_26,__ABUILTIN_20);
      x90=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_28,1))(__AOptimAnFun_28,__ABUILTIN_20);
      x91=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_30,1))(__AOptimAnFun_30,__ABUILTIN_20);
      ANatConv_1(x88,x92);
      ANatConv_1(x86,x93);
      ANatConv_1(x87,x94);
      x95=_AFmt_28(x92);
      x96=_AFmt_28(x93);
      x97=_AFmt_28(x94);
      x98=_ASeq_18(x89,x96,x90,x97,x91,x95);
      r=_AFormat_5(__ANat_5,x98);}}break;
   case 3:
    {OBJ x99=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      COPY(x99,1);
      FRPRD(x1,1);}
     CPCLS(__AOptimAnFun_3,1);
     CPCLS(__AOptimAnFun_32,1);
     CPCLS(__AOptimAnFun_33,1);
     CPCLS(__AOptimAnFun_34,1);
     CPCLS(__AIde_14,1);
     {OBJ x100;OBJ x101;OBJ x102;OBJ x103;
      x100=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_34,1))(__AOptimAnFun_34,__ABUILTIN_20);
      x101=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_33,1))(__AOptimAnFun_33,__ABUILTIN_20);
      x102=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_32,1))(__AOptimAnFun_32,__ABUILTIN_20);
      x103=_AMapConv_4(__AIde_14,x99);
      r=_AFormatFun1_2(x102,x101,x100,__AOptimAnFun_3,x103);}}break;
   default: 
    {OBJ x81=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      FRPRD(x1,1);}
     CPCLS(__AOptimAnFun_24,1);
     {OBJ x82;OBJ x83;OBJ x84;OBJ x85;
      x82=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_24,1))(__AOptimAnFun_24,__ABUILTIN_20);
      ANatConv_1(x81,x83);
      x84=_AFmt_28(x83);
      x85=_ASeq_14(x82,x84);
      r=_AFormat_5(__ANat_5,x85);}}}}
 return r;}

extern OBJ _AOptimAnFun_3(OBJ x1) /* format,1 */
{OBJ r;
 CPCLS(__AOptimAnFun_16,1);
 CPCLS(__AOptimAnFun_18,1);
 CPCLS(__AOptimAnFun_20,1);
 CPCLS(__AOptimAnFun_22,1);
 {OBJ x8;OBJ x9;OBJ x10;OBJ x11;
  x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_16,1))(__AOptimAnFun_16,__ABUILTIN_20);
  x9=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_18,1))(__AOptimAnFun_18,__ABUILTIN_20);
  x10=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_20,1))(__AOptimAnFun_20,__ABUILTIN_20);
  x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_22,1))(__AOptimAnFun_22,__ABUILTIN_20);
  {OBJ x15=FLD1(x1,1);OBJ x16=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x15,1);COPY(x16,1);
    FRPRD(x1,1);}
   CPCLS(__AOptimAnFun_4,1);
   {OBJ x17;OBJ x18;OBJ x19;
    x17=_AFormatFun1_2(x9,x10,x11,__AOptimAnFun_4,x16);
    x18=_AIde_18(x15);
    x19=_ASeq_15(x18,x8,x17);
    r=_AFormat_5(__ANat_5,x19);}}}
 return r;}

extern OBJ _AOptimAnFun_4(OBJ x1) /* format,2 */
{OBJ r;
 if(ISPRM(x1)){
  if(ISTGPRM(x1,1)){
   CPCLS(__AOptimAnFun_6,1);
   r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_6,1))(__AOptimAnFun_6,__ABUILTIN_20);
  }else{
   CPCLS(__AOptimAnFun_8,1);
   r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_8,1))(__AOptimAnFun_8,__ABUILTIN_20);}
 }else{
  if(ISTGPRD(x1,3)){
   {OBJ x45=FLD(x1,1);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x45,1);
     FRPRD(x1,1);}
    CPCLS(__AOptimAnFun_10,1);
    CPCLS(__AOptimAnFun_12,1);
    {OBJ x46;OBJ x47;OBJ x48;OBJ x49;
     x46=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_12,1))(__AOptimAnFun_12,__ABUILTIN_20);
     x47=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_10,1))(__AOptimAnFun_10,__ABUILTIN_20);
     x48=_AFmt_28(x45);
     x49=_ASeq_15(x47,x48,x46);
     r=_AFormat_5(__ANat_5,x49);}}
  }else{
   {OBJ x50=FLD(x1,1);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x50,1);
     FRPRD(x1,1);}
    CPCLS(__AOptimAnFun_12,1);
    CPCLS(__AOptimAnFun_14,1);
    {OBJ x51;OBJ x52;OBJ x53;OBJ x54;
     x51=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_12,1))(__AOptimAnFun_12,__ABUILTIN_20);
     x52=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimAnFun_14,1))(__AOptimAnFun_14,__ABUILTIN_20);
     x53=_AIde_18(x50);
     x54=_ASeq_15(x52,x53,x51);
     r=_AFormat_5(__ANat_5,x54);}}}}
 return r;}

extern OBJ _AOptimAnFun_6(OBJ x1) /* format,2'6 */
{OBJ r;
 CPPRD(__AOptimAnFun_5,1);
 r=_AFmt_28(__AOptimAnFun_5);
 return r;}

extern OBJ _AOptimAnFun_8(OBJ x1) /* format,2'8 */
{OBJ r;
 CPPRD(__AOptimAnFun_7,1);
 r=_AFmt_28(__AOptimAnFun_7);
 return r;}

extern OBJ _AOptimAnFun_10(OBJ x1) /* format,2'10 */
{OBJ r;
 CPPRD(__AOptimAnFun_9,1);
 r=_AFmt_28(__AOptimAnFun_9);
 return r;}

extern OBJ _AOptimAnFun_12(OBJ x1) /* format,2'12 */
{OBJ r;
 CPPRD(__AOptimAnFun_11,1);
 r=_AFmt_28(__AOptimAnFun_11);
 return r;}

extern OBJ _AOptimAnFun_14(OBJ x1) /* format,2'14 */
{OBJ r;
 CPPRD(__AOptimAnFun_13,1);
 r=_AFmt_28(__AOptimAnFun_13);
 return r;}

extern OBJ _AOptimAnFun_16(OBJ x1) /* format,1'16 */
{OBJ r;
 CPPRD(__AOptimAnFun_15,1);
 r=_AFmt_28(__AOptimAnFun_15);
 return r;}

extern OBJ _AOptimAnFun_18(OBJ x1) /* format,1'18 */
{OBJ r;
 CPPRD(__AOptimAnFun_17,1);
 r=_AFmt_28(__AOptimAnFun_17);
 return r;}

extern OBJ _AOptimAnFun_20(OBJ x1) /* format,1'20 */
{OBJ r;
 CPPRD(__AOptimAnFun_19,1);
 r=_AFmt_28(__AOptimAnFun_19);
 return r;}

extern OBJ _AOptimAnFun_22(OBJ x1) /* format,1'22 */
{OBJ r;
 CPPRD(__AOptimAnFun_21,1);
 r=_AFmt_28(__AOptimAnFun_21);
 return r;}

extern OBJ _AOptimAnFun_24(OBJ x1) /* format'24 */
{OBJ r;
 CPPRD(__AOptimAnFun_23,1);
 r=_AFmt_28(__AOptimAnFun_23);
 return r;}

extern OBJ _AOptimAnFun_26(OBJ x1) /* format'26 */
{OBJ r;
 CPPRD(__AOptimAnFun_25,1);
 r=_AFmt_28(__AOptimAnFun_25);
 return r;}

extern OBJ _AOptimAnFun_28(OBJ x1) /* format'28 */
{OBJ r;
 CPPRD(__AOptimAnFun_27,1);
 r=_AFmt_28(__AOptimAnFun_27);
 return r;}

extern OBJ _AOptimAnFun_30(OBJ x1) /* format'30 */
{OBJ r;
 CPPRD(__AOptimAnFun_29,1);
 r=_AFmt_28(__AOptimAnFun_29);
 return r;}

extern OBJ _AOptimAnFun_32(OBJ x1) /* format'32 */
{OBJ r;
 CPPRD(__AOptimAnFun_31,1);
 r=_AFmt_28(__AOptimAnFun_31);
 return r;}

extern OBJ _AOptimAnFun_33(OBJ x1) /* format'33 */
{OBJ r;
 CPPRD(__AOptimAnFun_19,1);
 r=_AFmt_28(__AOptimAnFun_19);
 return r;}

extern OBJ _AOptimAnFun_34(OBJ x1) /* format'34 */
{OBJ r;
 CPPRD(__AOptimAnFun_21,1);
 r=_AFmt_28(__AOptimAnFun_21);
 return r;}

extern OBJ _AOptimAnFun_36(OBJ x1) /* format'36 */
{OBJ r;
 CPPRD(__AOptimAnFun_35,1);
 r=_AFmt_28(__AOptimAnFun_35);
 return r;}

init_AOptimAnFun()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 init_AArray();
 init_AOptimAn();
 init_AMapConv();
 init_AAc();
 init_AIde();
 init_AFormat();
 init_ASeq();
 init_ANat();
 init_AOption();
 init_AString();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AFmt();
 init_AChar();
 init_AFile();
 init_AInt();
 init_ANatMap();
 init_AAn();
 init_ATypeAn();
 init_ASourceAn();
 init_ATransAn();
 init_APragmaAn();
 init_AStore();
 init_ASet();
 init_APair();
 init_AIdeMap();
 init_ANatConv();
 init_AFormatFun1();
 init_AReal();
 init_AMap();
 DEN("props{",__AOptimAnFun_31);
 LCLS(1,_AOptimAnFun_30,__AOptimAnFun_30);
 DEN(",maxIdeNo=",__AOptimAnFun_29);
 LCLS(1,_AOptimAnFun_28,__AOptimAnFun_28);
 DEN(",rank=",__AOptimAnFun_27);
 LCLS(1,_AOptimAnFun_26,__AOptimAnFun_26);
 DEN("bindingAn:complexity=",__AOptimAnFun_25);
 LCLS(1,_AOptimAnFun_24,__AOptimAnFun_24);
 DEN("hiddenAn:rank=",__AOptimAnFun_23);
 LCLS(1,_AOptimAnFun_22,__AOptimAnFun_22);
 DEN("}",__AOptimAnFun_21);
 LCLS(1,_AOptimAnFun_20,__AOptimAnFun_20);
 DEN(",",__AOptimAnFun_19);
 LCLS(1,_AOptimAnFun_18,__AOptimAnFun_18);
 DEN("{",__AOptimAnFun_17);
 LCLS(1,_AOptimAnFun_16,__AOptimAnFun_16);
 DEN(": ",__AOptimAnFun_15);
 LCLS(1,_AOptimAnFun_14,__AOptimAnFun_14);
 DEN("inverse(",__AOptimAnFun_13);
 LCLS(1,_AOptimAnFun_12,__AOptimAnFun_12);
 DEN(")",__AOptimAnFun_11);
 LCLS(1,_AOptimAnFun_10,__AOptimAnFun_10);
 DEN("experimental(",__AOptimAnFun_9);
 LCLS(1,_AOptimAnFun_8,__AOptimAnFun_8);
 DEN("primary",__AOptimAnFun_7);
 LCLS(1,_AOptimAnFun_6,__AOptimAnFun_6);
 DEN("unfold",__AOptimAnFun_5);
 LCLS(1,_AOptimAnFun_36,__AOptimAnFun_36);
 CLS(1,_AOptimAnFun_4,__AOptimAnFun_4);
 DEN("",__AOptimAnFun_35);
 CLS(1,_AOptimAnFun_3,__AOptimAnFun_3);
 LCLS(1,_AOptimAnFun_34,__AOptimAnFun_34);
 CLS(1,_AOptimAnFun_2,__AOptimAnFun_2);
 LCLS(1,_AOptimAnFun_33,__AOptimAnFun_33);
 CLS(2,_AOptimAnFun_1,__AOptimAnFun_1);
 LCLS(1,_AOptimAnFun_32,__AOptimAnFun_32);}

