/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 11:09:37 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: RopeListImpl, module: RopeListImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1761205209,111216993] RopeListImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W16 f; W6 r;} W22;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q960();
static void RopeListImpl←P0();
static word EqualLists←P60();
static word Memb←P120();
static word Cons←P180();
static word Append←P240();
static word CopyTopList←P300();
static word Remove←P360();
static word Reverse←P420();
static word DAppend←P480();
static word DReverse←P540();
static word DRemove←P600();
static word Length←P660();
static void Map←P720();
static word Sort←P780();
static word Compare←P840();
static word IgnoreCase←P900();
static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\150\371\333\331\300\006\241\011\141\100\164\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\255\220\043\324\300\140\002\100\200\100\150\000\000"};
static struct {
   word f0[5]; word f5; word f6; word f7; 
   word f8; word f9; word f10; word f11; 
   word f12; word f13; word f14; word f15; 
   word f16; word f17; word f18; word f19; 
   word f20; word f21; word f22; word f23; 
   word f24; word f25; word f26; word f27; 
   word f28; word f29; word f30; word f31; 
   word f32; word f33; word f34; word f35; 
   word f36[3]; 
   } globalframe = {
   {0}, (word) IgnoreCase←P900, 0, (word) Compare←P840, 
   0, (word) Sort←P780, 0, (word) Map←P720, 
   0, (word) Length←P660, 0, (word) DRemove←P600, 
   0, (word) DReverse←P540, 0, (word) DAppend←P480, 
   0, (word) Reverse←P420, 0, (word) Remove←P360, 
   0, (word) CopyTopList←P300, 0, (word) Append←P240, 
   0, (word) Cons←P180, 0, (word) Memb←P120, 
   0, (word) EqualLists←P60, 0, (word) RopeListImpl←P0, 
   {0}
   };

static void NoName←Q960()
   {
   register ptr gf←c087 =  (ptr) &globalframe;
   word var←c9844;
   (* (( (ptr) gf←c087)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (void) XR←DeclareGlobalFrame((word) "RopeListImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) (( (bPt) gf←c087)+140)
      /* var←c9396 */ );
   var←c9844 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string4)), 43);
   (* (( (ptr) gf←c087)+37)/* var←c9428 */  ) = var←c9844;
   (void) XR←ImportProcS(var←c9844, 67896067);
   (void) XR←ImportProcS(var←c9844, 67896323);
   var←c9844 = (word) XR←ExportInterface((word) "RopeList", (word) XR←GetTypeIndexS((word) (&string5)), 15);
   (* (( (ptr) gf←c087)+38)/* var←c9876 */  ) = var←c9844;
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+132)/* var←c9364 */ , 67895299);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+124)/* var←c9332 */ , 67895555);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+116)/* var←c9300 */ , 67633666);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+108)/* var←c9268 */ , 67633922);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+100)/* var←c9236 */ , 67372033);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+92)/* var←c9204 */ , 67896579);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+84)/* var←c9172 */ , 67372545);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+76)/* var←c9140 */ , 67634946);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+60)/* var←c9076 */ , 67897347);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+68)/* var←c9108 */ , 67373313);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+52)/* var←c9044 */ , 67373569);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+44)/* var←c9012 */ , 527106);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+36)/* var←c8980 */ , 67636226);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+28)/* var←c8948 */ , 67636482);
   (void) XR←ExportProcS(var←c9844, (word) (( (bPt) gf←c087)+20)/* var←c8916 */ , 67636738);
   }

static void RopeListImpl←P0(formal←c022, formal←c021)
   word formal←c022;
   word formal←c021;
   {
   /* RopeListImpl: */ 
   }

static word EqualLists←P60(l1←v2968, l2←v2996, case←v3024)
   word l1←v2968;
   word l2←v2996;
   word case←v3024;
   {
   register ptr gf←c9908 =  (ptr) &globalframe;
   word var←c3152;
   /* EqualLists: */ 
SOURCE(163, 338)
SOURCE(253, 28)
   if ((l1←v2968 == l2←v2996)) {
SOURCE(269, 12)
      return(1);
      };
SOURCE(283, 42)
   if ((l1←v2968 == 0) || (l2←v2996 == 0)) {
SOURCE(312, 13)
      return(0);
      };
SOURCE(327, 147)
   lab←L100002: ;
   if ((l1←v2968 != 0)) {
      }
   else {
      goto lab←L100000;
      };
SOURCE(346, 30)
   if ((l2←v2996 == 0)) {
SOURCE(363, 13)
      return(0);
      };
SOURCE(378, 68)
   {
      word pd6;
      pd6 = (* (( (ptr) (* (( (ptr) gf←c9908)+37)/* var←c9428 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd6 ))))((*  (ptr) l1←v2968 ), (*  (ptr) l2←v2996 ), case←v3024, pd6))) {
         }
      else {
SOURCE(433, 13)
         return(0);
         };
      };
SOURCE(448, 12)
   l1←v2968 = (* (( (ptr) l1←v2968)+1) );
SOURCE(462, 12)
   l2←v2996 = (* (( (ptr) l2←v2996)+1) );
   goto lab←L100002;
   lab←L100000: ;
SOURCE(485, 16)
   return((l2←v2996 == 0));
   }

static word Memb←P120(list←v3212, r←v3240, case←v3268)
   word list←v3212;
   word r←v3240;
   word case←v3268;
   {
   register ptr gf←c9940 =  (ptr) &globalframe;
   word var←c3396;
   /* Memb: */ 
SOURCE(506, 210)
SOURCE(602, 90)
   lab←L100005: ;
   if ((list←v3212 != 0)) {
      }
   else {
      goto lab←L100003;
      };
SOURCE(622, 52)
   {
      word pd7;
      pd7 = (* (( (ptr) (* (( (ptr) gf←c9940)+37)/* var←c9428 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd7 ))))((*  (ptr) list←v3212 ), r←v3240, case←v3268, pd7))) {
SOURCE(662, 12)
         return(1);
         };
      };
SOURCE(676, 16)
   list←v3212 = (* (( (ptr) list←v3212)+1) );
   goto lab←L100005;
   lab←L100003: ;
SOURCE(703, 13)
   return(0);
   }

static word Cons←P180(list←v3456, r←v3484)
   word list←v3456;
   word r←v3484;
   {
   register ptr gf←c9972 =  (ptr) &globalframe;
   word var←c3612;
   /* Cons: */ 
SOURCE(721, 111)
SOURCE(811, 21)
   {
      word var←c9492;
      var←c9492 = XR←NewObject(8, (* (( (ptr) gf←c9972)+4) ));
      (*  (ptr) var←c9492 ) = r←v3484;
      (* (( (ptr) var←c9492)+1) ) = list←v3456;
      return(var←c9492);
      };
   }

static word Append←P240(l1←v3756, l2←v3784)
   word l1←v3756;
   word l2←v3784;
   {
   register ptr gf←c10004 =  (ptr) &globalframe;
   word val←v3912;
   word z←v6516 = 0;
   /* Append: */ 
SOURCE(837, 284)
SOURCE(837, 284)
   val←v3912 = 0;
SOURCE(950, 8)
   val←v3912 = l2←v3784;
SOURCE(960, 28)
   if ((l1←v3756 == 0)) {
SOURCE(977, 11)
      return(val←v3912);
      };
SOURCE(990, 25)
   {
      word var←c9524;
      var←c9524 = XR←NewObject(8, (* (( (ptr) gf←c10004)+4) ));
      (*  (ptr) var←c9524 ) = (*  (ptr) l1←v3756 );
      (* (( (ptr) var←c9524)+1) ) = val←v3912;
      val←v3912 = var←c9524;
      };
SOURCE(1017, 7)
   z←v6516 = val←v3912;
SOURCE(1026, 73)
   lab←L100008: ;
   l1←v3756 = (* (( (ptr) l1←v3756)+1) );
   if ((l1←v3756 != 0)) {
      }
   else {
      goto lab←L100006;
      };
SOURCE(1056, 31)
   {
      word var←c9556;
      var←c9556 = XR←NewObject(8, (* (( (ptr) gf←c10004)+4) ));
      (*  (ptr) var←c9556 ) = (*  (ptr) l1←v3756 );
      (* (( (ptr) var←c9556)+1) ) = (* (( (ptr) z←v6516)+1) );
      (* (( (ptr) z←v6516)+1) ) = var←c9556;
      };
SOURCE(1089, 10)
   z←v6516 = (* (( (ptr) z←v6516)+1) );
   goto lab←L100008;
   lab←L100006: ;
SOURCE(1110, 11)
   return(val←v3912);
   }

static word CopyTopList←P300(list←v4056)
   word list←v4056;
   {
   word var←c4184;
   /* CopyTopList: */ 
SOURCE(1126, 108)
SOURCE(1209, 25)
   return((word) Append←P240(list←v4056, 0));
   }

static word Remove←P360(list←v4328, r←v4356, case←v4384)
   word list←v4328;
   word r←v4356;
   word case←v4384;
   {
   register ptr gf←c10036 =  (ptr) &globalframe;
   word val←v4512;
   word z←v6644 = 0;
   /* Remove: */ 
SOURCE(1239, 352)
SOURCE(1239, 352)
   val←v4512 = 0;
SOURCE(1389, 202)
   lab←L100011: ;
   if ((list←v4328 != 0)) {
      }
   else {
      goto lab←L100009;
      };
SOURCE(1409, 158)
   {
      word pd8;
      pd8 = (* (( (ptr) (* (( (ptr) gf←c10036)+37)/* var←c9428 */  ))+8) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd8 ))))((*  (ptr) list←v4328 ), r←v4356, case←v4384, pd8))) {
SOURCE(1455, 112)
         if ((val←v4512 == 0)) {
SOURCE(1475, 27)
            {
               word var←c9620;
               var←c9620 = XR←NewObject(8, (* (( (ptr) gf←c10036)+4) ));
               (*  (ptr) var←c9620 ) = (*  (ptr) list←v4328 );
               val←v4512 = var←c9620;
               };
SOURCE(1504, 7)
            z←v6644 = val←v4512;
            }
         else {
SOURCE(1522, 33)
            {
               word var←c9652;
               var←c9652 = XR←NewObject(8, (* (( (ptr) gf←c10036)+4) ));
               (*  (ptr) var←c9652 ) = (*  (ptr) list←v4328 );
               (* (( (ptr) var←c9652)+1) ) = (* (( (ptr) z←v6644)+1) );
               (* (( (ptr) z←v6644)+1) ) = var←c9652;
               };
SOURCE(1557, 10)
            z←v6644 = (* (( (ptr) z←v6644)+1) );
            };
         };
      };
SOURCE(1575, 16)
   list←v4328 = (* (( (ptr) list←v4328)+1) );
   goto lab←L100011;
   lab←L100009: ;
SOURCE(1239, 352)
   return(val←v4512);
   }

static word Reverse←P420(list←v4656)
   word list←v4656;
   {
   register ptr gf←c10068 =  (ptr) &globalframe;
   word val←v4784;
   /* Reverse: */ 
SOURCE(1622, 155)
SOURCE(1622, 155)
   val←v4784 = 0;
SOURCE(1712, 65)
   lab←L100014: ;
   if ((list←v4656 != 0)) {
      }
   else {
      goto lab←L100012;
      };
SOURCE(1732, 27)
   {
      word var←c9684;
      var←c9684 = XR←NewObject(8, (* (( (ptr) gf←c10068)+4) ));
      (*  (ptr) var←c9684 ) = (*  (ptr) list←v4656 );
      (* (( (ptr) var←c9684)+1) ) = val←v4784;
      val←v4784 = var←c9684;
      };
SOURCE(1761, 16)
   list←v4656 = (* (( (ptr) list←v4656)+1) );
   goto lab←L100014;
   lab←L100012: ;
SOURCE(1622, 155)
   return(val←v4784);
   }

static word DAppend←P480(l1←v4928, l2←v4956)
   word l1←v4928;
   word l2←v4956;
   {
   word val←v5084;
   /* DAppend: */ 
SOURCE(1791, 212)
SOURCE(1791, 212)
   val←v5084 = 0;
SOURCE(1877, 27)
   if ((l1←v4928 == 0)) {
SOURCE(1894, 10)
      return(l2←v4956);
      };
SOURCE(1906, 27)
   if ((l2←v4956 == 0)) {
SOURCE(1923, 10)
      return(l1←v4928);
      };
SOURCE(1935, 8)
   val←v5084 = l1←v4928;
SOURCE(1945, 35)
   lab←L100017: ;
   if (((* (( (ptr) l1←v4928)+1) ) != 0)) {
      }
   else {
      goto lab←L100015;
      };
SOURCE(1968, 12)
   l1←v4928 = (* (( (ptr) l1←v4928)+1) );
   goto lab←L100017;
   lab←L100015: ;
SOURCE(1991, 12)
   (* (( (ptr) l1←v4928)+1) ) = l2←v4956;
SOURCE(1791, 212)
   return(val←v5084);
   }

static word DReverse←P540(list←v5228)
   word list←v5228;
   {
   word var←c5356;
   word l1←v6772 = 0;
   word l2←v6800 = 0;
   word l3←v6828 = 0;
   /* DReverse: */ 
SOURCE(2008, 241)
SOURCE(2125, 30)
   if ((list←v5228 == 0)) {
SOURCE(2144, 11)
      return(0);
      };
SOURCE(2157, 9)
   l3←v6828 = list←v5228;
SOURCE(2168, 60)
   lab←L100020: ;
   l1←v6772 = l3←v6828;
   if ((l3←v6828 != 0)) {
      }
   else {
      goto lab←L100018;
      };
SOURCE(2193, 12)
   l3←v6828 = (* (( (ptr) l3←v6828)+1) );
SOURCE(2207, 12)
   (* (( (ptr) l1←v6772)+1) ) = l2←v6800;
SOURCE(2221, 7)
   l2←v6800 = l1←v6772;
   goto lab←L100020;
   lab←L100018: ;
SOURCE(2239, 10)
   return(l2←v6800);
   }

static word DRemove←P600(list←v5500, r←v5528, case←v5556)
   word list←v5500;
   word r←v5528;
   word case←v5556;
   {
   register ptr gf←c10100 =  (ptr) &globalframe;
   word var←c5684;
   word l←v6956 = 0;
   word l1←v6984 = 0;
   /* DRemove: */ 
SOURCE(2254, 352)
SOURCE(2398, 8)
   l←v6956 = list←v5500;
SOURCE(2408, 174)
   lab←L100023: ;
   if ((l←v6956 != 0)) {
      }
   else {
      goto lab←L100021;
      };
SOURCE(2425, 134)
   {
      word pd9;
      pd9 = (* (( (ptr) (* (( (ptr) gf←c10100)+37)/* var←c9428 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd9 ))))((*  (ptr) l←v6956 ), r←v5528, case←v5556, pd9))) {
SOURCE(2464, 31)
         if ((l1←v6984 == 0)) {
SOURCE(2481, 14)
            return((* (( (ptr) l←v6956)+1) ));
            };
SOURCE(2529, 16)
         (* (( (ptr) l1←v6984)+1) ) = (* (( (ptr) l←v6956)+1) );
SOURCE(2547, 12)
         return(list←v5500);
         };
      };
SOURCE(2564, 6)
   l1←v6984 = l←v6956;
SOURCE(2572, 10)
   l←v6956 = (* (( (ptr) l←v6956)+1) );
   goto lab←L100023;
   lab←L100021: ;
SOURCE(2593, 13)
   return(list←v5500);
   }

static word Length←P660(list←v5828)
   word list←v5828;
   {
   word length←v5956;
   /* Length: */ 
SOURCE(2611, 158)
SOURCE(2611, 158)
   length←v5956 = 0;
SOURCE(2687, 57)
   lab←L100026: ;
   if ((list←v5828 != 0)) {
      }
   else {
      goto lab←L100024;
      };
SOURCE(2707, 19)
   length←v5956 = (length←v5956 + 1);
SOURCE(2728, 16)
   list←v5828 = (* (( (ptr) list←v5828)+1) );
   goto lab←L100026;
   lab←L100024: ;
SOURCE(2755, 14)
   return(length←v5956);
   }

static void Map←P720(list←v6016, proc←v6044)
   word list←v6016;
   word proc←v6044;
   {
   /* Map: */ 
SOURCE(2774, 125)
SOURCE(2845, 54)
   lab←L100029: ;
   if ((list←v6016 != 0)) {
      }
   else {
      goto lab←L100027;
      };
SOURCE(2865, 16)
   (void) ( *( (fPt) ((*  (ptr) proc←v6044 ))))((*  (ptr) (list←v6016) ), proc←v6044);
SOURCE(2883, 16)
   list←v6016 = (* (( (ptr) list←v6016)+1) );
   goto lab←L100029;
   lab←L100027: ;
   }

static word Sort←P780(list←v6248, compareProc←v6276)
   word list←v6248;
   word compareProc←v6276;
   {
   register ptr gf←c10132 =  (ptr) &globalframe;
   word var←c6404;
   word a←v7112 = 0;
   word b←v7140 = 0;
   word mergeTo←v7168 = 0;
   word mergeToCons←v7196;
   W22 lists←v7252;
   word x←v7280;
   word xMax←v7308 = 0;
   /* Sort: */ 
SOURCE(2913, 1558)
SOURCE(3049, 13)
   mergeToCons←v7196 = XR←NewObject(8, (* (( (ptr) gf←c10132)+4) ));
SOURCE(3165, 25)
   XR←FillWords(&lists←v7252, 22, 0);
SOURCE(3277, 660)
   lab←L100032: ;
   {
      word tc10;
      a←v7112 = list←v6248;
      if ((list←v6248 != 0)) {
         b←v7140 = (* (( (ptr) a←v7112)+1) );
         tc10 =  (word) (b←v7140 != 0);
         }
      else {
         tc10 =  (word) 0;
         };
      if (tc10) {
         }
      else {
         goto lab←L100030;
         };
      };
SOURCE(3325, 13)
   list←v6248 = (* (( (ptr) b←v7140)+1) );
SOURCE(3340, 113)
   if (((word) ( *( (fPt) ((*  (ptr) compareProc←v6276 ))))((*  (ptr) a←v7112 ), (*  (ptr) b←v7140 ), compareProc←v6276) == 0)) {
SOURCE(3387, 10)
      (* (( (ptr) a←v7112)+1) ) = b←v7140;
SOURCE(3399, 12)
      (* (( (ptr) b←v7140)+1) ) = 0;
      }
   else {
SOURCE(3422, 10)
      (* (( (ptr) b←v7140)+1) ) = a←v7112;
SOURCE(3434, 12)
      (* (( (ptr) a←v7112)+1) ) = 0;
SOURCE(3448, 5)
      a←v7112 = b←v7140;
      };
SOURCE(3458, 5)
   x←v7280 = 0;
SOURCE(3465, 472)
   lab←L100035: ;
SOURCE(3468, 469)
   b←v7140 = (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) );
   if ((b←v7140 == 0)) {
SOURCE(3499, 12)
      (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) ) = a←v7112;
SOURCE(3513, 5)
      goto lab←L100034;
      }
   else {
SOURCE(3564, 14)
      (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) ) = 0;
SOURCE(3580, 21)
      mergeTo←v7168 = mergeToCons←v7196;
SOURCE(3603, 245)
      lab←L100038: ;
SOURCE(3628, 220)
      if (((word) ( *( (fPt) ((*  (ptr) compareProc←v6276 ))))((*  (ptr) a←v7112 ), (*  (ptr) b←v7140 ), compareProc←v6276) == 0)) {
SOURCE(3675, 16)
         (* (( (ptr) mergeTo←v7168)+1) ) = a←v7112;
SOURCE(3694, 11)
         mergeTo←v7168 = a←v7112;
SOURCE(3707, 45)
         a←v7112 = (* (( (ptr) a←v7112)+1) );
         if ((a←v7112 == 0)) {
SOURCE(3736, 16)
            (* (( (ptr) mergeTo←v7168)+1) ) = b←v7140;
SOURCE(3754, 5)
            goto lab←L100037;
            };
         }
      else {
SOURCE(3771, 16)
         (* (( (ptr) mergeTo←v7168)+1) ) = b←v7140;
SOURCE(3790, 11)
         mergeTo←v7168 = b←v7140;
SOURCE(3803, 45)
         b←v7140 = (* (( (ptr) b←v7140)+1) );
         if ((b←v7140 == 0)) {
SOURCE(3832, 16)
            (* (( (ptr) mergeTo←v7168)+1) ) = a←v7112;
SOURCE(3850, 5)
            goto lab←L100037;
            };
         };
      goto lab←L100038;
      lab←L100037: ;
SOURCE(3868, 20)
      a←v7112 = (* (( (ptr) mergeToCons←v7196)+1) );
SOURCE(3890, 7)
      x←v7280 = (x←v7280 + 1);
SOURCE(3899, 38)
      {
         word tc11;
         if ((x←v7280 > xMax←v7308)) {
            xMax←v7308 = x←v7280;
            tc11 =  (word) (x←v7280 == 22);
            }
         else {
            tc11 =  (word) 0;
            };
         if (tc11) {
SOURCE(3937, 6)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   goto lab←L100035;
   lab←L100034: ;
   goto lab←L100032;
   lab←L100030: ;
SOURCE(3964, 5)
   x←v7280 = 0;
SOURCE(3971, 113)
   if ((a←v7112 == 0)) {
SOURCE(3989, 53)
      lab←L100041: ;
      if ( ( ((* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) ) == 0) ? (x←v7280 != xMax←v7308) : 0 ) ) {
         }
      else {
         goto lab←L100039;
         };
SOURCE(4027, 15)
      x←v7280 = (x←v7280 + 1);
      goto lab←L100041;
      lab←L100039: ;
SOURCE(4044, 12)
      a←v7112 = (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) );
SOURCE(4059, 14)
      (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) ) = 0;
SOURCE(4076, 8)
      x←v7280 = (x←v7280 + 1);
      };
SOURCE(4087, 362)
   lab←L100044: ;
   if ((x←v7280 <= xMax←v7308)) {
      }
   else {
      goto lab←L100042;
      };
SOURCE(4105, 334)
   b←v7140 = (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) );
   if ((b←v7140 != 0)) {
SOURCE(4136, 14)
      (* (( (ptr) &lists←v7252)+BCK(x←v7280, 22)) ) = 0;
SOURCE(4152, 21)
      mergeTo←v7168 = mergeToCons←v7196;
SOURCE(4175, 223)
      lab←L100047: ;
SOURCE(4178, 220)
      if (((word) ( *( (fPt) ((*  (ptr) compareProc←v6276 ))))((*  (ptr) a←v7112 ), (*  (ptr) b←v7140 ), compareProc←v6276) == 0)) {
SOURCE(4225, 16)
         (* (( (ptr) mergeTo←v7168)+1) ) = a←v7112;
SOURCE(4244, 11)
         mergeTo←v7168 = a←v7112;
SOURCE(4257, 45)
         a←v7112 = (* (( (ptr) a←v7112)+1) );
         if ((a←v7112 == 0)) {
SOURCE(4286, 16)
            (* (( (ptr) mergeTo←v7168)+1) ) = b←v7140;
SOURCE(4304, 5)
            goto lab←L100046;
            };
         }
      else {
SOURCE(4321, 16)
         (* (( (ptr) mergeTo←v7168)+1) ) = b←v7140;
SOURCE(4340, 11)
         mergeTo←v7168 = b←v7140;
SOURCE(4353, 45)
         b←v7140 = (* (( (ptr) b←v7140)+1) );
         if ((b←v7140 == 0)) {
SOURCE(4382, 16)
            (* (( (ptr) mergeTo←v7168)+1) ) = a←v7112;
SOURCE(4400, 5)
            goto lab←L100046;
            };
         };
      goto lab←L100047;
      lab←L100046: ;
SOURCE(4418, 21)
      a←v7112 = (* (( (ptr) mergeToCons←v7196)+1) );
      };
SOURCE(4442, 7)
   x←v7280 = (x←v7280 + 1);
   goto lab←L100044;
   lab←L100042: ;
SOURCE(4460, 11)
   return(a←v7112);
   }

static word Compare←P840(r1←v8568, r2←v8596)
   word r1←v8568;
   word r2←v8596;
   {
   register ptr gf←c10164 =  (ptr) &globalframe;
   word var←c8640;
   /* Compare: */ 
SOURCE(4474, 81)
SOURCE(4506, 49)
   {
      word pd12;
      pd12 = (* (( (ptr) (* (( (ptr) gf←c10164)+37)/* var←c9428 */  ))+7) );
      return((word) ( *( (fPt) ((*  (ptr) pd12 ))))(r1←v8568, r2←v8596, 1, pd12));
      };
   }

static word IgnoreCase←P900(r1←v8700, r2←v8728)
   word r1←v8700;
   word r2←v8728;
   {
   register ptr gf←c10196 =  (ptr) &globalframe;
   word var←c8772;
   /* IgnoreCase: */ 
SOURCE(4560, 84)
SOURCE(4594, 50)
   {
      word pd13;
      pd13 = (* (( (ptr) (* (( (ptr) gf←c10196)+37)/* var←c9428 */  ))+7) );
      return((word) ( *( (fPt) ((*  (ptr) pd13 ))))(r1←v8700, r2←v8728, 0, pd13));
      };
   }

/* file: RopeListImpl, module: RopeListImpl, compiled at: February 21, 1992 11:09:36 pm PST */ 
extern void XR←install←RopeListImpl() {
   NoName←Q960();
   }
extern void XR←run←RopeListImpl() { XR←Start(&globalframe); }