/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 11, 1993 8:07:36 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGPropsImpl, module: GGPropsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3032841484,4060125307] GGPropsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q2292();
static void GGPropsImpl←P0();
static void Put←P60();
static word DoPut←P1380();
static void PutAll←P120();
static word DoPut←P1440();
static void Get←P180();
static word DoGet←P1500();
static word Rem←P240();
static word DoRem←P1560();
static word Copy←P300();
static word Walk←P360();
static word DoMap←P1620();
static word DoWalk←P1680();
static void Kill←P420();
static word DoKill←P1740();
static void CopyAll←P480();
static word DoCopyProc←P1800();
static void ToRope←P540();
static word NoName←Q2352();
static word FromRope←P600();
static word NoName←Q2412();
static word NoName←Q2472();
static void Register←P660();
static void Init←P720();
static word IdentityCopy←P780();
static void RegisterTestProcs←P840();
static word FileInInt←P900();
static word FileOutInt←P960();
static word FileInReal←P1020();
static word FileOutReal←P1080();
static word FileInAtom←P1140();
static word FileOutAtom←P1200();
static word FileInRope←P1260();
static word FileOutRope←P1320();
static void NoName←Q2532();
static void NoName←Q2592();
static void NoName←Q2652();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\264\305\175\014\300\362\000\230\173\101\114\000\000"};
static struct {unsigned f; char r[4];} string2 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string4 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[4];} string5 = {65540, "\242\000\000"};
static struct {unsigned f; char r[4];} string6 = {65540, "\241\000\000"};
static struct {unsigned f; char r[4];} string7 = {65540, "\256\000\000"};
static struct {unsigned f; char r[4];} string8 = {65540, "\232\000\000"};
static struct {unsigned f; char r[16];} string9 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string10 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string12 = {196612, "int"};
static struct {unsigned f; char r[8];} string13 = {262152, "real\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {262152, "atom\000\000\000"};
static struct {unsigned f; char r[60];} string15 = {3670076, "BeKindToYourWebFootedFriendsForADuckMayBeSomebodysMother\000\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\264\305\175\014\300\362\000\230\173\100\164\000\000"};
static struct {unsigned f; char r[16];} string17 = {786444, "\006\004\040\001\044\001\050\001\100\130\004\017\000\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\240\236\274\171\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"};
static struct {
   word f0[26]; word f26; word f27; word f28; 
   word f29; word f30; word f31; word f32; 
   word f33; word f34; word f35; word f36; 
   word f37; word f38; word f39; word f40; 
   word f41; word f42; word f43; word f44; 
   word f45; word f46; word f47; word f48; 
   word f49; word f50; word f51; word f52; 
   word f53; word f54; word f55; word f56; 
   word f57; word f58; word f59; word f60; 
   word f61; word f62; word f63; word f64; 
   word f65; word f66; word f67; word f68; 
   word f69; word f70; word f71[8]; 
   } globalframe = {
   {0}, (word) FileOutRope←P1320, 0, (word) FileInRope←P1260, 
   0, (word) FileOutAtom←P1200, 0, (word) FileInAtom←P1140, 
   0, (word) FileOutReal←P1080, 0, (word) FileInReal←P1020, 
   0, (word) FileOutInt←P960, 0, (word) FileInInt←P900, 
   0, (word) RegisterTestProcs←P840, 0, (word) IdentityCopy←P780, 
   0, (word) Init←P720, 0, (word) Register←P660, 
   0, (word) FromRope←P600, 0, (word) ToRope←P540, 
   0, (word) CopyAll←P480, 0, (word) Kill←P420, 
   0, (word) Walk←P360, 0, (word) Copy←P300, 
   0, (word) Rem←P240, 0, (word) Get←P180, 
   0, (word) PutAll←P120, 0, (word) Put←P60, 
   0, (word) GGPropsImpl←P0, {0}
   };

static void NoName←Q2292()
   {
   register ptr gf←c0230 =  (ptr) &globalframe;
   word var←c24096;
   (* (( (ptr) gf←c0230)+12) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0230)+13) ) = (word) XR←GetTypeIndexS((word) (&string2));
   (* (( (ptr) gf←c0230)+14) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0230)+15) ) = (word) XR←GetTypeIndexS((word) (&string5));
   (* (( (ptr) gf←c0230)+16) ) = (word) XR←GetTypeIndexS((word) (&string6));
   (* (( (ptr) gf←c0230)+17) ) = (word) XR←GetTypeIndexS((word) (&string7));
   (* (( (ptr) gf←c0230)+18) ) = (word) XR←GetTypeIndexS((word) (&string8));
   (* (( (ptr) gf←c0230)+19) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0230)+21) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string10);
   (*  (ptr) (( (bPt) gf←c0230)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0230)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0230)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0230)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+19) ), (word) &string15);
   (void) XR←DeclareGlobalFrame((word) "GGPropsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17)
      , (word) (( (bPt) gf←c0230)+280)/* var←c22272 */ );
   var←c24096 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string18)), 73);
   (* (( (ptr) gf←c0230)+76)/* var←c23296 */  ) = var←c24096;
   (void) XR←ImportProcS(var←c24096, 67374593);
   (void) XR←ImportProcS(var←c24096, 67638530);
   (void) XR←ImportProcS(var←c24096, 67373057);
   (void) XR←ImportProcS(var←c24096, 67634690);
   (void) XR←ImportProcS(var←c24096, 67379201);
   (void) XR←ImportProcS(var←c24096, 67902211);
   (void) XR←ImportProcS(var←c24096, 67901443);
   (void) XR←ImportProcS(var←c24096, 67901187);
   (void) XR←ImportProcS(var←c24096, 67641602);
   var←c24096 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string19)), 83);
   (* (( (ptr) gf←c0230)+73)/* var←c22400 */  ) = var←c24096;
   (void) XR←ImportProcS(var←c24096, 68437509);
   (void) XR←ImportProcS(var←c24096, 67386113);
   var←c24096 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string20)), 73);
   (* (( (ptr) gf←c0230)+72)/* var←c22368 */  ) = var←c24096;
   (void) XR←ImportProcS(var←c24096, 67371521);
   var←c24096 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string21)), 103);
   (* (( (ptr) gf←c0230)+77)/* var←c23488 */  ) = var←c24096;
   (void) XR←ImportProcS(var←c24096, 1071364);
   (void) XR←ImportProcS(var←c24096, 67917827);
   (void) XR←ImportProcS(var←c24096, 67389697);
   (void) XR←ImportProcS(var←c24096, 67388929);
   (void) XR←ImportProcS(var←c24096, 799490);
   (void) XR←ImportProcS(var←c24096, 67388417);
   (void) XR←ImportProcS(var←c24096, 67373825);
   (void) XR←ImportProcS(var←c24096, 201868034);
   (void) XR←ImportProcS(var←c24096, 67640578);
   (void) XR←ImportProcS(var←c24096, 67641090);
   (void) XR←ImportProcS(var←c24096, 67378689);
   var←c24096 = (word) XR←ImportInterface((word) "Prop", (word) XR←GetTypeIndexS((word) (&string22)), 4);
   (* (( (ptr) gf←c0230)+74)/* var←c22464 */  ) = var←c24096;
   (void) XR←ImportProcS(var←c24096, 67633922);
   (void) XR←ImportProcS(var←c24096, 67633666);
   (void) XR←ImportProcS(var←c24096, 67633410);
   (void) XR←ImportProcS(var←c24096, 67895299);
   var←c24096 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string23)), 16);
   (* (( (ptr) gf←c0230)+75)/* var←c22752 */  ) = var←c24096;
   (void) XR←ImportProcS(var←c24096, 67895555);
   (void) XR←ImportProcS(var←c24096, 67896579);
   (void) XR←ImportProcS(var←c24096, 134742786);
   var←c24096 = (word) XR←ExportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string24)), 11);
   (* (( (ptr) gf←c0230)+78)/* var←c24128 */  ) = var←c24096;
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+272)/* var←c22240 */ , 1048580, (word) "Put");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+256)/* var←c22176 */ , 135004419, (word) "Get");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+248)/* var←c22144 */ , 67895811, (word) "Rem");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+240)/* var←c22112 */ , 67633922, (word) "Copy");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+232)/* var←c22080 */ , 67896323, (word) "Walk");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+224)/* var←c22048 */ , 525570, (word) "Kill");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+216)/* var←c22016 */ , 1050116, (word) "CopyAll");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+208)/* var←c21984 */ , 134743810, (word) "ToRope");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+200)/* var←c21952 */ , 67635202, (word) "FromRope");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+176)/* var←c21856 */ , 67373313, (word) "IdentityCopy");
   (void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+192)/* var←c21920 */ , 1051140, (word) "Register");
   }

static void GGPropsImpl←P0(formal←c045, formal←c044)
   word formal←c045;
   word formal←c044;
   {
   /* GGPropsImpl: */ 
SOURCE(90, 7701)
SOURCE(7764, 6)
   (void) Init←P720();
SOURCE(7772, 19)
   (void) RegisterTestProcs←P840();
   }

static void Put←P60(slice←v3948, parts←v3976, formal←c0296, formal←c0297)
   word slice←v3948;
   word parts←v3976;
   word formal←c0296;
   word formal←c0297;
   {
   W8 var←c24160;
   /* declaration of key←v4004 skipped */ 
   /* declaration of val←v4032 skipped */ 
   register ptr gf←c24192 =  (ptr) &globalframe;
   /* declaration of var←c22304 skipped */ 
   word var←c22336;
   var←c24160.f4/* key←v4004 */  = formal←c0296;
   var←c24160.f5/* val←v4032 */  = formal←c0297;
   /* Put: */ 
SOURCE(570, 4969)
   {
      word tmpAddr25;
      tmpAddr25 = (word) (( (ptr) &var←c24160)+6)/* var←c22304 */ ;
      (*  (ptr) tmpAddr25 ) = ( ((word)  (fPt) DoPut←P1380) );
      (* (( (ptr) tmpAddr25) + 1) ) = 1;
      };
SOURCE(781, 4758)
   {
      word pd27;
      {
         word pd26;
         pd26 = (* (( (ptr) (* (( (ptr) gf←c24192)+72)/* var←c22368 */  ))+6) );
         var←c22336 = (word) ( *( (fPt) ((*  (ptr) pd26 ))))(slice←v3948, pd26);
         };
      pd27 = (* (( (ptr) (* (( (ptr) gf←c24192)+73)/* var←c22400 */  ))+63) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd27 ))))(var←c22336, pd27))) {
SOURCE(838, 4701)
         {
            word var←c22432;
            word pd28;
            pd28 = (* (( (ptr) (* (( (ptr) gf←c24192)+73)/* var←c22400 */  ))+74) );
            var←c22432 = (word) ( *( (fPt) ((*  (ptr) pd28 ))))(slice←v3948, parts←v3976, 1, (word) (( (bPt) &var←c24160)+24)/* var←c22304 */ , 0, pd28)
            ;
            };
         }
      else {
SOURCE(905, 4634)
         {
            word pd29;
            pd29 = (* (( (ptr) (* (( (ptr) gf←c24192)+74)/* var←c22464 */  ))+4) );
            (* (( (ptr) slice←v3948)+22) ) = (word) ( *( (fPt) ((*  (ptr) pd29 ))))((* (( (ptr) slice←v3948)+22) ), var←c24160.f4/* key←v4004 */ , var←c24160.f5/* val←v4032 */ , pd29)
            ;
            };
         };
      };
   }

static word DoPut←P1380(sliceD←v5780, formal←c24256)
   word sliceD←v5780;
   word formal←c24256;
   {
   register ptr gf←c24224 =  (ptr) &globalframe;
   word done←v5824;
   formal←c24256 = (formal←c24256 - 24);
   /* DoPut: */ 
SOURCE(646, 4893)
SOURCE(646, 4893)
   done←v5824 = 0;
SOURCE(717, 4822)
   {
      word pd30;
      pd30 = (* (( (ptr) (* (( (ptr) gf←c24224)+74)/* var←c22464 */  ))+4) );
      (* (( (ptr) (*  (ptr) sliceD←v5780 ))+22) ) = (word) ( *( (fPt) ((*  (ptr) pd30 ))))((* (( (ptr) (*  (ptr) sliceD←v5780 ))+22)
          ), (* (( (ptr) formal←c24256)+4) ), (* (( (ptr) formal←c24256)+5) ), pd30);
      };
SOURCE(646, 4893)
   return(done←v5824);
   }

static void PutAll←P120(slice←v4108, parts←v4136, formal←c0298)
   word slice←v4108;
   word parts←v4136;
   word formal←c0298;
   {
   W7 var←c24288;
   /* declaration of props←v4164 skipped */ 
   register ptr gf←c24320 =  (ptr) &globalframe;
   /* declaration of var←c22496 skipped */ 
   word var←c22528;
   var←c24288.f4/* props←v4164 */  = formal←c0298;
   /* PutAll: */ 
SOURCE(955, 4584)
   {
      word tmpAddr31;
      tmpAddr31 = (word) (( (ptr) &var←c24288)+5)/* var←c22496 */ ;
      (*  (ptr) tmpAddr31 ) = ( ((word)  (fPt) DoPut←P1440) );
      (* (( (ptr) tmpAddr31) + 1) ) = 1;
      };
SOURCE(1130, 4409)
   {
      word pd33;
      {
         word pd32;
         pd32 = (* (( (ptr) (* (( (ptr) gf←c24320)+72)/* var←c22368 */  ))+6) );
         var←c22528 = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(slice←v4108, pd32);
         };
      pd33 = (* (( (ptr) (* (( (ptr) gf←c24320)+73)/* var←c22400 */  ))+63) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd33 ))))(var←c22528, pd33))) {
SOURCE(1187, 4352)
         {
            word var←c22560;
            word pd34;
            pd34 = (* (( (ptr) (* (( (ptr) gf←c24320)+73)/* var←c22400 */  ))+74) );
            var←c22560 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(slice←v4108, parts←v4136, 1, (word) (( (bPt) &var←c24288)+20)/* var←c22496 */ , 0, pd34)
            ;
            };
         }
      else {
SOURCE(1254, 19)
         (* (( (ptr) slice←v4108)+22) ) = var←c24288.f4/* props←v4164 */ ;
         };
      };
   }

static word DoPut←P1440(sliceD←v5928, formal←c24352)
   word sliceD←v5928;
   word formal←c24352;
   {
   word done←v5972;
   formal←c24352 = (formal←c24352 - 20);
   /* DoPut: */ 
SOURCE(1028, 97)
SOURCE(1028, 97)
   done←v5972 = 0;
SOURCE(1099, 26)
   (* (( (ptr) (*  (ptr) sliceD←v5928 ))+22) ) = (* (( (ptr) formal←c24352)+4) );
SOURCE(1028, 97)
   return(done←v5972);
   }

static void Get←P180(formal←c071, slice←v4224, parts←v4252, formal←c0299)
   word formal←c071;
   word slice←v4224;
   word parts←v4252;
   word formal←c0299;
   {
   W9 var←c24384;
   /* declaration of key←v4280 skipped */ 
   register ptr gf←c24416 =  (ptr) &globalframe;
   /* declaration of val←v4324 skipped */ 
   word isUnique←v4352;
   /* declaration of var←c22592 skipped */ 
   /* declaration of found←v6000 skipped */ 
   word var←c22624;
   (* (( (ptr) &var←c24384)+4)/* key←v4280 */  ) = formal←c0299;
   /* Get: */ 
SOURCE(1278, 4261)
   {
      word tmpAddr35;
      tmpAddr35 = (word) (( (ptr) &var←c24384)+6)/* var←c22592 */ ;
      (*  (ptr) tmpAddr35 ) = ( ((word)  (fPt) DoGet←P1500) );
      (* (( (ptr) tmpAddr35) + 1) ) = 1;
      };
SOURCE(1278, 4261)
   (* (( (ptr) &var←c24384)+5)/* val←v4324 */  ) = 0;
SOURCE(1278, 4261)
   isUnique←v4352 = 1;
SOURCE(1386, 19)
   (* (( (ptr) &var←c24384)+8)/* found←v6000 */  ) = 0;
SOURCE(1728, 3811)
   {
      word pd37;
      {
         word pd36;
         pd36 = (* (( (ptr) (* (( (ptr) gf←c24416)+72)/* var←c22368 */  ))+6) );
         var←c22624 = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(slice←v4224, pd36);
         };
      pd37 = (* (( (ptr) (* (( (ptr) gf←c24416)+73)/* var←c22400 */  ))+63) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd37 ))))(var←c22624, pd37))) {
SOURCE(1785, 3754)
         {
            word pd38;
            pd38 = (* (( (ptr) (* (( (ptr) gf←c24416)+73)/* var←c22400 */  ))+74) );
            isUnique←v4352 =  (unsigned) (0 == (word) ( *( (fPt) ((*  (ptr) pd38 ))))(slice←v4224, parts←v4252, 1, (word) (( (bPt) &var←c24384)+24)
               /* var←c22592 */ , 0, pd38));
            };
         }
      else {
SOURCE(1862, 3677)
         {
            word pd39;
            pd39 = (* (( (ptr) (* (( (ptr) gf←c24416)+74)/* var←c22464 */  ))+5) );
            (* (( (ptr) &var←c24384)+5)/* val←v4324 */  ) = (word) ( *( (fPt) ((*  (ptr) pd39 ))))((* (( (ptr) slice←v4224)+22) ), (* (
                  ( (ptr) &var←c24384)+4)/* key←v4280 */  ), pd39);
            };
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c071 ) = (* (( (ptr) &var←c24384)+5)/* val←v4324 */  );
   (* (( (ptr) formal←c071)+1) ) = isUnique←v4352;
   return;
   }

static word DoGet←P1500(sliceD←v6104, formal←c24480)
   word sliceD←v6104;
   word formal←c24480;
   {
   register ptr gf←c24448 =  (ptr) &globalframe;
   word done←v6148;
   word thisVal←v6176;
   formal←c24480 = (formal←c24480 - 24);
   /* DoGet: */ 
SOURCE(1407, 4132)
SOURCE(1407, 4132)
   done←v6148 = 0;
SOURCE(1478, 48)
   {
      word pd40;
      pd40 = (* (( (ptr) (* (( (ptr) gf←c24448)+74)/* var←c22464 */  ))+5) );
      thisVal←v6176 = (word) ( *( (fPt) ((*  (ptr) pd40 ))))((* (( (ptr) (*  (ptr) sliceD←v6104 ))+22) ), (* (( (ptr) formal←c24480)+4)
          ), pd40);
      };
SOURCE(1556, 160)
   if ((thisVal←v6176 != 0)) {
SOURCE(1615, 101)
      if ( ( (0 != (* (( (ptr) formal←c24480)+8) )) ? (thisVal←v6176 != (* (( (ptr) formal←c24480)+5) )) : 0 ) ) {
SOURCE(1645, 18)
         return(1);
         }
      else {
SOURCE(1665, 13)
         (* (( (ptr) formal←c24480)+5) ) = thisVal←v6176;
SOURCE(1704, 12)
         (* (( (ptr) formal←c24480)+8) ) = 1;
         };
      };
SOURCE(1407, 4132)
   return(done←v6148);
   }

static word Rem←P240(slice←v4424, parts←v4452, formal←c0300)
   word slice←v4424;
   word parts←v4452;
   word formal←c0300;
   {
   W10 var←c24512;
   /* declaration of key←v4480 skipped */ 
   register ptr gf←c24544 =  (ptr) &globalframe;
   /* declaration of isUnique←v4524 skipped */ 
   /* declaration of var←c22656 skipped */ 
   /* declaration of val←v6232 skipped */ 
   /* declaration of found←v6260 skipped */ 
   word var←c22688;
   (* (( (ptr) &var←c24512)+4)/* key←v4480 */  ) = formal←c0300;
   /* Rem: */ 
SOURCE(1899, 3640)
   {
      word tmpAddr41;
      tmpAddr41 = (word) (( (ptr) &var←c24512)+6)/* var←c22656 */ ;
      (*  (ptr) tmpAddr41 ) = ( ((word)  (fPt) DoRem←P1560) );
      (* (( (ptr) tmpAddr41) + 1) ) = 1;
      };
SOURCE(1899, 3640)
   (* (( (ptr) &var←c24512)+5)/* isUnique←v4524 */  ) = 1;
SOURCE(1997, 8)
   (* (( (ptr) &var←c24512)+8)/* val←v6232 */  ) = 0;
SOURCE(2007, 19)
   (* (( (ptr) &var←c24512)+9)/* found←v6260 */  ) = 0;
SOURCE(2432, 3107)
   {
      word pd43;
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c24544)+72)/* var←c22368 */  ))+6) );
         var←c22688 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))(slice←v4424, pd42);
         };
      pd43 = (* (( (ptr) (* (( (ptr) gf←c24544)+73)/* var←c22400 */  ))+63) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd43 ))))(var←c22688, pd43))) {
SOURCE(2489, 3050)
         {
            word var←c22720;
            word pd44;
            pd44 = (* (( (ptr) (* (( (ptr) gf←c24544)+73)/* var←c22400 */  ))+74) );
            var←c22720 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))(slice←v4424, parts←v4452, 1, (word) (( (bPt) &var←c24512)+24)/* var←c22656 */ , 0, pd44)
            ;
            };
         }
      else {
SOURCE(2556, 2983)
         {
            word pd45;
            pd45 = (* (( (ptr) (* (( (ptr) gf←c24544)+74)/* var←c22464 */  ))+6) );
            (* (( (ptr) slice←v4424)+22) ) = (word) ( *( (fPt) ((*  (ptr) pd45 ))))((* (( (ptr) slice←v4424)+22) ), (* (( (ptr) &var←c24512)+4)
               /* key←v4480 */  ), pd45);
            };
         };
      };
SOURCE(1899, 3640)
   return((* (( (ptr) &var←c24512)+5)/* isUnique←v4524 */  ));
   }

static word DoRem←P1560(sliceD←v6376, formal←c24608)
   word sliceD←v6376;
   word formal←c24608;
   {
   register ptr gf←c24576 =  (ptr) &globalframe;
   word done←v6420;
   word thisVal←v6448;
   formal←c24608 = (formal←c24608 - 24);
   /* DoRem: */ 
SOURCE(2028, 3511)
SOURCE(2028, 3511)
   done←v6420 = 0;
SOURCE(2099, 48)
   {
      word pd46;
      pd46 = (* (( (ptr) (* (( (ptr) gf←c24576)+74)/* var←c22464 */  ))+5) );
      thisVal←v6448 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) (*  (ptr) sliceD←v6376 ))+22) ), (* (( (ptr) formal←c24608)+4)
          ), pd46);
      };
SOURCE(2177, 3362)
   if ((thisVal←v6448 != 0)) {
SOURCE(2199, 3340)
      {
         word pd47;
         pd47 = (* (( (ptr) (* (( (ptr) gf←c24576)+74)/* var←c22464 */  ))+6) );
         (* (( (ptr) (*  (ptr) sliceD←v6376 ))+22) ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) (*  (ptr) sliceD←v6376 ))+22)
             ), (* (( (ptr) formal←c24608)+4) ), pd47);
         };
SOURCE(2278, 142)
      if ( ( (0 != (* (( (ptr) formal←c24608)+9) )) ? (thisVal←v6448 != (* (( (ptr) formal←c24608)+8) )) : 0 ) ) {
SOURCE(2308, 59)
         (* (( (ptr) formal←c24608)+5) ) = 0;
         }
      else {
SOURCE(2369, 13)
         (* (( (ptr) formal←c24608)+8) ) = thisVal←v6448;
SOURCE(2408, 12)
         (* (( (ptr) formal←c24608)+9) ) = 1;
         };
      };
SOURCE(2028, 3511)
   return(done←v6420);
   }

static word Copy←P300(key←v4584, val←v4612)
   word key←v4584;
   word val←v4612;
   {
   register ptr gf←c24640 =  (ptr) &globalframe;
   word copy←v4668;
   word tableEntry←v6504 = 0;
   word gtEntry←v6532 = 0;
   word found←v6560 = 0;
   /* Copy: */ 
SOURCE(2601, 2938)
SOURCE(2601, 2938)
   copy←v4668 = 0;
SOURCE(2722, 2817)
   {
      W2 var←c22784;
      {
         word pd48;
         pd48 = (* (( (ptr) (* (( (ptr) gf←c24640)+75)/* var←c22752 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd48 ))))((word) &var←c22784, (* (( (ptr) gf←c24640)+8)/* gt←v3812 */  ), key←v4584, pd48);
         };
      tableEntry←v6504 = var←c22784.f1;
      found←v6560 = var←c22784.f0;
      };
SOURCE(2767, 2772)
   if ((0 != found←v6560)) {
SOURCE(2783, 28)
      gtEntry←v6532 = XR←Narrow(tableEntry←v6504, (* (( (ptr) gf←c24640)+12) ));
SOURCE(2813, 2726)
      if (((* (( (ptr) gtEntry←v6532)+2) ) == 0)) {
SOURCE(2838, 16)
         copy←v4668 = val←v4612;
         }
      else {
SOURCE(2854, 2685)
         {
            word pd49;
            pd49 = (* (( (ptr) gtEntry←v6532)+2) );
            copy←v4668 = (word) ( *( (fPt) ((*  (ptr) pd49 ))))(val←v4612, pd49);
            };
         };
      }
   else {
SOURCE(2887, 10)
      copy←v4668 = val←v4612;
      };
SOURCE(2601, 2938)
   return(copy←v4668);
   }

static word Walk←P360(slice←v4740, parts←v4768, formal←c0301)
   word slice←v4740;
   word parts←v4768;
   word formal←c0301;
   {
   W9 var←c24672;
   /* declaration of walkProc←v4796 skipped */ 
   register ptr gf←c24704 =  (ptr) &globalframe;
   word aborted←v4840;
   /* declaration of var←c22816 skipped */ 
   /* declaration of var←c22848 skipped */ 
   word var←c22880;
   (* (( (ptr) &var←c24672)+4)/* walkProc←v4796 */  ) = formal←c0301;
   /* Walk: */ 
SOURCE(2903, 2636)
   {
      word tmpAddr50;
      tmpAddr50 = (word) (( (ptr) &var←c24672)+5)/* var←c22816 */ ;
      (*  (ptr) tmpAddr50 ) = ( ((word)  (fPt) DoWalk←P1680) );
      (* (( (ptr) tmpAddr50) + 1) ) = 1;
      };
   {
      word tmpAddr51;
      tmpAddr51 = (word) (( (ptr) &var←c24672)+7)/* var←c22848 */ ;
      (*  (ptr) tmpAddr51 ) = ( ((word)  (fPt) DoMap←P1620) );
      (* (( (ptr) tmpAddr51) + 1) ) = 1;
      };
SOURCE(2903, 2636)
   aborted←v4840 = 0;
SOURCE(3200, 2339)
   {
      word pd53;
      {
         word pd52;
         pd52 = (* (( (ptr) (* (( (ptr) gf←c24704)+72)/* var←c22368 */  ))+6) );
         var←c22880 = (word) ( *( (fPt) ((*  (ptr) pd52 ))))(slice←v4740, pd52);
         };
      pd53 = (* (( (ptr) (* (( (ptr) gf←c24704)+73)/* var←c22400 */  ))+63) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd53 ))))(var←c22880, pd53))) {
SOURCE(3257, 2282)
         {
            word pd54;
            pd54 = (* (( (ptr) (* (( (ptr) gf←c24704)+73)/* var←c22400 */  ))+74) );
            aborted←v4840 = (word) ( *( (fPt) ((*  (ptr) pd54 ))))(slice←v4740, parts←v4768, 1, (word) (( (bPt) &var←c24672)+20)/* var←c22816 */ , 0, pd54)
            ;
            };
         }
      else {
SOURCE(3330, 2209)
         {
            word pd55;
            pd55 = (* (( (ptr) (* (( (ptr) gf←c24704)+74)/* var←c22464 */  ))+7) );
            aborted←v4840 = (word) ( *( (fPt) ((*  (ptr) pd55 ))))((* (( (ptr) slice←v4740)+22) ), (word) (( (bPt) &var←c24672)+28)/* var←c22848 */ , pd55)
            ;
            };
         };
      };
SOURCE(2903, 2636)
   return(aborted←v4840);
   }

static word DoMap←P1620(key←v13076, val←v13104, formal←c24768)
   word key←v13076;
   word val←v13104;
   word formal←c24768;
   {
   register ptr gf←c24736 =  (ptr) &globalframe;
   word quit←v13148;
   formal←c24768 = (formal←c24768 - 28);
   /* DoMap: */ 
SOURCE(3015, 2524)
SOURCE(3015, 2524)
   quit←v13148 = 0;
SOURCE(3041, 2498)
   {
      word var←c22944;
      var←c22944 = XR←Narrow(key←v13076, (* (( (ptr) gf←c24736)+13) ));
      {
         word pd56;
         pd56 = (* (( (ptr) formal←c24768)+4) );
         return((word) ( *( (fPt) ((*  (ptr) pd56 ))))(var←c22944, val←v13104, pd56));
         };
      };
   }

static word DoWalk←P1680(sliceD←v6720, formal←c24832)
   word sliceD←v6720;
   word formal←c24832;
   {
   register ptr gf←c24800 =  (ptr) &globalframe;
   word done←v6764;
   formal←c24832 = (formal←c24832 - 20);
   /* DoWalk: */ 
SOURCE(3080, 2459)
SOURCE(3080, 2459)
   done←v6764 = 0;
SOURCE(3152, 2387)
   {
      word pd57;
      pd57 = (* (( (ptr) (* (( (ptr) gf←c24800)+74)/* var←c22464 */  ))+7) );
      done←v6764 = (word) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) (*  (ptr) sliceD←v6720 ))+22) ), (word) (( (bPt) formal←c24832)+28)
         , pd57);
      };
SOURCE(3080, 2459)
   return(done←v6764);
   }

static void Kill←P420(slice←v4900, parts←v4928)
   word slice←v4900;
   word parts←v4928;
   {
   W6 var←c24864;
   register ptr gf←c24896 =  (ptr) &globalframe;
   /* declaration of var←c22976 skipped */ 
   word var←c23008;
   /* Kill: */ 
SOURCE(3372, 2167)
   {
      word tmpAddr58;
      tmpAddr58 = (word) (( (ptr) &var←c24864)+4)/* var←c22976 */ ;
      (*  (ptr) tmpAddr58 ) = ( ((word)  (fPt) DoKill←P1740) );
      (* (( (ptr) tmpAddr58) + 1) ) = 1;
      };
SOURCE(3530, 2009)
   {
      word pd60;
      {
         word pd59;
         pd59 = (* (( (ptr) (* (( (ptr) gf←c24896)+72)/* var←c22368 */  ))+6) );
         var←c23008 = (word) ( *( (fPt) ((*  (ptr) pd59 ))))(slice←v4900, pd59);
         };
      pd60 = (* (( (ptr) (* (( (ptr) gf←c24896)+73)/* var←c22400 */  ))+63) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd60 ))))(var←c23008, pd60))) {
SOURCE(3587, 1952)
         {
            word var←c23040;
            word pd61;
            pd61 = (* (( (ptr) (* (( (ptr) gf←c24896)+73)/* var←c22400 */  ))+74) );
            var←c23040 = (word) ( *( (fPt) ((*  (ptr) pd61 ))))(slice←v4900, parts←v4928, 1, (word) (( (bPt) &var←c24864)+16)/* var←c22976 */ , 0, pd61)
            ;
            };
         }
      else {
SOURCE(3655, 17)
         (* (( (ptr) slice←v4900)+22) ) = 0;
         };
      };
   }

static word DoKill←P1740(sliceD←v6868, formal←c24928)
   word sliceD←v6868;
   word formal←c24928;
   {
   word done←v6912;
   formal←c24928 = (formal←c24928 - 16);
   /* DoKill: */ 
SOURCE(3428, 96)
SOURCE(3428, 96)
   done←v6912 = 0;
SOURCE(3500, 24)
   (* (( (ptr) (*  (ptr) sliceD←v6868 ))+22) ) = 0;
SOURCE(3428, 96)
   return(done←v6912);
   }

static void CopyAll←P480(fromSlice←v4988, toSlice←v5016, fromParts←v5044, toParts←v5072)
   word fromSlice←v4988;
   word toSlice←v5016;
   word fromParts←v5044;
   word toParts←v5072;
   {
   W7 var←c24960;
   /* declaration of var←c23072 skipped */ 
   /* declaration of copyProps←v6968 skipped */ 
   /* CopyAll: */ 
SOURCE(3678, 1861)
   {
      word tmpAddr62;
      tmpAddr62 = (word) (( (ptr) &var←c24960)+4)/* var←c23072 */ ;
      (*  (ptr) tmpAddr62 ) = ( ((word)  (fPt) DoCopyProc←P1800) );
      (* (( (ptr) tmpAddr62) + 1) ) = 1;
      };
SOURCE(3855, 30)
   var←c24960.f6/* copyProps←v6968 */  = 0;
SOURCE(3887, 1652)
   {
      word var←c23104;
      var←c23104 = (word) Walk←P360(fromSlice←v4988, fromParts←v5044, (word) (( (bPt) &var←c24960)+16)/* var←c23072 */ );
      };
SOURCE(3932, 35)
   (void) PutAll←P120(toSlice←v5016, toParts←v5072, var←c24960.f6/* copyProps←v6968 */ );
   }

static word DoCopyProc←P1800(key←v13372, val←v13400, formal←c25024)
   word key←v13372;
   word val←v13400;
   word formal←c25024;
   {
   register ptr gf←c24992 =  (ptr) &globalframe;
   word done←v13444;
   formal←c25024 = (formal←c25024 - 16);
   /* DoCopyProc: */ 
SOURCE(3769, 1770)
SOURCE(3769, 1770)
   done←v13444 = 0;
SOURCE(3798, 1741)
   {
      word var←c23136;
      var←c23136 = (word) Copy←P300(key←v13372, val←v13400);
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c24992)+74)/* var←c22464 */  ))+4) );
         (* (( (ptr) formal←c25024)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd63 ))))((* (( (ptr) formal←c25024)+6) ), key←v13372, var←c23136, pd63)
         ;
         };
      };
SOURCE(3769, 1770)
   return(done←v13444);
   }

static void ToRope←P540(formal←c0130, formal←c0302, formal←c0303)
   word formal←c0130;
   word formal←c0302;
   word formal←c0303;
   {
   W8 var←c25056;
   /* declaration of key←v5132 skipped */ 
   /* declaration of val←v5160 skipped */ 
   register ptr gf←c25088 =  (ptr) &globalframe;
   /* declaration of r←v5216 skipped */ 
   /* declaration of vf←v5244 skipped */ 
   var←c25056.f4/* key←v5132 */  = formal←c0302;
   var←c25056.f5/* val←v5160 */  = formal←c0303;
   /* ToRope: */ 
SOURCE(3973, 1566)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c25088)+16)/* LOCK←v2832 */ ));
SOURCE(3973, 1566)
   var←c25056.f6/* r←v5216 */  = 0;
SOURCE(3973, 1566)
   var←c25056.f7/* vf←v5244 */  = 1;
SOURCE(4075, 1464)
   {
      word var←c01;
      {
         word var←c0273;
         var←c0273 = (word) &var←c25056;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2352) ), ( ((word)  (fPt) NoName←Q2652) ), var←c0273);
         };
      if ((var←c01 == 2)) {
         goto lab←L100002;
         };
      };
   /* removed tail goto */ 
   lab←L100002: ;
   (void) (XR←MonitorExit((word) (( (bPt) gf←c25088)+16)/* LOCK←v2832 */ ));
   (*  (ptr) formal←c0130 ) = var←c25056.f6/* r←v5216 */ ;
   (* (( (ptr) formal←c0130)+1) ) = var←c25056.f7/* vf←v5244 */ ;
   return;
   }

static word NoName←Q2352(formal←c0254)
   word formal←c0254;
   {
   register ptr gf←c0253 =  (ptr) &globalframe;
SOURCE(4135, 19)
   {
      word found←v7012 = 0;
      word tableEntry←v7040 = 0;
      word gtEntry←v7068 = 0;
SOURCE(4191, 1348)
      {
         W2 var←c23168;
         {
            word pd64;
            pd64 = (* (( (ptr) (* (( (ptr) gf←c0253)+75)/* var←c22752 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd64 ))))((word) &var←c23168, (* (( (ptr) gf←c0253)+8)/* gt←v3812 */  ), (* (( (ptr) formal←c0254)+4)
                ), pd64);
            };
         tableEntry←v7040 = var←c23168.f1;
         found←v7012 = var←c23168.f0;
         };
SOURCE(4236, 1303)
      if ((0 == found←v7012) || (tableEntry←v7040 == 0)) {
SOURCE(4274, 1265)
         {
            word var←c23200;
            word var←c23232;
            var←c23200 = (* (( (ptr) formal←c0254)+5) );
            if ((var←c23200 == 0)) {
               goto lab←L100005;
               };
            var←c23232 = XR←GetReferentType(var←c23200);
            {
               word tc67;
               if (((* (( (ptr) gf←c0253)+13) ) == var←c23232)) {
                  {
                     word a←v7124;
                     a←v7124 = var←c23200;
SOURCE(4306, 1233)
                     {
                        word var←c23264;
                        {
                           word pd66;
                           pd66 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */  ))+37) );
                           var←c23264 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(a←v7124, 1, pd66);
                           };
                        (* (( (ptr) formal←c0254)+6) ) = var←c23264;
                        (* (( (ptr) formal←c0254)+7) ) = 1;
                        return(2);
                        };
                     };
                  };
               if (((* (( (ptr) gf←c0253)+14) ) == var←c23232)) {
                  tc67 =  (word) ( (unsigned) (*(int*)var←c23200<0) == 0);
                  }
               else {
                  tc67 =  (word) 0;
                  };
               if (tc67) {
                  {
                     word rope←v7168;
                     rope←v7168 = var←c23200;
SOURCE(4364, 12)
                     (* (( (ptr) formal←c0254)+6) ) = rope←v7168;
                     (* (( (ptr) formal←c0254)+7) ) = 1;
                     return(2);
                     };
                  };
               if (((* (( (ptr) gf←c0253)+15) ) == var←c23232)) {
                  {
                     word int←v7212;
                     int←v7212 = var←c23200;
SOURCE(4394, 1145)
                     {
                        word var←c23328;
                        {
                           word pd68;
                           pd68 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */  ))+27) );
                           var←c23328 = (word) ( *( (fPt) ((*  (ptr) pd68 ))))((*  (ptr) int←v7212 ), 8, 0, pd68);
                           };
                        (* (( (ptr) formal←c0254)+6) ) = var←c23328;
                        (* (( (ptr) formal←c0254)+7) ) = 1;
                        return(2);
                        };
                     };
                  };
               if (((* (( (ptr) gf←c0253)+16) ) == var←c23232)) {
                  {
                     word card←v7268;
                     card←v7268 = var←c23200;
SOURCE(4481, 1058)
                     {
                        word var←c23360;
                        {
                           word pd69;
                           pd69 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */  ))+28) );
                           var←c23360 = (word) ( *( (fPt) ((*  (ptr) pd69 ))))((*  (ptr) card←v7268 ), 8, 0, pd69);
                           };
                        (* (( (ptr) formal←c0254)+6) ) = var←c23360;
                        (* (( (ptr) formal←c0254)+7) ) = 1;
                        return(2);
                        };
                     };
                  };
               if (((* (( (ptr) gf←c0253)+17) ) == var←c23232)) {
                  {
                     word real←v7324;
                     real←v7324 = var←c23200;
SOURCE(4570, 969)
                     {
                        word var←c23392;
                        {
                           word pd70;
                           pd70 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */  ))+31) );
                           var←c23392 = (word) ( *( (fPt) ((*  (ptr) pd70 ))))((*  (ptr) real←v7324 ), 9, 0, pd70);
                           };
                        (* (( (ptr) formal←c0254)+6) ) = var←c23392;
                        (* (( (ptr) formal←c0254)+7) ) = 1;
                        return(2);
                        };
                     };
                  };
               if (((* (( (ptr) gf←c0253)+18) ) == var←c23232)) {
                  {
                     word bool←v7380;
                     bool←v7380 = var←c23200;
SOURCE(4680, 859)
                     {
                        word var←c23424;
                        {
                           word pd71;
                           pd71 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */  ))+36) );
                           var←c23424 = (word) ( *( (fPt) ((*  (ptr) pd71 ))))((*  (ptr) (bool←v7380) ), pd71);
                           };
                        (* (( (ptr) formal←c0254)+6) ) = var←c23424;
                        (* (( (ptr) formal←c0254)+7) ) = 1;
                        return(2);
                        };
                     };
                  };
               lab←L100005: ;
SOURCE(4734, 11)
               (* (( (ptr) formal←c0254)+6) ) = 0;
               (* (( (ptr) formal←c0254)+7) ) = 1;
               return(2);
               };
            };
         }
      else {
SOURCE(4756, 28)
         gtEntry←v7068 = XR←Narrow(tableEntry←v7040, (* (( (ptr) gf←c0253)+12) ));
SOURCE(4786, 35)
         if (((* (( (ptr) gtEntry←v7068)+1) ) == 0)) {
SOURCE(4810, 11)
            (* (( (ptr) formal←c0254)+6) ) = 0;
            (* (( (ptr) formal←c0254)+7) ) = 1;
            return(2);
            };
SOURCE(4862, 677)
         {
            word var←c23456;
            {
               word pd72;
               pd72 = (* (( (ptr) (* (( (ptr) gf←c0253)+77)/* var←c23488 */  ))+34) );
               var←c23456 = (word) ( *( (fPt) ((*  (ptr) pd72 ))))((* ((( (ptr) gf←c0253)+10)/* scratchROS←v3868 */ ) ), pd72);
               };
            {
               word pd73;
               pd73 = (* (( (ptr) gtEntry←v7068)+1) );
               (* (( (ptr) formal←c0254)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd73 ))))(var←c23456, (* (( (ptr) formal←c0254)+5) ), pd73)
               ;
               };
            };
SOURCE(4962, 577)
         {
            word pd74;
            pd74 = (* (( (ptr) (* (( (ptr) gf←c0253)+77)/* var←c23488 */  ))+35) );
            (* (( (ptr) formal←c0254)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd74 ))))((* (( (ptr) gf←c0253)+10)/* scratchROS←v3868 */  ), 1, pd74)
            ;
            };
         };
      };
   return(0);
   }

static word FromRope←P600(formal←c0304, formal←c0305)
   word formal←c0304;
   word formal←c0305;
   {
   W9 var←c25120;
   /* declaration of key←v5304 skipped */ 
   /* declaration of r←v5332 skipped */ 
   register ptr gf←c25152 =  (ptr) &globalframe;
   /* declaration of var←c05 skipped */ 
   /* declaration of val←v5376 skipped */ 
   (* (( (ptr) &var←c25120)+4)/* key←v5304 */  ) = formal←c0304;
   (* (( (ptr) &var←c25120)+5)/* r←v5332 */  ) = formal←c0305;
   /* FromRope: */ 
SOURCE(5019, 1267)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c25152)+16)/* LOCK←v2832 */ ));
SOURCE(5019, 1267)
   (* (( (ptr) &var←c25120)+7)/* val←v5376 */  ) = 0;
SOURCE(5096, 1190)
   {
      /* declaration of success←v7632 skipped */ 
      word var←c06;
      {
         word var←c0274;
         var←c0274 = (word) &var←c25120;
         var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2412) ), ( ((word)  (fPt) NoName←Q2532) ), var←c0274);
         };
      if ((var←c06 == 1)) {
         goto lab←L04;
         };
      };
SOURCE(5019, 1267)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c25152)+16)/* LOCK←v2832 */ ));
   return((* (( (ptr) &var←c25120)+7)/* val←v5376 */  ));
   lab←L04: ;
   return((* (( (ptr) &var←c25120)+6)/* var←c05 */  ));
   }

static word NoName←Q2412(formal←c0257)
   word formal←c0257;
   {
   W9 var←c0295;
   register ptr gf←c0256 =  (ptr) &globalframe;
   (*  (ptr) &var←c0295 ) = formal←c0257;
SOURCE(5156, 19)
   {
      word found←v7436 = 0;
      word tableEntry←v7464 = 0;
      word gtEntry←v7492 = 0;
SOURCE(5212, 327)
      {
         W2 var←c23520;
         {
            word pd75;
            pd75 = (* (( (ptr) (* (( (ptr) gf←c0256)+75)/* var←c22752 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd75 ))))((word) &var←c23520, (* (( (ptr) gf←c0256)+8)/* gt←v3812 */  ), (* (( (ptr) formal←c0257)+4)
                ), pd75);
            };
         tableEntry←v7464 = var←c23520.f1;
         found←v7436 = var←c23520.f0;
         };
SOURCE(5257, 1029)
      if ((0 == found←v7436) || (tableEntry←v7464 == 0)) {
SOURCE(5293, 864)
         {
            word tokenKind←v7548;
            word token←v7576 = 0;
            word charsSkipped←v7604;
            /* declaration of s←v7660 skipped */ 
SOURCE(5357, 20)
            (* (( (ptr) formal←c0257)+8) ) = 1;
SOURCE(5379, 53)
            {
               word pd76;
               pd76 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */  ))+33) );
               (* (( (ptr) &var←c0295)+4)/* s←v7660 */  ) = (word) ( *( (fPt) ((*  (ptr) pd76 ))))((* (( (ptr) formal←c0257)+5) ), (* (( (ptr) gf←c0256)+9)
                  /* scratchRIS←v3840 */  ), pd76);
               };
SOURCE(5435, 104)
SOURCE(5435, 104)
            {
               W3 var←c23552;
               {
                  /* declaration of var←c02 skipped */ 
                  (* (( (ptr) &var←c0295)+5)/* var←c02 */  ) = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */  ))+71) );
                  {
                     /* declaration of var←c03 skipped */ 
                     {
                        word var←c04;
                        {
                           word var←c0275;
                           var←c0275 = (word) &var←c0295;
                           var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2472) ), ( ((word)  (fPt) NoName←Q2592) ), var←c0275);
                           };
                        if ((var←c04 == 3)) {
                           goto lab←L100009;
                           };
                        };
                     var←c23552 = (*  (W3Pt) (( (ptr) &var←c0295)+6)/* var←c03 */  );
                     };
                  };
               charsSkipped←v7604 = var←c23552.f2;
               token←v7576 = var←c23552.f1;
               tokenKind←v7548 = var←c23552.f0;
               };
            lab←L100009: ;
SOURCE(5553, 20)
            if ((0 == (* (( (ptr) formal←c0257)+8) ))) {
SOURCE(5573, 5)
               (void) XR←RaiseUnnamedError();
               };
SOURCE(5580, 572)
            {
               word pd77;
               pd77 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */  ))+15) );
               if ((0 != (word) ( *( (fPt) ((*  (ptr) pd77 ))))((* ((( (ptr) &var←c0295)+4)/* s←v7660 */ ) ), pd77))) {
SOURCE(5638, 441)
                  {
                     word var←c23584;
                     var←c23584 = tokenKind←v7548;
                     switch (var←c23584) {
                        case 1: 
SOURCE(5671, 11)
                           (* (( (ptr) formal←c0257)+7) ) = token←v7576;
                           break;
                        case 2: 
SOURCE(5700, 47)
                           {
/*1*/   word var←c23616;
/*1*/   word var←c23648;
/*1*/   {
/*1*/      word pd78;
/*1*/      pd78 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */  ))+10) );
/*1*/      var←c23616 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))(token←v7576, 8, pd78);
/*1*/      };
/*1*/   var←c23648 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) ));
/*1*/   (*  (ptr) var←c23648 ) = var←c23616;
/*1*/   (* (( (ptr) formal←c0257)+7) ) = var←c23648;
/*1*/   };
                           break;
                        case 3: 
SOURCE(5763, 46)
                           {
/*1*/   word var←c23680;
/*1*/   word var←c23712;
/*1*/   {
/*1*/      word pd79;
/*1*/      pd79 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */  ))+10) );
/*1*/      var←c23680 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))(token←v7576, 6, pd79);
/*1*/      };
/*1*/   var←c23712 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) ));
/*1*/   (*  (ptr) var←c23712 ) = var←c23680;
/*1*/   (* (( (ptr) formal←c0257)+7) ) = var←c23712;
/*1*/   };
                           break;
                        case 4: 
SOURCE(5823, 47)
                           {
/*1*/   word var←c23744;
/*1*/   word var←c23776;
/*1*/   {
/*1*/      word pd80;
/*1*/      pd80 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */  ))+10) );
/*1*/      var←c23744 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))(token←v7576, 14, pd80);
/*1*/      };
/*1*/   var←c23776 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) ));
/*1*/   (*  (ptr) var←c23776 ) = var←c23744;
/*1*/   (* (( (ptr) formal←c0257)+7) ) = var←c23776;
/*1*/   };
                           break;
                        case 5: 
SOURCE(5885, 45)
                           {
/*1*/   word var←c23808;
/*1*/   word var←c23840;
/*1*/   {
/*1*/      word pd81;
/*1*/      pd81 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */  ))+12) );
/*1*/      var←c23808 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))(token←v7576, pd81);
/*1*/      };
/*1*/   var←c23840 = XR←NewObject(4, (* (( (ptr) gf←c0256)+17) ));
/*1*/   (*  (ptr) var←c23840 ) = var←c23808;
/*1*/   (* (( (ptr) formal←c0257)+7) ) = var←c23840;
/*1*/   };
                           break;
                        case 6: 
SOURCE(5945, 36)
                           {
/*1*/   word pd82;
/*1*/   pd82 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */  ))+25) );
/*1*/   (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd82 ))))(token←v7576, 0, pd82);
/*1*/   };
                           break;
                        case 7: 
SOURCE(5996, 11)
                           (* (( (ptr) formal←c0257)+7) ) = token←v7576;
                           break;
                        case 8: 
SOURCE(6022, 33)
                           {
/*1*/   word pd83;
/*1*/   pd83 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */  ))+18) );
/*1*/   (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd83 ))))(token←v7576, pd83);
/*1*/   };
                           break;
                        default: 
SOURCE(6068, 11)
                           (* (( (ptr) formal←c0257)+7) ) = token←v7576;
                           break;
                        };
                     };
                  }
               else {
SOURCE(6145, 7)
                  (* (( (ptr) formal←c0257)+7) ) = (* (( (ptr) formal←c0257)+5) );
                  };
               };
            };
         }
      else {
SOURCE(6166, 28)
         gtEntry←v7492 = XR←Narrow(tableEntry←v7464, (* (( (ptr) gf←c0256)+12) ));
SOURCE(6196, 32)
         if (((*  (ptr) gtEntry←v7492 ) == 0)) {
SOURCE(6219, 9)
            (void) (XR←MonitorExit((word) (( (bPt) gf←c0256)+16)/* LOCK←v2832 */ ));
            (* (( (ptr) formal←c0257)+6) ) = (* (( (ptr) formal←c0257)+5) );
            return(1);
            };
SOURCE(6230, 56)
         {
            word var←c23872;
            {
               word pd84;
               pd84 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */  ))+33) );
               var←c23872 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))((* (( (ptr) formal←c0257)+5) ), (* (( (ptr) gf←c0256)+9)/* scratchRIS←v3840 */  ), pd84)
               ;
               };
            {
               word pd85;
               pd85 = (*  (ptr) gtEntry←v7492 );
               (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd85 ))))(var←c23872, pd85);
               };
            };
         };
      };
   return(0);
   }

static word NoName←Q2472(formal←c0258)
   word formal←c0258;
   {
SOURCE(5435, 104)
   {
      word pd86;
      pd86 = (* (( (ptr) formal←c0258)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd86 ))))((word) (( (bPt) formal←c0258)+24), (* (( (ptr) formal←c0258)+4) ), 1, pd86);
      };
   return(0);
   }

static void Register←P660(key←v5448, in←v5476, out←v5504, copy←v5532)
   word key←v5448;
   word in←v5476;
   word out←v5504;
   word copy←v5532;
   {
   register ptr gf←c25184 =  (ptr) &globalframe;
   word gtEntry←v7704;
   /* Register: */ 
SOURCE(6295, 178)
SOURCE(6383, 53)
   gtEntry←v7704 = XR←NewObject(12, (* (( (ptr) gf←c25184)+12) ));
   (*  (ptr) gtEntry←v7704 ) = XR←CheckProc(in←v5476);
   (* (( (ptr) gtEntry←v7704)+1) ) = XR←CheckProc(out←v5504);
   (* (( (ptr) gtEntry←v7704)+2) ) = XR←CheckProc(copy←v5532);
SOURCE(6438, 35)
   {
      word var←c23936;
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c25184)+75)/* var←c22752 */  ))+9) );
      var←c23936 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))((* (( (ptr) gf←c25184)+8)/* gt←v3812 */  ), key←v5448, gtEntry←v7704, pd87)
      ;
      };
   }

static void Init←P720()
   {
   register ptr gf←c25216 =  (ptr) &globalframe;
   word bigRope←v7748;
   /* Init: */ 
SOURCE(6522, 175)
SOURCE(6537, 79)
   bigRope←v7748 = (* (( (ptr) gf←c25216)+25) );
SOURCE(6618, 20)
   {
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c25216)+75)/* var←c22752 */  ))+5) );
      (* (( (ptr) gf←c25216)+8)/* gt←v3812 */  ) = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(17, 0, 0, pd88);
      };
SOURCE(6640, 34)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c25216)+77)/* var←c23488 */  ))+33) );
      (* (( (ptr) gf←c25216)+9)/* scratchRIS←v3840 */  ) = (word) ( *( (fPt) ((*  (ptr) pd89 ))))(bigRope←v7748, 0, pd89);
      };
SOURCE(6676, 21)
   {
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c25216)+77)/* var←c23488 */  ))+34) );
      (* (( (ptr) gf←c25216)+10)/* scratchROS←v3868 */  ) = (word) ( *( (fPt) ((*  (ptr) pd90 ))))(0, pd90);
      };
   }

static word IdentityCopy←P780(val←v10044)
   word val←v10044;
   {
   word copy←v10088;
   /* IdentityCopy: */ 
SOURCE(6703, 44)
SOURCE(6703, 44)
   copy←v10088 = 0;
SOURCE(6737, 10)
   copy←v10088 = val←v10044;
SOURCE(6703, 44)
   return(copy←v10088);
   }

static void RegisterTestProcs←P840()
   {
   register ptr gf←c25248 =  (ptr) &globalframe;
   /* RegisterTestProcs: */ 
SOURCE(6753, 191)
SOURCE(6781, 51)
   (void) Register←P660((* (( (ptr) gf←c25248)+22) ), (word) (( (bPt) gf←c25248)+160)/* var←c21792 */ , (word) (( (bPt) gf←c25248)+152)
      /* var←c21760 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ );
SOURCE(6834, 54)
   (void) Register←P660((* (( (ptr) gf←c25248)+23) ), (word) (( (bPt) gf←c25248)+144)/* var←c21728 */ , (word) (( (bPt) gf←c25248)+136)
      /* var←c21696 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ );
SOURCE(6890, 54)
   (void) Register←P660((* (( (ptr) gf←c25248)+24) ), (word) (( (bPt) gf←c25248)+128)/* var←c21664 */ , (word) (( (bPt) gf←c25248)+120)
      /* var←c21632 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ );
   }

static word FileInInt←P900(s←v10148)
   word s←v10148;
   {
   register ptr gf←c25280 =  (ptr) &globalframe;
   word val←v10192;
   word ref←v7792;
   /* FileInInt: */ 
SOURCE(6950, 81)
SOURCE(6950, 81)
   val←v10192 = 0;
SOURCE(6976, 23)
   ref←v7792 = XR←NewObject(4, (* (( (ptr) gf←c25280)+15) ));
SOURCE(7001, 19)
   {
      word pd91;
      pd91 = (* (( (ptr) (* (( (ptr) gf←c25280)+77)/* var←c23488 */  ))+72) );
      (*  (ptr) ref←v7792 ) = (word) ( *( (fPt) ((*  (ptr) pd91 ))))(s←v10148, pd91);
      };
SOURCE(7022, 9)
   val←v10192 = ref←v7792;
SOURCE(6950, 81)
   return(val←v10192);
   }

static word FileOutInt←P960(s←v10252, val←v10280)
   word s←v10252;
   word val←v10280;
   {
   register ptr gf←c25312 =  (ptr) &globalframe;
   word vf←v10324;
   word ref←v7848;
   /* FileOutInt: */ 
SOURCE(7036, 81)
SOURCE(7036, 81)
   vf←v10324 = 1;
SOURCE(7064, 26)
   ref←v7848 = XR←Narrow(val←v10280, (* (( (ptr) gf←c25312)+15) ));
SOURCE(7092, 25)
   {
      W2 var←c23968;
      var←c23968.f0 = 5;
      var←c23968.f1 = (*  (ptr) ref←v7848 );
      {
         word pd92;
         pd92 = (* (( (ptr) (* (( (ptr) gf←c25312)+77)/* var←c23488 */  ))+55) );
         (void) ( *( (fPt) ((*  (ptr) pd92 ))))(s←v10252, var←c23968, pd92);
         };
      };
SOURCE(7036, 81)
   return(vf←v10324);
   }

static word FileInReal←P1020(s←v10384)
   word s←v10384;
   {
   register ptr gf←c25344 =  (ptr) &globalframe;
   word val←v10428;
   word ref←v7904;
   /* FileInReal: */ 
SOURCE(7122, 85)
SOURCE(7122, 85)
   val←v10428 = 0;
SOURCE(7149, 25)
   ref←v7904 = XR←NewObject(4, (* (( (ptr) gf←c25344)+17) ));
SOURCE(7176, 20)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c25344)+77)/* var←c23488 */  ))+74) );
      (*  (ptr) ref←v7904 ) = (word) ( *( (fPt) ((*  (ptr) pd93 ))))(s←v10384, pd93);
      };
SOURCE(7198, 9)
   val←v10428 = ref←v7904;
SOURCE(7122, 85)
   return(val←v10428);
   }

static word FileOutReal←P1080(s←v10488, val←v10516)
   word s←v10488;
   word val←v10516;
   {
   register ptr gf←c25376 =  (ptr) &globalframe;
   word vf←v10560;
   word ref←v7960;
   /* FileOutReal: */ 
SOURCE(7212, 80)
SOURCE(7212, 80)
   vf←v10560 = 1;
SOURCE(7241, 27)
   ref←v7960 = XR←Narrow(val←v10516, (* (( (ptr) gf←c25376)+17) ));
SOURCE(7270, 22)
   {
      W2 var←c24000;
      var←c24000.f0 = 8;
      var←c24000.f1 = (*  (ptr) ref←v7960 );
      {
         word pd94;
         pd94 = (* (( (ptr) (* (( (ptr) gf←c25376)+77)/* var←c23488 */  ))+55) );
         (void) ( *( (fPt) ((*  (ptr) pd94 ))))(s←v10488, var←c24000, pd94);
         };
      };
SOURCE(7212, 80)
   return(vf←v10560);
   }

static word FileInAtom←P1140(s←v10620)
   word s←v10620;
   {
   register ptr gf←c25408 =  (ptr) &globalframe;
   word val←v10664;
   word ref←v8016;
   /* FileInAtom: */ 
SOURCE(7297, 63)
SOURCE(7297, 63)
   val←v10664 = 0;
SOURCE(7324, 25)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c25408)+77)/* var←c23488 */  ))+77) );
      ref←v8016 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))(s←v10620, pd95);
      };
SOURCE(7351, 9)
   val←v10664 = ref←v8016;
SOURCE(7297, 63)
   return(val←v10664);
   }

static word FileOutAtom←P1200(s←v10724, val←v10752)
   word s←v10724;
   word val←v10752;
   {
   register ptr gf←c25440 =  (ptr) &globalframe;
   word vf←v10796;
   word ref←v8060;
   /* FileOutAtom: */ 
SOURCE(7365, 75)
SOURCE(7365, 75)
   vf←v10796 = 1;
SOURCE(7394, 23)
   ref←v8060 = XR←Narrow(val←v10752, (* (( (ptr) gf←c25440)+13) ));
SOURCE(7419, 21)
   {
      W2 var←c24032;
      var←c24032.f0 = 1;
      var←c24032.f1 = ref←v8060;
      {
         word pd96;
         pd96 = (* (( (ptr) (* (( (ptr) gf←c25440)+77)/* var←c23488 */  ))+55) );
         (void) ( *( (fPt) ((*  (ptr) pd96 ))))(s←v10724, var←c24032, pd96);
         };
      };
SOURCE(7365, 75)
   return(vf←v10796);
   }

static word FileInRope←P1260(s←v10856)
   word s←v10856;
   {
   register ptr gf←c25472 =  (ptr) &globalframe;
   word val←v10900;
   word ref←v8104;
   /* FileInRope: */ 
SOURCE(7445, 68)
SOURCE(7445, 68)
   val←v10900 = 0;
SOURCE(7472, 30)
   {
      word pd97;
      pd97 = (* (( (ptr) (* (( (ptr) gf←c25472)+77)/* var←c23488 */  ))+92) );
      ref←v8104 = (word) ( *( (fPt) ((*  (ptr) pd97 ))))(s←v10856, 2147483647, 0, pd97);
      };
SOURCE(7504, 9)
   val←v10900 = ref←v8104;
SOURCE(7445, 68)
   return(val←v10900);
   }

static word FileOutRope←P1320(s←v10960, val←v10988)
   word s←v10960;
   word val←v10988;
   {
   register ptr gf←c25504 =  (ptr) &globalframe;
   word vf←v11032;
   word ref←v8148;
   /* FileOutRope: */ 
SOURCE(7518, 73)
SOURCE(7518, 73)
   vf←v11032 = 1;
SOURCE(7547, 28)
   ref←v8148 = XR←Narrow(val←v10988, (* (( (ptr) gf←c25504)+14) ));
   if ((ref←v8148 == 0)) {
      goto lab←L100012;
      };
   if (( (unsigned) (*(int*)ref←v8148<0) == 0)) {
      goto lab←L100012;
      };
   (void) XR←RaiseError(XR←NarrowFault, 0);
   lab←L100012: ;
SOURCE(7577, 14)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c25504)+77)/* var←c23488 */  ))+93) );
      (void) ( *( (fPt) ((*  (ptr) pd98 ))))(s←v10960, ref←v8148, 0, 2147483647, pd98);
      };
SOURCE(7518, 73)
   return(vf←v11032);
   }

static void NoName←Q2532(formal←c0219, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0219;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0270 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0270)+16)/* LOCK←v2832 */ ));
      };
   (*  (ptr) formal←c0219 ) = 0;
   (* (( (ptr) formal←c0219)+1) ) = 0;
   return;
   }

static void NoName←Q2592(formal←c0224, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0224;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0271 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0271)+77)/* var←c23488 */  ))+4) )) || (formal←c200009 == (* (( (ptr) (* (
         ( (ptr) gf←c0271)+77)/* var←c23488 */  ))+5) ))) {
SOURCE(5524, 15)
      (* (( (ptr) (*  (ptr) formal←c200008 ))+8) ) = 0;
SOURCE(5541, 8)
      (*  (ptr) formal←c0224 ) = 2;
      (* (( (ptr) formal←c0224)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0224 ) = 0;
   (* (( (ptr) formal←c0224)+1) ) = 0;
   return;
   }

static void NoName←Q2652(formal←c0229, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0229;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0272 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0272)+16)/* LOCK←v2832 */ ));
      };
   (*  (ptr) formal←c0229 ) = 0;
   (* (( (ptr) formal←c0229)+1) ) = 0;
   return;
   }

/* file: GGPropsImpl, module: GGPropsImpl, compiled at: July 11, 1993 8:07:35 pm PDT */ 
extern void XR←install←GGPropsImpl() {
   NoName←Q2292();
   }
extern void XR←run←GGPropsImpl() { XR←Start(&globalframe); }