/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: November 11, 1992 6:03:49 pm PST */
/* C2C version: October 7, 1992 (native) */
/* ref-counting: off */
/* file: ImagerPrintColorImpl, module: ImagerPrintColorImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3272545578,3048834797] ImagerPrintColorImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef W5 *W5Pt;
typedef W2 *W2Pt;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef struct {  byte u1:5;  byte f:3;  } * P3x5b;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W8 f; W3 r;} W11;
#define SOURCE(p, l) /* source p, l */
static float fc36 = 2.0;
static float fc38 = 262144.0;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc48 = 1.0;
static float fc65 = 0.9999;
static float fc68 = 0.0001;
static float fc90 = 255.0;
static float fc110 = 0.0;
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc169 = 16383.0;
static float fc174 = 1048576.0;
static float fc190 = 0.5;
static void NoName←Q3540();
static void ImagerPrintColorImpl←P0();
static word GetFractionProbes←P60();
static word GetFractionMisses←P120();
static void GetGoodShape←P180();
static word PixelMapWords←P240();
static word NewDeviceColorData←P300();
static void SetSeparation←P360();
static void SetDeviceColorData←P420();
static void SetInk←P480();
static void SetFraction←P540();
static void SetTile←P600();
static void SetLogicalDeviceColor←P660();
static void SetGray←P720();
static void SetOpConstantColor←P780();
static void SetSampledColor←P840();
static word Compare←P2352();
static word ComputeSource←P900();
static word GetColorTransform←P960();
static void CMYKTransform←P1020();
static void KTransform←P1080();
static void SetSampledBlack←P1140();
static word ImagerPrintColorNewStuff←P1200();
static word ImagerPrintColorTileTolerance←P1260();
static word TryTransformingBitmapIntoTile←P1320();
static void action←P2988();
static void MaskBoxes←P1380();
static void Action←P3096();
static void Action←P3204();
static struct {unsigned f; char r[44];} string1 = {2752556, "\260\006\005\146\151\162\163\164\257\300\207\164\301\163\300\327\135\041\305\104\130\005\004\162\145\163\164\214\257\300\207\164\301\163\300\327\135\041\305\104\130\261\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\166\344\362\325\300\124\127\204\375\100\200\000\000"};
static struct {unsigned f; char r[28];} string4 = {1572888, "\006\011\004\001\010\001\030\003\001\044\001\060\001\074\001\100\100\001\100\104\001\100\114\001\000\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\354\000\000"};
static struct {unsigned f; char r[12];} string6 = {589833, "\011\000\004\100\240\040\001\030\001\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\303\017\025\052\300\265\271\206\355\100\200\000\000"};
static struct {unsigned f; char r[16];} string8 = {917518, "\006\003\000\001\004\001\010\010\000\030\101\001\004\012\000"};
static struct {unsigned f; char r[16];} string9 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string10 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\104\334\000\000"};
static struct {unsigned f; char r[4];} string12 = {131074, "\004\012\000"};
static struct {unsigned f; char r[4];} string13 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\303\017\025\052\300\265\271\206\355\101\144\000\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\004\033\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\236\211\262\021\300\215\235\324\340\100\200\000\000"};
static struct {unsigned f; char r[12];} string17 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"};
static struct {unsigned f; char r[48];} string18 = {2949168, "Unknown special color has no substitute value\000\000"};
static struct {unsigned f; char r[40];} string19 = {2359336, "Unable to render gray on this device\000\000\000"};
static struct {unsigned f; char r[12];} string20 = {655372, "PrintColor\000"};
static struct {unsigned f; char r[48];} string21 = {3080240, "Illegal toner (no halftone properties supplied)"};
static struct {unsigned f; char r[8];} string22 = {393224, "Bitmap\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\303\017\025\052\300\265\271\206\355\100\164\000\000"};
static struct {unsigned f; char r[12];} string24 = {655370, "\006\003\030\001\034\001\100\174\004\037\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\161\264\233\303\300\026\075\022\161\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\353\300\316\013\300\313\011\345\022\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\230\052\311\306\300\242\375\035\324\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\166\344\362\325\300\124\127\204\375\100\150\000\000"};
static struct {
   word f0[36]; word f36; word f37; word f38; 
   word f39; word f40; word f41; word f42; 
   word f43; word f44; word f45; word f46; 
   word f47; word f48; word f49; word f50; 
   word f51; word f52; word f53; word f54; 
   word f55; word f56; word f57; word f58; 
   word f59; word f60; word f61; word f62; 
   word f63; word f64; word f65; word f66; 
   word f67; word f68; word f69; word f70; 
   word f71; word f72; word f73; word f74; 
   word f75; word f76; word f77; word f78; 
   word f79; word f80; word f81; word f82; 
   word f83[3]; word f86; word f87; word f88[12]; 
   } globalframe = {
   {0}, (word) MaskBoxes←P1380, 0, (word) TryTransformingBitmapIntoTile←P1320, 
   0, (word) ImagerPrintColorTileTolerance←P1260, 0, (word) ImagerPrintColorNewStuff←P1200, 
   0, (word) SetSampledBlack←P1140, 0, (word) KTransform←P1080, 
   0, (word) CMYKTransform←P1020, 0, (word) GetColorTransform←P960, 
   0, (word) ComputeSource←P900, 0, (word) SetSampledColor←P840, 
   0, (word) SetOpConstantColor←P780, 0, (word) SetGray←P720, 
   0, (word) SetLogicalDeviceColor←P660, 0, (word) SetTile←P600, 
   0, (word) SetFraction←P540, 0, (word) SetInk←P480, 
   0, (word) SetDeviceColorData←P420, 0, (word) SetSeparation←P360, 
   0, (word) NewDeviceColorData←P300, 0, (word) PixelMapWords←P240, 
   0, (word) GetGoodShape←P180, 0, (word) GetFractionMisses←P120, 
   0, (word) GetFractionProbes←P60, 0, (word) ImagerPrintColorImpl←P0, 
   {0}, (word) 32, (word) 32, {0}
   };

static void NoName←Q3540()
   {
   register ptr gf←c0252 =  (ptr) &globalframe;
   word var←c35248;
   (* (( (ptr) gf←c0252)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0252)+13) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0252)+20) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0252)+22) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0252)+25) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0252)+26) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12);
   (* (( (ptr) gf←c0252)+27) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string10);
   (* (( (ptr) gf←c0252)+28) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0252)+30) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (*  (ptr) (( (bPt) gf←c0252)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0252)+25) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0252)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0252)+25) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0252)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0252)+27) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0252)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0252)+25) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0252)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0252)+27) ), (word) &string22);
   (void) XR←DeclareGlobalFrame((word) "ImagerPrintColorImpl", &globalframe, (word) XR←GetTypeIndex((word) &string23, 0, (word) &string24)
      , (word) (( (bPt) gf←c0252)+328)/* var←c32528 */ );
   var←c35248 = (word) XR←ImportInterface((word) "FunctionCache", (word) XR←GetTypeIndexS((word) (&string25)), 14);
   (* (( (ptr) gf←c0252)+95)/* var←c34032 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 1311237);
   (void) XR←ImportProcS(var←c35248, 135005443);
   (void) XR←ImportProcS(var←c35248, 67112192);
   var←c35248 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string26)), 84);
   (* (( (ptr) gf←c0252)+92)/* var←c33264 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 542978);
   (void) XR←ImportProcS(var←c35248, 526850);
   (void) XR←ImportProcS(var←c35248, 790018);
   (void) XR←ImportProcS(var←c35248, 526338);
   var←c35248 = (word) XR←ImportInterface((word) "ImagerBitmapContext", (word) XR←GetTypeIndexS((word) (&string27)), 8);
   (* (( (ptr) gf←c0252)+98)/* var←c34832 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 524802);
   (void) XR←ImportProcS(var←c35248, 69206278);
   var←c35248 = (word) XR←ImportInterface((word) "ImagerColorPrivate", (word) XR←GetTypeIndexS((word) (&string28)), 48);
   (* (( (ptr) gf←c0252)+94)/* var←c33904 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 67641090);
   (void) XR←ImportProcS(var←c35248, 67642882);
   (void) XR←ImportProcS(var←c35248, 67905795);
   (void) XR←ImportProcS(var←c35248, 67379201);
   (void) XR←ImportProcS(var←c35248, 67643138);
   var←c35248 = (word) XR←ImportInterface((word) "ImagerPixelArray", (word) XR←GetTypeIndexS((word) (&string29)), 13);
   (* (( (ptr) gf←c0252)+97)/* var←c34544 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 2623240);
   var←c35248 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string30)), 60);
   (* (( (ptr) gf←c0252)+90)/* var←c33040 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 1583621);
   (void) XR←ImportProcS(var←c35248, 262913);
   (void) XR←ImportProcS(var←c35248, 1324037);
   (void) XR←ImportProcS(var←c35248, 1062404);
   (void) XR←ImportProcS(var←c35248, 268801);
   (void) XR←ImportProcS(var←c35248, 67901442);
   (void) XR←ImportProcS(var←c35248, 68686339);
   (void) XR←ImportProcS(var←c35248, 2370311);
   (void) XR←ImportProcS(var←c35248, 1321220);
   (void) XR←ImportProcS(var←c35248, 273409);
   (void) XR←ImportProcS(var←c35248, 68685571);
   (void) XR←ImportProcS(var←c35248, 67371521);
   (void) XR←ImportProcS(var←c35248, 267009);
   (void) XR←ImportProcS(var←c35248, 67648258);
   (void) XR←ImportProcS(var←c35248, 68161027);
   var←c35248 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string31)), 55);
   (* (( (ptr) gf←c0252)+91)/* var←c33104 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 262401);
   (void) XR←ImportProcS(var←c35248, 67383041);
   (void) XR←ImportProcS(var←c35248, 269756930);
   (void) XR←ImportProcS(var←c35248, 1319173);
   (void) XR←ImportProcS(var←c35248, 67371777);
   var←c35248 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string32)), 19);
   (* (( (ptr) gf←c0252)+89)/* var←c32752 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 68160769);
   (void) XR←ImportProcS(var←c35248, 135270145);
   var←c35248 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string33)), 11);
   (* (( (ptr) gf←c0252)+93)/* var←c33520 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 67372033);
   (void) XR←ImportProcS(var←c35248, 67371521);
   var←c35248 = (word) XR←ImportInterface((word) "ImagerPixel", (word) XR←GetTypeIndexS((word) (&string34)), 9);
   (* (( (ptr) gf←c0252)+96)/* var←c34192 */  ) = var←c35248;
   (void) XR←ImportProcS(var←c35248, 2361350);
   (void) XR←ImportProcS(var←c35248, 68420869);
   var←c35248 = (word) XR←ExportInterface((word) "ImagerPrintColor", (word) XR←GetTypeIndexS((word) (&string35)), 4);
   (* (( (ptr) gf←c0252)+99)/* var←c35280 */  ) = var←c35248;
   (void) XR←ExportProcS(var←c35248, (word) (( (bPt) gf←c0252)+288)/* var←c32368 */ , 68157444);
   (void) XR←ExportProcS(var←c35248, (word) (( (bPt) gf←c0252)+280)/* var←c32336 */ , 524546);
   (void) XR←ExportProcS(var←c35248, (word) (( (bPt) gf←c0252)+272)/* var←c32304 */ , 786947);
   (void) XR←ExportProcS(var←c35248, (word) (( (bPt) gf←c0252)+144)/* var←c31792 */ , 1835780);
   }

static void ImagerPrintColorImpl←P0(formal←c050, formal←c046)
   word formal←c050;
   word formal←c046;
   {
   register ptr gf←c35312 =  (ptr) &globalframe;
   /* ImagerPrintColorImpl: */ 
SOURCE(227, 19400)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(12221, 8)
   (* (( (ptr) gf←c35312)+6)/* allowY←v4092 */  ) = XR←NewObject(8, (* (( (ptr) gf←c35312)+10) ));
   {
      word var←c32656;
      var←c32656 = (* (( (ptr) gf←c35312)+6)/* allowY←v4092 */  );
      };
SOURCE(12279, 13)
   {
      word var←c32688;
      word var←c32720;
      var←c32688 = XR←NewObject(8, (* (( (ptr) gf←c35312)+10) ));
      var←c32720 = var←c32688;
      (*  (ptr) var←c32720 ) = 1;
      (* (( (ptr) var←c32720)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c35312)+10) ));
      var←c32720 = (* (( (ptr) var←c32720)+1) );
      (* (( (ptr) gf←c35312)+7)/* allowRGBorY←v4120 */  ) = var←c32688;
      };
SOURCE(15715, 21)
   (* (( (ptr) gf←c35312)+8)/* newStuff←v4288 */  ) = 1;
SOURCE(15870, 33)
   {
      word x37;
      word x39;
      *(float*)(( (ptr) gf←c35312)+9)/* tileTolerance←v4344 */  = (
         x37 = (*  (ptr) &fc36 ),  *(float*)&x37
         ) * (
         x39 = (*  (ptr) &fc38 ),  *(float*)&x39
         );
      };
   }

static word GetFractionProbes←P60()
   {
   register ptr gf←c35344 =  (ptr) &globalframe;
   word var←c4744;
   /* GetFractionProbes: */ 
SOURCE(1478, 66)
SOURCE(1521, 23)
   return((* (( (ptr) gf←c35344)+4)/* fractionProbes←v3504 */  ));
   }

static word GetFractionMisses←P120()
   {
   register ptr gf←c35376 =  (ptr) &globalframe;
   word var←c4804;
   /* GetFractionMisses: */ 
SOURCE(1550, 66)
SOURCE(1593, 23)
   return((* (( (ptr) gf←c35376)+5)/* fractionMisses←v3532 */  ));
   }

static void GetGoodShape←P180(formal←c059, box←v4936, phase←v4964)
   word formal←c059;
   W4 box←v4936;
   word phase←v4964;
   {
   register ptr gf←c35408 =  (ptr) &globalframe;
   W5 var←c5008;
   W2 size←v7608;
   /* GetGoodShape: */ 
SOURCE(1701, 398)
SOURCE(1774, 27)
   {
      word pd40;
      pd40 = (* (( (ptr) (* (( (ptr) gf←c35408)+89)/* var←c32752 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd40 ))))((word) &size←v7608, box←v4936, pd40);
      };
SOURCE(1803, 35)
   if (( (int)size←v7608.f0 <=  (int)0) || ( (int)size←v7608.f1 <=  (int)0)) {
SOURCE(1838, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(1845, 49)
   lab←L100003: ;
   if (( (int)phase←v4964 <  (int)0)) {
      }
   else {
      goto lab←L100001;
      };
SOURCE(1864, 30)
   phase←v4964 = (phase←v4964 + size←v7608.f1);
   goto lab←L100003;
   lab←L100001: ;
SOURCE(1896, 159)
   {
      word idx41;
      word idx42;
      word idx43;
      if ( (  ( ((32 % (
         idx41 = (word) size←v7608.f0,
         SGNCK(idx41)
         )) == 0) ? ((32 % (
         idx42 = (word) size←v7608.f1,
         SGNCK(idx42)
         )) == 0) : 0 )  ? (((SGNCK(phase←v4964) * (32 / (
         idx43 = (word) size←v7608.f0,
         SGNCK(idx43)
         ))) & 037) == 0) : 0 ) ) {
SOURCE(2011, 44)
         var←c5008 = (*  (W5Pt) (( (ptr) gf←c35408)+84)/* var←c32592 */  );
         goto lab←L100000;
         };
      };
SOURCE(2058, 41)
   var←c5008.f0 = 0;
   var←c5008.f1 = 0;
   (*  (W2Pt) (( (ptr) &var←c5008)+2) ) = size←v7608;
   var←c5008.f4 = phase←v4964;
   /* removed tail goto */ 
   lab←L100000: ;
   (*  (W5Pt) formal←c059 ) = var←c5008;
   return;
   }

static word PixelMapWords←P240(pixelMap←v5068)
   word pixelMap←v5068;
   {
   register ptr gf←c35440 =  (ptr) &globalframe;
   word var←c5112;
   word words←v7652 = 0;
   /* PixelMapWords: */ 
SOURCE(2105, 298)
SOURCE(2192, 195)
   {
      register word i←v7696 = 0;
      register word noName←c32848;
      noName←c32848 = (* (( (ptr) pixelMap←v5068)+5) );
      if ((i←v7696 >= noName←c32848)) {
         goto lab←L100004;
         };
      lab←L100007: ;
SOURCE(2239, 148)
      {
         W2 var←c32880;
         word var←c32976;
         word var←c0280;
         {
            W2 var←c32912;
            word map←v31744;
            {
               word limit44;
               map←v31744 = (* ((( (ptr) pixelMap←v5068)+6)+(
                     limit44 = (* (( (ptr) pixelMap←v5068)+5) ),
                     BCK(i←v7696, limit44)
                     )) );
               };
            {
               W4 b←v14700;
               b←v14700 = (*  (W4Pt) map←v31744 );
               var←c32912.f0 = (b←v14700.f2 - b←v14700.f0);
               var←c32912.f1 = (b←v14700.f3 - b←v14700.f1);
               };
            var←c32880 = var←c32912;
            };
         {
            word var←c33008;
            word map←v31696;
            {
               word limit45;
               map←v31696 = (* ((( (ptr) pixelMap←v5068)+6)+(
                     limit45 = (* (( (ptr) pixelMap←v5068)+5) ),
                     BCK(i←v7696, limit45)
                     )) );
               };
            var←c33008 = (* (( (ptr) map←v31696)+5) );
            var←c32976 = var←c33008;
            };
         {
            word pd46;
            pd46 = (* (( (ptr) (* (( (ptr) gf←c35440)+90)/* var←c33040 */  ))+18) );
            var←c0280 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))(var←c32880, var←c32976, 0, pd46);
            };
         words←v7652 = (words←v7652 + var←c0280);
         };
      i←v7696 = (i←v7696 + 1);
      if ((i←v7696 < noName←c32848)) {
         goto lab←L100007;
         };
      lab←L100004: ;
      };
SOURCE(2389, 14)
   return(words←v7652);
   }

static word NewDeviceColorData←P300(logicalDevice←v5172, halftoneProperties←v5200, correction←v5228, interpolate←v5256)
   word logicalDevice←v5172;
   word halftoneProperties←v5200;
   word correction←v5228;
   word interpolate←v5256;
   {
   register ptr gf←c35472 =  (ptr) &globalframe;
   word var←c5300;
   word deviceColorData←v7740;
   /* NewDeviceColorData: */ 
SOURCE(2409, 924)
SOURCE(2654, 92)
   deviceColorData←v7740 = XR←NewObject(80, (* (( (ptr) gf←c35472)+13) ));
   (* (( (ptr) deviceColorData←v7740)+10) ) = 1;
   (* (( (ptr) deviceColorData←v7740)+14) ) = 255;
SOURCE(2748, 55)
   (* (( (ptr) deviceColorData←v7740)+1) ) = halftoneProperties←v5200;
SOURCE(2805, 39)
   (* (( (ptr) deviceColorData←v7740)+2) ) = correction←v5228;
SOURCE(2846, 41)
   (* (( (ptr) deviceColorData←v7740)+3) ) = interpolate←v5256;
SOURCE(2889, 26)
   (* (( (ptr) deviceColorData←v7740)+10) ) = 0;
SOURCE(2917, 61)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c35472)+91)/* var←c33104 */  ))+7) );
      (* (( (ptr) deviceColorData←v7740)+17) ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))((*  (ptr) (&fc48) ), pd47);
      };
SOURCE(2980, 56)
   {
      word var←c33136;
      {
         word var←c33168;
         var←c33168 = XR←NewObject(28, (* (( (ptr) gf←c35472)+20) ));
         (* (( (ptr) var←c33168)+5) ) = 1;
         var←c33136 = var←c33168;
         };
      (* (( (ptr) deviceColorData←v7740)+16) ) = var←c33136;
      };
SOURCE(3038, 42)
   (* (( (hPt) deviceColorData←v7740)+9) ) = 0;
SOURCE(3082, 167)
   {
      register word each←v7784;
      each←v7784 = halftoneProperties←v5200;
      lab←L100013: ;
      if ((each←v7784 != 0)) {
         }
      else {
         goto lab←L100010;
         };
SOURCE(3195, 54)
      {
         word x49;
         word x50;
         x49 = (* (( (ptr) each←v7784)+1) );
         x50 = (word) ((( (bPt) deviceColorData←v7740)+18) + ((word) x49 >> 3));
         x49 = 8 - ((word) (x49 & 7)+1);
         (*  (bPt) x50 ) = ((*  (bPt) x50 ) & ( ~ ((unsigned) 1 << x49))) | (((1)) << x49);
         };
      each←v7784 = (* (( (ptr) each←v7784)+5) );
      goto lab←L100013;
      lab←L100010: ;
      };
SOURCE(3260, 46)
   (* (( (ptr) deviceColorData←v7740)+19) ) = XR←NewObject(6176, (* (( (ptr) gf←c35472)+22) ));
SOURCE(3308, 25)
   return(deviceColorData←v7740);
   }

static void SetSeparation←P360(deviceColorData←v5360, toner←v5388)
   word deviceColorData←v5360;
   word toner←v5388;
   {
   register ptr gf←c35504 =  (ptr) &globalframe;
   W3 old←v7912;
   W3 new←v7940;
   /* SetSeparation: */ 
SOURCE(3337, 908)
SOURCE(3445, 46)
   old←v7912 = (*  (W3Pt) (( (ptr) deviceColorData←v5360)+6) );
SOURCE(3493, 36)
   new←v7940.f0 = 0;
   new←v7940.f1 = 0;
   new←v7940.f2 = 0;
SOURCE(3531, 154)
   if ( ! (((*  (bPt) ((( (bPt) deviceColorData←v5360)+18) + ((word) toner←v5388 >> 3)) ) >> (7 - ((word) (toner←v5388 & 7))))
    & 1)) {
SOURCE(3580, 105)
      {
         W3 var←c086;
         var←c086.f0 = 50;
         var←c086.f1 = (* (( (ptr) gf←c35504)+34) );
         var←c086.f2 = 0;
         (void) XR←RaiseError((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c35504)+92)/* var←c33264 */  ))+6) ) ), (word) &var←c086);
         };
      };
SOURCE(3687, 185)
   {
      register word each←v7984;
      each←v7984 = (* (( (ptr) deviceColorData←v5360)+1) );
      lab←L100017: ;
      if ((each←v7984 != 0)) {
         }
      else {
         goto lab←L100014;
         };
SOURCE(3816, 56)
      if (((* (( (ptr) each←v7984)+1) ) == toner←v5388)) {
SOURCE(3850, 22)
         new←v7940 = (*  (W3Pt) (( (ptr) each←v7984)+2) );
SOURCE(3874, 4)
         goto lab←L100015;
         };
      each←v7984 = (* (( (ptr) each←v7984)+5) );
      goto lab←L100017;
      lab←L100014: ;
      lab←L100015: ;
      };
SOURCE(3890, 127)
   if ( ( (new←v7940.f1 == 0) ? ((* (( (ptr) deviceColorData←v5360)+1) ) != 0) : 0 ) ) {
SOURCE(3965, 52)
      new←v7940 = (*  (W3Pt) (( (ptr) (* (( (ptr) deviceColorData←v5360)+1) ))+2) );
      };
SOURCE(4022, 192)
   {
      word pd52;
      if ((new←v7940.f0 != old←v7912.f0)) { goto then051;};
      if ((new←v7940.f2 != old←v7912.f2)) { goto then051;};
      if ((new←v7940.f1 == 0)) { goto then051;};
      if ((old←v7912.f1 == 0)) { goto then051;};
      pd52 = (* (( (ptr) (* (( (ptr) gf←c35504)+90)/* var←c33040 */  ))+63) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd52 ))))(new←v7940.f1, old←v7912.f1, pd52))) {
         then051: ;
SOURCE(4187, 27)
         (*  (W3Pt) (( (ptr) deviceColorData←v5360)+6) ) = new←v7940;
         };
      };
SOURCE(4216, 29)
   (* (( (ptr) deviceColorData←v5360)+5) ) = toner←v5388;
   }

static void SetDeviceColorData←P420(deviceColorData←v5448, color←v5476, viewToDevice←v5504)
   word deviceColorData←v5448;
   word color←v5476;
   word viewToDevice←v5504;
   {
   register ptr gf←c35536 =  (ptr) &globalframe;
   /* SetDeviceColorData: */ 
SOURCE(4251, 1712)
SOURCE(4395, 26)
   (* (( (ptr) deviceColorData←v5448)+10) ) = 0;
SOURCE(4423, 25)
   (* (( (ptr) deviceColorData←v5448)+11) ) = 2;
SOURCE(4450, 30)
   (* (( (ptr) deviceColorData←v5448)+12) ) = 0;
SOURCE(4482, 27)
   (* (( (ptr) deviceColorData←v5448)+14) ) = 255;
SOURCE(4511, 32)
   (* (( (ptr) deviceColorData←v5448)+15) ) = 0;
SOURCE(4545, 31)
   {
      word var←c33328;
      var←c33328 = (* (( (ptr) deviceColorData←v5448)+16) );
      {
         word limit53;
         (* ((( (ptr) var←c33328)+6)+(
               limit53 = (* (( (ptr) var←c33328)+5) ),
               BCK(0, limit53)
               )) ) = 0;
         };
      };
SOURCE(4578, 147)
   if (((* (( (ptr) deviceColorData←v5448)+9) ) != 0)) {
SOURCE(4625, 62)
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c35536)+90)/* var←c33040 */  ))+23) );
         (void) ( *( (fPt) ((*  (ptr) pd54 ))))((* ((( (ptr) deviceColorData←v5448)+9)) ), pd54);
         };
SOURCE(4689, 36)
      (* (( (ptr) deviceColorData←v5448)+9) ) = 0;
      };
SOURCE(4730, 39)
   ((P3x5b) (( (bPt) deviceColorData←v5448) + 75))->f = 0;
SOURCE(4771, 1192)
   lab←L100020: ;
SOURCE(4774, 1189)
   {
      word var←c33360;
      var←c33360 = color←v5476;
      if ((var←c33360 == 0)) {
         goto lab←L100021;
         };
      {
         word var←c33456;
         if ( ( ((*  (ptr) var←c33360 ) == 0) ? ((* (( (ptr) var←c33360)+1) ) == 1) : 0 ) ) {
            {
               word specialColor←v8112;
               specialColor←v8112 = var←c33360;
SOURCE(4841, 607)
               {
                  word var←c33392;
                  var←c33392 = (* (( (ptr) specialColor←v8112)+2) );
                  if ((var←c33392 == (* (( (ptr) gf←c35536)+33) ))) {
SOURCE(4886, 359)
                     {
                        word data←v8156;
SOURCE(4888, 66)
                        data←v8156 = XR←Narrow((* (( (ptr) specialColor←v8112)+4) ), (* (( (ptr) gf←c35536)+30) ));
SOURCE(4956, 242)
                        if (((*  (ptr) deviceColorData←v5448 ) < (*  (ptr) data←v8156 ))) {
SOURCE(5008, 50)
                           {
/*1*/   word idx56;
/*1*/   word limit57;
/*1*/   if (((* ((( (ptr) data←v8156)+1)+(
/*1*/         idx56 = (*  (ptr) deviceColorData←v5448 ),
/*1*/         limit57 = (*  (ptr) data←v8156 ),
/*1*/         BCK(idx56, limit57)
/*1*/         )) ) == 0)) {
/*1*/      };
/*1*/   };
SOURCE(5063, 135)
                           {
/*1*/   word idx58;
/*1*/   word limit59;
/*1*/   if (((* ((( (ptr) data←v8156)+1)+(
/*1*/         idx58 = (*  (ptr) deviceColorData←v5448 ),
/*1*/         limit59 = (*  (ptr) data←v8156 ),
/*1*/         BCK(idx58, limit59)
/*1*/         )) ) != 0)) {
SOURCE(5115, 75)
/*1*/      {
/*1*/         word idx60;
/*1*/         word limit61;
/*1*/         (void) SetLogicalDeviceColor←P660(deviceColorData←v5448, (* ((( (ptr) data←v8156)+1)+(
/*1*/                  idx60 = (*  (ptr) deviceColorData←v5448 ),
/*1*/                  limit61 = (*  (ptr) data←v8156 ),
/*1*/                  BCK(idx60, limit61)
/*1*/                  )) ));
/*1*/         };
SOURCE(5192, 6)
/*1*/      return;
/*1*/      };
/*1*/   };
                           };
SOURCE(5206, 31)
                        color←v5476 = (* (( (ptr) specialColor←v8112)+5) );
SOURCE(5239, 4)
                        goto lab←L100020;
                        };
                     }
                  else {
SOURCE(5261, 187)
                     if (((* (( (ptr) specialColor←v8112)+5) ) == 0)) {
SOURCE(5299, 116)
                        {
                           W3 var←c098;
                           var←c098.f0 = 63;
                           var←c098.f1 = (* (( (ptr) gf←c35536)+31) );
                           var←c098.f2 = 0;
                           (void) XR←RaiseError((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c35536)+92)/* var←c33264 */  ))+6) ) ), (word) &var←c098);
                           };
                        }
                     else {
SOURCE(5417, 31)
                        color←v5476 = (* (( (ptr) specialColor←v8112)+5) );
SOURCE(5450, 5)
                        goto lab←L100020;
                        };
                     };
                  };
               };
            goto endif055;
            };
         if ( ( ((*  (ptr) var←c33360 ) == 0) ? ((* (( (ptr) var←c33360)+1) ) == 0) : 0 ) ) {
            {
               word opColor←v8200;
               opColor←v8200 = var←c33360;
SOURCE(5505, 44)
               (void) SetOpConstantColor←P780(deviceColorData←v5448, opColor←v8200);
               };
            goto endif055;
            };
         if (((
            var←c33456 = (*  (ptr) var←c33360 )
            ) == 1)) {
            {
               word sampledColor←v8244;
               sampledColor←v8244 = var←c33360;
SOURCE(5598, 110)
               {
                  word pd62;
                  pd62 = (* (( (ptr) (* (( (ptr) gf←c35536)+91)/* var←c33104 */  ))+37) );
                  (void) ( *( (fPt) ((*  (ptr) pd62 ))))((* (( (ptr) deviceColorData←v5448)+17) ), (* (( (ptr) (* (( (ptr) sampledColor←v8244)+1)
                         ))+4) ), (* (( (ptr) sampledColor←v8244)+2) ), viewToDevice←v5504, 0, pd62);
                  };
SOURCE(5710, 46)
               (void) SetSampledColor←P840(deviceColorData←v5448, sampledColor←v8244);
               };
            goto endif055;
            };
         if ((var←c33456 == 2)) {
            {
               word sampledBlack←v8288;
               sampledBlack←v8288 = var←c33360;
SOURCE(5805, 110)
               {
                  word pd63;
                  pd63 = (* (( (ptr) (* (( (ptr) gf←c35536)+91)/* var←c33104 */  ))+37) );
                  (void) ( *( (fPt) ((*  (ptr) pd63 ))))((* (( (ptr) deviceColorData←v5448)+17) ), (* (( (ptr) (* (( (ptr) sampledBlack←v8288)+1)
                         ))+4) ), (* (( (ptr) sampledBlack←v8288)+2) ), viewToDevice←v5504, 0, pd63);
                  };
SOURCE(5917, 46)
               (void) SetSampledBlack←P1140(deviceColorData←v5448, sampledBlack←v8288);
               };
            goto endif055;
            };
         lab←L100021: ;
SOURCE(5979, 5)
         (void) XR←RaiseUnnamedError();
         goto endif055;
         endif055: ;
         };
      };
SOURCE(5986, 4)
   goto lab←L100019;
   /* c2c skipped dead code */ 
   lab←L100019: ;
   }

static void SetInk←P480(deviceColorData←v5564, ink←v5592)
   word deviceColorData←v5564;
   word ink←v5592;
   {
   /* SetInk: */ 
SOURCE(6005, 148)
SOURCE(6095, 31)
   (* (( (ptr) deviceColorData←v5564)+10) ) = 1;
SOURCE(6128, 25)
   (* (( (ptr) deviceColorData←v5564)+11) ) = ink←v5592;
   }

static void SetFraction←P540(deviceColorData←v5652, f←v5680)
   word deviceColorData←v5652;
   word f←v5680;
   {
   register ptr gf←c35568 =  (ptr) &globalframe;
   /* SetFraction: */ 
SOURCE(6159, 1733)
SOURCE(6242, 1650)
   {
      word var←c33488;
      var←c33488 = f←v5680;
      {
         word x64;
         word x66;
         word x67;
         word x69;
         if (((
            x64 = var←c33488,  *(float*)&x64
            ) >= (
            x66 = (*  (ptr) &fc65 ),  *(float*)&x66
            ))) {
SOURCE(6269, 28)
            (void) SetInk←P480(deviceColorData←v5652, 2);
            }
         else {
            if (((
               x67 = var←c33488,  *(float*)&x67
               ) <= (
               x69 = (*  (ptr) &fc68 ),  *(float*)&x69
               ))) {
SOURCE(6312, 31)
               (void) SetInk←P480(deviceColorData←v5652, 1);
               }
            else {
SOURCE(6356, 1544)
               {
                  W3 brick←v8332;
                  word sample←v8360;
SOURCE(6358, 48)
                  brick←v8332 = (*  (W3Pt) (( (ptr) deviceColorData←v5652)+6) );
SOURCE(6408, 48)
                  {
                     word pd70;
                     word x71;
                     float tf72;
                     word idx73;
                     pd70 = (* (( (ptr) (* (( (ptr) gf←c35568)+93)/* var←c33520 */  ))+6) );
                     sample←v8360 = (
                        idx73 = (word) ( *( (fPt) ((*  (ptr) pd70 ))))((
/*1*/   tf72 = (
/*1*/      x71 = f←v5680,  *(float*)&x71
/*1*/      ) * (float)(unsigned)brick←v8332.f0,  *(word*)&tf72
/*1*/   ), pd70),
                        SGNCK(idx73)
                        );
                     };
SOURCE(6458, 1434)
                  {
                     word var←c33552;
                     var←c33552 = sample←v8360;
                     if ((var←c33552 == brick←v8332.f0)) {
SOURCE(6496, 28)
                        (void) SetInk←P480(deviceColorData←v5652, 2);
                        }
                     else {
                        if ((var←c33552 == 0)) {
SOURCE(6531, 31)
                           (void) SetInk←P480(deviceColorData←v5652, 1);
                           }
                        else {
SOURCE(6575, 1322)
                           {
/*1*/   word private←v8404;
/*1*/   word mod←v8432;
SOURCE(6577, 57)
/*1*/   private←v8404 = XR←Narrow((* (( (ptr) deviceColorData←v5652)+19) ), (* (( (ptr) gf←c35568)+22) ));
SOURCE(6636, 46)
/*1*/   mod←v8432 = (sample←v8360 & 0377);
SOURCE(6684, 35)
/*1*/   (* (( (ptr) gf←c35568)+4)/* fractionProbes←v3504 */  ) = ((* (( (ptr) gf←c35568)+4)/* fractionProbes←v3504 */  ) + 1);
SOURCE(6721, 283)
/*1*/   if ((private←v8404 != 0)) {
SOURCE(6743, 261)
/*1*/      {
/*1*/         word tc74;
/*1*/         if (XR←EqualWords((( (W6Pt) (( (ptr) private←v8404)+2))+mod←v8432), &brick←v8332, 3)) {
/*1*/            tc74 =  (word) ((* (( (W6Pt) (( (ptr) private←v8404)+2))+mod←v8432) ).f5 == sample←v8360);
/*1*/            }
/*1*/         else {
/*1*/            tc74 =  (word) 0;
/*1*/            };
/*1*/         if (tc74) {
SOURCE(6841, 155)
/*1*/            {
/*1*/               word idx75;
/*1*/               (void) SetTile←P600(deviceColorData←v5652, (* (( (W6Pt) (( (ptr) private←v8404)+2))+mod←v8432) ).f3, (
/*1*/                     idx75 = (word) (* (( (W6Pt) (( (ptr) private←v8404)+2))+mod←v8432) ).f4,
/*1*/                     SGNCK(idx75)
/*1*/                     ), 0);
/*1*/               };
SOURCE(6998, 6)
/*1*/            return;
/*1*/            };
/*1*/         };
/*1*/      };
SOURCE(7009, 885)
/*1*/   {
/*1*/      W5 shape←v8508;
/*1*/      word b←v8536;
/*1*/      word bitmap←v8564;
SOURCE(7011, 82)
/*1*/      (void) GetGoodShape←P180((word) &shape←v8508, (*  (W4Pt) brick←v8332.f1 ), brick←v8332.f2);
SOURCE(7095, 85)
/*1*/      {
/*1*/         word var←c33584;
/*1*/         {
/*1*/            word pd76;
/*1*/            word idx77;
/*1*/            pd76 = (* (( (ptr) (* (( (ptr) gf←c35568)+89)/* var←c32752 */  ))+17) );
/*1*/            var←c33584 = (
/*1*/               idx77 = (word) ( *( (fPt) ((*  (ptr) pd76 ))))((*  (W4Pt) (&shape←v8508) ), pd76),
/*1*/               SGNCK(idx77)
/*1*/               );
/*1*/            };
/*1*/         {
/*1*/            word pd78;
/*1*/            pd78 = (* (( (ptr) (* (( (ptr) gf←c35568)+90)/* var←c33040 */  ))+6) );
/*1*/            b←v8536 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))(var←c33584, pd78);
/*1*/            };
/*1*/         };
SOURCE(7182, 75)
/*1*/      {
/*1*/         word pd79;
/*1*/         pd79 = (* (( (ptr) (* (( (ptr) gf←c35568)+90)/* var←c33040 */  ))+19) );
/*1*/         bitmap←v8564 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))((*  (W4Pt) &shape←v8508 ), 1, 0, pd79);
/*1*/         };
SOURCE(7259, 26)
/*1*/      {
/*1*/         word pd80;
/*1*/         pd80 = (* (( (ptr) (* (( (ptr) gf←c35568)+90)/* var←c33040 */  ))+48) );
/*1*/         (void) ( *( (fPt) ((*  (ptr) pd80 ))))(bitmap←v8564, pd80);
/*1*/         };
SOURCE(7287, 35)
/*1*/      (* (( (ptr) gf←c35568)+5)/* fractionMisses←v3532 */  ) = ((* (( (ptr) gf←c35568)+5)/* fractionMisses←v3532 */  ) + 1);
SOURCE(7324, 331)
/*1*/      {
/*1*/         register word s←v8608;
/*1*/         register word noName←c33616;
/*1*/         s←v8608 = shape←v8508.f0;
/*1*/         noName←c33616 = shape←v8508.f2;
/*1*/         if (( (int)s←v8608 >=  (int)noName←c33616)) {
/*1*/            goto lab←L100022;
/*1*/            };
/*1*/         lab←L100025: ;
SOURCE(7380, 114)
/*1*/         {
/*1*/            W2 var←c33648;
/*1*/            var←c33648.f0 = s←v8608;
/*1*/            var←c33648.f1 = shape←v8508.f1;
/*1*/            {
/*1*/               word pd81;
/*1*/               pd81 = (* (( (ptr) (* (( (ptr) gf←c35568)+90)/* var←c33040 */  ))+45) );
/*1*/               (void) ( *( (fPt) ((*  (ptr) pd81 ))))(brick←v8332.f1, brick←v8332.f2, var←c33648, b←v8536, pd81);
/*1*/               };
/*1*/            };
SOURCE(7496, 68)
/*1*/         {
/*1*/            register word j←v8652 = 0;
/*1*/            register word noName←c33680;
/*1*/            noName←c33680 = (*  (ptr) b←v8536 );
/*1*/            if ((j←v8652 >= noName←c33680)) {
/*1*/               goto lab←L100026;
/*1*/               };
/*1*/            lab←L100029: ;
SOURCE(7527, 37)
/*1*/            {
/*1*/               word limit82;
/*1*/               word limit83;
/*1*/               word limit84;
/*1*/               if ((sample←v8360 > (* ((( (ptr) b←v8536)+2)+(
/*1*/                     limit82 = (* (( (ptr) b←v8536)+1) ),
/*1*/                     BCK(j←v8652, limit82)
/*1*/                     )) ))) {
/*1*/                  (* ((( (ptr) b←v8536)+2)+(
/*1*/                        limit83 = (* (( (ptr) b←v8536)+1) ),
/*1*/                        BCK(j←v8652, limit83)
/*1*/                        )) ) = 1;
/*1*/                  }
/*1*/               else {
/*1*/                  (* ((( (ptr) b←v8536)+2)+(
/*1*/                        limit84 = (* (( (ptr) b←v8536)+1) ),
/*1*/                        BCK(j←v8652, limit84)
/*1*/                        )) ) = 0;
/*1*/                  };
/*1*/               };
/*1*/            j←v8652 = (j←v8652 + 1);
/*1*/            if ((j←v8652 < noName←c33680)) {
/*1*/               goto lab←L100029;
/*1*/               };
/*1*/            lab←L100026: ;
/*1*/            };
SOURCE(7575, 80)
/*1*/         {
/*1*/            W2 var←c33712;
/*1*/            W2 var←c33744;
/*1*/            var←c33712.f0 = s←v8608;
/*1*/            var←c33712.f1 = shape←v8508.f1;
/*1*/            var←c33744.f0 = 0;
/*1*/            var←c33744.f1 = 1;
/*1*/            {
/*1*/               word pd85;
/*1*/               pd85 = (* (( (ptr) (* (( (ptr) gf←c35568)+90)/* var←c33040 */  ))+47) );
/*1*/               (void) ( *( (fPt) ((*  (ptr) pd85 ))))(bitmap←v8564, var←c33712, var←c33744, b←v8536, 0, 2147483647
/*1*/                  , 0, pd85);
/*1*/               };
/*1*/            };
/*1*/         s←v8608 = (s←v8608 + 1);
/*1*/         if (( (int)s←v8608 <  (int)noName←c33616)) {
/*1*/            goto lab←L100025;
/*1*/            };
/*1*/         lab←L100022: ;
/*1*/         };
SOURCE(7666, 107)
/*1*/      {
/*1*/         word idx86;
/*1*/         (void) SetTile←P600(deviceColorData←v5652, bitmap←v8564, (
/*1*/               idx86 = (word) shape←v8508.f4,
/*1*/               SGNCK(idx86)
/*1*/               ), 0);
/*1*/         };
SOURCE(7775, 117)
/*1*/      if ((private←v8404 != 0)) {
SOURCE(7797, 95)
/*1*/         {
/*1*/            word var←c33776;
/*1*/            var←c33776 = (word) (( (W6Pt) (( (bPt) private←v8404)+8))+mod←v8432);
/*1*/            (*  (W3Pt) var←c33776 ) = brick←v8332;
/*1*/            (* (( (ptr) var←c33776)+3) ) = bitmap←v8564;
/*1*/            (* (( (ptr) var←c33776)+4) ) = shape←v8508.f4;
/*1*/            (* (( (ptr) var←c33776)+5) ) = sample←v8360;
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   }

static void SetTile←P600(deviceColorData←v5740, tileBits←v5768, tilePhase←v5796, function←v5824)
   word deviceColorData←v5740;
   word tileBits←v5768;
   word tilePhase←v5796;
   word function←v5824;
   {
   /* SetTile: */ 
SOURCE(7907, 280)
SOURCE(8047, 27)
   (* (( (ptr) deviceColorData←v5740)+10) ) = 2;
SOURCE(8076, 35)
   (* (( (ptr) deviceColorData←v5740)+12) ) = tileBits←v5768;
SOURCE(8113, 37)
   (* (( (ptr) deviceColorData←v5740)+13) ) = tilePhase←v5796;
SOURCE(8152, 35)
   ((P3x5b) (( (bPt) deviceColorData←v5740) + 75))->f = (function←v5824 & 7);
   }

static void SetLogicalDeviceColor←P660(deviceColorData←v5884, lData←v5912)
   word deviceColorData←v5884;
   word lData←v5912;
   {
   /* SetLogicalDeviceColor: */ 
SOURCE(8193, 769)
SOURCE(8319, 60)
   if (((*  (ptr) deviceColorData←v5884 ) != (*  (ptr) lData←v5912 ))) {
SOURCE(8379, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(8403, 514)
   {
      register word e←v8696;
      e←v8696 = (* (( (ptr) lData←v5912)+2) );
      lab←L100033: ;
      if ((e←v8696 != 0)) {
         }
      else {
         goto lab←L100030;
         };
      {
         word b←v8824;
SOURCE(8494, 45)
         b←v8824 = (*  (ptr) e←v8696 );
SOURCE(8541, 376)
         if (((*  (ptr) b←v8824 ) == (* (( (ptr) deviceColorData←v5884)+5) ))) {
SOURCE(8583, 308)
            {
               word var←c33808;
               var←c33808 = b←v8824;
               if ((var←c33808 == 0)) {
                  goto lab←L100034;
                  };
               {
                  word var←c33840;
                  var←c33840 = (* (( (ptr) var←c33808)+1) );
                  switch (var←c33840) {
                     case 0: 
                        {
                           word b←v8868;
                           b←v8868 = var←c33808;
SOURCE(8657, 30)
                           (void) SetInk←P480(deviceColorData←v5884, (* (( (ptr) b←v8868)+2) ));
                           };
                        break;
                     case 1: 
                        {
                           word b←v8924;
                           b←v8924 = var←c33808;
SOURCE(8744, 33)
                           (void) SetFraction←P540(deviceColorData←v5884, (* (( (ptr) b←v8924)+2) ));
                           };
                        break;
                     case 2: 
                        {
                           word b←v8980;
                           b←v8980 = var←c33808;
SOURCE(8830, 61)
                           (void) SetTile←P600(deviceColorData←v5884, (* (( (ptr) b←v8980)+2) ), (* (( (ptr) b←v8980)+3) ), ((* (( (bPt) b←v8980)+19)
/*1*/    ) & 7));
                           };
                        break;
                     default: 
                        lab←L100034: ;
SOURCE(8904, 5)
                        (void) XR←RaiseUnnamedError();
                        break;
                     };
                  };
               };
SOURCE(8911, 6)
            return;
            };
         };
      e←v8696 = (* (( (ptr) e←v8696)+1) );
      goto lab←L100033;
      lab←L100030: ;
      };
SOURCE(8931, 31)
   (void) SetInk←P480(deviceColorData←v5884, 1);
   }

static void SetGray←P720(deviceColorData←v5972, f←v6000)
   word deviceColorData←v5972;
   word f←v6000;
   {
   register ptr gf←c35600 =  (ptr) &globalframe;
   /* SetGray: */ 
SOURCE(8998, 351)
SOURCE(9077, 272)
   if (*(( short *)deviceColorData←v5972 + 9)<0) {
SOURCE(9124, 106)
      if (((* (( (ptr) deviceColorData←v5972)+5) ) == 0)) {
SOURCE(9162, 37)
         (void) SetFraction←P540(deviceColorData←v5972, f←v6000);
         }
      else {
SOURCE(9199, 31)
         (void) SetInk←P480(deviceColorData←v5972, 1);
         };
      }
   else {
SOURCE(9241, 28)
      (void) SetInk←P480(deviceColorData←v5972, 2);
SOURCE(9271, 78)
      {
         W3 var←c0141;
         var←c0141.f0 = 62;
         var←c0141.f1 = (* (( (ptr) gf←c35600)+32) );
         var←c0141.f2 = 0;
         (void) (XR←RaiseSignal((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c35600)+92)/* var←c33264 */  ))+7) ) ), 0, (word) &var←c0141)
         );
         };
      };
   }

static void SetOpConstantColor←P780(deviceColorData←v6060, color←v6088)
   word deviceColorData←v6060;
   word color←v6088;
   {
   register ptr gf←c35632 =  (ptr) &globalframe;
   word transform←v9036;
   word p←v9064;
   /* SetOpConstantColor: */ 
SOURCE(9358, 560)
SOURCE(9475, 83)
   transform←v9036 = (word) GetColorTransform←P960(deviceColorData←v6060, (* (( (ptr) color←v6088)+2) ));
SOURCE(9560, 72)
   {
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c35632)+94)/* var←c33904 */  ))+43) );
      p←v9064 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))(color←v6088, transform←v9036, pd87);
      };
SOURCE(9634, 220)
   {
      word var←c33936;
      var←c33936 = (* (( (ptr) p←v9064)+1) );
      if ((var←c33936 == 1)) {
SOURCE(9659, 37)
         {
            word limit88;
            word x89;
            word x91;
            float tf92;
            (void) SetGray←P720(deviceColorData←v6060, (
                  tf92 = (
                     x89 = (* ((( (ptr) p←v9064)+2)+(
                           limit88 = (* (( (ptr) p←v9064)+1) ),
                           BCK(0, limit88)
                           )) ),  *(float*)&x89
                     ) / (
                     x91 = (*  (ptr) &fc90 ),  *(float*)&x91
                     ),  *(word*)&tf92
                  ));
            };
         }
      else {
         if ((var←c33936 == 4)) {
SOURCE(9704, 150)
            {
               word i←v9108;
SOURCE(9706, 105)
               {
                  word var←c33968;
                  var←c33968 = (* (( (ptr) deviceColorData←v6060)+5) );
                  switch (var←c33968) {
                     case 1: 
                        i←v9108 = 0;
                        break;
                     case 2: 
                        i←v9108 = 1;
                        break;
                     case 3: 
                        i←v9108 = 2;
                        break;
                     case 0: 
                        i←v9108 = 3;
                        break;
                     default: 
                        i←v9108 = 3;
                        break;
                     };
                  };
SOURCE(9813, 41)
               {
                  word limit93;
                  word x94;
                  word x95;
                  float tf96;
                  (void) SetFraction←P540(deviceColorData←v6060, (
                        tf96 = (
                           x94 = (* ((( (ptr) p←v9064)+2)+(
/*1*/      limit93 = (* (( (ptr) p←v9064)+1) ),
/*1*/      BCK(i←v9108, limit93)
/*1*/      )) ),  *(float*)&x94
                           ) / (
                           x95 = (*  (ptr) &fc90 ),  *(float*)&x95
                           ),  *(word*)&tf96
                        ));
                  };
               };
            }
         else {
SOURCE(9868, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
SOURCE(9875, 43)
   {
      word pd97;
      pd97 = (* (( (ptr) (* (( (ptr) gf←c35632)+94)/* var←c33904 */  ))+36) );
      p←v9064 = (word) ( *( (fPt) ((*  (ptr) pd97 ))))(p←v9064, pd97);
      };
   }

static void SetSampledColor←P840(formal←c0288, color←v6344)
   word formal←c0288;
   word color←v6344;
   {
   W10 var←c35664;
   /* declaration of deviceColorData←v6316 skipped */ 
   register ptr gf←c35696 =  (ptr) &globalframe;
   /* declaration of var←c34000 skipped */ 
   /* declaration of pa←v9152 skipped */ 
   word cache←v9180;
   /* declaration of colorOperator←v9208 skipped */ 
   word tu←v9236;
   /* declaration of fullColor←v9264 skipped */ 
   word toner←v9320;
   word index←v9348;
   word scd←v9376;
   (* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ) = formal←c0288;
   /* SetSampledColor: */ 
SOURCE(10164, 1572)
   {
      word tmpAddr98;
      tmpAddr98 = (word) (( (ptr) &var←c35664)+5)/* var←c34000 */ ;
      (*  (ptr) tmpAddr98 ) = ( ((word)  (fPt) Compare←P2352) );
      (* (( (ptr) tmpAddr98) + 1) ) = 1;
      };
SOURCE(10275, 25)
   (* (( (ptr) &var←c35664)+7)/* pa←v9152 */  ) = (* (( (ptr) color←v6344)+1) );
SOURCE(10302, 56)
   {
      word pd99;
      pd99 = (* (( (ptr) (* (( (ptr) gf←c35696)+95)/* var←c34032 */  ))+17) );
      cache←v9180 = (word) ( *( (fPt) ((*  (ptr) pd99 ))))(pd99);
      };
SOURCE(10360, 62)
   (* (( (ptr) &var←c35664)+8)/* colorOperator←v9208 */  ) = (* (( (ptr) color←v6344)+3) );
SOURCE(10424, 60)
   tu←v9236 = (* (( (hPt) (* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ))+9) );
SOURCE(10486, 85)
   (* (( (ptr) &var←c35664)+9)/* fullColor←v9264 */  ) =  (  (  ( (0 != (*  (ptr) (* (( (ptr) &var←c35664)+8)/* colorOperator←v9208 */  ) )) ? (((unsigned)tu←v9236 << 17) >> 31) : 0 )  ? (((unsigned)tu←v9236 << 18) >> 31) : 0 )  ? (((unsigned)tu←v9236 << 19) >> 31) : 0 ) ;
SOURCE(10835, 47)
   toner←v9320 = (* (( (ptr) (* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ))+5) );
SOURCE(10884, 120)
   if ((0 != (* (( (ptr) &var←c35664)+9)/* fullColor←v9264 */  ))) {
      {
         word var←c34064;
         var←c34064 = toner←v9320;
         switch (var←c34064) {
            case 0: 
               index←v9348 = 3;
               break;
            case 1: 
               index←v9348 = 0;
               break;
            case 2: 
               index←v9348 = 1;
               break;
            case 3: 
               index←v9348 = 2;
               break;
            default: 
               index←v9348 = 0;
               break;
            };
         };
      }
   else {
      index←v9348 = 0;
      };
SOURCE(11006, 109)
   {
      W2 var←c0161;
      word var←c0281;
      {
         word pd100;
         pd100 = (* (( (ptr) (* (( (ptr) gf←c35696)+95)/* var←c34032 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd100 ))))((word) &var←c0161, cache←v9180, (word) (( (bPt) &var←c35664)+20)/* var←c34000 */ , (* (
               ( (ptr) gf←c35696)+33) ), pd100);
         };
      var←c0281 = var←c0161.f0;
      scd←v9376 = XR←Narrow(var←c0281, (* (( (ptr) gf←c35696)+28) ));
      };
SOURCE(11117, 383)
   if ((scd←v9376 == 0)) {
SOURCE(11135, 367)
      {
         word pixelMap←v9420;
SOURCE(11137, 70)
         pixelMap←v9420 = (word) ComputeSource←P900((* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ), color←v6344);
SOURCE(11209, 157)
         {
            word var←c34096;
            var←c34096 = XR←NewObject(20, (* (( (ptr) gf←c35696)+28) ));
            (*  (ptr) var←c34096 ) = (* (( (ptr) &var←c35664)+7)/* pa←v9152 */  );
            (* (( (ptr) var←c34096)+1) ) = (* (( (ptr) &var←c35664)+8)/* colorOperator←v9208 */  );
            (* (( (ptr) var←c34096)+2) ) = (* (( (ptr) &var←c35664)+9)/* fullColor←v9264 */  );
            (* (( (ptr) var←c34096)+3) ) = (* (( (ptr) (* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ))+2) );
            (* (( (ptr) var←c34096)+4) ) = pixelMap←v9420;
            scd←v9376 = var←c34096;
            };
SOURCE(11368, 132)
         if ((0 != (*  (ptr) (* (( (ptr) &var←c35664)+7)/* pa←v9152 */  ) ))) {
SOURCE(11389, 111)
            {
               word var←c34128;
               var←c34128 = (word) PixelMapWords←P240(pixelMap←v9420);
               {
                  word pd101;
                  pd101 = (* (( (ptr) (* (( (ptr) gf←c35696)+95)/* var←c34032 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd101 ))))(cache←v9180, scd←v9376, scd←v9376, var←c34128, (* (( (ptr) gf←c35696)+33) ), pd101)
                  ;
                  };
               };
            };
         };
      };
SOURCE(11505, 231)
   if ((index←v9348 >= (* (( (ptr) (* (( (ptr) scd←v9376)+4) ))+5) )) ||  ( (0 == (* (( (ptr) &var←c35664)+9)/* fullColor←v9264 */  )) ? (toner←v9320 != 0) : 0 ) ) {
SOURCE(11586, 32)
      (void) SetInk←P480((* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ), 1);
      }
   else {
SOURCE(11627, 35)
      (* (( (ptr) (* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ))+10) ) = 3;
SOURCE(11664, 72)
      {
         word var←c34160;
         var←c34160 = (* (( (ptr) scd←v9376)+4) );
         {
            word pd102;
            word limit103;
            pd102 = (* (( (ptr) (* (( (ptr) gf←c35696)+96)/* var←c34192 */  ))+9) );
            (* (( (ptr) (* (( (ptr) &var←c35664)+4)/* deviceColorData←v6316 */  ))+15) ) = (word) ( *( (fPt) ((*  (ptr) pd102 ))))((* (
                  (( (ptr) var←c34160)+6)+(
                     limit103 = (* (( (ptr) var←c34160)+5) ),
                     BCK(index←v9348, limit103)
                     )) ), 0, 0, 0, 0, pd102);
            };
         };
      };
   }

static word Compare←P2352(argument←v24932, formal←c35760)
   word argument←v24932;
   word formal←c35760;
   {
   register ptr gf←c35728 =  (ptr) &globalframe;
   word good←v24976;
   formal←c35760 = (formal←c35760 - 20);
   /* Compare: */ 
SOURCE(10573, 259)
SOURCE(10612, 220)
   {
      word var←c34224;
      var←c34224 = argument←v24932;
      if ((var←c34224 == 0)) {
         goto lab←L100035;
         };
      if (((* (( (ptr) gf←c35728)+28) ) == XR←GetReferentType(var←c34224))) {
         {
            word scd←v9464;
            scd←v9464 = var←c34224;
SOURCE(10663, 141)
            {
               word tc104;
               if ( (  ( ((*  (ptr) scd←v9464 ) == (* (( (ptr) formal←c35760)+7) )) ? ((* (( (ptr) scd←v9464)+1) ) == (* (( (ptr) formal←c35760)+8)
                )) : 0 )  ? ((* (( (ptr) scd←v9464)+2) ) == (* (( (ptr) formal←c35760)+9) )) : 0 ) ) {
                  tc104 =  (word) ((* (( (ptr) scd←v9464)+3) ) == (* (( (ptr) (* (( (ptr) formal←c35760)+4) ))+2) ));
                  }
               else {
                  tc104 =  (word) 0;
                  };
               return(tc104);
               };
            };
         }
      else {
         lab←L100035: ;
SOURCE(10817, 15)
         return(0);
         };
      };
   }

static word ComputeSource←P900(deviceColorData←v6404, color←v6432)
   word deviceColorData←v6404;
   word color←v6432;
   {
   register ptr gf←c35792 =  (ptr) &globalframe;
   word var←c6476;
   word pa←v9508;
   word colorOperator←v9536;
   /* ComputeSource: */ 
SOURCE(11745, 467)
SOURCE(11885, 25)
   pa←v9508 = (* (( (ptr) color←v6432)+1) );
SOURCE(11912, 62)
   colorOperator←v9536 = (* (( (ptr) color←v6432)+3) );
SOURCE(11984, 230)
   {
      word transform←v9580;
      word pixelMap←v9608;
SOURCE(11986, 96)
      transform←v9580 = (word) GetColorTransform←P960(deviceColorData←v6404, colorOperator←v9536);
SOURCE(12084, 109)
      {
         word pd105;
         pd105 = (* (( (ptr) (* (( (ptr) gf←c35792)+94)/* var←c33904 */  ))+45) );
         pixelMap←v9608 = (word) ( *( (fPt) ((*  (ptr) pd105 ))))(colorOperator←v9536, transform←v9580, pa←v9508, pd105);
         };
SOURCE(12195, 17)
      return(pixelMap←v9608);
      };
   }

static word GetColorTransform←P960(deviceColorData←v6704, colorOperator←v6732)
   word deviceColorData←v6704;
   word colorOperator←v6732;
   {
   register ptr gf←c35824 =  (ptr) &globalframe;
   word var←c6776;
   word private←v9652;
   word tu←v9680;
   word fullColor←v9708;
   /* GetColorTransform: */ 
SOURCE(12348, 1342)
SOURCE(12502, 57)
   private←v9652 = XR←Narrow((* (( (ptr) deviceColorData←v6704)+19) ), (* (( (ptr) gf←c35824)+22) ));
SOURCE(12561, 60)
   tu←v9680 = (* (( (hPt) deviceColorData←v6704)+9) );
SOURCE(12623, 71)
   fullColor←v9708 =  (  (  ( (tu←v9680 & 040000) ? (((unsigned)tu←v9680 << 18) >> 31) : 0 )  ? (((unsigned)tu←v9680 << 19) >> 31) : 0 )  ? (((unsigned)tu←v9680 << 16) >> 31) : 0 ) ;
SOURCE(12696, 954)
   if ((0 != fullColor←v9708)) {
SOURCE(12714, 471)
      {
         word colorSpace←v9764;
SOURCE(12716, 107)
         {
            word pd106;
            pd106 = (* (( (ptr) (* (( (ptr) gf←c35824)+94)/* var←c33904 */  ))+42) );
            colorSpace←v9764 = (word) ( *( (fPt) ((*  (ptr) pd106 ))))(colorOperator←v6732, (* (( (ptr) gf←c35824)+7)/* allowRGBorY←v4120 */  ), pd106)
            ;
            };
SOURCE(12825, 355)
         if (((* (( (ptr) private←v9652)+1) ) == 0) || (colorSpace←v9764 != (*  (ptr) (* (( (ptr) private←v9652)+1) ) ))) {
SOURCE(12908, 274)
            {
               word rangeMax←v9808;
               word ct←v9836;
SOURCE(12910, 83)
               {
                  word pd107;
                  pd107 = (* (( (ptr) (* (( (ptr) gf←c35824)+94)/* var←c33904 */  ))+35) );
                  rangeMax←v9808 = (word) ( *( (fPt) ((*  (ptr) pd107 ))))(4, (*  (ptr) &fc90 ), pd107);
                  };
SOURCE(12995, 156)
               ct←v9836 = XR←NewObject(16, (* (( (ptr) gf←c35824)+26) ));
               (*  (ptr) ct←v9836 ) = colorSpace←v9764;
               (* (( (ptr) ct←v9836)+1) ) = rangeMax←v9808;
               (* (( (ptr) ct←v9836)+2) ) = (word) (( (bPt) gf←c35824)+192)/* var←c31984 */ ;
SOURCE(13153, 27)
               (* (( (ptr) private←v9652)+1) ) = ct←v9836;
               };
            };
         };
      }
   else {
SOURCE(13192, 463)
      {
         word colorSpace←v9880;
SOURCE(13194, 102)
         {
            word pd108;
            pd108 = (* (( (ptr) (* (( (ptr) gf←c35824)+94)/* var←c33904 */  ))+42) );
            colorSpace←v9880 = (word) ( *( (fPt) ((*  (ptr) pd108 ))))(colorOperator←v6732, (* (( (ptr) gf←c35824)+6)/* allowY←v4092 */  ), pd108)
            ;
            };
SOURCE(13298, 352)
         if (((* (( (ptr) private←v9652)+1) ) == 0) || (colorSpace←v9880 != (*  (ptr) (* (( (ptr) private←v9652)+1) ) ))) {
SOURCE(13381, 271)
            {
               word rangeMax←v9924;
               word ct←v9952;
SOURCE(13383, 83)
               {
                  word pd109;
                  pd109 = (* (( (ptr) (* (( (ptr) gf←c35824)+94)/* var←c33904 */  ))+35) );
                  rangeMax←v9924 = (word) ( *( (fPt) ((*  (ptr) pd109 ))))(1, (*  (ptr) &fc90 ), pd109);
                  };
SOURCE(13468, 153)
               ct←v9952 = XR←NewObject(16, (* (( (ptr) gf←c35824)+26) ));
               (*  (ptr) ct←v9952 ) = colorSpace←v9880;
               (* (( (ptr) ct←v9952)+1) ) = rangeMax←v9924;
               (* (( (ptr) ct←v9952)+2) ) = (word) (( (bPt) gf←c35824)+184)/* var←c31952 */ ;
SOURCE(13623, 27)
               (* (( (ptr) private←v9652)+1) ) = ct←v9952;
               };
            };
         };
      };
SOURCE(13658, 32)
   return((* (( (ptr) private←v9652)+1) ));
   }

static void CMYKTransform←P1020(self←v6836, in←v6864, out←v6892)
   word self←v6836;
   word in←v6864;
   word out←v6892;
   {
   /* CMYKTransform: */ 
SOURCE(13694, 332)
SOURCE(13774, 252)
   {
      word var←c34320;
      var←c34320 = (*  (ptr) self←v6836 );
      if ((var←c34320 == 0)) {
SOURCE(13806, 28)
         {
            word var←c34352;
            var←c34352 = (*  (ptr) &fc110 );
            {
               word limit111;
               (* ((( (ptr) out←v6892)+2)+(
                     limit111 = (* (( (ptr) out←v6892)+1) ),
                     BCK(2, limit111)
                     )) ) = var←c34352;
               };
            {
               word limit112;
               (* ((( (ptr) out←v6892)+2)+(
                     limit112 = (* (( (ptr) out←v6892)+1) ),
                     BCK(1, limit112)
                     )) ) = var←c34352;
               };
            {
               word limit113;
               (* ((( (ptr) out←v6892)+2)+(
                     limit113 = (* (( (ptr) out←v6892)+1) ),
                     BCK(0, limit113)
                     )) ) = var←c34352;
               };
            };
SOURCE(13836, 26)
         {
            word limit114;
            word x115;
            word x116;
            word limit117;
            word x118;
            *(float*)((( (ptr) out←v6892)+2)+(
                  limit114 = (* (( (ptr) out←v6892)+1) ),
                  BCK(3, limit114)
                  )) = (
               x115 = (*  (ptr) &fc90 ),  *(float*)&x115
               ) * ((
               x116 = (*  (ptr) &fc48 ),  *(float*)&x116
               ) - (
               x118 = (* ((( (ptr) in←v6864)+2)+(
                     limit117 = (* (( (ptr) in←v6864)+1) ),
                     BCK(0, limit117)
                     )) ),  *(float*)&x118
               ));
            };
         }
      else {
         if ((var←c34320 == 1)) {
SOURCE(13877, 26)
            {
               word limit119;
               word x120;
               word x121;
               word limit122;
               word x123;
               *(float*)((( (ptr) out←v6892)+2)+(
                     limit119 = (* (( (ptr) out←v6892)+1) ),
                     BCK(0, limit119)
                     )) = (
                  x120 = (*  (ptr) &fc90 ),  *(float*)&x120
                  ) * ((
                  x121 = (*  (ptr) &fc48 ),  *(float*)&x121
                  ) - (
                  x123 = (* ((( (ptr) in←v6864)+2)+(
                        limit122 = (* (( (ptr) in←v6864)+1) ),
                        BCK(0, limit122)
                        )) ),  *(float*)&x123
                  ));
               };
SOURCE(13920, 26)
            {
               word limit124;
               word x125;
               word x126;
               word limit127;
               word x128;
               *(float*)((( (ptr) out←v6892)+2)+(
                     limit124 = (* (( (ptr) out←v6892)+1) ),
                     BCK(1, limit124)
                     )) = (
                  x125 = (*  (ptr) &fc90 ),  *(float*)&x125
                  ) * ((
                  x126 = (*  (ptr) &fc48 ),  *(float*)&x126
                  ) - (
                  x128 = (* ((( (ptr) in←v6864)+2)+(
                        limit127 = (* (( (ptr) in←v6864)+1) ),
                        BCK(1, limit127)
                        )) ),  *(float*)&x128
                  ));
               };
SOURCE(13968, 26)
            {
               word limit129;
               word x130;
               word x131;
               word limit132;
               word x133;
               *(float*)((( (ptr) out←v6892)+2)+(
                     limit129 = (* (( (ptr) out←v6892)+1) ),
                     BCK(2, limit129)
                     )) = (
                  x130 = (*  (ptr) &fc90 ),  *(float*)&x130
                  ) * ((
                  x131 = (*  (ptr) &fc48 ),  *(float*)&x131
                  ) - (
                  x133 = (* ((( (ptr) in←v6864)+2)+(
                        limit132 = (* (( (ptr) in←v6864)+1) ),
                        BCK(2, limit132)
                        )) ),  *(float*)&x133
                  ));
               };
SOURCE(14014, 12)
            {
               word limit134;
               (* ((( (ptr) out←v6892)+2)+(
                     limit134 = (* (( (ptr) out←v6892)+1) ),
                     BCK(3, limit134)
                     )) ) = (*  (ptr) &fc110 );
               };
            }
         else {
SOURCE(14052, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static void KTransform←P1080(self←v6952, in←v6980, out←v7008)
   word self←v6952;
   word in←v6980;
   word out←v7008;
   {
   /* KTransform: */ 
SOURCE(14063, 135)
SOURCE(14140, 58)
   {
      word var←c34384;
      var←c34384 = (*  (ptr) self←v6952 );
      if ((var←c34384 == 0)) {
SOURCE(14172, 26)
         {
            word limit135;
            word x136;
            word x137;
            word limit138;
            word x139;
            *(float*)((( (ptr) out←v7008)+2)+(
                  limit135 = (* (( (ptr) out←v7008)+1) ),
                  BCK(0, limit135)
                  )) = (
               x136 = (*  (ptr) &fc90 ),  *(float*)&x136
               ) * ((
               x137 = (*  (ptr) &fc48 ),  *(float*)&x137
               ) - (
               x139 = (* ((( (ptr) in←v6980)+2)+(
                     limit138 = (* (( (ptr) in←v6980)+1) ),
                     BCK(0, limit138)
                     )) ),  *(float*)&x139
               ));
            };
         }
      else {
SOURCE(14244, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
   }

static void SetSampledBlack←P1140(deviceColorData←v7068, color←v7096)
   word deviceColorData←v7068;
   word color←v7096;
   {
   register ptr gf←c35856 =  (ptr) &globalframe;
   word pa←v9996;
   /* SetSampledBlack: */ 
SOURCE(14255, 1347)
SOURCE(14366, 25)
   pa←v9996 = (* (( (ptr) color←v7096)+1) );
SOURCE(14393, 180)
   if ( ( (*(( short *)deviceColorData←v7068 + 9)<0) ? ((* (( (ptr) deviceColorData←v7068)+5) ) != 0) : 0 ) ) {
SOURCE(14474, 31)
      (* (( (ptr) deviceColorData←v7068)+10) ) = 1;
SOURCE(14507, 57)
      if ((0 != (* (( (ptr) color←v7096)+3) ))) {
         (* (( (ptr) deviceColorData←v7068)+11) ) = 0;
         }
      else {
         (* (( (ptr) deviceColorData←v7068)+11) ) = 1;
         };
SOURCE(14566, 7)
      return;
      };
SOURCE(14576, 75)
   if ((0 != (* (( (ptr) color←v7096)+3) ))) {
      ((P3x5b) (( (bPt) deviceColorData←v7068) + 75))->f = 4;
      }
   else {
      ((P3x5b) (( (bPt) deviceColorData←v7068) + 75))->f = 0;
      };
   if ( ( ((* (( (ptr) (* (( (ptr) deviceColorData←v7068)+17) ))+9) ) == 3) ? (0 != (* (( (ptr) (* (( (ptr) deviceColorData←v7068)+17)
       ))+8) )) : 0 ) ) {
SOURCE(14759, 437)
      {
         W2 min←v10040;
         W2 max←v10068;
         word sampleMap←v10096;
SOURCE(14761, 88)
         min←v10040.f0 = (* (( (ptr) (* (( (ptr) deviceColorData←v7068)+17) ))+6) );
         min←v10040.f1 = (* (( (ptr) (* (( (ptr) deviceColorData←v7068)+17) ))+7) );
SOURCE(14851, 56)
         max←v10068.f0 = (min←v10040.f0 + (* (( (ptr) pa←v9996)+2) ));
         max←v10068.f1 = (min←v10040.f1 + (* (( (ptr) pa←v9996)+3) ));
SOURCE(14909, 79)
         {
            W4 var←c34480;
            (*  (W2Pt) &var←c34480 ) = min←v10040;
            (*  (W2Pt) (( (ptr) &var←c34480)+2) ) = max←v10068;
            {
               word pd140;
               pd140 = (* (( (ptr) (* (( (ptr) gf←c35856)+90)/* var←c33040 */  ))+22) );
               sampleMap←v10096 = (word) ( *( (fPt) ((*  (ptr) pd140 ))))(var←c34480, 1, 0, pd140);
               };
            };
SOURCE(14990, 62)
         {
            W2 var←c34512;
            var←c34512.f0 = 2147483647;
            var←c34512.f1 = 2147483647;
            {
               word pd141;
               pd141 = (* (( (ptr) (* (( (ptr) gf←c35856)+97)/* var←c34544 */  ))+11) );
               (void) ( *( (fPt) ((*  (ptr) pd141 ))))(pa←v9996, 0, 0, 0, sampleMap←v10096, min←v10040
                  , var←c34512, 0, pd141);
               };
            };
SOURCE(15054, 27)
         (* (( (ptr) deviceColorData←v7068)+10) ) = 2;
SOURCE(15083, 29)
         (* (( (ptr) deviceColorData←v7068)+13) ) = 0;
SOURCE(15114, 36)
         (* (( (ptr) deviceColorData←v7068)+12) ) = sampleMap←v10096;
SOURCE(15152, 42)
         (* (( (ptr) deviceColorData←v7068)+9) ) = sampleMap←v10096;
         };
      }
   else {
      if ( ( (0 != (* (( (ptr) gf←c35856)+8)/* newStuff←v4288 */  )) ? (0 != (word) TryTransformingBitmapIntoTile←P1320(deviceColorData←v7068, pa←v9996)
      ) : 0 ) ) {
         }
      else {
SOURCE(15282, 322)
         {
            word sampleMap←v10140;
SOURCE(15284, 86)
            {
               W4 var←c34576;
               var←c34576.f0 = 0;
               var←c34576.f1 = 0;
               var←c34576.f2 = (* (( (ptr) pa←v9996)+2) );
               var←c34576.f3 = (* (( (ptr) pa←v9996)+3) );
               {
                  word pd142;
                  pd142 = (* (( (ptr) (* (( (ptr) gf←c35856)+90)/* var←c33040 */  ))+22) );
                  sampleMap←v10140 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))(var←c34576, 1, 0, pd142);
                  };
               };
SOURCE(15372, 49)
            {
               W2 var←c34608;
               W2 var←c34640;
               var←c34608.f0 = 0;
               var←c34608.f1 = 0;
               var←c34640.f0 = 2147483647;
               var←c34640.f1 = 2147483647;
               {
                  word pd143;
                  pd143 = (* (( (ptr) (* (( (ptr) gf←c35856)+97)/* var←c34544 */  ))+11) );
                  (void) ( *( (fPt) ((*  (ptr) pd143 ))))(pa←v9996, 0, 0, 0, sampleMap←v10140, var←c34608
                     , var←c34640, 0, pd143);
                  };
               };
SOURCE(15423, 35)
            (* (( (ptr) deviceColorData←v7068)+10) ) = 4;
SOURCE(15460, 37)
            {
               word var←c34672;
               var←c34672 = (* (( (ptr) deviceColorData←v7068)+16) );
               {
                  word limit144;
                  (* ((( (ptr) var←c34672)+6)+(
                        limit144 = (* (( (ptr) var←c34672)+5) ),
                        BCK(0, limit144)
                        )) ) = sampleMap←v10140;
                  };
               };
SOURCE(15499, 59)
            (*  (W4Pt) (( (ptr) (* (( (ptr) deviceColorData←v7068)+16) ))+1) ) = (*  (W4Pt) sampleMap←v10140 );
SOURCE(15560, 42)
            (* (( (ptr) deviceColorData←v7068)+9) ) = sampleMap←v10140;
            };
         };
      };
   }

static word ImagerPrintColorNewStuff←P1200(new←v7156)
   word new←v7156;
   {
   register ptr gf←c35888 =  (ptr) &globalframe;
   word old←v7200;
   /* ImagerPrintColorNewStuff: */ 
SOURCE(15611, 99)
SOURCE(15678, 14)
   old←v7200 = (* (( (ptr) gf←c35888)+8)/* newStuff←v4288 */  );
SOURCE(15694, 16)
   (* (( (ptr) gf←c35888)+8)/* newStuff←v4288 */  ) = (new←v7156 != 0);
SOURCE(15611, 99)
   return(old←v7200);
   }

static word ImagerPrintColorTileTolerance←P1260(int←v7260)
   word int←v7260;
   {
   register ptr gf←c35920 =  (ptr) &globalframe;
   word old←v7304;
   /* ImagerPrintColorTileTolerance: */ 
SOURCE(15753, 112)
SOURCE(15823, 21)
   {
      word pd145;
      float tf146;
      pd145 = (* (( (ptr) (* (( (ptr) gf←c35920)+93)/* var←c33520 */  ))+6) );
      old←v7304 = (word) ( *( (fPt) ((*  (ptr) pd145 ))))((
            tf146 = (float)(int)int←v7260,  *(word*)&tf146
            ), pd145);
      };
SOURCE(15846, 19)
   {
      float tf147;
      (* (( (ptr) gf←c35920)+9)/* tileTolerance←v4344 */  ) = (
         tf147 = (float)(int)int←v7260,  *(word*)&tf147
         );
      };
SOURCE(15753, 112)
   return(old←v7304);
   }

static word TryTransformingBitmapIntoTile←P1320(deviceColorData←v7364, formal←c0289)
   word deviceColorData←v7364;
   word formal←c0289;
   {
   W13 var←c35952;
   /* declaration of pa←v7392 skipped */ 
   register ptr gf←c35984 =  (ptr) &globalframe;
   word var←c7436;
   /* declaration of var←c34704 skipped */ 
   /* declaration of m←v10184 skipped */ 
   (* (( (ptr) &var←c35952)+4)/* pa←v7392 */  ) = formal←c0289;
   /* TryTransformingBitmapIntoTile: */ 
SOURCE(16114, 1842)
   {
      word tmpAddr148;
      tmpAddr148 = (word) (( (ptr) &var←c35952)+5)/* var←c34704 */ ;
      (*  (ptr) tmpAddr148 ) = ( ((word)  (fPt) action←P2988) );
      (* (( (ptr) tmpAddr148) + 1) ) = 1;
      };
SOURCE(16237, 49)
   (* (( (ptr) &var←c35952)+7)/* m←v10184 */  ) = (* (( (ptr) deviceColorData←v7364)+17) );
SOURCE(16288, 1643)
   if (((* (( (ptr) (* (( (ptr) &var←c35952)+7)/* m←v10184 */  ))+9) ) != 0)) {
SOURCE(16305, 1634)
      {
         W4 sRect←v10228;
         /* declaration of dRect←v10256 skipped */ 
SOURCE(16307, 45)
         sRect←v10228.f0 = (*  (ptr) &fc110 );
         sRect←v10228.f1 = (*  (ptr) &fc110 );
         {
            float tf149;
            sRect←v10228.f2 = (
               tf149 = (float)(int)(* (( (ptr) (* (( (ptr) &var←c35952)+4)/* pa←v7392 */  ))+2) ),  *(word*)&tf149
               );
            };
         {
            float tf150;
            sRect←v10228.f3 = (
               tf150 = (float)(int)(* (( (ptr) (* (( (ptr) &var←c35952)+4)/* pa←v7392 */  ))+3) ),  *(word*)&tf150
               );
            };
SOURCE(16354, 68)
         {
            word pd151;
            pd151 = (* (( (ptr) (* (( (ptr) gf←c35984)+91)/* var←c33104 */  ))+46) );
            (void) ( *( (fPt) ((*  (ptr) pd151 ))))((word) (( (bPt) &var←c35952)+32)/* dRect←v10256 */ , (* (( (ptr) &var←c35952)+7)/* m←v10184 */  ), sRect←v10228, pd151)
            ;
            };
SOURCE(16424, 1507)
         {
            word tc152;
            float tf153;
            word x154;
            float tf155;
            float tf156;
            float tf157;
            word x158;
            float tf159;
            float tf160;
            float tf161;
            float tf162;
            word x163;
            float tf164;
            float tf165;
            float tf166;
            float tf167;
            word x168;
            word x170;
            float tf171;
            word x172;
            word x173;
            word x175;
            tf159 = FMAX(FABS((
                     x154 = (* (( (ptr) &var←c35952)+8) ),  *(float*)&x154
                     ), tf153), FABS((
                     x158 = (* (( (ptr) &var←c35952)+9) ),  *(float*)&x158
                     ), tf157), tf155, tf156);
            tf164 = FMAX(tf159, FABS((
                     x163 = (* (( (ptr) &var←c35952)+10) ),  *(float*)&x163
                     ), tf162), tf160, tf161);
            if ((FMAX(tf164, FABS((
                     x168 = (* (( (ptr) &var←c35952)+11) ),  *(float*)&x168
                     ), tf167), tf165, tf166) <= (
               x170 = (*  (ptr) &fc169 ),  *(float*)&x170
               ))) {
               tc152 =  (word) (FABS(((
                     x172 = (* (( (ptr) &var←c35952)+10) ),  *(float*)&x172
                     ) * (
                     x173 = (* (( (ptr) &var←c35952)+11) ),  *(float*)&x173
                     )), tf171) <= (
                  x175 = (*  (ptr) &fc174 ),  *(float*)&x175
                  ));
               }
            else {
               tc152 =  (word) 0;
               };
            if (tc152) {
SOURCE(16539, 1397)
               {
                  word sSize←v10300;
                  word fSize←v10328;
SOURCE(16541, 32)
                  {
                     word pd176;
                     word idx177;
                     pd176 = (* (( (ptr) (* (( (ptr) gf←c35984)+93)/* var←c33520 */  ))+6) );
                     sSize←v10300 = (
                        idx177 = (word) ( *( (fPt) ((*  (ptr) pd176 ))))((* ((( (ptr) &var←c35952)+10)) ), pd176),
                        SGNCK(idx177)
                        );
                     };
SOURCE(16575, 32)
                  {
                     word pd178;
                     word idx179;
                     pd178 = (* (( (ptr) (* (( (ptr) gf←c35984)+93)/* var←c33520 */  ))+6) );
                     fSize←v10328 = (
                        idx179 = (word) ( *( (fPt) ((*  (ptr) pd178 ))))((* ((( (ptr) &var←c35952)+11)) ), pd178),
                        SGNCK(idx179)
                        );
                     };
SOURCE(16609, 1322)
                  {
                     word x180;
                     word x181;
                     word x182;
                     word x183;
                     word x184;
                     word x185;
                     if ( ( (((
                        x180 = (* (( (ptr) &var←c35952)+10) ),  *(float*)&x180
                        ) - (float)(unsigned)sSize←v10300) + (
                        x181 = (* (( (ptr) gf←c35984)+9)/* tileTolerance←v4344 */  ),  *(float*)&x181
                        ) == (
                        x182 = (* (( (ptr) gf←c35984)+9)/* tileTolerance←v4344 */  ),  *(float*)&x182
                        )) ? (((
                        x183 = (* (( (ptr) &var←c35952)+11) ),  *(float*)&x183
                        ) - (float)(unsigned)fSize←v10328) + (
                        x184 = (* (( (ptr) gf←c35984)+9)/* tileTolerance←v4344 */  ),  *(float*)&x184
                        ) == (
                        x185 = (* (( (ptr) gf←c35984)+9)/* tileTolerance←v4344 */  ),  *(float*)&x185
                        )) : 0 ) ) {
SOURCE(16713, 1220)
                        {
                           word private←v10372;
                           /* declaration of context←v10400 skipped */ 
                           word sampleMap←v10456;
                           word tileMap←v10484;
SOURCE(16715, 57)
                           private←v10372 = XR←Narrow((* (( (ptr) deviceColorData←v7364)+19) ), (* (( (ptr) gf←c35984)+22) ));
SOURCE(16774, 295)
                           if (((*  (ptr) private←v10372 ) == 0)) {
/*1*/   {
/*1*/      word var←c34864;
/*1*/      {
/*1*/         W2 var←c34768;
/*1*/         W2 var←c34800;
/*1*/         var←c34768.f0 = 2147483647;
/*1*/         var←c34768.f1 = 2147483647;
/*1*/         var←c34800.f0 = (*  (ptr) &fc48 );
/*1*/         var←c34800.f1 = (*  (ptr) &fc48 );
/*1*/         {
/*1*/            word pd186;
/*1*/            pd186 = (* (( (ptr) (* (( (ptr) gf←c35984)+98)/* var←c34832 */  ))+5) );
/*1*/            var←c34864 = (word) ( *( (fPt) ((*  (ptr) pd186 ))))(var←c34768, 6, var←c34800, 1, 1, (* (( (ptr) gf←c35984)+35) ), pd186)
/*1*/            ;
/*1*/            };
/*1*/         };
/*1*/      (*  (ptr) private←v10372 ) = var←c34864;
/*1*/      (* (( (ptr) &var←c35952)+12)/* context←v10400 */  ) = var←c34864;
/*1*/      };
/*1*/   }
                           else {
/*1*/   (* (( (ptr) &var←c35952)+12)/* context←v10400 */  ) = (*  (ptr) private←v10372 );
/*1*/   };
SOURCE(17343, 80)
                           {
/*1*/   W4 var←c34896;
/*1*/   var←c34896.f0 = 0;
/*1*/   var←c34896.f1 = 0;
/*1*/   var←c34896.f2 = sSize←v10300;
/*1*/   var←c34896.f3 = fSize←v10328;
/*1*/   {
/*1*/      word pd187;
/*1*/      pd187 = (* (( (ptr) (* (( (ptr) gf←c35984)+90)/* var←c33040 */  ))+22) );
/*1*/      sampleMap←v10456 = (word) ( *( (fPt) ((*  (ptr) pd187 ))))(var←c34896, 1, 0, pd187);
/*1*/      };
/*1*/   };
SOURCE(17425, 108)
                           {
/*1*/   word var←c34928;
/*1*/   word var←c34960;
/*1*/   {
/*1*/      word pd188;
/*1*/      word x189;
/*1*/      word x191;
/*1*/      float tf192;
/*1*/      pd188 = (* (( (ptr) (* (( (ptr) gf←c35984)+93)/* var←c33520 */  ))+8) );
/*1*/      var←c34928 = (word) ( *( (fPt) ((*  (ptr) pd188 ))))((
/*1*/            tf192 = (
/*1*/               x189 = (* (( (ptr) &var←c35952)+8) ),  *(float*)&x189
/*1*/               ) + (
/*1*/               x191 = (*  (ptr) &fc190 ),  *(float*)&x191
/*1*/               ),  *(word*)&tf192
/*1*/            ), pd188);
/*1*/      };
/*1*/   {
/*1*/      word pd193;
/*1*/      word x194;
/*1*/      word x195;
/*1*/      float tf196;
/*1*/      pd193 = (* (( (ptr) (* (( (ptr) gf←c35984)+93)/* var←c33520 */  ))+8) );
/*1*/      var←c34960 = (word) ( *( (fPt) ((*  (ptr) pd193 ))))((
/*1*/            tf196 = (
/*1*/               x194 = (* (( (ptr) &var←c35952)+9) ),  *(float*)&x194
/*1*/               ) + (
/*1*/               x195 = (*  (ptr) &fc190 ),  *(float*)&x195
/*1*/               ),  *(word*)&tf196
/*1*/            ), pd193);
/*1*/      };
/*1*/   {
/*1*/      W2 var←c34992;
/*1*/      var←c34992.f0 = var←c34928;
/*1*/      var←c34992.f1 = var←c34960;
/*1*/      {
/*1*/         word pd197;
/*1*/         pd197 = (* (( (ptr) (* (( (ptr) gf←c35984)+90)/* var←c33040 */  ))+28) );
/*1*/         tileMap←v10484 = (word) ( *( (fPt) ((*  (ptr) pd197 ))))(sampleMap←v10456, var←c34992, pd197);
/*1*/         };
/*1*/      };
/*1*/   };
SOURCE(17535, 29)
                           {
/*1*/   word pd198;
/*1*/   pd198 = (* (( (ptr) (* (( (ptr) gf←c35984)+90)/* var←c33040 */  ))+48) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd198 ))))(sampleMap←v10456, pd198);
/*1*/   };
SOURCE(17566, 49)
                           {
/*1*/   word pd199;
/*1*/   pd199 = (* (( (ptr) (* (( (ptr) gf←c35984)+98)/* var←c34832 */  ))+6) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd199 ))))((* (( (ptr) &var←c35952)+12)/* context←v10400 */  ), sampleMap←v10456, pd199);
/*1*/   };
SOURCE(17617, 30)
                           {
/*1*/   word pd200;
/*1*/   pd200 = (* (( (ptr) (* (( (ptr) gf←c35984)+92)/* var←c33264 */  ))+12) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd200 ))))((* (( (ptr) &var←c35952)+12)/* context←v10400 */  ), (word) (( (bPt) &var←c35952)+20)
/*1*/      /* var←c34704 */ , pd200);
/*1*/   };
SOURCE(17649, 43)
                           {
/*1*/   word pd201;
/*1*/   pd201 = (* (( (ptr) (* (( (ptr) gf←c35984)+98)/* var←c34832 */  ))+6) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd201 ))))((* (( (ptr) &var←c35952)+12)/* context←v10400 */  ), 0, pd201);
/*1*/   };
SOURCE(17702, 59)
SOURCE(17703, 41)
                           {
/*1*/   word pd202;
/*1*/   pd202 = (* (( (ptr) (* (( (ptr) gf←c35984)+90)/* var←c33040 */  ))+30) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd202 ))))(sampleMap←v10456, pd202);
/*1*/   };
SOURCE(17746, 15)
                           sampleMap←v10456 = 0;
SOURCE(17764, 110)
                           (void) SetTile←P600(deviceColorData←v7364, tileMap←v10484, 0, ((* (( (bPt) deviceColorData←v7364)+75) ) & 7));
SOURCE(17876, 40)
                           (* (( (ptr) deviceColorData←v7364)+9) ) = tileMap←v10484;
SOURCE(17918, 13)
                           return(1);
                           };
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(17942, 14)
   return(0);
   }

static void action←P2988(formal←c36048)
   word formal←c36048;
   {
   register ptr gf←c36016 =  (ptr) &globalframe;
   word pamInverse←v10556;
   formal←c36048 = (formal←c36048 - 20);
   /* action: */ 
SOURCE(17071, 15)
SOURCE(17088, 62)
   {
      word pd203;
      pd203 = (* (( (ptr) (* (( (ptr) gf←c36016)+91)/* var←c33104 */  ))+51) );
      pamInverse←v10556 = (word) ( *( (fPt) ((*  (ptr) pd203 ))))((* ((( (ptr) (* (( (ptr) formal←c36048)+4) ))+4)) ), pd203);
      };
SOURCE(17152, 48)
   {
      W2 var←c35024;
      {
         word x204;
         *(float*)&var←c35024.f0 =  - (
            x204 = (* (( (ptr) formal←c36048)+8) ),  *(float*)&x204
            );
         };
      {
         word x205;
         *(float*)&var←c35024.f1 =  - (
            x205 = (* (( (ptr) formal←c36048)+9) ),  *(float*)&x205
            );
         };
      {
         word pd206;
         pd206 = (* (( (ptr) (* (( (ptr) gf←c36016)+92)/* var←c33264 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd206 ))))((* (( (ptr) formal←c36048)+12) ), var←c35024, pd206);
         };
      };
SOURCE(17202, 26)
   {
      word pd207;
      pd207 = (* (( (ptr) (* (( (ptr) gf←c36016)+92)/* var←c33264 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd207 ))))((* (( (ptr) formal←c36048)+12) ), (* (( (ptr) formal←c36048)+7) ), pd207);
      };
SOURCE(17230, 35)
   {
      word pd208;
      pd208 = (* (( (ptr) (* (( (ptr) gf←c36016)+92)/* var←c33264 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd208 ))))((* (( (ptr) formal←c36048)+12) ), pamInverse←v10556, pd208);
      };
SOURCE(17267, 29)
   {
      word pd209;
      pd209 = (* (( (ptr) (* (( (ptr) gf←c36016)+92)/* var←c33264 */  ))+77) );
      (void) ( *( (fPt) ((*  (ptr) pd209 ))))((* (( (ptr) formal←c36048)+12) ), (* (( (ptr) formal←c36048)+4) ), pd209);
      };
SOURCE(17298, 40)
   {
      word pd210;
      pd210 = (* (( (ptr) (* (( (ptr) gf←c36016)+91)/* var←c33104 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd210 ))))(pamInverse←v10556, pd210);
      };
   }

static void MaskBoxes←P1380(formal←c0290, formal←c0291, bounds←v7552, boxes←v7580)
   word formal←c0290;
   word formal←c0291;
   W4 bounds←v7552;
   word boxes←v7580;
   {
   W11 var←c36080;
   /* declaration of bitmap←v7496 skipped */ 
   /* declaration of deviceColorData←v7524 skipped */ 
   register ptr gf←c36112 =  (ptr) &globalframe;
   /* declaration of var←c35056 skipped */ 
   /* declaration of var←c35088 skipped */ 
   (* (( (ptr) &var←c36080)+4)/* bitmap←v7496 */  ) = formal←c0290;
   (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ) = formal←c0291;
   /* MaskBoxes: */ 
SOURCE(17962, 1665)
   {
      word tmpAddr211;
      tmpAddr211 = (word) (( (ptr) &var←c36080)+6)/* var←c35056 */ ;
      (*  (ptr) tmpAddr211 ) = ( ((word)  (fPt) Action←P3204) );
      (* (( (ptr) tmpAddr211) + 1) ) = 1;
      };
   {
      word tmpAddr212;
      tmpAddr212 = (word) (( (ptr) &var←c36080)+8)/* var←c35088 */ ;
      (*  (ptr) tmpAddr212 ) = ( ((word)  (fPt) Action←P3096) );
      (* (( (ptr) tmpAddr212) + 1) ) = 1;
      };
SOURCE(18100, 1527)
   {
      word var←c35120;
      var←c35120 = (* (( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+10) );
      switch (var←c35120) {
         case 1: 
SOURCE(18147, 134)
            if (((* (( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+11) ) != 0)) {
SOURCE(18181, 100)
               {
                  word pd213;
                  pd213 = (* (( (ptr) (* (( (ptr) gf←c36112)+90)/* var←c33040 */  ))+58) );
                  (void) ( *( (fPt) ((*  (ptr) pd213 ))))((* (( (ptr) &var←c36080)+4)/* bitmap←v7496 */  ), boxes←v7580,  ( ((* (( (ptr) (* (
                           ( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+11) ) == 2) ? 1 : 0 ) , 0, pd213);
                  };
               };
            break;
         case 2: 
SOURCE(18296, 151)
            {
               word pd214;
               pd214 = (* (( (ptr) (* (( (ptr) gf←c36112)+90)/* var←c33040 */  ))+56) );
               (void) ( *( (fPt) ((*  (ptr) pd214 ))))((* (( (ptr) &var←c36080)+4)/* bitmap←v7496 */  ), boxes←v7580, (* (( (ptr) (* (( (ptr) &var←c36080)+5)
                     /* deviceColorData←v7524 */  ))+12) ), (* (( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+13) ), ((* (
                     ( (bPt) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+75) ) & 7), pd214);
               };
            break;
         case 3: 
SOURCE(18476, 772)
            {
               /* declaration of buffer←v10600 skipped */ 
SOURCE(18478, 87)
               {
                  word var←c35152;
                  {
                     word pd215;
                     word idx216;
                     pd215 = (* (( (ptr) (* (( (ptr) gf←c36112)+89)/* var←c32752 */  ))+17) );
                     var←c35152 = (
                        idx216 = (word) ( *( (fPt) ((*  (ptr) pd215 ))))(bounds←v7552, pd215),
                        SGNCK(idx216)
                        );
                     };
                  {
                     word pd217;
                     pd217 = (* (( (ptr) (* (( (ptr) gf←c36112)+90)/* var←c33040 */  ))+6) );
                     (* (( (ptr) &var←c36080)+10)/* buffer←v10600 */  ) = (word) ( *( (fPt) ((*  (ptr) pd217 ))))(var←c35152, pd217);
                     };
                  };
SOURCE(19026, 176)
               {
                  word pd218;
                  pd218 = (* (( (ptr) (* (( (ptr) gf←c36112)+96)/* var←c34192 */  ))+12) );
                  (void) ( *( (fPt) ((*  (ptr) pd218 ))))((* (( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+15) ), (* (
                        ( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+17) ), (* (( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+3)
                      ), boxes←v7580, bounds←v7552, (word) (( (bPt) &var←c36080)+32)/* var←c35088 */ , pd218);
                  };
SOURCE(19204, 42)
               {
                  word pd219;
                  pd219 = (* (( (ptr) (* (( (ptr) gf←c36112)+90)/* var←c33040 */  ))+7) );
                  (void) ( *( (fPt) ((*  (ptr) pd219 ))))((* ((( (ptr) &var←c36080)+10)/* buffer←v10600 */ ) ), pd219);
                  };
               };
            break;
         case 4: 
SOURCE(19267, 362)
SOURCE(19477, 150)
            {
               word pd220;
               pd220 = (* (( (ptr) (* (( (ptr) gf←c36112)+96)/* var←c34192 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd220 ))))((* (( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+16) ), (* (
                     ( (ptr) (* (( (ptr) &var←c36080)+5)/* deviceColorData←v7524 */  ))+17) ), 0, boxes←v7580, bounds←v7552, (word) (( (bPt) &var←c36080)+24)
                  /* var←c35056 */ , pd220);
               };
            break;
         default: 
SOURCE(19643, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   }

static void Action←P3096(pixels←v10704, min←v10732, formal←c36176)
   word pixels←v10704;
   W2 min←v10732;
   word formal←c36176;
   {
   register ptr gf←c36144 =  (ptr) &globalframe;
   formal←c36176 = (formal←c36176 - 32);
   /* Action: */ 
SOURCE(18567, 19)
SOURCE(18644, 29)
   (*  (ptr) (* (( (ptr) formal←c36176)+10) ) ) = (*  (ptr) pixels←v10704 );
SOURCE(18675, 134)
   {
      word pd221;
      pd221 = (* (( (ptr) (* (( (ptr) gf←c36144)+90)/* var←c33040 */  ))+45) );
      (void) ( *( (fPt) ((*  (ptr) pd221 ))))((* (( (ptr) (* (( (ptr) formal←c36176)+5) ))+7) ), (* (( (ptr) (* (( (ptr) formal←c36176)+5)
             ))+8) ), min←v10732, (* (( (ptr) formal←c36176)+10) ), pd221);
      };
SOURCE(18811, 210)
   {
      word pd222;
      word limit223;
      word tc224;
      pd222 = (* (( (ptr) (* (( (ptr) gf←c36144)+90)/* var←c33040 */  ))+46) );
      if ((((* (( (bPt) (* (( (ptr) formal←c36176)+5) ))+75) ) & 1) == 0)) {
         tc224 =  (word) 1;
         }
      else {
         tc224 =  (word) 0;
         };
      (void) ( *( (fPt) ((*  (ptr) pd222 ))))((* (( (ptr) formal←c36176)+4) ), min←v10732, (* ((( (ptr) pixels←v10704)+2)+(
               limit223 = (* (( (ptr) pixels←v10704)+1) ),
               BCK(0, limit223)
               )) ), (* (( (ptr) formal←c36176)+10) ), (((word) (((unsigned)(* (( (bPt) (* (( (ptr) formal←c36176)+5) ))+75) ) << 29) >> 30) << 1) + 
         (tc224 & 1)), pd222);
      };
   }

static void Action←P3204(pixels←v10836, min←v10864, formal←c36240)
   word pixels←v10836;
   W2 min←v10864;
   word formal←c36240;
   {
   register ptr gf←c36208 =  (ptr) &globalframe;
   formal←c36240 = (formal←c36240 - 24);
   /* Action: */ 
SOURCE(19269, 14)
SOURCE(19333, 139)
   {
      W2 var←c35216;
      var←c35216.f0 = 0;
      var←c35216.f1 = 1;
      {
         word pd225;
         word limit226;
         pd225 = (* (( (ptr) (* (( (ptr) gf←c36208)+90)/* var←c33040 */  ))+47) );
         (void) ( *( (fPt) ((*  (ptr) pd225 ))))((* (( (ptr) formal←c36240)+4) ), min←v10864, var←c35216, (* ((( (ptr) pixels←v10836)+2)
               +(
                  limit226 = (* (( (ptr) pixels←v10836)+1) ),
                  BCK(0, limit226)
                  )) ), 0, (*  (ptr) pixels←v10836 )
            , ((* (( (bPt) (* (( (ptr) formal←c36240)+5) ))+75) ) & 7), pd225);
         };
      };
   }

/* file: ImagerPrintColorImpl, module: ImagerPrintColorImpl, compiled at: November 11, 1992 6:03:48 pm PST */ 
extern void XR←install←ImagerPrintColorImpl() {
   NoName←Q3540();
   }
extern void XR←run←ImagerPrintColorImpl() { XR←Start(&globalframe); }