

#include "BUILTIN.h"

#include "Array.h"
extern OBJ _APragmaAn_5(OBJ);extern OBJ __APragmaAn_5;
extern OBJ _AFormat_5(OBJ,OBJ);extern OBJ __AFormat_5;
extern OBJ __AFormat_9;

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

#include "Char.h"

#include "Int.h"
extern OBJ _AIde_18(OBJ);extern OBJ __AIde_18;
extern OBJ _ATypeAnFun_13(OBJ);extern OBJ __ATypeAnFun_13;
extern OBJ _AFormatFun1_2(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AFormatFun1_2;

#include "NatConv.h"

#include "Real.h"
extern OBJ _APragmaAnFun_1(OBJ);OBJ __APragmaAnFun_1; /* format */
extern OBJ _APragmaAnFun_2(OBJ);OBJ __APragmaAnFun_2; /* format,1 */
extern OBJ _APragmaAnFun_3(OBJ);OBJ __APragmaAnFun_3; /* format,2 */
extern OBJ _APragmaAnFun_4(OBJ);OBJ __APragmaAnFun_4; /* format,3 */
OBJ __APragmaAnFun_5; /* format,3'5 */
extern OBJ _APragmaAnFun_6(OBJ);OBJ __APragmaAnFun_6; /* format,3'6 */
OBJ __APragmaAnFun_7; /* format,3'7 */
OBJ __APragmaAnFun_8; /* format,3'8 */
extern OBJ _APragmaAnFun_9(OBJ);OBJ __APragmaAnFun_9; /* format,3'9 */
OBJ __APragmaAnFun_10; /* format,3'10 */
extern OBJ _APragmaAnFun_11(OBJ);OBJ __APragmaAnFun_11; /* format,3'11 */
OBJ __APragmaAnFun_12; /* format,3'12 */
extern OBJ _APragmaAnFun_13(OBJ);OBJ __APragmaAnFun_13; /* format,3'13 */
OBJ __APragmaAnFun_14; /* format,3'14 */
extern OBJ _APragmaAnFun_15(OBJ);OBJ __APragmaAnFun_15; /* format,3'15 */
OBJ __APragmaAnFun_16; /* format,3'16 */
extern OBJ _APragmaAnFun_17(OBJ);OBJ __APragmaAnFun_17; /* format,3'17 */
extern OBJ _APragmaAnFun_18(OBJ);OBJ __APragmaAnFun_18; /* format,2'18 */
extern OBJ _APragmaAnFun_19(OBJ);OBJ __APragmaAnFun_19; /* format,2'19 */
extern OBJ _APragmaAnFun_20(OBJ);OBJ __APragmaAnFun_20; /* format,2'20 */
OBJ __APragmaAnFun_21; /* format,1'21 */
extern OBJ _APragmaAnFun_22(OBJ);OBJ __APragmaAnFun_22; /* format,1'22 */
OBJ __APragmaAnFun_23; /* format,1'23 */
extern OBJ _APragmaAnFun_24(OBJ);OBJ __APragmaAnFun_24; /* format,1'24 */
OBJ __APragmaAnFun_25; /* format,1'25 */
extern OBJ _APragmaAnFun_26(OBJ);OBJ __APragmaAnFun_26; /* format,1'26 */
extern OBJ _APragmaAnFun_27(OBJ);OBJ __APragmaAnFun_27; /* format'27 */
OBJ __APragmaAnFun_28; /* format'28 */
extern OBJ _APragmaAnFun_29(OBJ);OBJ __APragmaAnFun_29; /* format'29 */

extern OBJ _APragmaAnFun_1(OBJ x1) /* format */
{OBJ r;
 if(ISPRM(x1)){
  CPCLS(__APragmaAnFun_29,1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_29,1))(__APragmaAnFun_29,__ABUILTIN_20);
 }else{
  {OBJ x7=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x7,1);
    FRPRD(x1,1);}
   CPCLS(__APragmaAnFun_2,1);
   CPCLS(__APragmaAnFun_27,1);
   COPY(__AFormat_9,1);
   {OBJ x8;
    x8=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_27,1))(__APragmaAnFun_27,__ABUILTIN_20);
    COPY(x8,1);
    r=_AFormatFun1_2(x8,__AFormat_9,x8,__APragmaAnFun_2,x7);}}}
 return r;}

extern OBJ _APragmaAnFun_2(OBJ x1) /* format,1 */
{OBJ r;
 CPCLS(__APragmaAnFun_3,1);
 CPCLS(__APragmaAnFun_22,1);
 CPCLS(__APragmaAnFun_24,1);
 CPCLS(__APragmaAnFun_26,1);
 {OBJ x2;OBJ x3;OBJ x4;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_22,1))(__APragmaAnFun_22,__ABUILTIN_20);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_24,1))(__APragmaAnFun_24,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_26,1))(__APragmaAnFun_26,__ABUILTIN_20);
  r=_AFormatFun1_2(x2,x3,x4,__APragmaAnFun_3,x1);}
 return r;}

extern OBJ _APragmaAnFun_3(OBJ x1) /* format,2 */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x35=FLD(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    CPPRD(x35,1);
    FRPRD(x1,1);}
   r=_AFmt_28(x35);}
 }else{
  {OBJ x37=FLD(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x37,1);
    FRPRD(x1,1);}
   CPCLS(__APragmaAnFun_4,1);
   CPCLS(__APragmaAnFun_18,1);
   CPCLS(__APragmaAnFun_19,1);
   CPCLS(__APragmaAnFun_20,1);
   {OBJ x38;OBJ x39;OBJ x40;
    x38=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_20,1))(__APragmaAnFun_20,__ABUILTIN_20);
    x39=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_19,1))(__APragmaAnFun_19,__ABUILTIN_20);
    x40=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_18,1))(__APragmaAnFun_18,__ABUILTIN_20);
    r=_AFormatFun1_2(x40,x39,x38,__APragmaAnFun_4,x37);}}}
 return r;}

extern OBJ _APragmaAnFun_4(OBJ x1) /* format,3 */
{OBJ r;
 switch(TGPRD(x1)){
  case 2:
   {OBJ x104=FLD(x1,3);
    CPCLS(__APragmaAnFun_6,1);
    COPY(__APragmaAnFun_7,1);
    CPCLS(__APragmaAnFun_17,1);
    {OBJ x105;OBJ x106;OBJ x107;OBJ x108;OBJ x109;OBJ x110;OBJ x111;
     x105=_APragmaAn_5(x1);
     x106=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_6,1))(__APragmaAnFun_6,__ABUILTIN_20);
     x107=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_17,1))(__APragmaAnFun_17,__ABUILTIN_20);
     x108=_ATypeAnFun_13(x105);
     ANatConv_1(x104,x109);
     x110=_AFmt_28(x109);
     x111=_ASeq_17(x107,x110,x106,__APragmaAnFun_7,x108);
     r=_AFormat_5(__ANat_5,x111);}}break;
  case 0:
   {OBJ x114;
    x114=_APragmaAn_5(x1);
    r=_ATypeAnFun_13(x114);}break;
  default: 
   {OBJ x88=FLD(x1,3);OBJ x89=FLD(x1,4);
    CPPRD(x88,1);COPY(x89,1);
    CPCLS(__APragmaAnFun_6,1);
    {OBJ x90;OBJ x91;OBJ x96;OBJ x92;OBJ x93;OBJ x100;OBJ x101;
     x90=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_6,1))(__APragmaAnFun_6,__ABUILTIN_20);
     x91=_APragmaAn_5(x1);
     if(ISPRM(x89)){
      x96=__ABUILTIN_5;
     }else{
      x96=__ABUILTIN_3;}
     x92=_AIde_18(x88);
     x93=_ATypeAnFun_13(x91);
     if(ISTGPRM(x96,1)){
      FREE(x89,1);
      COPY(__APragmaAnFun_7,1);
      CPCLS(__APragmaAnFun_9,1);
      x100=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_9,1))(__APragmaAnFun_9,__ABUILTIN_20);
     }else{
      CPCLS(__APragmaAnFun_4,1);
      COPY(__APragmaAnFun_7,1);
      CPCLS(__APragmaAnFun_11,1);
      CPCLS(__APragmaAnFun_13,1);
      CPCLS(__APragmaAnFun_15,1);
      {OBJ x97;OBJ x98;OBJ x99;
       x97=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_11,1))(__APragmaAnFun_11,__ABUILTIN_20);
       x98=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_13,1))(__APragmaAnFun_13,__ABUILTIN_20);
       x99=(*(OBJ(*)(OBJ,OBJ))METHOD(__APragmaAnFun_15,1))(__APragmaAnFun_15,__ABUILTIN_20);
       x100=_AFormatFun1_2(x97,x98,x99,__APragmaAnFun_4,x89);}}
     x101=_ASeq_17(x92,x90,__APragmaAnFun_7,x93,x100);
     r=_AFormat_5(__ANat_5,x101);}}}
 return r;}

extern OBJ _APragmaAnFun_6(OBJ x1) /* format,3'6 */
{OBJ r;
 CPPRD(__APragmaAnFun_5,1);
 r=_AFmt_28(__APragmaAnFun_5);
 return r;}

extern OBJ _APragmaAnFun_9(OBJ x1) /* format,3'9 */
{OBJ r;
 CPPRD(__APragmaAnFun_8,1);
 r=_AFmt_28(__APragmaAnFun_8);
 return r;}

extern OBJ _APragmaAnFun_11(OBJ x1) /* format,3'11 */
{OBJ r;
 CPPRD(__APragmaAnFun_10,1);
 r=_AFmt_28(__APragmaAnFun_10);
 return r;}

extern OBJ _APragmaAnFun_13(OBJ x1) /* format,3'13 */
{OBJ r;
 CPPRD(__APragmaAnFun_12,1);
 r=_AFmt_28(__APragmaAnFun_12);
 return r;}

extern OBJ _APragmaAnFun_15(OBJ x1) /* format,3'15 */
{OBJ r;
 CPPRD(__APragmaAnFun_14,1);
 r=_AFmt_28(__APragmaAnFun_14);
 return r;}

extern OBJ _APragmaAnFun_17(OBJ x1) /* format,3'17 */
{OBJ r;
 CPPRD(__APragmaAnFun_16,1);
 r=_AFmt_28(__APragmaAnFun_16);
 return r;}

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

extern OBJ _APragmaAnFun_19(OBJ x1) /* format,2'19 */
{OBJ r;
 CPPRD(__APragmaAnFun_12,1);
 r=_AFmt_28(__APragmaAnFun_12);
 return r;}

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

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

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

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

extern OBJ _APragmaAnFun_27(OBJ x1) /* format'27 */
{OBJ r;
 CPPRD(__APragmaAnFun_8,1);
 r=_AFmt_28(__APragmaAnFun_8);
 return r;}

extern OBJ _APragmaAnFun_29(OBJ x1) /* format'29 */
{OBJ r;
 CPPRD(__APragmaAnFun_28,1);
 r=_AFmt_28(__APragmaAnFun_28);
 return r;}


init_APragmaAnFun()
{
 static int visited=0; if(visited) return; visited=1;
 init_AArray();
 init_AMap();
 init_ASetByBST();
 init_ABSTree();
 init_APragmaAn();
 init_ATree();
 init_AFormat();
 init_ABuiltin();
 init_ANat();
 init_AString();
 init_ASeq();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AFmt();
 init_AOption();
 init_AChar();
 init_AFile();
 init_AInt();
 init_AIde();
 init_ASourceAn();
 init_ATypeAn();
 init_ANatMap();
 init_AStore();
 init_ASet();
 init_APair();
 init_ATypeAnFun();
 init_AFormatFun1();
 init_ANatConv();
 init_AReal();
 init_AIdeMap();
 init_AAc();
 init_AAn();
 init_AOptimAn();
 init_ATransAn();
 LCLS(1,_APragmaAnFun_29,__APragmaAnFun_29);
 DEN("no pragmas",__APragmaAnFun_28);
 LCLS(1,_APragmaAnFun_27,__APragmaAnFun_27);
 LCLS(1,_APragmaAnFun_26,__APragmaAnFun_26);
 DEN(" $/",__APragmaAnFun_25);
 LCLS(1,_APragmaAnFun_24,__APragmaAnFun_24);
 DEN(" ",__APragmaAnFun_23);
 LCLS(1,_APragmaAnFun_22,__APragmaAnFun_22);
 DEN("/$ ",__APragmaAnFun_21);
 LCLS(1,_APragmaAnFun_20,__APragmaAnFun_20);
 LCLS(1,_APragmaAnFun_19,__APragmaAnFun_19);
 LCLS(1,_APragmaAnFun_18,__APragmaAnFun_18);
 LCLS(1,_APragmaAnFun_17,__APragmaAnFun_17);
 DEN("&",__APragmaAnFun_16);
 LCLS(1,_APragmaAnFun_15,__APragmaAnFun_15);
 DEN("]",__APragmaAnFun_14);
 LCLS(1,_APragmaAnFun_13,__APragmaAnFun_13);
 DEN(",",__APragmaAnFun_12);
 LCLS(1,_APragmaAnFun_11,__APragmaAnFun_11);
 DEN("[",__APragmaAnFun_10);
 LCLS(1,_APragmaAnFun_9,__APragmaAnFun_9);
 DEN("",__APragmaAnFun_8);
 LCLS(1,_APragmaAnFun_6,__APragmaAnFun_6);
 DEN(":",__APragmaAnFun_5);
 CLS(1,_APragmaAnFun_4,__APragmaAnFun_4);
 CLS(1,_APragmaAnFun_3,__APragmaAnFun_3);
 CLS(1,_APragmaAnFun_2,__APragmaAnFun_2);
 CLS(1,_APragmaAnFun_1,__APragmaAnFun_1);
 PRDF(1,1,__APragmaAnFun_7);FLD(__APragmaAnFun_7,1)=__ANat_8;}

