

#include "BUILTIN.h"
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern TUP2 _ASeqMapEnv_4(OBJ,OBJ,OBJ);extern OBJ __ASeqMapEnv_4;
extern OBJ __AIdeSet_2;
extern OBJ _AAcFun_1(OBJ,OBJ);extern OBJ __AAcFun_1;
extern OBJ __AAc_10;
extern OBJ _AAc_20(OBJ);extern OBJ __AAc_20;
extern OBJ _AAc_21(OBJ);extern OBJ __AAc_21;
extern OBJ _AAc_22(OBJ);extern OBJ __AAc_22;
extern OBJ _AAc_50(OBJ);extern OBJ __AAc_50;
extern TUP2 _AAcAnaScheme_17(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __AAcAnaScheme_17;

#include "Nat.h"
extern OBJ __ASeq_6;

#include "Bitset.h"
extern OBJ __ANatMap_3;
extern OBJ _ANatMap_4(OBJ,OBJ,OBJ);extern OBJ __ANatMap_4;
extern OBJ _ANatMap_14(OBJ,OBJ);extern OBJ __ANatMap_14;
extern OBJ _AMap_8(OBJ,OBJ,OBJ);extern OBJ __AMap_8;
extern OBJ _AMap_16(OBJ,OBJ,OBJ);extern OBJ __AMap_16;
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 _AIde_13(OBJ,OBJ);extern OBJ __AIde_13;
extern OBJ _AIde_14(OBJ,OBJ);extern OBJ __AIde_14;
extern OBJ _ASetByBST_41(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_41;
extern OBJ _ASetByBST_43(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_43;
extern OBJ _ASetByBST_44(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_44;
extern OBJ __AAn_2;
extern OBJ _AAn_5(OBJ,OBJ);extern OBJ __AAn_5;
extern OBJ _AAn_7(OBJ,OBJ);extern OBJ __AAn_7;
extern OBJ _ABSTree_57(OBJ,OBJ,OBJ);extern OBJ __ABSTree_57;

#include "Array.h"
extern OBJ __ASourceAn_6;
extern OBJ __ASourceAn_28;
extern OBJ __ASourceAn_30;
extern OBJ __AOptimAn_24;
extern OBJ _ASetByBSTConv_7(OBJ,OBJ);extern OBJ __ASetByBSTConv_7;
extern OBJ _ABSTreeConv_7(OBJ,OBJ);extern OBJ __ABSTreeConv_7;
extern OBJ __AVoid_2;

#include "Char.h"

#include "Int.h"
extern OBJ __AIdeMap_3;
extern OBJ _AIdeMap_13(OBJ);extern OBJ __AIdeMap_13;
extern OBJ _ASeqIndex_2(OBJ,OBJ);extern OBJ __ASeqIndex_2;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _AOptimLazySel_1(OBJ,OBJ,OBJ);OBJ __AOptimLazySel_1; /* optimLazySel */
extern OBJ _AOptimLazySel_3(OBJ,OBJ);OBJ __AOptimLazySel_3; /* thr */
extern OBJ _AOptimLazySel_4(OBJ);OBJ __AOptimLazySel_4; /* thr? */
extern OBJ _AOptimLazySel_5(OBJ);OBJ __AOptimLazySel_5; /* free */
extern OBJ _AOptimLazySel_6(OBJ);OBJ __AOptimLazySel_6; /* stack */
extern OBJ _AOptimLazySel_8(OBJ,OBJ,OBJ);OBJ __AOptimLazySel_8; /* sel */
extern OBJ _AOptimLazySel_9(OBJ);OBJ __AOptimLazySel_9; /* sel? */
extern OBJ _AOptimLazySel_10(OBJ);OBJ __AOptimLazySel_10; /* vars */
extern OBJ _AOptimLazySel_11(OBJ);OBJ __AOptimLazySel_11; /* cons */
extern OBJ _AOptimLazySel_12(OBJ);OBJ __AOptimLazySel_12; /* discr */
extern OBJ _AOptimLazySel_14(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_14; /* inh */
extern OBJ _AOptimLazySel_15(OBJ);OBJ __AOptimLazySel_15; /* inh? */
extern OBJ _AOptimLazySel_16(OBJ);OBJ __AOptimLazySel_16; /* lazySels */
extern OBJ _AOptimLazySel_17(OBJ);OBJ __AOptimLazySel_17; /* subs */
extern OBJ _AOptimLazySel_18(OBJ);OBJ __AOptimLazySel_18; /* sels */
extern OBJ _AOptimLazySel_19(OBJ);OBJ __AOptimLazySel_19; /* strict */
extern OBJ _AOptimLazySel_20(OBJ);OBJ __AOptimLazySel_20; /* map */
extern OBJ _AOptimLazySel_22(OBJ);OBJ __AOptimLazySel_22; /* some */
extern OBJ _AOptimLazySel_23(OBJ);OBJ __AOptimLazySel_23; /* some? */
extern OBJ _AOptimLazySel_24(OBJ);OBJ __AOptimLazySel_24; /* set */
OBJ __AOptimLazySel_25; /* all */
extern OBJ _AOptimLazySel_26(OBJ);OBJ __AOptimLazySel_26; /* all? */
extern OBJ _AOptimLazySel_27(OBJ,OBJ);OBJ __AOptimLazySel_27; /* * */
extern OBJ _AOptimLazySel_28(OBJ,OBJ);OBJ __AOptimLazySel_28; /* + */
extern OBJ _AOptimLazySel_29(OBJ,OBJ);OBJ __AOptimLazySel_29; /* \ */
extern OBJ _AOptimLazySel_30(OBJ,OBJ);OBJ __AOptimLazySel_30; /* incl */
extern OBJ _AOptimLazySel_31(OBJ);OBJ __AOptimLazySel_31; /* explode */
extern TUP2 _AOptimLazySel_32(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_32; /* sa */
extern TUP2 _AOptimLazySel_33(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_33; /* leaf */
extern TUP2 _AOptimLazySel_34(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_34; /* enterBlock */
extern OBJ _AOptimLazySel_35(OBJ,OBJ,OBJ);OBJ __AOptimLazySel_35; /* returBlock */
extern TUP2 _AOptimLazySel_36(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_36; /* exitBlock */
extern TUP2 _AOptimLazySel_37(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_37; /* enterBind */
extern TUP2 _AOptimLazySel_38(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_38; /* exitBind */
extern TUP2 _AOptimLazySel_39(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_39; /* enterCase */
extern OBJ _AOptimLazySel_40(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_40; /* returCase */
extern TUP2 _AOptimLazySel_41(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_41; /* exitCase */
extern TUP2 _AOptimLazySel_42(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_42; /* enterMatch */
extern TUP2 _AOptimLazySel_43(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_43; /* exitMatch */
extern TUP2 _AOptimLazySel_44(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_44; /* enterDefault */
extern TUP2 _AOptimLazySel_45(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_45; /* exitDefault */
extern TUP2 _AOptimLazySel_46(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_46; /* ml */
extern TUP2 _AOptimLazySel_47(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_47; /* leaf,1 */
extern TUP2 _AOptimLazySel_48(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_48; /* enterBlock,1 */
extern OBJ _AOptimLazySel_49(OBJ,OBJ,OBJ);OBJ __AOptimLazySel_49; /* returBlock,1 */
extern TUP2 _AOptimLazySel_50(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_50; /* exitBlock,1 */
extern TUP2 _AOptimLazySel_51(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_51; /* enterBind,1 */
extern TUP2 _AOptimLazySel_52(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_52; /* exitBind,1 */
extern TUP2 _AOptimLazySel_53(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_53; /* enterCase,1 */
extern OBJ _AOptimLazySel_54(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_54; /* returCase,1 */
extern TUP2 _AOptimLazySel_55(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_55; /* exitCase,1 */
extern TUP2 _AOptimLazySel_56(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_56; /* enterMatch,1 */
extern TUP2 _AOptimLazySel_57(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_57; /* exitMatch,1 */
extern TUP2 _AOptimLazySel_58(OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_58; /* enterDefault,1 */
extern TUP2 _AOptimLazySel_59(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_59; /* exitDefault,1 */
extern TUP4 _AOptimLazySel_60(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_60; /* calcLazySels */
extern TUP3 _AOptimLazySel_61(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_61; /* mergeLazySels */
extern OBJ _AOptimLazySel_62(OBJ,OBJ,OBJ);OBJ __AOptimLazySel_62; /* genLazySel */
extern OBJ _AOptimLazySel_64(OBJ,OBJ);OBJ __AOptimLazySel_64; /* pos */
OBJ __AOptimLazySel_65; /* neverReached */
extern OBJ _AOptimLazySel_66(OBJ);OBJ __AOptimLazySel_66; /* neverReached? */
extern OBJ _AOptimLazySel_67(OBJ,OBJ);OBJ __AOptimLazySel_67; /* substitute */
extern OBJ _AOptimLazySel_68(OBJ,OBJ);OBJ __AOptimLazySel_68; /* leaf'68 */
extern OBJ _AOptimLazySel_69(OBJ,OBJ);OBJ __AOptimLazySel_69; /* substitute'69 */
extern OBJ _AOptimLazySel_70(OBJ,OBJ);OBJ __AOptimLazySel_70; /* substitute'70 */
extern OBJ _AOptimLazySel_71(OBJ,OBJ);OBJ __AOptimLazySel_71; /* substitute'71 */
extern OBJ _AOptimLazySel_72(OBJ,OBJ);OBJ __AOptimLazySel_72; /* substitute'72 */
OBJ __AOptimLazySel_73; /* \'73 */
extern OBJ _AOptimLazySel_74(OBJ,OBJ,OBJ);OBJ __AOptimLazySel_74; /* mergeLazySels'74 */
extern TUP2 _AOptimLazySel_75(OBJ,OBJ);OBJ __AOptimLazySel_75; /* mergeLazySels'75 */
extern OBJ _AOptimLazySel_76(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AOptimLazySel_76; /* enterMatch,1'76 */
OBJ __AOptimLazySel_77; /* optimLazySel'77 */
OBJ __AOptimLazySel_78; /* neverReached'78 */

extern OBJ _AOptimLazySel_1(OBJ x1,OBJ x2,OBJ x3) /* optimLazySel */
{OBJ r;
 FRPRD(x1,1);
 FRPRD(x2,1);
 if(ISTGPRD(x3,2)){
  {OBJ x304=FLD(x3,4);
   CPPRD(x304,1);
   CPPRD(x3,3);
   {OBJ x305;OBJ x306;OBJ x307;
    x305=_AAc_20(x3);
    x306=_AAc_21(x3);
    x307=_AAc_22(x3);
    if(ISTGPRD(x304,1)){
     if(EXPRD(x304,1)){
      DSPRD(x304);
     }else{
      DCPRD(x304,1);}
     FRPRD(x306,1);
     FREE(x307,1);
     r=x3;
    }else{
     {OBJ x315;
      if(ISPRM(x307)){
       x315=__AOptimAn_24;
      }else{
       {OBJ x312=FLD1(x307,3);
	COPY(x312,1);
	x315=x312;}}
      if(ISPRD(x315)&&(ISTGPRD(x315,1))){
       {OBJ x316=FLD(x315,1);OBJ x317=FLD(x315,2);OBJ x318=FLD(x315,3);FLAG x_x315=EXPRD(x315,1);
	if(x_x315){
	}else{}
	if(EXPRD(x3,1)){
	 DSPRD(x3);
	}else{
	 DCPRD(x3,1);}
	{OBJ x322;OBJ x329;OBJ x330;OBJ x332;OBJ x333;OBJ x334;OBJ x335;OBJ x337;OBJ x338;
	 if(ISTGPRD(x304,4)){
	  x322=__ABUILTIN_5;
	 }else{
	  x322=__ABUILTIN_3;}
	 if(ISTGPRM(x322,1)){
	  if(ISTGPRD(x304,5)||ISTGPRD(x304,4)){
	   {OBJ x325=FLD(x304,3);
	    CPPRD(x325,1);
	    x329=x325;
	    CPCLS(__AOptimLazySel_33,1);
	    CPCLS(__AOptimLazySel_34,1);
	    CPCLS(__AOptimLazySel_35,1);
	    CPCLS(__AOptimLazySel_36,1);
	    CPCLS(__AOptimLazySel_37,1);
	    CPCLS(__AOptimLazySel_38,1);
	    CPCLS(__AOptimLazySel_39,1);
	    CPCLS(__AOptimLazySel_40,1);
	    CPCLS(__AOptimLazySel_41,1);
	    CPCLS(__AOptimLazySel_42,1);
	    CPCLS(__AOptimLazySel_43,1);
	    CPCLS(__AOptimLazySel_44,1);
	    CPCLS(__AOptimLazySel_45,1);
	    CPCLS(__AOptimLazySel_47,1);
	    CPCLS(__AOptimLazySel_48,1);
	    CPCLS(__AOptimLazySel_49,1);
	    CPCLS(__AOptimLazySel_50,1);
	    CPCLS(__AOptimLazySel_51,1);
	    CPCLS(__AOptimLazySel_52,1);
	    CPCLS(__AOptimLazySel_53,1);
	    CPCLS(__AOptimLazySel_54,1);
	    CPCLS(__AOptimLazySel_55,1);
	    CPCLS(__AOptimLazySel_56,1);
	    CPCLS(__AOptimLazySel_57,1);
	    CPCLS(__AOptimLazySel_58,1);
	    CPCLS(__AOptimLazySel_59,1);
	    COPY(__AOptimLazySel_77,1);
	    CPPRD(__ANatMap_3,1);
	    COPY(__AIdeMap_3,2);}
	  }else{
	   HLT("Ac at <unknown> : undefined selection scope\'Ac:exp->exp");}
	 }else{
	  x329=x304;
	  CPPRD(x329,1);
	  CPCLS(__AOptimLazySel_33,1);
	  CPCLS(__AOptimLazySel_34,1);
	  CPCLS(__AOptimLazySel_35,1);
	  CPCLS(__AOptimLazySel_36,1);
	  CPCLS(__AOptimLazySel_37,1);
	  CPCLS(__AOptimLazySel_38,1);
	  CPCLS(__AOptimLazySel_39,1);
	  CPCLS(__AOptimLazySel_40,1);
	  CPCLS(__AOptimLazySel_41,1);
	  CPCLS(__AOptimLazySel_42,1);
	  CPCLS(__AOptimLazySel_43,1);
	  CPCLS(__AOptimLazySel_44,1);
	  CPCLS(__AOptimLazySel_45,1);
	  CPCLS(__AOptimLazySel_47,1);
	  CPCLS(__AOptimLazySel_48,1);
	  CPCLS(__AOptimLazySel_49,1);
	  CPCLS(__AOptimLazySel_50,1);
	  CPCLS(__AOptimLazySel_51,1);
	  CPCLS(__AOptimLazySel_52,1);
	  CPCLS(__AOptimLazySel_53,1);
	  CPCLS(__AOptimLazySel_54,1);
	  CPCLS(__AOptimLazySel_55,1);
	  CPCLS(__AOptimLazySel_56,1);
	  CPCLS(__AOptimLazySel_57,1);
	  CPCLS(__AOptimLazySel_58,1);
	  CPCLS(__AOptimLazySel_59,1);
	  COPY(__AOptimLazySel_77,1);
	  CPPRD(__ANatMap_3,1);
	  COPY(__AIdeMap_3,2);}
	 CPPRD(x329,1);
	 ANat_2(x318,x330);
	 PRD1F(2,x332);FLD1(x332,1)=__ASeq_6;FLD1(x332,2)=x330;
	 {TUP2 t=_AAcAnaScheme_17(__AOptimLazySel_33,__AOptimLazySel_34,__AOptimLazySel_35,__AOptimLazySel_36,__AOptimLazySel_37,__AOptimLazySel_38,__AOptimLazySel_39,__AOptimLazySel_40,__AOptimLazySel_41,__AOptimLazySel_42,__AOptimLazySel_43,__AOptimLazySel_44,__AOptimLazySel_45,__AVoid_2,__ANatMap_3,x329,__AOptimLazySel_77);
	  x333=t.c1;
	  x334=t.c2;}
	 PRD1(5,x335);FLD1(x335,1)=x333;FLD1(x335,2)=x334;FLD1(x335,3)=__AIdeMap_3;FLD1(x335,4)=__AIdeMap_3;FLD1(x335,5)=__ASeq_6;
	 {TUP2 t=_AAcAnaScheme_17(__AOptimLazySel_47,__AOptimLazySel_48,__AOptimLazySel_49,__AOptimLazySel_50,__AOptimLazySel_51,__AOptimLazySel_52,__AOptimLazySel_53,__AOptimLazySel_54,__AOptimLazySel_55,__AOptimLazySel_56,__AOptimLazySel_57,__AOptimLazySel_58,__AOptimLazySel_59,x335,x332,x329,__AVoid_2);
	  x337=t.c1;
	  x338=t.c2;}
	 {OBJ x339=FLD1(x337,1);OBJ x340=FLD1(x337,2);
	  if(EXPRD(x337,1)){
	   DSPRDF(x337);
	  }else{
	   COPY(x339,1);
	   FRPRD(x337,1);}
	  {OBJ x344;OBJ x341;OBJ x350;OBJ x345;
	   if(ISPRM(x339)){
	    HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
	   }else{
	    {OBJ x342=FLD1(x339,1);
	     if(EXPRD(x339,1)){
	      x344=x342;
	      FREE(FLD1(x339,2),1);DSPRDF(x339);
	     }else{
	      CPPRD(x342,1);
	      x344=x342;
	      FRPRD(x339,1);}}}
	   ANat_4(x340,x341);
	   if(ISTGPRM(x322,1)){
	    CPPRD(x304,1);
	    {OBJ x346;
	     x346=_AAc_50(x304);
	     if(ISTGPRD(x304,4)){
	      {OBJ x348;
	       if(EXPRD(x304,1)){
		RPRD(x304,x350);FREE(FLD(x350,1),1);FLD(x350,1)=x346;FRPRD(FLD(x350,3),1);FLD(x350,3)=x344;
	       }else{
		x348=FLD(x304,2);COPY(x348,1);
		FRPRD(x304,1);PRD(3,4,x350);FLD(x350,1)=x346;FLD(x350,2)=x348;FLD(x350,3)=x344;}}
	     }else{
	      HLT("Ac at <unknown> : undefined selection vars\'Ac:exp->seq");}}
	   }else{
	    x350=x344;
	    FRPRD(x304,1);}
	   if(x_x315){
	    RPRDF(x315,x345);FLD(x345,3)=x341;
	   }else{
	    FRPRD(x315,1);PRDF(3,1,x345);FLD(x345,1)=x316;FLD(x345,2)=x317;FLD(x345,3)=x341;}
	   PRD(4,2,r);FLD(r,2)=x306;FLD(r,3)=x305;FLD(r,4)=x350;
	   FLD(r,1)=_AAn_7(x307,x345);}}}}
      }else{
       FRPRD(x304,1);
       FRPRD(x306,1);
       FREE(x307,1);
       FREE(x315,1);
       r=x3;}}}}}
 }else{
  r=x3;}
 return r;}

extern OBJ _AOptimLazySel_3(OBJ x1,OBJ x2) /* thr */
{OBJ r;
 PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x2;
 return r;}

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

extern OBJ _AOptimLazySel_5(OBJ x1) /* free */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_6(OBJ x1) /* stack */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   DSPRDF(x1);
  }else{
   COPY(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_8(OBJ x1,OBJ x2,OBJ x3) /* sel */
{OBJ r;
 PRD1(3,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;
 return r;}

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

extern OBJ _AOptimLazySel_10(OBJ x1) /* vars */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FLD1(x1,3)=NIL;DSPRD(x1);
  }else{
   COPY(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_11(OBJ x1) /* cons */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FLD1(x1,2)=NIL;DSPRD(x1);
  }else{
   CPPRD(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_12(OBJ x1) /* discr */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FLD1(x1,1)=NIL;DSPRD(x1);
  }else{
   CPPRD(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* inh */
{OBJ r;
 PRD1(5,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;FLD1(r,4)=x4;FLD1(r,5)=x5;
 return r;}

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

extern OBJ _AOptimLazySel_16(OBJ x1) /* lazySels */
{OBJ r;
 {OBJ x6=FLD1(x1,5);
  if(EXPRD(x1,1)){
   r=x6;
   FLD1(x1,5)=NIL;DSPRD(x1);
  }else{
   COPY(x6,1);
   r=x6;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_17(OBJ x1) /* subs */
{OBJ r;
 {OBJ x5=FLD1(x1,4);
  if(EXPRD(x1,1)){
   r=x5;
   FLD1(x1,4)=NIL;DSPRD(x1);
  }else{
   COPY(x5,1);
   r=x5;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_18(OBJ x1) /* sels */
{OBJ r;
 {OBJ x4=FLD1(x1,3);
  if(EXPRD(x1,1)){
   r=x4;
   FLD1(x1,3)=NIL;DSPRD(x1);
  }else{
   COPY(x4,1);
   r=x4;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_19(OBJ x1) /* strict */
{OBJ r;
 {OBJ x3=FLD1(x1,2);
  if(EXPRD(x1,1)){
   r=x3;
   FLD1(x1,2)=NIL;DSPRD(x1);
  }else{
   COPY(x3,1);
   r=x3;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_20(OBJ x1) /* map */
{OBJ r;
 {OBJ x2=FLD1(x1,1);
  if(EXPRD(x1,1)){
   r=x2;
   FLD1(x1,1)=NIL;DSPRD(x1);
  }else{
   CPPRD(x2,1);
   r=x2;
   FRPRD(x1,1);}}
 return r;}

extern OBJ _AOptimLazySel_22(OBJ x1) /* some */
{OBJ r;
 PRD1(1,r);FLD1(r,1)=x1;
 return r;}

extern OBJ _AOptimLazySel_23(OBJ x1) /* some? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_3;
 }else{
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;}
 return r;}

extern OBJ _AOptimLazySel_24(OBJ x1) /* set */
{OBJ r;
 if(ISPRM(x1)){
  HLT("OptimLazySel at <44,19-21> : undefined selection set\'OptimLazySel:sset->ideSet");
 }else{
  {OBJ x2=FLD1(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _AOptimLazySel_26(OBJ x1) /* all? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_5;
 }else{
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AOptimLazySel_27(OBJ x1,OBJ x2) /* * */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__AOptimLazySel_25;
  }else{
   r=x2;}
 }else{
  {OBJ x26=FLD1(x1,1);
   COPY(x26,1);
   if(ISPRM(x2)){
    FREE(x26,1);
    r=x1;
   }else{
    {OBJ x27=FLD1(x2,1);
     if(EXPRD(x2,1)){
      if(EXPRD(x1,1)){
       FREE(FLD1(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      CPCLS(__AIde_14,1);
      {
       RSOME(x2,r);
       FLD1(r,1)=_ASetByBST_44(__AIde_14,x26,x27);}
     }else{
      COPY(x27,1);
      if(EXPRD(x1,1)){
       FREE(FLD1(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      CPCLS(__AIde_14,1);
      {
       FRPRD(x2,1);PRD1(1,r);
       FLD1(r,1)=_ASetByBST_44(__AIde_14,x26,x27);}}}}}}
 return r;}

extern OBJ _AOptimLazySel_28(OBJ x1,OBJ x2) /* + */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__AOptimLazySel_25;
  }else{
   r=x2;}
 }else{
  {OBJ x26=FLD1(x1,1);
   COPY(x26,1);
   if(ISPRM(x2)){
    FREE(x26,1);
    r=x1;
   }else{
    {OBJ x27=FLD1(x2,1);
     if(EXPRD(x2,1)){
      if(EXPRD(x1,1)){
       FREE(FLD1(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      CPCLS(__AIde_14,1);
      {
       RSOME(x2,r);
       FLD1(r,1)=_ASetByBST_41(__AIde_14,x26,x27);}
     }else{
      COPY(x27,1);
      if(EXPRD(x1,1)){
       FREE(FLD1(x1,1),1);DSPRDF(x1);
      }else{
       DCPRD(x1,1);}
      CPCLS(__AIde_14,1);
      {
       FRPRD(x2,1);PRD1(1,r);
       FLD1(r,1)=_ASetByBST_41(__AIde_14,x26,x27);}}}}}}
 return r;}

extern OBJ _AOptimLazySel_29(OBJ x1,OBJ x2) /* \ */
{OBJ r;
 if(ISPRM(x1)){
  FREE(x2,1);
  COPY(__AOptimLazySel_73,1);
  r=__AOptimLazySel_73;
 }else{
  {OBJ x20=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x20,1);
    FRPRD(x1,1);}
   if(ISPRM(x2)){
    FREE(x20,1);
    COPY(__AOptimLazySel_73,1);
    r=__AOptimLazySel_73;
   }else{
    {OBJ x21=FLD1(x2,1);
     if(EXPRD(x2,1)){
      CPCLS(__AIde_14,1);
      {
       RSOME(x2,r);
       FLD1(r,1)=_ASetByBST_43(__AIde_14,x20,x21);}
     }else{
      COPY(x21,1);
      CPCLS(__AIde_14,1);
      {
       FRPRD(x2,1);PRD1(1,r);
       FLD1(r,1)=_ASetByBST_43(__AIde_14,x20,x21);}}}}}}
 return r;}

extern OBJ _AOptimLazySel_30(OBJ x1,OBJ x2) /* incl */
{OBJ r;
 if(ISPRM(x2)){
  FRPRD(x1,1);
  r=__AOptimLazySel_25;
 }else{
  {OBJ x22=FLD1(x2,1);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    COPY(x22,1);}
   if(ISTGPRD(x1,1)){
    CPCLS(__AIde_14,1);
    {
     if(x_x2){
      RSOME(x2,r);
     }else{
      FRPRD(x2,1);PRD1(1,r);}
     FLD1(r,1)=_ABSTree_57(__AIde_14,x1,x22);}
   }else{
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    if(x_x2){
     RSOME(x2,r);
    }else{
     FRPRD(x2,1);PRD1(1,r);FLD1(r,1)=x22;}}}}
 return r;}

extern OBJ _AOptimLazySel_31(OBJ x1) /* explode */
{OBJ r;
 if(ISPRM(x1)){
  r=__ASeq_6;
 }else{
  {OBJ x8=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x8,1);
    FRPRD(x1,1);}
   CPCLS(__AIde_14,1);
   r=_ABSTreeConv_7(__AIde_14,x8);}}
 return r;}

extern TUP2 _AOptimLazySel_32(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* sa */
{TUP2 r;
 CPCLS(__AOptimLazySel_33,1);
 CPCLS(__AOptimLazySel_34,1);
 CPCLS(__AOptimLazySel_35,1);
 CPCLS(__AOptimLazySel_36,1);
 CPCLS(__AOptimLazySel_37,1);
 CPCLS(__AOptimLazySel_38,1);
 CPCLS(__AOptimLazySel_39,1);
 CPCLS(__AOptimLazySel_40,1);
 CPCLS(__AOptimLazySel_41,1);
 CPCLS(__AOptimLazySel_42,1);
 CPCLS(__AOptimLazySel_43,1);
 CPCLS(__AOptimLazySel_44,1);
 CPCLS(__AOptimLazySel_45,1);
 r=_AAcAnaScheme_17(__AOptimLazySel_33,__AOptimLazySel_34,__AOptimLazySel_35,__AOptimLazySel_36,__AOptimLazySel_37,__AOptimLazySel_38,__AOptimLazySel_39,__AOptimLazySel_40,__AOptimLazySel_41,__AOptimLazySel_42,__AOptimLazySel_43,__AOptimLazySel_44,__AOptimLazySel_45,x1,x2,x3,x4);
 return r;}
extern OBJ _AOptimLazySel_32_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* sa */
{OBJ r;
 {TUP2 t=_AOptimLazySel_32(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_33(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* leaf */
{TUP2 r;
 if(ISTGPRD(x4,2)){
  {OBJ x49=FLD(x4,2);
   if(EXPRD(x4,1)){
    FREE(FLD(x4,1),1);DSPRDF(x4);
   }else{
    CPPRD(x49,1);
    FRPRD(x4,1);}
   r.c2=_AOptimLazySel_30(x49,x5);
   r.c1=x2;}
 }else{
  if(ISTGPRD(x4,3)){
   {OBJ x52=FLD(x4,2);OBJ x53=FLD(x4,3);
    if(EXPRD(x4,1)){
     FREE(FLD(x4,1),1);DSPRDF(x4);
    }else{
     CPPRD(x52,1);COPY(x53,1);
     FRPRD(x4,1);}
    if(ISTGPRD(x52,2)){
     {OBJ x55=FLD(x52,2);
      if(EXPRD(x52,1)){
       FREE(FLD(x52,1),1);DSPRDF(x52);
      }else{
       CPPRD(x55,1);
       FRPRD(x52,1);}
      CPCLS(__AOptimLazySel_68,1);
      {OBJ x56;
       x56=_AOptimLazySel_30(x55,x5);
       r.c2=_ASeqReduce_3(__AOptimLazySel_68,x56,x53);
       r.c1=x2;}}
    }else{
     HLT("Ac at <unknown> : undefined selection ide\'Ac:exp->ide");}}
  }else{
   if(ISTGPRD(x4,0)){
    if(EXPRD(x4,1)){
     FREE(FLD(x4,1),1);DSPRDF(x4);
    }else{
     DCPRD(x4,1);}
    FREE(x5,1);
    r.c1=x2;r.c2=__AOptimLazySel_25;
   }else{
    FRPRD(x4,1);
    r.c1=x2;r.c2=x5;}}}
 return r;}
extern OBJ _AOptimLazySel_33_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* leaf */
{OBJ r;
 {TUP2 t=_AOptimLazySel_33(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_34(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterBlock */
{TUP2 r;
 FREE(x4,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_34_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterBlock */
{OBJ r;
 {TUP2 t=_AOptimLazySel_34(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AOptimLazySel_35(OBJ x1,OBJ x2,OBJ x3) /* returBlock */
{OBJ r;
 FREE(x3,1);
 r=x2;
 return r;}

extern TUP2 _AOptimLazySel_36(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitBlock */
{TUP2 r;
 FREE(x4,1);
 r.c1=x2;r.c2=x5;
 return r;}
extern OBJ _AOptimLazySel_36_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitBlock */
{OBJ r;
 {TUP2 t=_AOptimLazySel_36(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_37(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterBind */
{TUP2 r;
 FREE(x4,1);
 FRPRD(x5,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_37_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterBind */
{OBJ r;
 {TUP2 t=_AOptimLazySel_37(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_38(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* exitBind */
{TUP2 r;
 FREE(x4,1);
 FRPRD(x5,1);
 r.c1=x2;r.c2=x6;
 return r;}
extern OBJ _AOptimLazySel_38_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* exitBind */
{OBJ r;
 {TUP2 t=_AOptimLazySel_38(x1,x2,x3,x4,x5,x6);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_39(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterCase */
{TUP2 r;
 FREE(x4,1);
 FRPRD(x5,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_39_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterCase */
{OBJ r;
 {TUP2 t=_AOptimLazySel_39(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AOptimLazySel_40(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* returCase */
{OBJ r;
 FREE(x3,1);
 FRPRD(x4,1);
 r=x2;
 return r;}

extern TUP2 _AOptimLazySel_41(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitCase */
{TUP2 r;
 CPCLS(__AOptimLazySel_27,1);
 FREE(x4,1);
 {OBJ x11;
  x11=_ASeqReduce_3(__AOptimLazySel_27,x7,x6);
  if(ISTGPRD(x5,2)){
   {OBJ x9=FLD(x5,2);
    if(EXPRD(x5,1)){
     FREE(FLD(x5,1),1);DSPRDF(x5);
    }else{
     CPPRD(x9,1);
     FRPRD(x5,1);}
    {OBJ x10;
     x10=x9;
     r.c2=_AOptimLazySel_30(x10,x11);
     r.c1=x2;}}
  }else{
   HLT("Ac at <unknown> : undefined selection ide\'Ac:exp->ide");}}
 return r;}
extern OBJ _AOptimLazySel_41_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitCase */
{OBJ r;
 {TUP2 t=_AOptimLazySel_41(x1,x2,x3,x4,x5,x6,x7);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_42(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* enterMatch */
{TUP2 r;
 FRPRD(x4,1);
 FRPRD(x5,1);
 FREE(x6,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_42_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* enterMatch */
{OBJ r;
 {TUP2 t=_AOptimLazySel_42(x1,x2,x3,x4,x5,x6);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_43(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitMatch */
{TUP2 r;
 FRPRD(x4,1);
 FRPRD(x5,1);
 FREE(x6,1);
 COPY(x7,1);
 r.c1=_ANatMap_4(x3,x7,x2);
 r.c2=x7;
 return r;}
extern OBJ _AOptimLazySel_43_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitMatch */
{OBJ r;
 {TUP2 t=_AOptimLazySel_43(x1,x2,x3,x4,x5,x6,x7);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_44(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterDefault */
{TUP2 r;
 FRPRD(x4,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_44_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterDefault */
{OBJ r;
 {TUP2 t=_AOptimLazySel_44(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_45(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitDefault */
{TUP2 r;
 FRPRD(x4,1);
 COPY(x5,1);
 r.c1=_ANatMap_4(x3,x5,x2);
 r.c2=x5;
 return r;}
extern OBJ _AOptimLazySel_45_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitDefault */
{OBJ r;
 {TUP2 t=_AOptimLazySel_45(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_46(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* ml */
{TUP2 r;
 CPCLS(__AOptimLazySel_47,1);
 CPCLS(__AOptimLazySel_48,1);
 CPCLS(__AOptimLazySel_49,1);
 CPCLS(__AOptimLazySel_50,1);
 CPCLS(__AOptimLazySel_51,1);
 CPCLS(__AOptimLazySel_52,1);
 CPCLS(__AOptimLazySel_53,1);
 CPCLS(__AOptimLazySel_54,1);
 CPCLS(__AOptimLazySel_55,1);
 CPCLS(__AOptimLazySel_56,1);
 CPCLS(__AOptimLazySel_57,1);
 CPCLS(__AOptimLazySel_58,1);
 CPCLS(__AOptimLazySel_59,1);
 r=_AAcAnaScheme_17(__AOptimLazySel_47,__AOptimLazySel_48,__AOptimLazySel_49,__AOptimLazySel_50,__AOptimLazySel_51,__AOptimLazySel_52,__AOptimLazySel_53,__AOptimLazySel_54,__AOptimLazySel_55,__AOptimLazySel_56,__AOptimLazySel_57,__AOptimLazySel_58,__AOptimLazySel_59,x1,x2,x3,x4);
 return r;}
extern OBJ _AOptimLazySel_46_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* ml */
{OBJ r;
 {TUP2 t=_AOptimLazySel_46(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_47(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* leaf,1 */
{TUP2 r;
 {OBJ x96=FLD1(x2,1);OBJ x97=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x96,1);}
  if(ISTGPRD(x4,2)){
   {OBJ x131=FLD1(x1,4);
    if(EXPRD(x1,1)){
     FLD1(x1,4)=NIL;DSPRD(x1);
    }else{
     COPY(x131,1);
     FRPRD(x1,1);}
    {OBJ x133;OBJ x134;
     x133=_AOptimLazySel_67(x131,x4);
     if(x_x2){
      RSOME(x2,x134);FLD1(x134,1)=x133;FLD1(x134,2)=x96;
     }else{
      FRPRD(x2,1);PRD1(2,x134);FLD1(x134,1)=x133;FLD1(x134,2)=x96;}
     PRD1(2,r.c1);FLD1(r.c1,1)=x134;FLD1(r.c1,2)=x97;
     r.c2=x5;}}
  }else{
   if(ISTGPRD(x4,3)){
    {OBJ x137=FLD(x4,2);OBJ x138=FLD(x4,3);
     CPPRD(x137,1);COPY(x138,1);
     {OBJ x139;
      x139=_AAc_50(x4);
      {OBJ x143=FLD1(x1,4);
       if(EXPRD(x1,1)){
	COPY(x143,1);
	FLD1(x1,4)=NIL;DSPRD(x1);
       }else{
	COPY(x143,2);
	FRPRD(x1,1);}
       CPCLS(__AOptimLazySel_67,1);
       {OBJ x145;OBJ x146;OBJ x147;OBJ x148;OBJ x149;
	x145=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimLazySel_67,1))(__AOptimLazySel_67,x143);
	x146=_AOptimLazySel_67(x143,x137);
	x147=_ASeqMap_3(x145,x138);
	PRD(3,3,x148);FLD(x148,1)=x139;FLD(x148,2)=x146;FLD(x148,3)=x147;
	if(x_x2){
	 RSOME(x2,x149);FLD1(x149,1)=x148;FLD1(x149,2)=x96;
	}else{
	 FRPRD(x2,1);PRD1(2,x149);FLD1(x149,1)=x148;FLD1(x149,2)=x96;}
	PRD1(2,r.c1);FLD1(r.c1,1)=x149;FLD1(r.c1,2)=x97;
	r.c2=x5;}}}}
   }else{
    FRPRD(x1,1);
    {OBJ x151;
     if(x_x2){
      RSOME(x2,x151);FLD1(x151,1)=x4;FLD1(x151,2)=x96;
     }else{
      FRPRD(x2,1);PRD1(2,x151);FLD1(x151,1)=x4;FLD1(x151,2)=x96;}
     PRD1(2,r.c1);FLD1(r.c1,1)=x151;FLD1(r.c1,2)=x97;
     r.c2=x5;}}}}
 return r;}
extern OBJ _AOptimLazySel_47_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* leaf,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_47(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_48(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterBlock,1 */
{TUP2 r;
 FREE(x4,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_48_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterBlock,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_48(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AOptimLazySel_49(OBJ x1,OBJ x2,OBJ x3) /* returBlock,1 */
{OBJ r;
 FRPRD(x1,1);
 {OBJ x31=FLD1(x2,1);OBJ x32=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x31,1);}
  if(ISPRM(x31)){
   HLT("OptimLazySel at <196,5-14> : missing else in returBlock\'OptimLazySel:inh**thr**an->thr");
  }else{
   {OBJ x33=FLD1(x31,1);OBJ x34;FLAG x_x31=EXPRD(x31,1);
    if(x_x31){
    }else{
     x34=FLD1(x31,2);CPPRD(x33,1);COPY(x34,1);}
    {OBJ x36;OBJ x37;
     PRD(3,5,x36);FLD(x36,1)=x3;FLD(x36,2)=__ASeq_6;FLD(x36,3)=x33;
     if(x_x31){
      RSOME(x31,x37);FLD1(x37,1)=x36;
     }else{
      FRPRD(x31,1);PRD1(2,x37);FLD1(x37,1)=x36;FLD1(x37,2)=x34;}
     if(x_x2){
      RSOME(x2,r);FLD1(r,1)=x37;
     }else{
      FRPRD(x2,1);PRD1(2,r);FLD1(r,1)=x37;FLD1(r,2)=x32;}}}}}
 return r;}

extern TUP2 _AOptimLazySel_50(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitBlock,1 */
{TUP2 r;
 FRPRD(x1,1);
 FREE(x4,1);
 r.c1=x2;r.c2=x5;
 return r;}
extern OBJ _AOptimLazySel_50_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitBlock,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_50(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_51(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterBind,1 */
{TUP2 r;
 FREE(x4,1);
 FRPRD(x5,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_51_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterBind,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_51(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_52(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* exitBind,1 */
{TUP2 r;
 FRPRD(x1,1);
 {OBJ x101=FLD1(x2,1);OBJ x102=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x101,1);}
  if(ISPRM(x101)){
   HLT("OptimLazySel at <200,5-12> : missing else in exitBind\'OptimLazySel:inh**thr**nat**an**ide**void->thr**void");
  }else{
   {OBJ x103=FLD1(x101,1);OBJ x104=FLD1(x101,2);FLAG x_x101=EXPRD(x101,1);
    if(x_x101){
    }else{
     CPPRD(x103,1);COPY(x104,1);}
    if(ISPRM(x104)){
     HLT("OptimLazySel at <200,5-12> : missing else in exitBind\'OptimLazySel:inh**thr**nat**an**ide**void->thr**void");
    }else{
     {OBJ x105=FLD1(x104,1);OBJ x106=FLD1(x104,2);FLAG x_x104=EXPRD(x104,1);
      if(x_x104){
      }else{
       CPPRD(x105,1);COPY(x106,1);}
      if(ISTGPRD(x105,5)){
       {OBJ x108=FLD(x105,2);OBJ x109=FLD(x105,3);
	COPY(x108,1);CPPRD(x109,1);
	{OBJ x110;OBJ x111;OBJ x112;OBJ x113;OBJ x114;
	 PRD(4,2,x110);FLD(x110,1)=x4;FLD(x110,2)=x5;FLD(x110,3)=__AAc_10;FLD(x110,4)=x103;
	 x111=_AAc_50(x105);
	 if(x_x104){
	  RSOME(x104,x112);FLD1(x112,1)=x110;FLD1(x112,2)=x108;
	 }else{
	  FRPRD(x104,1);PRD1(2,x112);FLD1(x112,1)=x110;FLD1(x112,2)=x108;}
	 PRD(3,5,x113);FLD(x113,1)=x111;FLD(x113,2)=x112;FLD(x113,3)=x109;
	 if(x_x101){
	  RSOME(x101,x114);FLD1(x114,1)=x113;FLD1(x114,2)=x106;
	 }else{
	  FRPRD(x101,1);PRD1(2,x114);FLD1(x114,1)=x113;FLD1(x114,2)=x106;}
	 if(x_x2){
	  RSOME(x2,r.c1);FLD1(r.c1,1)=x114;
	 }else{
	  FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x114;FLD1(r.c1,2)=x102;}
	 r.c2=x6;}}
      }else{
       HLT("OptimLazySel at <200,5-12> : missing else in exitBind\'OptimLazySel:inh**thr**nat**an**ide**void->thr**void");}}}}}}
 return r;}
extern OBJ _AOptimLazySel_52_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* exitBind,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_52(x1,x2,x3,x4,x5,x6);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_53(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterCase,1 */
{TUP2 r;
 FREE(x4,1);
 FRPRD(x5,1);
 r.c1=x1;r.c2=x2;
 return r;}
extern OBJ _AOptimLazySel_53_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterCase,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_53(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AOptimLazySel_54(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* returCase,1 */
{OBJ r;
 {OBJ x45=FLD1(x2,1);OBJ x46=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x45,1);}
  if(ISPRM(x45)){
   HLT("OptimLazySel at <203,5-13> : missing else in returCase\'OptimLazySel:inh**thr**an**exp->thr");
  }else{
   {OBJ x47=FLD1(x45,1);OBJ x48=FLD1(x45,2);FLAG x_x45=EXPRD(x45,1);
    if(x_x45){
    }else{
     CPPRD(x47,1);COPY(x48,1);}
    {OBJ x52=FLD1(x1,4);
     if(EXPRD(x1,1)){
      FLD1(x1,4)=NIL;DSPRD(x1);
     }else{
      COPY(x52,1);
      FRPRD(x1,1);}
     {OBJ x55;OBJ x56;OBJ x57;
      x55=_AOptimLazySel_67(x52,x4);
      PRD(4,6,x56);FLD(x56,1)=x3;FLD(x56,2)=x55;FLD(x56,3)=__ASeq_6;FLD(x56,4)=x47;
      if(x_x45){
       RSOME(x45,x57);FLD1(x57,1)=x56;
      }else{
       FRPRD(x45,1);PRD1(2,x57);FLD1(x57,1)=x56;FLD1(x57,2)=x48;}
      if(x_x2){
       RSOME(x2,r);FLD1(r,1)=x57;
      }else{
       FRPRD(x2,1);PRD1(2,r);FLD1(r,1)=x57;FLD1(r,2)=x46;}}}}}}
 return r;}

extern TUP2 _AOptimLazySel_55(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitCase,1 */
{TUP2 r;
 FRPRD(x1,1);
 FREE(x4,1);
 FRPRD(x5,1);
 FREE(x6,1);
 r.c1=x2;r.c2=__AVoid_2;
 return r;}
extern OBJ _AOptimLazySel_55_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitCase,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_55(x1,x2,x3,x4,x5,x6,x7);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_56(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* enterMatch,1 */
{TUP2 r;
 {OBJ x53=FLD1(x1,1);OBJ x54=FLD1(x1,2);OBJ x55=FLD1(x1,3);OBJ x56=FLD1(x1,4);FLAG x_x1=EXPRD(x1,1);
  if(x_x1){
  }else{
   CPPRD(x53,1);COPY(x54,1);COPY(x55,1);COPY(x56,1);}
  {OBJ x74;OBJ x75=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    x74=FLD1(x2,1);COPY(x74,1);}
   COPY(x6,1);
   CPPRD(x53,1);
   COPY(x55,1);
   CPCLS(__AOptimLazySel_76,1);
   {OBJ x76;OBJ x77;OBJ x79;TUP4 x80;
    x76=_ANatMap_14(x53,x3);
    x77=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AOptimLazySel_76,3))(__AOptimLazySel_76,x4,x5,x6);
    x79=_ASeqReduce_3(x77,x55,x6);
    x80=_AOptimLazySel_60(x76,x54,x75,x55,x56);
    if(x_x2){
     RSOME(x2,r.c2);FLD1(r.c2,2)=x80.c2;
    }else{
     FRPRD(x2,1);PRD1(2,r.c2);FLD1(r.c2,1)=x74;FLD1(r.c2,2)=x80.c2;}
    if(x_x1){
     RSOME(x1,r.c1);FLD1(r.c1,2)=x80.c1;FLD1(r.c1,3)=x79;FLD1(r.c1,4)=x80.c4;FREE(FLD1(r.c1,5),1);FLD1(r.c1,5)=x80.c3;
    }else{
     FRPRD(x1,1);PRD1(5,r.c1);FLD1(r.c1,1)=x53;FLD1(r.c1,2)=x80.c1;FLD1(r.c1,3)=x79;FLD1(r.c1,4)=x80.c4;FLD1(r.c1,5)=x80.c3;}}}}
 return r;}
extern OBJ _AOptimLazySel_56_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* enterMatch,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_56(x1,x2,x3,x4,x5,x6);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_57(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitMatch,1 */
{TUP2 r;
 FRPRD(x4,1);
 {OBJ x187=FLD1(x2,1);OBJ x188=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x187,1);}
  if(ISPRM(x187)){
   HLT("OptimLazySel at <208,5-13> : missing else in exitMatch\'OptimLazySel:inh**thr**nat**exp**ide**seq**void->thr**void");
  }else{
   {OBJ x189=FLD1(x187,1);OBJ x190=FLD1(x187,2);FLAG x_x187=EXPRD(x187,1);
    if(x_x187){
    }else{
     CPPRD(x189,1);COPY(x190,1);}
    if(ISPRM(x190)){
     HLT("OptimLazySel at <208,5-13> : missing else in exitMatch\'OptimLazySel:inh**thr**nat**exp**ide**seq**void->thr**void");
    }else{
     {OBJ x191=FLD1(x190,1);OBJ x192=FLD1(x190,2);FLAG x_x190=EXPRD(x190,1);
      if(x_x190){
      }else{
       CPPRD(x191,1);COPY(x192,1);}
      if(ISTGPRD(x191,6)){
       {OBJ x194=FLD(x191,2);OBJ x195=FLD(x191,3);OBJ x196=FLD(x191,4);
	CPPRD(x194,1);COPY(x195,1);CPPRD(x196,1);
	{OBJ x200=FLD1(x1,4);OBJ x201=FLD1(x1,5);
	 if(EXPRD(x1,1)){
	  FLD1(x1,4)=NIL;FLD1(x1,5)=NIL;DSPRD(x1);
	 }else{
	  COPY(x200,1);COPY(x201,1);
	  FRPRD(x1,1);}
	 CPCLS(__AOptimLazySel_62,1);
	 {OBJ x202;OBJ x203;OBJ x204;OBJ x205;OBJ x206;OBJ x207;OBJ x208;
	  x202=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimLazySel_62,1))(__AOptimLazySel_62,x200);
	  x203=_ASeqReduce_3(x202,x189,x201);
	  PRD1(3,x204);FLD1(x204,1)=x5;FLD1(x204,2)=x6;FLD1(x204,3)=x203;
	  x205=_AAc_50(x191);
	  if(x_x190){
	   RSOME(x190,x206);FLD1(x206,1)=x204;FLD1(x206,2)=x195;
	  }else{
	   FRPRD(x190,1);PRD1(2,x206);FLD1(x206,1)=x204;FLD1(x206,2)=x195;}
	  PRD(4,6,x207);FLD(x207,1)=x205;FLD(x207,2)=x194;FLD(x207,3)=x206;FLD(x207,4)=x196;
	  if(x_x187){
	   RSOME(x187,x208);FLD1(x208,1)=x207;FLD1(x208,2)=x192;
	  }else{
	   FRPRD(x187,1);PRD1(2,x208);FLD1(x208,1)=x207;FLD1(x208,2)=x192;}
	  if(x_x2){
	   RSOME(x2,r.c1);FLD1(r.c1,1)=x208;
	  }else{
	   FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x208;FLD1(r.c1,2)=x188;}
	  r.c2=x7;}}}
      }else{
       HLT("OptimLazySel at <208,5-13> : missing else in exitMatch\'OptimLazySel:inh**thr**nat**exp**ide**seq**void->thr**void");}}}}}}
 return r;}
extern OBJ _AOptimLazySel_57_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* exitMatch,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_57(x1,x2,x3,x4,x5,x6,x7);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_58(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterDefault,1 */
{TUP2 r;
 FRPRD(x4,1);
 {OBJ x49=FLD1(x1,1);OBJ x50=FLD1(x1,2);OBJ x51=FLD1(x1,3);OBJ x52=FLD1(x1,4);FLAG x_x1=EXPRD(x1,1);
  if(x_x1){
  }else{
   CPPRD(x49,1);COPY(x50,1);COPY(x51,1);COPY(x52,1);}
  {OBJ x68;OBJ x69=FLD1(x2,2);
   if(EXPRD(x2,1)){
    CPPRD(x49,1);
    COPY(x51,1);
    {OBJ x70;TUP4 x72;
     x70=_ANatMap_14(x49,x3);
     x72=_AOptimLazySel_60(x70,x50,x69,x51,x52);
     if(x_x1){
      RSOME(x1,r.c1);FLD1(r.c1,2)=x72.c1;FLD1(r.c1,4)=x72.c4;FREE(FLD1(r.c1,5),1);FLD1(r.c1,5)=x72.c3;
     }else{
      FRPRD(x1,1);PRD1(5,r.c1);FLD1(r.c1,1)=x49;FLD1(r.c1,2)=x72.c1;FLD1(r.c1,3)=x51;FLD1(r.c1,4)=x72.c4;FLD1(r.c1,5)=x72.c3;}
     RSOME(x2,r.c2);FLD1(r.c2,2)=x72.c2;}
   }else{
    x68=FLD1(x2,1);COPY(x68,1);
    CPPRD(x49,1);
    COPY(x51,1);
    {OBJ x70;TUP4 x72;
     x70=_ANatMap_14(x49,x3);
     x72=_AOptimLazySel_60(x70,x50,x69,x51,x52);
     if(x_x1){
      RSOME(x1,r.c1);FLD1(r.c1,2)=x72.c1;FLD1(r.c1,4)=x72.c4;FREE(FLD1(r.c1,5),1);FLD1(r.c1,5)=x72.c3;
     }else{
      FRPRD(x1,1);PRD1(5,r.c1);FLD1(r.c1,1)=x49;FLD1(r.c1,2)=x72.c1;FLD1(r.c1,3)=x51;FLD1(r.c1,4)=x72.c4;FLD1(r.c1,5)=x72.c3;}
     FRPRD(x2,1);PRD1(2,r.c2);FLD1(r.c2,1)=x68;FLD1(r.c2,2)=x72.c2;}}}}
 return r;}
extern OBJ _AOptimLazySel_58_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* enterDefault,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_58(x1,x2,x3,x4);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AOptimLazySel_59(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitDefault,1 */
{TUP2 r;
 FRPRD(x4,1);
 {OBJ x92=FLD1(x2,1);OBJ x93=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
  if(x_x2){
  }else{
   COPY(x92,1);}
  if(ISPRM(x92)){
   HLT("OptimLazySel at <212,5-15> : missing else in exitDefault\'OptimLazySel:inh**thr**nat**exp**void->thr**void");
  }else{
   {OBJ x94=FLD1(x92,1);OBJ x95=FLD1(x92,2);FLAG x_x92=EXPRD(x92,1);
    if(x_x92){
    }else{
     CPPRD(x94,1);COPY(x95,1);}
    {OBJ x99=FLD1(x1,4);OBJ x100=FLD1(x1,5);
     if(EXPRD(x1,1)){
      FLD1(x1,4)=NIL;FLD1(x1,5)=NIL;DSPRD(x1);
     }else{
      COPY(x99,1);COPY(x100,1);
      FRPRD(x1,1);}
     CPCLS(__AOptimLazySel_62,1);
     {OBJ x101;OBJ x103;OBJ x104;
      x101=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimLazySel_62,1))(__AOptimLazySel_62,x99);
      x103=_ASeqReduce_3(x101,x94,x100);
      if(x_x92){
       RSOME(x92,x104);FLD1(x104,1)=x103;
      }else{
       FRPRD(x92,1);PRD1(2,x104);FLD1(x104,1)=x103;FLD1(x104,2)=x95;}
      if(x_x2){
       RSOME(x2,r.c1);FLD1(r.c1,1)=x104;
      }else{
       FRPRD(x2,1);PRD1(2,r.c1);FLD1(r.c1,1)=x104;FLD1(r.c1,2)=x93;}
      r.c2=x5;}}}}}
 return r;}
extern OBJ _AOptimLazySel_59_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* exitDefault,1 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_59(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP4 _AOptimLazySel_60(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* calcLazySels */
{TUP4 r;
 CPCLS(__AIde_14,1);
 COPY(x2,1);
 COPY(x4,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x13;OBJ x15;OBJ x16;OBJ x17;
  x6=_AOptimLazySel_28(x2,x1);
  COPY(x6,1);
  x7=_AIdeMap_13(x4);
  x8=_AOptimLazySel_29(x6,x2);
  x9=_ASetByBSTConv_7(__AIde_14,x7);
  PRD1(1,x10);FLD1(x10,1)=x9;
  x11=_AOptimLazySel_27(x10,x8);
  if(ISPRM(x11)){
   r.c1=x6;
   x13=__ASeq_6;
  }else{
   {OBJ x12=FLD1(x11,1);
    if(EXPRD(x11,1)){
     r.c1=x6;
     DSPRDF(x11);
    }else{
     COPY(x12,1);
     r.c1=x6;
     FRPRD(x11,1);}
    CPCLS(__AIde_14,1);
    x13=_ABSTreeConv_7(__AIde_14,x12);}}
  {TUP3 t=_AOptimLazySel_61(x4,x3,__ASeq_6,x5,x13);
   r.c2=t.c1;
   r.c3=t.c2;
   r.c4=t.c3;}}
 return r;}
extern OBJ _AOptimLazySel_60_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* calcLazySels */
{OBJ r;
 {TUP4 t=_AOptimLazySel_60(x1,x2,x3,x4,x5);
  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 TUP3 _AOptimLazySel_61(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5) /* mergeLazySels */
{TUP3 r;
 for(;;){
  if(ISPRM(x5)){
   FREE(x1,1);
   r.c1=x2;r.c2=x3;r.c3=x4;
  }else{
   {OBJ x98=FLD1(x5,1);OBJ x99=FLD1(x5,2);FLAG x_x5=EXPRD(x5,1);
    if(x_x5){
     CPPRD(x98,1);
    }else{
     CPPRD(x98,2);COPY(x99,1);}
    COPY(x1,1);
    CPCLS(__AIde_14,1);
    {OBJ x101;
     x101=_AMap_16(__AIde_14,x1,x98);
     {OBJ x102=FLD1(x101,1);OBJ x103=FLD1(x101,2);OBJ x104=FLD1(x101,3);FLAG x_x101=EXPRD(x101,1);
      if(x_x101){
       CPPRD(x102,1);CPPRD(x103,1);COPY(x104,1);
      }else{
       CPPRD(x102,2);CPPRD(x103,2);COPY(x104,2);}
      COPY(x3,1);
      CPPRD(x98,1);
      CPCLS(__AOptimLazySel_74,1);
      {OBJ x105;OBJ x106;OBJ x107;
       x105=_AOptimLazySel_64(x98,x104);
       x106=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AOptimLazySel_74,2))(__AOptimLazySel_74,x102,x103);
       x107=_ASeqFilter_2(x106,x3);
       if(ISPRM(x107)){
	CPCLS(__AOptimLazySel_75,1);
	CPCLS(__AIde_14,1);
	{TUP2 x117;OBJ x119;OBJ x120;OBJ x121;OBJ x122;OBJ x123;
	 x117=_ASeqMapEnv_4(__AOptimLazySel_75,x2,x104);
	 COPY(x117.c2,1);
	 if(x_x101){
	  RSOME(x101,x119);FLD1(x119,3)=x117.c2;
	 }else{
	  FRPRD(x101,1);PRD1(3,x119);FLD1(x119,1)=x102;FLD1(x119,2)=x103;FLD1(x119,3)=x117.c2;}
	 if(x_x5){
	  RSOME(x5,x120);FLD1(x120,1)=x119;FLD1(x120,2)=x3;
	 }else{
	  FRPRD(x5,1);PRD1(2,x120);FLD1(x120,1)=x119;FLD1(x120,2)=x3;}
	 x121=_ASeqIndex_2(x117.c2,x105);
	 x122=_AAc_21(x121);
	 x123=_AMap_31(__AIde_14,x98,x122,x4);
	 x2=x117.c1;x3=x120;x4=x123;x5=x99;continue;}
       }else{
	{OBJ x108=FLD1(x107,1);
	 if(EXPRD(x107,1)){
	  if(x_x5){
	   DSPRDF(x5);
	  }else{
	   FRPRD(x5,1);}
	  if(x_x101){
	   DSPRDF(x101);
	  }else{
	   FRPRD(x101,1);}
	  FREE(FLD1(x107,2),1);DSPRDF(x107);
	 }else{
	  CPPRD(x108,1);
	  if(x_x5){
	   DSPRDF(x5);
	  }else{
	   FRPRD(x5,1);}
	  if(x_x101){
	   DSPRDF(x101);
	  }else{
	   FRPRD(x101,1);}
	  FRPRD(x107,1);}
	 FRPRD(x102,1);
	 FRPRD(x103,1);
	 FREE(x104,1);
	 {OBJ x112=FLD1(x108,3);
	  if(EXPRD(x108,1)){
	   FLD1(x108,3)=NIL;DSPRD(x108);
	  }else{
	   COPY(x112,1);
	   FRPRD(x108,1);}
	  CPCLS(__AIde_14,1);
	  {OBJ x113;OBJ x114;OBJ x115;
	   x113=_ASeqIndex_2(x112,x105);
	   x114=_AAc_21(x113);
	   x115=_AMap_31(__AIde_14,x98,x114,x4);
	   x4=x115;x5=x99;continue;}}}}}}}}}
  break;}
 return r;}
extern OBJ _AOptimLazySel_61_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* mergeLazySels */
{OBJ r;
 {TUP3 t=_AOptimLazySel_61(x1,x2,x3,x4,x5);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern OBJ _AOptimLazySel_62(OBJ x1,OBJ x2,OBJ x3) /* genLazySel */
{OBJ r;
 CPPRD(x3,1);
 {OBJ x4;
  x4=_AAc_50(x3);
  {OBJ x20=FLD1(x2,1);OBJ x21=FLD1(x2,2);OBJ x22=FLD1(x2,3);FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    CPPRD(x20,1);CPPRD(x21,1);COPY(x22,1);}
   CPPRD(__AOptimLazySel_65,1);
   {OBJ x23;OBJ x24;OBJ x25;
    if(x_x2){
     RSOME(x2,x23);FLD1(x23,1)=x21;FLD1(x23,2)=x22;FLD1(x23,3)=x3;
    }else{
     FRPRD(x2,1);PRD1(3,x23);FLD1(x23,1)=x21;FLD1(x23,2)=x22;FLD1(x23,3)=x3;}
    x24=_AOptimLazySel_67(x1,x20);
    PRD1(2,x25);FLD1(x25,1)=x23;FLD1(x25,2)=__ASeq_6;
    PRD(4,6,r);FLD(r,1)=x4;FLD(r,2)=x24;FLD(r,3)=x25;FLD(r,4)=__AOptimLazySel_65;}}}
 return r;}

extern OBJ _AOptimLazySel_64(OBJ x1,OBJ x2) /* pos */
{OBJ r;
 if(ISPRM(x2)){
  HLT("OptimLazySel at <364,5-7> : missing else in pos\'OptimLazySel:ide**seq->nat");
 }else{
  {OBJ x26=FLD1(x2,1);OBJ x27=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x26,1);COPY(x27,1);
    FRPRD(x2,1);}
   if(ISTGPRD(x26,0)){
    CPPRD(x1,1);
    {OBJ x30;OBJ x31;
     x30=_AAc_21(x26);
     x31=_AIde_13(x1,x30);
     if(ISTGPRM(x31,1)){
      FRPRD(x1,1);
      FREE(x27,1);
      r=__ANat_5;
     }else{
      {OBJ x32;
       x32=_AOptimLazySel_64(x1,x27);
       ANat_2(x32,r);}}}
   }else{
    HLT("OptimLazySel at <364,5-7> : missing else in pos\'OptimLazySel:ide**seq->nat");}}}
 return r;}

extern OBJ _AOptimLazySel_66(OBJ x1) /* neverReached? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x26;OBJ x32;
   x26=_AAc_50(x1);
   if(ISPRM(x26)){
    x32=__ASourceAn_28;
   }else{
    {OBJ x28=FLD1(x26,2);
     if(EXPRD(x26,1)){
      x32=x28;
      FLD1(x26,2)=NIL;DSPRD(x26);
     }else{
      COPY(x28,1);
      x32=x28;
      FRPRD(x26,1);}}}
   if(ISPRD(x32)&&(ISTGPRD(x32,2))){
    {OBJ x35=FLD(x32,3);
     if(EXPRD(x32,1)){
      FRPRD(FLD(x32,2),1);DSPRDF(x32);
     }else{
      FRPRD(x32,1);}
     if(ISTGPRM(x35,0)){
      r=__ABUILTIN_5;
     }else{
      r=__ABUILTIN_3;}}
   }else{
    FREE(x32,1);
    r=__ABUILTIN_3;}}
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AOptimLazySel_67(register OBJ x1,register OBJ x2) /* substitute */
{OBJ r;OBJ* p1=&r;
 for(;;){
  if(ISTGPRD(x2,3)){
   {OBJ x139=FLD(x2,2);OBJ x140=FLD(x2,3);
    CPPRD(x139,1);COPY(x140,1);
    COPY(x1,1);
    CPCLS(__AOptimLazySel_67,1);
    {OBJ x142;OBJ x141;OBJ x144;
     x142=_AAc_50(x2);
     x141=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimLazySel_67,1))(__AOptimLazySel_67,x1);
     x144=_ASeqMap_3(x141,x140);
     PRD(3,3,*p1);FLD(*p1,1)=x142;FLD(*p1,3)=x144;
     x2=x139;p1=&FLD(*p1,2);continue;}}
  }else{
   if(ISTGPRD(x2,5)){
    {OBJ x146=FLD(x2,2);OBJ x147=FLD(x2,3);
     COPY(x146,2);CPPRD(x147,1);
     COPY(x1,1);
     CPCLS(__AOptimLazySel_69,1);
     CPCLS(__AOptimLazySel_70,1);
     {OBJ x148;OBJ x149;OBJ x150;OBJ x152;
      x148=_AAc_50(x2);
      x149=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimLazySel_70,1))(__AOptimLazySel_70,x1);
      x150=_ASeqReduce_3(__AOptimLazySel_69,x1,x146);
      x152=_ASeqMap_3(x149,x146);
      PRD(3,5,*p1);FLD(*p1,1)=x148;FLD(*p1,2)=x152;
      x1=x150;x2=x147;p1=&FLD(*p1,3);continue;}}
   }else{
    if(ISTGPRD(x2,6)){
     {OBJ x154=FLD(x2,2);OBJ x155=FLD(x2,3);OBJ x156=FLD(x2,4);
      CPPRD(x154,1);COPY(x155,1);CPPRD(x156,1);
      COPY(x1,2);
      CPCLS(__AOptimLazySel_72,1);
      {OBJ x157;OBJ x159;OBJ x158;OBJ x160;
       x157=_AAc_50(x2);
       x159=_AOptimLazySel_67(x1,x156);
       x158=_AOptimLazySel_67(x1,x154);
       x160=(*(OBJ(*)(OBJ,OBJ))METHOD(__AOptimLazySel_72,1))(__AOptimLazySel_72,x1);
       PRD(4,6,*p1);FLD(*p1,1)=x157;FLD(*p1,2)=x158;FLD(*p1,4)=x159;
       FLD(*p1,3)=_ASeqMap_3(x160,x155);}}
    }else{
     if(ISTGPRD(x2,2)){
      {OBJ x163=FLD(x2,2);
       CPPRD(x163,2);
       CPCLS(__AIde_14,1);
       {OBJ x164;OBJ x165;
	x164=_AAc_50(x2);
	x165=_AMap_33(__AIde_14,x1,x163);
	if(ISPRM(x165)){
	 PRD(2,2,*p1);FLD(*p1,1)=x164;FLD(*p1,2)=x163;
	}else{
	 {OBJ x166=FLD1(x165,1);
	  if(EXPRD(x165,1)){
	   DSPRDF(x165);
	  }else{
	   CPPRD(x166,1);
	   FRPRD(x165,1);}
	  FRPRD(x163,1);
	  PRD(2,2,*p1);FLD(*p1,1)=x164;FLD(*p1,2)=x166;}}}}
     }else{
      FREE(x1,1);
      *p1=x2;}}}}
  break;}
 return r;}

extern OBJ _AOptimLazySel_68(OBJ x1,OBJ x2) /* leaf'68 */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x4=FLD(x1,2);
   if(EXPRD(x1,1)){
    FREE(FLD(x1,1),1);DSPRDF(x1);
   }else{
    CPPRD(x4,1);
    FRPRD(x1,1);}
   {OBJ x5;
    x5=x4;
    r=_AOptimLazySel_30(x5,x2);}}
 }else{
  HLT("Ac at <unknown> : undefined selection ide\'Ac:exp->ide");}
 return r;}

extern OBJ _AOptimLazySel_69(OBJ x1,OBJ x2) /* substitute'69 */
{OBJ r;
 CPCLS(__AIde_14,1);
 {OBJ x3;
  x3=_AAc_21(x1);
  r=_AMap_8(__AIde_14,x3,x2);}
 return r;}

extern OBJ _AOptimLazySel_70(OBJ x1,OBJ x2) /* substitute'70 */
{OBJ r;
 CPPRD(x2,3);
 {OBJ x3;OBJ x4;OBJ x5;
  x3=_AAc_22(x2);
  x4=_AAc_21(x2);
  x5=_AAc_20(x2);
  if(ISTGPRD(x2,2)){
   {OBJ x9=FLD(x2,4);
    if(EXPRD(x2,1)){
     {OBJ x10;
      x10=x9;
      RPRD(x2,r);FREE(FLD(r,1),1);FLD(r,1)=x3;FRPRD(FLD(r,2),1);FLD(r,2)=x4;FLD(r,3)=x5;
      FLD(r,4)=_AOptimLazySel_67(x1,x10);}
    }else{
     CPPRD(x9,1);
     {OBJ x10;
      x10=x9;
      FRPRD(x2,1);PRD(4,2,r);FLD(r,1)=x3;FLD(r,2)=x4;FLD(r,3)=x5;
      FLD(r,4)=_AOptimLazySel_67(x1,x10);}}}
  }else{
   HLT("Ac at <unknown> : undefined selection def\'Ac:dec->exp");}}
 return r;}

extern OBJ _AOptimLazySel_71(OBJ x1,OBJ x2) /* substitute'71 */
{OBJ r;
 CPCLS(__AIde_14,1);
 {OBJ x3;
  x3=_AAc_21(x1);
  r=_AMap_8(__AIde_14,x3,x2);}
 return r;}

extern OBJ _AOptimLazySel_72(OBJ x1,OBJ x2) /* substitute'72 */
{OBJ r;
 {OBJ x17;OBJ x18=FLD1(x2,2);OBJ x19=FLD1(x2,3);
  if(EXPRD(x2,1)){
   COPY(x18,1);
   CPCLS(__AOptimLazySel_71,1);
   {OBJ x20;
    x20=_ASeqReduce_3(__AOptimLazySel_71,x1,x18);
    RSOME(x2,r);
    FLD1(r,3)=_AOptimLazySel_67(x20,x19);}
  }else{
   x17=FLD1(x2,1);CPPRD(x17,1);COPY(x18,2);CPPRD(x19,1);
   CPCLS(__AOptimLazySel_71,1);
   {OBJ x20;
    x20=_ASeqReduce_3(__AOptimLazySel_71,x1,x18);
    FRPRD(x2,1);PRD1(3,r);FLD1(r,1)=x17;FLD1(r,2)=x18;
    FLD1(r,3)=_AOptimLazySel_67(x20,x19);}}}
 return r;}

extern OBJ _AOptimLazySel_74(OBJ x1,OBJ x2,OBJ x3) /* mergeLazySels'74 */
{OBJ r;
 {OBJ x13=FLD1(x3,1);OBJ x14=FLD1(x3,2);
  if(EXPRD(x3,1)){
   FREE(FLD1(x3,3),1);DSPRDF(x3);
  }else{
   CPPRD(x13,1);CPPRD(x14,1);
   FRPRD(x3,1);}
  {OBJ x16;
   x16=_AAcFun_1(x13,x1);
   if(ISTGPRM(x16,1)){
    r=_AIde_13(x14,x2);
   }else{
    FRPRD(x2,1);
    FRPRD(x14,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern TUP2 _AOptimLazySel_75(OBJ x1,OBJ x2) /* mergeLazySels'75 */
{TUP2 r;
 {OBJ x4;OBJ x5;
  ANat_2(x1,r.c1);
  x4=_AAc_22(x2);
  PRDF(1,1,x5);FLD(x5,1)=x1;
  PRD(2,0,r.c2);FLD(r.c2,1)=x4;FLD(r.c2,2)=x5;}
 return r;}
extern OBJ _AOptimLazySel_75_c(OBJ x1,OBJ x2) /* mergeLazySels'75 */
{OBJ r;
 {TUP2 t=_AOptimLazySel_75(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AOptimLazySel_76(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* enterMatch,1'76 */
{OBJ r;
 CPCLS(__AIde_14,1);
 {OBJ x6;OBJ x7;
  PRD1(3,x6);FLD1(x6,1)=x1;FLD1(x6,2)=x2;FLD1(x6,3)=x3;
  x7=_AAc_21(x4);
  r=_AMap_31(__AIde_14,x7,x6,x5);}
 return r;}


static void ___AOptimLazySel_65()
{
 CPPRD(__AOptimLazySel_78,1);
 {OBJ x1;
  PRD(3,2,x1);FLD(x1,1)=__ASourceAn_30;FLD(x1,2)=__AOptimLazySel_78;FLD(x1,3)=__ASourceAn_6;
  PRD(1,0,__AOptimLazySel_65);
  FLD(__AOptimLazySel_65,1)=_AAn_5(__AAn_2,x1);}}



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

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

init_AOptimLazySel()
{
 static int visited=0; if(visited) return; visited=1;
 init_ASeqMap();
 init_ASeqReduce();
 init_ASeqMapEnv();
 init_AIdeSet();
 init_APreparedOptions();
 init_AAcFun();
 init_AAc();
 init_AAcAnaScheme();
 init_ANat();
 init_ATree();
 init_ASeq();
 init_ABitset();
 init_ANatMap();
 init_AMap();
 init_AIde();
 init_ASetByBST();
 init_AAn();
 init_ABSTree();
 init_ATypeAn();
 init_AArray();
 init_ASourceAn();
 init_ASetByBSTFilter();
 init_AOptimAn();
 init_ASetByBSTConv();
 init_ATransAn();
 init_ABSTreeConv();
 init_APragmaAn();
 init_AMapConv();
 init_AOption();
 init_AStore();
 init_AFormat();
 init_AString();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AFmt();
 init_AChar();
 init_AFile();
 init_AInt();
 init_ASet();
 init_APair();
 init_AIdeMap();
 init_AOcOptions();
 init_ASeqIndex();
 init_ASeqFilter();
 CLS(1,_AOptimLazySel_31,__AOptimLazySel_31);
 CLS(2,_AOptimLazySel_30,__AOptimLazySel_30);
 CLS(3,_AOptimLazySel_62,__AOptimLazySel_62);
 CLS(2,_AOptimLazySel_29,__AOptimLazySel_29);
 CLS(5,_AOptimLazySel_61_c,__AOptimLazySel_61);
 CLS(2,_AOptimLazySel_28,__AOptimLazySel_28);
 CLS(5,_AOptimLazySel_60_c,__AOptimLazySel_60);
 CLS(2,_AOptimLazySel_27,__AOptimLazySel_27);
 CLS(5,_AOptimLazySel_59_c,__AOptimLazySel_59);
 CLS(1,_AOptimLazySel_26,__AOptimLazySel_26);
 CLS(4,_AOptimLazySel_58_c,__AOptimLazySel_58);
 CLS(7,_AOptimLazySel_57_c,__AOptimLazySel_57);
 CLS(1,_AOptimLazySel_24,__AOptimLazySel_24);
 CLS(6,_AOptimLazySel_56_c,__AOptimLazySel_56);
 CLS(1,_AOptimLazySel_23,__AOptimLazySel_23);
 CLS(7,_AOptimLazySel_55_c,__AOptimLazySel_55);
 CLS(1,_AOptimLazySel_22,__AOptimLazySel_22);
 CLS(4,_AOptimLazySel_54,__AOptimLazySel_54);
 CLS(5,_AOptimLazySel_53_c,__AOptimLazySel_53);
 CLS(1,_AOptimLazySel_20,__AOptimLazySel_20);
 CLS(6,_AOptimLazySel_52_c,__AOptimLazySel_52);
 CLS(1,_AOptimLazySel_19,__AOptimLazySel_19);
 CLS(5,_AOptimLazySel_51_c,__AOptimLazySel_51);
 CLS(1,_AOptimLazySel_18,__AOptimLazySel_18);
 CLS(5,_AOptimLazySel_50_c,__AOptimLazySel_50);
 CLS(1,_AOptimLazySel_17,__AOptimLazySel_17);
 CLS(3,_AOptimLazySel_49,__AOptimLazySel_49);
 CLS(1,_AOptimLazySel_16,__AOptimLazySel_16);
 CLS(4,_AOptimLazySel_48_c,__AOptimLazySel_48);
 CLS(1,_AOptimLazySel_15,__AOptimLazySel_15);
 CLS(5,_AOptimLazySel_47_c,__AOptimLazySel_47);
 DEN("",__AOptimLazySel_78);
 CLS(5,_AOptimLazySel_14,__AOptimLazySel_14);
 CLS(4,_AOptimLazySel_46_c,__AOptimLazySel_46);
 CLS(5,_AOptimLazySel_45_c,__AOptimLazySel_45);
 CLS(5,_AOptimLazySel_76,__AOptimLazySel_76);
 CLS(1,_AOptimLazySel_12,__AOptimLazySel_12);
 CLS(4,_AOptimLazySel_44_c,__AOptimLazySel_44);
 CLS(2,_AOptimLazySel_75_c,__AOptimLazySel_75);
 CLS(1,_AOptimLazySel_11,__AOptimLazySel_11);
 CLS(7,_AOptimLazySel_43_c,__AOptimLazySel_43);
 CLS(3,_AOptimLazySel_74,__AOptimLazySel_74);
 CLS(1,_AOptimLazySel_10,__AOptimLazySel_10);
 CLS(6,_AOptimLazySel_42_c,__AOptimLazySel_42);
 CLS(1,_AOptimLazySel_9,__AOptimLazySel_9);
 CLS(7,_AOptimLazySel_41_c,__AOptimLazySel_41);
 CLS(2,_AOptimLazySel_72,__AOptimLazySel_72);
 CLS(3,_AOptimLazySel_8,__AOptimLazySel_8);
 CLS(4,_AOptimLazySel_40,__AOptimLazySel_40);
 CLS(2,_AOptimLazySel_71,__AOptimLazySel_71);
 CLS(5,_AOptimLazySel_39_c,__AOptimLazySel_39);
 CLS(2,_AOptimLazySel_70,__AOptimLazySel_70);
 CLS(1,_AOptimLazySel_6,__AOptimLazySel_6);
 CLS(6,_AOptimLazySel_38_c,__AOptimLazySel_38);
 CLS(2,_AOptimLazySel_69,__AOptimLazySel_69);
 CLS(1,_AOptimLazySel_5,__AOptimLazySel_5);
 CLS(5,_AOptimLazySel_37_c,__AOptimLazySel_37);
 CLS(2,_AOptimLazySel_68,__AOptimLazySel_68);
 CLS(1,_AOptimLazySel_4,__AOptimLazySel_4);
 CLS(5,_AOptimLazySel_36_c,__AOptimLazySel_36);
 CLS(2,_AOptimLazySel_67,__AOptimLazySel_67);
 CLS(2,_AOptimLazySel_3,__AOptimLazySel_3);
 CLS(3,_AOptimLazySel_35,__AOptimLazySel_35);
 CLS(4,_AOptimLazySel_34_c,__AOptimLazySel_34);
 CLS(1,_AOptimLazySel_66,__AOptimLazySel_66);
 CLS(3,_AOptimLazySel_1,__AOptimLazySel_1);
 CLS(5,_AOptimLazySel_33_c,__AOptimLazySel_33);
 CLS(4,_AOptimLazySel_32_c,__AOptimLazySel_32);
 CLS(2,_AOptimLazySel_64,__AOptimLazySel_64);
 MTH(5,0,3,_mt_5_0_3);LZYMTH(5,0,3,_mt_5_0_3);
 MTH(5,3,2,_mt_5_3_2);LZYMTH(5,3,2,_mt_5_3_2);
 PRM1(__AOptimLazySel_25);
 ___AOptimLazySel_65();
 COPY(__AIdeSet_2,1);
 PRD1(1,__AOptimLazySel_73);FLD1(__AOptimLazySel_73,1)=__AIdeSet_2;
 COPY(__AIdeSet_2,1);
 PRD1(1,__AOptimLazySel_77);FLD1(__AOptimLazySel_77,1)=__AIdeSet_2;}

