

#include "BUILTIN.h"
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;
extern OBJ _ABSTreeConv_7(OBJ,OBJ);extern OBJ __ABSTreeConv_7;
extern OBJ _AGlobSig_50(OBJ);extern OBJ __AGlobSig_50;
extern OBJ _AGlobSig_51(OBJ);extern OBJ __AGlobSig_51;
extern OBJ _AGlobSig_87(OBJ,OBJ);extern OBJ __AGlobSig_87;
extern OBJ _AGlobSig_88(OBJ,OBJ);extern OBJ __AGlobSig_88;
extern TUP2 _AMaps4SigAna_3(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_3;
extern TUP2 _AMaps4SigAna_4(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_4;
extern TUP2 _AMaps4SigAna_5(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_5;
extern OBJ _AMaps4SigAna_10(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_10;
extern TUP2 _AMaps4SigAna_13(OBJ);extern OBJ __AMaps4SigAna_13;
extern OBJ _AMaps4SigAna_14(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_14;
extern OBJ _AMaps4SigAna_15(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_15;
extern OBJ _AMaps4SigAna_16(OBJ,OBJ,OBJ);extern OBJ __AMaps4SigAna_16;
extern TUP2 _AMaps4SigAna_26(OBJ,OBJ);extern OBJ __AMaps4SigAna_26;
extern OBJ _AMaps4SigAna_28(OBJ);extern OBJ __AMaps4SigAna_28;
extern OBJ _AGlobPragma_14(OBJ,OBJ);extern OBJ __AGlobPragma_14;
extern OBJ _AImpExpEntry_6(OBJ);extern OBJ __AImpExpEntry_6;
extern OBJ _AImpExpEntry_125(OBJ);extern OBJ __AImpExpEntry_125;
extern OBJ _AImpExpEntry_126(OBJ);extern OBJ __AImpExpEntry_126;
extern OBJ _AImpExpEntry_130(OBJ,OBJ);extern OBJ __AImpExpEntry_130;
extern OBJ __AInterOpal_27;
extern OBJ _AInterOpal_34(OBJ);extern OBJ __AInterOpal_34;
extern OBJ _AInterOpal_40(OBJ);extern OBJ __AInterOpal_40;
extern OBJ _AInterOpal_48(OBJ);extern OBJ __AInterOpal_48;
extern OBJ _AInterOpal_91(OBJ);extern OBJ __AInterOpal_91;
extern OBJ _AInterOpal_130(OBJ);extern OBJ __AInterOpal_130;
extern OBJ _AInterOpal_162(OBJ);extern OBJ __AInterOpal_162;
extern OBJ _AInterOpal_210(OBJ);extern OBJ __AInterOpal_210;
extern OBJ _AInterOpal_227(OBJ);extern OBJ __AInterOpal_227;
extern OBJ _AInterOpal_228(OBJ);extern OBJ __AInterOpal_228;
extern OBJ _AInterOpal_266(OBJ);extern OBJ __AInterOpal_266;
extern OBJ _AInterOpal_269(OBJ);extern OBJ __AInterOpal_269;
extern OBJ _AInterOpal_275(OBJ);extern OBJ __AInterOpal_275;
extern OBJ _AInterOpal_310(OBJ,OBJ);extern OBJ __AInterOpal_310;
extern OBJ _AInterOpal_314(OBJ,OBJ);extern OBJ __AInterOpal_314;
extern OBJ _AImpDecl4SigAna_36(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_36;
extern OBJ _AImpDecl4SigAna_37(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_37;
extern OBJ _AImpDecl4SigAna_38(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_38;
extern OBJ _AImpDecl4SigAna_39(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_39;
extern OBJ _AImpDecl4SigAna_42(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_42;
extern OBJ _AImpDecl4SigAna_43(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_43;
extern OBJ _AImpDecl4SigAna_46(OBJ,OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_46;
extern OBJ _AImpDecl4SigAna_49(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_49;
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _AInterOpalAccess_8(OBJ,OBJ);extern OBJ __AInterOpalAccess_8;
extern OBJ _AInterOpalAccess_9(OBJ,OBJ);extern OBJ __AInterOpalAccess_9;
extern OBJ _AInterOpalAccess_12(OBJ,OBJ);extern OBJ __AInterOpalAccess_12;
extern OBJ _AInterOpalAccess_13(OBJ,OBJ);extern OBJ __AInterOpalAccess_13;
extern OBJ _AInterOpalAccess_15(OBJ);extern OBJ __AInterOpalAccess_15;
extern OBJ _AInterOpalAccess_16(OBJ);extern OBJ __AInterOpalAccess_16;
extern OBJ _AInterOpalAccess_19(OBJ);extern OBJ __AInterOpalAccess_19;
extern OBJ _AInterOpalAccess_20(OBJ);extern OBJ __AInterOpalAccess_20;
extern OBJ _AInterOpalAccess_22(OBJ);extern OBJ __AInterOpalAccess_22;
extern OBJ _AInterOpalAccess_23(OBJ);extern OBJ __AInterOpalAccess_23;
extern OBJ _AInterOpalAccess_25(OBJ,OBJ);extern OBJ __AInterOpalAccess_25;
extern OBJ _AInterOpalAccess_26(OBJ,OBJ);extern OBJ __AInterOpalAccess_26;
extern OBJ _AInterOpalAccess_36(OBJ,OBJ);extern OBJ __AInterOpalAccess_36;
extern OBJ _AInterOpalAccess_37(OBJ);extern OBJ __AInterOpalAccess_37;
extern OBJ _AInterOpalModifier_1(OBJ);extern OBJ __AInterOpalModifier_1;
extern OBJ _AInterOpalModifier_2(OBJ);extern OBJ __AInterOpalModifier_2;
extern OBJ _AInterOpalModifier_3(OBJ);extern OBJ __AInterOpalModifier_3;
extern OBJ _AInterOpalModifier_4(OBJ);extern OBJ __AInterOpalModifier_4;
extern OBJ _AInterOpalModifier_7(OBJ,OBJ);extern OBJ __AInterOpalModifier_7;
extern OBJ _AInterOpalModifier_8(OBJ,OBJ);extern OBJ __AInterOpalModifier_8;
extern OBJ _AInterOpalModifier_9(OBJ);extern OBJ __AInterOpalModifier_9;
extern OBJ _AInterOpalModifier_10(OBJ,OBJ,OBJ);extern OBJ __AInterOpalModifier_10;
extern TUP4 _AQuadruple_12(OBJ);extern OBJ __AQuadruple_12;

#include "NatConv.h"
extern OBJ _APair_4(OBJ);extern OBJ __APair_4;
extern OBJ _APair_5(OBJ);extern OBJ __APair_5;
extern TUP2 _APair_8(OBJ);extern OBJ __APair_8;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;

#include "Nat.h"
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _ARep_2(OBJ,OBJ);extern OBJ __ARep_2;
extern TUP2 _ARep_6(OBJ,OBJ);extern OBJ __ARep_6;
extern TUP2 _ARep_7(OBJ,OBJ);extern OBJ __ARep_7;
extern OBJ _ARep_27(OBJ,OBJ);extern OBJ __ARep_27;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern TUP2 _ARep_138(OBJ,OBJ,OBJ);extern OBJ __ARep_138;
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;

#include "Char.h"
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _AOption_3(OBJ);extern OBJ __AOption_3;
extern OBJ _AOption_4(OBJ);extern OBJ __AOption_4;
extern OBJ __AOption_5;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;
extern OBJ _AMap_8(OBJ,OBJ,OBJ);extern OBJ __AMap_8;
extern OBJ _AMap_10(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_10;
extern OBJ _AMap_16(OBJ,OBJ,OBJ);extern OBJ __AMap_16;
extern OBJ _AMap_20(OBJ,OBJ,OBJ);extern OBJ __AMap_20;
extern OBJ _AMap_31(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_31;
extern OBJ _AMap_33(OBJ,OBJ,OBJ);extern OBJ __AMap_33;
extern OBJ _ASeqConv_2(OBJ,OBJ);extern OBJ __ASeqConv_2;
extern OBJ __ASeqConv_8;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ _ASeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_4;
extern OBJ _ASetByBST_41(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_41;
extern OBJ _ASetByBSTConv_7(OBJ,OBJ);extern OBJ __ASetByBSTConv_7;
extern OBJ __AGlobSigImpl_22;
extern OBJ __AGlobSigImpl_25;
extern OBJ _AGlobSigImpl_26(OBJ,OBJ,OBJ);extern OBJ __AGlobSigImpl_26;
extern OBJ _AGlobSigImpl_27(OBJ,OBJ);extern OBJ __AGlobSigImpl_27;
extern OBJ _AObjects_20(OBJ);extern OBJ __AObjects_20;
extern OBJ __AObjects_29;
extern OBJ __AObjects_30;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ _AGlobSigToText_1(OBJ,OBJ);extern OBJ __AGlobSigToText_1;
extern OBJ _AName_11(OBJ);extern OBJ __AName_11;
extern OBJ _AName_12(OBJ);extern OBJ __AName_12;
extern OBJ _AName_32(OBJ,OBJ);extern OBJ __AName_32;
extern OBJ _AName_34(OBJ);extern OBJ __AName_34;

#include "Denotation.h"
extern OBJ __APragma_5;
extern TUP3 _ATriple_10(OBJ);extern OBJ __ATriple_10;
extern OBJ _AOptionConv_2(OBJ,OBJ);extern OBJ __AOptionConv_2;
extern OBJ __AFct_24;
extern TUP2 _ASeqZip_5(OBJ,OBJ);extern OBJ __ASeqZip_5;
extern OBJ __AOcPos_2;
extern OBJ __AOcPos_4;
extern OBJ __AOcPos_6;
extern OBJ __AOcPos_9;
extern OBJ __ABoolConv_2;
extern OBJ __ABoolConv_3;
extern OBJ _ADArray_14(OBJ,OBJ,OBJ);extern OBJ __ADArray_14;
extern OBJ _ADArray_15(OBJ,OBJ,OBJ);extern OBJ __ADArray_15;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ _ANatMap_14(OBJ,OBJ);extern OBJ __ANatMap_14;
extern OBJ __ATree_7;

#include "Int.h"

#include "Bitset.h"

#include "Real.h"

#include "Array.h"
extern OBJ _AStructPrepConvert_1(OBJ,OBJ);OBJ __AStructPrepConvert_1; /* convertSign */
OBJ __AStructPrepConvert_2; /* convertSign? */
extern OBJ _AStructPrepConvert_4(OBJ);OBJ __AStructPrepConvert_4; /* toImpDecl */
extern OBJ _AStructPrepConvert_5(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_5; /* convertSpc */
extern OBJ _AStructPrepConvert_6(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_6; /* convertName */
extern OBJ _AStructPrepConvert_7(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_7; /* convertTrans */
extern OBJ _AStructPrepConvert_8(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_8; /* `` */
extern OBJ _AStructPrepConvert_9(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_9; /* convertTransSpc */
extern OBJ _AStructPrepConvert_10(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_10; /* spcToName */
extern OBJ _AStructPrepConvert_11(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_11; /* h3 */
extern TUP2 _AStructPrepConvert_12(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_12; /* convertIdentAct */
extern OBJ _AStructPrepConvert_13(OBJ,OBJ);OBJ __AStructPrepConvert_13; /* imported? */
extern OBJ _AStructPrepConvert_14(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_14; /* toName */
extern TUP2 _AStructPrepConvert_15(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_15; /* convertWRTexplInst */
extern OBJ _AStructPrepConvert_16(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_16; /* setInstance */
extern OBJ _AStructPrepConvert_17(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_17; /* addPragmas */
extern OBJ _AStructPrepConvert_18(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_18; /* addPragmas,1 */
extern OBJ _AStructPrepConvert_19(OBJ,OBJ);OBJ __AStructPrepConvert_19; /* !! */
extern TUP2 _AStructPrepConvert_20(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_20; /* addPragmas,2 */
extern TUP2 _AStructPrepConvert_21(OBJ,OBJ);OBJ __AStructPrepConvert_21; /* nameLaw */
extern OBJ _AStructPrepConvert_22(OBJ,OBJ);OBJ __AStructPrepConvert_22; /* nameLaws */
extern OBJ _AStructPrepConvert_23(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_23; /* addLaws */
extern OBJ _AStructPrepConvert_24(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_24; /* addLaw */
extern OBJ _AStructPrepConvert_25(OBJ,OBJ);OBJ __AStructPrepConvert_25; /* !!,1 */
extern TUP4 _AStructPrepConvert_26(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_26; /* form2Form */
extern TUP4 _AStructPrepConvert_27(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_27; /* expr2Expr */
extern TUP4 _AStructPrepConvert_28(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_28; /* guard2Guard */
extern TUP5 _AStructPrepConvert_29(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_29; /* eqn2Eqn */
extern TUP5 _AStructPrepConvert_30(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_30; /* pattern2Expr */
extern TUP2 _AStructPrepConvert_31(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_31; /* var2LocSig */
extern OBJ _AStructPrepConvert_32(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_32; /* var2Map */
extern TUP2 _AStructPrepConvert_33(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_33; /* var2name */
extern OBJ _AStructPrepConvert_34(OBJ);OBJ __AStructPrepConvert_34; /* @ */
OBJ __AStructPrepConvert_35; /* convertSpc'35 */
extern OBJ _AStructPrepConvert_36(OBJ);OBJ __AStructPrepConvert_36; /* convertSpc'36 */
OBJ __AStructPrepConvert_37; /* convertSpc'37 */
OBJ __AStructPrepConvert_38; /* convertSpc'38 */
OBJ __AStructPrepConvert_39; /* convertSpc'39 */
extern OBJ _AStructPrepConvert_40(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_40; /* convertSpc'40 */
extern OBJ _AStructPrepConvert_41(OBJ);OBJ __AStructPrepConvert_41; /* convertSpc'41 */
extern OBJ _AStructPrepConvert_42(OBJ);OBJ __AStructPrepConvert_42; /* convertSpc'42 */
extern OBJ _AStructPrepConvert_43(OBJ);OBJ __AStructPrepConvert_43; /* convertSpc'43 */
OBJ __AStructPrepConvert_44; /* ``'44 */
OBJ __AStructPrepConvert_45; /* ``'45 */
extern OBJ _AStructPrepConvert_46(OBJ);OBJ __AStructPrepConvert_46; /* convertTransSpc'46 */
extern OBJ _AStructPrepConvert_47(OBJ,OBJ);OBJ __AStructPrepConvert_47; /* convertTransSpc'47 */
extern OBJ _AStructPrepConvert_48(OBJ);OBJ __AStructPrepConvert_48; /* convertIdentAct'48 */
extern OBJ _AStructPrepConvert_49(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_49; /* toName'49 */
OBJ __AStructPrepConvert_50; /* addPragmas,1'50 */
extern OBJ _AStructPrepConvert_51(OBJ);OBJ __AStructPrepConvert_51; /* addPragmas,1'51 */
OBJ __AStructPrepConvert_52; /* addPragmas,1'52 */
OBJ __AStructPrepConvert_53; /* addPragmas,1'53 */
extern OBJ _AStructPrepConvert_54(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_54; /* addPragmas,1'54 */
OBJ __AStructPrepConvert_55; /* nameLaw'55 */
extern TUP2 _AStructPrepConvert_56(OBJ);OBJ __AStructPrepConvert_56; /* nameLaws'56 */
OBJ __AStructPrepConvert_57; /* convertTrans'57 */
extern OBJ _AStructPrepConvert_58(OBJ);OBJ __AStructPrepConvert_58; /* convertTrans'58 */
OBJ __AStructPrepConvert_59; /* convertTrans'59 */
OBJ __AStructPrepConvert_60; /* convertTrans'60 */
OBJ __AStructPrepConvert_61; /* convertTrans'61 */
extern OBJ _AStructPrepConvert_62(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_62; /* convertTrans'62 */
extern OBJ _AStructPrepConvert_63(OBJ);OBJ __AStructPrepConvert_63; /* convertTrans'63 */
extern OBJ _AStructPrepConvert_64(OBJ);OBJ __AStructPrepConvert_64; /* convertTrans'64 */
OBJ __AStructPrepConvert_65; /* convertTrans'65 */
OBJ __AStructPrepConvert_66; /* convertTrans'66 */
extern OBJ _AStructPrepConvert_67(OBJ);OBJ __AStructPrepConvert_67; /* convertTrans'67 */
extern OBJ _AStructPrepConvert_68(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_68; /* convertTrans'68 */
extern TUP2 _AStructPrepConvert_69(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_69; /* pattern2Expr'69 */
extern OBJ _AStructPrepConvert_70(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_70; /* expr2Expr'70 */
extern TUP2 _AStructPrepConvert_71(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_71; /* expr2Expr'71 */
extern TUP2 _AStructPrepConvert_72(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_72; /* expr2Expr'72 */
extern TUP2 _AStructPrepConvert_73(OBJ,OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_73; /* expr2Expr'73 */
extern OBJ _AStructPrepConvert_74(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_74; /* form2Form'74 */
extern OBJ _AStructPrepConvert_75(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_75; /* form2Form'75 */
OBJ __AStructPrepConvert_76; /* addLaw'76 */
extern OBJ _AStructPrepConvert_77(OBJ);OBJ __AStructPrepConvert_77; /* addLaw'77 */
extern OBJ _AStructPrepConvert_78(OBJ);OBJ __AStructPrepConvert_78; /* addLaw'78 */
OBJ __AStructPrepConvert_79; /* addLaw'79 */
extern OBJ _AStructPrepConvert_80(OBJ,OBJ);OBJ __AStructPrepConvert_80; /* addLaw'80 */
OBJ __AStructPrepConvert_81; /* convertSign'81 */
extern OBJ _AStructPrepConvert_82(OBJ);OBJ __AStructPrepConvert_82; /* convertSign'82 */
extern TUP2 _AStructPrepConvert_83(OBJ);OBJ __AStructPrepConvert_83; /* convertSign'83 */
OBJ __AStructPrepConvert_84; /* convertSign'84 */
extern OBJ _AStructPrepConvert_85(OBJ,OBJ);OBJ __AStructPrepConvert_85; /* convertSign'85 */
OBJ __AStructPrepConvert_86; /* convertSign'86 */
extern OBJ _AStructPrepConvert_87(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_87; /* convertSign'87 */
extern OBJ _AStructPrepConvert_88(OBJ,OBJ,OBJ);OBJ __AStructPrepConvert_88; /* convertSign'88 */
OBJ __AStructPrepConvert_89; /* convertSign?'89 */

extern OBJ _AStructPrepConvert_1(OBJ x1,OBJ x2) /* convertSign */
{OBJ r;
 CPCLS(__AStructPrepConvert_82,1);
 {OBJ x23;
  x23=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_82,1))(__AStructPrepConvert_82,__ABUILTIN_20);
  {OBJ x433=FLD1(x1,1);OBJ x434=FLD1(x1,2);OBJ x435=FLD1(x1,3);OBJ x436=FLD1(x1,4);
   if(EXPRD(x1,1)){
    CPPRD(x433,1);CPPRD(x435,1);
    DSPRDF(x1);
   }else{
    CPPRD(x433,2);COPY(x434,1);CPPRD(x435,2);
    FRPRD(x1,1);}
   CPCLS(__AStructPrepConvert_85,1);
   CPCLS(__AStructPrepConvert_87,1);
   {OBJ x437;OBJ x438;OBJ x439;OBJ x440;OBJ x441;OBJ x442;
    x437=_AInterOpalAccess_37(x435);
    CPPRD(x437,1);
    x438=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_85,1))(__AStructPrepConvert_85,x437);
    x439=_ADEBUG_2(x23,x438,x435);
    CPPRD(x439,1);
    x440=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_87,2))(__AStructPrepConvert_87,x433,x437);
    x441=_AInterOpalAccess_23(x439);
    x442=_ADEBUG_2(__AStructPrepConvert_2,x440,x433);
    {OBJ x443=FLD1(x439,1);OBJ x444=FLD1(x439,2);FLAG x_x439=EXPRD(x439,1);
     if(x_x439){
      COPY(x444,1);
     }else{
      COPY(x444,2);}
     CPCLS(__AInterOpal_314,1);
     {OBJ x446;
      x446=_AMap_16(__AInterOpal_314,x444,__AInterOpal_27);
      {OBJ x447;OBJ x448;OBJ x449;OBJ x450;OBJ x451;OBJ x452;OBJ x453=FLD1(x446,7);OBJ x454;FLAG x_x446=EXPRD(x446,1);
       if(x_x446){
       }else{
	x447=FLD1(x446,1);x448=FLD1(x446,2);x449=FLD1(x446,3);x450=FLD1(x446,4);x451=FLD1(x446,5);x452=FLD1(x446,6);x454=FLD1(x446,8);COPY(x447,1);COPY(x448,1);CPPRD(x449,1);COPY(x450,1);COPY(x451,1);COPY(x452,1);COPY(x453,1);COPY(x454,1);}
       CPPRD(x442,1);
       CPCLS(__AStructPrepConvert_21,1);
       CPCLS(__AStructPrepConvert_83,1);
       CPCLS(__AInterOpal_310,1);
       CPCLS(__AInterOpal_314,1);
       {TUP2 x455;TUP2 x457;OBJ x459;OBJ x460;TUP2 x462;TUP2 x465;OBJ x468;OBJ x469;OBJ x470;OBJ x471;OBJ x472;OBJ x473;OBJ x474;OBJ x475;OBJ x476;OBJ x483;OBJ x477;OBJ x478;OBJ x479;OBJ x480;OBJ x484;OBJ x485;OBJ x486;OBJ x487;OBJ x488;OBJ x489;
	x455=_AMaps4SigAna_26(x442,__AObjects_29);
	FRPRD(x455.c2,1);
	x457=_APair_8(x2);
	COPY(x457.c1,1);
	CPPRD(x457.c2,1);
	x459=_AImpDecl4SigAna_43(x457.c1,x455.c1);
	if(x_x439){
	 RSOME(x439,x460);FLD1(x460,1)=x457.c1;FLD1(x460,2)=x459;
	}else{
	 FRPRD(x439,1);PRD1(2,x460);FLD1(x460,1)=x457.c1;FLD1(x460,2)=x459;}
	x462=_ASeqMapEnv_4(__AStructPrepConvert_21,x457.c2,x441);
	COPY(x462.c2,1);
	x465=_ASeqZip_5(__AStructPrepConvert_83,x462.c2);
	x468=_AMap_10(__AInterOpal_310,x453,x465.c1,x465.c2);
	if(x_x446){
	 RSOME(x446,x469);FLD1(x469,7)=x468;
	}else{
	 FRPRD(x446,1);PRD1(8,x469);FLD1(x469,1)=x447;FLD1(x469,2)=x448;FLD1(x469,3)=x449;FLD1(x469,4)=x450;FLD1(x469,5)=x451;FLD1(x469,6)=x452;FLD1(x469,7)=x468;FLD1(x469,8)=x454;}
	x470=_AMap_31(__AInterOpal_314,__AInterOpal_27,x469,x444);
	COPY(x470,1);
	PRD1(2,x471);FLD1(x471,1)=x443;FLD1(x471,2)=x470;
	CPPRD(x471,5);
	x472=_AInterOpalAccess_37(x471);
	x473=_AInterOpalModifier_2(x471);
	x474=_AInterOpalAccess_20(x471);
	x475=_AInterOpalAccess_15(x471);
	x476=_AInterOpalAccess_16(x471);
	if(ISPRM(x473)){
	 COPY(x434,1);
	 CPPRD(x442,3);
	 CPPRD(x462.c1,1);
	 CPPRD(x471,3);
	 CPPRD(x475,1);
	 CPCLS(__AStructPrepConvert_4,1);
	 CPCLS(__AStructPrepConvert_5,1);
	 CPCLS(__AStructPrepConvert_7,1);
	 CPCLS(__AStructPrepConvert_88,1);
	 CPCLS(__AInterOpal_314,1);
	 x483=__ABUILTIN_3;
	}else{
	 COPY(x434,1);
	 CPPRD(x442,3);
	 CPPRD(x462.c1,1);
	 CPPRD(x471,3);
	 CPPRD(x473,1);
	 CPPRD(x475,1);
	 CPCLS(__AStructPrepConvert_4,1);
	 CPCLS(__AStructPrepConvert_5,1);
	 CPCLS(__AStructPrepConvert_7,1);
	 CPCLS(__AStructPrepConvert_88,1);
	 CPCLS(__AInterOpal_314,1);
	 x483=__ABUILTIN_5;}
	x477=_ARep_2(x457.c2,x472);
	x478=_ASeqMap_3(__AStructPrepConvert_4,x473);
	x479=_AInterOpalModifier_4(x475);
	x480=_AMap_16(__AInterOpal_314,x470,__AInterOpal_27);
	x484=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_88,2))(__AStructPrepConvert_88,x442,x471);
	x485=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_5,7))(__AStructPrepConvert_5,x462.c1,x471,x475,x479,x455.c1,x442,x434);
	x486=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_7,5))(__AStructPrepConvert_7,x471,x483,x442,x436,x434);
	x487=_ASeqMap_3(x484,x473);
	x488=_ASeqReduce_4(x485,x460,x474);
	PRD1(2,x489);FLD1(x489,1)=x478;FLD1(x489,2)=x487;
	{OBJ x490=FLD1(x488,1);OBJ x491=FLD1(x488,2);FLAG x_x488=EXPRD(x488,1);
	 if(x_x488){
	 }else{
	  COPY(x490,1);CPPRD(x491,1);}
	 CPPRD(x477,1);
	 CPPRD(x489,1);
	 CPCLS(__ARep_27,1);
	 CPCLS(__AName_32,1);
	 {OBJ x492;OBJ x493;OBJ x494;OBJ x495;TUP2 x497;OBJ x499;TUP2 x501;OBJ x503;OBJ x504;OBJ x505;OBJ x506;OBJ x508;OBJ x509;OBJ x511;OBJ x512;OBJ x513;OBJ x514;OBJ x516;OBJ x517;OBJ x519;OBJ x520;OBJ x521;
	  x492=_AImpDecl4SigAna_36(x490,x455.c1,x491,__ASeq_6,x489);
	  if(x_x488){
	   RSOME(x488,x493);FLD1(x493,1)=x492;FLD1(x493,2)=x462.c1;
	  }else{
	   FRPRD(x488,1);PRD1(2,x493);FLD1(x493,1)=x492;FLD1(x493,2)=x462.c1;}
	  PRD1(2,x494);FLD1(x494,1)=x493;FLD1(x494,2)=__ATree_7;
	  x495=_ASeqReduce_4(x486,x494,x476);
	  x497=_APair_8(x495);
	  x499=_ABSTreeConv_7(__AName_32,x497.c2);
	  x501=_APair_8(x497.c1);
	  COPY(x501.c1,1);
	  x503=_AImpDecl4SigAna_43(x501.c1,x455.c1);
	  x504=_AImpDecl4SigAna_36(x501.c1,x455.c1,x503,x499,x489);
	  COPY(x504,1);
	  x505=_AGlobSig_51(x504);
	  COPY(x505,1);
	  x506=_AMap_20(__ARep_27,x477,x505);
	  if(ISTGPRM(x506,1)){
	   CPPRD(x442,1);
	   CPPRD(x471,1);
	   CPPRD(x477,2);
	   CPCLS(__ARep_27,2);
	   {OBJ x507;
	    x507=_AMap_8(__ARep_27,x477,x505);
	    x508=_AGlobSig_87(x504,x507);}
	  }else{
	   x508=x504;
	   FREE(x505,1);
	   CPPRD(x442,1);
	   CPPRD(x471,1);
	   CPPRD(x477,1);
	   CPCLS(__ARep_27,1);}
	  x509=_AStructPrepConvert_17(x442,x480,x471,x508,x501.c2);
	  {TUP2 t=_APair_8(x509);
	   x511=t.c1;
	   x512=t.c2;}
	  COPY(x511,1);
	  x513=_AGlobSig_50(x511);
	  COPY(x513,1);
	  x514=_AMap_20(__ARep_27,x477,x513);
	  if(ISTGPRM(x514,1)){
	   CPCLS(__ARep_27,1);
	   CPCLS(__AGlobSigToText_1,1);
	   {OBJ x515;
	    x515=_AMap_8(__ARep_27,x477,x513);
	    x516=_AGlobSig_88(x511,x515);}
	  }else{
	   x516=x511;
	   FRPRD(x477,1);
	   FREE(x513,1);
	   CPCLS(__AGlobSigToText_1,1);}
	  x517=_AStructPrepConvert_23(x442,x462.c2,x471,x516,x512);
	  {TUP2 t=_APair_8(x517);
	   x519=t.c1;
	   x520=t.c2;}
	  COPY(x519,1);
	  x521=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigToText_1,1))(__AGlobSigToText_1,x519);
	  PRD1(2,r);FLD1(r,2)=x520;
	  FLD1(r,1)=_ADEBUG_2(__AStructPrepConvert_2,x521,x519);}}}}}}}}}
 return r;}

extern OBJ _AStructPrepConvert_4(OBJ x1) /* toImpDecl */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   FRPRD(x1,1);}
  COPY(__APragma_5,1);
  {OBJ x9;
   x9=x3;
   PRD1(2,r);FLD1(r,1)=x9;FLD1(r,2)=__APragma_5;}}
 return r;}

extern OBJ _AStructPrepConvert_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9) /* convertSpc */
{OBJ r;
 CPCLS(__AStructPrepConvert_36,1);
 CPPRD(x3,1);
 FRPRD(x4,1);
 CPPRD(x8,1);
 {OBJ x24;OBJ x33;
  x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_36,1))(__AStructPrepConvert_36,__ABUILTIN_20);
  x33=_AInterOpalAccess_9(x3,x8);
  {OBJ x157=FLD1(x9,1);OBJ x158=FLD1(x9,2);FLAG x_x9=EXPRD(x9,1);
   if(x_x9){
   }else{
    COPY(x157,1);CPPRD(x158,1);}
   {OBJ x249=FLD1(x8,2);OBJ x250=FLD1(x8,3);OBJ x251=FLD1(x8,4);OBJ x253=FLD1(x8,6);
    CPPRD(x250,1);COPY(x251,1);COPY(x253,1);
    {OBJ x257;OBJ x256;OBJ x255;OBJ x258;OBJ x259;OBJ x308;OBJ x309;OBJ x310;
     if(ISPRM(x251)){
      x257=__ABUILTIN_5;
     }else{
      x257=__ABUILTIN_3;}
     if(ISTGPRM(x33,1)){
      FREE(x7,1);
      CPPRD(x1,1);
      CPPRD(x250,1);
      CPCLS(__AStructPrepConvert_40,1);
      x256=__ASeq_6;
     }else{
      CPPRD(x1,1);
      CPPRD(x250,1);
      CPCLS(__AStructPrepConvert_40,1);
      x256=x7;}
     x255=_ARep_2(x1,x250);
     CPPRD(x255,1);
     x258=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_40,3))(__AStructPrepConvert_40,x250,x255,x257);
     x259=_ADEBUG_2(x24,x258,x255);
     if(ISTGPRM(x257,1)){
      FRPRD(x1,1);
      FREE(x251,1);
      FREE(x253,1);
      CPPRD(x3,1);
      CPPRD(x8,1);
      {OBJ x260;
       x260=_AInterOpalAccess_12(x3,x8);
       if(ISTGPRM(x260,1)){
	CPPRD(x2,1);
	CPCLS(__AStructPrepConvert_6,1);
	CPCLS(__AGlobSigToText_1,1);
	{OBJ x261;OBJ x262;OBJ x263;OBJ x264;
	 x261=_AInterOpalAccess_25(x3,x8);
	 x262=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x2,x6);
	 x263=_AInterOpalModifier_10(x2,x262,x261);
	 PRD(1,3,x264);FLD(x264,1)=x263;
	 {TUP2 t=_AMaps4SigAna_3(x157,x5,x158,x249,x259,x256,x264);
	  x308=t.c1;
	  x309=t.c2;}}
       }else{
	FRPRD(x2,1);
	FRPRD(x3,1);
	FRPRD(x6,1);
	if(EXPRD(x8,1)){
	 DSPRD(x8);
	}else{
	 DCPRD(x8,1);}
	CPCLS(__AGlobSigToText_1,1);
	{TUP2 t=_AMaps4SigAna_3(x157,x5,x158,x249,x259,x256,__AGlobSigImpl_22);
	 x308=t.c1;
	 x309=t.c2;}}}
     }else{
      CPPRD(x3,1);
      CPPRD(x8,1);
      {OBJ x265;OBJ x267;OBJ x270;
       x265=_AInterOpalAccess_13(x3,x8);
       if(ISPRD(x251)&&(ISTGPRD(x251,1))){
	x267=__ABUILTIN_5;
       }else{
	x267=__ABUILTIN_3;}
       if(ISTGPRM(x267,1)){
	CPCLS(__AStructPrepConvert_6,1);
	{OBJ x268;
	 x268=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x2,x6);
	 if(ISPRD(x251)&&(ISTGPRD(x251,1))){
	  {OBJ x269=FLD(x251,1);
	   CPPRD(x269,1);
	   if(EXPRD(x251,1)){
	    FRPRD(FLD(x251,1),1);DSPRDF(x251);
	   }else{
	    DCPRD(x251,1);}
	   x270=_AInterOpalModifier_7(x268,x269);}
	 }else{
	  HLT("InterOpal at <unknown> : undefined selection fct\'InterOpal:kind->fct");}}
       }else{
	FRPRD(x2,1);
	FRPRD(x6,1);
	FREE(x251,1);
	COPY(__AFct_24,1);
	x270=__AFct_24;}
       if(ISTGPRM(x265,1)){
	FRPRD(x1,1);
	FREE(x253,1);
	{OBJ x271;
	 x271=_AInterOpalAccess_26(x3,x8);
	 {OBJ x276=FLD1(x271,3);OBJ x277=FLD1(x271,4);
	  if(EXPRD(x271,1)){
	   FLD1(x271,3)=NIL;FLD1(x271,4)=NIL;DSPRD(x271);
	  }else{
	   CPPRD(x276,1);COPY(x277,1);
	   FRPRD(x271,1);}
	  CPCLS(__AStructPrepConvert_43,1);
	  {OBJ x278;
	   x278=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_43,1))(__AStructPrepConvert_43,__ABUILTIN_20);
	   {OBJ x279=FLD1(x276,1);
	    if(EXPRD(x276,1)){
	     DSPRD(x276);
	    }else{
	     FRPRD(x276,1);}
	    CPCLS(__AGlobSigToText_1,1);
	    {OBJ x282;
	     x282=_ASeqMap_3(x278,x277);
	     {TUP2 t=_AMaps4SigAna_5(x157,x5,x158,x249,x259,x256,x270,x279,x282);
	      x308=t.c1;
	      x309=t.c2;}}}}}}
       }else{
	if(EXPRD(x8,1)){
	 DSPRD(x8);
	}else{
	 DCPRD(x8,1);}
	{OBJ x285;OBJ x306;
	 if(ISPRM(x253)){
	  x285=__ABUILTIN_5;
	 }else{
	  x285=__ABUILTIN_3;}
	 if(ISTGPRM(x285,1)){
	  FRPRD(x1,1);
	  FRPRD(x3,1);
	  FREE(x253,1);
	  CPCLS(__AGlobSigToText_1,1);
	  x306=__AOption_5;
	 }else{
	  {OBJ x292=FLD1(x3,7);
	   if(EXPRD(x3,1)){
	    FLD1(x3,7)=NIL;DSPRD(x3);
	   }else{
	    COPY(x292,1);
	    FRPRD(x3,1);}
	   {OBJ x296;OBJ x297;
	    if(ISPRM(x253)){
	     HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	    }else{
	     {OBJ x294=FLD1(x253,1);
	      if(EXPRD(x253,1)){
	       x296=x294;
	       FREE(FLD1(x253,2),1);DSPRDF(x253);
	      }else{
	       x296=x294;
	       FRPRD(x253,1);}
	      CPCLS(__AInterOpal_310,1);}}
	    x297=_AMap_16(__AInterOpal_310,x292,x296);
	    if(ISTGPRD(x297,1)){
	     {OBJ x300=FLD(x297,3);
	      if(EXPRD(x297,1)){
	       FLD(x297,3)=NIL;DSPRD(x297);
	      }else{
	       COPY(x300,1);
	       FRPRD(x297,1);}
	      {OBJ x304;OBJ x305;
	       if(ISPRM(x300)){
		HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	       }else{
		{OBJ x303=FLD1(x300,1);
		 if(EXPRD(x300,1)){
		  x304=x303;
		  DSPRDF(x300);
		 }else{
		  CPPRD(x303,1);
		  x304=x303;
		  FRPRD(x300,1);}
		 CPCLS(__AGlobSigToText_1,1);}}
	       x305=_ARep_2(x1,x304);
	       PRD1(1,x306);FLD1(x306,1)=x305;}}
	    }else{
	     FRPRD(x1,1);
	     FRPRD(x297,1);
	     CPCLS(__AGlobSigToText_1,1);
	     x306=__AOption_5;}}}}
	 {TUP2 t=_AMaps4SigAna_4(x157,x5,x158,x249,x259,x256,x270,x306);
	  x308=t.c1;
	  x309=t.c2;}}}}}
     COPY(x308,1);
     x310=(*(OBJ(*)(OBJ,OBJ))METHOD(__AGlobSigToText_1,1))(__AGlobSigToText_1,x308);
     if(x_x9){
      RSOME(x9,r);FLD1(r,2)=x309;
     }else{
      FRPRD(x9,1);PRD1(2,r);FLD1(r,2)=x309;}
     FLD1(r,1)=_ADEBUG_2(x24,x310,x308);}}}}
 return r;}

extern OBJ _AStructPrepConvert_6(OBJ x1,OBJ x2,OBJ x3) /* convertName */
{OBJ r;
 CPPRD(x1,1);
 CPPRD(x3,1);
 {OBJ x12;
  x12=_AInterOpalAccess_8(x1,x3);
  {OBJ x26=FLD1(x3,1);OBJ x27=FLD1(x3,2);OBJ x28=FLD1(x3,3);
   COPY(x27,1);COPY(x28,1);
   {OBJ x29;OBJ x31;OBJ x33;OBJ x34;
    if(ISPRM(x27)&&(ISTGPRM(x27,1))){
     x29=__ABUILTIN_5;
    }else{
     x29=__ABUILTIN_3;}
    if(ISTGPRM(x29,1)){
     FREE(x27,1);
     x31=__ANat_5;
    }else{
     if(ISPRD(x27)){
      {OBJ x30=FLD1(x27,1);
       x31=x30;
       if(EXPRD(x27,1)){
	DSPRDF(x27);
       }else{
	DCPRD(x27,1);}}
     }else{
      HLT("InterOpal at <unknown> : undefined selection no\'InterOpal:origin->nat");}}
    {TUP2 t=_AMaps4SigAna_26(x2,x31);
     x33=t.c1;
     x34=t.c2;}
    if(ISTGPRM(x12,1)){
     FREE(x28,1);
     FRPRD(x34,1);
     {
      PRDF(3,4,r);FLD(r,1)=x33;FLD(r,2)=x26;
      FLD(r,3)=_AInterOpalAccess_36(x1,x3);}
    }else{
     FRPRD(x1,1);
     if(EXPRD(x3,1)){
      DSPRD(x3);
     }else{
      DCPRD(x3,1);}
     if(ISTGPRM(x29,1)){
      FREE(x28,1);
      FRPRD(x34,1);
      PRDF(3,2,r);FLD(r,1)=x33;FLD(r,2)=x26;FLD(r,3)=__AObjects_30;
     }else{
      {OBJ x36;
       x36=_AInterOpalModifier_9(x28);
       PRDF(3,2,r);FLD(r,1)=x33;FLD(r,2)=x26;
       FLD(r,3)=_ADArray_20(x34,x36);}}}}}}
 return r;}

extern OBJ _AStructPrepConvert_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* convertTrans */
{OBJ r;
 CPCLS(__AStructPrepConvert_58,1);
 {OBJ x24;
  x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_58,1))(__AStructPrepConvert_58,__ABUILTIN_20);
  {OBJ x823=FLD1(x7,1);OBJ x824=FLD1(x7,2);FLAG x_x7=EXPRD(x7,1);
   if(x_x7){
   }else{
    CPPRD(x823,1);COPY(x824,1);}
   {OBJ x826=FLD1(x6,2);
    if(EXPRD(x6,1)){
     FLD1(x6,2)=NIL;DSPRD(x6);
    }else{
     COPY(x826,1);
     FRPRD(x6,1);}
    {OBJ x833;
     x833=x826;
     {OBJ x834=FLD1(x823,1);OBJ x835=FLD1(x823,2);FLAG x_x823=EXPRD(x823,1);
      if(x_x823){
      }else{
       COPY(x834,1);CPPRD(x835,1);}
      CPPRD(x3,1);
      COPY(x833,1);
      {OBJ x836;OBJ x837;TUP2 x839;TUP2 x841;
       if(x_x823){
	RSOME(x823,x836);FLD1(x836,1)=x835;FLD1(x836,2)=x1;
       }else{
	FRPRD(x823,1);PRD1(2,x836);FLD1(x836,1)=x835;FLD1(x836,2)=x1;}
       x837=_AStructPrepConvert_22(x836,x833);
       x839=_AMaps4SigAna_26(x3,__AObjects_29);
       FRPRD(x839.c2,1);
       x841=_APair_8(x837);
       {OBJ x844=FLD1(x841.c2,2);
	COPY(x844,1);
	CPCLS(__AInterOpal_314,1);
	{OBJ x845;OBJ x846;OBJ x847;OBJ x848;
	 x845=_AMap_16(__AInterOpal_314,x844,x833);
	 CPPRD(x845,3);
	 x846=_AInterOpalModifier_4(x845);
	 x847=_AInterOpalAccess_19(x845);
	 x848=_AInterOpalModifier_1(x845);
	 {OBJ x850=FLD1(x845,2);OBJ x851=FLD1(x845,3);
	  COPY(x850,1);CPPRD(x851,2);
	  CPPRD(x841.c1,1);
	  {OBJ x857;
	   x857=_ARep_2(x841.c1,x851);
	   if(ISPRD(x850)){
	    {OBJ x858=FLD1(x850,1);
	     if(EXPRD(x850,1)){
	      DSPRDF(x850);
	     }else{
	      DCPRD(x850,1);}
	     if(ISPRM(x848)){
	      FREE(x5,1);
	      CPPRD(x3,2);
	      COPY(x834,1);
	      CPPRD(x841.c1,1);
	      CPPRD(x841.c2,1);
	      CPPRD(x845,1);
	      CPPRD(x846,1);
	      COPY(x847,1);
	      CPCLS(__AStructPrepConvert_9,1);
	      CPCLS(__AStructPrepConvert_10,1);
	      {TUP2 x861;OBJ x863;OBJ x864;OBJ x865;OBJ x866;OBJ x867;OBJ x868;
	       x861=_AMaps4SigAna_26(x3,x858);
	       CPPRD(x861.c2,1);
	       x863=_AImpDecl4SigAna_43(x834,x861.c1);
	       x864=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_10,3))(__AStructPrepConvert_10,x846,x861.c1,x861.c2);
	       if(x_x7){
		RSOME(x7,x865);FLD1(x865,1)=x834;FLD1(x865,2)=x863;
	       }else{
		FRPRD(x7,1);PRD1(2,x865);FLD1(x865,1)=x834;FLD1(x865,2)=x863;}
	       x866=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_9,8))(__AStructPrepConvert_9,x841.c1,x841.c2,x845,x846,x861.c1,x861.c2,x3,x4);
	       x867=_ASeqReduce_4(x864,x824,x847);
	       x868=_ASeqReduce_4(x866,x865,x847);
	       {OBJ x869=FLD1(x868,1);OBJ x870=FLD1(x868,2);FLAG x_x868=EXPRD(x868,1);
		if(x_x868){
		 COPY(x869,2);
		}else{
		 COPY(x869,3);CPPRD(x870,1);}
		CPCLS(__AStructPrepConvert_62,1);
		{OBJ x871;OBJ x872;OBJ x873;OBJ x874;OBJ x876;OBJ x877;OBJ x878;OBJ x879;OBJ x884;OBJ x885;OBJ x886;
		 x871=_AImpDecl4SigAna_49(x869,x861.c1);
		 x872=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_62,4))(__AStructPrepConvert_62,x869,x871,x851,__ABUILTIN_3);
		 x873=_ADEBUG_2(x24,x872,x871);
		 if(ISTGPRM(x873,1)){
		  CPCLS(__AStructPrepConvert_8,1);
		  CPCLS(__AName_32,2);
		  x874=_AImpDecl4SigAna_38(x869,x861.c1,x870);
		 }else{
		  CPCLS(__AStructPrepConvert_8,1);
		  CPCLS(__AName_32,2);
		  x874=_AImpDecl4SigAna_37(x869,x861.c1,x870);}
		 x876=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_8,2))(__AStructPrepConvert_8,x861.c1,__ASeq_6);
		 x877=_ASetByBSTConv_7(__AName_32,__ASeq_6);
		 x878=_ASetByBST_41(__AName_32,x867,x877);
		 x879=_ADEBUG_2(x24,x876,x878);
		 if(ISTGPRM(x873,1)){
		  x885=x841.c1;x884=x874;
		  FRPRD(x3,1);
		  if(EXPRD(x841.c2,1)){
		   FREE(FLD1(x841.c2,2),1);DSPRDF(x841.c2);
		  }else{
		   DCPRD(x841.c2,1);}
		  if(EXPRD(x845,1)){
		   DSPRD(x845);
		  }else{
		   DCPRD(x845,1);}
		  FRPRD(x857,1);
		 }else{
		  COPY(x874,1);
		  CPCLS(__ARep_27,1);
		  {OBJ x880;OBJ x881;
		   x880=_AGlobSig_51(x874);
		   x881=_AMap_20(__ARep_27,x857,x880);
		   if(ISTGPRM(x881,1)){
		    x885=x841.c1;x884=x874;
		    FRPRD(x3,1);
		    if(EXPRD(x841.c2,1)){
		     FREE(FLD1(x841.c2,2),1);DSPRDF(x841.c2);
		    }else{
		     DCPRD(x841.c2,1);}
		    if(EXPRD(x845,1)){
		     DSPRD(x845);
		    }else{
		     DCPRD(x845,1);}
		   }else{
		    {OBJ x882;
		     x882=_AStructPrepConvert_17(x3,x845,x841.c2,x874,x841.c1);
		     {TUP2 t=_APair_8(x882);
		      x884=t.c1;
		      x885=t.c2;}}}}}
		 if(x_x868){
		  RSOME(x868,x886);FLD1(x886,1)=x884;FLD1(x886,2)=x885;
		 }else{
		  FRPRD(x868,1);PRD1(2,x886);FLD1(x886,1)=x884;FLD1(x886,2)=x885;}
		 PRD1(2,r);FLD1(r,1)=x886;FLD1(r,2)=x879;}}}
	     }else{
	      CPPRD(x3,2);
	      COPY(x834,1);
	      CPPRD(x841.c1,1);
	      CPPRD(x841.c2,1);
	      CPPRD(x845,1);
	      CPPRD(x846,2);
	      COPY(x847,2);
	      CPCLS(__AStructPrepConvert_9,1);
	      CPCLS(__AStructPrepConvert_10,1);
	      {TUP2 x891;OBJ x893;OBJ x894;OBJ x895;OBJ x896;OBJ x897;OBJ x898;
	       x891=_AMaps4SigAna_26(x3,x858);
	       CPPRD(x891.c2,2);
	       x893=_AImpDecl4SigAna_43(x834,x891.c1);
	       x894=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_10,3))(__AStructPrepConvert_10,x846,x891.c1,x891.c2);
	       if(x_x7){
		RSOME(x7,x895);FLD1(x895,1)=x834;FLD1(x895,2)=x893;
	       }else{
		FRPRD(x7,1);PRD1(2,x895);FLD1(x895,1)=x834;FLD1(x895,2)=x893;}
	       x896=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_9,8))(__AStructPrepConvert_9,x841.c1,x841.c2,x845,x846,x891.c1,x891.c2,x3,x4);
	       x897=_ASeqReduce_4(x894,x824,x847);
	       x898=_ASeqReduce_4(x896,x895,x847);
	       {OBJ x899=FLD1(x898,1);OBJ x900=FLD1(x898,2);FLAG x_x898=EXPRD(x898,1);
		if(x_x898){
		 COPY(x899,3);
		}else{
		 COPY(x899,4);CPPRD(x900,1);}
		CPPRD(x3,1);
		CPPRD(x841.c2,1);
		CPPRD(x845,1);
		CPPRD(x848,1);
		CPPRD(x891.c2,1);
		CPCLS(__AStructPrepConvert_4,1);
		CPCLS(__AStructPrepConvert_12,1);
		CPCLS(__AStructPrepConvert_13,1);
		CPCLS(__AStructPrepConvert_62,1);
		CPCLS(__AStructPrepConvert_63,1);
		CPCLS(__AStructPrepConvert_64,1);
		CPCLS(__APair_5,1);
		{OBJ x901;OBJ x902;OBJ x903;OBJ x904;OBJ x905;OBJ x906;OBJ x907;OBJ x908;OBJ x909;OBJ x910;OBJ x911;OBJ x912;OBJ x915;OBJ x917;OBJ x918;OBJ x919;OBJ x920;OBJ x921;OBJ x922;OBJ x923;OBJ x924;OBJ x925;OBJ x926;OBJ x933;OBJ x934;OBJ x935;OBJ x936;OBJ x937;OBJ x938;OBJ x943;OBJ x944;OBJ x945;
		 x901=_AImpDecl4SigAna_49(x899,x891.c1);
		 x902=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_62,4))(__AStructPrepConvert_62,x899,x901,x851,__ABUILTIN_5);
		 x903=_ADEBUG_2(x24,x902,x901);
		 x904=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_12,6))(__AStructPrepConvert_12,x841.c2,x2,x839.c1,x891.c2,x3,x5);
		 x905=_AInterOpalModifier_3(x845);
		 COPY(x905,1);
		 x906=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_13,1))(__AStructPrepConvert_13,x846);
		 x907=_ASeqMap_3(__AStructPrepConvert_4,x848);
		 COPY(x907,1);
		 x908=_ASeq_40(__AStructPrepConvert_63,x905);
		 x909=_ASeqFilter_2(__AStructPrepConvert_64,x905);
		 x910=_ASeqFilter_2(x906,x847);
		 x911=_ASeqMap_3(__APair_5,x907);
		 x912=_AImpDecl4SigAna_42(x899,x891.c1);
		 if(ISTGPRM(x908,1)){
		  CPCLS(__AStructPrepConvert_14,1);
		  COPY(__AStructPrepConvert_66,1);
		  CPCLS(__AStructPrepConvert_67,1);
		  CPCLS(__APair_4,1);
		  CPCLS(__AOption_3,1);
		  CPCLS(__AOption_4,1);
		  {OBJ x913;OBJ x914;
		   x913=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_67,1))(__AStructPrepConvert_67,__ABUILTIN_20);
		   x914=_ADArray_20(x891.c2,x913);
		   x915=_ADArray_15(x912,x914,__AStructPrepConvert_66);}
		 }else{
		  x915=x912;
		  FRPRD(x891.c2,1);
		  CPCLS(__AStructPrepConvert_14,1);
		  CPCLS(__APair_4,1);
		  CPCLS(__AOption_3,1);
		  CPCLS(__AOption_4,1);}
		 {TUP2 t=_ASeqMapEnv_4(x904,x915,x909);
		  x917=t.c1;
		  x918=t.c2;}
		 x919=_ASeqFilter_2(__AOption_3,x918);
		 x920=_ASeqMap_3(__AOption_4,x919);
		 COPY(x920,1);
		 x921=_ASeqMap_3(__APair_4,x920);
		 x922=_ASeqOfSeq_2(x921);
		 x923=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_14,2))(__AStructPrepConvert_14,x891.c1,x922);
		 x924=_ASeqMap_3(x923,x910);
		 x925=_ASeqOfSeq_2(x924);
		 x926=_AMaps4SigAna_10(x900,x891.c1,__ASeq_6,x920,x911);
		 if(ISTGPRM(x903,1)){
		  x934=x925;
		  if(EXPRD(x848,1)){
		   DSPRD(x848);
		  }else{
		   DCPRD(x848,1);}
		  FREE(x907,1);
		  CPCLS(__AStructPrepConvert_8,1);
		  CPCLS(__AName_32,2);
		  x933=_AImpDecl4SigAna_46(x899,x891.c1,x917,x926);
		 }else{
		  x934=x925;
		  CPPRD(x3,1);
		  CPPRD(x841.c2,1);
		  CPCLS(__AStructPrepConvert_8,1);
		  CPCLS(__AStructPrepConvert_68,1);
		  CPCLS(__AName_32,2);
		  {OBJ x928;OBJ x929;OBJ x930;
		   x928=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_68,2))(__AStructPrepConvert_68,x3,x841.c2);
		   x929=_ASeqMap_3(x928,x848);
		   PRD1(2,x930);FLD1(x930,1)=x907;FLD1(x930,2)=x929;
		   x933=_AImpDecl4SigAna_39(x899,x891.c1,x917,x926,x930);}}
		 COPY(x934,1);
		 x935=_ASetByBSTConv_7(__AName_32,x934);
		 x936=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_8,2))(__AStructPrepConvert_8,x891.c1,x934);
		 x937=_ASetByBST_41(__AName_32,x897,x935);
		 x938=_ADEBUG_2(x24,x936,x937);
		 if(ISTGPRM(x903,1)){
		  x944=x841.c1;x943=x933;
		  FRPRD(x3,1);
		  if(EXPRD(x841.c2,1)){
		   FREE(FLD1(x841.c2,2),1);DSPRDF(x841.c2);
		  }else{
		   DCPRD(x841.c2,1);}
		  if(EXPRD(x845,1)){
		   DSPRD(x845);
		  }else{
		   DCPRD(x845,1);}
		  FRPRD(x857,1);
		 }else{
		  COPY(x933,1);
		  CPCLS(__ARep_27,1);
		  {OBJ x939;OBJ x940;
		   x939=_AGlobSig_51(x933);
		   x940=_AMap_20(__ARep_27,x857,x939);
		   if(ISTGPRM(x940,1)){
		    x944=x841.c1;x943=x933;
		    FRPRD(x3,1);
		    if(EXPRD(x841.c2,1)){
		     FREE(FLD1(x841.c2,2),1);DSPRDF(x841.c2);
		    }else{
		     DCPRD(x841.c2,1);}
		    if(EXPRD(x845,1)){
		     DSPRD(x845);
		    }else{
		     DCPRD(x845,1);}
		   }else{
		    {OBJ x941;
		     x941=_AStructPrepConvert_17(x3,x845,x841.c2,x933,x841.c1);
		     {TUP2 t=_APair_8(x941);
		      x943=t.c1;
		      x944=t.c2;}}}}}
		 if(x_x898){
		  RSOME(x898,x945);FLD1(x945,1)=x943;FLD1(x945,2)=x944;
		 }else{
		  FRPRD(x898,1);PRD1(2,x945);FLD1(x945,1)=x943;FLD1(x945,2)=x944;}
		 PRD1(2,r);FLD1(r,1)=x945;FLD1(r,2)=x938;}}}}}
	   }else{
	    HLT("InterOpal at <unknown> : undefined selection no\'InterOpal:origin->nat");}}}}}}}}}}}
 return r;}

extern OBJ _AStructPrepConvert_8(OBJ x1,OBJ x2,OBJ x3) /* `` */
{OBJ r;
 CPPRD(__AStructPrepConvert_44,1);
 CPPRD(__AStructPrepConvert_45,1);
 CPCLS(__AName_34,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  ANatConv_1(x1,x4);
  x5=_ASeqConv_2(__AName_34,x2);
  ADenotation_4(__AStructPrepConvert_44,x5,x6);
  ADenotation_4(x4,x6,x7);
  ADenotation_4(__AStructPrepConvert_45,x7,r);}
 return r;}

extern OBJ _AStructPrepConvert_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9,OBJ x10) /* convertTransSpc */
{OBJ r;
 {OBJ x12=FLD1(x9,2);
  {OBJ x18;OBJ x20;OBJ x19;OBJ x21;OBJ x22;OBJ x23;OBJ x24;
   x18=x12;
   if(ISTGPRM(x8,1)){
    CPPRD(x4,1);
    CPCLS(__AStructPrepConvert_46,1);
    CPCLS(__AStructPrepConvert_47,1);
    CPCLS(__AInterOpalModifier_9,1);
    CPCLS(__ACompose_4,2);
    x20=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_46,1))(__AStructPrepConvert_46,__ABUILTIN_20);
   }else{
    CPPRD(x4,1);
    CPCLS(__AStructPrepConvert_47,1);
    CPCLS(__AImpExpEntry_125,1);
    CPCLS(__AInterOpalModifier_9,1);
    CPCLS(__ACompose_4,2);
    x20=__AImpExpEntry_125;}
   x19=_ANatMap_14(x4,x18);
   x21=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_47,1))(__AStructPrepConvert_47,x6);
   x22=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x21,__AInterOpalModifier_9);
   x23=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x20,x22);
   x24=_ASeqMap_3(x23,x19);
   r=_AStructPrepConvert_5(x1,x2,x3,x4,x5,x7,x24,x9,x10);}}
 return r;}

extern OBJ _AStructPrepConvert_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* spcToName */
{OBJ r;
 {OBJ x7=FLD1(x4,2);
  if(EXPRD(x4,1)){
   DSPRD(x4);
  }else{
   FRPRD(x4,1);}
  CPCLS(__AStructPrepConvert_11,1);
  CPCLS(__AName_32,2);
  CPCLS(__AInterOpalModifier_9,1);
  CPCLS(__ACompose_4,1);
  {OBJ x13;OBJ x14;OBJ x15;OBJ x16;OBJ x17;OBJ x18;
   x13=x7;
   x14=_ANatMap_14(x1,x13);
   x15=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_11,3))(__AStructPrepConvert_11,x2,x3,x13);
   x16=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x15,__AInterOpalModifier_9);
   x17=_ASeqMap_3(x16,x14);
   x18=_ASetByBSTConv_7(__AName_32,x17);
   r=_ASetByBST_41(__AName_32,x18,x5);}}
 return r;}

extern OBJ _AStructPrepConvert_11(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* h3 */
{OBJ r;
 {
  PRDF(3,2,r);FLD(r,1)=x1;FLD(r,2)=x3;
  FLD(r,3)=_ADArray_20(x2,x4);}
 return r;}

extern TUP2 _AStructPrepConvert_12(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* convertIdentAct */
{TUP2 r;
 CPCLS(__AStructPrepConvert_6,1);
 {OBJ x15;
  x15=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x1,x5);
  {OBJ x29=FLD1(x8,1);OBJ x30=FLD1(x8,2);FLAG x_x8=EXPRD(x8,1);
   if(x_x8){
    COPY(x30,1);
   }else{
    COPY(x29,1);COPY(x30,2);}
   {OBJ x31;OBJ x32;OBJ x33;OBJ x34;
    x31=_ASeqMap_3(x15,x30);
    x32=_AInterOpalModifier_9(x29);
    x33=_ADArray_20(x4,x32);
    if(ISTGPRM(x2,1)){
     CPCLS(__AStructPrepConvert_48,1);
     x34=_ASeq_40(__AStructPrepConvert_48,x30);
    }else{
     FREE(x30,1);
     x34=__ABUILTIN_3;}
    if(ISTGPRM(x34,1)){
     COPY(x31,1);
     CPCLS(__AStructPrepConvert_15,1);
     CPCLS(__AImpExpEntry_6,1);
     {OBJ x35;TUP2 x37;OBJ x39;OBJ x40;
      x35=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_15,2))(__AStructPrepConvert_15,x3,x31);
      x37=_ASeqMapEnv_4(x35,x7,x6);
      COPY(x37.c2,1);
      x39=_ASeqMap_3(__AImpExpEntry_6,x37.c2);
      if(x_x8){
       RSOME(x8,x40);FLD1(x40,1)=x33;FLD1(x40,2)=x37.c2;
      }else{
       FRPRD(x8,1);PRD1(2,x40);FLD1(x40,1)=x33;FLD1(x40,2)=x37.c2;}
      PRD1(1,r.c2);FLD1(r.c2,1)=x40;
      r.c1=_AMaps4SigAna_15(x37.c1,x33,x39,x31);}
    }else{
     if(x_x8){
      DSPRDF(x8);
     }else{
      FRPRD(x8,1);}
     FREE(x6,1);
     r.c1=_AMaps4SigAna_16(x7,x33,x31);
     r.c2=__AOption_5;}}}}
 return r;}
extern OBJ _AStructPrepConvert_12_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* convertIdentAct */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_12(x1,x2,x3,x4,x5,x6,x7,x8);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_13(OBJ x1,OBJ x2) /* imported? */
{OBJ r;
 {OBJ x4=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x10;OBJ x11;
   x10=x4;
   x11=_ANatMap_14(x1,x10);
   if(ISPRM(x11)){
    r=__ABUILTIN_3;
   }else{
    if(EXPRD(x11,1)){
     DSPRD(x11);
    }else{
     DCPRD(x11,1);}
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _AStructPrepConvert_14(OBJ x1,OBJ x2,OBJ x3) /* toName */
{OBJ r;
 CPCLS(__AStructPrepConvert_49,1);
 CPCLS(__AImpExpEntry_6,1);
 CPCLS(__ACompose_4,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_49,2))(__AStructPrepConvert_49,x1,x3);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x4,__AImpExpEntry_6);
  r=_ASeqMap_3(x5,x2);}
 return r;}

extern TUP2 _AStructPrepConvert_15(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convertWRTexplInst */
{TUP2 r;
 {OBJ x24=FLD1(x4,1);OBJ x25=FLD1(x4,2);
  if(EXPRD(x4,1)){
   FRPRD(FLD1(x4,3),1);DSPRDF(x4);
  }else{
   FRPRD(x4,1);}
  CPCLS(__AStructPrepConvert_16,1);
  {OBJ x27;OBJ x28;TUP2 x29;
   x27=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_16,2))(__AStructPrepConvert_16,x1,x24);
   x28=_ASeqMap_3(x27,x2);
   x29=_AMaps4SigAna_13(x3);
   {OBJ x31=FLD1(x29.c2,1);
    r.c2=_AImpExpEntry_130(x25,x29.c2);
    r.c1=_AMaps4SigAna_14(x29.c1,x31,x1,x24,x28);}}}
 return r;}
extern OBJ _AStructPrepConvert_15_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convertWRTexplInst */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_15(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_16(OBJ x1,OBJ x2,OBJ x3) /* setInstance */
{OBJ r;
 if(ISPRD(x3)&&(ISTGPRD(x3,2))){
  CPPRD(x3,1);
  {OBJ x14;OBJ x15;
   x14=_AName_12(x3);
   ANat_76(x14,x1,x15);
   if(ISTGPRM(x15,1)){
    {
     PRDF(3,2,r);FLD(r,1)=x1;FLD(r,3)=x2;
     FLD(r,2)=_AName_11(x3);}
   }else{
    r=x3;}}
 }else{
  r=x3;}
 return r;}

extern OBJ _AStructPrepConvert_17(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addPragmas */
{OBJ r;
 CPPRD(x5,1);
 {OBJ x15;
  PRD1(2,x15);FLD1(x15,1)=x4;FLD1(x15,2)=x5;
  {OBJ x29=FLD1(x2,3);OBJ x34=FLD1(x2,8);
   if(EXPRD(x2,1)){
    FLD1(x2,3)=NIL;FLD1(x2,8)=NIL;DSPRD(x2);
   }else{
    CPPRD(x29,1);COPY(x34,1);
    FRPRD(x2,1);}
   CPCLS(__AStructPrepConvert_18,1);
   {OBJ x35;OBJ x36;
    x35=_ARep_2(x5,x29);
    x36=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_18,3))(__AStructPrepConvert_18,x1,x3,x35);
    r=_ASeqReduce_3(x36,x15,x34);}}}
 return r;}

extern OBJ _AStructPrepConvert_18(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addPragmas,1 */
{OBJ r;
 CPCLS(__AStructPrepConvert_20,1);
 CPCLS(__AStructPrepConvert_51,1);
 {OBJ x12;OBJ x13;
  x12=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_20,2))(__AStructPrepConvert_20,x1,x2);
  x13=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_51,1))(__AStructPrepConvert_51,__ABUILTIN_20);
  {OBJ x26=FLD1(x5,1);OBJ x27=FLD1(x5,2);FLAG x_x5=EXPRD(x5,1);
   if(x_x5){
    COPY(x26,1);
   }else{
    COPY(x26,2);CPPRD(x27,1);}
   CPPRD(x3,1);
   CPCLS(__ARep_27,1);
   {OBJ x28;OBJ x30;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;
    x28=_AGlobSig_51(x26);
    COPY(x28,1);
    x30=_AMap_33(__ARep_27,x28,x3);
    if(ISPRM(x30)){
     CPPRD(x3,1);
     CPCLS(__AStructPrepConvert_54,1);
     CPCLS(__ARep_27,1);
     x32=__ASeq_6;
    }else{
     {OBJ x31=FLD1(x30,1);
      if(EXPRD(x30,1)){
       x32=x31;
       DSPRDF(x30);
      }else{
       COPY(x31,1);
       x32=x31;
       FRPRD(x30,1);}
      CPPRD(x3,1);
      CPCLS(__AStructPrepConvert_54,1);
      CPCLS(__ARep_27,1);}}
    {TUP2 t=_ASeqMapEnv_4(x12,x27,x4);
     x33=t.c1;
     x34=t.c2;}
    COPY(x34,1);
    if(x_x5){
     RSOME(x5,x35);FLD1(x35,1)=x34;FLD1(x35,2)=x32;
    }else{
     FRPRD(x5,1);PRD1(2,x35);FLD1(x35,1)=x34;FLD1(x35,2)=x32;}
    x36=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_54,2))(__AStructPrepConvert_54,x3,x34);
    x37=_AMap_31(__ARep_27,x3,x35,x28);
    x38=_ADEBUG_2(x13,x36,x26);
    PRD1(2,r);FLD1(r,2)=x33;
    FLD1(r,1)=_AGlobSig_87(x38,x37);}}}
 return r;}

extern OBJ _AStructPrepConvert_19(OBJ x1,OBJ x2) /* !! */
{OBJ r;
 CPCLS(__ARep_27,1);
 {OBJ x3;
  x3=_AMap_33(__ARep_27,x1,x2);
  if(ISPRM(x3)){
   r=__ASeq_6;
  }else{
   {OBJ x7=FLD1(x3,1);
    if(EXPRD(x3,1)){
     r=x7;
     DSPRDF(x3);
    }else{
     COPY(x7,1);
     r=x7;
     FRPRD(x3,1);}}}}
 return r;}

extern TUP2 _AStructPrepConvert_20(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addPragmas,2 */
{TUP2 r;
 if(ISTGPRD(x4,0)){
  {OBJ x45=FLD(x4,1);FLAG x_x4=EXPRD(x4,1);
   if(x_x4){
   }else{
    COPY(x45,1);}
   CPCLS(__AStructPrepConvert_6,1);
   {OBJ x46;OBJ x47;
    x46=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x2,x1);
    x47=_ASeqMap_3(x46,x45);
    if(x_x4){
     RPRD(x4,r.c2);FLD(r.c2,1)=x47;
    }else{
     FRPRD(x4,1);PRD(1,0,r.c2);FLD(r.c2,1)=x47;}
    r.c1=x3;}}
 }else{
  {OBJ x49=FLD(x4,1);OBJ x50=FLD(x4,2);
   if(EXPRD(x4,1)){
    FRPRD(x1,1);
    FRPRD(x2,1);
    {OBJ x52;
     x52=_AStructPrepConvert_34(x49);
     RPRD(x4,r.c2);FLD(r.c2,2)=x52;
     {TUP2 t=_ARep_138(x3,x50,__ABUILTIN_3);
      r.c1=t.c1;
      FLD(r.c2,1)=t.c2;}}
   }else{
    COPY(x49,1);CPPRD(x50,1);
    FRPRD(x1,1);
    FRPRD(x2,1);
    {OBJ x52;
     x52=_AStructPrepConvert_34(x49);
     FRPRD(x4,1);PRD(2,1,r.c2);FLD(r.c2,2)=x52;
     {TUP2 t=_ARep_138(x3,x50,__ABUILTIN_3);
      r.c1=t.c1;
      FLD(r.c2,1)=t.c2;}}}}}
 return r;}
extern OBJ _AStructPrepConvert_20_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addPragmas,2 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_20(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AStructPrepConvert_21(OBJ x1,OBJ x2) /* nameLaw */
{TUP2 r;
 if(ISTGPRD(x2,1)){
  {OBJ x57=FLD(x2,3);OBJ x58=FLD(x2,4);
   COPY(x57,1);CPPRD(x58,1);
   CPPRD(x2,2);
   {OBJ x60;OBJ x61;OBJ x62;OBJ x64;OBJ x73;OBJ x74;OBJ x75;
    x60=_AInterOpal_266(x2);
    x61=_AInterOpal_275(x2);
    x62=_AInterOpal_269(x2);
    if(ISPRM(x57)){
     x64=__ABUILTIN_3;
    }else{
     x64=__ABUILTIN_5;}
    if(ISTGPRM(x64,1)){
     x74=x57;
     r.c1=x1;
    }else{
     FREE(x57,1);
     CPPRD(__AStructPrepConvert_55,1);
     {TUP2 x66;TUP2 x71;
      x66=_ARep_6(x1,__AStructPrepConvert_55);
      CPPRD(x66.c2,1);
      PRD1(1,x74);FLD1(x74,1)=x66.c2;
      x71=_ARep_138(x66.c1,x66.c2,__ABUILTIN_5);r.c1=x71.c1;
      FRPRD(x71.c2,1);}}
    PRD(5,1,r.c2);FLD(r.c2,1)=x62;FLD(r.c2,2)=x61;FLD(r.c2,3)=x74;FLD(r.c2,4)=x58;FLD(r.c2,5)=x60;}}
 }else{
  HLT("StructPrepConvert at <469,5-11> : missing else in nameLaw\'StructPrepConvert:repTab**property->repTab**property");}
 return r;}
extern OBJ _AStructPrepConvert_21_c(OBJ x1,OBJ x2) /* nameLaw */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_21(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_22(OBJ x1,OBJ x2) /* nameLaws */
{OBJ r;
 {OBJ x152=FLD1(x1,1);OBJ x153=FLD1(x1,2);FLAG x_x1=EXPRD(x1,1);
  if(x_x1){
  }else{
   CPPRD(x152,1);CPPRD(x153,1);}
  {OBJ x154=FLD1(x153,1);OBJ x155=FLD1(x153,2);FLAG x_x153=EXPRD(x153,1);
   if(x_x153){
    COPY(x155,1);
   }else{
    COPY(x155,2);}
   COPY(x2,1);
   CPCLS(__AInterOpal_314,1);
   {OBJ x156;OBJ x157;
    x156=_AMap_16(__AInterOpal_314,x155,x2);
    CPPRD(x156,1);
    x157=_AInterOpalAccess_22(x156);
    {OBJ x158;OBJ x159;OBJ x160;OBJ x161;OBJ x162;OBJ x163;OBJ x164=FLD1(x156,7);OBJ x165;FLAG x_x156=EXPRD(x156,1);
     if(x_x156){
     }else{
      x158=FLD1(x156,1);x159=FLD1(x156,2);x160=FLD1(x156,3);x161=FLD1(x156,4);x162=FLD1(x156,5);x163=FLD1(x156,6);x165=FLD1(x156,8);COPY(x158,1);COPY(x159,1);CPPRD(x160,1);COPY(x161,1);COPY(x162,1);COPY(x163,1);COPY(x164,1);COPY(x165,1);}
     CPCLS(__AStructPrepConvert_21,1);
     CPCLS(__AStructPrepConvert_56,1);
     CPCLS(__AInterOpal_310,1);
     CPCLS(__AInterOpal_314,1);
     {TUP2 x167;TUP2 x170;OBJ x173;OBJ x174;OBJ x175;OBJ x176;
      x167=_ASeqMapEnv_4(__AStructPrepConvert_21,x152,x157);
      x170=_ASeqZip_5(__AStructPrepConvert_56,x167.c2);
      x173=_AMap_10(__AInterOpal_310,x164,x170.c1,x170.c2);
      if(x_x156){
       RSOME(x156,x174);FLD1(x174,7)=x173;
      }else{
       FRPRD(x156,1);PRD1(8,x174);FLD1(x174,1)=x158;FLD1(x174,2)=x159;FLD1(x174,3)=x160;FLD1(x174,4)=x161;FLD1(x174,5)=x162;FLD1(x174,6)=x163;FLD1(x174,7)=x173;FLD1(x174,8)=x165;}
      x175=_AMap_31(__AInterOpal_314,x2,x174,x155);
      if(x_x153){
       RSOME(x153,x176);FLD1(x176,2)=x175;
      }else{
       FRPRD(x153,1);PRD1(2,x176);FLD1(x176,1)=x154;FLD1(x176,2)=x175;}
      if(x_x1){
       RSOME(x1,r);FLD1(r,1)=x167.c1;FLD1(r,2)=x176;
      }else{
       FRPRD(x1,1);PRD1(2,r);FLD1(r,1)=x167.c1;FLD1(r,2)=x176;}}}}}}
 return r;}

extern OBJ _AStructPrepConvert_23(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addLaws */
{OBJ r;
 CPCLS(__AStructPrepConvert_24,1);
 {OBJ x6;OBJ x7;
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_24,2))(__AStructPrepConvert_24,x1,x3);
  PRD1(2,x7);FLD1(x7,1)=x4;FLD1(x7,2)=x5;
  r=_ASeqReduce_3(x6,x7,x2);}
 return r;}

extern OBJ _AStructPrepConvert_24(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addLaw */
{OBJ r;
 if(ISTGPRD(x3,1)){
  {OBJ x159=FLD(x3,3);OBJ x160=FLD(x3,4);
   COPY(x159,1);CPPRD(x160,1);
   CPPRD(x2,1);
   CPCLS(__AStructPrepConvert_6,1);
   CPCLS(__AStructPrepConvert_77,1);
   {OBJ x162;OBJ x163;OBJ x164;
    x162=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x2,x1);
    x163=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_77,1))(__AStructPrepConvert_77,__ABUILTIN_20);
    x164=_AInterOpal_269(x3);
    {OBJ x165=FLD1(x4,1);OBJ x166=FLD1(x4,2);FLAG x_x4=EXPRD(x4,1);
     if(x_x4){
     }else{
      COPY(x165,1);CPPRD(x166,1);}
     {OBJ x168=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
      if(x_x2){
      }else{
       COPY(x168,1);}
      COPY(x165,1);
      CPCLS(__AInterOpal_314,1);
      {OBJ x169;OBJ x170;OBJ x172;
       x169=_AGlobSig_50(x165);
       x170=_AStructPrepConvert_34(x164);
       x172=_AMap_16(__AInterOpal_314,x168,__AInterOpal_27);
       {OBJ x175=FLD1(x172,3);
	if(EXPRD(x172,1)){
	 FLD1(x172,3)=NIL;DSPRD(x172);
	}else{
	 CPPRD(x175,1);
	 FRPRD(x172,1);}
	COPY(x159,1);
	CPPRD(x166,1);
	COPY(x169,1);
	CPCLS(__AStructPrepConvert_80,1);
	CPCLS(__ARep_27,1);
	{OBJ x181;OBJ x182;OBJ x183;OBJ x184;OBJ x186;OBJ x188;OBJ x189;OBJ x190;OBJ x191;OBJ x192;OBJ x196;OBJ x197;OBJ x198;OBJ x199;OBJ x200;OBJ x201;
	 x181=_ARep_2(x166,x175);
	 CPPRD(x181,1);
	 x182=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_80,1))(__AStructPrepConvert_80,x159);
	 x183=_AMap_33(__ARep_27,x169,x181);
	 x184=_ADEBUG_2(x163,x182,x159);
	 if(ISPRM(x184)){
	  x186=__ABUILTIN_3;
	 }else{
	  x186=__ABUILTIN_5;}
	 if(ISPRM(x183)){
	  CPPRD(__AGlobSigImpl_25,1);
	  x188=__ASeq_6;
	 }else{
	  {OBJ x187=FLD1(x183,1);
	   if(EXPRD(x183,1)){
	    x188=x187;
	    DSPRDF(x183);
	   }else{
	    COPY(x187,1);
	    x188=x187;
	    FRPRD(x183,1);}
	   CPPRD(__AGlobSigImpl_25,1);}}
	 {TUP4 t=_AStructPrepConvert_26(x160,__AGlobSigImpl_25,__ANat_5,__ATree_7,x162,x166);
	  x189=t.c1;
	  x190=t.c2;
	  x191=t.c3;
	  x192=t.c4;}
	 if(ISTGPRM(x186,1)){
	  {OBJ x194;
	   if(ISPRM(x184)){
	    HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	   }else{
	    {OBJ x193=FLD1(x184,1);
	     if(EXPRD(x184,1)){
	      x194=x193;
	      DSPRDF(x184);
	     }else{
	      CPPRD(x193,1);
	      x194=x193;
	      FRPRD(x184,1);}
	     CPCLS(__ARep_27,1);}}
	   {TUP2 t=_ARep_138(x192,x194,__ABUILTIN_3);
	    x196=t.c1;
	    x197=t.c2;}}
	 }else{
	  FREE(x184,1);
	  CPPRD(__AStructPrepConvert_55,1);
	  CPCLS(__ARep_27,1);
	  {TUP2 t=_ARep_7(x192,__AStructPrepConvert_55);
	   x196=t.c1;
	   x197=t.c2;}}
	 PRD1(3,x198);FLD1(x198,1)=x197;FLD1(x198,2)=x189;FLD1(x198,3)=x170;
	 if(x_x4){
	  RSOME(x4,x199);FLD1(x199,1)=x198;FLD1(x199,2)=x190;
	 }else{
	  FRPRD(x4,1);PRD1(2,x199);FLD1(x199,1)=x198;FLD1(x199,2)=x190;}
	 if(x_x2){
	  RSOME(x2,x200);FLD1(x200,1)=x199;FLD1(x200,2)=x188;
	 }else{
	  FRPRD(x2,1);PRD1(2,x200);FLD1(x200,1)=x199;FLD1(x200,2)=x188;}
	 x201=_AMap_31(__ARep_27,x181,x200,x169);
	 PRD1(2,r);FLD1(r,2)=x196;
	 FLD1(r,1)=_AGlobSig_88(x165,x201);}}}}}}}
 }else{
  HLT("StructPrepConvert at <504,5-10> : missing else in addLaw\'StructPrepConvert:strDecTab**interOpal->property**pair->pair");}
 return r;}

extern OBJ _AStructPrepConvert_25(OBJ x1,OBJ x2) /* !!,1 */
{OBJ r;
 CPCLS(__ARep_27,1);
 {OBJ x3;
  x3=_AMap_33(__ARep_27,x1,x2);
  if(ISPRM(x3)){
   r=__ASeq_6;
  }else{
   {OBJ x7=FLD1(x3,1);
    if(EXPRD(x3,1)){
     r=x7;
     DSPRDF(x3);
    }else{
     COPY(x7,1);
     r=x7;
     FRPRD(x3,1);}}}}
 return r;}

extern TUP4 _AStructPrepConvert_26(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5,register OBJ x6) /* form2Form */
{TUP4 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;OBJ* p3=&r.c3;OBJ* p4=&r.c4;
 for(;;){
  switch(TGPRD(x1)){
   case 7:
    CPPRD(x1,2);
    COPY(x4,1);
    CPCLS(x5,1);
    {OBJ x1445;OBJ x1446;OBJ x1447;OBJ x1448;TUP4 x1450;
     x1445=_AInterOpal_210(x1);
     x1446=_AInterOpal_228(x1);
     x1447=_AInterOpal_227(x1);
     x1448=_AStructPrepConvert_34(x1445);
     x1450=_AStructPrepConvert_26(x1446,x2,x3,x4,x5,x6);
     PRD(3,7,*p1);FLD(*p1,1)=x1450.c1;FLD(*p1,3)=x1448;
     x1=x1447;x2=x1450.c2;x3=x1450.c3;x6=x1450.c4;p1=&FLD(*p1,2);continue;}break;
   case 9:
    {OBJ x1461=FLD(x1,2);OBJ x1462=FLD(x1,3);
     COPY(x1461,3);CPPRD(x1462,1);
     CPCLS(x5,1);
     CPPRD(x6,1);
     CPCLS(__AStructPrepConvert_31,1);
     CPCLS(__AStructPrepConvert_33,1);
     CPCLS(__AStructPrepConvert_74,1);
     CPCLS(__AGlobSigImpl_27,1);
     {OBJ x1463;OBJ x1464;OBJ x1465;OBJ x1466;OBJ x1467;OBJ x1471;TUP2 x1472;TUP2 x1474;OBJ x1477;TUP2 x1478;OBJ x1480;OBJ x1481;
      PRD1(2,x1463);FLD1(x1463,1)=x3;FLD1(x1463,2)=x4;
      PRD1(2,x1464);FLD1(x1464,1)=x3;FLD1(x1464,2)=x6;
      x1465=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_31,1))(__AStructPrepConvert_31,x5);
      x1466=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_33,1))(__AStructPrepConvert_33,x6);
      x1467=_AInterOpal_210(x1);
      x1471=_AStructPrepConvert_34(x1467);
      x1472=_ASeqMapEnv_4(x1466,x3,x1461);
      x1474=_ASeqMapEnv_4(x1465,x1464,x1461);
      x1477=_ASeqReduce_3(__AGlobSigImpl_27,x2,x1474.c2);
      x1478=_APair_8(x1474.c1);
      CPPRD(x1478.c2,1);
      x1480=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_74,1))(__AStructPrepConvert_74,x1478.c2);
      x1481=_ASeqReduce_3(x1480,x1463,x1461);
      {OBJ x1483=FLD1(x1481,2);
       if(EXPRD(x1481,1)){
	DSPRDF(x1481);
       }else{
	COPY(x1483,1);
	FRPRD(x1481,1);}
       {
	PRD(3,9,*p1);FLD(*p1,1)=x1472.c2;FLD(*p1,3)=x1471;
	x1=x1462;x2=x1477;x3=x1478.c1;x4=x1483;x6=x1478.c2;p1=&FLD(*p1,2);continue;}}}}break;
   case 10:
    {OBJ x1491=FLD(x1,2);
     CPPRD(x1491,1);
     FREE(x4,1);
     FRCLS(x5,1);
     {OBJ x1492;OBJ x1493;TUP2 x1496;
      x1492=_AInterOpal_210(x1);
      x1493=_AStructPrepConvert_34(x1492);
      x1496=_ARep_138(x6,x1491,__ABUILTIN_3);*p4=x1496.c1;
      PRD(2,10,*p1);FLD(*p1,1)=x1496.c2;FLD(*p1,2)=x1493;
      *p2=x2;*p3=x3;}}break;
   case 11:
    FREE(x4,1);
    FRCLS(x5,1);
    {OBJ x1501;OBJ x1502;
     x1501=_AInterOpal_210(x1);
     x1502=_AStructPrepConvert_34(x1501);
     PRD(1,11,*p1);FLD(*p1,1)=x1502;
     *p2=x2;*p3=x3;*p4=x6;}break;
   case 8:
    {OBJ x1505=FLD(x1,2);OBJ x1506=FLD(x1,3);
     COPY(x1505,3);CPPRD(x1506,1);
     CPCLS(x5,1);
     CPPRD(x6,1);
     CPCLS(__AStructPrepConvert_31,1);
     CPCLS(__AStructPrepConvert_33,1);
     CPCLS(__AStructPrepConvert_75,1);
     CPCLS(__AGlobSigImpl_27,1);
     {OBJ x1508;OBJ x1509;OBJ x1510;OBJ x1511;OBJ x1512;OBJ x1513;TUP2 x1516;TUP2 x1518;OBJ x1520;TUP2 x1522;OBJ x1524;OBJ x1525;
      x1508=_AInterOpal_210(x1);
      x1509=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_33,1))(__AStructPrepConvert_33,x6);
      x1510=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_31,1))(__AStructPrepConvert_31,x5);
      PRD1(2,x1511);FLD1(x1511,1)=x3;FLD1(x1511,2)=x6;
      PRD1(2,x1512);FLD1(x1512,1)=x3;FLD1(x1512,2)=x4;
      x1513=_AStructPrepConvert_34(x1508);
      x1516=_ASeqMapEnv_4(x1509,x3,x1505);
      x1518=_ASeqMapEnv_4(x1510,x1511,x1505);
      x1520=_ASeqReduce_3(__AGlobSigImpl_27,x2,x1518.c2);
      x1522=_APair_8(x1518.c1);
      CPPRD(x1522.c2,1);
      x1524=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_75,1))(__AStructPrepConvert_75,x1522.c2);
      x1525=_ASeqReduce_3(x1524,x1512,x1505);
      {OBJ x1527=FLD1(x1525,2);
       if(EXPRD(x1525,1)){
	DSPRDF(x1525);
       }else{
	COPY(x1527,1);
	FRPRD(x1525,1);}
       {
	PRD(3,8,*p1);FLD(*p1,1)=x1516.c2;FLD(*p1,3)=x1513;
	x1=x1506;x2=x1520;x3=x1522.c1;x4=x1527;x6=x1522.c2;p1=&FLD(*p1,2);continue;}}}}break;
   case 5:
    CPPRD(x1,2);
    COPY(x4,1);
    CPCLS(x5,1);
    {OBJ x1537;OBJ x1538;OBJ x1539;OBJ x1541;TUP4 x1542;
     x1537=_AInterOpal_227(x1);
     x1538=_AInterOpal_228(x1);
     x1539=_AInterOpal_210(x1);
     x1541=_AStructPrepConvert_34(x1539);
     x1542=_AStructPrepConvert_26(x1538,x2,x3,x4,x5,x6);
     PRD(3,5,*p1);FLD(*p1,1)=x1542.c1;FLD(*p1,3)=x1541;
     x1=x1537;x2=x1542.c2;x3=x1542.c3;x6=x1542.c4;p1=&FLD(*p1,2);continue;}break;
   case 6:
    {OBJ x1553=FLD(x1,2);OBJ x1554=FLD(x1,3);
     CPPRD(x1553,1);CPPRD(x1554,1);
     COPY(x4,1);
     CPCLS(x5,1);
     {OBJ x1555;OBJ x1557;TUP4 x1558;
      x1555=_AInterOpal_210(x1);
      x1557=_AStructPrepConvert_34(x1555);
      x1558=_AStructPrepConvert_26(x1553,x2,x3,x4,x5,x6);
      PRD(3,6,*p1);FLD(*p1,1)=x1558.c1;FLD(*p1,3)=x1557;
      x1=x1554;x2=x1558.c2;x3=x1558.c3;x6=x1558.c4;p1=&FLD(*p1,2);continue;}}break;
   case 4:
    CPPRD(x1,2);
    COPY(x4,1);
    CPCLS(x5,1);
    {OBJ x1571;OBJ x1572;OBJ x1573;OBJ x1575;TUP4 x1576;
     x1571=_AInterOpal_227(x1);
     x1572=_AInterOpal_228(x1);
     x1573=_AInterOpal_210(x1);
     x1575=_AStructPrepConvert_34(x1573);
     x1576=_AStructPrepConvert_26(x1572,x2,x3,x4,x5,x6);
     PRD(3,4,*p1);FLD(*p1,1)=x1576.c1;FLD(*p1,3)=x1575;
     x1=x1571;x2=x1576.c2;x3=x1576.c3;x6=x1576.c4;p1=&FLD(*p1,2);continue;}break;
   case 1:
    {OBJ x1587=FLD(x1,2);OBJ x1588=FLD(x1,3);
     CPPRD(x1587,1);CPPRD(x1588,1);
     COPY(x4,1);
     CPCLS(x5,1);
     {OBJ x1590;OBJ x1591;TUP4 x1593;
      x1590=_AInterOpal_210(x1);
      x1591=_AStructPrepConvert_34(x1590);
      x1593=_AStructPrepConvert_27(x1587,x2,x3,x4,x5,x6);
      PRD(3,2,*p1);FLD(*p1,1)=x1593.c1;FLD(*p1,3)=x1591;
      {TUP4 t=_AStructPrepConvert_27(x1588,x1593.c2,x1593.c3,x4,x5,x1593.c4);
       FLD(*p1,2)=t.c1;
       *p2=t.c2;
       *p3=t.c3;
       *p4=t.c4;}}}break;
   case 2:
    {OBJ x1604=FLD(x1,2);OBJ x1605=FLD(x1,3);
     CPPRD(x1604,1);CPPRD(x1605,1);
     COPY(x4,1);
     CPCLS(x5,1);
     {OBJ x1606;OBJ x1609;TUP4 x1610;
      x1606=_AInterOpal_210(x1);
      x1609=_AStructPrepConvert_34(x1606);
      x1610=_AStructPrepConvert_27(x1604,x2,x3,x4,x5,x6);
      PRD(3,1,*p1);FLD(*p1,1)=x1610.c1;FLD(*p1,3)=x1609;
      {TUP4 t=_AStructPrepConvert_27(x1605,x1610.c2,x1610.c3,x4,x5,x1610.c4);
       FLD(*p1,2)=t.c1;
       *p2=t.c2;
       *p3=t.c3;
       *p4=t.c4;}}}break;
   case 0:
    {OBJ x1621=FLD(x1,2);
     CPPRD(x1621,1);
     {OBJ x1622;OBJ x1623;
      x1622=_AInterOpal_210(x1);
      x1623=_AStructPrepConvert_34(x1622);
      PRD(2,0,*p1);FLD(*p1,2)=x1623;
      {TUP4 t=_AStructPrepConvert_27(x1621,x2,x3,x4,x5,x6);
       FLD(*p1,1)=t.c1;
       *p2=t.c2;
       *p3=t.c3;
       *p4=t.c4;}}}break;
   default: 
    {OBJ x1433=FLD(x1,2);
     CPPRD(x1433,1);
     {OBJ x1434;OBJ x1435;
      x1434=_AInterOpal_210(x1);
      x1435=_AStructPrepConvert_34(x1434);
      PRD(2,3,*p1);FLD(*p1,2)=x1435;
      x1=x1433;p1=&FLD(*p1,1);continue;}}}
  break;}
 return r;}
extern OBJ _AStructPrepConvert_26_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* form2Form */
{OBJ r;
 {TUP4 t=_AStructPrepConvert_26(x1,x2,x3,x4,x5,x6);
  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 TUP4 _AStructPrepConvert_27(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5,register OBJ x6) /* expr2Expr */
{TUP4 r;OBJ* p1=&r.c1;OBJ* p2=&r.c2;OBJ* p3=&r.c3;OBJ* p4=&r.c4;
 for(;;){
  switch(TGPRD(x1)){
   case 5:
    {OBJ x607=FLD(x1,2);OBJ x608=FLD(x1,3);
     COPY(x607,3);CPPRD(x608,1);
     CPCLS(x5,1);
     CPPRD(x6,1);
     CPCLS(__AStructPrepConvert_31,1);
     CPCLS(__AStructPrepConvert_33,1);
     CPCLS(__AStructPrepConvert_70,1);
     CPCLS(__AGlobSigImpl_27,1);
     {OBJ x609;OBJ x610;OBJ x611;OBJ x612;OBJ x613;OBJ x616;TUP2 x617;TUP2 x619;OBJ x622;TUP2 x623;OBJ x625;OBJ x626;
      x609=_AInterOpal_91(x1);
      x610=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_33,1))(__AStructPrepConvert_33,x6);
      x611=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_31,1))(__AStructPrepConvert_31,x5);
      PRD1(2,x612);FLD1(x612,1)=x3;FLD1(x612,2)=x6;
      PRD1(2,x613);FLD1(x613,1)=x3;FLD1(x613,2)=x4;
      x616=_AStructPrepConvert_34(x609);
      x617=_ASeqMapEnv_4(x610,x3,x607);
      x619=_ASeqMapEnv_4(x611,x612,x607);
      x622=_ASeqReduce_3(__AGlobSigImpl_27,x2,x619.c2);
      x623=_APair_8(x619.c1);
      CPPRD(x623.c2,1);
      x625=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_70,1))(__AStructPrepConvert_70,x623.c2);
      x626=_ASeqReduce_3(x625,x613,x607);
      {OBJ x628=FLD1(x626,2);
       if(EXPRD(x626,1)){
	DSPRDF(x626);
       }else{
	COPY(x628,1);
	FRPRD(x626,1);}
       {
	PRD(3,6,*p1);FLD(*p1,1)=x617.c2;FLD(*p1,3)=x616;
	x1=x608;x2=x622;x3=x623.c1;x4=x628;x6=x623.c2;p1=&FLD(*p1,2);continue;}}}}break;
   case 6:
    {OBJ x636=FLD(x1,2);OBJ x637=FLD(x1,3);
     COPY(x636,1);CPPRD(x637,1);
     CPCLS(x5,1);
     CPCLS(__AStructPrepConvert_71,1);
     {OBJ x638;OBJ x639;OBJ x640;OBJ x641;TUP2 x643;TUP4 x646;
      PRD1(4,x638);FLD1(x638,1)=x2;FLD1(x638,2)=x3;FLD1(x638,3)=x6;FLD1(x638,4)=x4;
      x639=_AInterOpal_91(x1);
      x640=_AStructPrepConvert_34(x639);
      x641=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_71,1))(__AStructPrepConvert_71,x5);
      x643=_ASeqMapEnv_4(x641,x638,x636);
      x646=_AQuadruple_12(x643.c1);
      PRD(3,9,*p1);FLD(*p1,1)=x643.c2;FLD(*p1,3)=x640;
      x1=x637;x2=x646.c1;x3=x646.c2;x4=x646.c4;x6=x646.c3;p1=&FLD(*p1,2);continue;}}break;
   case 4:
    {OBJ x657=FLD(x1,2);OBJ x658=FLD(x1,3);
     COPY(x657,1);COPY(x658,1);
     {OBJ x659;OBJ x660;OBJ x663;OBJ x661;OBJ x664;OBJ x666;OBJ x667;OBJ x669;OBJ x670;OBJ x671;OBJ x676;OBJ x677;OBJ x678;OBJ x679;OBJ x680;
      x659=_AInterOpal_91(x1);
      PRD1(3,x660);FLD1(x660,1)=x2;FLD1(x660,2)=x3;FLD1(x660,3)=x6;
      if(ISPRM(x658)){
       COPY(x4,1);
       CPCLS(x5,1);
       CPCLS(__AStructPrepConvert_72,1);
       x663=__ABUILTIN_3;
      }else{
       COPY(x4,1);
       CPCLS(x5,1);
       CPCLS(__AStructPrepConvert_72,1);
       x663=__ABUILTIN_5;}
      x661=_AStructPrepConvert_34(x659);
      x664=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_72,2))(__AStructPrepConvert_72,x4,x5);
      {TUP2 t=_ASeqMapEnv_4(x664,x660,x657);
       x666=t.c1;
       x667=t.c2;}
      {TUP3 t=_ATriple_10(x666);
       x669=t.c1;
       x670=t.c2;
       x671=t.c3;}
      if(ISTGPRM(x663,1)){
       {OBJ x673;
	if(ISPRM(x658)){
	 HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
	}else{
	 {OBJ x672=FLD1(x658,1);
	  if(EXPRD(x658,1)){
	   x673=x672;
	   DSPRDF(x658);
	  }else{
	   CPPRD(x672,1);
	   x673=x672;
	   FRPRD(x658,1);}}}
	{TUP4 t=_AStructPrepConvert_27(x673,x669,x670,x4,x5,x671);
	 x676=t.c1;
	 *p2=t.c2;
	 *p3=t.c3;
	 *p4=t.c4;}}
      }else{
       *p2=x669;*p3=x670;*p4=x671;
       FREE(x4,1);
       FRCLS(x5,1);
       FREE(x658,1);
       COPY(x661,1);
       PRD(1,0,x676);FLD(x676,1)=x661;}
      PRD(3,5,*p1);FLD(*p1,1)=x667;FLD(*p1,2)=x676;FLD(*p1,3)=x661;}}break;
   case 1:
    {OBJ x682=FLD(x1,2);
     CPPRD(x682,1);
     FREE(x4,1);
     FRCLS(x5,1);
     {OBJ x683;OBJ x685;TUP2 x687;
      x683=_AInterOpal_91(x1);
      x685=_AStructPrepConvert_34(x683);
      x687=_ARep_138(x6,x682,__ABUILTIN_3);*p4=x687.c1;
      PRD(2,2,*p1);FLD(*p1,1)=x687.c2;FLD(*p1,2)=x685;
      *p2=x2;*p3=x3;}}break;
   case 2:
    {OBJ x690=FLD(x1,2);
     COPY(x690,1);
     CPCLS(__AStructPrepConvert_73,1);
     {OBJ x691;OBJ x692;OBJ x693;OBJ x694;TUP2 x696;
      x691=_AInterOpal_91(x1);
      PRD1(3,x692);FLD1(x692,1)=x2;FLD1(x692,2)=x3;FLD1(x692,3)=x6;
      x693=_AStructPrepConvert_34(x691);
      x694=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_73,2))(__AStructPrepConvert_73,x4,x5);
      x696=_ASeqMapEnv_4(x694,x692,x690);
      PRD(2,3,*p1);FLD(*p1,1)=x696.c2;FLD(*p1,2)=x693;
      {TUP3 t=_ATriple_10(x696.c1);
       *p2=t.c1;
       *p3=t.c2;
       *p4=t.c3;}}}break;
   case 0:
    {OBJ x704=FLD(x1,2);
     CPPRD(x704,1);
     {OBJ x705;OBJ x706;
      x705=_AInterOpal_91(x1);
      x706=_AStructPrepConvert_34(x705);
      {OBJ x707=FLD1(x704,1);
       COPY(x4,1);
       CPCLS(__AInterOpal_310,1);
       {OBJ x710;OBJ x711;OBJ x712;
	x710=_AMap_20(__AInterOpal_310,x707,x4);
	if(ISTGPRM(x710,1)){
	 FRCLS(x5,1);
	 if(EXPRD(x704,1)){
	  DSPRD(x704);
	 }else{
	  DCPRD(x704,1);}
	 CPCLS(__AInterOpal_310,1);
	 x711=_AMap_16(__AInterOpal_310,x4,x707);
	}else{
	 FREE(x4,1);
	 x711=(*(OBJ(*)(OBJ,OBJ))METHOD(x5,1))(x5,x704);}
	PRD(2,7,*p1);FLD(*p1,1)=x711;FLD(*p1,2)=x706;
	*p2=x2;*p3=x3;*p4=x6;}}}}break;
   default: 
    {OBJ x591=FLD(x1,2);OBJ x592=FLD(x1,3);
     CPPRD(x591,1);CPPRD(x592,1);
     COPY(x4,1);
     CPCLS(x5,1);
     {OBJ x593;OBJ x595;TUP4 x596;
      x593=_AInterOpal_91(x1);
      x595=_AStructPrepConvert_34(x593);
      x596=_AStructPrepConvert_27(x591,x2,x3,x4,x5,x6);
      PRD(3,4,*p1);FLD(*p1,1)=x596.c1;FLD(*p1,3)=x595;
      x1=x592;x2=x596.c2;x3=x596.c3;x6=x596.c4;p1=&FLD(*p1,2);continue;}}}
  break;}
 return r;}
extern OBJ _AStructPrepConvert_27_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* expr2Expr */
{OBJ r;
 {TUP4 t=_AStructPrepConvert_27(x1,x2,x3,x4,x5,x6);
  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 TUP4 _AStructPrepConvert_28(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* guard2Guard */
{TUP4 r;
 {OBJ x31=FLD1(x1,1);OBJ x32=FLD1(x1,2);OBJ x33=FLD1(x1,3);
  if(EXPRD(x1,1)){
   COPY(x4,1);
   CPCLS(x5,1);
   {OBJ x34;TUP4 x36;
    x34=_AStructPrepConvert_34(x31);
    x36=_AStructPrepConvert_27(x32,x2,x3,x4,x5,x6);
    RSOME(x1,r.c1);FLD1(r.c1,1)=x36.c1;FLD1(r.c1,3)=x34;
    {TUP4 t=_AStructPrepConvert_27(x33,x36.c2,x36.c3,x4,x5,x36.c4);
     FLD1(r.c1,2)=t.c1;
     r.c2=t.c2;
     r.c3=t.c3;
     r.c4=t.c4;}}
  }else{
   COPY(x31,1);CPPRD(x32,1);CPPRD(x33,1);
   COPY(x4,1);
   CPCLS(x5,1);
   {OBJ x34;TUP4 x36;
    x34=_AStructPrepConvert_34(x31);
    x36=_AStructPrepConvert_27(x32,x2,x3,x4,x5,x6);
    FRPRD(x1,1);PRD1(3,r.c1);FLD1(r.c1,1)=x36.c1;FLD1(r.c1,3)=x34;
    {TUP4 t=_AStructPrepConvert_27(x33,x36.c2,x36.c3,x4,x5,x36.c4);
     FLD1(r.c1,2)=t.c1;
     r.c2=t.c2;
     r.c3=t.c3;
     r.c4=t.c4;}}}}
 return r;}
extern OBJ _AStructPrepConvert_28_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* guard2Guard */
{OBJ r;
 {TUP4 t=_AStructPrepConvert_28(x1,x2,x3,x4,x5,x6);
  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 TUP5 _AStructPrepConvert_29(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* eqn2Eqn */
{TUP5 r;
 {OBJ x40=FLD1(x1,1);OBJ x41=FLD1(x1,2);OBJ x43=FLD1(x1,4);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x40,1);CPPRD(x41,1);CPPRD(x43,1);
   FRPRD(x1,1);}
  CPCLS(x5,1);
  {OBJ x44;TUP5 x46;
   x44=_AStructPrepConvert_34(x40);
   x46=_AStructPrepConvert_30(x41,x2,x3,x4,x5,x6);r.c5=x46.c5;
   COPY(r.c5,1);
   PRD1(3,r.c1);FLD1(r.c1,1)=x46.c1;FLD1(r.c1,3)=x44;
   {TUP4 t=_AStructPrepConvert_27(x43,x46.c2,x46.c3,r.c5,x5,x46.c4);
    FLD1(r.c1,2)=t.c1;
    r.c2=t.c2;
    r.c3=t.c3;
    r.c4=t.c4;}}}
 return r;}
extern OBJ _AStructPrepConvert_29_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* eqn2Eqn */
{OBJ r;
 {TUP5 t=_AStructPrepConvert_29(x1,x2,x3,x4,x5,x6);
  PRD1(5,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;
  FLD1(r,5)=t.c5;}
 return r;}

extern TUP5 _AStructPrepConvert_30(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* pattern2Expr */
{TUP5 r;
 if(ISTGPRD(x1,2)){
  {OBJ x74=FLD(x1,2);
   CPPRD(x74,3);
   CPPRD(x6,1);
   CPCLS(__ADArray_14,1);
   {OBJ x75;OBJ x76;OBJ x77;OBJ x78;TUP2 x81;TUP2 x84;OBJ x90;TUP2 x92;
    PRD1(2,x75);FLD1(x75,1)=x3;FLD1(x75,2)=x4;
    PRD1(2,x76);FLD1(x76,1)=x3;FLD1(x76,2)=x6;
    x77=_AInterOpal_130(x1);
    x78=_AStructPrepConvert_34(x77);
    x81=_AStructPrepConvert_33(x6,x3,x74);
    PRD(2,7,r.c1);FLD(r.c1,1)=x81.c2;FLD(r.c1,2)=x78;
    x84=_AStructPrepConvert_31(x5,x76,x74);
    r.c2=_ADArrayReduce_6(__ADArray_14,x84.c2,x2);
    {TUP2 t=_APair_8(x84.c1);
     r.c3=t.c1;
     r.c4=t.c2;}
    CPPRD(r.c4,1);
    x90=_AStructPrepConvert_32(r.c4,x74,x75);
    x92=_APair_8(x90);r.c5=x92.c2;}}
 }else{
  if(ISTGPRD(x1,5)){
   {OBJ x95=FLD(x1,2);
    COPY(x95,1);
    CPCLS(__AStructPrepConvert_69,1);
    {OBJ x96;OBJ x97;OBJ x98;OBJ x99;TUP2 x101;
     x96=_AInterOpal_130(x1);
     PRD1(4,x97);FLD1(x97,1)=x2;FLD1(x97,2)=x3;FLD1(x97,3)=x6;FLD1(x97,4)=x4;
     x98=_AStructPrepConvert_34(x96);
     x99=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_69,1))(__AStructPrepConvert_69,x5);
     x101=_ASeqMapEnv_4(x99,x97,x95);
     PRD(2,3,r.c1);FLD(r.c1,1)=x101.c2;FLD(r.c1,2)=x98;
     {TUP4 t=_AQuadruple_12(x101.c1);
      r.c2=t.c1;
      r.c3=t.c2;
      r.c4=t.c3;
      r.c5=t.c4;}}}
  }else{
   if(ISTGPRD(x1,0)){
    HLT("pattern2Expr\'StructPrepConvert: any cannot be converted");
   }else{
    HLT("pattern2Expr\'StructPrepConvert: any cannot be converted");}}}
 return r;}
extern OBJ _AStructPrepConvert_30_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* pattern2Expr */
{OBJ r;
 {TUP5 t=_AStructPrepConvert_30(x1,x2,x3,x4,x5,x6);
  PRD1(5,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;
  FLD1(r,4)=t.c4;
  FLD1(r,5)=t.c5;}
 return r;}

extern TUP2 _AStructPrepConvert_31(OBJ x1,OBJ x2,OBJ x3) /* var2LocSig */
{TUP2 r;
 {OBJ x37=FLD1(x2,1);OBJ x38=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   CPPRD(x38,1);}
  {OBJ x68=FLD1(x3,3);OBJ x69=FLD1(x3,4);
   if(EXPRD(x3,1)){
    FREE(FLD1(x3,1),1);DSPRDF(x3);
   }else{
    CPPRD(x68,1);CPPRD(x69,1);
    FRPRD(x3,1);}
   {OBJ x71;OBJ x72;TUP2 x73;
    x71=_AInterOpalModifier_7(x1,x69);
    ANat_2(x37,x72);
    x73=_ARep_138(x38,x68,__ABUILTIN_3);
    if(x_x2){
     RSOME(x2,r.c1);FLD1(r.c1,1)=x72;FLD1(r.c1,2)=x73.c1;
    }else{
     FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x72;FLD1(r.c1,2)=x73.c1;}
    r.c2=_AGlobSigImpl_26(x37,x73.c2,x71);}}}
 return r;}
extern OBJ _AStructPrepConvert_31_c(OBJ x1,OBJ x2,OBJ x3) /* var2LocSig */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_31(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_32(OBJ x1,OBJ x2,OBJ x3) /* var2Map */
{OBJ r;
 FRPRD(x1,1);
 {OBJ x34=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x46=FLD1(x3,1);OBJ x47=FLD1(x3,2);
   if(EXPRD(x3,1)){
    CPCLS(__AInterOpal_310,1);
    {OBJ x48;OBJ x49;
     ANat_2(x46,x48);
     PRDF(1,7,x49);FLD(x49,1)=x46;
     RSOME(x3,r);FLD1(r,1)=x48;
     FLD1(r,2)=_AMap_31(__AInterOpal_310,x34,x49,x47);}
   }else{
    COPY(x47,1);
    CPCLS(__AInterOpal_310,1);
    {OBJ x48;OBJ x49;
     ANat_2(x46,x48);
     PRDF(1,7,x49);FLD(x49,1)=x46;
     FRPRD(x3,1);PRD1(2,r);FLD1(r,1)=x48;
     FLD1(r,2)=_AMap_31(__AInterOpal_310,x34,x49,x47);}}}}
 return r;}

extern TUP2 _AStructPrepConvert_33(OBJ x1,OBJ x2,OBJ x3) /* var2name */
{TUP2 r;
 FRPRD(x1,1);
 FRPRD(x3,1);
 PRDF(1,7,r.c2);FLD(r.c2,1)=x2;
 ANat_2(x2,r.c1);
 return r;}
extern OBJ _AStructPrepConvert_33_c(OBJ x1,OBJ x2,OBJ x3) /* var2name */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_33(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_34(OBJ x1) /* @ */
{OBJ r;
 if(ISPRM(x1)){
  r=__AOcPos_9;
 }else{
  switch(TGPRD(x1)){
   case 2:
    {OBJ x111=FLD(x1,2);OBJ x112=FLD(x1,3);
     {OBJ x114;
      x114=_AInterOpal_48(x1);
      if(ISTGPRM(x114,0)){
       PRDF(3,1,r);FLD(r,1)=__AOcPos_6;FLD(r,2)=x111;FLD(r,3)=x112;
      }else{
       PRDF(3,1,r);FLD(r,1)=__AOcPos_2;FLD(r,2)=x111;FLD(r,3)=x112;}}}break;
   case 3:
    {OBJ x116=FLD(x1,2);OBJ x117=FLD(x1,3);OBJ x118=FLD(x1,4);OBJ x119=FLD(x1,5);
     {OBJ x120;
      x120=_AInterOpal_48(x1);
      if(ISTGPRM(x120,0)){
       PRDF(5,2,r);FLD(r,1)=__AOcPos_6;FLD(r,2)=x116;FLD(r,3)=x117;FLD(r,4)=x118;FLD(r,5)=x119;
      }else{
       if(ISTGPRM(x120,2)){
	PRDF(5,2,r);FLD(r,1)=__AOcPos_4;FLD(r,2)=x116;FLD(r,3)=x117;FLD(r,4)=x118;FLD(r,5)=x119;
       }else{
	PRDF(5,2,r);FLD(r,1)=__AOcPos_2;FLD(r,2)=x116;FLD(r,3)=x117;FLD(r,4)=x118;FLD(r,5)=x119;}}}}break;
   default: 
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__AOcPos_9;}}
 return r;}

extern OBJ _AStructPrepConvert_36(OBJ x1) /* convertSpc'36 */
{OBJ r;
 CPPRD(__AStructPrepConvert_35,1);
 r=_ADEBUG_10(__AStructPrepConvert_35);
 return r;}

extern OBJ _AStructPrepConvert_40(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* convertSpc'40 */
{OBJ r;
 {OBJ x6;OBJ x5;OBJ x7;OBJ x8;OBJ x9;OBJ x10;
  if(ISTGPRM(x3,1)){
   CPPRD(__AStructPrepConvert_37,1);
   CPPRD(__AStructPrepConvert_39,1);
   CPPRD(__ASeqConv_8,2);
   x6=__AStructPrepConvert_37;
  }else{
   CPPRD(__AStructPrepConvert_38,1);
   CPPRD(__AStructPrepConvert_39,1);
   CPPRD(__ASeqConv_8,2);
   x6=__AStructPrepConvert_38;}
  x5=_ARep_119(x2);
  ADenotation_4(__ASeqConv_8,x6,x7);
  ADenotation_4(x5,x7,x8);
  ADenotation_4(__ASeqConv_8,x8,x9);
  ADenotation_4(x1,x9,x10);
  ADenotation_4(__AStructPrepConvert_39,x10,r);}
 return r;}

extern OBJ _AStructPrepConvert_41(OBJ x1) /* convertSpc'41 */
{OBJ r;
 CPCLS(__AInterOpal_40,1);
 CPCLS(__AInterOpal_162,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AInterOpal_40,__AInterOpal_162);
 return r;}

extern OBJ _AStructPrepConvert_42(OBJ x1) /* convertSpc'42 */
{OBJ r;
 CPCLS(__AStructPrepConvert_41,1);
 CPCLS(__AInterOpal_34,1);
 CPCLS(__ACompose_4,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_41,1))(__AStructPrepConvert_41,__ABUILTIN_20);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AInterOpal_34,x2);}
 return r;}

extern OBJ _AStructPrepConvert_43(OBJ x1) /* convertSpc'43 */
{OBJ r;
 CPCLS(__AStructPrepConvert_42,1);
 CPCLS(__AObjects_20,1);
 CPCLS(__ACompose_4,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AStructPrepConvert_42,1))(__AStructPrepConvert_42,__ABUILTIN_20);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AObjects_20,x2);}
 return r;}

extern OBJ _AStructPrepConvert_46(OBJ x1) /* convertTransSpc'46 */
{OBJ r;
 CPCLS(__AImpExpEntry_125,1);
 CPCLS(__AImpExpEntry_126,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AImpExpEntry_126,__AImpExpEntry_125);
 return r;}

extern OBJ _AStructPrepConvert_47(OBJ x1,OBJ x2) /* convertTransSpc'47 */
{OBJ r;
 r=_ADArray_20(x1,x2);
 return r;}

extern OBJ _AStructPrepConvert_48(OBJ x1) /* convertIdentAct'48 */
{OBJ r;
 {OBJ x7=FLD1(x1,2);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   COPY(x7,1);
   FRPRD(x1,1);}
  if(ISPRM(x7)&&(ISTGPRM(x7,1))){
   r=__ABUILTIN_5;
  }else{
   FREE(x7,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AStructPrepConvert_49(OBJ x1,OBJ x2,OBJ x3) /* toName'49 */
{OBJ r;
 {OBJ x5=FLD1(x2,2);
  if(EXPRD(x2,1)){
   DSPRD(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x11;
   x11=x5;
   PRDF(3,2,r);FLD(r,1)=x1;FLD(r,2)=x11;FLD(r,3)=x3;}}
 return r;}

extern OBJ _AStructPrepConvert_51(OBJ x1) /* addPragmas,1'51 */
{OBJ r;
 CPPRD(__AStructPrepConvert_50,1);
 r=_ADEBUG_10(__AStructPrepConvert_50);
 return r;}

extern OBJ _AStructPrepConvert_54(OBJ x1,OBJ x2,OBJ x3) /* addPragmas,1'54 */
{OBJ r;
 CPPRD(__AStructPrepConvert_52,1);
 CPPRD(__AStructPrepConvert_53,1);
 CPCLS(__AName_34,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_ARep_119(x1);
  x5=_AGlobPragma_14(__AName_34,x2);
  ADenotation_4(__AStructPrepConvert_52,x5,x6);
  ADenotation_4(x4,x6,x7);
  ADenotation_4(__AStructPrepConvert_53,x7,r);}
 return r;}

extern TUP2 _AStructPrepConvert_56(OBJ x1) /* nameLaws'56 */
{TUP2 r;
 CPPRD(x1,1);
 r.c1=_AInterOpal_275(x1);
 r.c2=x1;
 return r;}
extern OBJ _AStructPrepConvert_56_c(OBJ x1) /* nameLaws'56 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_56(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_58(OBJ x1) /* convertTrans'58 */
{OBJ r;
 CPPRD(__AStructPrepConvert_57,1);
 r=_ADEBUG_10(__AStructPrepConvert_57);
 return r;}

extern OBJ _AStructPrepConvert_62(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* convertTrans'62 */
{OBJ r;
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;
  if(ISTGPRM(x4,1)){
   CPPRD(__ABoolConv_2,1);
   x6=__ABoolConv_2;
  }else{
   CPPRD(__ABoolConv_3,1);
   x6=__ABoolConv_3;}
  x7=_AGlobSigToText_1(x1,__ABUILTIN_20);
  if(ISTGPRM(x2,1)){
   CPPRD(__AStructPrepConvert_59,1);
   CPPRD(__AStructPrepConvert_60,1);
   CPPRD(__AStructPrepConvert_61,1);
   CPPRD(__ABoolConv_2,1);
   x8=__ABoolConv_2;
  }else{
   CPPRD(__AStructPrepConvert_59,1);
   CPPRD(__AStructPrepConvert_60,1);
   CPPRD(__AStructPrepConvert_61,1);
   CPPRD(__ABoolConv_3,1);
   x8=__ABoolConv_3;}
  ADenotation_4(x8,x7,x9);
  ADenotation_4(__AStructPrepConvert_59,x9,x10);
  ADenotation_4(x6,x10,x11);
  ADenotation_4(__AStructPrepConvert_60,x11,x12);
  ADenotation_4(x3,x12,x13);
  ADenotation_4(__AStructPrepConvert_61,x13,r);}
 return r;}

extern OBJ _AStructPrepConvert_63(OBJ x1) /* convertTrans'63 */
{OBJ r;
 {OBJ x7=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   COPY(x7,1);
   FRPRD(x1,1);}
  if(ISPRD(x7)){
   {OBJ x9=FLD1(x7,1);
    if(EXPRD(x7,1)){
     DSPRDF(x7);
    }else{
     FRPRD(x7,1);}
    ANat_76(x9,__ANat_5,r);}
  }else{
   HLT("InterOpal at <unknown> : undefined selection no\'InterOpal:inst->nat");}}
 return r;}

extern OBJ _AStructPrepConvert_64(OBJ x1) /* convertTrans'64 */
{OBJ r;
 {OBJ x7=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   COPY(x7,1);
   FRPRD(x1,1);}
  if(ISPRD(x7)){
   {OBJ x9=FLD1(x7,1);
    if(EXPRD(x7,1)){
     DSPRDF(x7);
    }else{
     FRPRD(x7,1);}
    ANat_81(x9,__ANat_5,r);}
  }else{
   HLT("InterOpal at <unknown> : undefined selection no\'InterOpal:inst->nat");}}
 return r;}

extern OBJ _AStructPrepConvert_67(OBJ x1) /* convertTrans'67 */
{OBJ r;
 COPY(__AStructPrepConvert_65,1);
 r=_AInterOpalModifier_9(__AStructPrepConvert_65);
 return r;}

extern OBJ _AStructPrepConvert_68(OBJ x1,OBJ x2,OBJ x3) /* convertTrans'68 */
{OBJ r;
 CPCLS(__AStructPrepConvert_6,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x2,x1);
  {OBJ x8=FLD1(x3,4);
   if(EXPRD(x3,1)){
    FLD1(x3,4)=NIL;DSPRD(x3);
   }else{
    COPY(x8,1);
    FRPRD(x3,1);}
   {OBJ x12;
    x12=x8;
    r=_AInterOpalModifier_8(x4,x12);}}}
 return r;}

extern TUP2 _AStructPrepConvert_69(OBJ x1,OBJ x2,OBJ x3) /* pattern2Expr'69 */
{TUP2 r;
 {TUP4 x5;
  x5=_AQuadruple_12(x2);
  PRD1(4,r.c1);
  {TUP5 t=_AStructPrepConvert_30(x3,x5.c1,x5.c2,x5.c4,x1,x5.c3);
   r.c2=t.c1;
   FLD1(r.c1,1)=t.c2;
   FLD1(r.c1,2)=t.c3;
   FLD1(r.c1,3)=t.c4;
   FLD1(r.c1,4)=t.c5;}}
 return r;}
extern OBJ _AStructPrepConvert_69_c(OBJ x1,OBJ x2,OBJ x3) /* pattern2Expr'69 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_69(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_70(OBJ x1,OBJ x2,OBJ x3) /* expr2Expr'70 */
{OBJ r;
 r=_AStructPrepConvert_32(x1,x2,x3);
 return r;}

extern TUP2 _AStructPrepConvert_71(OBJ x1,OBJ x2,OBJ x3) /* expr2Expr'71 */
{TUP2 r;
 {TUP4 x5;
  x5=_AQuadruple_12(x2);
  PRD1(4,r.c1);
  {TUP5 t=_AStructPrepConvert_29(x3,x5.c1,x5.c2,x5.c4,x1,x5.c3);
   r.c2=t.c1;
   FLD1(r.c1,1)=t.c2;
   FLD1(r.c1,2)=t.c3;
   FLD1(r.c1,3)=t.c4;
   FLD1(r.c1,4)=t.c5;}}
 return r;}
extern OBJ _AStructPrepConvert_71_c(OBJ x1,OBJ x2,OBJ x3) /* expr2Expr'71 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_71(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AStructPrepConvert_72(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* expr2Expr'72 */
{TUP2 r;
 {TUP3 x6;
  x6=_ATriple_10(x3);
  PRD1(3,r.c1);
  {TUP4 t=_AStructPrepConvert_28(x4,x6.c1,x6.c2,x1,x2,x6.c3);
   r.c2=t.c1;
   FLD1(r.c1,1)=t.c2;
   FLD1(r.c1,2)=t.c3;
   FLD1(r.c1,3)=t.c4;}}
 return r;}
extern OBJ _AStructPrepConvert_72_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* expr2Expr'72 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_72(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AStructPrepConvert_73(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* expr2Expr'73 */
{TUP2 r;
 {TUP3 x6;
  x6=_ATriple_10(x3);
  PRD1(3,r.c1);
  {TUP4 t=_AStructPrepConvert_27(x4,x6.c1,x6.c2,x1,x2,x6.c3);
   r.c2=t.c1;
   FLD1(r.c1,1)=t.c2;
   FLD1(r.c1,2)=t.c3;
   FLD1(r.c1,3)=t.c4;}}
 return r;}
extern OBJ _AStructPrepConvert_73_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* expr2Expr'73 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_73(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_74(OBJ x1,OBJ x2,OBJ x3) /* form2Form'74 */
{OBJ r;
 r=_AStructPrepConvert_32(x1,x2,x3);
 return r;}

extern OBJ _AStructPrepConvert_75(OBJ x1,OBJ x2,OBJ x3) /* form2Form'75 */
{OBJ r;
 r=_AStructPrepConvert_32(x1,x2,x3);
 return r;}

extern OBJ _AStructPrepConvert_77(OBJ x1) /* addLaw'77 */
{OBJ r;
 CPPRD(__AStructPrepConvert_76,1);
 r=_ADEBUG_10(__AStructPrepConvert_76);
 return r;}

extern OBJ _AStructPrepConvert_78(OBJ x1) /* addLaw'78 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AStructPrepConvert_80(OBJ x1,OBJ x2) /* addLaw'80 */
{OBJ r;
 CPCLS(__AStructPrepConvert_78,1);
 CPPRD(__AStructPrepConvert_79,1);
 {OBJ x3;
  x3=_AOptionConv_2(__AStructPrepConvert_78,x1);
  ADenotation_4(__AStructPrepConvert_79,x3,r);}
 return r;}

extern OBJ _AStructPrepConvert_82(OBJ x1) /* convertSign'82 */
{OBJ r;
 CPPRD(__AStructPrepConvert_81,1);
 r=_ADEBUG_10(__AStructPrepConvert_81);
 return r;}

extern TUP2 _AStructPrepConvert_83(OBJ x1) /* convertSign'83 */
{TUP2 r;
 CPPRD(x1,1);
 r.c1=_AInterOpal_275(x1);
 r.c2=x1;
 return r;}
extern OBJ _AStructPrepConvert_83_c(OBJ x1) /* convertSign'83 */
{OBJ r;
 {TUP2 t=_AStructPrepConvert_83(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AStructPrepConvert_85(OBJ x1,OBJ x2) /* convertSign'85 */
{OBJ r;
 CPPRD(__AStructPrepConvert_84,1);
 ADenotation_4(__AStructPrepConvert_84,x1,r);
 return r;}

extern OBJ _AStructPrepConvert_87(OBJ x1,OBJ x2,OBJ x3) /* convertSign'87 */
{OBJ r;
 CPPRD(__AStructPrepConvert_86,1);
 {OBJ x4;OBJ x5;
  x4=_AMaps4SigAna_28(x1);
  ADenotation_4(__AStructPrepConvert_86,x4,x5);
  ADenotation_4(x2,x5,r);}
 return r;}

extern OBJ _AStructPrepConvert_88(OBJ x1,OBJ x2,OBJ x3) /* convertSign'88 */
{OBJ r;
 {OBJ x7=FLD1(x3,4);
  if(EXPRD(x3,1)){
   FLD1(x3,4)=NIL;DSPRD(x3);
  }else{
   COPY(x7,1);
   FRPRD(x3,1);}
  CPCLS(__AStructPrepConvert_6,1);
  {OBJ x11;OBJ x12;
   x11=x7;
   x12=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AStructPrepConvert_6,2))(__AStructPrepConvert_6,x2,x1);
   r=_AInterOpalModifier_8(x12,x11);}}
 return r;}




static OBJ _mt_1_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 {OBJ t3;
  DCCLS(t,1);
  t3=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(t3,1))(t3,t2);}
 return r;}

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

static OBJ _mt_7_5_2(OBJ t,OBJ t1,OBJ t2) 
{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);
  COPY(FLDCLS(t,5),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),t1,t2);
 return r;}

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

static OBJ _mt_8_6_2(OBJ t,OBJ t1,OBJ t2) 
{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);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1,t2);
 return r;}

static OBJ _mt_9_0_7(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,7);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 FLDCLS(r,7)=t7;
 return r;}

static OBJ _mt_9_7_2(OBJ t,OBJ t1,OBJ t2) 
{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);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  COPY(FLDCLS(t,7),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),FLDCLS(t,7),t1,t2);
 return r;}

static OBJ _mt_10_0_8(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7,OBJ t8) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,8);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 FLDCLS(r,7)=t7;
 FLDCLS(r,8)=t8;
 return r;}

static OBJ _mt_10_0_10(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7,OBJ t8,OBJ t9,OBJ t10) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10);
 return r;}

static OBJ _mt_10_8_2(OBJ t,OBJ t1,OBJ t2) 
{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);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  COPY(FLDCLS(t,7),1);
  COPY(FLDCLS(t,8),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),FLDCLS(t,7),FLDCLS(t,8),t1,t2);
 return r;}

init_AStructPrepConvert()
{
 static int visited=0; if(visited) return; visited=1;
 init_ALexem();
 init_AImpl();
 init_ADArrayReduce();
 init_APatterns();
 init_APartName();
 init_ABSTreeConv();
 init_AUniqueTable();
 init_AGlobSig();
 init_ABSTreeReduce();
 init_ADeclEntry();
 init_AMaps4SigAna();
 init_AGlobPragma();
 init_AImpExpEntry();
 init_AInterOpal();
 init_AImpDecl4SigAna();
 init_ASeq();
 init_AInterOpalAccess();
 init_ARepTab();
 init_AInterOpalModifier();
 init_AQuadruple();
 init_ANatConv();
 init_APair();
 init_ACompose();
 init_ANat();
 init_ASeqFilter();
 init_ARep();
 init_ASeqOfSeq();
 init_AChar();
 init_ASeqMap();
 init_AOption();
 init_ASeqMapEnv();
 init_AMap();
 init_ASeqConv();
 init_ADyn();
 init_ASeqReduce();
 init_ASet();
 init_ASetByBST();
 init_APartNameEntry();
 init_ASetByBSTConv();
 init_AGlobSigImpl();
 init_ASetByBSTReduce();
 init_AObjects();
 init_ADEBUG();
 init_AAttributes();
 init_AGlobSigToText();
 init_AName();
 init_ADenotation();
 init_APragma();
 init_ATriple();
 init_ATable();
 init_AOptionConv();
 init_AFct();
 init_ASeqZip();
 init_AOcPos();
 init_ABoolConv();
 init_ADArray();
 init_ABSTree();
 init_ANatMap();
 init_ATree();
 init_AString();
 init_AInt();
 init_ABitset();
 init_AReal();
 init_AArray();
 CLS(1,_AStructPrepConvert_63,__AStructPrepConvert_63);
 CLS(3,_AStructPrepConvert_31_c,__AStructPrepConvert_31);
 LCLS(5,_AStructPrepConvert_62,__AStructPrepConvert_62);
 CLS(6,_AStructPrepConvert_30_c,__AStructPrepConvert_30);
 DEN("trans: ",__AStructPrepConvert_61);
 CLS(6,_AStructPrepConvert_29_c,__AStructPrepConvert_29);
 DEN(" params:",__AStructPrepConvert_60);
 CLS(6,_AStructPrepConvert_28_c,__AStructPrepConvert_28);
 DEN(" direct:",__AStructPrepConvert_59);
 CLS(6,_AStructPrepConvert_27_c,__AStructPrepConvert_27);
 LCLS(1,_AStructPrepConvert_58,__AStructPrepConvert_58);
 CLS(6,_AStructPrepConvert_26_c,__AStructPrepConvert_26);
 DEN("-zconvertSign",__AStructPrepConvert_89);
 CLS(2,_AStructPrepConvert_25,__AStructPrepConvert_25);
 DEN("-zconvertTrans",__AStructPrepConvert_57);
 CLS(3,_AStructPrepConvert_88,__AStructPrepConvert_88);
 CLS(4,_AStructPrepConvert_24,__AStructPrepConvert_24);
 CLS(1,_AStructPrepConvert_56_c,__AStructPrepConvert_56);
 LCLS(3,_AStructPrepConvert_87,__AStructPrepConvert_87);
 CLS(5,_AStructPrepConvert_23,__AStructPrepConvert_23);
 DEN("unnamed",__AStructPrepConvert_55);
 DEN("\n",__AStructPrepConvert_86);
 CLS(2,_AStructPrepConvert_22,__AStructPrepConvert_22);
 LCLS(3,_AStructPrepConvert_54,__AStructPrepConvert_54);
 LCLS(2,_AStructPrepConvert_85,__AStructPrepConvert_85);
 CLS(2,_AStructPrepConvert_21_c,__AStructPrepConvert_21);
 DEN("adding Pragma to ",__AStructPrepConvert_53);
 DEN("Blip : ",__AStructPrepConvert_84);
 CLS(4,_AStructPrepConvert_20_c,__AStructPrepConvert_20);
 DEN(" ",__AStructPrepConvert_52);
 CLS(1,_AStructPrepConvert_83_c,__AStructPrepConvert_83);
 CLS(2,_AStructPrepConvert_19,__AStructPrepConvert_19);
 LCLS(1,_AStructPrepConvert_51,__AStructPrepConvert_51);
 LCLS(1,_AStructPrepConvert_82,__AStructPrepConvert_82);
 CLS(5,_AStructPrepConvert_18,__AStructPrepConvert_18);
 DEN("-zaddPragmas",__AStructPrepConvert_50);
 DEN("-zconvertSignBlip",__AStructPrepConvert_81);
 CLS(5,_AStructPrepConvert_17,__AStructPrepConvert_17);
 CLS(3,_AStructPrepConvert_49,__AStructPrepConvert_49);
 LCLS(2,_AStructPrepConvert_80,__AStructPrepConvert_80);
 CLS(3,_AStructPrepConvert_16,__AStructPrepConvert_16);
 CLS(1,_AStructPrepConvert_48,__AStructPrepConvert_48);
 DEN("LAW: ",__AStructPrepConvert_79);
 CLS(4,_AStructPrepConvert_15_c,__AStructPrepConvert_15);
 CLS(2,_AStructPrepConvert_47,__AStructPrepConvert_47);
 CLS(1,_AStructPrepConvert_78,__AStructPrepConvert_78);
 CLS(3,_AStructPrepConvert_14,__AStructPrepConvert_14);
 LCLS(1,_AStructPrepConvert_46,__AStructPrepConvert_46);
 LCLS(1,_AStructPrepConvert_77,__AStructPrepConvert_77);
 CLS(2,_AStructPrepConvert_13,__AStructPrepConvert_13);
 DEN("transStruct: ",__AStructPrepConvert_45);
 DEN("-zaddLaw",__AStructPrepConvert_76);
 CLS(8,_AStructPrepConvert_12_c,__AStructPrepConvert_12);
 DEN("  genReExps: ",__AStructPrepConvert_44);
 CLS(3,_AStructPrepConvert_75,__AStructPrepConvert_75);
 CLS(4,_AStructPrepConvert_11,__AStructPrepConvert_11);
 LCLS(1,_AStructPrepConvert_43,__AStructPrepConvert_43);
 CLS(3,_AStructPrepConvert_74,__AStructPrepConvert_74);
 CLS(5,_AStructPrepConvert_10,__AStructPrepConvert_10);
 LCLS(1,_AStructPrepConvert_42,__AStructPrepConvert_42);
 CLS(4,_AStructPrepConvert_73_c,__AStructPrepConvert_73);
 CLS(10,_AStructPrepConvert_9,__AStructPrepConvert_9);
 LCLS(1,_AStructPrepConvert_41,__AStructPrepConvert_41);
 CLS(4,_AStructPrepConvert_72_c,__AStructPrepConvert_72);
 LCLS(3,_AStructPrepConvert_8,__AStructPrepConvert_8);
 LCLS(4,_AStructPrepConvert_40,__AStructPrepConvert_40);
 CLS(3,_AStructPrepConvert_71_c,__AStructPrepConvert_71);
 CLS(7,_AStructPrepConvert_7,__AStructPrepConvert_7);
 DEN("convertSpc:",__AStructPrepConvert_39);
 CLS(3,_AStructPrepConvert_70,__AStructPrepConvert_70);
 CLS(3,_AStructPrepConvert_6,__AStructPrepConvert_6);
 DEN("fct",__AStructPrepConvert_38);
 CLS(3,_AStructPrepConvert_69_c,__AStructPrepConvert_69);
 CLS(9,_AStructPrepConvert_5,__AStructPrepConvert_5);
 DEN("sort",__AStructPrepConvert_37);
 CLS(3,_AStructPrepConvert_68,__AStructPrepConvert_68);
 CLS(1,_AStructPrepConvert_4,__AStructPrepConvert_4);
 LCLS(1,_AStructPrepConvert_36,__AStructPrepConvert_36);
 LCLS(1,_AStructPrepConvert_67,__AStructPrepConvert_67);
 DEN("-zconvertSpc",__AStructPrepConvert_35);
 CLS(1,_AStructPrepConvert_34,__AStructPrepConvert_34);
 CLS(2,_AStructPrepConvert_1,__AStructPrepConvert_1);
 CLS(3,_AStructPrepConvert_33_c,__AStructPrepConvert_33);
 CLS(1,_AStructPrepConvert_64,__AStructPrepConvert_64);
 CLS(3,_AStructPrepConvert_32,__AStructPrepConvert_32);
 MTH(1,0,2,_mt_1_0_2);LZYMTH(1,0,2,_mt_1_0_2);
 MTH(7,0,5,_mt_7_0_5);LZYMTH(7,0,5,_mt_7_0_5);
 MTH(7,5,2,_mt_7_5_2);LZYMTH(7,5,2,_mt_7_5_2);
 MTH(8,0,6,_mt_8_0_6);LZYMTH(8,0,6,_mt_8_0_6);
 MTH(8,6,2,_mt_8_6_2);LZYMTH(8,6,2,_mt_8_6_2);
 MTH(9,0,7,_mt_9_0_7);LZYMTH(9,0,7,_mt_9_0_7);
 MTH(9,7,2,_mt_9_7_2);LZYMTH(9,7,2,_mt_9_7_2);
 MTH(10,0,8,_mt_10_0_8);LZYMTH(10,0,8,_mt_10_0_8);
 MTH(10,0,10,_mt_10_0_10);LZYMTH(10,0,10,_mt_10_0_10);
 MTH(10,8,2,_mt_10_8_2);LZYMTH(10,8,2,_mt_10_8_2);
 CPPRD(__AStructPrepConvert_89,1);
 __AStructPrepConvert_2=_ADEBUG_10(__AStructPrepConvert_89);
 PRD1F(1,__AStructPrepConvert_65);FLD1(__AStructPrepConvert_65,1)=__ANat_5;
 PRDF(1,9,__AStructPrepConvert_66);FLD(__AStructPrepConvert_66,1)=__ASeq_6;}

