/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 28, 1993 10:15:55 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerColorPrivateImpl, module: ImagerColorPrivateImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2475705411,748828630] ImagerColorPrivateImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2;} W3;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
static float fc58 = 0.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc123 = 1.0;
static void NoName←Q6864();
static void ImagerColorPrivateImpl←P0();
static word MakeStructure←P60();
static word SSize←P120();
static word SCheckSize←P180();
static void SGet←P240();
static word SGetAtom←P300();
static word SGetReal←P360();
static word SGetInt←P420();
static word SGetStructure←P480();
static word SGetOptionalStructure←P540();
static word SGetColor←P600();
static word SGetColorOperator←P660();
static void SGetProp←P720();
static word FlatSize←P780();
static void FlatGet←P840();
static word StructureFromElementGenerator←P900();
static void CountElements←P3732();
static void StoreElements←P3792();
static word StructureFromList←P960();
static void GenerateElements←P4140();
static word MergeSize←P1020();
static void MergeGet←P1080();
static word SMergeProp←P1140();
static word StructureEqual←P1200();
static word ColorEqual←P1260();
static word ConstantColorsEqual←P1320();
static word ApplyPixelEncoding←P1380();
static word PixelEncodingEqual←P1440();
static word PixelEncodingFromStructure←P1500();
static word StructureFromPixelEncoding←P1560();
static void G←P5448();
static word MakeSampleEncoding←P1620();
static word SampleEncodingEqual←P1680();
static word SampleEncodingFromStructure←P1740();
static word SampleEncodingSize←P1800();
static void SampleEncodingGet←P1860();
static word StructureFromSampleEncoding←P1920();
static void RegisterNamedColor←P1980();
static word DefineProcessSpace←P2040();
static word StoreColorOperator←P2100();
static word ColorOperatorFromColorSpace←P2160();
static word ColorSpaceDimension←P2220();
static word GetPixelEncoding←P2280();
static word TransformConstantColor←P2340();
static word pixelIn←P6036();
static word ApplyToList←P2400();
static word pixelIn←P6096();
static word MakeColorPoint←P2460();
static word DestroyColorPoint←P2520();
static word ChooseColorSpace←P2580();
static word ColorPointFromColor←P2640();
static word NarrowToOp←P2700();
static word IntensityFromColor←P2760();
static word GrayFromColor←P2820();
static word FindColorOperatorClass←P2880();
static word NewColorOperatorClass←P2940();
static word NewColorOperator←P3000();
static word compare←P6696();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\105\234\000\000"};
static struct {unsigned f; char r[4];} string2 = {196611, "\004@A"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\340\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\103\260\000\000"};
static struct {unsigned f; char r[12];} string5 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\132\124\077\010\300\370\073\075\073\100\354\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string9 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\132\124\077\010\300\370\073\075\073\100\370\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\034\000"};
static struct {unsigned f; char r[4];} string12 = {131076, "\216\251\000"};
static struct {unsigned f; char r[44];} string13 = {2752556, "\260\006\005\146\151\162\163\164\257\300\240\236\274\171\300\344\000\142\023\100\200\005\004\162\145\163\164\214\257\300\240\236\274\171\300\344\000\142\023\100\200\261\000"};
static struct {unsigned f; char r[4];} string14 = {131074, "\004\007\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\104\034\000\000"};
static struct {unsigned f; char r[20];} string16 = {1179668, "\260\006\005\146\151\162\163\164\256\005\004\162\145\163\164\214\256\261\000"};
static struct {unsigned f; char r[4];} string17 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300ZT?\010\300\370;=;B`\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\101\240\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\164\000\000"};
static struct {unsigned f; char r[12];} string21 = {720907, "\007\000\040\006\003\001\013\000\000\013\013"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\102\030\000\000"};
static struct {unsigned f; char r[4];} string23 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300ZT?\010\300\370;=;BT\000\000"};
static struct {unsigned f; char r[36];} string25 = {2293796, "Wrong type (expected ColorOperator)"};
static struct {unsigned f; char r[28];} string26 = {1769500, "Wrong type (expected Color)"};
static struct {unsigned f; char r[36];} string27 = {2162724, "Wrong type (expected Vector or 0)\000\000"};
static struct {unsigned f; char r[56];} string28 = {3407928, "this color operator is not supported for this device\000\000\000"};
static struct {unsigned f; char r[32];} string29 = {1835040, "Wrong type (expected Vector)\000\000\000"};
static struct {unsigned f; char r[32];} string30 = {1900576, "Wrong type (expected Integer)\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "ColorOperator\000\000"};
static struct {unsigned f; char r[32];} string32 = {1835040, "Wrong type (expected Number)\000\000\000"};
static struct {unsigned f; char r[36];} string33 = {2097188, "Wrong type (expected Identifier)\000\000\000"};
static struct {unsigned f; char r[32];} string34 = {1966112, "No substitute for SpecialColor\000"};
static struct {unsigned f; char r[40];} string35 = {2424872, "Failed to find color model operator: \000\000"};
static struct {unsigned f; char r[8];} string36 = {262152, "name\000\000\000"};
static struct {unsigned f; char r[84];} string37 = {5242964, "Argument vector to ColorModelOperator has incorrect size (expected %g, found %g)\000\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\100\164\000\000"};
static struct {unsigned f; char r[28];} string39 = {1769499, "\006\011\040\001\044\001\050\001\054\001\060\001\064\004\100\377\100\124\001\100\130\001\100\310\004\137\377"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\161\264\233\303\300\026\075\022\161\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300ZT?\010\300\370;=;@h\000\000"};
static struct {unsigned f; char r[32];} string47 = {1966112, "\211\022\021StructureClassRep\300ZT?\010\300\370;=;\000"};
static struct {unsigned f; char r[36];} string48 = {2228260, "\211\026\025ColorOperatorClassRep\300ZT?\010\300\370;=;\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\150\000\000"};
static struct {
   word f0[63]; 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; word f136; word f137; 
   word f138; word f139; word f140; word f141; 
   word f142; word f143; word f144; word f145; 
   word f146; word f147; word f148; word f149; 
   word f150; word f151; word f152; word f153; 
   word f154; word f155; word f156; word f157; 
   word f158; word f159; word f160; word f161; 
   word f162; word f163; word f164[9]; 
   } globalframe = {
   {0}, (word) NewColorOperator←P3000, 0, (word) NewColorOperatorClass←P2940, 
   0, (word) FindColorOperatorClass←P2880, 0, (word) GrayFromColor←P2820, 
   0, (word) IntensityFromColor←P2760, 0, (word) NarrowToOp←P2700, 
   0, (word) ColorPointFromColor←P2640, 0, (word) ChooseColorSpace←P2580, 
   0, (word) DestroyColorPoint←P2520, 0, (word) MakeColorPoint←P2460, 
   0, (word) ApplyToList←P2400, 0, (word) TransformConstantColor←P2340, 
   0, (word) GetPixelEncoding←P2280, 0, (word) ColorSpaceDimension←P2220, 
   0, (word) ColorOperatorFromColorSpace←P2160, 0, (word) StoreColorOperator←P2100, 
   0, (word) DefineProcessSpace←P2040, 0, (word) RegisterNamedColor←P1980, 
   0, (word) StructureFromSampleEncoding←P1920, 0, (word) SampleEncodingGet←P1860, 
   0, (word) SampleEncodingSize←P1800, 0, (word) SampleEncodingFromStructure←P1740, 
   0, (word) SampleEncodingEqual←P1680, 0, (word) MakeSampleEncoding←P1620, 
   0, (word) StructureFromPixelEncoding←P1560, 0, (word) PixelEncodingFromStructure←P1500, 
   0, (word) PixelEncodingEqual←P1440, 0, (word) ApplyPixelEncoding←P1380, 
   0, (word) ConstantColorsEqual←P1320, 0, (word) ColorEqual←P1260, 
   0, (word) StructureEqual←P1200, 0, (word) SMergeProp←P1140, 
   0, (word) MergeGet←P1080, 0, (word) MergeSize←P1020, 
   0, (word) StructureFromList←P960, 0, (word) StructureFromElementGenerator←P900, 
   0, (word) FlatGet←P840, 0, (word) FlatSize←P780, 
   0, (word) SGetProp←P720, 0, (word) SGetColorOperator←P660, 
   0, (word) SGetColor←P600, 0, (word) SGetOptionalStructure←P540, 
   0, (word) SGetStructure←P480, 0, (word) SGetInt←P420, 
   0, (word) SGetReal←P360, 0, (word) SGetAtom←P300, 
   0, (word) SGet←P240, 0, (word) SCheckSize←P180, 
   0, (word) SSize←P120, 0, (word) MakeStructure←P60, 
   0, (word) ImagerColorPrivateImpl←P0, {0}
   };

static void NoName←Q6864()
   {
   register ptr gf←c0491 =  (ptr) &globalframe;
   word var←c38876;
   (* (( (ptr) gf←c0491)+23) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0491)+24) ) = (word) XR←GetTypeIndexS((word) (&string3));
   (* (( (ptr) gf←c0491)+25) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0491)+31) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0491)+33) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (* (( (ptr) gf←c0491)+34) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0491)+37) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string9);
   (* (( (ptr) gf←c0491)+38) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14);
   (* (( (ptr) gf←c0491)+39) ) = (word) XR←GetTypeIndexS((word) (&string15));
   (* (( (ptr) gf←c0491)+40) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (* (( (ptr) gf←c0491)+41) ) = (word) XR←GetTypeIndexS((word) (&string18));
   (* (( (ptr) gf←c0491)+42) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string5);
   (* (( (ptr) gf←c0491)+43) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21);
   (* (( (ptr) gf←c0491)+48) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23);
   (* (( (ptr) gf←c0491)+49) ) = (word) XR←GetTypeIndex((word) &string24, 0, (word) &string5);
   (*  (ptr) (( (bPt) gf←c0491)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0491)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0491)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0491)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0491)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0491)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0491)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+37) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0491)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0491)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0491)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0491)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0491)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+37) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0491)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string37);
   (void) XR←DeclareGlobalFrame((word) "ImagerColorPrivateImpl", &globalframe, (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39)
      , (word) (( (bPt) gf←c0491)+652)/* var←c33820 */ );
   var←c38876 = (word) XR←ImportInterface((word) "FunctionCache", (word) XR←GetTypeIndexS((word) (&string40)), 14);
   (* (( (ptr) gf←c0491)+166)/* var←c34012 */  ) = var←c38876;
   (void) XR←ImportProcS(var←c38876, 1311237);
   (void) XR←ImportProcS(var←c38876, 135005443);
   (void) XR←ImportProcS(var←c38876, 67633154);
   var←c38876 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string41)), 3);
   (* (( (ptr) gf←c0491)+167)/* var←c34108 */  ) = var←c38876;
   var←c38876 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string42)), 103);
   (* (( (ptr) gf←c0491)+168)/* var←c34268 */  ) = var←c38876;
   (void) XR←ImportProcS(var←c38876, 68958724);
   var←c38876 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string43)), 27);
   (* (( (ptr) gf←c0491)+169)/* var←c34332 */  ) = var←c38876;
   var←c38876 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string44)), 43);
   (* (( (ptr) gf←c0491)+170)/* var←c36380 */  ) = var←c38876;
   (void) XR←ImportProcS(var←c38876, 67633666);
   (void) XR←ImportProcS(var←c38876, 67896323);
   var←c38876 = (word) XR←ImportInterface((word) "SymTab", (word) XR←GetTypeIndexS((word) (&string45)), 13);
   (* (( (ptr) gf←c0491)+165)/* var←c33948 */  ) = var←c38876;
   (void) XR←ImportProcS(var←c38876, 134742786);
   (void) XR←ImportProcS(var←c38876, 67896835);
   (void) XR←ImportProcS(var←c38876, 67633410);
   var←c38876 = (word) XR←ExportInterface((word) "ImagerColor", (word) XR←GetTypeIndexS((word) (&string46)), 32);
   (* (( (ptr) gf←c0491)+171)/* var←c38908 */  ) = var←c38876;
   (void) XR←ExportType((word) "StructureClassRep", (word) XR←GetTypeIndexS((word) (&string47)), (word) XR←GetTypeIndexS((word) (&string3))
      );
   (void) XR←ExportType((word) "ColorOperatorClassRep", (word) XR←GetTypeIndexS((word) (&string48)), (word) XR←GetTypeIndex(
         (word) &string1, 0, (word) &string2));
   var←c38876 = (word) XR←ExportInterface((word) "ImagerColorPrivate", (word) XR←GetTypeIndexS((word) (&string49)), 48);
   (* (( (ptr) gf←c0491)+172)/* var←c38940 */  ) = var←c38876;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+644)/* var←c33788 */ , 67633154, (word) "MakeStructure");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+636)/* var←c33756 */ , 67371265, (word) "SSize");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+628)/* var←c33724 */ , 67633666, (word) "SCheckSize");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+620)/* var←c33692 */ , 134742786, (word) "SGet");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+612)/* var←c33660 */ , 67634178, (word) "SGetAtom");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+604)/* var←c33628 */ , 67634434, (word) "SGetReal");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+596)/* var←c33596 */ , 67634690, (word) "SGetInt");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+588)/* var←c33564 */ , 67634946, (word) "SGetStructure");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+580)/* var←c33532 */ , 67897347, (word) "SGetOptionalStructure")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+572)/* var←c33500 */ , 67635458, (word) "SGetColor");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+564)/* var←c33468 */ , 67635714, (word) "SGetColorOperator");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+556)/* var←c33436 */ , 134744834, (word) "SGetProp");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+500)/* var←c33212 */ , 67636226, (word) "SMergeProp");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+532)/* var←c33340 */ , 67374337, (word) "StructureFromElementGenerator")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+524)/* var←c33308 */ , 67374593, (word) "StructureFromList");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+492)/* var←c33180 */ , 67636994, (word) "StructureEqual");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+484)/* var←c33148 */ , 67637250, (word) "ColorEqual");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+468)/* var←c33084 */ , 67899651, (word) "ApplyPixelEncoding")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+460)/* var←c33052 */ , 67637762, (word) "PixelEncodingEqual")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+452)/* var←c33020 */ , 67375873, (word) "PixelEncodingFromStructure")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+444)/* var←c32988 */ , 67376129, (word) "StructureFromPixelEncoding")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+436)/* var←c32956 */ , 67638530, (word) "MakeSampleEncoding")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+428)/* var←c32924 */ , 67638786, (word) "SampleEncodingEqual")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+420)/* var←c32892 */ , 67376897, (word) "SampleEncodingFromStructure")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+396)/* var←c32796 */ , 67377153, (word) "StructureFromSampleEncoding")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+476)/* var←c33116 */ , 67639554, (word) "ConstantColorsEqual")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+276)/* var←c32316 */ , 67377665, (word) "GrayFromColor");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+284)/* var←c32348 */ , 67377921, (word) "IntensityFromColor")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+332)/* var←c32540 */ , 67902467, (word) "ApplyToList");
   (void) XR←ExportVar(var←c38876, 29, (word) (( (bPt) gf←c0491)+44)/* namedColorTable←v5016 */ );
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+388)/* var←c32764 */ , 269825, (word) "RegisterNamedColor");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+324)/* var←c32508 */ , 67641090, (word) "MakeColorPoint");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+316)/* var←c32476 */ , 67379201, (word) "DestroyColorPoint");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+380)/* var←c32732 */ , 67641602, (word) "DefineProcessSpace")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+364)/* var←c32668 */ , 67379713, (word) "ColorOperatorFromColorSpace")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+356)/* var←c32636 */ , 67379969, (word) "ColorSpaceDimension")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+348)/* var←c32604 */ , 67380225, (word) "GetPixelEncoding");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+340)/* var←c32572 */ , 67642626, (word) "TransformConstantColor")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+308)/* var←c32444 */ , 67642882, (word) "ChooseColorSpace");
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+300)/* var←c32412 */ , 67643138, (word) "ColorPointFromColor")
   ;
   (void) XR←ExportVar(var←c38876, 42, (word) (( (bPt) gf←c0491)+84)/* colorOperatorClassTable←v5576 */ );
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+268)/* var←c32284 */ , 67382017, (word) "FindColorOperatorClass")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+260)/* var←c32252 */ , 68955143, (word) "NewColorOperatorClass")
   ;
   (void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+252)/* var←c32220 */ , 68431109, (word) "NewColorOperator");
   }

static void ImagerColorPrivateImpl←P0(formal←c077, formal←c072)
   word formal←c077;
   word formal←c072;
   {
   register ptr gf←c38972 =  (ptr) &globalframe;
   /* ImagerColorPrivateImpl: */ 
SOURCE(1027, 20498)
SOURCE(6422, 92)
   {
      word var←c33852;
      var←c33852 = XR←NewObject(8, (* (( (ptr) gf←c38972)+24) ));
      (*  (ptr) var←c33852 ) = (word) (( (bPt) gf←c38972)+548)/* var←c33404 */ ;
      (* (( (ptr) var←c33852)+1) ) = (word) (( (bPt) gf←c38972)+540)/* var←c33372 */ ;
      (* (( (ptr) gf←c38972)+8)/* flatStructureClass←v4232 */  ) = var←c33852;
      };
SOURCE(8114, 95)
   {
      word var←c33884;
      var←c33884 = XR←NewObject(8, (* (( (ptr) gf←c38972)+24) ));
      (*  (ptr) var←c33884 ) = (word) (( (bPt) gf←c38972)+516)/* var←c33276 */ ;
      (* (( (ptr) var←c33884)+1) ) = (word) (( (bPt) gf←c38972)+508)/* var←c33244 */ ;
      (* (( (ptr) gf←c38972)+9)/* mergeStructureClass←v4400 */  ) = var←c33884;
      };
SOURCE(13446, 134)
   {
      word var←c33916;
      var←c33916 = XR←NewObject(8, (* (( (ptr) gf←c38972)+24) ));
      (*  (ptr) var←c33916 ) = (word) (( (bPt) gf←c38972)+412)/* var←c32860 */ ;
      (* (( (ptr) var←c33916)+1) ) = (word) (( (bPt) gf←c38972)+404)/* var←c32828 */ ;
      (* (( (ptr) gf←c38972)+10)/* sampleEncodingClass←v4904 */  ) = var←c33916;
      };
SOURCE(14097, 72)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c38972)+165)/* var←c33948 */  ))+5) );
      (* (( (ptr) gf←c38972)+11)/* namedColorTable←v5016 */  ) = (word) ( *( (fPt) ((*  (ptr) pd50 ))))(53, 0, pd50);
      };
SOURCE(14424, 96)
   {
      word var←c33980;
      var←c33980 = XR←NewObject(28, (* (( (ptr) gf←c38972)+25) ));
      (*  (ptr) var←c33980 ) = 6;
      (* (( (ptr) gf←c38972)+12)/* colorSpaceTable←v5100 */  ) = var←c33980;
      };
SOURCE(19549, 71)
   {
      word pd51;
      pd51 = (* (( (ptr) (* (( (ptr) gf←c38972)+165)/* var←c33948 */  ))+5) );
      (* (( (ptr) gf←c38972)+21)/* colorOperatorClassTable←v5576 */  ) = (word) ( *( (fPt) ((*  (ptr) pd51 ))))(17, 0, pd51);
      };
SOURCE(20592, 108)
   {
      word pd52;
      pd52 = (* (( (ptr) (* (( (ptr) gf←c38972)+166)/* var←c34012 */  ))+4) );
      (* (( (ptr) gf←c38972)+22)/* colorOperatorCache←v5660 */  ) = (word) ( *( (fPt) ((*  (ptr) pd52 ))))(2147483647, 2147483647, pd52)
      ;
      };
   }

static word MakeStructure←P60(class←v5780, data←v5808)
   word class←v5780;
   word data←v5808;
   {
   register ptr gf←c39004 =  (ptr) &globalframe;
   word var←c5868;
   word structure←v12952;
   /* MakeStructure: */ 
SOURCE(3027, 188)
SOURCE(3113, 81)
   structure←v12952 = XR←NewObject(8, (* (( (ptr) gf←c39004)+31) ));
   (*  (ptr) structure←v12952 ) = class←v5780;
   (* (( (ptr) structure←v12952)+1) ) = data←v5808;
SOURCE(3196, 19)
   return(structure←v12952);
   }

static word SSize←P120(structure←v5928)
   word structure←v5928;
   {
   word var←c5972;
   /* SSize: */ 
SOURCE(3219, 132)
SOURCE(3279, 72)
   {
      word pd53;
      if ((structure←v5928 == 0)) {
         return(0);
         }
      else {
         pd53 = (*  (ptr) (*  (ptr) structure←v5928 ) );
         return((word) ( *( (fPt) ((*  (ptr) pd53 ))))(structure←v5928, pd53));
         };
      };
   }

static word SCheckSize←P180(structure←v6032, size←v6060)
   word structure←v6032;
   word size←v6060;
   {
   register ptr gf←c39036 =  (ptr) &globalframe;
   word var←c6104;
   word structureSize←v12996;
   /* SCheckSize: */ 
SOURCE(3355, 334)
SOURCE(3431, 37)
   structureSize←v12996 = (word) SSize←P120(structure←v6032);
SOURCE(3470, 42)
   if (( (int)structureSize←v12996 ==  (int)size←v6060)) {
SOURCE(3499, 13)
      return(size←v6060);
      };
SOURCE(3514, 175)
   {
      word var←c34140;
      {
         W2 var←c34172;
         W2 var←c34204;
         W2 var←c0536;
         var←c34172.f0 = 5;
         var←c34172.f1 = size←v6060;
         var←c34204.f0 = 5;
         var←c34204.f1 = structureSize←v12996;
         (*  (ptr) (word) &var←c0536 ) = 0;
         (* (( (ptr) (word) &var←c0536) + 1) ) = 0;
         {
            word pd54;
            pd54 = (* (( (ptr) (* (( (ptr) gf←c39036)+168)/* var←c34268 */  ))+62) );
            var←c34140 = (word) ( *( (fPt) ((*  (ptr) pd54 ))))((* (( (ptr) gf←c39036)+62) ), var←c34172, var←c34204, var←c0536, pd54)
            ;
            };
         };
      {
         W3 var←c092;
         var←c092.f0 = 66;
         var←c092.f1 = var←c34140;
         var←c092.f2 = 0;
         (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39036)+167)/* var←c34108 */  ))+4) ), (word) &var←c092);
         };
      };
   }

static void SGet←P240(formal←c098, structure←v6164, i←v6192)
   word formal←c098;
   word structure←v6164;
   word i←v6192;
   {
   register ptr gf←c39068 =  (ptr) &globalframe;
   W2 var←c6236;
   /* SGet: */ 
SOURCE(3695, 173)
SOURCE(3766, 57)
   if ((structure←v6164 == 0) || ( (int)i←v6192 <  (int)0)) {
SOURCE(3799, 24)
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39068)+169)/* var←c34332 */  ))+8) ), 0);
      };
SOURCE(3825, 43)
   {
      W2 var←c34396;
      {
         word pd55;
         pd55 = (* (( (ptr) (*  (ptr) structure←v6164 ))+1) );
         (void) ( *( (fPt) ((*  (ptr) pd55 ))))((word) &var←c34396, structure←v6164, i←v6192, pd55);
         };
      var←c6236 = var←c34396;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c098 ) = var←c6236;
   return;
   }

static word SGetAtom←P300(structure←v6296, i←v6324)
   word structure←v6296;
   word i←v6324;
   {
   register ptr gf←c39100 =  (ptr) &globalframe;
   word var←c6368;
   /* SGetAtom: */ 
SOURCE(3872, 241)
SOURCE(3944, 70)
   {
      W2 var←c34428;
      (void) SGet←P240((word) &var←c34428, structure←v6296, i←v6324);
      if ((var←c34428.f0 == 0)) {
         {
            W2 e←v13040;
            e←v13040 = var←c34428;
SOURCE(3999, 15)
            return(e←v13040.f1);
            };
         }
      else {
         };
      };
SOURCE(4033, 80)
   {
      W3 var←c0106;
      var←c0106.f0 = 70;
      var←c0106.f1 = (* (( (ptr) gf←c39100)+58) );
      var←c0106.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39100)+167)/* var←c34108 */  ))+4) ), (word) &var←c0106);
      };
   }

static word SGetReal←P360(structure←v6428, i←v6456)
   word structure←v6428;
   word i←v6456;
   {
   register ptr gf←c39132 =  (ptr) &globalframe;
   word var←c6500;
   /* SGetReal: */ 
SOURCE(4119, 271)
SOURCE(4191, 104)
   {
      W2 var←c34492;
      (void) SGet←P240((word) &var←c34492, structure←v6428, i←v6456);
      {
         word var←c34524;
         var←c34524 = var←c34492.f0;
         if ((var←c34524 == 3)) {
            {
               W2 e←v13084;
               e←v13084 = var←c34492;
SOURCE(4245, 14)
               {
                  float tf56;
                  return((
                     tf56 = (float)(int)e←v13084.f1,  *(word*)&tf56
                     ));
                  };
               };
            }
         else {
            if ((var←c34524 == 2)) {
               {
                  W2 e←v13128;
                  e←v13128 = var←c34492;
SOURCE(4280, 15)
                  return(e←v13128.f1);
                  };
               }
            else {
               };
            };
         };
      };
SOURCE(4314, 76)
   {
      W3 var←c0116;
      var←c0116.f0 = 70;
      var←c0116.f1 = (* (( (ptr) gf←c39132)+57) );
      var←c0116.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39132)+167)/* var←c34108 */  ))+4) ), (word) &var←c0116);
      };
   }

static word SGetInt←P420(structure←v6560, i←v6588)
   word structure←v6560;
   word i←v6588;
   {
   register ptr gf←c39164 =  (ptr) &globalframe;
   word var←c6632;
   /* SGetInt: */ 
SOURCE(4396, 234)
SOURCE(4466, 68)
   {
      W2 var←c34588;
      (void) SGet←P240((word) &var←c34588, structure←v6560, i←v6588);
      if ((var←c34588.f0 == 3)) {
         {
            W2 e←v13172;
            e←v13172 = var←c34588;
SOURCE(4520, 14)
            return(e←v13172.f1);
            };
         }
      else {
         };
      };
SOURCE(4553, 77)
   {
      W3 var←c0124;
      var←c0124.f0 = 70;
      var←c0124.f1 = (* (( (ptr) gf←c39164)+55) );
      var←c0124.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39164)+167)/* var←c34108 */  ))+4) ), (word) &var←c0124);
      };
   }

static word SGetStructure←P480(structure←v6692, i←v6720)
   word structure←v6692;
   word i←v6720;
   {
   register ptr gf←c39196 =  (ptr) &globalframe;
   word var←c6764;
   /* SGetStructure: */ 
SOURCE(4636, 399)
SOURCE(4718, 222)
   {
      W2 var←c34652;
      (void) SGet←P240((word) &var←c34652, structure←v6692, i←v6720);
      {
         word var←c34748;
         var←c34748 = var←c34652.f0;
         switch (var←c34748) {
            case 1: 
               {
                  W2 e←v13216;
                  e←v13216 = var←c34652;
SOURCE(4778, 20)
                  return(e←v13216.f1);
                  };
            case 3: 
               {
                  W2 e←v13260;
                  e←v13260 = var←c34652;
SOURCE(4818, 49)
                  if (( (int)e←v13260.f1 ==  (int)0)) {
SOURCE(4836, 31)
                     return((word) StructureFromList←P960(0));
                     };
                  };
               break;
            case 2: 
               {
                  W2 e←v13304;
                  e←v13304 = var←c34652;
SOURCE(4888, 52)
                  {
                     word x57;
                     word x59;
                     if (((
                        x57 = e←v13304.f1,  *(float*)&x57
                        ) == (
                        x59 = (*  (ptr) &fc58 ),  *(float*)&x59
                        ))) {
SOURCE(4909, 31)
                        return((word) StructureFromList←P960(0));
                        };
                     };
                  };
               break;
            default: 
               break;
            };
         };
      };
SOURCE(4959, 76)
   {
      W3 var←c0135;
      var←c0135.f0 = 70;
      var←c0135.f1 = (* (( (ptr) gf←c39196)+54) );
      var←c0135.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39196)+167)/* var←c34108 */  ))+4) ), (word) &var←c0135);
      };
   }

static word SGetOptionalStructure←P540(structure←v6824, i←v6852, wantSize←v6880)
   word structure←v6824;
   word i←v6852;
   word wantSize←v6880;
   {
   register ptr gf←c39228 =  (ptr) &globalframe;
   word var←c6924;
   /* SGetOptionalStructure: */ 
SOURCE(5041, 461)
SOURCE(5151, 251)
   {
      W2 var←c34812;
      (void) SGet←P240((word) &var←c34812, structure←v6824, i←v6852);
      {
         word var←c34876;
         var←c34876 = var←c34812.f0;
         switch (var←c34876) {
            case 1: 
               {
                  W2 e←v13348;
                  e←v13348 = var←c34812;
SOURCE(5213, 60)
                  if (( (int)wantSize←v6880 >=  (int)0)) {
SOURCE(5235, 38)
                     {
                        word var←c34844;
                        var←c34844 = (word) SCheckSize←P180(e←v13348.f1, wantSize←v6880);
                        };
                     };
SOURCE(5275, 20)
                  return(e←v13348.f1);
                  };
            case 3: 
               {
                  W2 e←v13392;
                  e←v13392 = var←c34812;
SOURCE(5318, 30)
                  if (( (int)e←v13392.f1 ==  (int)0)) {
SOURCE(5336, 12)
                     return(0);
                     };
                  };
               break;
            case 2: 
               {
                  W2 e←v13436;
                  e←v13436 = var←c34812;
SOURCE(5369, 33)
                  {
                     word x60;
                     word x61;
                     if (((
                        x60 = e←v13436.f1,  *(float*)&x60
                        ) == (
                        x61 = (*  (ptr) &fc58 ),  *(float*)&x61
                        ))) {
SOURCE(5390, 12)
                        return(0);
                        };
                     };
                  };
               break;
            default: 
               break;
            };
         };
      };
SOURCE(5421, 81)
   {
      W3 var←c0148;
      var←c0148.f0 = 70;
      var←c0148.f1 = (* (( (ptr) gf←c39228)+52) );
      var←c0148.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39228)+167)/* var←c34108 */  ))+4) ), (word) &var←c0148);
      };
   }

static word SGetColor←P600(structure←v6984, i←v7012)
   word structure←v6984;
   word i←v7012;
   {
   register ptr gf←c39260 =  (ptr) &globalframe;
   word var←c7056;
   /* SGetColor: */ 
SOURCE(5508, 240)
SOURCE(5582, 72)
   {
      W2 var←c34940;
      (void) SGet←P240((word) &var←c34940, structure←v6984, i←v7012);
      if ((var←c34940.f0 == 4)) {
         {
            W2 e←v13480;
            e←v13480 = var←c34940;
SOURCE(5638, 16)
            return(e←v13480.f1);
            };
         }
      else {
         };
      };
SOURCE(5673, 75)
   {
      W3 var←c0156;
      var←c0156.f0 = 70;
      var←c0156.f1 = (* (( (ptr) gf←c39260)+51) );
      var←c0156.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39260)+167)/* var←c34108 */  ))+4) ), (word) &var←c0156);
      };
   }

static word SGetColorOperator←P660(structure←v7116, i←v7144)
   word structure←v7116;
   word i←v7144;
   {
   register ptr gf←c39292 =  (ptr) &globalframe;
   word var←c7188;
   /* SGetColorOperator: */ 
SOURCE(5754, 280)
SOURCE(5844, 88)
   {
      W2 var←c35004;
      (void) SGet←P240((word) &var←c35004, structure←v7116, i←v7144);
      if ((var←c35004.f0 == 5)) {
         {
            W2 e←v13524;
            e←v13524 = var←c35004;
SOURCE(5908, 24)
            return(e←v13524.f1);
            };
         }
      else {
         };
      };
SOURCE(5951, 83)
   {
      W3 var←c0164;
      var←c0164.f0 = 70;
      var←c0164.f1 = (* (( (ptr) gf←c39292)+50) );
      var←c0164.f2 = 0;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39292)+167)/* var←c34108 */  ))+4) ), (word) &var←c0164);
      };
   }

static void SGetProp←P720(formal←c0175, structure←v7248, key←v7276)
   word formal←c0175;
   word structure←v7248;
   word key←v7276;
   {
   W2 var←c7320;
   word size←v13568;
   /* SGetProp: */ 
SOURCE(6040, 309)
SOURCE(6118, 28)
   size←v13568 = (word) SSize←P120(structure←v7248);
SOURCE(6148, 146)
   {
      register word i←v13612;
      i←v13612 = 0;
      lab←L100005: ;
      if (( (int)(i←v13612 + 1) <  (int)size←v13568)) {
         }
      else {
         goto lab←L100002;
         };
SOURCE(6188, 106)
      {
         W2 var←c35068;
         (void) SGet←P240((word) &var←c35068, structure←v7248, i←v13612);
         if ((var←c35068.f0 == 0)) {
            {
               W2 a←v13656;
               a←v13656 = var←c35068;
SOURCE(6244, 50)
               if ((a←v13656.f1 == key←v7276)) {
SOURCE(6265, 29)
                  {
                     W2 var←c35132;
                     (void) SGet←P240((word) &var←c35132, structure←v7248, (i←v13612 + 1));
                     var←c7320 = var←c35132;
                     goto lab←L100001;
                     };
                  };
               };
            }
         else {
            };
         };
      i←v13612 = (i←v13612 + 2);
      goto lab←L100005;
      lab←L100002: ;
      };
SOURCE(6323, 26)
   var←c7320.f0 = 1;
   var←c7320.f1 = 0;
   /* removed tail goto */ 
   lab←L100001: ;
   (*  (W2Pt) formal←c0175 ) = var←c7320;
   return;
   }

static word FlatSize←P780(structure←v7484)
   word structure←v7484;
   {
   register ptr gf←c39324 =  (ptr) &globalframe;
   word var←c7528;
   word data←v13700;
   /* FlatSize: */ 
SOURCE(6516, 128)
SOURCE(6572, 51)
   data←v13700 = XR←Narrow((* (( (ptr) structure←v7484)+1) ), (* (( (ptr) gf←c39324)+42) ));
SOURCE(6625, 19)
   return((*  (ptr) data←v13700 ));
   }

static void FlatGet←P840(formal←c0184, structure←v7588, i←v7616)
   word formal←c0184;
   word structure←v7588;
   word i←v7616;
   {
   register ptr gf←c39356 =  (ptr) &globalframe;
   W2 var←c7660;
   word data←v13756;
   W2 element←v13784;
   /* FlatGet: */ 
SOURCE(6647, 166)
SOURCE(6714, 51)
   data←v13756 = XR←Narrow((* (( (ptr) structure←v7588)+1) ), (* (( (ptr) gf←c39356)+42) ));
SOURCE(6767, 27)
   {
      word limit62;
      element←v13784 = (*  (W2Pt) (* ((( (ptr) data←v13756)+1)+(
            limit62 = (*  (ptr) data←v13756 ),
            BCK(i←v7616, limit62)
            )) ) );
      };
SOURCE(6796, 17)
   var←c7660 = element←v13784;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0184 ) = var←c7660;
   return;
   }

static word StructureFromElementGenerator←P900(elementGenerator←v7720)
   word elementGenerator←v7720;
   {
   W11 var←c39388;
   register ptr gf←c39420 =  (ptr) &globalframe;
   word var←c7764;
   /* declaration of var←c35196 skipped */ 
   /* declaration of var←c35228 skipped */ 
   /* declaration of data←v13840 skipped */ 
   /* declaration of size←v13868 skipped */ 
   /* declaration of i←v13924 skipped */ 
   /* StructureFromElementGenerator: */ 
SOURCE(6817, 946)
   {
      word tmpAddr63;
      tmpAddr63 = (word) (( (ptr) &var←c39388)+4)/* var←c35196 */ ;
      (*  (ptr) tmpAddr63 ) = ( ((word)  (fPt) StoreElements←P3792) );
      (* (( (ptr) tmpAddr63) + 1) ) = 1;
      };
   {
      word tmpAddr64;
      tmpAddr64 = (word) (( (ptr) &var←c39388)+6)/* var←c35228 */ ;
      (*  (ptr) tmpAddr64 ) = ( ((word)  (fPt) CountElements←P3732) );
      (* (( (ptr) tmpAddr64) + 1) ) = 1;
      };
SOURCE(6921, 32)
   (* (( (ptr) &var←c39388)+8)/* data←v13840 */  ) = 0;
SOURCE(6955, 13)
   (* (( (ptr) &var←c39388)+9)/* size←v13868 */  ) = 0;
SOURCE(7022, 10)
   (* (( (ptr) &var←c39388)+10)/* i←v13924 */  ) = 0;
SOURCE(7527, 31)
   (void) ( *( (fPt) ((*  (ptr) elementGenerator←v7720 ))))((word) ((( (bPt) &var←c39388)+24)/* var←c35228 */ ), elementGenerator←v7720)
   ;
SOURCE(7560, 34)
   {
      word var←c35260;
      word var←c35292;
      word var←c35324;
      {
         word idx65;
         var←c35260 = (
            idx65 = (* (( (ptr) &var←c39388)+9)/* size←v13868 */  ),
            BCK(idx65, 67108863)
            );
         };
      var←c35292 = ((word) var←c35260 << 2);
      var←c35324 = XR←NewObject((4 + var←c35292), (* (( (ptr) gf←c39420)+42) ));
      (*  (ptr) var←c35324 ) = var←c35260;
      (* (( (ptr) &var←c39388)+8)/* data←v13840 */  ) = var←c35324;
      };
SOURCE(7596, 31)
   (void) ( *( (fPt) ((*  (ptr) elementGenerator←v7720 ))))((word) ((( (bPt) &var←c39388)+16)/* var←c35196 */ ), elementGenerator←v7720)
   ;
SOURCE(7629, 17)
   if (( (int)(* (( (ptr) &var←c39388)+10)/* i←v13924 */  ) !=  (int)(* (( (ptr) &var←c39388)+9)/* size←v13868 */  ))) {
SOURCE(7646, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(7701, 62)
   return((word) MakeStructure←P60((* (( (ptr) gf←c39420)+8)/* flatStructureClass←v4232 */  ), (* (( (ptr) &var←c39388)+8)/* data←v13840 */  ))
   );
   }

static void CountElements←P3732(element←v30792, formal←c39452)
   W2 element←v30792;
   word formal←c39452;
   {
   formal←c39452 = (formal←c39452 - 24);
   /* CountElements: */ 
SOURCE(6970, 49)
SOURCE(7003, 16)
   (* (( (ptr) formal←c39452)+9) ) = ((* (( (ptr) formal←c39452)+9) ) + 1);
   }

static void StoreElements←P3792(element←v30852, formal←c39516)
   W2 element←v30852;
   word formal←c39516;
   {
   register ptr gf←c39484 =  (ptr) &globalframe;
   formal←c39516 = (formal←c39516 - 16);
   /* StoreElements: */ 
SOURCE(7034, 490)
SOURCE(7067, 427)
   {
      W2 var←c35388;
      var←c35388 = element←v30852;
      {
         word var←c35612;
         var←c35612 = var←c35388.f0;
         switch (var←c35612) {
            case 0: 
               {
                  W2 atom←v14008;
                  atom←v14008 = var←c35388;
SOURCE(7114, 34)
                  {
                     word var←c35420;
                     var←c35420 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
                     (*  (W2Pt) var←c35420 ) = atom←v14008;
                     {
                        word idx66;
                        word limit67;
                        (* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/   idx66 = (* (( (ptr) formal←c39516)+10) ),
/*1*/   limit67 = (*  (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/   BCK(idx66, limit67)
/*1*/   )) ) = var←c35420;
                        };
                     };
                  };
               break;
            case 1: 
               {
                  W2 structure←v14052;
                  structure←v14052 = var←c35388;
SOURCE(7182, 44)
                  {
                     word var←c35452;
                     var←c35452 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
                     (*  (W2Pt) var←c35452 ) = structure←v14052;
                     {
                        word idx68;
                        word limit69;
                        (* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/   idx68 = (* (( (ptr) formal←c39516)+10) ),
/*1*/   limit69 = (*  (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/   BCK(idx68, limit69)
/*1*/   )) ) = var←c35452;
                        };
                     };
                  };
               break;
            case 2: 
               {
                  W2 real←v14096;
                  real←v14096 = var←c35388;
SOURCE(7250, 34)
                  {
                     word var←c35484;
                     var←c35484 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
                     (*  (W2Pt) var←c35484 ) = real←v14096;
                     {
                        word idx70;
                        word limit71;
                        (* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/   idx70 = (* (( (ptr) formal←c39516)+10) ),
/*1*/   limit71 = (*  (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/   BCK(idx70, limit71)
/*1*/   )) ) = var←c35484;
                        };
                     };
                  };
               break;
            case 3: 
               {
                  W2 int←v14140;
                  int←v14140 = var←c35388;
SOURCE(7306, 32)
                  {
                     word var←c35516;
                     var←c35516 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
                     (*  (W2Pt) var←c35516 ) = int←v14140;
                     {
                        word idx72;
                        word limit73;
                        (* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/   idx72 = (* (( (ptr) formal←c39516)+10) ),
/*1*/   limit73 = (*  (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/   BCK(idx72, limit73)
/*1*/   )) ) = var←c35516;
                        };
                     };
                  };
               break;
            case 4: 
               {
                  W2 color←v14184;
                  color←v14184 = var←c35388;
SOURCE(7364, 36)
                  {
                     word var←c35548;
                     var←c35548 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
                     (*  (W2Pt) var←c35548 ) = color←v14184;
                     {
                        word idx74;
                        word limit75;
                        (* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/   idx74 = (* (( (ptr) formal←c39516)+10) ),
/*1*/   limit75 = (*  (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/   BCK(idx74, limit75)
/*1*/   )) ) = var←c35548;
                        };
                     };
                  };
               break;
            case 5: 
               {
                  W2 colorOperator←v14228;
                  colorOperator←v14228 = var←c35388;
SOURCE(7442, 52)
                  {
                     word var←c35580;
                     var←c35580 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
                     (*  (W2Pt) var←c35580 ) = colorOperator←v14228;
                     {
                        word idx76;
                        word limit77;
                        (* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/   idx76 = (* (( (ptr) formal←c39516)+10) ),
/*1*/   limit77 = (*  (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/   BCK(idx76, limit77)
/*1*/   )) ) = var←c35580;
                        };
                     };
                  };
               break;
            default: 
SOURCE(7507, 5)
               (void) XR←RaiseUnnamedError();
               break;
            };
         };
      };
SOURCE(7514, 10)
   (* (( (ptr) formal←c39516)+10) ) = ((* (( (ptr) formal←c39516)+10) ) + 1);
   }

static word StructureFromList←P960(formal←c0551)
   word formal←c0551;
   {
   W7 var←c39548;
   /* declaration of list←v7824 skipped */ 
   word var←c7952;
   /* declaration of var←c35644 skipped */ 
   var←c39548.f4/* list←v7824 */  = formal←c0551;
   /* StructureFromList: */ 
SOURCE(7767, 277)
   {
      word tmpAddr78;
      tmpAddr78 = (word) (( (ptr) &var←c39548)+5)/* var←c35644 */ ;
      (*  (ptr) tmpAddr78 ) = ( ((word)  (fPt) GenerateElements←P4140) );
      (* (( (ptr) tmpAddr78) + 1) ) = 1;
      };
SOURCE(7988, 56)
   return((word) StructureFromElementGenerator←P900((word) ((( (bPt) &var←c39548)+20)/* var←c35644 */ )));
   }

static void GenerateElements←P4140(elementAction←v30984, formal←c39580)
   word elementAction←v30984;
   word formal←c39580;
   {
   formal←c39580 = (formal←c39580 - 20);
   /* GenerateElements: */ 
SOURCE(7846, 128)
SOURCE(7885, 89)
   {
      register word each←v14316;
      each←v14316 = (* (( (ptr) formal←c39580)+4) );
      lab←L100010: ;
      if ((each←v14316 != 0)) {
         }
      else {
         goto lab←L100007;
         };
SOURCE(7949, 25)
      (void) ( *( (fPt) ((*  (ptr) elementAction←v30984 ))))((*  (W2Pt) (each←v14316) ), elementAction←v30984);
      each←v14316 = (* (( (ptr) each←v14316)+2) );
      goto lab←L100010;
      lab←L100007: ;
      };
   }

static word MergeSize←P1020(structure←v8112)
   word structure←v8112;
   {
   register ptr gf←c39612 =  (ptr) &globalframe;
   word var←c8156;
   word data←v14444;
   /* MergeSize: */ 
SOURCE(8211, 145)
SOURCE(8268, 52)
   data←v14444 = XR←Narrow((* (( (ptr) structure←v8112)+1) ), (* (( (ptr) gf←c39612)+48) ));
SOURCE(8322, 34)
   return(((*  (ptr) data←v14444 ) + (word) SSize←P120((* ((( (ptr) data←v14444)+2)) ))));
   }

static void MergeGet←P1080(formal←c0227, structure←v8216, i←v8244)
   word formal←c0227;
   word structure←v8216;
   word i←v8244;
   {
   register ptr gf←c39644 =  (ptr) &globalframe;
   W2 var←c8288;
   word data←v14500;
   /* MergeGet: */ 
SOURCE(8359, 210)
SOURCE(8427, 52)
   data←v14500 = XR←Narrow((* (( (ptr) structure←v8216)+1) ), (* (( (ptr) gf←c39644)+48) ));
SOURCE(8481, 88)
   if (( (int)i←v8244 <  (int)(*  (ptr) data←v14500 ))) {
SOURCE(8504, 30)
      {
         W2 var←c35772;
         (void) SGet←P240((word) &var←c35772, (* (( (ptr) data←v14500)+1) ), i←v8244);
         var←c8288 = var←c35772;
         /* removed tail goto */ 
         };
      }
   else {
SOURCE(8534, 35)
      {
         W2 var←c35836;
         (void) SGet←P240((word) &var←c35836, (* (( (ptr) data←v14500)+2) ), (i←v8244 - (*  (ptr) data←v14500 )));
         var←c8288 = var←c35836;
         /* removed tail goto */ 
         };
      };
   (*  (W2Pt) formal←c0227 ) = var←c8288;
   return;
   }

static word SMergeProp←P1140(s←v8348, t←v8376)
   word s←v8348;
   word t←v8376;
   {
   register ptr gf←c39676 =  (ptr) &globalframe;
   word var←c8420;
   /* SMergeProp: */ 
SOURCE(8575, 368)
   if ((s←v8348 == 0)) {
SOURCE(8669, 10)
      return(t←v8376);
      }
   else {
      if ((t←v8376 == 0)) {
SOURCE(8692, 10)
         return(s←v8348);
         }
      else {
SOURCE(8715, 228)
         {
            word sSize←v14556;
            word tSize←v14584;
            word data←v14612;
            word structure←v14640;
SOURCE(8717, 21)
            sSize←v14556 = (word) SSize←P120(s←v8348);
SOURCE(8740, 21)
            tSize←v14584 = (word) SSize←P120(t←v8376);
SOURCE(8763, 81)
            data←v14612 = XR←NewObject(12, (* (( (ptr) gf←c39676)+48) ));
            (*  (ptr) data←v14612 ) = sSize←v14556;
            (* (( (ptr) data←v14612)+1) ) = s←v8348;
            (* (( (ptr) data←v14612)+2) ) = t←v8376;
SOURCE(8846, 76)
            structure←v14640 = (word) MakeStructure←P60((* (( (ptr) gf←c39676)+9)/* mergeStructureClass←v4400 */  ), data←v14612);
SOURCE(8924, 19)
            return(structure←v14640);
            };
         };
      };
   }

static word StructureEqual←P1200(s←v8480, t←v8508)
   word s←v8480;
   word t←v8508;
   {
   word var←c8552;
   /* StructureEqual: */ 
SOURCE(8950, 1183)
SOURCE(9015, 1118)
   if ((s←v8480 == t←v8508)) {
SOURCE(9029, 19)
      return(1);
      }
   else {
SOURCE(9048, 1085)
      {
         word sSize←v14696;
         word tSize←v14724;
SOURCE(9050, 21)
         sSize←v14696 = (word) SSize←P120(s←v8480);
SOURCE(9073, 21)
         tSize←v14724 = (word) SSize←P120(t←v8508);
SOURCE(9096, 36)
         if (( (int)sSize←v14696 !=  (int)tSize←v14724)) {
SOURCE(9118, 14)
            return(0);
            };
SOURCE(9134, 956)
         {
            register word i←v14768 = 0;
            if (( (int)i←v14768 >=  (int)sSize←v14696)) {
               goto lab←L100012;
               };
            lab←L100015: ;
SOURCE(9162, 928)
            {
               W2 var←c35900;
               (void) SGet←P240((word) &var←c35900, s←v8480, i←v14768);
               {
                  word var←c36124;
                  var←c36124 = var←c35900.f0;
                  switch (var←c36124) {
                     case 0: 
                        {
                           W2 si←v14812;
                           si←v14812 = var←c35900;
SOURCE(9210, 112)
                           {
/*1*/   W2 var←c35932;
/*1*/   (void) SGet←P240((word) &var←c35932, t←v8508, i←v14768);
/*1*/   if ((var←c35932.f0 == 0)) {
/*1*/      {
/*1*/         W2 ti←v14856;
/*1*/         ti←v14856 = var←c35932;
SOURCE(9258, 50)
/*1*/         if ((si←v14812.f1 != ti←v14856.f1)) {
SOURCE(9282, 26)
/*1*/            return(0);
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(9308, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           };
                        break;
                     case 3: 
                        {
                           W2 si←v14900;
                           si←v14900 = var←c35900;
SOURCE(9343, 109)
                           {
/*1*/   W2 var←c35964;
/*1*/   (void) SGet←P240((word) &var←c35964, t←v8508, i←v14768);
/*1*/   if ((var←c35964.f0 == 3)) {
/*1*/      {
/*1*/         W2 ti←v14944;
/*1*/         ti←v14944 = var←c35964;
SOURCE(9390, 48)
/*1*/         if (( (int)si←v14900.f1 !=  (int)ti←v14944.f1)) {
SOURCE(9412, 26)
/*1*/            return(0);
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(9438, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           };
                        break;
                     case 2: 
                        {
                           W2 si←v14988;
                           si←v14988 = var←c35900;
SOURCE(9474, 112)
                           {
/*1*/   W2 var←c35996;
/*1*/   (void) SGet←P240((word) &var←c35996, t←v8508, i←v14768);
/*1*/   if ((var←c35996.f0 == 2)) {
/*1*/      {
/*1*/         W2 ti←v15032;
/*1*/         ti←v15032 = var←c35996;
SOURCE(9522, 50)
/*1*/         {
/*1*/            word x79;
/*1*/            word x80;
/*1*/            if (((
/*1*/               x79 = si←v14988.f1,  *(float*)&x79
/*1*/               ) != (
/*1*/               x80 = ti←v15032.f1,  *(float*)&x80
/*1*/               ))) {
SOURCE(9546, 26)
/*1*/               return(0);
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(9572, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           };
                        break;
                     case 1: 
                        {
                           W2 si←v15076;
                           si←v15076 = var←c35900;
SOURCE(9613, 148)
                           {
/*1*/   W2 var←c36028;
/*1*/   (void) SGet←P240((word) &var←c36028, t←v8508, i←v14768);
/*1*/   if ((var←c36028.f0 == 1)) {
/*1*/      {
/*1*/         W2 ti←v15120;
/*1*/         ti←v15120 = var←c36028;
SOURCE(9666, 81)
/*1*/         if ((0 == (word) StructureEqual←P1200(si←v15076.f1, ti←v15120.f1))) {
SOURCE(9721, 26)
/*1*/            return(0);
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(9747, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           };
                        break;
                     case 4: 
                        {
                           W2 si←v15164;
                           si←v15164 = var←c35900;
SOURCE(9784, 132)
                           {
/*1*/   W2 var←c36060;
/*1*/   (void) SGet←P240((word) &var←c36060, t←v8508, i←v14768);
/*1*/   if ((var←c36060.f0 == 4)) {
/*1*/      {
/*1*/         W2 ti←v15208;
/*1*/         ti←v15208 = var←c36060;
SOURCE(9833, 69)
/*1*/         if ((0 == (word) ColorEqual←P1260(si←v15164.f1, ti←v15208.f1))) {
SOURCE(9876, 26)
/*1*/            return(0);
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(9902, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           };
                        break;
                     case 5: 
                        {
                           W2 si←v15252;
                           si←v15252 = var←c35900;
SOURCE(9947, 143)
                           {
/*1*/   W2 var←c36092;
/*1*/   (void) SGet←P240((word) &var←c36092, t←v8508, i←v14768);
/*1*/   if ((var←c36092.f0 == 5)) {
/*1*/      {
/*1*/         W2 ti←v15296;
/*1*/         ti←v15296 = var←c36092;
SOURCE(10004, 72)
/*1*/         if ((si←v15252.f1 == ti←v15296.f1)) {
SOURCE(10050, 26)
/*1*/            return(0);
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(10076, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           };
                        break;
                     default: 
SOURCE(10103, 5)
                        (void) XR←RaiseUnnamedError();
                        break;
                     };
                  };
               };
            i←v14768 = (i←v14768 + 1);
            if (( (int)i←v14768 <  (int)sSize←v14696)) {
               goto lab←L100015;
               };
            lab←L100012: ;
            };
SOURCE(10119, 14)
         return(1);
         };
      };
   }

static word ColorEqual←P1260(a←v8612, b←v8640)
   word a←v8612;
   word b←v8640;
   {
   word var←c8684;
   /* ColorEqual: */ 
SOURCE(10140, 301)
SOURCE(10209, 27)
   if ((a←v8612 == b←v8640)) {
SOURCE(10223, 13)
      return(1);
      };
SOURCE(10238, 149)
   {
      word var←c36156;
      var←c36156 = a←v8612;
      if ((var←c36156 == 0)) {
         goto lab←L100016;
         };
      if (((*  (ptr) var←c36156 ) == 0)) {
         {
            word aConstant←v15340;
            aConstant←v15340 = var←c36156;
SOURCE(10287, 100)
            {
               word var←c36188;
               var←c36188 = b←v8640;
               if ((var←c36188 == 0)) {
                  goto lab←L100017;
                  };
               if (((*  (ptr) var←c36188 ) == 0)) {
                  {
                     word bConstant←v15384;
                     bConstant←v15384 = var←c36188;
SOURCE(10336, 51)
                     return((word) ConstantColorsEqual←P1320(aConstant←v15340, bConstant←v15384));
                     };
                  }
               else {
                  lab←L100017: ;
                  };
               };
            };
         }
      else {
         lab←L100016: ;
         };
      };
SOURCE(10427, 14)
   return(0);
   }

static word ConstantColorsEqual←P1320(a←v8744, b←v8772)
   word a←v8744;
   word b←v8772;
   {
   register ptr gf←c39708 =  (ptr) &globalframe;
   word var←c8816;
   /* ConstantColorsEqual: */ 
SOURCE(10447, 728)
SOURCE(10521, 25)
   if ((a←v8744 == b←v8772)) {
SOURCE(10533, 13)
      return(1);
      };
SOURCE(10548, 627)
   {
      word var←c36252;
      var←c36252 = a←v8744;
      if ((var←c36252 == 0)) {
         goto lab←L100018;
         };
      {
         word var←c36444;
         var←c36444 = (* (( (ptr) var←c36252)+1) );
         if ((var←c36444 == 0)) {
            {
               word aOp←v15428;
               aOp←v15428 = var←c36252;
SOURCE(10592, 273)
               {
                  word var←c36284;
                  var←c36284 = b←v8772;
                  if ((var←c36284 == 0)) {
                     goto lab←L100019;
                     };
                  if (((* (( (ptr) var←c36284)+1) ) == 0)) {
                     {
                        word bOp←v15472;
                        bOp←v15472 = var←c36284;
SOURCE(10637, 60)
                        if (((* (( (ptr) aOp←v15428)+2) ) != (* (( (ptr) bOp←v15472)+2) ))) {
SOURCE(10683, 14)
                           return(0);
                           };
SOURCE(10699, 42)
                        if (((* (( (ptr) aOp←v15428)+3) ) != (* (( (ptr) bOp←v15472)+3) ))) {
SOURCE(10727, 14)
                           return(0);
                           };
SOURCE(10743, 69)
                        {
                           register word j←v15516 = 0;
                           register word noName←c36316;
                           noName←c36316 = (* (( (ptr) aOp←v15428)+3) );
                           if ((j←v15516 >= noName←c36316)) {
/*1*/   goto lab←L100020;
/*1*/   };
                           lab←L100023: ;
SOURCE(10774, 38)
                           {
/*1*/   word limit81;
/*1*/   word x82;
/*1*/   word limit83;
/*1*/   word x84;
/*1*/   if (((
/*1*/      x82 = (* ((( (ptr) aOp←v15428)+4)+(
/*1*/            limit81 = (* (( (ptr) aOp←v15428)+3) ),
/*1*/            BCK(j←v15516, limit81)
/*1*/            )) ),  *(float*)&x82
/*1*/      ) != (
/*1*/      x84 = (* ((( (ptr) bOp←v15472)+4)+(
/*1*/            limit83 = (* (( (ptr) bOp←v15472)+3) ),
/*1*/            BCK(j←v15516, limit83)
/*1*/            )) ),  *(float*)&x84
/*1*/      ))) {
SOURCE(10798, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
                           j←v15516 = (j←v15516 + 1);
                           if ((j←v15516 < noName←c36316)) {
/*1*/   goto lab←L100023;
/*1*/   };
                           lab←L100020: ;
                           };
SOURCE(10823, 14)
                        return(1);
                        };
                     }
                  else {
                     lab←L100019: ;
SOURCE(10851, 14)
                     return(0);
                     };
                  };
               };
            }
         else {
            if ((var←c36444 == 1)) {
               {
                  word aSp←v15560;
                  aSp←v15560 = var←c36252;
SOURCE(10889, 286)
                  {
                     word var←c36348;
                     var←c36348 = b←v8772;
                     if ((var←c36348 == 0)) {
                        goto lab←L100024;
                        };
                     if (((* (( (ptr) var←c36348)+1) ) == 1)) {
                        {
                           word bSp←v15604;
                           bSp←v15604 = var←c36348;
SOURCE(10931, 42)
                           if (((* (( (ptr) aSp←v15560)+2) ) != (* (( (ptr) bSp←v15604)+2) ))) {
SOURCE(10959, 14)
/*1*/   return(0);
/*1*/   };
SOURCE(10975, 64)
                           {
/*1*/   word pd85;
/*1*/   pd85 = (* (( (ptr) (* (( (ptr) gf←c39708)+170)/* var←c36380 */  ))+8) );
/*1*/   if ((0 == (word) ( *( (fPt) ((*  (ptr) pd85 ))))((* (( (ptr) aSp←v15560)+3) ), (* (( (ptr) bSp←v15604)+3) ), 0, pd85))) {
SOURCE(11025, 14)
/*1*/      return(0);
/*1*/      };
/*1*/   };
SOURCE(11041, 42)
                           if (((* (( (ptr) aSp←v15560)+4) ) != (* (( (ptr) bSp←v15604)+4) ))) {
SOURCE(11069, 14)
/*1*/   return(0);
/*1*/   };
SOURCE(11085, 60)
                           return((word) ConstantColorsEqual←P1320((* (( (ptr) aSp←v15560)+5) ), (* (( (ptr) bSp←v15604)+5) )));
                           };
                        }
                     else {
                        lab←L100024: ;
SOURCE(11161, 14)
                        return(0);
                        };
                     };
                  };
               }
            else {
               lab←L100018: ;
SOURCE(11188, 5)
               (void) XR←RaiseUnnamedError();
               };
            };
         };
      };
   }

static word ApplyPixelEncoding←P1380(pm←v8888, i←v8916, value←v8944)
   word pm←v8888;
   word i←v8916;
   word value←v8944;
   {
   word var←c8988;
   /* ApplyPixelEncoding: */ 
SOURCE(11298, 190)
SOURCE(11390, 98)
   if ((pm←v8888 == 0)) {
      return(value←v8944);
      }
   else {
      {
         word var←c36508;
         word var←c36540;
         {
            word x86;
            word x87;
            word limit88;
            word x89;
            var←c36508 = (x87 = (x86 = (word) XR←REAL32←Round(value←v8944),
                  MAX((int)(word), x86, 0)),
               x89 = ((*  (ptr) (* ((( (ptr) pm←v8888)+1)+(
                     limit88 = (*  (ptr) pm←v8888 ),
                     BCK(i←v8916, limit88)
                     )) ) ) - 1),
               MIN((int)(word), x87, x89));
            };
         {
            word limit90;
            var←c36540 = (* ((( (ptr) pm←v8888)+1)+(
                  limit90 = (*  (ptr) pm←v8888 ),
                  BCK(i←v8916, limit90)
                  )) );
            };
         {
            word limit91;
            return((* ((( (ptr) var←c36540)+1)+(
                  limit91 = (*  (ptr) var←c36540 ),
                  BCK(var←c36508, limit91)
                  )) ));
            };
         };
      };
   }

static word PixelEncodingEqual←P1440(a←v9048, b←v9076)
   word a←v9048;
   word b←v9076;
   {
   word var←c9120;
   /* PixelEncodingEqual: */ 
SOURCE(11492, 294)
SOURCE(11565, 35)
   if ((a←v9048 == 0) || (b←v9076 == 0)) {
SOURCE(11588, 12)
      return( (unsigned) (a←v9048 == b←v9076));
      };
SOURCE(11602, 60)
   if (((*  (ptr) a←v9048 ) != (*  (ptr) b←v9076 ))) {
SOURCE(11648, 14)
      return(0);
      };
SOURCE(11664, 106)
   {
      register word i←v15648 = 0;
      register word noName←c36572;
      noName←c36572 = (*  (ptr) a←v9048 );
      if ((i←v15648 >= noName←c36572)) {
         goto lab←L100025;
         };
      lab←L100028: ;
SOURCE(11704, 66)
      {
         word limit92;
         word limit93;
         if ((0 == (word) SampleEncodingEqual←P1680((* ((( (ptr) a←v9048)+1)+(
                  limit92 = (*  (ptr) a←v9048 ),
                  BCK(i←v15648, limit92)
                  )) ), (* ((( (ptr) b←v9076)+1)+(
                  limit93 = (*  (ptr) b←v9076 ),
                  BCK(i←v15648, limit93)
                  )) )))) {
SOURCE(11748, 22)
            return(0);
            };
         };
      i←v15648 = (i←v15648 + 1);
      if ((i←v15648 < noName←c36572)) {
         goto lab←L100028;
         };
      lab←L100025: ;
      };
SOURCE(11772, 14)
   return(1);
   }

static word PixelEncodingFromStructure←P1500(structure←v9180)
   word structure←v9180;
   {
   register ptr gf←c39740 =  (ptr) &globalframe;
   word var←c9224;
   /* PixelEncodingFromStructure: */ 
SOURCE(11790, 330)
SOURCE(11881, 239)
   if ((structure←v9180 == 0)) {
SOURCE(11905, 18)
      return(0);
      }
   else {
SOURCE(11923, 197)
      {
         word size←v15692;
         word map←v15720;
SOURCE(11925, 28)
         {
            word idx94;
            size←v15692 = (
               idx94 = (word) SSize←P120(structure←v9180),
               SGNCK(idx94)
               );
            };
SOURCE(11955, 48)
         {
            word var←c36604;
            word var←c36636;
            word var←c36668;
            var←c36604 = BCK(size←v15692, 67108863);
            var←c36636 = ((word) var←c36604 << 2);
            var←c36668 = XR←NewObject((4 + var←c36636), (* (( (ptr) gf←c39740)+49) ));
            (*  (ptr) var←c36668 ) = var←c36604;
            map←v15720 = var←c36668;
            };
SOURCE(12005, 100)
         {
            register word j←v15764 = 0;
            if (( (int)j←v15764 >=  (int)size←v15692)) {
               goto lab←L100029;
               };
            lab←L100032: ;
SOURCE(12032, 73)
            {
               word var←c36700;
               {
                  word var←c36732;
                  var←c36732 = (word) SGetStructure←P480(structure←v9180, j←v15764);
                  var←c36700 = (word) SampleEncodingFromStructure←P1740(var←c36732);
                  };
               {
                  word limit95;
                  (* ((( (ptr) map←v15720)+1)+(
                        limit95 = (*  (ptr) map←v15720 ),
                        BCK(j←v15764, limit95)
                        )) ) = var←c36700;
                  };
               };
            j←v15764 = (j←v15764 + 1);
            if (( (int)j←v15764 <  (int)size←v15692)) {
               goto lab←L100032;
               };
            lab←L100029: ;
            };
SOURCE(12107, 13)
         return(map←v15720);
         };
      };
   }

static word StructureFromPixelEncoding←P1560(formal←c0552)
   word formal←c0552;
   {
   W7 var←c39772;
   /* declaration of map←v9284 skipped */ 
   word var←c9328;
   /* declaration of var←c36764 skipped */ 
   var←c39772.f4/* map←v9284 */  = formal←c0552;
   /* StructureFromPixelEncoding: */ 
SOURCE(12127, 307)
   {
      word tmpAddr96;
      tmpAddr96 = (word) (( (ptr) &var←c39772)+5)/* var←c36764 */ ;
      (*  (ptr) tmpAddr96 ) = ( ((word)  (fPt) G←P5448) );
      (* (( (ptr) tmpAddr96) + 1) ) = 1;
      };
SOURCE(12392, 42)
   return((word) StructureFromElementGenerator←P900((word) ((( (bPt) &var←c39772)+20)/* var←c36764 */ )));
   }

static void G←P5448(elementAction←v15884, formal←c39804)
   word elementAction←v15884;
   word formal←c39804;
   {
   formal←c39804 = (formal←c39804 - 20);
   /* G: */ 
SOURCE(12212, 175)
SOURCE(12274, 113)
   {
      register word i←v15912 = 0;
      register word noName←c36828;
      noName←c36828 = (*  (ptr) (* (( (ptr) formal←c39804)+4) ) );
      if ((i←v15912 >= noName←c36828)) {
         goto lab←L100033;
         };
      lab←L100036: ;
SOURCE(12316, 71)
      {
         word var←c36860;
         {
            word limit97;
            var←c36860 = (word) StructureFromSampleEncoding←P1920((* (((( (ptr) (* (( (ptr) formal←c39804)+4) ))+1)+(
                     limit97 = (*  (ptr) (* (( (ptr) formal←c39804)+4) ) ),
                     BCK(i←v15912, limit97)
                     ))) ));
            };
         {
            W2 var←c36892;
            var←c36892.f0 = 1;
            var←c36892.f1 = var←c36860;
            (void) ( *( (fPt) ((*  (ptr) elementAction←v15884 ))))(var←c36892, elementAction←v15884);
            };
         };
      i←v15912 = (i←v15912 + 1);
      if ((i←v15912 < noName←c36828)) {
         goto lab←L100036;
         };
      lab←L100033: ;
      };
   }

static word MakeSampleEncoding←P1620(size←v9400, sampleTableProc←v9428)
   word size←v9400;
   word sampleTableProc←v9428;
   {
   register ptr gf←c39836 =  (ptr) &globalframe;
   word var←c9472;
   /* MakeSampleEncoding: */ 
SOURCE(12542, 307)
SOURCE(12649, 200)
   if ((size←v9400 == 0)) {
SOURCE(12664, 18)
      return(0);
      }
   else {
SOURCE(12682, 169)
      {
         word map←v15956;
SOURCE(12684, 50)
         {
            word var←c36924;
            word var←c36956;
            word var←c36988;
            var←c36924 = BCK(size←v9400, 67108863);
            var←c36956 = ((word) var←c36924 << 2);
            var←c36988 = XR←NewObject((4 + var←c36956), (* (( (ptr) gf←c39836)+41) ));
            (*  (ptr) var←c36988 ) = var←c36924;
            map←v15956 = var←c36988;
            };
SOURCE(12736, 99)
         {
            register word i←v16000 = 0;
            register word noName←c37020;
            noName←c37020 = size←v9400;
            if ((i←v16000 >= noName←c37020)) {
               goto lab←L100037;
               };
            lab←L100040: ;
SOURCE(12763, 72)
            {
               word var←c37052;
               {
                  float tf98;
                  if ((sampleTableProc←v9428 == 0)) {
                     var←c37052 = (
                        tf98 = (float)(unsigned)i←v16000,  *(word*)&tf98
                        );
                     }
                  else {
                     var←c37052 = (word) ( *( (fPt) ((*  (ptr) sampleTableProc←v9428 ))))(i←v16000, sampleTableProc←v9428);
                     };
                  };
               {
                  word limit99;
                  (* ((( (ptr) map←v15956)+1)+(
                        limit99 = (*  (ptr) map←v15956 ),
                        BCK(i←v16000, limit99)
                        )) ) = var←c37052;
                  };
               };
            i←v16000 = (i←v16000 + 1);
            if ((i←v16000 < noName←c37020)) {
               goto lab←L100040;
               };
            lab←L100037: ;
            };
SOURCE(12837, 12)
         return(map←v15956);
         };
      };
   }

static word SampleEncodingEqual←P1680(a←v9532, b←v9560)
   word a←v9532;
   word b←v9560;
   {
   word var←c9604;
   /* SampleEncodingEqual: */ 
SOURCE(12858, 288)
SOURCE(12933, 41)
   if ( ( (a←v9532 == 0) ? (b←v9560 == 0) : 0 ) ) {
SOURCE(12961, 13)
      return(1);
      };
SOURCE(12976, 41)
   if ((a←v9532 == 0) || (b←v9560 == 0)) {
SOURCE(13003, 14)
      return(0);
      };
SOURCE(13019, 38)
   if (((*  (ptr) a←v9532 ) != (*  (ptr) b←v9560 ))) {
SOURCE(13043, 14)
      return(0);
      };
SOURCE(13059, 71)
   {
      register word i←v16044 = 0;
      register word noName←c37084;
      noName←c37084 = (*  (ptr) a←v9532 );
      if ((i←v16044 >= noName←c37084)) {
         goto lab←L100041;
         };
      lab←L100044: ;
SOURCE(13088, 42)
      {
         word limit100;
         word x101;
         word limit102;
         word x103;
         if (((
            x101 = (* ((( (ptr) a←v9532)+1)+(
                  limit100 = (*  (ptr) a←v9532 ),
                  BCK(i←v16044, limit100)
                  )) ),  *(float*)&x101
            ) != (
            x103 = (* ((( (ptr) b←v9560)+1)+(
                  limit102 = (*  (ptr) b←v9560 ),
                  BCK(i←v16044, limit102)
                  )) ),  *(float*)&x103
            ))) {
SOURCE(13108, 22)
            return(0);
            };
         };
      i←v16044 = (i←v16044 + 1);
      if ((i←v16044 < noName←c37084)) {
         goto lab←L100044;
         };
      lab←L100041: ;
      };
SOURCE(13132, 14)
   return(1);
   }

static word SampleEncodingFromStructure←P1740(structure←v9664)
   word structure←v9664;
   {
   register ptr gf←c39868 =  (ptr) &globalframe;
   word var←c9708;
   word size←v16088;
   /* SampleEncodingFromStructure: */ 
SOURCE(13150, 289)
SOURCE(13243, 28)
   size←v16088 = (word) SSize←P120(structure←v9664);
SOURCE(13273, 166)
   if (( (int)size←v16088 ==  (int)0)) {
SOURCE(13290, 13)
      return(0);
      }
   else {
SOURCE(13310, 129)
      {
         word v←v16132;
SOURCE(13312, 48)
         {
            word var←c37116;
            word var←c37148;
            word var←c37180;
            var←c37116 = BCK(size←v16088, 67108863);
            var←c37148 = ((word) var←c37116 << 2);
            var←c37180 = XR←NewObject((4 + var←c37148), (* (( (ptr) gf←c39868)+41) ));
            (*  (ptr) var←c37180 ) = var←c37116;
            v←v16132 = var←c37180;
            };
SOURCE(13362, 64)
         {
            register word i←v16176 = 0;
            if (( (int)i←v16176 >=  (int)size←v16088)) {
               goto lab←L100045;
               };
            lab←L100048: ;
SOURCE(13389, 37)
            {
               word var←c37212;
               var←c37212 = (word) SGetReal←P360(structure←v9664, i←v16176);
               {
                  word limit104;
                  (* ((( (ptr) v←v16132)+1)+(
                        limit104 = (*  (ptr) v←v16132 ),
                        BCK(i←v16176, limit104)
                        )) ) = var←c37212;
                  };
               };
            i←v16176 = (i←v16176 + 1);
            if (( (int)i←v16176 <  (int)size←v16088)) {
               goto lab←L100048;
               };
            lab←L100045: ;
            };
SOURCE(13428, 11)
         return(v←v16132);
         };
      };
   }

static word SampleEncodingSize←P1800(structure←v9768)
   word structure←v9768;
   {
   register ptr gf←c39900 =  (ptr) &globalframe;
   word var←c9812;
   /* SampleEncodingSize: */ 
SOURCE(13583, 157)
SOURCE(13649, 91)
   {
      word var←c37244;
      var←c37244 = (* (( (ptr) structure←v9768)+1) );
      if ((var←c37244 == 0)) {
         goto lab←L100049;
         };
      if (((* (( (ptr) gf←c39900)+41) ) == XR←GetReferentType(var←c37244))) {
         {
            word v←v16220;
            v←v16220 = var←c37244;
SOURCE(13702, 15)
            return((*  (ptr) v←v16220 ));
            };
         }
      else {
         lab←L100049: ;
SOURCE(13730, 10)
         return(0);
         };
      };
   }

static void SampleEncodingGet←P1860(formal←c0352, structure←v9872, i←v9900)
   word formal←c0352;
   word structure←v9872;
   word i←v9900;
   {
   register ptr gf←c39932 =  (ptr) &globalframe;
   W2 var←c9944;
   /* SampleEncodingGet: */ 
SOURCE(13746, 184)
SOURCE(13823, 107)
   {
      word var←c37276;
      var←c37276 = (* (( (ptr) structure←v9872)+1) );
      if ((var←c37276 == 0)) {
         goto lab←L100051;
         };
      if (((* (( (ptr) gf←c39932)+41) ) == XR←GetReferentType(var←c37276))) {
         {
            word v←v16264;
            v←v16264 = var←c37276;
SOURCE(13876, 21)
            {
               W2 var←c37340;
               {
                  W2 var←c37308;
                  var←c37308.f0 = 2;
                  {
                     word limit105;
                     var←c37308.f1 = (* ((( (ptr) v←v16264)+1)+(
                           limit105 = (*  (ptr) v←v16264 ),
                           BCK(i←v9900, limit105)
                           )) );
                     };
                  var←c37340 = var←c37308;
                  };
               var←c9944 = var←c37340;
               /* removed tail goto */ 
               };
            };
         }
      else {
         lab←L100051: ;
SOURCE(13910, 20)
         var←c9944.f0 = 2;
         var←c9944.f1 = (*  (ptr) &fc58 );
         goto lab←L100050;
         };
      };
   lab←L100050: ;
   (*  (W2Pt) formal←c0352 ) = var←c9944;
   return;
   }

static word StructureFromSampleEncoding←P1920(e←v10004)
   word e←v10004;
   {
   register ptr gf←c39964 =  (ptr) &globalframe;
   word var←c10048;
   /* StructureFromSampleEncoding: */ 
SOURCE(13936, 157)
SOURCE(14021, 72)
   if ((e←v10004 == 0)) {
      return(0);
      }
   else {
      return((word) MakeStructure←P60((* (( (ptr) gf←c39964)+10)/* sampleEncodingClass←v4904 */  ), e←v10004));
      };
   }

static void RegisterNamedColor←P1980(color←v10108)
   word color←v10108;
   {
   register ptr gf←c39996 =  (ptr) &globalframe;
   /* RegisterNamedColor: */ 
SOURCE(14171, 168)
SOURCE(14241, 25)
   if (((* (( (ptr) color←v10108)+3) ) == 0)) {
SOURCE(14266, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(14273, 66)
   {
      word var←c37436;
      word pd106;
      pd106 = (* (( (ptr) (* (( (ptr) gf←c39996)+165)/* var←c33948 */  ))+10) );
      var←c37436 = (word) ( *( (fPt) ((*  (ptr) pd106 ))))((* (( (ptr) gf←c39996)+11)/* namedColorTable←v5016 */  ), (* (( (ptr) color←v10108)+3)
          ), color←v10108, pd106);
      };
   }

static word DefineProcessSpace←P2040(colorOperator←v10272, val←v10300)
   word colorOperator←v10272;
   word val←v10300;
   {
   word var←c10364;
   word result←v16308;
   /* DefineProcessSpace: */ 
SOURCE(14523, 260)
SOURCE(14660, 24)
   result←v16308 = val←v10300;
SOURCE(14686, 79)
   lab←L100054: ;
   if ((0 == (word) StoreColorOperator←P2100(result←v16308, colorOperator←v10272))) {
      }
   else {
      goto lab←L100052;
      };
SOURCE(14737, 28)
   result←v16308 = (result←v16308 + 1);
   goto lab←L100054;
   lab←L100052: ;
SOURCE(14767, 16)
   return(result←v16308);
   }

static word StoreColorOperator←P2100(colorSpace←v10424, colorOperator←v10452)
   word colorSpace←v10424;
   word colorOperator←v10452;
   {
   register ptr gf←c40028 =  (ptr) &globalframe;
   word var←c10496;
   word cst←v16352;
   /* StoreColorOperator: */ 
SOURCE(14787, 567)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
SOURCE(14892, 45)
   cst←v16352 = (* (( (ptr) gf←c40028)+12)/* colorSpaceTable←v5100 */  );
SOURCE(14939, 259)
   if ((colorSpace←v10424 >= (*  (ptr) cst←v16352 ))) {
SOURCE(14969, 231)
      {
         word newSize←v16408;
         word new←v16436;
SOURCE(14971, 55)
         {
            word x107;
            newSize←v16408 = (x107 = ((*  (ptr) cst←v16352 ) << 1),
               MAX( (unsigned) , x107, (colorSpace←v10424 + 1)));
            };
SOURCE(15028, 62)
         {
            word var←c37468;
            word var←c37500;
            var←c37468 = ((word) newSize←v16408 << 2);
            var←c37500 = XR←NewObject((4 + var←c37468), (* (( (ptr) gf←c40028)+25) ));
            (*  (ptr) var←c37500 ) = newSize←v16408;
            new←v16436 = var←c37500;
            };
SOURCE(15092, 68)
         {
            register word s←v16492 = 0;
            register word noName←c37532;
            noName←c37532 = (*  (ptr) cst←v16352 );
            if ((s←v16492 >= noName←c37532)) {
               goto lab←L100055;
               };
            lab←L100058: ;
SOURCE(15145, 15)
            {
               word limit108;
               word limit109;
               (* ((( (ptr) new←v16436)+1)+(
                     limit108 = (*  (ptr) new←v16436 ),
                     BCK(s←v16492, limit108)
                     )) ) = (* ((( (ptr) cst←v16352)+1)+(
                     limit109 = (*  (ptr) cst←v16352 ),
                     BCK(s←v16492, limit109)
                     )) );
               };
            s←v16492 = (s←v16492 + 1);
            if ((s←v16492 < noName←c37532)) {
               goto lab←L100058;
               };
            lab←L100055: ;
            };
SOURCE(15171, 27)
         (* (( (ptr) gf←c40028)+12)/* colorSpaceTable←v5100 */  ) = new←v16436;
         cst←v16352 = new←v16436;
         };
      };
SOURCE(15203, 151)
   {
      word var←c37596;
      {
         word limit110;
         var←c37596 = (* ((( (ptr) cst←v16352)+1)+(
               limit110 = (*  (ptr) cst←v16352 ),
               BCK(colorSpace←v10424, limit110)
               )) );
         };
      if ((var←c37596 == colorOperator←v10452)) {
SOURCE(15250, 14)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
         return(1);
         }
      else {
         if ((var←c37596 == 0)) {
SOURCE(15276, 31)
            {
               word limit111;
               (* ((( (ptr) cst←v16352)+1)+(
                     limit111 = (*  (ptr) cst←v16352 ),
                     BCK(colorSpace←v10424, limit111)
                     )) ) = colorOperator←v10452;
               };
SOURCE(15309, 14)
            (void) (XR←MonitorExit((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
            return(1);
            }
         else {
SOURCE(15339, 15)
            (void) (XR←MonitorExit((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
            return(0);
            };
         };
      };
   }

static word ColorOperatorFromColorSpace←P2160(colorSpace←v10556)
   word colorSpace←v10556;
   {
   register ptr gf←c40060 =  (ptr) &globalframe;
   word var←c10600;
   /* ColorOperatorFromColorSpace: */ 
SOURCE(15361, 187)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c40060)+16)/* LOCK←v2888 */ ));
SOURCE(15461, 87)
   {
      word var←c37660;
      if ((colorSpace←v10556 < (*  (ptr) (* (( (ptr) gf←c40060)+12)/* colorSpaceTable←v5100 */  ) ))) {
         {
            word var←c37628;
            var←c37628 = (* (( (ptr) gf←c40060)+12)/* colorSpaceTable←v5100 */  );
            {
               word limit112;
               var←c37660 = (* ((( (ptr) var←c37628)+1)+(
                     limit112 = (*  (ptr) var←c37628 ),
                     BCK(colorSpace←v10556, limit112)
                     )) );
               };
            };
         }
      else {
         var←c37660 = 0;
         };
      (void) (XR←MonitorExit((word) (( (bPt) gf←c40060)+16)/* LOCK←v2888 */ ));
      return(var←c37660);
      };
   }

static word ColorSpaceDimension←P2220(colorSpace←v10660)
   word colorSpace←v10660;
   {
   word var←c10704;
   /* ColorSpaceDimension: */ 
SOURCE(15552, 306)
SOURCE(15628, 230)
   {
      word var←c37692;
      var←c37692 = colorSpace←v10660;
      switch (var←c37692) {
         case 0: 
SOURCE(15657, 10)
            return(1);
         case 1: case 2: case 3: 
SOURCE(15692, 10)
            return(3);
         case 4: 
SOURCE(15718, 10)
            return(2);
         default: 
SOURCE(15741, 117)
            {
               word op←v16536;
SOURCE(15743, 59)
               op←v16536 = (word) ColorOperatorFromColorSpace←P2160(colorSpace←v10660);
SOURCE(15804, 54)
               if ((op←v16536 == 0)) {
                  return(0);
                  }
               else {
                  return((* (( (ptr) op←v16536)+1) ));
                  };
               };
         };
      };
   }

static word GetPixelEncoding←P2280(colorOperator←v10764)
   word colorOperator←v10764;
   {
   word var←c10808;
   word class←v16580;
   /* GetPixelEncoding: */ 
SOURCE(15864, 183)
SOURCE(15953, 47)
   class←v16580 = (* (( (ptr) colorOperator←v10764)+2) );
SOURCE(16002, 45)
   {
      word pd113;
      pd113 = (* (( (ptr) class←v16580)+3) );
      return((word) ( *( (fPt) ((*  (ptr) pd113 ))))(colorOperator←v10764, pd113));
      };
   }

static word TransformConstantColor←P2340(formal←c0553, colorSpace←v10896)
   word formal←c0553;
   word colorSpace←v10896;
   {
   W8 var←c40092;
   /* declaration of color←v10868 skipped */ 
   word var←c10940;
   /* declaration of var←c37756 skipped */ 
   word class←v16624;
   /* declaration of pixelEncoding←v16652 skipped */ 
   word out←v16708;
   var←c40092.f4/* color←v10868 */  = formal←c0553;
   /* TransformConstantColor: */ 
SOURCE(16053, 457)
   {
      word tmpAddr114;
      tmpAddr114 = (word) (( (ptr) &var←c40092)+5)/* var←c37756 */ ;
      (*  (ptr) tmpAddr114 ) = ( ((word)  (fPt) pixelIn←P6036) );
      (* (( (ptr) tmpAddr114) + 1) ) = 1;
      };
SOURCE(16163, 53)
   class←v16624 = (* (( (ptr) (* (( (ptr) var←c40092.f4/* color←v10868 */ )+2) ))+2) );
SOURCE(16218, 68)
   var←c40092.f7/* pixelEncoding←v16652 */  = (word) GetPixelEncoding←P2280((* ((( (ptr) var←c40092.f4/* color←v10868 */ )+2)
      ) ));
SOURCE(16370, 65)
   {
      word var←c37788;
      var←c37788 = (word) ColorSpaceDimension←P2220(colorSpace←v10896);
      out←v16708 = (word) MakeColorPoint←P2460(var←c37788, (*  (ptr) &fc58 ));
      };
SOURCE(16437, 58)
   {
      word pd115;
      pd115 = (* (( (ptr) class←v16624)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd115 ))))((* (( (ptr) var←c40092.f4/* color←v10868 */ )+2) ), (word) (( (bPt) &var←c40092)+20)
         /* var←c37756 */ , colorSpace←v10896, out←v16708, pd115);
      };
SOURCE(16497, 13)
   return(out←v16708);
   }

static word pixelIn←P6036(i←v31256, formal←c40124)
   word i←v31256;
   word formal←c40124;
   {
   word var←c31300;
   formal←c40124 = (formal←c40124 - 20);
   /* pixelIn: */ 
SOURCE(16288, 79)
SOURCE(16311, 56)
   {
      word limit116;
      return((word) ApplyPixelEncoding←P1380((* (( (ptr) formal←c40124)+7) ), i←v31256, (* ((( (ptr) (* (( (ptr) formal←c40124)+4)
                ))+4)+(
               limit116 = (* (( (ptr) (* (( (ptr) formal←c40124)+4) ))+3) ),
               BCK(i←v31256, limit116)
               )) )));
      };
   }

static word ApplyToList←P2400(colorOperator←v11000, colorSpace←v11028, formal←c0554)
   word colorOperator←v11000;
   word colorSpace←v11028;
   word formal←c0554;
   {
   W8 var←c40156;
   /* declaration of pixel←v11056 skipped */ 
   register ptr gf←c40188 =  (ptr) &globalframe;
   word var←c11184;
   /* declaration of var←c37852 skipped */ 
   word class←v16752;
   /* declaration of pixelEncoding←v16780 skipped */ 
   word outList←v16836;
   word out←v16864;
   var←c40156.f4/* pixel←v11056 */  = formal←c0554;
   /* ApplyToList: */ 
SOURCE(16514, 680)
   {
      word tmpAddr117;
      tmpAddr117 = (word) (( (ptr) &var←c40156)+5)/* var←c37852 */ ;
      (*  (ptr) tmpAddr117 ) = ( ((word)  (fPt) pixelIn←P6096) );
      (* (( (ptr) tmpAddr117) + 1) ) = 1;
      };
SOURCE(16642, 47)
   class←v16752 = (* (( (ptr) colorOperator←v11000)+2) );
SOURCE(16691, 62)
   var←c40156.f7/* pixelEncoding←v16780 */  = (word) GetPixelEncoding←P2280(colorOperator←v11000);
SOURCE(16911, 9)
   {
      word var←c37916;
      outList←v16836 = XR←NewObject(8, (* (( (ptr) gf←c40188)+40) ));
      var←c37916 = outList←v16836;
      (*  (ptr) var←c37916 ) = (*  (ptr) &fc58 );
      };
SOURCE(16944, 65)
   {
      word var←c37948;
      var←c37948 = (word) ColorSpaceDimension←P2220(colorSpace←v11028);
      out←v16864 = (word) MakeColorPoint←P2460(var←c37948, (*  (ptr) &fc58 ));
      };
SOURCE(17011, 52)
   {
      word pd118;
      pd118 = (* (( (ptr) class←v16752)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd118 ))))(colorOperator←v11000, (word) (( (bPt) &var←c40156)+20)/* var←c37852 */ , colorSpace←v11028, out←v16864, pd118)
      ;
      };
SOURCE(17065, 72)
   {
      register word i←v16992;
      i←v16992 = (* (( (ptr) out←v16864)+1) );
      if ((0 >= i←v16992)) {
         goto lab←L100059;
         };
      i←v16992 = (i←v16992 - 1);
      lab←L100062: ;
SOURCE(17106, 31)
      {
         word var←c37980;
         var←c37980 = XR←NewObject(8, (* (( (ptr) gf←c40188)+40) ));
         {
            word limit119;
            (*  (ptr) var←c37980 ) = (* ((( (ptr) out←v16864)+2)+(
                  limit119 = (* (( (ptr) out←v16864)+1) ),
                  BCK(i←v16992, limit119)
                  )) );
            };
         (* (( (ptr) var←c37980)+1) ) = outList←v16836;
         outList←v16836 = var←c37980;
         };
      if ((0 >= i←v16992)) {
         goto lab←L100059;
         };
      i←v16992 = (i←v16992 - 1);
      goto lab←L100062;
      lab←L100059: ;
      };
SOURCE(17148, 28)
   out←v16864 = (word) DestroyColorPoint←P2520(out←v16864);
SOURCE(17178, 16)
   return(outList←v16836);
   }

static word pixelIn←P6096(i←v31360, formal←c40220)
   word i←v31360;
   word formal←c40220;
   {
   word var←c31404;
   word list←v17036;
   formal←c40220 = (formal←c40220 - 20);
   /* pixelIn: */ 
SOURCE(16755, 153)
SOURCE(16778, 6)
   list←v17036 = (* (( (ptr) formal←c40220)+4) );
SOURCE(16806, 42)
   {
      register word noName←c38012 = 0;
      register word noName←c38044;
      noName←c38044 = i←v31360;
      if ((noName←c38012 >= noName←c38044)) {
         goto lab←L100063;
         };
      lab←L100066: ;
SOURCE(16824, 24)
      list←v17036 = (* (( (ptr) list←v17036)+1) );
      noName←c38012 = (noName←c38012 + 1);
      if ((noName←c38012 < noName←c38044)) {
         goto lab←L100066;
         };
      lab←L100063: ;
      };
SOURCE(16850, 58)
   return((word) ApplyPixelEncoding←P1380((* (( (ptr) formal←c40220)+7) ), i←v31360, (*  (ptr) list←v17036 )));
   }

static word MakeColorPoint←P2460(dim←v11400, s←v11428)
   word dim←v11400;
   word s←v11428;
   {
   register ptr gf←c40252 =  (ptr) &globalframe;
   word d←v11472;
   /* MakeColorPoint: */ 
SOURCE(17308, 416)
SOURCE(17308, 416)
   d←v11472 = 0;
SOURCE(17576, 37)
   if (((dim←v11400 - 1) <= 3)) {
SOURCE(17601, 12)
SOURCE(17601, 12)
      (void) (XR←MonitorEntry((word) (( (bPt) gf←c40252)+16)/* LOCK←v2888 */ ));
SOURCE(17424, 137)
      {
         register word i←v17268 = 0;
         lab←L100070: ;
SOURCE(17472, 29)
         d←v11472 = (* (( (ptr) (( (W4Pt) (( (ptr) gf←c40252)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17268, 2)))+BCK((dim←v11400 - 1), 4)
            ) );
SOURCE(17503, 58)
         if ((d←v11472 != 0)) {
SOURCE(17521, 31)
            (* (( (ptr) (( (W4Pt) (( (ptr) gf←c40252)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17268, 2)))+BCK((dim←v11400 - 1), 4))
             ) = 0;
SOURCE(17554, 7)
            goto lab←L100071;
            };
         if ((i←v17268 >= 1)) {
            goto lab←L100067;
            };
         i←v17268 = (i←v17268 + 1);
         goto lab←L100070;
         lab←L100067: ;
         };
      lab←L100071: ;
      (void) (XR←MonitorExit((word) (( (bPt) gf←c40252)+16)/* LOCK←v2888 */ ));
      };
SOURCE(17615, 43)
   if ((d←v11472 == 0)) {
SOURCE(17631, 27)
      {
         word var←c38108;
         word var←c38140;
         word var←c38172;
         var←c38108 = BCK(dim←v11400, 67108863);
         var←c38140 = ((word) var←c38108 << 2);
         var←c38172 = XR←NewObject((8 + var←c38140), (* (( (ptr) gf←c40252)+39) ));
         (* (( (ptr) var←c38172)+1) ) = var←c38108;
         d←v11472 = var←c38172;
         };
      };
SOURCE(17660, 20)
   (*  (ptr) d←v11472 ) = 0;
SOURCE(17682, 42)
   {
      register word i←v17224 = 0;
      register word noName←c38204;
      noName←c38204 = dim←v11400;
      if ((i←v17224 >= noName←c38204)) {
         goto lab←L100072;
         };
      lab←L100075: ;
SOURCE(17708, 16)
      {
         word limit120;
         (* ((( (ptr) d←v11472)+2)+(
               limit120 = (* (( (ptr) d←v11472)+1) ),
               BCK(i←v17224, limit120)
               )) ) = s←v11428;
         };
      i←v17224 = (i←v17224 + 1);
      if ((i←v17224 < noName←c38204)) {
         goto lab←L100075;
         };
      lab←L100072: ;
      };
SOURCE(17308, 416)
   return(d←v11472);
   }

static word DestroyColorPoint←P2520(d←v11532)
   word d←v11532;
   {
   register ptr gf←c40284 =  (ptr) &globalframe;
   word var←c11576;
   /* DestroyColorPoint: */ 
SOURCE(17730, 275)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c40284)+16)/* LOCK←v2888 */ ));
SOURCE(17730, 275)
   var←c11576 = 0;
SOURCE(17814, 191)
   if ((d←v11532 != 0)) {
SOURCE(17830, 190)
      {
         word dim←v17296;
SOURCE(17832, 16)
         dim←v17296 = (* (( (ptr) d←v11532)+1) );
SOURCE(17850, 155)
         if (((dim←v17296 - 1) <= 3)) {
SOURCE(17877, 128)
            {
               register word i←v17340 = 0;
               lab←L100079: ;
SOURCE(17925, 80)
               if (((* (( (ptr) (( (W4Pt) (( (ptr) gf←c40284)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17340, 2)))+BCK((dim←v17296 - 1), 4)
                  ) ) == 0)) {
SOURCE(17967, 29)
                  (* (( (ptr) (( (W4Pt) (( (ptr) gf←c40284)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17340, 2)))+BCK((dim←v17296 - 1), 4))
                   ) = d←v11532;
SOURCE(17998, 7)
                  (void) (XR←MonitorExit((word) (( (bPt) gf←c40284)+16)/* LOCK←v2888 */ ));
                  return(var←c11576);
                  };
               if ((i←v17340 >= 1)) {
                  goto lab←L100076;
                  };
               i←v17340 = (i←v17340 + 1);
               goto lab←L100079;
               lab←L100076: ;
               };
            };
         };
      };
SOURCE(17730, 275)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c40284)+16)/* LOCK←v2888 */ ));
   return(var←c11576);
   }

static word ChooseColorSpace←P2580(colorOperator←v11636, spaces←v11664)
   word colorOperator←v11636;
   word spaces←v11664;
   {
   register ptr gf←c40316 =  (ptr) &globalframe;
   word var←c11792;
   /* ChooseColorSpace: */ 
SOURCE(18027, 572)
SOURCE(18141, 291)
   {
      register word tail←v17384;
      tail←v17384 = spaces←v11664;
      lab←L100083: ;
      if ((tail←v17384 != 0)) {
         }
      else {
         goto lab←L100080;
         };
      {
         word c←v17512;
SOURCE(18210, 26)
         c←v17512 = (*  (ptr) tail←v17384 );
SOURCE(18238, 74)
         if (((word) ColorOperatorFromColorSpace←P2160((*  (ptr) (tail←v17384) )) == colorOperator←v11636)) {
SOURCE(18302, 10)
            return(c←v17512);
            };
SOURCE(18314, 118)
         {
            register word t←v17556;
            t←v17556 = (* (( (ptr) (* (( (ptr) colorOperator←v11636)+2) ))+6) );
            lab←L100087: ;
            if ((t←v17556 != 0)) {
               }
            else {
               goto lab←L100084;
               };
SOURCE(18402, 30)
            if (((*  (ptr) t←v17556 ) == c←v17512)) {
SOURCE(18422, 10)
               return(c←v17512);
               };
            t←v17556 = (* (( (ptr) t←v17556)+1) );
            goto lab←L100087;
            lab←L100084: ;
            };
         };
      tail←v17384 = (* (( (ptr) tail←v17384)+1) );
      goto lab←L100083;
      lab←L100080: ;
      };
SOURCE(18452, 147)
   {
      word var←c38236;
      {
         word var←c38268;
         word var←c38300;
         var←c38268 = XR←NewObject(12, (* (( (ptr) gf←c40316)+38) ));
         var←c38300 = var←c38268;
         (*  (ptr) var←c38300 ) = (* (( (ptr) gf←c40316)+56) );
         (* (( (ptr) var←c38300)+1) ) = colorOperator←v11636;
         var←c38236 = var←c38268;
         };
      {
         W3 var←c0435;
         var←c0435.f0 = 101;
         var←c0435.f1 = (* (( (ptr) gf←c40316)+53) );
         var←c0435.f2 = var←c38236;
         (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c40316)+167)/* var←c34108 */  ))+4) ), (word) &var←c0435);
         };
      };
   }

static word ColorPointFromColor←P2640(color←v11852, transform←v11880)
   word color←v11852;
   word transform←v11880;
   {
   word var←c11924;
   word colorSpace←v17684;
   word v←v17712;
   word d←v17740;
   /* ColorPointFromColor: */ 
SOURCE(18605, 338)
SOURCE(18715, 41)
   colorSpace←v17684 = (*  (ptr) transform←v11880 );
SOURCE(18758, 57)
   v←v17712 = (word) TransformConstantColor←P2340(color←v11852, colorSpace←v17684);
SOURCE(18817, 54)
   d←v17740 = (word) MakeColorPoint←P2460((* (( (ptr) (* (( (ptr) transform←v11880)+1) ))+1) ), (*  (ptr) &fc58 ));
SOURCE(18873, 31)
   {
      word pd121;
      pd121 = (* (( (ptr) transform←v11880)+2) );
      (void) ( *( (fPt) ((*  (ptr) pd121 ))))(transform←v11880, v←v17712, d←v17740, pd121);
      };
SOURCE(18906, 24)
   v←v17712 = (word) DestroyColorPoint←P2520(v←v17712);
SOURCE(18932, 11)
   return(d←v17740);
   }

static word NarrowToOp←P2700(color←v11984)
   word color←v11984;
   {
   register ptr gf←c40348 =  (ptr) &globalframe;
   word var←c12028;
   word c←v17784;
   /* NarrowToOp: */ 
SOURCE(18947, 301)
SOURCE(19017, 24)
   c←v17784 = color←v11984;
SOURCE(19043, 205)
   lab←L100090: ;
SOURCE(19046, 202)
   {
      word var←c38364;
      var←c38364 = c←v17784;
      if ((var←c38364 == 0)) {
         goto lab←L100091;
         };
      {
         word var←c38428;
         var←c38428 = (* (( (ptr) var←c38364)+1) );
         if ((var←c38428 == 1)) {
            {
               word special←v17828;
               special←v17828 = var←c38364;
SOURCE(19090, 22)
               c←v17784 = (* (( (ptr) special←v17828)+5) );
               };
            }
         else {
            if ((var←c38428 == 0)) {
               {
                  word op←v17872;
                  op←v17872 = var←c38364;
SOURCE(19137, 11)
                  return(op←v17872);
                  };
               }
            else {
               lab←L100091: ;
SOURCE(19161, 87)
               {
                  W3 var←c0450;
                  var←c0450.f0 = 122;
                  var←c0450.f1 = (* (( (ptr) gf←c40348)+59) );
                  var←c0450.f2 = 0;
                  (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c40348)+167)/* var←c34108 */  ))+4) ), (word) &var←c0450);
                  };
               };
            };
         };
      };
   goto lab←L100090;
   }

static word IntensityFromColor←P2760(color←v12088)
   word color←v12088;
   {
   word Y←v12132;
   word p←v17916;
   /* IntensityFromColor: */ 
SOURCE(19254, 178)
SOURCE(19254, 178)
   Y←v12132 = (*  (ptr) &fc58 );
SOURCE(19335, 61)
   {
      word var←c38460;
      var←c38460 = (word) NarrowToOp←P2700(color←v12088);
      p←v17916 = (word) TransformConstantColor←P2340(var←c38460, 0);
      };
SOURCE(19398, 8)
   {
      word limit122;
      Y←v12132 = (* ((( (ptr) p←v17916)+2)+(
            limit122 = (* (( (ptr) p←v17916)+1) ),
            BCK(0, limit122)
            )) );
      };
SOURCE(19408, 24)
   p←v17916 = (word) DestroyColorPoint←P2520(p←v17916);
SOURCE(19254, 178)
   return(Y←v12132);
   }

static word GrayFromColor←P2820(color←v12192)
   word color←v12192;
   {
   word var←c12236;
   /* GrayFromColor: */ 
SOURCE(19438, 108)
SOURCE(19507, 39)
   {
      word x124;
      word x125;
      float tf126;
      return((
         tf126 = (
            x124 = (*  (ptr) &fc123 ),  *(float*)&x124
            ) - (
            x125 = (word) IntensityFromColor←P2760(color←v12192),  *(float*)&x125
            ),  *(word*)&tf126
         ));
      };
   }

static word FindColorOperatorClass←P2880(name←v12296)
   word name←v12296;
   {
   register ptr gf←c40380 =  (ptr) &globalframe;
   word var←c12340;
   word class←v17960;
   /* FindColorOperatorClass: */ 
SOURCE(19623, 339)
SOURCE(19705, 83)
   {
      W2 var←c0460;
      word var←c0537;
      {
         word pd127;
         pd127 = (* (( (ptr) (* (( (ptr) gf←c40380)+165)/* var←c33948 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd127 ))))((word) &var←c0460, (* (( (ptr) gf←c40380)+21)/* colorOperatorClassTable←v5576 */  ), name←v12296, pd127)
         ;
         };
      var←c0537 = var←c0460.f1;
      class←v17960 = XR←Narrow(var←c0537, (* (( (ptr) gf←c40380)+23) ));
      };
SOURCE(19790, 156)
   if ((class←v17960 == 0)) {
SOURCE(19810, 136)
      {
         word var←c38524;
         word var←c38556;
         {
            word pd128;
            pd128 = (* (( (ptr) (* (( (ptr) gf←c40380)+170)/* var←c36380 */  ))+6) );
            var←c38524 = (word) ( *( (fPt) ((*  (ptr) pd128 ))))((* (( (ptr) gf←c40380)+60) ), name←v12296, pd128);
            };
         {
            word var←c38588;
            word var←c38620;
            var←c38588 = XR←NewObject(12, (* (( (ptr) gf←c40380)+38) ));
            var←c38620 = var←c38588;
            (*  (ptr) var←c38620 ) = (* (( (ptr) gf←c40380)+61) );
            (* (( (ptr) var←c38620)+1) ) = name←v12296;
            var←c38556 = var←c38588;
            };
         {
            W3 var←c0466;
            var←c0466.f0 = 21;
            var←c0466.f1 = var←c38524;
            var←c0466.f2 = var←c38556;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c40380)+167)/* var←c34108 */  ))+4) ), (word) &var←c0466);
            };
         };
      };
SOURCE(19948, 14)
   return(class←v17960);
   }

static word NewColorOperatorClass←P2940(name←v12400, createColorOperator←v12428, getCreateData←v12456, getPixelEncoding←v12484, apply←v12512, dataEqual←v12540, supportedOutputs←v12568)
   word name←v12400;
   word createColorOperator←v12428;
   word getCreateData←v12456;
   word getPixelEncoding←v12484;
   word apply←v12512;
   word dataEqual←v12540;
   word supportedOutputs←v12568;
   {
   register ptr gf←c40412 =  (ptr) &globalframe;
   word var←c12696;
   word class←v18004;
   /* NewColorOperatorClass: */ 
SOURCE(19968, 618)
SOURCE(20251, 249)
   class←v18004 = XR←NewObject(28, (* (( (ptr) gf←c40412)+23) ));
   (*  (ptr) class←v18004 ) = name←v12400;
   (* (( (ptr) class←v18004)+1) ) = XR←CheckProc(createColorOperator←v12428);
   (* (( (ptr) class←v18004)+2) ) = XR←CheckProc(getCreateData←v12456);
   (* (( (ptr) class←v18004)+3) ) = XR←CheckProc(getPixelEncoding←v12484);
   (* (( (ptr) class←v18004)+4) ) = XR←CheckProc(apply←v12512);
   (* (( (ptr) class←v18004)+5) ) = XR←CheckProc(dataEqual←v12540);
   (* (( (ptr) class←v18004)+6) ) = supportedOutputs←v12568;
SOURCE(20502, 68)
   {
      word var←c38716;
      word pd129;
      pd129 = (* (( (ptr) (* (( (ptr) gf←c40412)+165)/* var←c33948 */  ))+10) );
      var←c38716 = (word) ( *( (fPt) ((*  (ptr) pd129 ))))((* (( (ptr) gf←c40412)+21)/* colorOperatorClassTable←v5576 */  ), name←v12400, class←v18004, pd129)
      ;
      };
SOURCE(20572, 14)
   return(class←v18004);
   }

static word NewColorOperator←P3000(formal←c0555, formal←c0556, formal←c0557, formal←c0558, formal←c0559)
   word formal←c0555;
   word formal←c0556;
   word formal←c0557;
   word formal←c0558;
   word formal←c0559;
   {
   W11 var←c40444;
   /* declaration of chromatic←v12756 skipped */ 
   /* declaration of samplesPerPixelIn←v12784 skipped */ 
   /* declaration of class←v12812 skipped */ 
   /* declaration of data←v12840 skipped */ 
   /* declaration of appearanceHints←v12868 skipped */ 
   register ptr gf←c40476 =  (ptr) &globalframe;
   word var←c12924;
   /* declaration of var←c38748 skipped */ 
   word new←v18076;
   (* (( (ptr) &var←c40444)+4)/* chromatic←v12756 */  ) = formal←c0555;
   (* (( (ptr) &var←c40444)+5)/* samplesPerPixelIn←v12784 */  ) = formal←c0556;
   (* (( (ptr) &var←c40444)+6)/* class←v12812 */  ) = formal←c0557;
   (* (( (ptr) &var←c40444)+7)/* data←v12840 */  ) = formal←c0558;
   (* (( (ptr) &var←c40444)+8)/* appearanceHints←v12868 */  ) = formal←c0559;
   /* NewColorOperator: */ 
SOURCE(20703, 822)
   {
      word tmpAddr130;
      tmpAddr130 = (word) (( (ptr) &var←c40444)+9)/* var←c38748 */ ;
      (*  (ptr) tmpAddr130 ) = ( ((word)  (fPt) compare←P6696) );
      (* (( (ptr) tmpAddr130) + 1) ) = 1;
      };
SOURCE(21183, 96)
   {
      W2 var←c0485;
      word var←c0538;
      {
         word pd131;
         pd131 = (* (( (ptr) (* (( (ptr) gf←c40476)+166)/* var←c34012 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd131 ))))((word) &var←c0485, (* (( (ptr) gf←c40476)+22)/* colorOperatorCache←v5660 */  ), (word) (
               ( (bPt) &var←c40444)+36)/* var←c38748 */ , 0, pd131);
         };
      var←c0538 = var←c0485.f0;
      new←v18076 = XR←Narrow(var←c0538, (* (( (ptr) gf←c40476)+34) ));
      };
SOURCE(21281, 30)
   if ((new←v18076 != 0)) {
SOURCE(21299, 12)
      return(new←v18076);
      };
SOURCE(21313, 116)
   {
      word var←c38780;
      var←c38780 = XR←NewObject(20, (* (( (ptr) gf←c40476)+34) ));
      (*  (ptr) var←c38780 ) = (* (( (ptr) &var←c40444)+4)/* chromatic←v12756 */  );
      (* (( (ptr) var←c38780)+1) ) = (* (( (ptr) &var←c40444)+5)/* samplesPerPixelIn←v12784 */  );
      (* (( (ptr) var←c38780)+2) ) = (* (( (ptr) &var←c40444)+6)/* class←v12812 */  );
      (* (( (ptr) var←c38780)+3) ) = (* (( (ptr) &var←c40444)+7)/* data←v12840 */  );
      new←v18076 = var←c38780;
      };
SOURCE(21431, 79)
   {
      word pd132;
      pd132 = (* (( (ptr) (* (( (ptr) gf←c40476)+166)/* var←c34012 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd132 ))))((* (( (ptr) gf←c40476)+22)/* colorOperatorCache←v5660 */  ), new←v18076, new←v18076, 1, 0, pd132)
      ;
      };
SOURCE(21512, 13)
   return(new←v18076);
   }

static word compare←P6696(argument←v31980, formal←c40540)
   word argument←v31980;
   word formal←c40540;
   {
   register ptr gf←c40508 =  (ptr) &globalframe;
   word good←v32024;
   formal←c40540 = (formal←c40540 - 36);
   /* compare: */ 
SOURCE(20869, 309)
SOURCE(20908, 270)
   {
      word var←c38812;
      var←c38812 = argument←v31980;
      if ((var←c38812 == 0)) {
         goto lab←L100092;
         };
      if (((* (( (ptr) gf←c40508)+34) ) == XR←GetReferentType(var←c38812))) {
         {
            word old←v18120;
            old←v18120 = var←c38812;
SOURCE(20956, 195)
            {
               word tc133;
               word pd134;
               if ( (  (  ( ((*  (ptr) old←v18120 ) == (* (( (ptr) formal←c40540)+4) )) ? ((* (( (ptr) old←v18120)+1) ) == (* (( (ptr) formal←c40540)+5)
                )) : 0 )  ? ((* (( (ptr) old←v18120)+2) ) == (* (( (ptr) formal←c40540)+6) )) : 0 )  ? (0 != (word) StructureEqual←P1200(
                  (* (( (ptr) old←v18120)+4) ), (* (( (ptr) formal←c40540)+8) ))) : 0 ) ) {
                  pd134 = (* (( (ptr) (* (( (ptr) formal←c40540)+6) ))+5) );
                  tc133 =  (word)  (unsigned) (0 != (word) ( *( (fPt) ((*  (ptr) pd134 ))))((* (( (ptr) formal←c40540)+7) ), (* (( (ptr) old←v18120)+3)
                      ), pd134));
                  }
               else {
                  tc133 =  (word)  (unsigned) 0;
                  };
               return(tc133);
               };
            };
         }
      else {
         lab←L100092: ;
SOURCE(21164, 14)
         return(0);
         };
      };
   }

/* file: ImagerColorPrivateImpl, module: ImagerColorPrivateImpl, compiled at: July 28, 1993 10:15:55 am PDT */ 
extern void XR←install←ImagerColorPrivateImpl() {
   NoName←Q6864();
   }
extern void XR←run←ImagerColorPrivateImpl() { XR←Start(&globalframe); }