/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 28, 1993 1:02:47 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerBitmapContextImpl, module: ImagerBitmapContextImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [54288896,1474950239] ImagerBitmapContextImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; word r;} W17;
typedef W16 *W16Pt;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W3 r;} W11;
#define SOURCE(p, l) /* source p, l */
static float fc59 = 1.0;
static float fc60 = 0.0;
static float fc61 = 2.0;
static float fc62 = 3.0;
static float fc63 = 2000.0;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc112 = 0.5;
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc157 = 16383.0;
static float fc162 = 1048576.0;
static float fc169 = 4.0;
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static float fc275 = 262144.0;
static void NoName←Q5040();
static void ImagerBitmapContextImpl←P0();
static word Create←P60();
static void SetBitmap←P120();
static word GetBitmap←P180();
static void MakeSimpleBrick←P240();
static void SetBrick←P300();
static void BitmapSetHalftoneProperties←P360();
static void GetBrick←P420();
static void SetSeparation←P480();
static word GetSeparation←P540();
static void GetExtendedBox←P600();
static word GetColorTransform←P660();
static void Transform←P720();
static void MakeTile←P780();
static void BitmapSetColor←P840();
static word TryTransformingBitmapIntoTile←P900();
static void action←P3360();
static word ComputeSource←P960();
static void BitmapSetSampledColor←P1020();
static word compare←P3420();
static void BitmapMaskBoxes←P1080();
static void Action←P3624();
static void Action←P3732();
static void BitmapMaskRegion←P1140();
static void BitmapMaskBitmap←P1200();
static void BitmapMaskRawBitmaps←P1260();
static void BitmapDrawBitmap←P1320();
static void BitmapMoveBox←P1380();
static void BitmapSwitchBuffer←P1440();
static word FindBitsAtTransformation←P1500();
static word NoName←Q5100();
static void InsertBitsAtTransformation←P1560();
static word NoName←Q5160();
static void EnforceLimits←P1620();
static word TrimBitsAfterIndex←P3936();
static word TrimBits←P3996();
static void RemoveBitsAtTransformation←P1680();
static word DeleteBitsFromList←P1740();
static void FindBitsAndNeighbors←P1800();
static void BitmapDrawObjectMultiColor←P1860();
static void ClipAndDraw←P4296();
static void save←P4500();
static word RenderOntoWhite←P1920();
static void proc←P4560();
static word BitmapGetBufferColorOperator←P1980();
static void BitmapAccessBuffer←P2040();
static void NoName←Q5220();
static void NoName←Q5280();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\354\000\000"};
static struct {unsigned f; char r[12];} string4 = {589833, "\011\000\004\100\240\040\001\030\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\361\072\110\004\300\054\212\055\367\100\274\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\003\001\000"};
static struct {unsigned f; char r[44];} string7 = {2752556, "\260\006\005\146\151\162\163\164\257\300\207\164\301\163\300\327\135\041\305\104\130\005\004\162\145\163\164\214\257\300\207\164\301\163\300\327\135\041\305\104\130\261\000"};
static struct {unsigned f; char r[44];} string8 = {2818092, "\216\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\003\074\142\000\300\127\351\364\137\102\140\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\274\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\003\016\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\003\074\142\000\300\127\351\364\137\100\214\000\000"};
static struct {unsigned f; char r[40];} string13 = {2490406, "\006\016\000\001\004\001\010\001\034\003\001\050\001\054\013\070\001\100\100\001\100\104\001\100\110\001\100\114\001\100\120\001\100\124\001\100\130\001\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\104\334\000\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\004\012\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\362\033\246\002\300\160\342\266\057\100\214\000\000"};
static struct {unsigned f; char r[4];} string17 = {196611, "\004q\377"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\003\074\142\000\300\127\351\364\137\102\204\000\000"};
static struct {unsigned f; char r[12];} string19 = {589833, "\007@` \002\004\003\0043\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\106\214\000\000"};
static struct {unsigned f; char r[48];} string21 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\003\074\142\000\300\127\351\364\137\102\204\005\004\162\145\163\164\214\216\257\300\003\074\142\000\300\127\351\364\137\102\204\261\000\000\000"};
static struct {unsigned f; char r[4];} string22 = {131074, "\004\003\000"};
static struct {unsigned f; char r[20];} string23 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\103\274\000\000"};
static struct {unsigned f; char r[16];} string25 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\003\074\142\000\300\127\351\364\137\102\154\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\003\074\142\000\300\127\351\364\137\101\240\000\000"};
static struct {unsigned f; char r[4];} string28 = {131074, "\004'\000"};
static struct {unsigned f; char r[48];} string29 = {2949168, "Unknown special color has no substitute value\000\000"};
static struct {unsigned f; char r[12];} string30 = {655372, "BitmapTile\000"};
static struct {unsigned f; char r[8];} string31 = {458760, "Stipple"};
static struct {unsigned f; char r[8];} string32 = {393224, "Bitmap\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\003\074\142\000\300\127\351\364\137\100\164\000\000"};
static struct {unsigned f; char r[32];} string34 = {1835036, "\006\011\040\001\050\003\001\064\013\100\100\013\100\114\001\100\130\001\100\144\001\100\150\001\100\320\004\037\000\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\161\264\233\303\300\026\075\022\161\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\150\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\170\064\225\306\300\207\372\245\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {1231905127, "erBitmapContext"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\353\300\316\013\300\313\011\345\022\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\000\172\225\152\300\104\041\252\375\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300ZT?\010\300\370;=;@h\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\362\033\246\002\300\160\342\266\057\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\320\075\073\162\300\001\171\341\017\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\230\052\311\306\300\242\375\035\324\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\205\026\031\133\300\153\303\216\034\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\067\246\211\216\300\354\224\134\067\100\150\000\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\150\000\000"};
static struct {
   word f0[57]; 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; 
   word f72; word f73; word f74; word f75; 
   word f76; word f77; word f78; word f79; 
   word f80; word f81; word f82; word f83; 
   word f84; word f85; word f86; word f87; 
   word f88; word f89; word f90; word f91; 
   word f92; word f93; word f94; word f95; 
   word f96; word f97; word f98; word f99; 
   word f100; word f101; word f102; word f103; 
   word f104; word f105; word f106; word f107; 
   word f108; word f109; word f110; word f111; 
   word f112; word f113; word f114; word f115; 
   word f116; word f117; word f118; word f119; 
   word f120; word f121; word f122; word f123; 
   word f124; word f125; word f126; word f127; 
   word f128; word f129; word f130; word f131; 
   word f132; word f133; word f134; word f135[34]; 
   } globalframe = {
   {0}, (word) BitmapAccessBuffer←P2040, 0, (word) BitmapGetBufferColorOperator←P1980, 
   0, (word) RenderOntoWhite←P1920, 0, (word) BitmapDrawObjectMultiColor←P1860, 
   0, (word) FindBitsAndNeighbors←P1800, 0, (word) DeleteBitsFromList←P1740, 
   0, (word) RemoveBitsAtTransformation←P1680, 0, (word) EnforceLimits←P1620, 
   0, (word) InsertBitsAtTransformation←P1560, 0, (word) FindBitsAtTransformation←P1500, 
   0, (word) BitmapSwitchBuffer←P1440, 0, (word) BitmapMoveBox←P1380, 
   0, (word) BitmapDrawBitmap←P1320, 0, (word) BitmapMaskRawBitmaps←P1260, 
   0, (word) BitmapMaskBitmap←P1200, 0, (word) BitmapMaskRegion←P1140, 
   0, (word) BitmapMaskBoxes←P1080, 0, (word) BitmapSetSampledColor←P1020, 
   0, (word) ComputeSource←P960, 0, (word) TryTransformingBitmapIntoTile←P900, 
   0, (word) BitmapSetColor←P840, 0, (word) MakeTile←P780, 
   0, (word) Transform←P720, 0, (word) GetColorTransform←P660, 
   0, (word) GetExtendedBox←P600, 0, (word) GetSeparation←P540, 
   0, (word) SetSeparation←P480, 0, (word) GetBrick←P420, 
   0, (word) BitmapSetHalftoneProperties←P360, 0, (word) SetBrick←P300, 
   0, (word) MakeSimpleBrick←P240, 0, (word) GetBitmap←P180, 
   0, (word) SetBitmap←P120, 0, (word) Create←P60, 
   0, (word) ImagerBitmapContextImpl←P0, 0, (word) 478, 
   (word) 33343, (word) 39493, (word) 31686, (word) 2090, 
   (word) 58566, (word) 15129, (word) 55285, {0}
   };

static void NoName←Q5040()
   {
   register ptr gf←c0481 =  (ptr) &globalframe;
   word var←c60580;
   (* (( (ptr) gf←c0481)+27) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0481)+28) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0481)+30) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0481)+31) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string6);
   (* (( (ptr) gf←c0481)+33) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string2);
   (* (( (ptr) gf←c0481)+35) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string2);
   (* (( (ptr) gf←c0481)+36) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0481)+39) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (* (( (ptr) gf←c0481)+40) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0481)+41) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (* (( (ptr) gf←c0481)+42) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19);
   (* (( (ptr) gf←c0481)+43) ) = (word) XR←GetTypeIndexS((word) (&string20));
   (* (( (ptr) gf←c0481)+44) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22);
   (* (( (ptr) gf←c0481)+45) ) = (word) XR←GetTypeIndex((word) &string23, 0, (word) &string22);
   (* (( (ptr) gf←c0481)+46) ) = (word) XR←GetTypeIndexS((word) (&string24));
   (* (( (ptr) gf←c0481)+48) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string2);
   (* (( (ptr) gf←c0481)+49) ) = (word) XR←GetTypeIndex((word) &string26, 0, (word) &string2);
   (* (( (ptr) gf←c0481)+50) ) = (word) XR←GetTypeIndex((word) &string27, 0, (word) &string28);
   (*  (ptr) (( (bPt) gf←c0481)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0481)+48) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0481)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0481)+27) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0481)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0481)+27) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0481)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0481)+33) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0481)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0481)+27) ), (word) &string32);
   (void) XR←DeclareGlobalFrame((word) "ImagerBitmapContextImpl", &globalframe, (word) XR←GetTypeIndex((word) &string33, 0, (word) &string34)
      , (word) (( (bPt) gf←c0481)+500)/* var←c55620 */ );
   var←c60580 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string35)), 16);
   (* (( (ptr) gf←c0481)+147)/* var←c56068 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 67371521);
   (void) XR←ImportProcS(var←c60580, 67634946);
   (void) XR←ImportProcS(var←c60580, 67635458);
   (void) XR←ImportProcS(var←c60580, 67896579);
   (void) XR←ImportProcS(var←c60580, 134742786);
   (void) XR←ImportProcS(var←c60580, 67895555);
   var←c60580 = (word) XR←ImportInterface((word) "FunctionCache", (word) XR←GetTypeIndexS((word) (&string36)), 14);
   (* (( (ptr) gf←c0481)+161)/* var←c58436 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 1311237);
   (void) XR←ImportProcS(var←c60580, 135005443);
   (void) XR←ImportProcS(var←c60580, 67112192);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerDevice", (word) XR←GetTypeIndexS((word) (&string37)), 2);
   (* (( (ptr) gf←c0481)+151)/* var←c56420 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 69730569);
   var←c60580 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string38)), 84);
   (* (( (ptr) gf←c0481)+155)/* var←c56868 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 526594);
   (void) XR←ImportProcS(var←c60580, 790786);
   (void) XR←ImportProcS(var←c60580, 1853957);
   (void) XR←ImportProcS(var←c60580, 1593091);
   (void) XR←ImportProcS(var←c60580, 542978);
   (void) XR←ImportProcS(var←c60580, 526850);
   (void) XR←ImportProcS(var←c60580, 790018);
   (void) XR←ImportProcS(var←c60580, 526338);
   (void) XR←ImportProcS(var←c60580, 536578);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string39)), 42);
   (* (( (ptr) gf←c0481)+154)/* var←c56836 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 524802);
   (void) XR←ImportProcS(var←c60580, 67899395);
   (void) XR←ImportProcS(var←c60580, 268700417);
   (void) XR←ImportProcS(var←c60580, 67373057);
   var←c60580 = (word) XR←ImportInterface((word) &string40, (word) XR←GetTypeIndexS((word) (&string41)), 8);
   (* (( (ptr) gf←c0481)+166)/* var←c60388 */  ) = var←c60580;
   var←c60580 = (word) XR←ImportInterface((word) "ImagerBox", (word) XR←GetTypeIndexS((word) (&string42)), 7);
   (* (( (ptr) gf←c0481)+162)/* var←c59716 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 270533634);
   (void) XR←ImportProcS(var←c60580, 269484033);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerColor", (word) XR←GetTypeIndexS((word) (&string43)), 32);
   (* (( (ptr) gf←c0481)+167)/* var←c60516 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 68159492);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerColorPrivate", (word) XR←GetTypeIndexS((word) (&string44)), 48);
   (* (( (ptr) gf←c0481)+156)/* var←c56996 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 67905795);
   (void) XR←ImportProcS(var←c60580, 67379201);
   (void) XR←ImportProcS(var←c60580, 67643138);
   (void) XR←ImportProcS(var←c60580, 67641090);
   (void) XR←ImportProcS(var←c60580, 67642882);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerDeviceColor", (word) XR←GetTypeIndexS((word) (&string45)), 14);
   (* (( (ptr) gf←c0481)+152)/* var←c56484 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 1051396);
   (void) XR←ImportProcS(var←c60580, 67371265);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerMaskCache", (word) XR←GetTypeIndexS((word) (&string46)), 21);
   (* (( (ptr) gf←c0481)+149)/* var←c56260 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 67375105);
   (void) XR←ImportProcS(var←c60580, 4460802);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerMaskCapture", (word) XR←GetTypeIndexS((word) (&string47)), 5);
   (* (( (ptr) gf←c0481)+163)/* var←c59780 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 68158212);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerPixel", (word) XR←GetTypeIndexS((word) (&string48)), 9);
   (* (( (ptr) gf←c0481)+160)/* var←c57796 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 2361350);
   (void) XR←ImportProcS(var←c60580, 68420869);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerPixelArray", (word) XR←GetTypeIndexS((word) (&string49)), 13);
   (* (( (ptr) gf←c0481)+159)/* var←c57668 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 2623240);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerPrivate", (word) XR←GetTypeIndexS((word) (&string50)), 25);
   (* (( (ptr) gf←c0481)+165)/* var←c60132 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 1313028);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerRaster", (word) XR←GetTypeIndexS((word) (&string51)), 13);
   (* (( (ptr) gf←c0481)+148)/* var←c56196 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 67371009);
   (void) XR←ImportProcS(var←c60580, 1312514);
   (void) XR←ImportProcS(var←c60580, 67371521);
   (void) XR←ImportProcS(var←c60580, 68419845);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string52)), 60);
   (* (( (ptr) gf←c0481)+153)/* var←c56516 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 68425474);
   (void) XR←ImportProcS(var←c60580, 1322500);
   (void) XR←ImportProcS(var←c60580, 2109189);
   (void) XR←ImportProcS(var←c60580, 798979);
   (void) XR←ImportProcS(var←c60580, 1586437);
   (void) XR←ImportProcS(var←c60580, 1062660);
   (void) XR←ImportProcS(var←c60580, 1583621);
   (void) XR←ImportProcS(var←c60580, 1324037);
   (void) XR←ImportProcS(var←c60580, 1062404);
   (void) XR←ImportProcS(var←c60580, 68161027);
   (void) XR←ImportProcS(var←c60580, 268801);
   (void) XR←ImportProcS(var←c60580, 273409);
   (void) XR←ImportProcS(var←c60580, 67901442);
   (void) XR←ImportProcS(var←c60580, 68432389);
   (void) XR←ImportProcS(var←c60580, 267009);
   (void) XR←ImportProcS(var←c60580, 262913);
   (void) XR←ImportProcS(var←c60580, 2370311);
   (void) XR←ImportProcS(var←c60580, 1321220);
   (void) XR←ImportProcS(var←c60580, 68686339);
   (void) XR←ImportProcS(var←c60580, 67371521);
   (void) XR←ImportProcS(var←c60580, 1320708);
   (void) XR←ImportProcS(var←c60580, 68685571);
   var←c60580 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string53)), 55);
   (* (( (ptr) gf←c0481)+150)/* var←c56324 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 135013378);
   (void) XR←ImportProcS(var←c60580, 67371521);
   (void) XR←ImportProcS(var←c60580, 67908355);
   (void) XR←ImportProcS(var←c60580, 134493185);
   (void) XR←ImportProcS(var←c60580, 262401);
   (void) XR←ImportProcS(var←c60580, 67383041);
   (void) XR←ImportProcS(var←c60580, 269756930);
   (void) XR←ImportProcS(var←c60580, 1319173);
   (void) XR←ImportProcS(var←c60580, 67371777);
   var←c60580 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string54)), 11);
   (* (( (ptr) gf←c0481)+158)/* var←c57508 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 67372033);
   (void) XR←ImportProcS(var←c60580, 67371521);
   var←c60580 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string55)), 19);
   (* (( (ptr) gf←c0481)+157)/* var←c57124 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 270012418);
   (void) XR←ImportProcS(var←c60580, 68160769);
   var←c60580 = (word) XR←ImportInterface((word) "Vector2", (word) XR←GetTypeIndexS((word) (&string56)), 22);
   (* (( (ptr) gf←c0481)+164)/* var←c60100 */  ) = var←c60580;
   (void) XR←ImportProcS(var←c60580, 135266818);
   (void) XR←ImportProcS(var←c60580, 135266306);
   var←c60580 = (word) XR←ExportInterface((word) &string40, (word) XR←GetTypeIndexS((word) (&string41)), 8);
   (* (( (ptr) gf←c0481)+168)/* var←c60612 */  ) = var←c60580;
   (void) XR←ExportVar(var←c60580, 0, (word) (( (bPt) gf←c0481)+32)/* classCode←v3980 */ );
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+492)/* var←c55588 */ , 69206278, (word) "Create");
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+484)/* var←c55556 */ , 524802, (word) "SetBitmap");
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+476)/* var←c55524 */ , 67371777, (word) "GetBitmap");
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+460)/* var←c55460 */ , 1049602, (word) "SetBrick");
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+444)/* var←c55396 */ , 201590017, (word) "GetBrick");
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+436)/* var←c55364 */ , 525826, (word) "SetSeparation");
   (void) XR←ExportProcS(var←c60580, (word) (( (bPt) gf←c0481)+428)/* var←c55332 */ , 67372801, (word) "GetSeparation");
   }

static void ImagerBitmapContextImpl←P0(formal←c093, formal←c082)
   word formal←c093;
   word formal←c082;
   {
   register ptr gf←c60644 =  (ptr) &globalframe;
   /* ImagerBitmapContextImpl: */ 
SOURCE(1767, 32891)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   (* (( (ptr) gf←c60644)+145) ) = 4;
   (* (( (ptr) gf←c60644)+146) ) = 4;
SOURCE(2681, 32)
   (* (( (ptr) gf←c60644)+8)/* classCode←v3980 */  ) = (* (( (ptr) gf←c60644)+56) );
SOURCE(2715, 28)
   (* (( (ptr) gf←c60644)+9)/* fontCacheMaxSize←v4008 */  ) = 4000;
SOURCE(5545, 124)
   (void) MakeSimpleBrick←P240((word) (( (bPt) gf←c60644)+40)/* coarseBrick←v4232 */ , (*  (W4Pt) (( (ptr) gf←c60644)+127)/* var←c55684 */  ))
   ;
SOURCE(5672, 122)
   (void) MakeSimpleBrick←P240((word) (( (bPt) gf←c60644)+52)/* fineBrick←v4260 */ , (*  (W4Pt) (( (ptr) gf←c60644)+131)/* var←c55748 */  ))
   ;
SOURCE(5797, 43)
   (*  (W3Pt) (( (ptr) gf←c60644)+16)/* defaultBrick←v4288 */  ) = (*  (W3Pt) (( (ptr) gf←c60644)+13)/* fineBrick←v4260 */  );
SOURCE(7870, 20)
   (* (( (ptr) gf←c60644)+19)/* allowedColorSpaces←v4484 */  ) = XR←NewObject(8, (* (( (ptr) gf←c60644)+31) ));
   {
      word var←c56004;
      var←c56004 = (* (( (ptr) gf←c60644)+19)/* allowedColorSpaces←v4484 */  );
      };
SOURCE(14177, 21)
   (* (( (ptr) gf←c60644)+20)/* newStuff←v4708 */  ) = 1;
SOURCE(21311, 110)
   {
      word var←c56036;
      word var←c56100;
      {
         word pd57;
         pd57 = (* (( (ptr) (* (( (ptr) gf←c60644)+147)/* var←c56068 */  ))+5) );
         var←c56036 = (word) ( *( (fPt) ((*  (ptr) pd57 ))))(101, 0, 0, pd57);
         };
      var←c56100 = XR←NewObject(16, (* (( (ptr) gf←c60644)+35) ));
      (*  (ptr) var←c56100 ) = var←c56036;
      (* (( (ptr) gf←c60644)+22)/* objectTable←v5100 */  ) = var←c56100;
      };
SOURCE(22124, 21)
   (* (( (ptr) gf←c60644)+23)/* maxObjects←v5268 */  ) = 500;
SOURCE(22147, 34)
   (* (( (ptr) gf←c60644)+24)/* maxWordsOfStorage←v5296 */  ) = 250000;
SOURCE(33863, 490)
   {
      word var←c56132;
      var←c56132 = XR←NewObject(60, (* (( (ptr) gf←c60644)+36) ));
      (*  (ptr) var←c56132 ) = (word) (( (bPt) gf←c60644)+388)/* var←c55172 */ ;
      (* (( (ptr) var←c56132)+2) ) = (word) (( (bPt) gf←c60644)+452)/* var←c55428 */ ;
      (* (( (ptr) var←c56132)+3) ) = (word) (( (bPt) gf←c60644)+356)/* var←c55044 */ ;
      (* (( (ptr) var←c56132)+4) ) = (word) (( (bPt) gf←c60644)+348)/* var←c55012 */ ;
      (* (( (ptr) var←c56132)+5) ) = (word) (( (bPt) gf←c60644)+340)/* var←c54980 */ ;
      (* (( (ptr) var←c56132)+6) ) = XR←CheckProc(0);
      (* (( (ptr) var←c56132)+7) ) = (word) (( (bPt) gf←c60644)+332)/* var←c54948 */ ;
      (* (( (ptr) var←c56132)+8) ) = (word) (( (bPt) gf←c60644)+324)/* var←c54916 */ ;
      (* (( (ptr) var←c56132)+10) ) = (word) (( (bPt) gf←c60644)+316)/* var←c54884 */ ;
      (* (( (ptr) var←c56132)+11) ) = (word) (( (bPt) gf←c60644)+308)/* var←c54852 */ ;
      (* (( (ptr) var←c56132)+12) ) = (word) (( (bPt) gf←c60644)+236)/* var←c54564 */ ;
      (* (( (ptr) var←c56132)+13) ) = (word) (( (bPt) gf←c60644)+228)/* var←c54532 */ ;
      (* (( (ptr) gf←c60644)+25)/* deviceClass←v5632 */  ) = var←c56132;
      };
SOURCE(34356, 49)
   {
      word var←c56164;
      word class←v54300;
SOURCE(34407, 162)
      class←v54300 = 0;
SOURCE(34473, 49)
      {
         word pd58;
         pd58 = (* (( (ptr) (* (( (ptr) gf←c60644)+148)/* var←c56196 */  ))+4) );
         class←v54300 = (word) ( *( (fPt) ((*  (ptr) pd58 ))))((* ((( (ptr) gf←c60644)+8)/* classCode←v3980 */ ) ), pd58);
         };
SOURCE(34524, 45)
      (* (( (ptr) class←v54300)+54) ) = (word) (( (bPt) gf←c60644)+252)/* var←c54628 */ ;
SOURCE(34407, 162)
      var←c56164 = class←v54300;
      (* (( (ptr) gf←c60644)+26)/* contextClass←v5660 */  ) = var←c56164;
      };
SOURCE(34575, 83)
   {
      W17 var←c092;
      W16 var←c56228;
      (*  (ptr) (word) &var←c092 ) = (* (( (ptr) gf←c60644)+56) );
      (*  (ptr) &var←c56228 ) = 4000;
      (* (( (ptr) &var←c56228)+1) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c56228)+2) ) = (*  (ptr) &fc59 );
      (* (( (ptr) &var←c56228)+3) ) = (*  (ptr) &fc60 );
      (* (( (ptr) &var←c56228)+4) ) = (*  (ptr) &fc61 );
      (* (( (ptr) &var←c56228)+5) ) = (*  (ptr) &fc62 );
      (* (( (ptr) &var←c56228)+6) ) = (*  (ptr) &fc60 );
      (* (( (ptr) &var←c56228)+7) ) = (*  (ptr) &fc63 );
      (* (( (ptr) &var←c56228)+8) ) = (*  (ptr) &fc59 );
      (* (( (ptr) &var←c56228)+9) ) = (*  (ptr) &fc60 );
      (* (( (ptr) &var←c56228)+10) ) = (*  (ptr) &fc60 );
      (* (( (ptr) &var←c56228)+11) ) = (*  (ptr) &fc60 );
      (* (( (ptr) &var←c56228)+12) ) = (*  (ptr) &fc60 );
      (* (( (ptr) &var←c56228)+13) ) = 0;
      (* (( (ptr) &var←c56228)+14) ) = 0;
      (* (( (ptr) &var←c56228)+15) ) = 0;
      (*  (W16Pt) (( (ptr) (word) &var←c092) + 1) ) = (var←c56228
      );
      {
         word pd64;
         pd64 = (* (( (ptr) (* (( (ptr) gf←c60644)+149)/* var←c56260 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd64 ))))((word) (&var←c092), pd64);
         };
      };
   }

static word Create←P60(deviceSpaceSize←v6476, scanMode←v6504, surfaceUnitsPerInch←v6532, surfaceUnitsPerPixel←v6560, pixelUnits←v6588, fontCacheName←v6616)
   W2 deviceSpaceSize←v6476;
   word scanMode←v6504;
   W2 surfaceUnitsPerInch←v6532;
   word surfaceUnitsPerPixel←v6560;
   word pixelUnits←v6588;
   word fontCacheName←v6616;
   {
   register ptr gf←c60676 =  (ptr) &globalframe;
   word var←c6660;
   word data←v12444;
   word deviceParm←v12472;
   word context←v12500;
   /* Create: */ 
SOURCE(3816, 931)
SOURCE(4000, 71)
   {
      word var←c56292;
      word var←c56356;
      {
         word pd65;
         pd65 = (* (( (ptr) (* (( (ptr) gf←c60676)+150)/* var←c56324 */  ))+7) );
         var←c56292 = (word) ( *( (fPt) ((*  (ptr) pd65 ))))((*  (ptr) (&fc59) ), pd65);
         };
      var←c56356 = XR←NewObject(92, (* (( (ptr) gf←c60676)+39) ));
      (* (( (ptr) var←c56356)+4) ) = 1;
      (* (( (ptr) var←c56356)+17) ) = var←c56292;
      data←v12444 = var←c56356;
      };
SOURCE(4073, 337)
   {
      word var←c56388;
      {
         word pd66;
         if ((fontCacheName←v6616 == 0)) {
            var←c56388 = 0;
            }
         else {
            pd66 = (* (( (ptr) (* (( (ptr) gf←c60676)+149)/* var←c56260 */  ))+20) );
            var←c56388 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(fontCacheName←v6616, pd66);
            };
         };
      {
         word pd67;
         word idx68;
         word idx69;
         pd67 = (* (( (ptr) (* (( (ptr) gf←c60676)+151)/* var←c56420 */  ))+5) );
         deviceParm←v12472 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))((* (( (ptr) gf←c60676)+25)/* deviceClass←v5632 */  ), (
               idx68 = (word) deviceSpaceSize←v6476.f0,
               SGNCK(idx68)
               ), (
               idx69 = (word) deviceSpaceSize←v6476.f1,
               SGNCK(idx69)
               ), scanMode←v6504, surfaceUnitsPerInch←v6532, surfaceUnitsPerPixel←v6560
            , var←c56388, 0, 0, pd67);
         };
      };
SOURCE(4412, 145)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c60676)+148)/* var←c56196 */  ))+5) );
      context←v12500 = (word) ( *( (fPt) ((*  (ptr) pd70 ))))((* (( (ptr) gf←c60676)+26)/* contextClass←v5660 */  ), (* (( (ptr) gf←c60676)+25)
         /* deviceClass←v5632 */  ), deviceParm←v12472, data←v12444, pixelUnits←v6588, pd70);
      };
SOURCE(4559, 25)
   (*  (W3Pt) (( (ptr) data←v12444)+11) ) = (*  (W3Pt) (( (ptr) gf←c60676)+16)/* defaultBrick←v4288 */  );
SOURCE(4586, 87)
   {
      word var←c56452;
      {
         word pd71;
         pd71 = (* (( (ptr) (* (( (ptr) gf←c60676)+148)/* var←c56196 */  ))+6) );
         var←c56452 = (word) ( *( (fPt) ((*  (ptr) pd71 ))))(context←v12500, pd71);
         };
      {
         word pd72;
         pd72 = (* (( (ptr) (* (( (ptr) gf←c60676)+152)/* var←c56484 */  ))+5) );
         (* (( (ptr) data←v12444)+14) ) = (word) ( *( (fPt) ((*  (ptr) pd72 ))))(var←c56452, pd72);
         };
      };
SOURCE(4675, 54)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c60676)+148)/* var←c56196 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))(context←v12500, (*  (W4Pt) (( (ptr) gf←c60676)+135)/* var←c55812 */  ), pd73);
      };
SOURCE(4731, 16)
   return(context←v12500);
   }

static void SetBitmap←P120(context←v6720, bitmap←v6748)
   word context←v6720;
   word bitmap←v6748;
   {
   register ptr gf←c60708 =  (ptr) &globalframe;
   word device←v12544;
   word data←v12572;
   /* SetBitmap: */ 
SOURCE(4753, 267)
SOURCE(4818, 48)
   {
      word pd74;
      pd74 = (* (( (ptr) (* (( (ptr) gf←c60708)+148)/* var←c56196 */  ))+6) );
      device←v12544 = (word) ( *( (fPt) ((*  (ptr) pd74 ))))(context←v6720, pd74);
      };
SOURCE(4868, 32)
   data←v12572 = XR←Narrow((* (( (ptr) device←v12544)+7) ), (* (( (ptr) gf←c60708)+39) ));
SOURCE(4902, 20)
   (* (( (ptr) data←v12572)+1) ) = bitmap←v6748;
SOURCE(4924, 96)
   {
      word pd75;
      word tcp76;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c60708)+148)/* var←c56196 */  ))+11) );
      if ((bitmap←v6748 == 0)) {
         tcp76 = (word) (( (ptr) gf←c60708)+139);
         /* var←c55876 */ }
      else {
         tcp76 = (word) bitmap←v6748;
         };
      (void) ( *( (fPt) ((*  (ptr) pd75 ))))(context←v6720, (*  (W4Pt) tcp76 ), pd75);
      };
   }

static word GetBitmap←P180(context←v6808)
   word context←v6808;
   {
   register ptr gf←c60740 =  (ptr) &globalframe;
   word var←c6852;
   word device←v12616;
   word data←v12644;
   /* GetBitmap: */ 
SOURCE(5026, 170)
SOURCE(5092, 48)
   {
      word pd77;
      pd77 = (* (( (ptr) (* (( (ptr) gf←c60740)+148)/* var←c56196 */  ))+6) );
      device←v12616 = (word) ( *( (fPt) ((*  (ptr) pd77 ))))(context←v6808, pd77);
      };
SOURCE(5142, 32)
   data←v12644 = XR←Narrow((* (( (ptr) device←v12616)+7) ), (* (( (ptr) gf←c60740)+39) ));
SOURCE(5176, 20)
   return((* (( (ptr) data←v12644)+1) ));
   }

static void MakeSimpleBrick←P240(formal←c0122, t←v6912)
   word formal←c0122;
   W4 t←v6912;
   {
   register ptr gf←c60772 =  (ptr) &globalframe;
   W3 var←c7048;
   word b←v12688;
   /* MakeSimpleBrick: */ 
SOURCE(5202, 339)
SOURCE(5308, 78)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c60772)+153)/* var←c56516 */  ))+19) );
      b←v12688 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))((*  (W4Pt) (( (ptr) gf←c60772)+143)/* var←c55940 */  ), 8, 0, pd78);
      };
SOURCE(5388, 84)
   {
      register word s←v12732 = 0;
      lab←L100005: ;
SOURCE(5412, 60)
      {
         register word f←v12776 = 0;
         lab←L100009: ;
SOURCE(5436, 36)
         {
            W2 var←c56548;
            var←c56548.f0 = s←v12732;
            var←c56548.f1 = f←v12776;
            {
               word pd79;
               word ix80;
               pd79 = (* (( (ptr) (* (( (ptr) gf←c60772)+153)/* var←c56516 */  ))+43) );
               (void) ( *( (fPt) ((*  (ptr) pd79 ))))(b←v12688, var←c56548,  (unsigned) (
                     ix80 = (BCK(f←v12776, 4) + 4),
                     ((* (( (ptr) &t←v6912)+BCK(s←v12732, 4)) ) >> (28 - ((word) ix80 << 2))) & 017
                     ), 0, pd79);
               };
            };
         if ((f←v12776 >= 3)) {
            goto lab←L100006;
            };
         f←v12776 = (f←v12776 + 1);
         goto lab←L100009;
         lab←L100006: ;
         };
      if ((s←v12732 >= 3)) {
         goto lab←L100002;
         };
      s←v12732 = (s←v12732 + 1);
      goto lab←L100005;
      lab←L100002: ;
      };
SOURCE(5492, 49)
   var←c7048.f0 = 15;
   var←c7048.f1 = b←v12688;
   var←c7048.f2 = 0;
   /* removed tail goto */ 
   (*  (W3Pt) formal←c0122 ) = var←c7048;
   return;
   }

static void SetBrick←P300(context←v7108, brick←v7136)
   word context←v7108;
   W3 brick←v7136;
   {
   register ptr gf←c60804 =  (ptr) &globalframe;
   word device←v12820;
   /* SetBrick: */ 
SOURCE(5843, 329)
SOURCE(5914, 48)
   {
      word pd81;
      pd81 = (* (( (ptr) (* (( (ptr) gf←c60804)+148)/* var←c56196 */  ))+6) );
      device←v12820 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))(context←v7108, pd81);
      };
SOURCE(5964, 208)
   {
      word var←c56612;
      var←c56612 = (* (( (ptr) device←v12820)+7) );
      if ((var←c56612 == 0)) {
         goto lab←L100010;
         };
      if (((* (( (ptr) gf←c60804)+39) ) == XR←GetReferentType(var←c56612))) {
         {
            word data←v12864;
            data←v12864 = var←c56612;
SOURCE(6009, 74)
            if (((* (( (ptr) data←v12864)+11) ) != brick←v7136.f0)) {
SOURCE(6058, 25)
               (* (( (ptr) data←v12864)+16) ) = 0;
               };
SOURCE(6088, 18)
            (*  (W3Pt) (( (ptr) data←v12864)+11) ) = brick←v7136;
SOURCE(6108, 64)
            if (((*  (ptr) data←v12864 ) != 0)) {
SOURCE(6133, 39)
               (void) BitmapSetColor←P840(device←v12820, (*  (ptr) data←v12864 ), 0);
               };
            };
         }
      else {
         lab←L100010: ;
         };
      };
   }

static void BitmapSetHalftoneProperties←P360(device←v7196, halftoneProperties←v7224)
   word device←v7196;
   word halftoneProperties←v7224;
   {
   register ptr gf←c60836 =  (ptr) &globalframe;
   word black←v12908;
   /* BitmapSetHalftoneProperties: */ 
SOURCE(6198, 518)
SOURCE(6305, 58)
   black←v12908 = halftoneProperties←v7224;
SOURCE(6365, 75)
   lab←L100013: ;
   if ( ( (black←v12908 != 0) ? ((* (( (ptr) black←v12908)+1) ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100011;
      };
SOURCE(6414, 26)
   black←v12908 = (* (( (ptr) black←v12908)+6) );
   goto lab←L100013;
   lab←L100011: ;
SOURCE(6442, 274)
   if ((black←v12908 != 0)) {
SOURCE(6462, 254)
      {
         word var←c56644;
         var←c56644 = (* (( (ptr) device←v7196)+7) );
         if ((var←c56644 == 0)) {
            goto lab←L100014;
            };
         if (((* (( (ptr) gf←c60836)+39) ) == XR←GetReferentType(var←c56644))) {
            {
               word data←v12952;
               data←v12952 = var←c56644;
SOURCE(6505, 213)
               {
                  W3 brick←v12996;
SOURCE(6507, 44)
                  brick←v12996 = (*  (W3Pt) (( (ptr) black←v12908)+2) );
SOURCE(6553, 74)
                  if (((* (( (ptr) data←v12952)+11) ) != brick←v12996.f0)) {
SOURCE(6602, 25)
                     (* (( (ptr) data←v12952)+16) ) = 0;
                     };
SOURCE(6632, 18)
                  (*  (W3Pt) (( (ptr) data←v12952)+11) ) = brick←v12996;
SOURCE(6652, 64)
                  if (((*  (ptr) data←v12952 ) != 0)) {
SOURCE(6677, 39)
                     (void) BitmapSetColor←P840(device←v7196, (*  (ptr) data←v12952 ), 0);
                     };
                  };
               };
            }
         else {
            lab←L100014: ;
            };
         };
      };
   }

static void GetBrick←P420(formal←c0140, context←v7284)
   word formal←c0140;
   word context←v7284;
   {
   register ptr gf←c60868 =  (ptr) &globalframe;
   W3 var←c7328;
   word device←v13040;
   /* GetBrick: */ 
SOURCE(6742, 229)
SOURCE(6815, 48)
   {
      word pd82;
      pd82 = (* (( (ptr) (* (( (ptr) gf←c60868)+148)/* var←c56196 */  ))+6) );
      device←v13040 = (word) ( *( (fPt) ((*  (ptr) pd82 ))))(context←v7284, pd82);
      };
SOURCE(6865, 65)
   {
      word var←c56676;
      var←c56676 = (* (( (ptr) device←v13040)+7) );
      if ((var←c56676 == 0)) {
         goto lab←L100016;
         };
      if (((* (( (ptr) gf←c60868)+39) ) == XR←GetReferentType(var←c56676))) {
         {
            word data←v13084;
            data←v13084 = var←c56676;
SOURCE(6910, 20)
            var←c7328 = (*  (W3Pt) (( (ptr) data←v13084)+11) );
            goto lab←L100015;
            };
         }
      else {
         lab←L100016: ;
         };
      };
SOURCE(6950, 21)
   var←c7328.f0 = 0;
   var←c7328.f1 = 0;
   var←c7328.f2 = 0;
   /* removed tail goto */ 
   lab←L100015: ;
   (*  (W3Pt) formal←c0140 ) = var←c7328;
   return;
   }

static void SetSeparation←P480(context←v7388, separation←v7416)
   word context←v7388;
   word separation←v7416;
   {
   register ptr gf←c60900 =  (ptr) &globalframe;
   word device←v13128;
   /* SetSeparation: */ 
SOURCE(6975, 251)
SOURCE(7043, 48)
   {
      word pd83;
      pd83 = (* (( (ptr) (* (( (ptr) gf←c60900)+148)/* var←c56196 */  ))+6) );
      device←v13128 = (word) ( *( (fPt) ((*  (ptr) pd83 ))))(context←v7388, pd83);
      };
SOURCE(7093, 133)
   {
      word var←c56772;
      var←c56772 = (* (( (ptr) device←v13128)+7) );
      if ((var←c56772 == 0)) {
         goto lab←L100017;
         };
      if (((* (( (ptr) gf←c60900)+39) ) == XR←GetReferentType(var←c56772))) {
         {
            word data←v13172;
            data←v13172 = var←c56772;
SOURCE(7138, 28)
            (* (( (ptr) data←v13172)+10) ) = separation←v7416;
SOURCE(7168, 58)
            {
               word var←c56804;
               {
                  word pd84;
                  pd84 = (* (( (ptr) (* (( (ptr) gf←c60900)+154)/* var←c56836 */  ))+12) );
                  var←c56804 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))(context←v7388, pd84);
                  };
               {
                  word pd85;
                  pd85 = (* (( (ptr) (* (( (ptr) gf←c60900)+155)/* var←c56868 */  ))+52) );
                  (void) ( *( (fPt) ((*  (ptr) pd85 ))))(context←v7388, var←c56804, pd85);
                  };
               };
            };
         }
      else {
         lab←L100017: ;
         };
      };
   }

static word GetSeparation←P540(context←v7476)
   word context←v7476;
   {
   register ptr gf←c60932 =  (ptr) &globalframe;
   word var←c7520;
   word device←v13216;
   /* GetSeparation: */ 
SOURCE(7280, 218)
SOURCE(7345, 48)
   {
      word pd86;
      pd86 = (* (( (ptr) (* (( (ptr) gf←c60932)+148)/* var←c56196 */  ))+6) );
      device←v13216 = (word) ( *( (fPt) ((*  (ptr) pd86 ))))(context←v7476, pd86);
      };
SOURCE(7395, 70)
   {
      word var←c56900;
      var←c56900 = (* (( (ptr) device←v13216)+7) );
      if ((var←c56900 == 0)) {
         goto lab←L100018;
         };
      if (((* (( (ptr) gf←c60932)+39) ) == XR←GetReferentType(var←c56900))) {
         {
            word data←v13260;
            data←v13260 = var←c56900;
SOURCE(7440, 25)
            return((* (( (ptr) data←v13260)+10) ));
            };
         }
      else {
         lab←L100018: ;
         };
      };
SOURCE(7485, 13)
   return(0);
   }

static void GetExtendedBox←P600(formal←c0158, brick←v7580)
   word formal←c0158;
   W3 brick←v7580;
   {
   W4 var←c7624;
   W4 box←v13332;
   W2 size←v13360;
   word fSizeBox←v13388;
   /* GetExtendedBox: */ 
SOURCE(7502, 364)
SOURCE(7594, 50)
   box←v13332 = (*  (W4Pt) brick←v7580.f1 );
SOURCE(7646, 52)
   {
      W4 b←v29804;
      b←v29804 = (*  (W4Pt) brick←v7580.f1 );
      size←v13360.f0 = (b←v29804.f2 - b←v29804.f0);
      size←v13360.f1 = (b←v29804.f3 - b←v29804.f1);
      };
SOURCE(7700, 22)
   {
      word idx87;
      fSizeBox←v13388 = (
         idx87 = (word) size←v13360.f1,
         SGNCK(idx87)
         );
      };
SOURCE(7724, 124)
   {
      word idx88;
      if ( (  (  ( (brick←v7580.f2 == 0) ?  ( ( (int)size←v13360.f1 >=  (int)1) ? ( (int)size←v13360.f1 <  (int)32) : 0 )  : 0 )  ?  ( ( (int)size←v13360.f0 >=  (int)1) ? ( (int)size←v13360.f0 <  (int)16) : 0 )  : 0 )  ? ((32 % (
         idx88 = (word) size←v13360.f1,
         SGNCK(idx88)
         )) == 0) : 0 ) ) {
SOURCE(7823, 25)
         box←v13332.f3 = (box←v13332.f1 + 32);
         };
      };
SOURCE(7853, 13)
   var←c7624 = box←v13332;
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0158 ) = var←c7624;
   return;
   }

static word GetColorTransform←P660(data←v7768, colorOperator←v7796)
   word data←v7768;
   word colorOperator←v7796;
   {
   register ptr gf←c60964 =  (ptr) &globalframe;
   word var←c7840;
   word colorSpace←v13432;
   /* GetColorTransform: */ 
SOURCE(7940, 709)
SOURCE(8055, 114)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c60964)+156)/* var←c56996 */  ))+42) );
      colorSpace←v13432 = (word) ( *( (fPt) ((*  (ptr) pd89 ))))(colorOperator←v7796, (* (( (ptr) gf←c60964)+19)/* allowedColorSpaces←v4484 */  ), pd89)
      ;
      };
SOURCE(8171, 444)
   if ((((* (( (ptr) data←v7768)+16) ) == 0) || (colorSpace←v13432 != (*  (ptr) (* (( (ptr) data←v7768)+16) ) ))) || ((* (( (ptr) data←v7768)+15)
    ) != (* (( (ptr) (* (( (ptr) data←v7768)+14) ))+11) ))) {
SOURCE(8290, 327)
      {
         word rangeMax←v13476;
         word ct←v13504;
SOURCE(8292, 102)
         {
            word pd90;
            float tf91;
            pd90 = (* (( (ptr) (* (( (ptr) gf←c60964)+156)/* var←c56996 */  ))+35) );
            rangeMax←v13476 = (word) ( *( (fPt) ((*  (ptr) pd90 ))))(1, (
                  tf91 = (float)(unsigned)((* (( (ptr) data←v7768)+11) ) + 1),  *(word*)&tf91
                  ), pd90);
            };
SOURCE(8396, 153)
         ct←v13504 = XR←NewObject(16, (* (( (ptr) gf←c60964)+40) ));
         (* (( (ptr) ct←v13504)+1) ) = rangeMax←v13476;
         (* (( (ptr) ct←v13504)+2) ) = (word) (( (bPt) gf←c60964)+404)/* var←c55236 */ ;
         (* (( (ptr) ct←v13504)+3) ) = (* (( (ptr) data←v7768)+14) );
SOURCE(8551, 24)
         (* (( (ptr) data←v7768)+16) ) = ct←v13504;
SOURCE(8577, 38)
         (* (( (ptr) data←v7768)+15) ) = (* (( (ptr) (* (( (ptr) data←v7768)+14) ))+11) );
         };
      };
SOURCE(8620, 29)
   return((* (( (ptr) data←v7768)+16) ));
   }

static void Transform←P720(self←v7900, in←v7928, out←v7956)
   word self←v7900;
   word in←v7928;
   word out←v7956;
   {
   register ptr gf←c60996 =  (ptr) &globalframe;
   word control←v13548;
   /* Transform: */ 
SOURCE(8653, 263)
SOURCE(8786, 65)
   control←v13548 = XR←Narrow((* (( (ptr) self←v7900)+3) ), (* (( (ptr) gf←c60996)+41) ));
SOURCE(8853, 63)
   {
      word var←c57060;
      word var←c0538;
      var←c57060 = (* (( (ptr) self←v7900)+1) );
      {
         word limit92;
         var←c0538 = (* ((( (ptr) var←c57060)+2)+(
               limit92 = (* (( (ptr) var←c57060)+1) ),
               BCK(0, limit92)
               )) );
         };
      {
         word pd93;
         word limit94;
         pd93 = (* (( (ptr) (* (( (ptr) gf←c60996)+152)/* var←c56484 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd93 ))))(control←v13548, (* ((( (ptr) in←v7928)+2)+(
                  limit94 = (* (( (ptr) in←v7928)+1) ),
                  BCK(0, limit94)
                  )) ), var←c0538, out←v7956, pd93);
         };
      };
   }

static void MakeTile←P780(formal←c0185, sample←v8016, brick←v8044)
   word formal←c0185;
   word sample←v8016;
   W3 brick←v8044;
   {
   register ptr gf←c61028 =  (ptr) &globalframe;
   W3 var←c8088;
   W4 box←v13592;
   word b←v13620;
   word sampleMap←v13648;
   /* MakeTile: */ 
SOURCE(8922, 698)
SOURCE(9014, 35)
   (void) GetExtendedBox←P600((word) &box←v13592, brick←v8044);
SOURCE(9051, 79)
   {
      word var←c57092;
      {
         word pd95;
         word idx96;
         pd95 = (* (( (ptr) (* (( (ptr) gf←c61028)+157)/* var←c57124 */  ))+17) );
         var←c57092 = (
            idx96 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))(box←v13592, pd95),
            SGNCK(idx96)
            );
         };
      {
         word pd97;
         pd97 = (* (( (ptr) (* (( (ptr) gf←c61028)+153)/* var←c56516 */  ))+6) );
         b←v13620 = (word) ( *( (fPt) ((*  (ptr) pd97 ))))(var←c57092, pd97);
         };
      };
SOURCE(9132, 57)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c61028)+153)/* var←c56516 */  ))+22) );
      sampleMap←v13648 = (word) ( *( (fPt) ((*  (ptr) pd98 ))))(box←v13592, 1, 0, pd98);
      };
SOURCE(9191, 314)
   {
      register word s←v13692;
      register word noName←c57156;
      s←v13692 = box←v13592.f0;
      noName←c57156 = box←v13592.f2;
      if (( (int)s←v13692 >=  (int)noName←c57156)) {
         goto lab←L100022;
         };
      lab←L100025: ;
SOURCE(9235, 108)
      {
         W2 var←c57188;
         var←c57188.f0 = s←v13692;
         var←c57188.f1 = box←v13592.f1;
         {
            word pd99;
            pd99 = (* (( (ptr) (* (( (ptr) gf←c61028)+153)/* var←c56516 */  ))+45) );
            (void) ( *( (fPt) ((*  (ptr) pd99 ))))(brick←v8044.f1, brick←v8044.f2, var←c57188, b←v13620, pd99);
            };
         };
SOURCE(9345, 72)
      {
         register word j←v13736 = 0;
         register word noName←c57220;
         noName←c57220 = (*  (ptr) b←v13620 );
         if (( (int)j←v13736 >=  (int)noName←c57220)) {
            goto lab←L100026;
            };
         lab←L100029: ;
SOURCE(9380, 37)
         {
            word limit100;
            word limit101;
            word limit102;
            if ((sample←v8016 > (* ((( (ptr) b←v13620)+2)+(
                  limit100 = (* (( (ptr) b←v13620)+1) ),
                  BCK(j←v13736, limit100)
                  )) ))) {
               (* ((( (ptr) b←v13620)+2)+(
                     limit101 = (* (( (ptr) b←v13620)+1) ),
                     BCK(j←v13736, limit101)
                     )) ) = 1;
               }
            else {
               (* ((( (ptr) b←v13620)+2)+(
                     limit102 = (* (( (ptr) b←v13620)+1) ),
                     BCK(j←v13736, limit102)
                     )) ) = 0;
               };
            };
         j←v13736 = (j←v13736 + 1);
         if (( (int)j←v13736 <  (int)noName←c57220)) {
            goto lab←L100029;
            };
         lab←L100026: ;
         };
SOURCE(9428, 77)
      {
         W2 var←c57252;
         W2 var←c57284;
         var←c57252.f0 = s←v13692;
         var←c57252.f1 = box←v13592.f1;
         var←c57284.f0 = 0;
         var←c57284.f1 = 1;
         {
            word pd103;
            pd103 = (* (( (ptr) (* (( (ptr) gf←c61028)+153)/* var←c56516 */  ))+47) );
            (void) ( *( (fPt) ((*  (ptr) pd103 ))))(sampleMap←v13648, var←c57252, var←c57284, b←v13620, 0, 2147483647
               , 0, pd103);
            };
         };
      s←v13692 = (s←v13692 + 1);
      if (( (int)s←v13692 <  (int)noName←c57156)) {
         goto lab←L100025;
         };
      lab←L100022: ;
      };
SOURCE(9516, 37)
   {
      word pd104;
      pd104 = (* (( (ptr) (* (( (ptr) gf←c61028)+153)/* var←c56516 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd104 ))))(b←v13620, pd104);
      };
SOURCE(9555, 65)
   var←c8088.f0 = 1;
   var←c8088.f1 = sampleMap←v13648;
   var←c8088.f2 = brick←v8044.f2;
   /* removed tail goto */ 
   (*  (W3Pt) formal←c0185 ) = var←c8088;
   return;
   }

static void BitmapSetColor←P840(device←v8356, color←v8384, viewToDevice←v8412)
   word device←v8356;
   word color←v8384;
   word viewToDevice←v8412;
   {
   register ptr gf←c61060 =  (ptr) &globalframe;
   word data←v13780;
   word realRaster←v13808;
   word allowBitmaps←v13836;
   word hardSampledCase←v13864;
   /* BitmapSetColor: */ 
SOURCE(9946, 4225)
SOURCE(10032, 32)
   data←v13780 = XR←Narrow((* (( (ptr) device←v8356)+7) ), (* (( (ptr) gf←c61060)+39) ));
SOURCE(10066, 48)
   {
      word var←c57348;
      var←c57348 = (* (( (ptr) data←v13780)+1) );
      if ((var←c57348 == 0)) {
         goto lab←L100030;
         };
      if (((* (( (ptr) var←c57348)+6) ) == 0)) {
         {
            word r←v13908;
            r←v13908 = var←c57348;
            realRaster←v13808 = 1;
            };
         }
      else {
         lab←L100030: ;
         realRaster←v13808 = 0;
         };
      };
SOURCE(10198, 16)
   (*  (ptr) data←v13780 ) = 0;
SOURCE(10216, 17)
   (* (( (ptr) data←v13780)+18) ) = 0;
SOURCE(10235, 25)
   (* (( (ptr) data←v13780)+8) ) = 0;
SOURCE(10262, 153)
   if (((* (( (ptr) data←v13780)+19) ) != 0)) {
SOURCE(10311, 64)
      {
         word pd105;
         pd105 = (* (( (ptr) (* (( (ptr) gf←c61060)+153)/* var←c56516 */  ))+23) );
         (void) ( *( (fPt) ((*  (ptr) pd105 ))))((* ((( (ptr) data←v13780)+19)) ), pd105);
         };
SOURCE(10377, 38)
      (* (( (ptr) data←v13780)+19) ) = 0;
      };
SOURCE(10423, 2998)
   {
      word var←c57380;
      var←c57380 = color←v8384;
      if ((var←c57380 == 0)) {
         goto lab←L100031;
         };
      {
         word var←c57956;
         if ( ( ((*  (ptr) var←c57380 ) == 0) ? ((* (( (ptr) var←c57380)+1) ) == 0) : 0 ) ) {
            {
               word c←v13952;
               c←v13952 = var←c57380;
SOURCE(10480, 693)
               {
                  word transform←v13996;
                  word point←v14024;
                  word max←v14052;
                  word f←v14080;
SOURCE(10482, 87)
                  transform←v13996 = (word) GetColorTransform←P660(data←v13780, (* (( (ptr) c←v13952)+2) ));
SOURCE(10571, 91)
                  {
                     word pd107;
                     pd107 = (* (( (ptr) (* (( (ptr) gf←c61060)+156)/* var←c56996 */  ))+43) );
                     point←v14024 = (word) ( *( (fPt) ((*  (ptr) pd107 ))))(c←v13952, transform←v13996, pd107);
                     };
SOURCE(10664, 33)
                  {
                     word var←c57412;
                     var←c57412 = (* (( (ptr) transform←v13996)+1) );
                     {
                        word limit108;
                        max←v14052 = (* ((( (ptr) var←c57412)+2)+(
/*1*/   limit108 = (* (( (ptr) var←c57412)+1) ),
/*1*/   BCK(0, limit108)
/*1*/   )) );
                        };
                     };
SOURCE(10699, 18)
                  {
                     word limit109;
                     f←v14080 = (* ((( (ptr) point←v14024)+2)+(
                           limit109 = (* (( (ptr) point←v14024)+1) ),
                           BCK(0, limit109)
                           )) );
                     };
SOURCE(10719, 51)
                  {
                     word pd110;
                     pd110 = (* (( (ptr) (* (( (ptr) gf←c61060)+156)/* var←c56996 */  ))+36) );
                     point←v14024 = (word) ( *( (fPt) ((*  (ptr) pd110 ))))(point←v14024, pd110);
                     };
SOURCE(10772, 20)
                  (* (( (ptr) data←v13780)+3) ) = 0;
SOURCE(10794, 28)
                  (* (( (ptr) data←v13780) + 5) ) &= 4294967288;
SOURCE(10824, 14)
                  (*  (ptr) data←v13780 ) = c←v13952;
SOURCE(10904, 264)
                  {
                     word var←c57444;
                     var←c57444 = f←v14080;
                     {
                        word x111;
                        word x113;
                        word x114;
                        word x115;
                        word x116;
                        if (((
                           x111 = var←c57444,  *(float*)&x111
                           ) < (
                           x113 = (*  (ptr) &fc112 ),  *(float*)&x113
                           ))) {
SOURCE(10929, 20)
                           (* (( (ptr) data←v13780)+3) ) = 0;
SOURCE(10951, 18)
                           (* (( (ptr) data←v13780)+4) ) = 1;
                           }
                        else {
                           if (((
/*1*/   x114 = var←c57444,  *(float*)&x114
/*1*/   ) > (
/*1*/   x115 = max←v14052,  *(float*)&x115
/*1*/   ) - (
/*1*/   x116 = (*  (ptr) &fc112 ),  *(float*)&x116
/*1*/   ))) {
SOURCE(10987, 20)
/*1*/   (* (( (ptr) data←v13780)+3) ) = 0;
SOURCE(11009, 18)
/*1*/   (* (( (ptr) data←v13780)+4) ) = 0;
/*1*/   }
                           else {
SOURCE(11043, 51)
/*1*/   {
/*1*/      word var←c57476;
/*1*/      {
/*1*/         word pd117;
/*1*/         word x118;
/*1*/         word x119;
/*1*/         float tf120;
/*1*/         word idx121;
/*1*/         pd117 = (* (( (ptr) (* (( (ptr) gf←c61060)+158)/* var←c57508 */  ))+6) );
/*1*/         var←c57476 = (
/*1*/            idx121 = (word) ( *( (fPt) ((*  (ptr) pd117 ))))((
/*1*/                  tf120 = (
/*1*/                     x118 = max←v14052,  *(float*)&x118
/*1*/                     ) - (
/*1*/                     x119 = f←v14080,  *(float*)&x119
/*1*/                     ),  *(word*)&tf120
/*1*/                  ), pd117),
/*1*/            SGNCK(idx121)
/*1*/            );
/*1*/         };
/*1*/      (void) MakeTile←P780((word) (( (bPt) data←v13780)+28), var←c57476, (*  (W3Pt) (( (ptr) data←v13780)+11) ));
/*1*/      };
SOURCE(11096, 54)
/*1*/   (* (( (ptr) data←v13780)+19) ) = (* (( (ptr) data←v13780)+8) );
SOURCE(11152, 16)
/*1*/   (* (( (ptr) data←v13780)+3) ) = 1;
/*1*/   };
                           };
                        };
                     };
                  };
               };
            goto endif0106;
            };
         if (((
            var←c57956 = (*  (ptr) var←c57380 )
            ) == 1)) {
            {
               word sampledColor←v14124;
               sampledColor←v14124 = var←c57380;
SOURCE(11220, 25)
               (*  (ptr) data←v13780 ) = sampledColor←v14124;
SOURCE(11311, 89)
               (void) BitmapSetSampledColor←P1020(data←v13780, sampledColor←v14124, viewToDevice←v8412);
               };
            goto endif0106;
            };
         if ((var←c57956 == 2)) {
            {
               word s←v14168;
               s←v14168 = var←c57380;
SOURCE(11436, 991)
               {
                  word pa←v14212;
SOURCE(11438, 21)
                  pa←v14212 = (* (( (ptr) s←v14168)+1) );
SOURCE(11461, 72)
                  {
                     word pd122;
                     pd122 = (* (( (ptr) (* (( (ptr) gf←c61060)+150)/* var←c56324 */  ))+37) );
                     (void) ( *( (fPt) ((*  (ptr) pd122 ))))((* (( (ptr) data←v13780)+17) ), (* (( (ptr) pa←v14212)+4) ), (* (( (ptr) s←v14168)+2)
                         ), viewToDevice←v8412, 0, pd122);
                     };
SOURCE(11535, 60)
                  {
                     word tadr123;
                     if ((0 != (* (( (ptr) s←v14168)+3) ))) {
                        tadr123 = (word) (( (ptr) data←v13780) + 5);
                        (*  (ptr) tadr123 ) = ((*  (ptr) tadr123 ) & 4294967288) | 4;
                        }
                     else {
                        (* (( (ptr) data←v13780) + 5) ) &= 4294967288;
                        };
                     };
                  if ( ( ((* (( (ptr) (* (( (ptr) data←v13780)+17) ))+9) ) == 3) ? (0 != (* (( (ptr) (* (( (ptr) data←v13780)+17) ))+8) )) : 0 ) ) {
SOURCE(11675, 410)
                     {
                        W2 min←v14256;
                        W2 max←v14284;
                        word sampleMap←v14312;
SOURCE(11677, 60)
                        min←v14256.f0 = (* (( (ptr) (* (( (ptr) data←v13780)+17) ))+6) );
                        min←v14256.f1 = (* (( (ptr) (* (( (ptr) data←v13780)+17) ))+7) );
SOURCE(11739, 56)
                        max←v14284.f0 = (min←v14256.f0 + (* (( (ptr) pa←v14212)+2) ));
                        max←v14284.f1 = (min←v14256.f1 + (* (( (ptr) pa←v14212)+3) ));
SOURCE(11797, 79)
                        {
                           W4 var←c57604;
                           (*  (W2Pt) &var←c57604 ) = min←v14256;
                           (*  (W2Pt) (( (ptr) &var←c57604)+2) ) = max←v14284;
                           {
/*1*/   word pd124;
/*1*/   pd124 = (* (( (ptr) (* (( (ptr) gf←c61060)+153)/* var←c56516 */  ))+22) );
/*1*/   sampleMap←v14312 = (word) ( *( (fPt) ((*  (ptr) pd124 ))))(var←c57604, 1, 0, pd124);
/*1*/   };
                           };
SOURCE(11878, 62)
                        {
                           W2 var←c57636;
                           var←c57636.f0 = 2147483647;
                           var←c57636.f1 = 2147483647;
                           {
/*1*/   word pd125;
/*1*/   pd125 = (* (( (ptr) (* (( (ptr) gf←c61060)+159)/* var←c57668 */  ))+11) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd125 ))))(pa←v14212, 0, 0, 0, sampleMap←v14312, min←v14256
/*1*/      , var←c57636, 0, pd125);
/*1*/   };
                           };
SOURCE(11942, 16)
                        (* (( (ptr) data←v13780)+3) ) = 1;
SOURCE(11960, 23)
                        (* (( (ptr) data←v13780)+7) ) = 1;
SOURCE(11985, 31)
                        (* (( (ptr) data←v13780)+8) ) = sampleMap←v14312;
SOURCE(12018, 44)
                        (* (( (ptr) data←v13780)+19) ) = sampleMap←v14312;
SOURCE(12064, 19)
                        (* (( (ptr) data←v13780)+9) ) = 0;
                        };
                     }
                  else {
                     if ( ( (0 != (* (( (ptr) gf←c61060)+20)/* newStuff←v4708 */  )) ? (0 != (word) TryTransformingBitmapIntoTile←P900(data←v13780, pa←v14212)
                     ) : 0 ) ) {
                        }
                     else {
SOURCE(12160, 264)
                        {
                           word sampleMap←v14356;
SOURCE(12162, 86)
                           {
/*1*/   W4 var←c57700;
/*1*/   var←c57700.f0 = 0;
/*1*/   var←c57700.f1 = 0;
/*1*/   var←c57700.f2 = (* (( (ptr) pa←v14212)+2) );
/*1*/   var←c57700.f3 = (* (( (ptr) pa←v14212)+3) );
/*1*/   {
/*1*/      word pd126;
/*1*/      pd126 = (* (( (ptr) (* (( (ptr) gf←c61060)+153)/* var←c56516 */  ))+22) );
/*1*/      sampleMap←v14356 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))(var←c57700, 1, 0, pd126);
/*1*/      };
/*1*/   };
SOURCE(12250, 49)
                           {
/*1*/   W2 var←c57732;
/*1*/   W2 var←c57764;
/*1*/   var←c57732.f0 = 0;
/*1*/   var←c57732.f1 = 0;
/*1*/   var←c57764.f0 = 2147483647;
/*1*/   var←c57764.f1 = 2147483647;
/*1*/   {
/*1*/      word pd127;
/*1*/      pd127 = (* (( (ptr) (* (( (ptr) gf←c61060)+159)/* var←c57668 */  ))+11) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd127 ))))(pa←v14212, 0, 0, 0, sampleMap←v14356, var←c57732
/*1*/         , var←c57764, 0, pd127);
/*1*/      };
/*1*/   };
SOURCE(12301, 24)
                           (* (( (ptr) data←v13780)+3) ) = 3;
SOURCE(12327, 49)
                           {
/*1*/   word pd128;
/*1*/   pd128 = (* (( (ptr) (* (( (ptr) gf←c61060)+160)/* var←c57796 */  ))+9) );
/*1*/   (* (( (ptr) data←v13780)+18) ) = (word) ( *( (fPt) ((*  (ptr) pd128 ))))(sampleMap←v14356, 0, 0, 0, 0, pd128);
/*1*/   };
SOURCE(12378, 44)
                           (* (( (ptr) data←v13780)+19) ) = sampleMap←v14356;
                           };
                        };
                     };
                  };
               };
            goto endif0106;
            };
         if ( ( ((*  (ptr) var←c57380 ) == 0) ? ((* (( (ptr) var←c57380)+1) ) == 1) : 0 ) ) {
            {
               word s←v14400;
               s←v14400 = var←c57380;
SOURCE(12463, 958)
               {
                  word var←c57828;
                  var←c57828 = (* (( (ptr) s←v14400)+2) );
                  if ((var←c57828 == (* (( (ptr) gf←c61060)+54) ))) {
SOURCE(12494, 433)
                     {
                        word stippleData←v14444;
SOURCE(12496, 60)
                        stippleData←v14444 = XR←Narrow((* (( (ptr) s←v14400)+4) ), (* (( (ptr) gf←c61060)+43) ));
SOURCE(12558, 36)
                        {
                           word tadr129;
                           tadr129 = (word) (( (ptr) data←v13780) + 5);
                           (*  (ptr) tadr129 ) = ((*  (ptr) tadr129 ) & 4294967288) | ((word) ((* (( (bPt) stippleData←v14444)+7) ) & 7));
                           };
SOURCE(12596, 326)
                        {
                           word var←c57860;
                           var←c57860 = (*  (ptr) stippleData←v14444 );
                           if ((var←c57860 == 0)) {
SOURCE(12637, 20)
/*1*/   (* (( (ptr) data←v13780)+3) ) = 0;
SOURCE(12659, 18)
/*1*/   (* (( (ptr) data←v13780)+4) ) = 0;
/*1*/   }
                           else {
/*1*/   if ((var←c57860 == 65535)) {
SOURCE(12692, 20)
/*1*/      (* (( (ptr) data←v13780)+3) ) = 0;
SOURCE(12714, 18)
/*1*/      (* (( (ptr) data←v13780)+4) ) = 1;
/*1*/      }
/*1*/   else {
SOURCE(12748, 16)
/*1*/      (* (( (ptr) data←v13780)+3) ) = 1;
SOURCE(12766, 135)
/*1*/      {
/*1*/         word var←c57892;
/*1*/         {
/*1*/            word pd130;
/*1*/            pd130 = (* (( (ptr) (* (( (ptr) gf←c61060)+153)/* var←c56516 */  ))+54) );
/*1*/            var←c57892 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))((*  (ptr) stippleData←v14444 ), 1, 0,  (word) -1, (* (( (ptr) data←v13780)+20)
/*1*/                ), pd130);
/*1*/            };
/*1*/         (* (( (ptr) data←v13780)+20) ) = var←c57892;
/*1*/         (* (( (ptr) data←v13780)+8) ) = var←c57892;
/*1*/         };
SOURCE(12903, 19)
/*1*/      (* (( (ptr) data←v13780)+9) ) = 0;
/*1*/      };
/*1*/   };
                           };
                        };
                     }
                  else {
                     if ((var←c57828 == (* (( (ptr) gf←c61060)+53) ))) {
SOURCE(12945, 255)
                        {
                           word list←v14488;
                           word brick←v14516;
                           word rf←v14544;
SOURCE(12947, 6)
                           list←v14488 = XR←Narrow((* (( (ptr) s←v14400)+4) ), (* (( (ptr) gf←c61060)+45) ));
SOURCE(12983, 49)
                           brick←v14516 = XR←Narrow((*  (ptr) list←v14488 ), (* (( (ptr) gf←c61060)+30) ));
SOURCE(13034, 55)
                           rf←v14544 = XR←Narrow((*  (ptr) (* (( (ptr) list←v14488)+1) ) ), (* (( (ptr) gf←c61060)+46) ));
SOURCE(13091, 19)
                           {
/*1*/   word tadr131;
/*1*/   tadr131 = (word) (( (ptr) data←v13780) + 5);
/*1*/   (*  (ptr) tadr131 ) = ((*  (ptr) tadr131 ) & 4294967288) | ((word) ((* (( (bPt) rf←v14544)+3) ) & 7));
/*1*/   };
SOURCE(13112, 16)
                           (* (( (ptr) data←v13780)+3) ) = 1;
SOURCE(13130, 37)
                           (* (( (ptr) data←v13780)+8) ) = (* (( (ptr) brick←v14516)+1) );
SOURCE(13169, 29)
                           (* (( (ptr) data←v13780)+9) ) = (* (( (ptr) brick←v14516)+2) );
                           };
                        }
                     else {
SOURCE(13216, 205)
                        if (((* (( (ptr) s←v14400)+5) ) != 0)) {
SOURCE(13245, 56)
                           (void) BitmapSetColor←P840(device←v8356, (* (( (ptr) s←v14400)+5) ), viewToDevice←v8412);
                           }
                        else {
SOURCE(13310, 111)
                           {
/*1*/   W3 var←c0227;
/*1*/   var←c0227.f0 = 63;
/*1*/   var←c0227.f1 = (* (( (ptr) gf←c61060)+52) );
/*1*/   var←c0227.f2 = 0;
/*1*/   (void) XR←RaiseError((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c61060)+155)/* var←c56868 */  ))+6) ) ), (word) &var←c0227);
/*1*/   };
                           };
                        };
                     };
                  };
               };
            goto endif0106;
            };
         lab←L100031: ;
SOURCE(13441, 5)
         (void) XR←RaiseUnnamedError();
         goto endif0106;
         endif0106: ;
         };
      };
SOURCE(13448, 38)
   (* (( (ptr) data←v13780) + 6) ) &= 4294967288;
SOURCE(13488, 292)
   if (((* (( (ptr) data←v13780)+3) ) == 0)) {
SOURCE(13517, 263)
      {
         word var←c57988;
         var←c57988 =  (unsigned) ((* (( (bPt) data←v13780)+23) ) & 7);
         if ((var←c57988 == 0)) {
SOURCE(13561, 117)
            {
               word var←c58020;
               var←c58020 = (* (( (ptr) data←v13780)+4) );
               if ((var←c58020 == 0)) {
SOURCE(13592, 43)
                  {
                     word tadr132;
                     tadr132 = (word) (( (ptr) data←v13780) + 6);
                     (*  (ptr) tadr132 ) = ((*  (ptr) tadr132 ) & 4294967288) | 3;
                     };
                  }
               else {
                  if ((var←c58020 == 1)) {
SOURCE(13642, 36)
                     {
                        word tadr133;
                        tadr133 = (word) (( (ptr) data←v13780) + 6);
                        (*  (ptr) tadr133 ) = ((*  (ptr) tadr133 ) & 4294967288) | 4;
                        };
                     }
                  else {
                     };
                  };
               };
            }
         else {
            if ((var←c57988 == 6)) {
SOURCE(13717, 63)
               if (((* (( (ptr) data←v13780)+4) ) == 1)) {
SOURCE(13743, 37)
                  {
                     word tadr134;
                     tadr134 = (word) (( (ptr) data←v13780) + 6);
                     (*  (ptr) tadr134 ) = ((*  (ptr) tadr134 ) & 4294967288) | 6;
                     };
                  };
               }
            else {
               };
            };
         };
      };
SOURCE(13802, 55)
   allowBitmaps←v13836 =  (unsigned) ( (unsigned) ((* (( (bPt) data←v13780)+27) ) & 7) != 0);
SOURCE(13859, 65)
   if (((* (( (ptr) data←v13780)+3) ) == 3)) {
      hardSampledCase←v13864 =  (unsigned) 1;
      }
   else {
      hardSampledCase←v13864 =  (unsigned) ((* (( (ptr) data←v13780)+3) ) == 2);
      };
SOURCE(13926, 245)
   {
      word tc135;
      if (( (unsigned) (((unsigned)(* (( (bPt) data←v13780)+23) ) << 29) >> 30) != 3)) {
         tc135 =  (word) (0 == hardSampledCase←v13864);
         }
      else {
         tc135 =  (word) 0;
         };
      (*  (ptr) (* (( (ptr) device←v8356)+6) ) ) = (((word) (((word)  (unsigned) (0 == hardSampledCase←v13864) << 1) +  (unsigned) tc135) << 30) + 
      ((word) (((word) (((word)  (unsigned)  ( ((* (( (ptr) data←v13780)+3) ) == 0) ? (0 != realRaster←v13808) : 0 )  << 1) +  (unsigned) (allowBitmaps←v13836 & 1)) << 1) + 
       (unsigned) ((0 != allowBitmaps←v13836) && (0 != realRaster←v13808))) << 27));
      };
   }

static word TryTransformingBitmapIntoTile←P900(formal←c0559, formal←c0560)
   word formal←c0559;
   word formal←c0560;
   {
   W13 var←c61092;
   /* declaration of data←v8472 skipped */ 
   /* declaration of pa←v8500 skipped */ 
   register ptr gf←c61124 =  (ptr) &globalframe;
   word var←c8544;
   /* declaration of var←c58084 skipped */ 
   /* declaration of m←v14712 skipped */ 
   (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ) = formal←c0559;
   (* (( (ptr) &var←c61092)+5)/* pa←v8500 */  ) = formal←c0560;
   /* TryTransformingBitmapIntoTile: */ 
SOURCE(14215, 1669)
   {
      word tmpAddr136;
      tmpAddr136 = (word) (( (ptr) &var←c61092)+6)/* var←c58084 */ ;
      (*  (ptr) tmpAddr136 ) = ( ((word)  (fPt) action←P3360) );
      (* (( (ptr) tmpAddr136) + 1) ) = 1;
      };
SOURCE(14299, 35)
   (* (( (ptr) &var←c61092)+8)/* m←v14712 */  ) = (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+17) );
SOURCE(14336, 1523)
   if (((* (( (ptr) (* (( (ptr) &var←c61092)+8)/* m←v14712 */  ))+9) ) != 0)) {
SOURCE(14353, 1514)
      {
         W4 sRect←v14756;
         /* declaration of dRect←v14784 skipped */ 
SOURCE(14355, 45)
         sRect←v14756.f0 = (*  (ptr) &fc60 );
         sRect←v14756.f1 = (*  (ptr) &fc60 );
         {
            float tf137;
            sRect←v14756.f2 = (
               tf137 = (float)(int)(* (( (ptr) (* (( (ptr) &var←c61092)+5)/* pa←v8500 */  ))+2) ),  *(word*)&tf137
               );
            };
         {
            float tf138;
            sRect←v14756.f3 = (
               tf138 = (float)(int)(* (( (ptr) (* (( (ptr) &var←c61092)+5)/* pa←v8500 */  ))+3) ),  *(word*)&tf138
               );
            };
SOURCE(14402, 68)
         {
            word pd139;
            pd139 = (* (( (ptr) (* (( (ptr) gf←c61124)+150)/* var←c56324 */  ))+46) );
            (void) ( *( (fPt) ((*  (ptr) pd139 ))))((word) (( (bPt) &var←c61092)+36)/* dRect←v14784 */ , (* (( (ptr) &var←c61092)+8)/* m←v14712 */  ), sRect←v14756, pd139)
            ;
            };
SOURCE(14472, 1387)
         {
            word tc140;
            float tf141;
            word x142;
            float tf143;
            float tf144;
            float tf145;
            word x146;
            float tf147;
            float tf148;
            float tf149;
            float tf150;
            word x151;
            float tf152;
            float tf153;
            float tf154;
            float tf155;
            word x156;
            word x158;
            float tf159;
            word x160;
            word x161;
            word x163;
            tf147 = FMAX(FABS((
                     x142 = (* (( (ptr) &var←c61092)+9) ),  *(float*)&x142
                     ), tf141), FABS((
                     x146 = (* (( (ptr) &var←c61092)+10) ),  *(float*)&x146
                     ), tf145), tf143, tf144);
            tf152 = FMAX(tf147, FABS((
                     x151 = (* (( (ptr) &var←c61092)+11) ),  *(float*)&x151
                     ), tf150), tf148, tf149);
            if ((FMAX(tf152, FABS((
                     x156 = (* (( (ptr) &var←c61092)+12) ),  *(float*)&x156
                     ), tf155), tf153, tf154) <= (
               x158 = (*  (ptr) &fc157 ),  *(float*)&x158
               ))) {
               tc140 =  (word) (FABS(((
                     x160 = (* (( (ptr) &var←c61092)+11) ),  *(float*)&x160
                     ) * (
                     x161 = (* (( (ptr) &var←c61092)+12) ),  *(float*)&x161
                     )), tf159) <= (
                  x163 = (*  (ptr) &fc162 ),  *(float*)&x163
                  ));
               }
            else {
               tc140 =  (word) 0;
               };
            if (tc140) {
SOURCE(14587, 1277)
               {
                  word sSize←v14828;
                  word fSize←v14856;
SOURCE(14589, 32)
                  {
                     word pd164;
                     word idx165;
                     pd164 = (* (( (ptr) (* (( (ptr) gf←c61124)+158)/* var←c57508 */  ))+6) );
                     sSize←v14828 = (
                        idx165 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))((* ((( (ptr) &var←c61092)+11)) ), pd164),
                        SGNCK(idx165)
                        );
                     };
SOURCE(14623, 32)
                  {
                     word pd166;
                     word idx167;
                     pd166 = (* (( (ptr) (* (( (ptr) gf←c61124)+158)/* var←c57508 */  ))+6) );
                     fSize←v14856 = (
                        idx167 = (word) ( *( (fPt) ((*  (ptr) pd166 ))))((* ((( (ptr) &var←c61092)+12)) ), pd166),
                        SGNCK(idx167)
                        );
                     };
SOURCE(14657, 1202)
                  {
                     word x168;
                     word x170;
                     word x171;
                     word x172;
                     word x173;
                     word x174;
                     if ( ( (((
                        x168 = (* (( (ptr) &var←c61092)+11) ),  *(float*)&x168
                        ) - (float)(unsigned)sSize←v14828) + (
                        x170 = (*  (ptr) &fc169 ),  *(float*)&x170
                        ) == (
                        x171 = (*  (ptr) &fc169 ),  *(float*)&x171
                        )) ? (((
                        x172 = (* (( (ptr) &var←c61092)+12) ),  *(float*)&x172
                        ) - (float)(unsigned)fSize←v14856) + (
                        x173 = (*  (ptr) &fc169 ),  *(float*)&x173
                        ) == (
                        x174 = (*  (ptr) &fc169 ),  *(float*)&x174
                        )) : 0 ) ) {
SOURCE(14717, 1144)
                        {
                           word sampleMap←v14928;
                           word tileMap←v14956;
SOURCE(15063, 80)
                           {
/*1*/   W4 var←c58148;
/*1*/   var←c58148.f0 = 0;
/*1*/   var←c58148.f1 = 0;
/*1*/   var←c58148.f2 = sSize←v14828;
/*1*/   var←c58148.f3 = fSize←v14856;
/*1*/   {
/*1*/      word pd175;
/*1*/      pd175 = (* (( (ptr) (* (( (ptr) gf←c61124)+153)/* var←c56516 */  ))+22) );
/*1*/      sampleMap←v14928 = (word) ( *( (fPt) ((*  (ptr) pd175 ))))(var←c58148, 1, 0, pd175);
/*1*/      };
/*1*/   };
SOURCE(15145, 108)
                           {
/*1*/   word var←c58180;
/*1*/   word var←c58212;
/*1*/   {
/*1*/      word pd176;
/*1*/      word x177;
/*1*/      word x178;
/*1*/      float tf179;
/*1*/      pd176 = (* (( (ptr) (* (( (ptr) gf←c61124)+158)/* var←c57508 */  ))+8) );
/*1*/      var←c58180 = (word) ( *( (fPt) ((*  (ptr) pd176 ))))((
/*1*/            tf179 = (
/*1*/               x177 = (* (( (ptr) &var←c61092)+9) ),  *(float*)&x177
/*1*/               ) + (
/*1*/               x178 = (*  (ptr) &fc112 ),  *(float*)&x178
/*1*/               ),  *(word*)&tf179
/*1*/            ), pd176);
/*1*/      };
/*1*/   {
/*1*/      word pd180;
/*1*/      word x181;
/*1*/      word x182;
/*1*/      float tf183;
/*1*/      pd180 = (* (( (ptr) (* (( (ptr) gf←c61124)+158)/* var←c57508 */  ))+8) );
/*1*/      var←c58212 = (word) ( *( (fPt) ((*  (ptr) pd180 ))))((
/*1*/            tf183 = (
/*1*/               x181 = (* (( (ptr) &var←c61092)+10) ),  *(float*)&x181
/*1*/               ) + (
/*1*/               x182 = (*  (ptr) &fc112 ),  *(float*)&x182
/*1*/               ),  *(word*)&tf183
/*1*/            ), pd180);
/*1*/      };
/*1*/   {
/*1*/      W2 var←c58244;
/*1*/      var←c58244.f0 = var←c58180;
/*1*/      var←c58244.f1 = var←c58212;
/*1*/      {
/*1*/         word pd184;
/*1*/         pd184 = (* (( (ptr) (* (( (ptr) gf←c61124)+153)/* var←c56516 */  ))+28) );
/*1*/         tileMap←v14956 = (word) ( *( (fPt) ((*  (ptr) pd184 ))))(sampleMap←v14928, var←c58244, pd184);
/*1*/         };
/*1*/      };
/*1*/   };
SOURCE(15255, 29)
                           {
/*1*/   word pd185;
/*1*/   pd185 = (* (( (ptr) (* (( (ptr) gf←c61124)+153)/* var←c56516 */  ))+48) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd185 ))))(sampleMap←v14928, pd185);
/*1*/   };
SOURCE(15286, 207)
                           if (((* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+22) ) == 0)) {
SOURCE(15326, 167)
/*1*/   {
/*1*/      W2 var←c58276;
/*1*/      W2 var←c58308;
/*1*/      var←c58276.f0 = 2147483647;
/*1*/      var←c58276.f1 = 2147483647;
/*1*/      var←c58308.f0 = (*  (ptr) &fc59 );
/*1*/      var←c58308.f1 = (*  (ptr) &fc59 );
/*1*/      (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+22) ) = (word) Create←P60(var←c58276, 6, var←c58308, 1, 1, (* (
/*1*/            ( (ptr) gf←c61124)+56) ));
/*1*/      };
/*1*/   };
SOURCE(15495, 47)
                           (void) SetBitmap←P120((* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+22) ), sampleMap←v14928);
SOURCE(15544, 48)
                           {
/*1*/   word pd186;
/*1*/   pd186 = (* (( (ptr) (* (( (ptr) gf←c61124)+155)/* var←c56868 */  ))+12) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd186 ))))((* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+22) ), (word) (( (bPt) &var←c61092)+24)
/*1*/      /* var←c58084 */ , pd186);
/*1*/   };
SOURCE(15594, 41)
                           (void) SetBitmap←P120((* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+22) ), 0);
SOURCE(15645, 59)
SOURCE(15646, 41)
                           {
/*1*/   word pd187;
/*1*/   pd187 = (* (( (ptr) (* (( (ptr) gf←c61124)+153)/* var←c56516 */  ))+30) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd187 ))))(sampleMap←v14928, pd187);
/*1*/   };
SOURCE(15689, 15)
                           sampleMap←v14928 = 0;
SOURCE(15707, 16)
                           (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+3) ) = 1;
SOURCE(15725, 23)
                           (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+7) ) = 1;
SOURCE(15750, 29)
                           (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+8) ) = tileMap←v14956;
SOURCE(15781, 42)
                           (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+19) ) = tileMap←v14956;
SOURCE(15825, 19)
                           (* (( (ptr) (* (( (ptr) &var←c61092)+4)/* data←v8472 */  ))+9) ) = 0;
SOURCE(15846, 13)
                           return(1);
                           };
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(15870, 14)
   return(0);
   }

static void action←P3360(formal←c61188)
   word formal←c61188;
   {
   register ptr gf←c61156 =  (ptr) &globalframe;
   word pamInverse←v15016;
   formal←c61188 = (formal←c61188 - 24);
   /* action: */ 
SOURCE(14719, 15)
SOURCE(14736, 62)
   {
      word pd188;
      pd188 = (* (( (ptr) (* (( (ptr) gf←c61156)+150)/* var←c56324 */  ))+51) );
      pamInverse←v15016 = (word) ( *( (fPt) ((*  (ptr) pd188 ))))((* ((( (ptr) (* (( (ptr) formal←c61188)+5) ))+4)) ), pd188);
      };
SOURCE(14800, 66)
   {
      W2 var←c58340;
      {
         word x189;
         *(float*)&var←c58340.f0 =  - (
            x189 = (* (( (ptr) formal←c61188)+9) ),  *(float*)&x189
            );
         };
      {
         word x190;
         *(float*)&var←c58340.f1 =  - (
            x190 = (* (( (ptr) formal←c61188)+10) ),  *(float*)&x190
            );
         };
      {
         word pd191;
         pd191 = (* (( (ptr) (* (( (ptr) gf←c61156)+155)/* var←c56868 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd191 ))))((* (( (ptr) (* (( (ptr) formal←c61188)+4) ))+22) ), var←c58340, pd191);
         };
      };
SOURCE(14868, 44)
   {
      word pd192;
      pd192 = (* (( (ptr) (* (( (ptr) gf←c61156)+155)/* var←c56868 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd192 ))))((* (( (ptr) (* (( (ptr) formal←c61188)+4) ))+22) ), (* (( (ptr) formal←c61188)+8)
          ), pd192);
      };
SOURCE(14914, 53)
   {
      word pd193;
      pd193 = (* (( (ptr) (* (( (ptr) gf←c61156)+155)/* var←c56868 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd193 ))))((* (( (ptr) (* (( (ptr) formal←c61188)+4) ))+22) ), pamInverse←v15016, pd193);
      };
SOURCE(14969, 47)
   {
      word pd194;
      pd194 = (* (( (ptr) (* (( (ptr) gf←c61156)+155)/* var←c56868 */  ))+77) );
      (void) ( *( (fPt) ((*  (ptr) pd194 ))))((* (( (ptr) (* (( (ptr) formal←c61188)+4) ))+22) ), (* (( (ptr) formal←c61188)+5)
          ), pd194);
      };
SOURCE(15018, 40)
   {
      word pd195;
      pd195 = (* (( (ptr) (* (( (ptr) gf←c61156)+150)/* var←c56324 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd195 ))))(pamInverse←v15016, pd195);
      };
   }

static word ComputeSource←P960(sampledColor←v8604, filterDiameter←v8632, data←v8660)
   word sampledColor←v8604;
   word filterDiameter←v8632;
   word data←v8660;
   {
   register ptr gf←c61220 =  (ptr) &globalframe;
   word var←c8704;
   word colorOperator←v15060;
   word pixelMap←v15088;
   /* ComputeSource: */ 
SOURCE(15890, 397)
SOURCE(16019, 57)
   colorOperator←v15060 = (* (( (ptr) sampledColor←v8604)+3) );
SOURCE(16078, 189)
   {
      word var←c58372;
      var←c58372 = (word) GetColorTransform←P660(data←v8660, (* (( (ptr) sampledColor←v8604)+3) ));
      {
         word pd196;
         pd196 = (* (( (ptr) (* (( (ptr) gf←c61220)+156)/* var←c56996 */  ))+45) );
         pixelMap←v15088 = (word) ( *( (fPt) ((*  (ptr) pd196 ))))((* (( (ptr) sampledColor←v8604)+3) ), var←c58372, (* (( (ptr) sampledColor←v8604)+1)
             ), pd196);
         };
      };
SOURCE(16269, 18)
   return(pixelMap←v15088);
   }

static void BitmapSetSampledColor←P1020(formal←c0561, formal←c0562, viewToDevice←v8820)
   word formal←c0561;
   word formal←c0562;
   word viewToDevice←v8820;
   {
   W10 var←c61252;
   /* declaration of data←v8764 skipped */ 
   /* declaration of sampledColor←v8792 skipped */ 
   register ptr gf←c61284 =  (ptr) &globalframe;
   /* declaration of var←c58404 skipped */ 
   /* declaration of pa←v15132 skipped */ 
   word largerPaSize←v15160;
   word cache←v15188;
   /* declaration of filterDiameter←v15216 skipped */ 
   word scd←v15244 = 0;
   (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ) = formal←c0561;
   (* (( (ptr) &var←c61252)+5)/* sampledColor←v8792 */  ) = formal←c0562;
   /* BitmapSetSampledColor: */ 
SOURCE(16291, 1673)
   {
      word tmpAddr197;
      tmpAddr197 = (word) (( (ptr) &var←c61252)+6)/* var←c58404 */ ;
      (*  (ptr) tmpAddr197 ) = ( ((word)  (fPt) compare←P3420) );
      (* (( (ptr) tmpAddr197) + 1) ) = 1;
      };
SOURCE(16406, 32)
   (* (( (ptr) &var←c61252)+8)/* pa←v15132 */  ) = (* (( (ptr) (* (( (ptr) &var←c61252)+5)/* sampledColor←v8792 */  ))+1) );
SOURCE(16440, 47)
   {
      word x198;
      word x199;
      word idx200;
      largerPaSize←v15160 = (
         idx200 = (word) ((x198 = (* (( (ptr) (* (( (ptr) &var←c61252)+8)/* pa←v15132 */  ))+2) ),
            x199 = (* (( (ptr) (* (( (ptr) &var←c61252)+8)/* pa←v15132 */  ))+3) ),
            MIN((int)(word), x198, x199)) + 1),
         SGNCK(idx200)
         );
      };
SOURCE(16489, 56)
   {
      word pd201;
      pd201 = (* (( (ptr) (* (( (ptr) gf←c61284)+161)/* var←c58436 */  ))+17) );
      cache←v15188 = (word) ( *( (fPt) ((*  (ptr) pd201 ))))(pd201);
      };
SOURCE(16547, 23)
   (* (( (ptr) &var←c61252)+9)/* filterDiameter←v15216 */  ) = 1;
SOURCE(16940, 83)
   {
      word pd202;
      pd202 = (* (( (ptr) (* (( (ptr) gf←c61284)+150)/* var←c56324 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd202 ))))((* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+17) ), (* (( (ptr) (* (
               ( (ptr) &var←c61252)+8)/* pa←v15132 */  ))+4) ), (* (( (ptr) (* (( (ptr) &var←c61252)+5)/* sampledColor←v8792 */  ))+2) ), viewToDevice←v8820, 0, pd202)
      ;
      };
SOURCE(17025, 148)
   if ((0 != (* (( (ptr) gf←c61284)+21)/* interpolate←v4820 */  ))) {
SOURCE(17045, 128)
      {
         word var←c58468;
         {
            W2 var←c0267;
            word var←c0539;
            {
               word pd203;
               pd203 = (* (( (ptr) (* (( (ptr) gf←c61284)+150)/* var←c56324 */  ))+56) );
               (void) ( *( (fPt) ((*  (ptr) pd203 ))))((word) &var←c0267, (* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+17)
                   ), pd203);
               };
            var←c0539 = var←c0267.f1;
            {
               word x204;
               word x205;
               float tf206;
               float tf207;
               word x208;
               *(float*)&var←c58468 = (
                  x204 = (*  (ptr) &fc59 ),  *(float*)&x204
                  ) / FMAX((
                     x205 = var←c0539,  *(float*)&x205
                     ), ((
                     x208 = (*  (ptr) &fc59 ),  *(float*)&x208
                     ) / (float)(unsigned)largerPaSize←v15160), tf206, tf207);
               };
            };
         {
            word pd209;
            word x210;
            word idx211;
            word x212;
            pd209 = (* (( (ptr) (* (( (ptr) gf←c61284)+158)/* var←c57508 */  ))+6) );
            (* (( (ptr) &var←c61252)+9)/* filterDiameter←v15216 */  ) = (x212 = (
                  idx211 = (word) (x210 = (word) ( *( (fPt) ((*  (ptr) pd209 ))))(var←c58468, pd209),
                     MAX((int)(word), x210, 1)),
                  SGNCK(idx211)
                  ),
               MIN( (unsigned) , x212, 255));
            };
         };
      };
SOURCE(17175, 19)
   (* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+3) ) = 2;
SOURCE(17196, 28)
   (* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  )) + 5) ) &= 4294967288;
SOURCE(17226, 738)
   if ( ( (0 != (*  (ptr) (* (( (ptr) &var←c61252)+8)/* pa←v15132 */  ) )) ? ((* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c61252)+4)
         /* data←v8764 */  ))+14) ))+3) ) == 0) : 0 ) ) {
SOURCE(17291, 60)
      {
         W2 var←c0268;
         word var←c0540;
         {
            word pd213;
            pd213 = (* (( (ptr) (* (( (ptr) gf←c61284)+161)/* var←c58436 */  ))+9) );
            (void) ( *( (fPt) ((*  (ptr) pd213 ))))((word) &var←c0268, cache←v15188, (word) (( (bPt) &var←c61252)+24)/* var←c58404 */ , (* (
                  ( (ptr) gf←c61284)+55) ), pd213);
            };
         var←c0540 = var←c0268.f0;
         scd←v15244 = XR←Narrow(var←c0540, (* (( (ptr) gf←c61284)+50) ));
         };
SOURCE(17353, 508)
      if ((scd←v15244 == 0)) {
SOURCE(17371, 492)
         {
            word pixelMap←v15316;
SOURCE(17373, 82)
            pixelMap←v15316 = (word) ComputeSource←P960((* (( (ptr) &var←c61252)+5)/* sampledColor←v8792 */  ), (* (( (ptr) &var←c61252)+9)
               /* filterDiameter←v15216 */  ), (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ));
SOURCE(17457, 199)
            {
               word var←c58500;
               var←c58500 = XR←NewObject(24, (* (( (ptr) gf←c61284)+50) ));
               (*  (ptr) var←c58500 ) = (* (( (ptr) &var←c61252)+8)/* pa←v15132 */  );
               (* (( (ptr) var←c58500)+1) ) = (* (( (ptr) (* (( (ptr) &var←c61252)+5)/* sampledColor←v8792 */  ))+3) );
               (* (( (ptr) var←c58500)+2) ) = (* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+10) );
               (* (( (ptr) var←c58500)+3) ) = ((* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+11) ) + 1);
               (* (( (ptr) var←c58500)+4) ) = (* (( (ptr) &var←c61252)+9)/* filterDiameter←v15216 */  );
               (* (( (ptr) var←c58500)+5) ) = pixelMap←v15316;
               scd←v15244 = var←c58500;
               };
SOURCE(17658, 203)
            {
               word var←c58532;
               {
                  W2 var←c58564;
                  word var←c58660;
                  {
                     W2 var←c58596;
                     word map←v54392;
                     {
                        word limit214;
                        map←v54392 = (* ((( (ptr) pixelMap←v15316)+6)+(
/*1*/   limit214 = (* (( (ptr) pixelMap←v15316)+5) ),
/*1*/   BCK(0, limit214)
/*1*/   )) );
                        };
                     {
                        W4 b←v54424;
                        b←v54424 = (*  (W4Pt) map←v54392 );
                        var←c58596.f0 = (b←v54424.f2 - b←v54424.f0);
                        var←c58596.f1 = (b←v54424.f3 - b←v54424.f1);
                        };
                     var←c58564 = var←c58596;
                     };
                  {
                     word var←c58692;
                     word map←v54484;
                     {
                        word limit215;
                        map←v54484 = (* ((( (ptr) pixelMap←v15316)+6)+(
/*1*/   limit215 = (* (( (ptr) pixelMap←v15316)+5) ),
/*1*/   BCK(0, limit215)
/*1*/   )) );
                        };
                     var←c58692 = (* (( (ptr) map←v54484)+5) );
                     var←c58660 = var←c58692;
                     };
                  {
                     word pd216;
                     pd216 = (* (( (ptr) (* (( (ptr) gf←c61284)+153)/* var←c56516 */  ))+18) );
                     var←c58532 = (word) ( *( (fPt) ((*  (ptr) pd216 ))))(var←c58564, var←c58660, 0, pd216);
                     };
                  };
               {
                  word pd217;
                  pd217 = (* (( (ptr) (* (( (ptr) gf←c61284)+161)/* var←c58436 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd217 ))))(cache←v15188, scd←v15244, scd←v15244, var←c58532, (* (( (ptr) gf←c61284)+55) ), pd217)
                  ;
                  };
               };
            };
         };
SOURCE(17866, 24)
      (* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+18) ) = (* (( (ptr) scd←v15244)+5) );
      }
   else {
SOURCE(17901, 63)
      (* (( (ptr) (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))+18) ) = (word) ComputeSource←P960((* (( (ptr) &var←c61252)+5)
         /* sampledColor←v8792 */  ), (* (( (ptr) &var←c61252)+9)/* filterDiameter←v15216 */  ), (* (( (ptr) &var←c61252)+4)/* data←v8764 */  ))
      ;
      };
   }

static word compare←P3420(argument←v52036, formal←c61348)
   word argument←v52036;
   word formal←c61348;
   {
   register ptr gf←c61316 =  (ptr) &globalframe;
   word good←v52080;
   formal←c61348 = (formal←c61348 - 24);
   /* compare: */ 
SOURCE(16628, 309)
SOURCE(16667, 270)
   {
      word var←c58724;
      var←c58724 = argument←v52036;
      if ((var←c58724 == 0)) {
         goto lab←L100034;
         };
      if (((* (( (ptr) gf←c61316)+50) ) == XR←GetReferentType(var←c58724))) {
         {
            word scd←v15360;
            scd←v15360 = var←c58724;
SOURCE(16718, 191)
            {
               word tc218;
               if ( (  (  ( ((*  (ptr) scd←v15360 ) == (* (( (ptr) formal←c61348)+8) )) ? ((* (( (ptr) scd←v15360)+1) ) == (* (( (ptr) (* (
                     ( (ptr) formal←c61348)+5) ))+3) )) : 0 )  ? ((* (( (ptr) scd←v15360)+2) ) == (* (( (ptr) (* (( (ptr) formal←c61348)+4) ))+10)
                )) : 0 )  ? ((* (( (ptr) scd←v15360)+3) ) == ((* (( (ptr) (* (( (ptr) formal←c61348)+4) ))+11) ) + 1)) : 0 ) ) {
                  tc218 =  (word)  (unsigned) ((* (( (ptr) scd←v15360)+4) ) == (* (( (ptr) formal←c61348)+9) ));
                  }
               else {
                  tc218 =  (word)  (unsigned) 0;
                  };
               return(tc218);
               };
            };
         }
      else {
         lab←L100034: ;
SOURCE(16922, 15)
         return(0);
         };
      };
   }

static void BitmapMaskBoxes←P1080(device←v8880, bounds←v8908, boxes←v8936)
   word device←v8880;
   W4 bounds←v8908;
   word boxes←v8936;
   {
   W10 var←c61380;
   register ptr gf←c61412 =  (ptr) &globalframe;
   /* declaration of var←c58756 skipped */ 
   /* declaration of var←c58788 skipped */ 
   /* declaration of data←v15404 skipped */ 
   /* BitmapMaskBoxes: */ 
SOURCE(18000, 1390)
   {
      word tmpAddr219;
      tmpAddr219 = (word) (( (ptr) &var←c61380)+4)/* var←c58756 */ ;
      (*  (ptr) tmpAddr219 ) = ( ((word)  (fPt) Action←P3732) );
      (* (( (ptr) tmpAddr219) + 1) ) = 1;
      };
   {
      word tmpAddr220;
      tmpAddr220 = (word) (( (ptr) &var←c61380)+6)/* var←c58788 */ ;
      (*  (ptr) tmpAddr220 ) = ( ((word)  (fPt) Action←P3624) );
      (* (( (ptr) tmpAddr220) + 1) ) = 1;
      };
SOURCE(18083, 32)
   (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ) = XR←Narrow((* (( (ptr) device←v8880)+7) ), (* (( (ptr) gf←c61412)+39) ))
   ;
SOURCE(18117, 1273)
   {
      word var←c58820;
      var←c58820 = (* (( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+3) );
      switch (var←c58820) {
         case 0: 
SOURCE(18153, 101)
            {
               word pd221;
               pd221 = (* (( (ptr) (* (( (ptr) gf←c61412)+153)/* var←c56516 */  ))+58) );
               (void) ( *( (fPt) ((*  (ptr) pd221 ))))((* (( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+1) ), boxes←v8936, (* (
                     ( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+4) ),  (unsigned) ((* (( (bPt) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+23)
                   ) & 7), pd221);
               };
            break;
         case 1: 
SOURCE(18269, 130)
            {
               word pd222;
               pd222 = (* (( (ptr) (* (( (ptr) gf←c61412)+153)/* var←c56516 */  ))+56) );
               (void) ( *( (fPt) ((*  (ptr) pd222 ))))((* (( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+1) ), boxes←v8936, (* (
                     ( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+8) ), (* (( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+9)
                   ),  (unsigned) ((* (( (bPt) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+23) ) & 7), pd222);
               };
            break;
         case 2: 
SOURCE(18423, 619)
            {
               /* declaration of buffer←v15448 skipped */ 
SOURCE(18425, 87)
               {
                  word var←c58852;
                  {
                     word pd223;
                     word idx224;
                     pd223 = (* (( (ptr) (* (( (ptr) gf←c61412)+157)/* var←c57124 */  ))+17) );
                     var←c58852 = (
                        idx224 = (word) ( *( (fPt) ((*  (ptr) pd223 ))))(bounds←v8908, pd223),
                        SGNCK(idx224)
                        );
                     };
                  {
                     word pd225;
                     pd225 = (* (( (ptr) (* (( (ptr) gf←c61412)+153)/* var←c56516 */  ))+6) );
                     (* (( (ptr) &var←c61380)+9)/* buffer←v15448 */  ) = (word) ( *( (fPt) ((*  (ptr) pd225 ))))(var←c58852, pd225);
                     };
                  };
SOURCE(18865, 131)
               {
                  word pd226;
                  pd226 = (* (( (ptr) (* (( (ptr) gf←c61412)+160)/* var←c57796 */  ))+12) );
                  (void) ( *( (fPt) ((*  (ptr) pd226 ))))((* (( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+18) ), (* (( (ptr) (* (
                           ( (ptr) &var←c61380)+8)/* data←v15404 */  ))+17) ), (* (( (ptr) gf←c61412)+21)/* interpolate←v4820 */  ), boxes←v8936, bounds←v8908, (word) (
                        ( (bPt) &var←c61380)+24)/* var←c58788 */ , pd226);
                  };
SOURCE(18998, 42)
               {
                  word pd227;
                  pd227 = (* (( (ptr) (* (( (ptr) gf←c61412)+153)/* var←c56516 */  ))+7) );
                  (void) ( *( (fPt) ((*  (ptr) pd227 ))))((* ((( (ptr) &var←c61380)+9)/* buffer←v15448 */ ) ), pd227);
                  };
               };
            break;
         case 3: 
SOURCE(19061, 331)
SOURCE(19265, 125)
            {
               word pd228;
               pd228 = (* (( (ptr) (* (( (ptr) gf←c61412)+160)/* var←c57796 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd228 ))))((* (( (ptr) (* (( (ptr) &var←c61380)+8)/* data←v15404 */  ))+18) ), (* (( (ptr) (* (
                        ( (ptr) &var←c61380)+8)/* data←v15404 */  ))+17) ), 0, boxes←v8936, bounds←v8908, (word) (( (bPt) &var←c61380)+16)/* var←c58756 */ , pd228)
               ;
               };
            break;
         default: 
SOURCE(19406, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   }

static void Action←P3624(pixels←v15552, min←v15580, formal←c61476)
   word pixels←v15552;
   W2 min←v15580;
   word formal←c61476;
   {
   register ptr gf←c61444 =  (ptr) &globalframe;
   formal←c61476 = (formal←c61476 - 24);
   /* Action: */ 
SOURCE(18514, 19)
SOURCE(18591, 29)
   (*  (ptr) (* (( (ptr) formal←c61476)+9) ) ) = (*  (ptr) pixels←v15552 );
SOURCE(18622, 112)
   {
      word pd229;
      pd229 = (* (( (ptr) (* (( (ptr) gf←c61444)+153)/* var←c56516 */  ))+45) );
      (void) ( *( (fPt) ((*  (ptr) pd229 ))))((* (( (ptr) (* (( (ptr) formal←c61476)+8) ))+12) ), (* (( (ptr) (* (( (ptr) formal←c61476)+8)
             ))+13) ), min←v15580, (* (( (ptr) formal←c61476)+9) ), pd229);
      };
SOURCE(18736, 124)
   {
      word pd230;
      word limit231;
      pd230 = (* (( (ptr) (* (( (ptr) gf←c61444)+153)/* var←c56516 */  ))+46) );
      (void) ( *( (fPt) ((*  (ptr) pd230 ))))((* (( (ptr) (* (( (ptr) formal←c61476)+8) ))+1) ), min←v15580, (* ((( (ptr) pixels←v15552)+2)
            +(
               limit231 = (* (( (ptr) pixels←v15552)+1) ),
               BCK(0, limit231)
               )) ), (* (( (ptr) formal←c61476)+9) ),  (unsigned) ((* (( (bPt) (* (( (ptr) formal←c61476)+8) ))+23) ) & 7), pd230);
      };
   }

static void Action←P3732(pixels←v15684, min←v15712, formal←c61540)
   word pixels←v15684;
   W2 min←v15712;
   word formal←c61540;
   {
   register ptr gf←c61508 =  (ptr) &globalframe;
   formal←c61540 = (formal←c61540 - 16);
   /* Action: */ 
SOURCE(19063, 14)
SOURCE(19127, 133)
   {
      W2 var←c58884;
      var←c58884.f0 = 0;
      var←c58884.f1 = 1;
      {
         word pd232;
         word limit233;
         pd232 = (* (( (ptr) (* (( (ptr) gf←c61508)+153)/* var←c56516 */  ))+47) );
         (void) ( *( (fPt) ((*  (ptr) pd232 ))))((* (( (ptr) (* (( (ptr) formal←c61540)+8) ))+1) ), min←v15712, var←c58884, (* ((( (ptr) pixels←v15684)+2)
               +(
                  limit233 = (* (( (ptr) pixels←v15684)+1) ),
                  BCK(0, limit233)
                  )) ), 0, (*  (ptr) pixels←v15684 )
            ,  (unsigned) ((* (( (bPt) (* (( (ptr) formal←c61540)+8) ))+23) ) & 7), pd232);
         };
      };
   }

static void BitmapMaskRegion←P1140(device←v8996, bounds←v9024, edgeGenerator←v9052)
   word device←v8996;
   W4 bounds←v9024;
   word edgeGenerator←v9052;
   {
   register ptr gf←c61572 =  (ptr) &globalframe;
   word data←v15740;
   /* BitmapMaskRegion: */ 
SOURCE(19417, 303)
SOURCE(19524, 32)
   data←v15740 = XR←Narrow((* (( (ptr) device←v8996)+7) ), (* (( (ptr) gf←c61572)+39) ));
SOURCE(19558, 29)
   if (((* (( (ptr) data←v15740)+3) ) != 0)) {
SOURCE(19587, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(19594, 126)
   {
      word var←c58916;
      {
         word var←c58948;
         var←c58948 = (* (( (ptr) data←v15740)+1) );
         if ((var←c58948 == 0)) {
            goto lab←L100035;
            };
         if (((* (( (ptr) var←c58948)+6) ) == 0)) {
            goto lab←L100035;
            };
         (void) XR←RaiseError(XR←NarrowFault, 0);
         lab←L100035: ;
         var←c58916 = var←c58948;
         };
      {
         word pd234;
         pd234 = (* (( (ptr) (* (( (ptr) gf←c61572)+153)/* var←c56516 */  ))+59) );
         (void) ( *( (fPt) ((*  (ptr) pd234 ))))(var←c58916, edgeGenerator←v9052, (* (( (ptr) data←v15740)+4) ),  (unsigned) ((* (
               ( (bPt) data←v15740)+23) ) & 7), pd234);
         };
      };
   }

static void BitmapMaskBitmap←P1200(device←v9172, bitmap←v9200, delta←v9228, bounds←v9256, boxes←v9284)
   word device←v9172;
   word bitmap←v9200;
   W2 delta←v9228;
   W4 bounds←v9256;
   word boxes←v9284;
   {
   register ptr gf←c61604 =  (ptr) &globalframe;
   word data←v15784;
   /* BitmapMaskBitmap: */ 
SOURCE(19726, 272)
SOURCE(19844, 32)
   data←v15784 = XR←Narrow((* (( (ptr) device←v9172)+7) ), (* (( (ptr) gf←c61604)+39) ));
SOURCE(19878, 120)
   {
      word pd235;
      pd235 = (* (( (ptr) (* (( (ptr) gf←c61604)+153)/* var←c56516 */  ))+57) );
      (void) ( *( (fPt) ((*  (ptr) pd235 ))))((* (( (ptr) data←v15784)+1) ), bitmap←v9200, delta←v9228, boxes←v9284,  (unsigned) ((* (
            ( (bPt) data←v15784)+27) ) & 7), pd235);
      };
   }

static void BitmapMaskRawBitmaps←P1260(device←v9344, list←v9372)
   word device←v9344;
   word list←v9372;
   {
   register ptr gf←c61636 =  (ptr) &globalframe;
   word data←v15828;
   /* BitmapMaskRawBitmaps: */ 
SOURCE(20004, 224)
SOURCE(20094, 32)
   data←v15828 = XR←Narrow((* (( (ptr) device←v9344)+7) ), (* (( (ptr) gf←c61636)+39) ));
SOURCE(20128, 100)
   {
      word var←c58980;
      {
         word var←c59012;
         var←c59012 = (* (( (ptr) data←v15828)+1) );
         if ((var←c59012 == 0)) {
            goto lab←L100036;
            };
         if (((* (( (ptr) var←c59012)+6) ) == 0)) {
            goto lab←L100036;
            };
         (void) XR←RaiseError(XR←NarrowFault, 0);
         lab←L100036: ;
         var←c58980 = var←c59012;
         };
      {
         word pd236;
         pd236 = (* (( (ptr) (* (( (ptr) gf←c61636)+153)/* var←c56516 */  ))+53) );
         (void) ( *( (fPt) ((*  (ptr) pd236 ))))(var←c58980, list←v9372,  (unsigned) ((* (( (bPt) data←v15828)+27) ) & 7), pd236);
         };
      };
   }

static void BitmapDrawBitmap←P1320(device←v9516, bitmap←v9544, delta←v9572, bounds←v9600, boxes←v9628)
   word device←v9516;
   word bitmap←v9544;
   W2 delta←v9572;
   W4 bounds←v9600;
   word boxes←v9628;
   {
   register ptr gf←c61668 =  (ptr) &globalframe;
   word data←v15872;
   /* BitmapDrawBitmap: */ 
SOURCE(20234, 237)
SOURCE(20352, 32)
   data←v15872 = XR←Narrow((* (( (ptr) device←v9516)+7) ), (* (( (ptr) gf←c61668)+39) ));
SOURCE(20386, 85)
   {
      word pd237;
      pd237 = (* (( (ptr) (* (( (ptr) gf←c61668)+153)/* var←c56516 */  ))+57) );
      (void) ( *( (fPt) ((*  (ptr) pd237 ))))((* (( (ptr) data←v15872)+1) ), bitmap←v9544, delta←v9572, boxes←v9628, 0, pd237);
      };
   }

static void BitmapMoveBox←P1380(device←v9688, dstMin←v9716, srcMin←v9744, size←v9772)
   word device←v9688;
   W2 dstMin←v9716;
   W2 srcMin←v9744;
   W2 size←v9772;
   {
   register ptr gf←c61700 =  (ptr) &globalframe;
   word data←v15916;
   /* BitmapMoveBox: */ 
SOURCE(20477, 184)
SOURCE(20548, 32)
   data←v15916 = XR←Narrow((* (( (ptr) device←v9688)+7) ), (* (( (ptr) gf←c61700)+39) ));
SOURCE(20582, 79)
   {
      word pd238;
      pd238 = (* (( (ptr) (* (( (ptr) gf←c61700)+153)/* var←c56516 */  ))+51) );
      (void) ( *( (fPt) ((*  (ptr) pd238 ))))((* (( (ptr) data←v15916)+1) ), dstMin←v9716, srcMin←v9744, size←v9772, 0, pd238);
      };
   }

static void BitmapSwitchBuffer←P1440(device←v9832, bounds←v9860, copy←v9888, alt←v9916)
   word device←v9832;
   W4 bounds←v9860;
   word copy←v9888;
   word alt←v9916;
   {
   register ptr gf←c61732 =  (ptr) &globalframe;
   word data←v15960;
   word oldBuffer←v15988;
   word newBuffer←v16016;
   /* BitmapSwitchBuffer: */ 
SOURCE(20667, 486)
SOURCE(20752, 32)
   data←v15960 = XR←Narrow((* (( (ptr) device←v9832)+7) ), (* (( (ptr) gf←c61732)+39) ));
SOURCE(20786, 34)
   oldBuffer←v15988 = (* (( (ptr) data←v15960)+1) );
SOURCE(20822, 117)
   {
      word tc239;
      word pd240;
      if ((0 != alt←v9916)) {
         pd240 = (* (( (ptr) (* (( (ptr) gf←c61732)+153)/* var←c56516 */  ))+22) );
         tc239 =  (word) ( *( (fPt) ((*  (ptr) pd240 ))))(bounds←v9860, 1, 0, pd240);
         }
      else {
         tc239 =  (word) (* (( (ptr) data←v15960)+2) );
         };
      newBuffer←v16016 = tc239;
      };
SOURCE(20941, 66)
   if ((0 != copy←v9888)) {
SOURCE(20954, 53)
      {
         W2 var←c59044;
         var←c59044.f0 = 0;
         var←c59044.f1 = 0;
         {
            word pd241;
            pd241 = (* (( (ptr) (* (( (ptr) gf←c61732)+153)/* var←c56516 */  ))+50) );
            (void) ( *( (fPt) ((*  (ptr) pd241 ))))(newBuffer←v16016, oldBuffer←v15988, var←c59044, 0, pd241);
            };
         };
      };
SOURCE(21009, 23)
   (* (( (ptr) data←v15960)+1) ) = newBuffer←v16016;
SOURCE(21034, 119)
   if ((0 != alt←v9916)) {
SOURCE(21048, 29)
      (* (( (ptr) data←v15960)+2) ) = oldBuffer←v15988;
      }
   else {
SOURCE(21086, 22)
      (* (( (ptr) data←v15960)+2) ) = 0;
SOURCE(21111, 42)
      {
         word pd242;
         pd242 = (* (( (ptr) (* (( (ptr) gf←c61732)+153)/* var←c56516 */  ))+23) );
         (void) ( *( (fPt) ((*  (ptr) pd242 ))))(oldBuffer←v15988, pd242);
         };
      };
   }

static word FindBitsAtTransformation←P1500(formal←c0563, formal←c0564, formal←c0565)
   word formal←c0563;
   word formal←c0564;
   word formal←c0565;
   {
   W9 var←c61764;
   /* declaration of objectTable←v10664 skipped */ 
   /* declaration of object←v10692 skipped */ 
   /* declaration of clientToDevice←v10720 skipped */ 
   register ptr gf←c61796 =  (ptr) &globalframe;
   /* declaration of var←c01 skipped */ 
   /* declaration of objectCacheData←v10764 skipped */ 
   (* (( (ptr) &var←c61764)+4)/* objectTable←v10664 */  ) = formal←c0563;
   (* (( (ptr) &var←c61764)+5)/* object←v10692 */  ) = formal←c0564;
   (* (( (ptr) &var←c61764)+6)/* clientToDevice←v10720 */  ) = formal←c0565;
   /* FindBitsAtTransformation: */ 
SOURCE(22184, 601)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c61796)+16)/* LOCK←v3588 */ ));
SOURCE(22184, 601)
   (* (( (ptr) &var←c61764)+8)/* objectCacheData←v10764 */  ) = 0;
SOURCE(22396, 389)
   {
      word var←c02;
      {
         word var←c0541;
         var←c0541 = (word) &var←c61764;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q5100) ), ( ((word)  (fPt) NoName←Q5280) ), var←c0541);
         };
      if ((var←c02 == 1)) {
         goto lab←L02;
         };
      };
SOURCE(22184, 601)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c61796)+16)/* LOCK←v3588 */ ));
   return((* (( (ptr) &var←c61764)+8)/* objectCacheData←v10764 */  ));
   lab←L02: ;
   return((* (( (ptr) &var←c61764)+7)/* var←c01 */  ));
   }

static word NoName←Q5100(formal←c0516)
   word formal←c0516;
   {
   register ptr gf←c0515 =  (ptr) &globalframe;
SOURCE(22419, 15)
   {
      word val←v16060 = 0;
      word allBits←v16088 = 0;
      word found←v16116 = 0;
SOURCE(22475, 54)
      {
         W2 var←c59076;
         {
            word pd243;
            pd243 = (* (( (ptr) (* (( (ptr) gf←c0515)+147)/* var←c56068 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd243 ))))((word) &var←c59076, (*  (ptr) (* (( (ptr) formal←c0516)+4) ) ), (* (( (ptr) formal←c0516)+5)
                ), pd243);
            };
         val←v16060 = var←c59076.f1;
         found←v16116 = var←c59076.f0;
         };
SOURCE(22531, 29)
      if ((0 == found←v16116)) {
SOURCE(22549, 11)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0515)+16)/* LOCK←v3588 */ ));
         (* (( (ptr) formal←c0516)+7) ) = 0;
         return(1);
         };
SOURCE(22562, 21)
      allBits←v16088 = XR←Narrow(val←v16060, (* (( (ptr) gf←c0515)+49) ));
SOURCE(22585, 168)
      {
         register word list←v16160;
         list←v16160 = (*  (ptr) allBits←v16088 );
         lab←L100042: ;
         if ((list←v16160 != 0)) {
            }
         else {
            goto lab←L100039;
            };
SOURCE(22665, 88)
         {
            word pd244;
            pd244 = (* (( (ptr) (* (( (ptr) gf←c0515)+150)/* var←c56324 */  ))+55) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd244 ))))((* (( (ptr) (*  (ptr) list←v16160 ))+1) ), (* (( (ptr) formal←c0516)+6)
                ), (*  (ptr) &fc63 ), pd244))) {
SOURCE(22735, 18)
               {
                  word var←c59108;
                  var←c59108 = (*  (ptr) list←v16160 );
                  (void) (XR←MonitorExit((word) (( (bPt) gf←c0515)+16)/* LOCK←v3588 */ ));
                  (* (( (ptr) formal←c0516)+7) ) = var←c59108;
                  return(1);
                  };
               };
            };
         list←v16160 = (* (( (ptr) list←v16160)+1) );
         goto lab←L100042;
         lab←L100039: ;
         };
SOURCE(22764, 21)
      (* (( (ptr) formal←c0516)+8) ) = 0;
      };
   return(0);
   }

static void InsertBitsAtTransformation←P1560(formal←c0566, formal←c0567, formal←c0568)
   word formal←c0566;
   word formal←c0567;
   word formal←c0568;
   {
   W7 var←c61828;
   /* declaration of objectTable←v10824 skipped */ 
   /* declaration of object←v10852 skipped */ 
   /* declaration of objectCacheData←v10880 skipped */ 
   register ptr gf←c61860 =  (ptr) &globalframe;
   var←c61828.f4/* objectTable←v10824 */  = formal←c0566;
   var←c61828.f5/* object←v10852 */  = formal←c0567;
   var←c61828.f6/* objectCacheData←v10880 */  = formal←c0568;
   /* InsertBitsAtTransformation: */ 
SOURCE(22791, 761)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c61860)+16)/* LOCK←v3588 */ ));
SOURCE(22964, 588)
   {
      word var←c0542;
      var←c0542 = (word) &var←c61828;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q5160) ), ( ((word)  (fPt) NoName←Q5220) ), var←c0542);
      };
SOURCE(22791, 761)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c61860)+16)/* LOCK←v3588 */ ));
   return;
   }

static word NoName←Q5160(formal←c0519)
   word formal←c0519;
   {
   register ptr gf←c0518 =  (ptr) &globalframe;
SOURCE(22987, 15)
   {
      word val←v16288 = 0;
      word allBits←v16316 = 0;
      word found←v16344 = 0;
SOURCE(23043, 54)
      {
         W2 var←c59140;
         {
            word pd245;
            pd245 = (* (( (ptr) (* (( (ptr) gf←c0518)+147)/* var←c56068 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd245 ))))((word) &var←c59140, (*  (ptr) (* (( (ptr) formal←c0519)+4) ) ), (* (( (ptr) formal←c0519)+5)
                ), pd245);
            };
         val←v16288 = var←c59140.f1;
         found←v16344 = var←c59140.f0;
         };
SOURCE(23099, 161)
      if ((0 == found←v16344)) {
SOURCE(23119, 57)
         {
            word var←c59172;
            word var←c59268;
            {
               word var←c59204;
               word var←c59236;
               var←c59204 = XR←NewObject(8, (* (( (ptr) gf←c0518)+44) ));
               var←c59236 = var←c59204;
               (*  (ptr) var←c59236 ) = (* (( (ptr) formal←c0519)+6) );
               var←c59172 = var←c59204;
               };
            var←c59268 = XR←NewObject(4, (* (( (ptr) gf←c0518)+49) ));
            (*  (ptr) var←c59268 ) = var←c59172;
            allBits←v16316 = var←c59268;
            };
         }
      else {
SOURCE(23187, 21)
         allBits←v16316 = XR←Narrow(val←v16288, (* (( (ptr) gf←c0518)+49) ));
SOURCE(23210, 50)
         {
            word var←c59300;
            var←c59300 = XR←NewObject(8, (* (( (ptr) gf←c0518)+44) ));
            (*  (ptr) var←c59300 ) = (* (( (ptr) formal←c0519)+6) );
            (* (( (ptr) var←c59300)+1) ) = (*  (ptr) allBits←v16316 );
            (*  (ptr) allBits←v16316 ) = var←c59300;
            };
         };
SOURCE(23265, 53)
      {
         word var←c59332;
         word pd246;
         pd246 = (* (( (ptr) (* (( (ptr) gf←c0518)+147)/* var←c56068 */  ))+9) );
         var←c59332 = (word) ( *( (fPt) ((*  (ptr) pd246 ))))((*  (ptr) (* (( (ptr) formal←c0519)+4) ) ), (* (( (ptr) formal←c0519)+5)
             ), allBits←v16316, pd246);
         };
SOURCE(23320, 45)
      (* (( (ptr) (* (( (ptr) formal←c0519)+4) ))+1) ) = ((* (( (ptr) (* (( (ptr) formal←c0519)+4) ))+1) ) + 1);
SOURCE(23367, 70)
      (* (( (ptr) (* (( (ptr) formal←c0519)+4) ))+2) ) = ((* (( (ptr) (* (( (ptr) formal←c0519)+4) ))+2) ) + (* (( (ptr) (* (( (ptr) formal←c0519)+6)
          ))+2) ));
SOURCE(23439, 113)
      if (((* (( (ptr) (* (( (ptr) formal←c0519)+4) ))+1) ) > (* (( (ptr) gf←c0518)+23)/* maxObjects←v5268 */  )) || ((* (( (ptr) (* (
            ( (ptr) formal←c0519)+4) ))+2) ) > (* (( (ptr) gf←c0518)+24)/* maxWordsOfStorage←v5296 */  ))) {
SOURCE(23526, 26)
         (void) EnforceLimits←P1620((* ((( (ptr) formal←c0519)+4)) ));
         };
      };
   return(0);
   }

static void EnforceLimits←P1620(formal←c0569)
   word formal←c0569;
   {
   W11 var←c61892;
   /* declaration of objectTable←v10940 skipped */ 
   register ptr gf←c61924 =  (ptr) &globalframe;
   /* declaration of var←c59364 skipped */ 
   /* declaration of var←c59396 skipped */ 
   /* declaration of index←v16444 skipped */ 
   word done←v16472 = 0;
   /* declaration of cleanupNILs←v16500 skipped */ 
   (* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  ) = formal←c0569;
   /* EnforceLimits: */ 
SOURCE(23558, 1644)
   {
      word tmpAddr247;
      tmpAddr247 = (word) (( (ptr) &var←c61892)+5)/* var←c59364 */ ;
      (*  (ptr) tmpAddr247 ) = ( ((word)  (fPt) TrimBits←P3996) );
      (* (( (ptr) tmpAddr247) + 1) ) = 1;
      };
   {
      word tmpAddr248;
      tmpAddr248 = (word) (( (ptr) &var←c61892)+7)/* var←c59396 */ ;
      (*  (ptr) tmpAddr248 ) = ( ((word)  (fPt) TrimBitsAfterIndex←P3936) );
      (* (( (ptr) tmpAddr248) + 1) ) = 1;
      };
SOURCE(24733, 14)
   (* (( (ptr) &var←c61892)+9)/* index←v16444 */  ) = 0;
SOURCE(24769, 13)
   (* (( (ptr) &var←c61892)+10)/* cleanupNILs←v16500 */  ) = 0;
SOURCE(24808, 58)
   {
      word pd249;
      pd249 = (* (( (ptr) (* (( (ptr) gf←c61924)+147)/* var←c56068 */  ))+13) );
      done←v16472 = (word) ( *( (fPt) ((*  (ptr) pd249 ))))((*  (ptr) (* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  ) ), (word) (
            ( (bPt) &var←c61892)+28)/* var←c59396 */ , pd249);
      };
SOURCE(24868, 63)
   if ((0 == done←v16472)) {
SOURCE(24885, 46)
      {
         word var←c59428;
         word pd250;
         pd250 = (* (( (ptr) (* (( (ptr) gf←c61924)+147)/* var←c56068 */  ))+13) );
         var←c59428 = (word) ( *( (fPt) ((*  (ptr) pd250 ))))((*  (ptr) (* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  ) ), (word) (
               ( (bPt) &var←c61892)+20)/* var←c59364 */ , pd250);
         };
      };
SOURCE(24933, 156)
   {
      register word list←v16628;
      list←v16628 = (* (( (ptr) &var←c61892)+10)/* cleanupNILs←v16500 */  );
      lab←L100048: ;
      if ((list←v16628 != 0)) {
         }
      else {
         goto lab←L100045;
         };
      {
         word deleted←v16756;
SOURCE(25007, 60)
         {
            word pd251;
            pd251 = (* (( (ptr) (* (( (ptr) gf←c61924)+147)/* var←c56068 */  ))+11) );
            deleted←v16756 = (word) ( *( (fPt) ((*  (ptr) pd251 ))))((*  (ptr) (* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  ) ), (*  (ptr) list←v16628 ), pd251)
            ;
            };
SOURCE(25069, 20)
         if ((0 == deleted←v16756)) {
SOURCE(25089, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      list←v16628 = (* (( (ptr) list←v16628)+1) );
      goto lab←L100048;
      lab←L100045: ;
      };
SOURCE(25105, 97)
   {
      word pd252;
      pd252 = (* (( (ptr) (* (( (ptr) gf←c61924)+147)/* var←c56068 */  ))+6) );
      if (( (int)(* (( (ptr) (* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  ))+3) ) >  (int)(word) ( *( (fPt) ((*  (ptr) pd252 ))
      ))((*  (ptr) ((* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  )) ), pd252))) {
SOURCE(25174, 28)
         (* (( (ptr) (* (( (ptr) &var←c61892)+4)/* objectTable←v10940 */  ))+3) ) = 0;
         };
      };
   }

static word TrimBitsAfterIndex←P3936(key←v52944, val←v52972, formal←c61988)
   word key←v52944;
   word val←v52972;
   word formal←c61988;
   {
   register ptr gf←c61956 =  (ptr) &globalframe;
   word quit←v53016;
   word allBits←v16800;
   word limitsDone←v16828 = 0;
   formal←c61988 = (formal←c61988 - 28);
   /* TrimBitsAfterIndex: */ 
SOURCE(23618, 617)
SOURCE(23618, 617)
   quit←v53016 = 0;
SOURCE(23664, 30)
   allBits←v16800 = XR←Narrow(val←v52972, (* (( (ptr) gf←c61956)+49) ));
SOURCE(23722, 75)
   if (((* (( (ptr) formal←c61988)+9) ) < (* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+3) ))) {
SOURCE(23765, 17)
      (* (( (ptr) formal←c61988)+9) ) = ((* (( (ptr) formal←c61988)+9) ) + 1);
SOURCE(23784, 13)
      return(0);
      };
SOURCE(23802, 55)
   (* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+3) ) = ((* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+3) ) + 1);
SOURCE(23859, 376)
   lab←L100051: ;
   if (((*  (ptr) allBits←v16800 ) != 0)) {
      }
   else {
      goto lab←L100049;
      };
SOURCE(23887, 45)
   {
      word idx253;
      (* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+1) ) = (
         idx253 = (word) ((* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+1) ) - 1),
         SGNCK(idx253)
         );
      };
SOURCE(23934, 73)
   (* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+2) ) = ((* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+2) ) - (* (( (ptr) (*  (ptr) (*  (ptr) allBits←v16800 ) ))+2)
    ));
SOURCE(24009, 32)
   (*  (ptr) allBits←v16800 ) = (* (( (ptr) (*  (ptr) allBits←v16800 ))+1) );
SOURCE(24043, 94)
   if (((* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+1) ) <= (* (( (ptr) gf←c61956)+23)/* maxObjects←v5268 */  ))) {
      limitsDone←v16828 =  (unsigned) ((* (( (ptr) (* (( (ptr) formal←c61988)+4) ))+2) ) <= (* (( (ptr) gf←c61956)+24)/* maxWordsOfStorage←v5296 */  ));
      }
   else {
      limitsDone←v16828 =  (unsigned) 0;
      };
SOURCE(24139, 63)
   if (((*  (ptr) allBits←v16800 ) == 0)) {
SOURCE(24166, 36)
      {
         word var←c59460;
         var←c59460 = XR←NewObject(8, (* (( (ptr) gf←c61956)+45) ));
         (*  (ptr) var←c59460 ) = key←v52944;
         (* (( (ptr) var←c59460)+1) ) = (* (( (ptr) formal←c61988)+10) );
         (* (( (ptr) formal←c61988)+10) ) = var←c59460;
         };
      };
SOURCE(24204, 31)
   if ((0 != limitsDone←v16828)) {
SOURCE(24223, 12)
      return(1);
      };
   goto lab←L100051;
   lab←L100049: ;
SOURCE(23618, 617)
   return(quit←v53016);
   }

static word TrimBits←P3996(key←v53076, val←v53104, formal←c62052)
   word key←v53076;
   word val←v53104;
   word formal←c62052;
   {
   register ptr gf←c62020 =  (ptr) &globalframe;
   word quit←v53148;
   word allBits←v16872;
   word limitsDone←v16900 = 0;
   formal←c62052 = (formal←c62052 - 20);
   /* TrimBits: */ 
SOURCE(24249, 470)
SOURCE(24249, 470)
   quit←v53148 = 0;
SOURCE(24285, 30)
   allBits←v16872 = XR←Narrow(val←v53104, (* (( (ptr) gf←c62020)+49) ));
SOURCE(24343, 376)
   lab←L100054: ;
   if (((*  (ptr) allBits←v16872 ) != 0)) {
      }
   else {
      goto lab←L100052;
      };
SOURCE(24371, 45)
   {
      word idx254;
      (* (( (ptr) (* (( (ptr) formal←c62052)+4) ))+1) ) = (
         idx254 = (word) ((* (( (ptr) (* (( (ptr) formal←c62052)+4) ))+1) ) - 1),
         SGNCK(idx254)
         );
      };
SOURCE(24418, 73)
   (* (( (ptr) (* (( (ptr) formal←c62052)+4) ))+2) ) = ((* (( (ptr) (* (( (ptr) formal←c62052)+4) ))+2) ) - (* (( (ptr) (*  (ptr) (*  (ptr) allBits←v16872 ) ))+2)
    ));
SOURCE(24493, 32)
   (*  (ptr) allBits←v16872 ) = (* (( (ptr) (*  (ptr) allBits←v16872 ))+1) );
SOURCE(24527, 94)
   if (((* (( (ptr) (* (( (ptr) formal←c62052)+4) ))+1) ) <= (* (( (ptr) gf←c62020)+23)/* maxObjects←v5268 */  ))) {
      limitsDone←v16900 =  (unsigned) ((* (( (ptr) (* (( (ptr) formal←c62052)+4) ))+2) ) <= (* (( (ptr) gf←c62020)+24)/* maxWordsOfStorage←v5296 */  ));
      }
   else {
      limitsDone←v16900 =  (unsigned) 0;
      };
SOURCE(24623, 63)
   if (((*  (ptr) allBits←v16872 ) == 0)) {
SOURCE(24650, 36)
      {
         word var←c59492;
         var←c59492 = XR←NewObject(8, (* (( (ptr) gf←c62020)+45) ));
         (*  (ptr) var←c59492 ) = key←v53076;
         (* (( (ptr) var←c59492)+1) ) = (* (( (ptr) formal←c62052)+10) );
         (* (( (ptr) formal←c62052)+10) ) = var←c59492;
         };
      };
SOURCE(24688, 31)
   if ((0 != limitsDone←v16900)) {
SOURCE(24707, 12)
      return(1);
      };
   goto lab←L100054;
   lab←L100052: ;
SOURCE(24249, 470)
   return(quit←v53148);
   }

static void RemoveBitsAtTransformation←P1680(objectTable←v11000, objectCacheData←v11028)
   word objectTable←v11000;
   word objectCacheData←v11028;
   {
   register ptr gf←c62084 =  (ptr) &globalframe;
   word val←v16944 = 0;
   word allBits←v16972 = 0;
   word found←v17000 = 0;
   /* RemoveBitsAtTransformation: */ 
SOURCE(25208, 455)
SOURCE(25439, 64)
   {
      W2 var←c59524;
      {
         word pd255;
         pd255 = (* (( (ptr) (* (( (ptr) gf←c62084)+147)/* var←c56068 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd255 ))))((word) &var←c59524, objectTable←v11000, (*  (ptr) objectCacheData←v11028 ), pd255)
         ;
         };
      val←v16944 = var←c59524.f1;
      found←v17000 = var←c59524.f0;
      };
SOURCE(25505, 158)
   if ((0 != found←v17000)) {
SOURCE(25521, 21)
      allBits←v16972 = XR←Narrow(val←v16944, (* (( (ptr) gf←c62084)+44) ));
SOURCE(25544, 54)
      allBits←v16972 = (word) DeleteBitsFromList←P1740(objectCacheData←v11028, allBits←v16972);
SOURCE(25600, 63)
      {
         word var←c59556;
         word pd256;
         pd256 = (* (( (ptr) (* (( (ptr) gf←c62084)+147)/* var←c56068 */  ))+9) );
         var←c59556 = (word) ( *( (fPt) ((*  (ptr) pd256 ))))(objectTable←v11000, (*  (ptr) objectCacheData←v11028 ), allBits←v16972, pd256)
         ;
         };
      };
   }

static word DeleteBitsFromList←P1740(entity←v11088, entityList←v11116)
   word entity←v11088;
   word entityList←v11116;
   {
   word smallerList←v11244;
   word beforeEnt←v17128 = 0;
   word ent←v17156 = 0;
   word afterEnt←v17184 = 0;
   word notFound←v17212 = 0;
   /* DeleteBitsFromList: */ 
SOURCE(25672, 446)
SOURCE(25672, 446)
   smallerList←v11244 = 0;
SOURCE(25895, 79)
   {
      W4 var←c59588;
      (void) FindBitsAndNeighbors←P1800((word) &var←c59588, entity←v11088, entityList←v11116);
      notFound←v17212 = var←c59588.f3;
      afterEnt←v17184 = var←c59588.f2;
      ent←v17156 = var←c59588.f1;
      beforeEnt←v17128 = var←c59588.f0;
      };
SOURCE(25976, 35)
   if ((0 != notFound←v17212)) {
SOURCE(25993, 18)
      return(entityList←v11116);
      };
SOURCE(26013, 105)
   if ((beforeEnt←v17128 == 0)) {
SOURCE(26037, 28)
      smallerList←v11244 = afterEnt←v17184;
      }
   else {
SOURCE(26067, 25)
      (* (( (ptr) beforeEnt←v17128)+1) ) = afterEnt←v17184;
SOURCE(26094, 24)
      smallerList←v11244 = entityList←v11116;
      };
SOURCE(25672, 446)
   return(smallerList←v11244);
   }

static void FindBitsAndNeighbors←P1800(formal←c0404, entity←v11388, entityList←v11416)
   word formal←c0404;
   word entity←v11388;
   word entityList←v11416;
   {
   word beforeEnt←v11544;
   word ent←v11572;
   word afterEnt←v11600;
   word notFound←v11628;
   word lastE←v17340 = 0;
   word eList←v17368;
   /* FindBitsAndNeighbors: */ 
SOURCE(26156, 507)
SOURCE(26156, 507)
   beforeEnt←v11544 = 0;
SOURCE(26156, 507)
   ent←v11572 = 0;
SOURCE(26156, 507)
   afterEnt←v11600 = 0;
SOURCE(26156, 507)
   notFound←v11628 = 0;
SOURCE(26381, 7)
   eList←v17368 = entityList←v11416;
SOURCE(26427, 47)
   if ((eList←v17368 == 0)) {
SOURCE(26447, 27)
      beforeEnt←v11544 = 0;
      ent←v11572 = 0;
      afterEnt←v11600 = 0;
      notFound←v11628 = 1;
      goto lab←L100055;
      };
SOURCE(26476, 149)
   lab←L100058: ;
   if ((eList←v17368 != 0)) {
      }
   else {
      goto lab←L100056;
      };
SOURCE(26497, 92)
   if (((*  (ptr) eList←v17368 ) == entity←v11388)) {
SOURCE(26528, 17)
      beforeEnt←v11544 = lastE←v17340;
SOURCE(26547, 11)
      ent←v11572 = eList←v17368;
SOURCE(26560, 21)
      afterEnt←v11600 = (* (( (ptr) eList←v17368)+1) );
SOURCE(26583, 6)
      goto lab←L100055;
      };
SOURCE(26592, 13)
   lastE←v17340 = eList←v17368;
SOURCE(26607, 18)
   eList←v17368 = (* (( (ptr) eList←v17368)+1) );
   goto lab←L100058;
   lab←L100056: ;
SOURCE(26636, 27)
   beforeEnt←v11544 = 0;
   ent←v11572 = 0;
   afterEnt←v11600 = 0;
   notFound←v11628 = 1;
   /* removed tail goto */ 
   lab←L100055: ;
   (*  (ptr) formal←c0404 ) = beforeEnt←v11544;
   (* (( (ptr) formal←c0404)+1) ) = ent←v11572;
   (* (( (ptr) formal←c0404)+2) ) = afterEnt←v11600;
   (* (( (ptr) formal←c0404)+3) ) = notFound←v11628;
   return;
   }

static void BitmapDrawObjectMultiColor←P1860(formal←c0570, formal←c0571, position←v11828, interactive←v11856)
   word formal←c0570;
   word formal←c0571;
   W2 position←v11828;
   word interactive←v11856;
   {
   W13 var←c62116;
   /* declaration of context←v11772 skipped */ 
   /* declaration of object←v11800 skipped */ 
   register ptr gf←c62148 =  (ptr) &globalframe;
   /* declaration of var←c59620 skipped */ 
   /* declaration of var←c59652 skipped */ 
   word device←v17580;
   word data←v17608;
   W4 contextBox←v17636;
   W4 intersection←v17664;
   W4 objectRect←v17692;
   (* (( (ptr) &var←c62116)+4)/* context←v11772 */  ) = formal←c0570;
   (* (( (ptr) &var←c62116)+5)/* object←v11800 */  ) = formal←c0571;
   /* BitmapDrawObjectMultiColor: */ 
SOURCE(26668, 3099)
   {
      word tmpAddr257;
      tmpAddr257 = (word) (( (ptr) &var←c62116)+6)/* var←c59620 */ ;
      (*  (ptr) tmpAddr257 ) = ( ((word)  (fPt) save←P4500) );
      (* (( (ptr) tmpAddr257) + 1) ) = 1;
      };
   {
      word tmpAddr258;
      tmpAddr258 = (word) (( (ptr) &var←c62116)+8)/* var←c59652 */ ;
      (*  (ptr) tmpAddr258 ) = ( ((word)  (fPt) ClipAndDraw←P4296) );
      (* (( (ptr) tmpAddr258) + 1) ) = 1;
      };
SOURCE(26774, 48)
   {
      word pd259;
      pd259 = (* (( (ptr) (* (( (ptr) gf←c62148)+148)/* var←c56196 */  ))+6) );
      device←v17580 = (word) ( *( (fPt) ((*  (ptr) pd259 ))))((* ((( (ptr) &var←c62116)+4)/* context←v11772 */ ) ), pd259);
      };
SOURCE(26824, 32)
   data←v17608 = XR←Narrow((* (( (ptr) device←v17580)+7) ), (* (( (ptr) gf←c62148)+39) ));
SOURCE(26923, 74)
   {
      W4 var←c59684;
      {
         word pd260;
         pd260 = (* (( (ptr) (* (( (ptr) gf←c62148)+154)/* var←c56836 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd260 ))))((word) &var←c59684, (* (( (ptr) &var←c62116)+4)/* context←v11772 */  ), pd260);
         };
      {
         W4 var←c0418;
         {
            word pd261;
            pd261 = (* (( (ptr) (* (( (ptr) gf←c62148)+162)/* var←c59716 */  ))+4) );
            (void) ( *( (fPt) ((*  (ptr) pd261 ))))((word) &var←c0418, var←c59684, pd261);
            };
         contextBox←v17636 = var←c0418;
         };
      };
SOURCE(26999, 107)
   {
      word x262;
      word x263;
      *(float*)&objectRect←v17692.f0 = (
         x262 = position←v11828.f0,  *(float*)&x262
         ) + (
         x263 = (* (( (ptr) (* (( (ptr) &var←c62116)+5)/* object←v11800 */  ))+1) ),  *(float*)&x263
         );
      };
   {
      word x264;
      word x265;
      *(float*)&objectRect←v17692.f1 = (
         x264 = position←v11828.f1,  *(float*)&x264
         ) + (
         x265 = (* (( (ptr) (* (( (ptr) &var←c62116)+5)/* object←v11800 */  ))+2) ),  *(float*)&x265
         );
      };
   objectRect←v17692.f2 = (* (( (ptr) (* (( (ptr) &var←c62116)+5)/* object←v11800 */  ))+3) );
   objectRect←v17692.f3 = (* (( (ptr) (* (( (ptr) &var←c62116)+5)/* object←v11800 */  ))+4) );
SOURCE(27133, 89)
   {
      W4 var←c59748;
      {
         word pd266;
         pd266 = (* (( (ptr) (* (( (ptr) gf←c62148)+162)/* var←c59716 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd266 ))))((word) &var←c59748, objectRect←v17692, pd266);
         };
      {
         W4 var←c0421;
         {
            word pd267;
            pd267 = (* (( (ptr) (* (( (ptr) gf←c62148)+162)/* var←c59716 */  ))+8) );
            (void) ( *( (fPt) ((*  (ptr) pd267 ))))((word) &var←c0421, contextBox←v17636, var←c59748, pd267);
            };
         intersection←v17664 = var←c0421;
         };
      };
SOURCE(27224, 50)
   {
      word x268;
      word x269;
      if (((
         x268 = intersection←v17664.f2,  *(float*)&x268
         ) == (
         x269 = intersection←v17664.f0,  *(float*)&x269
         ))) {
SOURCE(27268, 6)
         return;
         };
      };
SOURCE(27292, 2372)
   if ( ( (0 != interactive←v11856) ? ((* (( (ptr) (* (( (ptr) data←v17608)+14) ))+3) ) == 0) : 0 ) ) {
SOURCE(27356, 2310)
      {
         word clientToDevice←v17736;
         W4 bounds←v17764;
SOURCE(27358, 109)
         {
            word pd270;
            pd270 = (* (( (ptr) (* (( (ptr) gf←c62148)+154)/* var←c56836 */  ))+20) );
            clientToDevice←v17736 = (word) ( *( (fPt) ((*  (ptr) pd270 ))))((* (( (ptr) &var←c62116)+4)/* context←v11772 */  ), 0, 3, pd270)
            ;
            };
SOURCE(27469, 87)
         {
            word pd271;
            pd271 = (* (( (ptr) (* (( (ptr) gf←c62148)+150)/* var←c56324 */  ))+46) );
            (void) ( *( (fPt) ((*  (ptr) pd271 ))))((word) &bounds←v17764, clientToDevice←v17736, objectRect←v17692, pd271);
            };
SOURCE(27559, 2015)
         {
            float tf272;
            word x273;
            word x274;
            word x276;
            if ((FABS(((
                  x273 = bounds←v17764.f2,  *(float*)&x273
                  ) * (
                  x274 = bounds←v17764.f3,  *(float*)&x274
                  )), tf272) <= (
               x276 = (*  (ptr) &fc275 ),  *(float*)&x276
               ))) {
SOURCE(27616, 1980)
               {
                  word objectCacheData←v17808;
SOURCE(27618, 97)
                  objectCacheData←v17808 = (word) FindBitsAtTransformation←P1500((* (( (ptr) gf←c62148)+22)/* objectTable←v5100 */  ), (* (
                        ( (ptr) &var←c62116)+5)/* object←v11800 */  ), clientToDevice←v17736);
SOURCE(27717, 902)
                  if ((objectCacheData←v17808 == 0)) {
SOURCE(27747, 874)
                     {
                        word bitmap←v17880 = 0;
                        word size←v17908 = 0;
SOURCE(27940, 76)
                        {
                           word pd277;
                           pd277 = (* (( (ptr) (* (( (ptr) gf←c62148)+163)/* var←c59780 */  ))+7) );
                           bitmap←v17880 = (word) ( *( (fPt) ((*  (ptr) pd277 ))))((word) (( (bPt) &var←c62116)+32)/* var←c59652 */ , clientToDevice←v17736, 0, 0, pd277)
                           ;
                           };
SOURCE(28034, 378)
                        {
                           word o←v18012;
                           W4 movedBox←v18040;
SOURCE(28080, 65)
                           o←v18012 = XR←NewObject(24, (* (( (ptr) gf←c62148)+42) ));
                           (* (( (ptr) o←v18012)+2) ) = 10000;
                           (* (( (ptr) o←v18012)+3) ) = 1;
SOURCE(28147, 85)
                           {
/*1*/   W4 var←c0431;
/*1*/   {
/*1*/      W2 var←c59844;
/*1*/      var←c59844.f0 = 10000;
/*1*/      var←c59844.f1 = 10000;
/*1*/      {
/*1*/         word pd278;
/*1*/         pd278 = (* (( (ptr) (* (( (ptr) gf←c62148)+157)/* var←c57124 */  ))+20) );
/*1*/         (void) ( *( (fPt) ((*  (ptr) pd278 ))))((word) &var←c0431, (*  (W4Pt) bitmap←v17880 ), var←c59844, pd278);
/*1*/         };
/*1*/      };
/*1*/   movedBox←v18040 = var←c0431;
/*1*/   };
SOURCE(28234, 19)
                           objectCacheData←v17808 = o←v18012;
SOURCE(28255, 15)
                           (* (( (ptr) o←v18012)+4) ) = bitmap←v17880;
SOURCE(28272, 70)
                           (* (( (ptr) o←v18012)+5) ) = (word) RenderOntoWhite←P1920((word) (( (bPt) &var←c62116)+32)/* var←c59652 */ , clientToDevice←v17736, movedBox←v18040)
                           ;
SOURCE(28344, 66)
                           {
/*1*/   W2 var←c59876;
/*1*/   {
/*1*/      W2 var←c59908;
/*1*/      W4 b←v54348;
/*1*/      b←v54348 = (*  (W4Pt) bitmap←v17880 );
/*1*/      var←c59908.f0 = (b←v54348.f2 - b←v54348.f0);
/*1*/      var←c59908.f1 = (b←v54348.f3 - b←v54348.f1);
/*1*/      var←c59876 = var←c59908;
/*1*/      };
/*1*/   {
/*1*/      word pd279;
/*1*/      pd279 = (* (( (ptr) (* (( (ptr) gf←c62148)+153)/* var←c56516 */  ))+18) );
/*1*/      size←v17908 = ((word) ( *( (fPt) ((*  (ptr) pd279 ))))(var←c59876, 1, 0, pd279) + 10);
/*1*/      };
/*1*/   };
                           };
SOURCE(28417, 31)
                        (*  (ptr) objectCacheData←v17808 ) = (* (( (ptr) &var←c62116)+5)/* object←v11800 */  );
SOURCE(28450, 74)
                        {
                           word pd280;
                           pd280 = (* (( (ptr) (* (( (ptr) gf←c62148)+150)/* var←c56324 */  ))+6) );
                           (* (( (ptr) objectCacheData←v17808)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd280 ))))(clientToDevice←v17736, pd280);
                           };
SOURCE(28526, 27)
                        (* (( (ptr) objectCacheData←v17808)+2) ) = SGNCK(size←v17908);
SOURCE(28555, 64)
                        (void) InsertBitsAtTransformation←P1560((* (( (ptr) gf←c62148)+22)/* objectTable←v5100 */  ), (* (( (ptr) &var←c62116)+5)
                           /* object←v11800 */  ), objectCacheData←v17808);
                        };
                     };
SOURCE(28624, 950)
                  {
                     word var←c59972;
                     var←c59972 = objectCacheData←v17808;
                     if ((var←c59972 == 0)) {
                        goto lab←L100060;
                        };
                     if (((* (( (ptr) var←c59972)+3) ) == 1)) {
                        {
                           /* declaration of ocd←v18096 skipped */ 
                           (* (( (ptr) &var←c62116)+10)/* ocd←v18096 */  ) = var←c59972;
SOURCE(28695, 881)
                           {
/*1*/   W2 t1←v18152;
/*1*/   W2 t2←v18180;
/*1*/   W2 t3←v18208;
/*1*/   /* declaration of t←v18236 skipped */ 
SOURCE(28714, 69)
/*1*/   {
/*1*/      word pd281;
/*1*/      pd281 = (* (( (ptr) (* (( (ptr) gf←c62148)+150)/* var←c56324 */  ))+40) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd281 ))))((word) &t1←v18152, clientToDevice←v17736, position←v11828, pd281);
/*1*/      };
SOURCE(28785, 46)
/*1*/   t2←v18180.f0 = (* (( (ptr) clientToDevice←v17736)+2) );
/*1*/   t2←v18180.f1 = (* (( (ptr) clientToDevice←v17736)+5) );
SOURCE(28833, 54)
/*1*/   t3←v18208.f0 = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c62116)+10)/* ocd←v18096 */  ))+1) ))+2) );
/*1*/   t3←v18208.f1 = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c62116)+10)/* ocd←v18096 */  ))+1) ))+5) );
SOURCE(28889, 45)
/*1*/   {
/*1*/      W2 var←c60068;
/*1*/      {
/*1*/         word pd282;
/*1*/         pd282 = (* (( (ptr) (* (( (ptr) gf←c62148)+164)/* var←c60100 */  ))+6) );
/*1*/         (void) ( *( (fPt) ((*  (ptr) pd282 ))))((word) &var←c60068, t2←v18180, t3←v18208, pd282);
/*1*/         };
/*1*/      {
/*1*/         W2 var←c0444;
/*1*/         {
/*1*/            word pd283;
/*1*/            pd283 = (* (( (ptr) (* (( (ptr) gf←c62148)+164)/* var←c60100 */  ))+4) );
/*1*/            (void) ( *( (fPt) ((*  (ptr) pd283 ))))((word) &var←c0444, t1←v18152, var←c60068, pd283);
/*1*/            };
/*1*/         (*  (W2Pt) (( (ptr) &var←c62116)+11)/* t←v18236 */  ) = var←c0444;
/*1*/         };
/*1*/      };
SOURCE(29492, 28)
/*1*/   {
/*1*/      word pd284;
/*1*/      pd284 = (* (( (ptr) (* (( (ptr) gf←c62148)+155)/* var←c56868 */  ))+12) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd284 ))))((* (( (ptr) &var←c62116)+4)/* context←v11772 */  ), (word) (( (bPt) &var←c62116)+24)
/*1*/         /* var←c59620 */ , pd284);
/*1*/      };
SOURCE(29522, 44)
/*1*/   {
/*1*/      word pd285;
/*1*/      pd285 = (* (( (ptr) (* (( (ptr) gf←c62148)+150)/* var←c56324 */  ))+5) );
/*1*/      (void) ( *( (fPt) ((*  (ptr) pd285 ))))(clientToDevice←v17736, pd285);
/*1*/      };
SOURCE(29568, 6)
/*1*/   return;
/*1*/   };
                           };
                        }
                     else {
                        lab←L100060: ;
                        };
                     };
                  };
               };
            };
SOURCE(29620, 44)
         {
            word pd286;
            pd286 = (* (( (ptr) (* (( (ptr) gf←c62148)+150)/* var←c56324 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd286 ))))(clientToDevice←v17736, pd286);
            };
         };
      };
SOURCE(29696, 71)
   {
      word pd287;
      pd287 = (* (( (ptr) (* (( (ptr) gf←c62148)+165)/* var←c60132 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd287 ))))((* (( (ptr) &var←c62116)+4)/* context←v11772 */  ), (* (( (ptr) &var←c62116)+5)/* object←v11800 */  ), position←v11828, interactive←v11856, pd287)
      ;
      };
   }

static void ClipAndDraw←P4296(c←v17984, formal←c62212)
   word c←v17984;
   word formal←c62212;
   {
   register ptr gf←c62180 =  (ptr) &globalframe;
   formal←c62212 = (formal←c62212 - 32);
   /* ClipAndDraw: */ 
SOURCE(27800, 19)
SOURCE(27835, 36)
   {
      word pd288;
      pd288 = (* (( (ptr) (* (( (ptr) gf←c62180)+155)/* var←c56868 */  ))+83) );
      (void) ( *( (fPt) ((*  (ptr) pd288 ))))(c←v17984, (*  (W4Pt) (( (ptr) (* (( (ptr) formal←c62212)+5) ))+1) ), 0, pd288);
      };
SOURCE(27873, 22)
   {
      word pd289;
      pd289 = (*  (ptr) (* (( (ptr) formal←c62212)+5) ) );
      (void) ( *( (fPt) ((*  (ptr) pd289 ))))((* (( (ptr) formal←c62212)+5) ), c←v17984, pd289);
      };
   }

static void save←P4500(formal←c62276)
   word formal←c62276;
   {
   register ptr gf←c62244 =  (ptr) &globalframe;
   word m←v18324;
   formal←c62276 = (formal←c62276 - 24);
   /* save: */ 
SOURCE(28936, 13)
SOURCE(28951, 94)
   {
      word pd290;
      pd290 = (* (( (ptr) (* (( (ptr) gf←c62244)+154)/* var←c56836 */  ))+20) );
      m←v18324 = (word) ( *( (fPt) ((*  (ptr) pd290 ))))((* (( (ptr) formal←c62276)+4) ), 3, 1, pd290);
      };
SOURCE(29047, 31)
   {
      word pd291;
      pd291 = (* (( (ptr) (* (( (ptr) gf←c62244)+154)/* var←c56836 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd291 ))))((* (( (ptr) formal←c62276)+4) ), m←v18324, pd291);
      };
SOURCE(29115, 31)
   {
      word pd292;
      pd292 = (* (( (ptr) (* (( (ptr) gf←c62244)+150)/* var←c56324 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd292 ))))(m←v18324, pd292);
      };
SOURCE(29148, 7)
   m←v18324 = 0;
SOURCE(29157, 38)
   {
      word pd293;
      pd293 = (* (( (ptr) (* (( (ptr) gf←c62244)+155)/* var←c56868 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd293 ))))((* (( (ptr) formal←c62276)+4) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c62244)+155)
            /* var←c56868 */  ))+55) ) ), pd293);
      };
SOURCE(29197, 101)
   {
      W2 var←c60164;
      var←c60164.f0 = 0;
      var←c60164.f1 = 0;
      {
         word pd294;
         pd294 = (* (( (ptr) (* (( (ptr) gf←c62244)+155)/* var←c56868 */  ))+78) );
         (void) ( *( (fPt) ((*  (ptr) pd294 ))))((* (( (ptr) formal←c62276)+4) ), (* (( (ptr) (* (( (ptr) formal←c62276)+10) ))+4)
             ), var←c60164, 6, (*  (W2Pt) (( (ptr) formal←c62276)+11) ), pd294);
         };
      };
SOURCE(29300, 38)
   {
      word pd295;
      pd295 = (* (( (ptr) (* (( (ptr) gf←c62244)+155)/* var←c56868 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd295 ))))((* (( (ptr) formal←c62276)+4) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c62244)+155)
            /* var←c56868 */  ))+54) ) ), pd295);
      };
SOURCE(29340, 147)
   {
      W2 var←c60196;
      {
         W2 var←c0450;
         {
            W2 var←c60228;
            {
               float tf296;
               var←c60228.f0 = (
                  tf296 = (float)(unsigned)10000,  *(word*)&tf296
                  );
               };
            {
               float tf297;
               var←c60228.f1 = (
                  tf297 = (float)(unsigned)10000,  *(word*)&tf297
                  );
               };
            {
               word pd298;
               pd298 = (* (( (ptr) (* (( (ptr) gf←c62244)+164)/* var←c60100 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd298 ))))((word) &var←c0450, (*  (W2Pt) (( (ptr) formal←c62276)+11) ), var←c60228, pd298);
               };
            };
         var←c60196 = var←c0450;
         };
      {
         W2 var←c60260;
         var←c60260.f0 = 0;
         var←c60260.f1 = 0;
         {
            word pd299;
            pd299 = (* (( (ptr) (* (( (ptr) gf←c62244)+155)/* var←c56868 */  ))+78) );
            (void) ( *( (fPt) ((*  (ptr) pd299 ))))((* (( (ptr) formal←c62276)+4) ), (* (( (ptr) (* (( (ptr) formal←c62276)+10) ))+5)
                ), var←c60260, 6, var←c60196, pd299);
            };
         };
      };
   }

static word RenderOntoWhite←P1920(formal←c0572, formal←c0573, box←v11972)
   word formal←c0572;
   word formal←c0573;
   W4 box←v11972;
   {
   W9 var←c62308;
   /* declaration of operator←v11916 skipped */ 
   /* declaration of clientToDevice←v11944 skipped */ 
   register ptr gf←c62340 =  (ptr) &globalframe;
   word shadingBits←v12076;
   /* declaration of var←c60292 skipped */ 
   /* declaration of context←v18368 skipped */ 
   (* (( (ptr) &var←c62308)+4)/* operator←v11916 */  ) = formal←c0572;
   (* (( (ptr) &var←c62308)+5)/* clientToDevice←v11944 */  ) = formal←c0573;
   /* RenderOntoWhite: */ 
SOURCE(29798, 643)
   {
      word tmpAddr300;
      tmpAddr300 = (word) (( (ptr) &var←c62308)+6)/* var←c60292 */ ;
      (*  (ptr) tmpAddr300 ) = ( ((word)  (fPt) proc←P4560) );
      (* (( (ptr) tmpAddr300) + 1) ) = 1;
      };
SOURCE(29798, 643)
   shadingBits←v12076 = 0;
SOURCE(29929, 23)
   (* (( (ptr) &var←c62308)+8)/* context←v18368 */  ) = 0;
SOURCE(30086, 44)
   {
      word pd301;
      pd301 = (* (( (ptr) (* (( (ptr) gf←c62340)+153)/* var←c56516 */  ))+19) );
      shadingBits←v12076 = (word) ( *( (fPt) ((*  (ptr) pd301 ))))(box←v11972, 1, 0, pd301);
      };
SOURCE(30132, 31)
   {
      word pd302;
      pd302 = (* (( (ptr) (* (( (ptr) gf←c62340)+153)/* var←c56516 */  ))+48) );
      (void) ( *( (fPt) ((*  (ptr) pd302 ))))(shadingBits←v12076, pd302);
      };
SOURCE(30165, 179)
   {
      W2 var←c60324;
      W2 var←c60356;
      var←c60324.f0 = 2147483647;
      var←c60324.f1 = 2147483647;
      var←c60356.f0 = (*  (ptr) &fc59 );
      var←c60356.f1 = (*  (ptr) &fc59 );
      (* (( (ptr) &var←c62308)+8)/* context←v18368 */  ) = (word) Create←P60(var←c60324, 6, var←c60356, 1, 1, (*  (ptr) (* (( (ptr) (* (
               ( (ptr) gf←c62340)+166)/* var←c60388 */  ))+4) ) ));
      };
SOURCE(30346, 29)
   {
      W2 var←c60420;
      var←c60420.f0 = (*  (ptr) &fc60 );
      var←c60420.f1 = (*  (ptr) &fc60 );
      {
         word pd303;
         pd303 = (* (( (ptr) (* (( (ptr) gf←c62340)+155)/* var←c56868 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd303 ))))((* (( (ptr) &var←c62308)+8)/* context←v18368 */  ), var←c60420, pd303);
         };
      };
SOURCE(30377, 31)
   (void) SetBitmap←P120((* (( (ptr) &var←c62308)+8)/* context←v18368 */  ), shadingBits←v12076);
SOURCE(30410, 31)
   {
      word pd304;
      pd304 = (* (( (ptr) (* (( (ptr) gf←c62340)+155)/* var←c56868 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd304 ))))((* (( (ptr) &var←c62308)+8)/* context←v18368 */  ), (word) (( (bPt) &var←c62308)+24)
         /* var←c60292 */ , pd304);
      };
SOURCE(29798, 643)
   return(shadingBits←v12076);
   }

static void proc←P4560(formal←c62404)
   word formal←c62404;
   {
   register ptr gf←c62372 =  (ptr) &globalframe;
   formal←c62404 = (formal←c62404 - 24);
   /* proc: */ 
SOURCE(29954, 127)
SOURCE(29969, 52)
   {
      W2 var←c60452;
      {
         float tf305;
         var←c60452.f0 = (
            tf305 = (float)(unsigned)10000,  *(word*)&tf305
            );
         };
      {
         float tf306;
         var←c60452.f1 = (
            tf306 = (float)(unsigned)10000,  *(word*)&tf306
            );
         };
      {
         word pd307;
         pd307 = (* (( (ptr) (* (( (ptr) gf←c62372)+155)/* var←c56868 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd307 ))))((* (( (ptr) formal←c62404)+8) ), var←c60452, pd307);
         };
      };
SOURCE(30023, 39)
   {
      word pd308;
      pd308 = (* (( (ptr) (* (( (ptr) gf←c62372)+155)/* var←c56868 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd308 ))))((* (( (ptr) formal←c62404)+8) ), (* (( (ptr) formal←c62404)+5) ), pd308);
      };
SOURCE(30064, 17)
   {
      word pd309;
      pd309 = (* (( (ptr) formal←c62404)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd309 ))))((* ((( (ptr) formal←c62404)+8)) ), pd309);
      };
   }

static word BitmapGetBufferColorOperator←P1980(device←v12136)
   word device←v12136;
   {
   register ptr gf←c62436 =  (ptr) &globalframe;
   word var←c12180;
   /* BitmapGetBufferColorOperator: */ 
SOURCE(33192, 150)
SOURCE(33272, 70)
   {
      word pd310;
      pd310 = (* (( (ptr) (* (( (ptr) gf←c62436)+167)/* var←c60516 */  ))+12) );
      return((word) ( *( (fPt) ((*  (ptr) pd310 ))))((*  (ptr) &fc60 ), (*  (ptr) &fc59 ), 0, 0, pd310));
      };
   }

static void BitmapAccessBuffer←P2040(device←v12240, box←v12268, action←v12296)
   word device←v12240;
   W4 box←v12268;
   word action←v12296;
   {
   register ptr gf←c62468 =  (ptr) &globalframe;
   word data←v18456;
   word bitmap←v18484;
   word pixelMap←v18512;
   /* BitmapAccessBuffer: */ 
SOURCE(33346, 512)
SOURCE(33440, 32)
   data←v18456 = XR←Narrow((* (( (ptr) device←v12240)+7) ), (* (( (ptr) gf←c62468)+39) ));
SOURCE(33474, 55)
   {
      word pd311;
      pd311 = (* (( (ptr) (* (( (ptr) gf←c62468)+153)/* var←c56516 */  ))+27) );
      bitmap←v18484 = (word) ( *( (fPt) ((*  (ptr) pd311 ))))((* (( (ptr) data←v18456)+1) ), box←v12268, pd311);
      };
SOURCE(33531, 113)
   if (((* (( (ptr) data←v18456)+21) ) == 0)) {
      {
         word var←c60548;
         var←c60548 = XR←NewObject(28, (* (( (ptr) gf←c62468)+28) ));
         (* (( (ptr) var←c60548)+5) ) = 1;
         pixelMap←v18512 = var←c60548;
         };
      }
   else {
      pixelMap←v18512 = (* (( (ptr) data←v18456)+21) );
      };
SOURCE(33646, 26)
   (* (( (ptr) data←v18456)+21) ) = 0;
SOURCE(33674, 42)
   (*  (W4Pt) (( (ptr) pixelMap←v18512)+1) ) = (*  (W4Pt) bitmap←v18484 );
SOURCE(33718, 20)
   {
      word limit312;
      (* ((( (ptr) pixelMap←v18512)+6)+(
            limit312 = (* (( (ptr) pixelMap←v18512)+5) ),
            BCK(0, limit312)
            )) ) = bitmap←v18484;
      };
SOURCE(33740, 16)
   (void) ( *( (fPt) ((*  (ptr) action←v12296 ))))(pixelMap←v18512, action←v12296);
SOURCE(33758, 17)
   {
      word limit313;
      (* ((( (ptr) pixelMap←v18512)+6)+(
            limit313 = (* (( (ptr) pixelMap←v18512)+5) ),
            BCK(0, limit313)
            )) ) = 0;
      };
SOURCE(33785, 39)
SOURCE(33786, 38)
   {
      word pd314;
      pd314 = (* (( (ptr) (* (( (ptr) gf←c62468)+153)/* var←c56516 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd314 ))))(bitmap←v18484, pd314);
      };
SOURCE(33827, 31)
   (* (( (ptr) data←v18456)+21) ) = pixelMap←v18512;
   }

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

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

/* file: ImagerBitmapContextImpl, module: ImagerBitmapContextImpl, compiled at: October 28, 1993 1:02:46 pm PDT */ 
extern void XR←install←ImagerBitmapContextImpl() {
   NoName←Q5040();
   }
extern void XR←run←ImagerBitmapContextImpl() { XR←Start(&globalframe); }