/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1994 by Xerox Corporation.  All rights reserved. */
/* time: March 9, 1994 3:13:18 pm PST */
/* C2C version: January 12, 1994 (sun4) */
/* ref-counting: off */
/* file: ImagerScanConverterImpl, module: ImagerScanConverterImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y))
#define XRM←BITRSHIFT(x, y) ((word)(x) >> (word)(y))
#define XRM←BITNOT(x) (~((word)(x)))
#define XRM←BITOR(x, y) (((word)(x)) | ((word)(y)))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
static char versionStamp[] = "@(#)mob←version [4293652330,70709000] ImagerScanConverterImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W16 r;} W32;
typedef struct {W32 f; W32 r;} W64;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {W64 f; W64 r;} W128;
typedef struct {W128 f; W128 r;} W256;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W16 f; W5 r;} W21;
typedef struct {W32 f; W21 r;} W53;
typedef struct {W64 f; W53 r;} W117;
typedef struct {W128 f; W117 r;} W245;
typedef struct {W256 f; W245 r;} W501;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W16 f; W4 r;} W20;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
#define SOURCE(p, l) /* source p, l */
static float fc15 = 1.0;
static float fc16 = 0.5;
static float fc17 = 0.001;
static float fc23 = 65536.0;
static float fc28 = 0.0;
static float fc65 = 100.0;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static float fc92 = 0.25;
static float fc98 = 0.5857864;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static float fc131 = 0.1767766953;
static float fc134 = 0.6464466094;
static float fc255 = 0.9999;
static float fc288 = 2.0;
static double fc331 = 3.0;
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q14616();
static void ImagerScanConverterImpl←P0();
static void SetFlatHack←P120();
static void SetScanConversionMode←P180();
static word Round←P360();
static word ScaledFromReal←P420();
static word DepthExceeded←P480();
static word Create←P600();
static void Destroy←P660();
static word FreeEdges←P720();
static void SetBounds←P780();
static void MoveTo←P900();
static void Close←P960();
static void LineTo←P1020();
static word Tolerance←P1260();
static word ParToDepth←P1320();
static void ParTo←P1380();
static void CurveTo←P1440();
static void ConicTo←P1500();
static word AppendSegCount←P1620();
static void AppendFatSeg←P1740();
static void FindMagic←P1860();
static word QRound←P4548();
static void AppendSegInner←P1980();
static void Check←P2040();
static word Interpolate←P2100();
static void ClipSeg←P2160();
static word MSort←P2280();
static word Merge←P2340();
static word ISort←P2400();
static word SortF←P2460();
static word CountCrossings←P2520();
static void CheckMonotone←P2580();
static void AdvanceTo←P2640();
static word CopyEdges←P2700();
static void AdvanceEdge←P2760();
static word Validate←P2820();
static void ConvertMonotone←P2940();
static void Fill←P3000();
static void boxes←P5580();
static word CreatePath←P3060();
static void SetPath←P3120();
static void moveTo←P5700();
static void lineTo←P5760();
static void curveTo←P5820();
static void conicTo←P5880();
static void ObjectsFromPath←P3180();
static void boxGenerator←P6000();
static void moveTo←P6060();
static void lineTo←P6120();
static void curveTo←P6180();
static void conicTo←P6240();
static void BoundingBox←P3300();
static word Monotone←P3360();
static void GenerateEdges←P3420();
static word NumberOfBoxes←P3480();
static void ConvertToBoxes←P3600();
static word ConvertToManhattanPolygon←P3660();
static void boxGenerator←P6696();
static void SetTolerance←P3720();
static void PathToLines←P3780();
static void ParToLines←P6816();
static void CurveToLines←P6876();
static void ConicToLines←P6936();
static void myMoveTo←P7056();
static void myLineTo←P7116();
static void myCurveTo←P7176();
static void myConicTo←P7236();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\012\210\021\274\300\115\201\121\025\100\244\000\000"};
static struct {unsigned f; char r[12];} string2 = {720907, "\006\003\100\124\001\100\130\001\100\134\001"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\012\210\021\274\300\115\201\121\025\100\230\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003\005\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\377\353\357\152\300\004\066\357\010\100\164\000\000"};
static struct {unsigned f; char r[4];} string6 = {196611, "\004L\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\350\311\135\367\300\362\215\374\250\100\150\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\150\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\222\214\017\031\300\363\352\337\134\100\150\000\000"};
static struct {unsigned f; char r[28];} string13 = {1703964, "\211\016\015\104\145\166\151\143\145\120\141\164\150\122\145\160\300\222\214\017\031\300\363\352\337\134\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\153\363\153\312\300\321\204\020\244\100\150\000\000"};
static struct {
   word f0[26]; word f26; word f27; word f28; 
   word f29; word f30; word f31; word f32; 
   word f33; word f34; word f35; word f36; 
   word f37; word f38; word f39; word f40; 
   word f41; word f42; word f43; word f44; 
   word f45; word f46; word f47; word f48; 
   word f49; word f50; word f51; word f52; 
   word f53; word f54; word f55; word f56; 
   word f57; word f58; word f59; word f60; 
   word f61; word f62; word f63; word f64; 
   word f65; word f66; word f67; word f68; 
   word f69; word f70; word f71; 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[16]; 
   } globalframe = {
   {0}, (word) PathToLines←P3780, 0, (word) SetTolerance←P3720, 
   0, (word) ConvertToManhattanPolygon←P3660, 0, (word) ConvertToBoxes←P3600, 
   0, (word) NumberOfBoxes←P3480, 0, (word) GenerateEdges←P3420, 
   0, (word) Monotone←P3360, 0, (word) BoundingBox←P3300, 
   0, (word) ObjectsFromPath←P3180, 0, (word) SetPath←P3120, 
   0, (word) CreatePath←P3060, 0, (word) Fill←P3000, 
   0, (word) ConvertMonotone←P2940, 0, (word) Validate←P2820, 
   0, (word) AdvanceEdge←P2760, 0, (word) CopyEdges←P2700, 
   0, (word) AdvanceTo←P2640, 0, (word) CheckMonotone←P2580, 
   0, (word) CountCrossings←P2520, 0, (word) SortF←P2460, 
   0, (word) ISort←P2400, 0, (word) Merge←P2340, 
   0, (word) MSort←P2280, 0, (word) ClipSeg←P2160, 
   0, (word) Interpolate←P2100, 0, (word) Check←P2040, 
   0, (word) AppendSegInner←P1980, 0, (word) FindMagic←P1860, 
   0, (word) AppendFatSeg←P1740, 0, (word) AppendSegCount←P1620, 
   0, (word) ConicTo←P1500, 0, (word) CurveTo←P1440, 
   0, (word) ParTo←P1380, 0, (word) ParToDepth←P1320, 
   0, (word) Tolerance←P1260, 0, (word) LineTo←P1020, 
   0, (word) Close←P960, 0, (word) MoveTo←P900, 
   0, (word) SetBounds←P780, 0, (word) FreeEdges←P720, 
   0, (word) Destroy←P660, 0, (word) Create←P600, 
   0, (word) DepthExceeded←P480, 0, (word) ScaledFromReal←P420, 
   0, (word) Round←P360, 0, (word) SetScanConversionMode←P180, 
   0, (word) SetFlatHack←P120, 0, (word) ImagerScanConverterImpl←P0, 
   {0}
   };

static void NoName←Q14616()
   {
   register ptr gf←c0737 =  (ptr) &globalframe;
   word var←c53084;
   (* (( (ptr) gf←c0737)+22) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0737)+24) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (void) XR←DeclareGlobalFrame((word) "ImagerScanConverterImpl", &globalframe, (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6)
      , (word) (( (bPt) gf←c0737)+480)/* var←c43324 */ );
   var←c53084 = (word) XR←ImportInterface((word) "ImagerManhattan", (word) XR←GetTypeIndexS((word) (&string7)), 24);
   (* (( (ptr) gf←c0737)+134)/* var←c50620 */  ) = var←c53084;
   (void) XR←ImportProcS(var←c53084, 67372033);
   var←c53084 = (word) XR←ImportInterface((word) "ImagerPath", (word) XR←GetTypeIndexS((word) (&string8)), 18);
   (* (( (ptr) gf←c0737)+133)/* var←c49372 */  ) = var←c53084;
   (void) XR←ImportProcS(var←c53084, 2097672);
   var←c53084 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string9)), 36);
   (* (( (ptr) gf←c0737)+130)/* var←c46044 */  ) = var←c53084;
   (void) XR←ImportProcS(var←c53084, 67372289);
   var←c53084 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string10)), 19);
   (* (( (ptr) gf←c0737)+131)/* var←c48380 */  ) = var←c53084;
   (void) XR←ImportProcS(var←c53084, 68159745);
   (void) XR←ImportProcS(var←c53084, 270535426);
   var←c53084 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string11)), 60);
   (* (( (ptr) gf←c0737)+132)/* var←c49212 */  ) = var←c53084;
   (void) XR←ImportProcS(var←c53084, 1062404);
   var←c53084 = (word) XR←ExportInterface((word) "ImagerScanConverter", (word) XR←GetTypeIndexS((word) (&string12)), 20);
   (* (( (ptr) gf←c0737)+135)/* var←c53116 */  ) = var←c53084;
   (void) XR←ExportType((word) "DevicePathRep", (word) XR←GetTypeIndexS((word) (&string13)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
      );
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+432)/* var←c43132 */ , 67109120, (word) "Create");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+424)/* var←c43100 */ , 262657, (word) "Destroy");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+112)/* var←c41852 */ , 525058, (word) "SetTolerance");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+176)/* var←c42108 */ , 1836036, (word) "SetPath");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+184)/* var←c42140 */ , 68683011, (word) "CreatePath");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+408)/* var←c43036 */ , 1312258, (word) "SetBounds");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+400)/* var←c43004 */ , 788226, (word) "MoveTo");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+384)/* var←c42940 */ , 788482, (word) "LineTo");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+360)/* var←c42844 */ , 1313027, (word) "ParTo");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+352)/* var←c42812 */ , 1837572, (word) "CurveTo");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+344)/* var←c42780 */ , 1575684, (word) "ConicTo");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+160)/* var←c42044 */ , 269749250, (word) "BoundingBox");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+136)/* var←c41948 */ , 67374337, (word) "NumberOfBoxes");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+128)/* var←c41916 */ , 1838596, (word) "ConvertToBoxes");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+120)/* var←c41884 */ , 68685571, (word) "ConvertToManhattanPolygon")
   ;
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+152)/* var←c42012 */ , 67375105, (word) "Monotone");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+144)/* var←c41980 */ , 528642, (word) "GenerateEdges");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+168)/* var←c42076 */ , 1839620, (word) "ObjectsFromPath");
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+104)/* var←c41820 */ , 1315589, (word) "PathToLines");
   var←c53084 = (word) XR←ExportInterface((word) "ImagerScanConverterExtras", (word) XR←GetTypeIndexS((word) (&string14)), 1)
   ;
   (* (( (ptr) gf←c0737)+136)/* var←c53148 */  ) = var←c53084;
   (void) XR←ExportProcS(var←c53084, (word) (( (bPt) gf←c0737)+464)/* var←c43260 */ , 524290, (word) "SetScanConversionMode")
   ;
   }

static void ImagerScanConverterImpl←P0(formal←c076, formal←c073)
   word formal←c076;
   word formal←c073;
   {
   register ptr gf←c53180 =  (ptr) &globalframe;
   /* ImagerScanConverterImpl: */ 
SOURCE(580, 32818)
   (* (( (ptr) gf←c53180)+126) ) = 2147483648;
   (* (( (ptr) gf←c53180)+127) ) = 2147483648;
   (* (( (ptr) gf←c53180)+128) ) = 2147483647;
   (* (( (ptr) gf←c53180)+129) ) = 2147483647;
SOURCE(936, 21)
   (* (( (ptr) gf←c53180)+8)/* checking←v3084 */  ) = 1;
SOURCE(1052, 20)
   (* (( (ptr) gf←c53180)+9)/* flatHack←v3140 */  ) = (*  (ptr) &fc15 );
SOURCE(2680, 28)
   (* (( (ptr) gf←c53180)+12)/* defaultTolerance←v3448 */  ) = (*  (ptr) &fc16 );
SOURCE(2710, 20)
   (* (( (ptr) gf←c53180)+13)/* dLimit←v3476 */  ) = 15;
SOURCE(12469, 69)
   (void) FindMagic←P1860((word) (( (bPt) gf←c53180)+72), 1);
   (void) FindMagic←P1860((word) (( (bPt) gf←c53180)+80), 65536);
   }

static void SetFlatHack←P120(millis←v5676)
   word millis←v5676;
   {
   register ptr gf←c53212 =  (ptr) &globalframe;
   /* SetFlatHack: */ 
SOURCE(1074, 90)
SOURCE(1110, 54)
   if ( ( ( (int)millis←v5676 >=  (int)0) ? ( (int)millis←v5676 <=  (int)10000) : 0 ) ) {
SOURCE(1139, 25)
      {
         word x18;
         *(float*)(( (ptr) gf←c53212)+9)/* flatHack←v3140 */  = (float)(int)millis←v5676 * (
            x18 = (*  (ptr) &fc17 ),  *(float*)&x18
            );
         };
      };
   }

static void SetScanConversionMode←P180(devicePath←v5736, mode←v5764)
   word devicePath←v5736;
   word mode←v5764;
   {
   /* SetScanConversionMode: */ 
SOURCE(1170, 102)
SOURCE(1249, 23)
   (* (( (ptr) devicePath←v5736)+24) ) = mode←v5764;
   }

static word Round←P360(r←v6172)
   word r←v6172;
   {
   word var←c6216;
   word f←v13924;
   word c←v13952;
   /* Round: */ 
SOURCE(1663, 449)
SOURCE(1703, 26)
   f←v13924 = r←v6172;
SOURCE(1731, 43)
   c←v13952 = (149 -  (unsigned) ((unsigned)f←v13924 >> 23));
SOURCE(1799, 138)
   if ((c←v13952 < 31)) {
SOURCE(1814, 123)
      {
         word k←v14044;
SOURCE(1816, 29)
         k←v14044 = c←v13952;
SOURCE(1847, 90)
         {
            word var←c43580;
            var←c43580 = ((( (((unsigned)f←v13924 << 9) >> 9) ) + (word) XRM←BITLSHIFT(1, k←v14044)) + 8388608);
            return((word) XRM←BITRSHIFT(var←c43580, (k←v14044 + 1)));
            };
         };
      };
SOURCE(1940, 40)
   if ((r←v6172 > 0)) {
SOURCE(1970, 10)
      return(0);
      };
SOURCE(1982, 130)
   {
      word x19;
      word x20;
      float tf21;
      return((word) XR←REAL32←Floor((
            tf21 = (
               x19 = r←v6172,  *(float*)&x19
               ) + (
               x20 = (*  (ptr) &fc16 ),  *(float*)&x20
               ),  *(word*)&tf21
            )));
      };
   }

static word ScaledFromReal←P420(r←v6276)
   word r←v6276;
   {
   word var←c6320;
   word f←v14116;
   word c←v14144;
   /* ScaledFromReal: */ 
SOURCE(2116, 515)
SOURCE(2191, 26)
   f←v14116 = r←v6276;
SOURCE(2219, 50)
   c←v14144 = ( (unsigned) ((unsigned)f←v14116 >> 23) - 134);
SOURCE(2271, 94)
   if ((c←v14144 < 8)) {
SOURCE(2287, 78)
      return((word) XRM←BITLSHIFT((( (((unsigned)f←v14116 << 9) >> 9) ) + 8388608), c←v14144));
      };
SOURCE(2368, 20)
   c←v14144 = (word) XRM←BITNOT(c←v14144);
SOURCE(2390, 137)
   if ((c←v14144 < 31)) {
SOURCE(2405, 122)
      {
         word k←v14208;
SOURCE(2407, 29)
         k←v14208 = c←v14144;
SOURCE(2438, 89)
         {
            word var←c43644;
            var←c43644 = ((( (((unsigned)f←v14116 << 9) >> 9) ) + (word) XRM←BITLSHIFT(1, k←v14208)) + 8388608);
            return((word) XRM←BITRSHIFT(var←c43644, (k←v14208 + 1)));
            };
         };
      };
SOURCE(2530, 48)
   if (( (int)r←v6276 >=  (int)0)) {
SOURCE(2560, 18)
      return(0);
      };
SOURCE(2580, 51)
   {
      word x22;
      word x24;
      word x25;
      float tf26;
      return((word) XR←REAL32←Floor((
            tf26 = ((
               x22 = r←v6276,  *(float*)&x22
               ) * (
               x24 = (*  (ptr) &fc23 ),  *(float*)&x24
               )) + (
               x25 = (*  (ptr) &fc16 ),  *(float*)&x25
               ),  *(word*)&tf26
            )));
      };
   }

static word DepthExceeded←P480(stop←v6380)
   word stop←v6380;
   {
   register ptr gf←c53244 =  (ptr) &globalframe;
   word var←c6424;
   /* DepthExceeded: */ 
SOURCE(2843, 167)
SOURCE(2902, 47)
   (* (( (ptr) gf←c53244)+14)/* depthExceededCounter←v3504 */  ) = ((* (( (ptr) gf←c53244)+14)/* depthExceededCounter←v3504 */  ) + 
   1);
SOURCE(2980, 30)
   {
      word tc27;
      if ((0 != stop←v6380)) {
         tc27 =  (word)  (unsigned) (0 == (* (( (ptr) gf←c53244)+15)/* nonStop←v3532 */  ));
         }
      else {
         tc27 =  (word)  (unsigned) 0;
         };
      return(tc27);
      };
   }

static word Create←P600()
   {
   register ptr gf←c53276 =  (ptr) &globalframe;
   word var←c6588;
   word area←v14252 = 0;
   /* Create: */ 
SOURCE(3155, 595)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c53276)+16)/* LOCK←v2972 */ ));
   if (((* (( (ptr) gf←c53276)+10)/* scratch1←v3392 */  ) != 0)) {
SOURCE(3260, 15)
      area←v14252 = (* (( (ptr) gf←c53276)+10)/* scratch1←v3392 */  );
SOURCE(3277, 14)
      (* (( (ptr) gf←c53276)+10)/* scratch1←v3392 */  ) = 0;
      }
   else {
      if (((* (( (ptr) gf←c53276)+11)/* scratch2←v3420 */  ) != 0)) {
SOURCE(3313, 15)
         area←v14252 = (* (( (ptr) gf←c53276)+11)/* scratch2←v3420 */  );
SOURCE(3330, 14)
         (* (( (ptr) gf←c53276)+11)/* scratch2←v3420 */  ) = 0;
         }
      else {
SOURCE(3360, 336)
         {
            word var←c43676;
            var←c43676 = XR←NewObject(112, (* (( (ptr) gf←c53276)+22) ));
            (* (( (ptr) var←c43676)+4) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+5) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+6) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+7) ) = (*  (ptr) &fc28 );
            (*  (W4Pt) (( (ptr) var←c43676)+8) ) = (*  (W4Pt) (( (ptr) gf←c53276)+122)/* var←c43388 */  );
            (* (( (ptr) var←c43676)+14) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+15) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+17) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+18) ) = (*  (ptr) &fc28 );
            (* (( (ptr) var←c43676)+24) ) = (* (( (ptr) gf←c53276)+16)/* defaultMode←v3616 */  );
            (* (( (ptr) var←c43676)+25) ) = (* (( (ptr) gf←c53276)+12)/* defaultTolerance←v3448 */  );
            (* (( (ptr) var←c43676)+26) ) = (* (( (ptr) gf←c53276)+13)/* dLimit←v3476 */  );
            (* (( (ptr) var←c43676)+27) ) = (* (( (ptr) gf←c53276)+13)/* dLimit←v3476 */  );
            area←v14252 = var←c43676;
            };
         };
      };
SOURCE(3701, 33)
   (* (( (ptr) area←v14252)+25) ) = (* (( (ptr) gf←c53276)+12)/* defaultTolerance←v3448 */  );
SOURCE(3736, 14)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c53276)+16)/* LOCK←v2972 */ ));
   return(area←v14252);
   }

static void Destroy←P660(devicePath←v6648)
   word devicePath←v6648;
   {
   register ptr gf←c53308 =  (ptr) &globalframe;
   /* Destroy: */ 
SOURCE(3754, 471)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c53308)+16)/* LOCK←v2972 */ ));
SOURCE(3810, 415)
   if ((devicePath←v6648 != 0)) {
SOURCE(3837, 29)
      (* (( (ptr) devicePath←v6648)+24) ) = (* (( (ptr) gf←c53308)+16)/* defaultMode←v3616 */  );
SOURCE(3868, 39)
      (* (( (ptr) devicePath←v6648)+25) ) = (* (( (ptr) gf←c53308)+12)/* defaultTolerance←v3448 */  );
SOURCE(3909, 26)
      (* (( (ptr) devicePath←v6648)+26) ) = (* (( (ptr) gf←c53308)+13)/* dLimit←v3476 */  );
SOURCE(3937, 26)
      (* (( (ptr) devicePath←v6648)+27) ) = (* (( (ptr) gf←c53308)+13)/* dLimit←v3476 */  );
SOURCE(3965, 78)
      (* (( (ptr) devicePath←v6648)+21) ) = (word) FreeEdges←P720(devicePath←v6648, (* (( (ptr) devicePath←v6648)+21) ));
SOURCE(4045, 78)
      (* (( (ptr) devicePath←v6648)+22) ) = (word) FreeEdges←P720(devicePath←v6648, (* (( (ptr) devicePath←v6648)+22) ));
      if (((* (( (ptr) gf←c53308)+10)/* scratch1←v3392 */  ) == 0)) {
SOURCE(4161, 21)
         (* (( (ptr) gf←c53308)+10)/* scratch1←v3392 */  ) = devicePath←v6648;
         }
      else {
         if (((* (( (ptr) gf←c53308)+11)/* scratch2←v3420 */  ) == 0)) {
SOURCE(4204, 21)
            (* (( (ptr) gf←c53308)+11)/* scratch2←v3420 */  ) = devicePath←v6648;
            };
         };
      };
SOURCE(3754, 471)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c53308)+16)/* LOCK←v2972 */ ));
   return;
   }

static word FreeEdges←P720(area←v6708, edges←v6736)
   word area←v6708;
   word edges←v6736;
   {
   word nil←v6780;
   /* FreeEdges: */ 
SOURCE(4252, 289)
SOURCE(4252, 289)
   nil←v6780 = 0;
SOURCE(4326, 215)
   if ((edges←v6736 != 0)) {
SOURCE(4346, 197)
      {
         word last←v14296;
SOURCE(4348, 19)
         last←v14296 = edges←v6736;
SOURCE(4369, 111)
         lab←L100002: ;
SOURCE(4372, 27)
         (* (( (ptr) last←v14296)+2) ) = 0;
SOURCE(4401, 27)
         (* (( (ptr) last←v14296)+3) ) = 0;
SOURCE(4430, 50)
         if (((* (( (ptr) last←v14296)+5) ) == 0)) {
SOURCE(4454, 10)
            goto lab←L100001;
            }
         else {
SOURCE(4464, 16)
            last←v14296 = (* (( (ptr) last←v14296)+5) );
            };
         goto lab←L100002;
         lab←L100001: ;
SOURCE(4491, 26)
         (* (( (ptr) last←v14296)+5) ) = (* (( (ptr) area←v6708)+23) );
SOURCE(4519, 22)
         (* (( (ptr) area←v6708)+23) ) = edges←v6736;
         };
      };
SOURCE(4252, 289)
   return(nil←v6780);
   }

static void SetBounds←P780(devicePath←v6840, box←v6868)
   word devicePath←v6840;
   W4 box←v6868;
   {
   register ptr gf←c53340 =  (ptr) &globalframe;
   word area←v14340;
   /* SetBounds: */ 
SOURCE(4550, 879)
SOURCE(4615, 23)
   area←v14340 = devicePath←v6840;
SOURCE(4640, 45)
   if (( (int)box←v6868.f0 <  (int)4294934529)) {
SOURCE(4667, 18)
      box←v6868.f0 = 4294934529;
      };
SOURCE(4687, 51)
   if (( (int)box←v6868.f2 <  (int)box←v6868.f0)) {
SOURCE(4717, 21)
      box←v6868.f2 = box←v6868.f0;
      };
SOURCE(4740, 43)
   if (( (int)box←v6868.f2 >  (int)32767)) {
SOURCE(4766, 17)
      box←v6868.f2 = 32767;
      };
SOURCE(4785, 45)
   if (( (int)box←v6868.f1 <  (int)4294934529)) {
SOURCE(4812, 18)
      box←v6868.f1 = 4294934529;
      };
SOURCE(4832, 51)
   if (( (int)box←v6868.f3 <  (int)box←v6868.f1)) {
SOURCE(4862, 21)
      box←v6868.f3 = box←v6868.f1;
      };
SOURCE(4885, 43)
   if (( (int)box←v6868.f3 >  (int)32767)) {
SOURCE(4911, 17)
      box←v6868.f3 = 32767;
      };
SOURCE(4930, 17)
   (*  (W4Pt) area←v14340 ) = box←v6868;
SOURCE(4949, 88)
   {
      float tf29;
      (* (( (ptr) area←v14340)+5) ) = (
         tf29 = (float)(int)box←v6868.f1,  *(word*)&tf29
         );
      };
   {
      float tf30;
      (* (( (ptr) area←v14340)+6) ) = (
         tf30 = (float)(int)box←v6868.f2,  *(word*)&tf30
         );
      };
   {
      float tf31;
      (* (( (ptr) area←v14340)+7) ) = (
         tf31 = (float)(int)box←v6868.f3,  *(word*)&tf31
         );
      };
   {
      float tf32;
      (* (( (ptr) area←v14340)+4) ) = (
         tf32 = (float)(int)box←v6868.f0,  *(word*)&tf32
         );
      };
SOURCE(5039, 107)
   (* (( (ptr) area←v14340)+8) ) = 2147483647;
   (* (( (ptr) area←v14340)+9) ) = 2147483647;
   (* (( (ptr) area←v14340)+10) ) = 2147483648;
   (* (( (ptr) area←v14340)+11) ) = 2147483648;
SOURCE(5149, 22)
   (* (( (ptr) area←v14340)+12) ) = 1;
SOURCE(5173, 18)
   (* (( (ptr) area←v14340)+13) ) = 0;
SOURCE(5193, 21)
   (* (( (ptr) area←v14340)+14) ) = (*  (ptr) &fc28 );
   (* (( (ptr) area←v14340)+15) ) = (*  (ptr) &fc28 );
SOURCE(5216, 20)
   (* (( (ptr) area←v14340)+17) ) = (*  (ptr) &fc28 );
   (* (( (ptr) area←v14340)+18) ) = (*  (ptr) &fc28 );
SOURCE(5238, 23)
   (* (( (ptr) area←v14340)+20) ) = 0;
SOURCE(5263, 60)
   (* (( (ptr) area←v14340)+21) ) = (word) FreeEdges←P720(area←v14340, (* (( (ptr) area←v14340)+21) ));
SOURCE(5325, 60)
   (* (( (ptr) area←v14340)+22) ) = (word) FreeEdges←P720(area←v14340, (* (( (ptr) area←v14340)+22) ));
SOURCE(5387, 20)
   (* (( (ptr) area←v14340)+26) ) = (* (( (ptr) gf←c53340)+13)/* dLimit←v3476 */  );
SOURCE(5409, 20)
   (* (( (ptr) area←v14340)+27) ) = (* (( (ptr) gf←c53340)+13)/* dLimit←v3476 */  );
   }

static void MoveTo←P900(devicePath←v7060, pt←v7088)
   word devicePath←v7060;
   W2 pt←v7088;
   {
   word area←v14412;
   /* MoveTo: */ 
SOURCE(5682, 246)
SOURCE(5741, 23)
   area←v14412 = devicePath←v7060;
SOURCE(5766, 11)
   (void) Close←P960(area←v14412);
SOURCE(5779, 31)
   (*  (W2Pt) (( (ptr) area←v14412)+14) ) = pt←v7088;
   (*  (W2Pt) (( (ptr) area←v14412)+17) ) = pt←v7088;
SOURCE(5812, 55)
   {
      word var←c43900;
      {
         word var←c43932;
         word region←v14384;
         {
            word x33;
            word x34;
            word x35;
            word x36;
            word x37;
            word x38;
            word x39;
            word x40;
            region←v14384 = (((word) (((word) (((word)  (unsigned) ((
               x33 = pt←v7088.f0,  *(float*)&x33
               ) < (
               x34 = (* (( (ptr) area←v14412)+4) ),  *(float*)&x34
               )) << 1) +  (unsigned) ((
               x35 = pt←v7088.f0,  *(float*)&x35
               ) > (
               x36 = (* (( (ptr) area←v14412)+6) ),  *(float*)&x36
               ))) << 1) +  (unsigned) ((
               x37 = pt←v7088.f1,  *(float*)&x37
               ) < (
               x38 = (* (( (ptr) area←v14412)+5) ),  *(float*)&x38
               ))) << 1) +  (unsigned) ((
               x39 = pt←v7088.f1,  *(float*)&x39
               ) > (
               x40 = (* (( (ptr) area←v14412)+7) ),  *(float*)&x40
               )));
            };
SOURCE(5662, 16)
         var←c43932 = region←v14384;
         var←c43900 = var←c43932;
         };
      {
         word tadr41;
         tadr41 = (word) (( (ptr) area←v14412) + 19);
         (*  (ptr) tadr41 ) = ((*  (ptr) tadr41 ) & 4294967280) | ((word) (var←c43900 & 017));
         };
      {
         word tadr42;
         tadr42 = (word) (( (ptr) area←v14412) + 16);
         (*  (ptr) tadr42 ) = ((*  (ptr) tadr42 ) & 4294967280) | ((word) (var←c43900 & 017));
         };
      };
SOURCE(5869, 22)
   (* (( (ptr) area←v14412)+12) ) = 2;
SOURCE(5893, 35)
   (* (( (ptr) area←v14412)+13) ) = ((* (( (ptr) area←v14412)+13) ) + 1);
   }

static void Close←P960(area←v7148)
   word area←v7148;
   {
   /* Close: */ 
SOURCE(5934, 110)
SOURCE(5963, 57)
   if (((* (( (ptr) area←v7148)+12) ) == 2)) {
SOURCE(5994, 26)
      (void) LineTo←P1020(area←v7148, (*  (W2Pt) (( (ptr) area←v7148)+14) ));
      };
SOURCE(6022, 22)
   (* (( (ptr) area←v7148)+12) ) = 1;
   }

static void LineTo←P1020(devicePath←v7208, pt←v7236)
   word devicePath←v7208;
   W2 pt←v7236;
   {
   /* LineTo: */ 
SOURCE(6050, 84)
SOURCE(6109, 25)
   {
      word area←v35216;
      W2 pt←v35244;
      area←v35216 = devicePath←v7208;
      pt←v35244 = pt←v7236;
SOURCE(6187, 394)
      {
         word tc43;
         word tc44;
         word tc45;
         word tc46;
         word x47;
         word x48;
         word x49;
         word x50;
         word x51;
         word x52;
         word x53;
         word x54;
         if (( (unsigned) ((* (( (bPt) area←v35216)+79) ) & 017) == 0)) {
            tc46 =  (word) ((
               x47 = pt←v35244.f0,  *(float*)&x47
               ) >= (
               x48 = (* (( (ptr) area←v35216)+4) ),  *(float*)&x48
               ));
            }
         else {
            tc46 =  (word) 0;
            };
         if (tc46) {
            tc45 =  (word) ((
               x49 = pt←v35244.f0,  *(float*)&x49
               ) <= (
               x50 = (* (( (ptr) area←v35216)+6) ),  *(float*)&x50
               ));
            }
         else {
            tc45 =  (word) 0;
            };
         if (tc45) {
            tc44 =  (word) ((
               x51 = pt←v35244.f1,  *(float*)&x51
               ) >= (
               x52 = (* (( (ptr) area←v35216)+5) ),  *(float*)&x52
               ));
            }
         else {
            tc44 =  (word) 0;
            };
         if (tc44) {
            tc43 =  (word) ((
               x53 = pt←v35244.f1,  *(float*)&x53
               ) <= (
               x54 = (* (( (ptr) area←v35216)+7) ),  *(float*)&x54
               ));
            }
         else {
            tc43 =  (word) 0;
            };
         if (tc43) {
SOURCE(6362, 32)
            {
               word area←v38456;
               W2 point0←v38484;
               W2 point1←v38512;
               area←v38456 = area←v35216;
               point0←v38484 = (*  (W2Pt) (( (ptr) area←v35216)+17) );
               point1←v38512 = pt←v35244;
SOURCE(11003, 113)
               if (( (int)(* (( (ptr) area←v38456)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                  (void) AppendFatSeg←P1740(area←v38456, (word) &point0←v38484, (word) &point1←v38512);
                  }
               else {
SOURCE(11067, 49)
                  (void) AppendSegInner←P1980(area←v38456, (word) &point0←v38484, (word) &point1←v38512, 32768);
                  };
               };
SOURCE(6396, 16)
            (*  (W2Pt) (( (ptr) area←v35216)+17) ) = pt←v35244;
            }
         else {
            {
               word region←v14456;
               {
                  word region←v34828;
                  {
                     word x55;
                     word x56;
                     word x57;
                     word x58;
                     word x59;
                     word x60;
                     word x61;
                     word x62;
                     region←v34828 = (((word) (((word) (((word)  (unsigned) ((
                        x55 = pt←v35244.f0,  *(float*)&x55
                        ) < (
                        x56 = (* (( (ptr) area←v35216)+4) ),  *(float*)&x56
                        )) << 1) +  (unsigned) ((
                        x57 = pt←v35244.f0,  *(float*)&x57
                        ) > (
                        x58 = (* (( (ptr) area←v35216)+6) ),  *(float*)&x58
                        ))) << 1) +  (unsigned) ((
                        x59 = pt←v35244.f1,  *(float*)&x59
                        ) < (
                        x60 = (* (( (ptr) area←v35216)+5) ),  *(float*)&x60
                        ))) << 1) +  (unsigned) ((
                        x61 = pt←v35244.f1,  *(float*)&x61
                        ) > (
                        x62 = (* (( (ptr) area←v35216)+7) ),  *(float*)&x62
                        )));
                     };
SOURCE(5662, 16)
                  region←v14456 = region←v34828;
                  };
SOURCE(6460, 77)
               (void) ClipSeg←P2160(area←v35216, (*  (W2Pt) (( (ptr) area←v35216)+17) ),  (unsigned) ((* (( (bPt) area←v35216)+79) ) & 017), pt←v35244, region←v14456)
               ;
SOURCE(6539, 16)
               (*  (W2Pt) (( (ptr) area←v35216)+17) ) = pt←v35244;
SOURCE(6557, 24)
               {
                  word tadr63;
                  tadr63 = (word) (( (ptr) area←v35216) + 19);
                  (*  (ptr) tadr63 ) = ((*  (ptr) tadr63 ) & 4294967280) | ((word) (region←v14456 & 017));
                  };
               };
            };
         };
      };
   }

static word Tolerance←P1260(i←v7620)
   word i←v7620;
   {
   register ptr gf←c53372 =  (ptr) &globalframe;
   word old←v7664;
   /* Tolerance: */ 
SOURCE(6917, 111)
SOURCE(6965, 35)
   {
      word x64;
      word x66;
      float tf67;
      old←v7664 = (word) Round←P360((
            tf67 = (
               x64 = (* (( (ptr) gf←c53372)+12)/* defaultTolerance←v3448 */  ),  *(float*)&x64
               ) * (
               x66 = (*  (ptr) &fc65 ),  *(float*)&x66
               ),  *(word*)&tf67
            ));
      };
SOURCE(7002, 26)
   {
      word x68;
      *(float*)(( (ptr) gf←c53372)+12)/* defaultTolerance←v3448 */  = (float)(int)i←v7620 / (
         x68 = (*  (ptr) &fc65 ),  *(float*)&x68
         );
      };
SOURCE(6917, 111)
   return(old←v7664);
   }

static word ParToDepth←P1320(area←v7724, p0←v7752, p1←v7780, p2←v7808)
   word area←v7724;
   W2 p0←v7752;
   W2 p1←v7780;
   W2 p2←v7808;
   {
   word var←c7852;
   word s01←v14484;
   word f01←v14512;
   word s21←v14540;
   word f21←v14568;
   word i←v14596 = 0;
   word a←v14624;
   word budget←v14652;
   /* ParToDepth: */ 
SOURCE(7034, 598)
SOURCE(7106, 21)
   {
      word x69;
      word x70;
      *(float*)&s01←v14484 = (
         x69 = p0←v7752.f0,  *(float*)&x69
         ) - (
         x70 = p1←v7780.f0,  *(float*)&x70
         );
      };
SOURCE(7129, 21)
   {
      word x71;
      word x72;
      *(float*)&f01←v14512 = (
         x71 = p0←v7752.f1,  *(float*)&x71
         ) - (
         x72 = p1←v7780.f1,  *(float*)&x72
         );
      };
SOURCE(7152, 21)
   {
      word x73;
      word x74;
      *(float*)&s21←v14540 = (
         x73 = p2←v7808.f0,  *(float*)&x73
         ) - (
         x74 = p1←v7780.f0,  *(float*)&x74
         );
      };
SOURCE(7175, 21)
   {
      word x75;
      word x76;
      *(float*)&f21←v14568 = (
         x75 = p2←v7808.f1,  *(float*)&x75
         ) - (
         x76 = p1←v7780.f1,  *(float*)&x76
         );
      };
SOURCE(7215, 30)
   {
      float tf77;
      word x78;
      word x79;
      word x80;
      word x81;
      float tf82;
      a←v14624 = (
         tf82 = FABS((((
               x78 = s01←v14484,  *(float*)&x78
               ) * (
               x79 = f21←v14568,  *(float*)&x79
               )) - ((
               x80 = f01←v14512,  *(float*)&x80
               ) * (
               x81 = s21←v14540,  *(float*)&x81
               ))), tf77),  *(word*)&tf82
         );
      };
SOURCE(7285, 71)
   {
      word var←c44060;
      word x←v41376;
      word y←v41404;
      {
         word x83;
         word x84;
         *(float*)&x←v41376 = (
            x83 = p2←v7808.f0,  *(float*)&x83
            ) - (
            x84 = p0←v7752.f0,  *(float*)&x84
            );
         };
      {
         word x85;
         word x86;
         *(float*)&y←v41404 = (
            x85 = p2←v7808.f1,  *(float*)&x85
            ) - (
            x86 = p0←v7752.f1,  *(float*)&x86
            );
         };
      {
         word x87;
         word x88;
         var←c44060 = (x87 = ( (((unsigned)x←v41376 << 1) >> 1) ),
            x88 = ( (((unsigned)y←v41404 << 1) >> 1) ),
            MAX( (unsigned) , x87, x88));
         };
      {
         word x89;
         word x90;
         *(float*)&budget←v14652 = (
            x89 = (* (( (ptr) area←v7724)+25) ),  *(float*)&x89
            ) * (
            x90 = var←c44060,  *(float*)&x90
            );
         };
      };
SOURCE(7358, 35)
   {
      word x91;
      word x93;
      if (((
         x91 = budget←v14652,  *(float*)&x91
         ) < (
         x93 = (*  (ptr) &fc92 ),  *(float*)&x93
         ))) {
SOURCE(7380, 13)
         budget←v14652 = (*  (ptr) &fc92 );
         };
      };
SOURCE(7438, 57)
   {
      word x94;
      word x95;
      if (((
         x94 = a←v14624,  *(float*)&x94
         ) > (
         x95 = budget←v14652,  *(float*)&x95
         ))) {
SOURCE(7459, 9)
         i←v14596 = (i←v14596 + 1);
SOURCE(7470, 25)
         {
            word x96;
            word x97;
            word x99;
            *(float*)&a←v14624 = (
               x96 = a←v14624,  *(float*)&x96
               ) * ((
               x97 = (*  (ptr) &fc92 ),  *(float*)&x97
               ) * (
               x99 = (*  (ptr) &fc98 ),  *(float*)&x99
               ));
            };
         };
      };
SOURCE(7500, 56)
   lab←L100008: ;
   {
      word x100;
      word x101;
      if ( ( ((
         x100 = a←v14624,  *(float*)&x100
         ) > (
         x101 = budget←v14652,  *(float*)&x101
         )) ? (i←v14596 < 16) : 0 ) ) {
         }
      else {
         goto lab←L100006;
         };
      };
SOURCE(7533, 9)
   i←v14596 = (i←v14596 + 1);
SOURCE(7544, 12)
   {
      word x102;
      word x103;
      *(float*)&a←v14624 = (
         x102 = a←v14624,  *(float*)&x102
         ) * (
         x103 = (*  (ptr) &fc92 ),  *(float*)&x103
         );
      };
   goto lab←L100008;
   lab←L100006: ;
SOURCE(7567, 49)
   {
      word x104;
      word x105;
      word x106;
      word x107;
      word x108;
      if ( ( (i←v14596 < 4) ? (((
         x104 = s01←v14484,  *(float*)&x104
         ) * (
         x105 = s21←v14540,  *(float*)&x105
         )) + ((
         x106 = f01←v14512,  *(float*)&x106
         ) * (
         x107 = f21←v14568,  *(float*)&x107
         )) > (
         x108 = (*  (ptr) &fc28 ),  *(float*)&x108
         )) : 0 ) ) {
SOURCE(7611, 5)
         i←v14596 = 4;
         };
      };
SOURCE(7621, 11)
   return(BCK(i←v14596, 17));
   }

static void ParTo←P1380(devicePath←v7932, p1←v7960, p2←v7988)
   word devicePath←v7932;
   W2 p1←v7960;
   W2 p2←v7988;
   {
   word area←v14696;
   W2 p0←v14724;
   W64 stack←v14752;
   W16 n←v14780;
   word i←v14808 = 1;
   word r0←v14836;
   word r1←v14864;
   word r2←v14892;
   word allVisible←v14920;
   /* ParTo: */ 
SOURCE(7636, 1450)
SOURCE(7698, 23)
   area←v14696 = devicePath←v7932;
SOURCE(7723, 22)
   p0←v14724 = (*  (W2Pt) (( (ptr) area←v14696)+17) );
SOURCE(7924, 28)
   r0←v14836 =  (unsigned) ((* (( (bPt) area←v14696)+79) ) & 017);
SOURCE(7954, 31)
   {
      word region←v34784;
      {
         word x109;
         word x110;
         word x111;
         word x112;
         word x113;
         word x114;
         word x115;
         word x116;
         region←v34784 = (((word) (((word) (((word)  (unsigned) ((
            x109 = p1←v7960.f0,  *(float*)&x109
            ) < (
            x110 = (* (( (ptr) area←v14696)+4) ),  *(float*)&x110
            )) << 1) +  (unsigned) ((
            x111 = p1←v7960.f0,  *(float*)&x111
            ) > (
            x112 = (* (( (ptr) area←v14696)+6) ),  *(float*)&x112
            ))) << 1) +  (unsigned) ((
            x113 = p1←v7960.f1,  *(float*)&x113
            ) < (
            x114 = (* (( (ptr) area←v14696)+5) ),  *(float*)&x114
            ))) << 1) +  (unsigned) ((
            x115 = p1←v7960.f1,  *(float*)&x115
            ) > (
            x116 = (* (( (ptr) area←v14696)+7) ),  *(float*)&x116
            )));
         };
SOURCE(5662, 16)
      r1←v14864 = region←v34784;
      };
SOURCE(7987, 31)
   {
      word region←v34740;
      {
         word x117;
         word x118;
         word x119;
         word x120;
         word x121;
         word x122;
         word x123;
         word x124;
         region←v34740 = (((word) (((word) (((word)  (unsigned) ((
            x117 = p2←v7988.f0,  *(float*)&x117
            ) < (
            x118 = (* (( (ptr) area←v14696)+4) ),  *(float*)&x118
            )) << 1) +  (unsigned) ((
            x119 = p2←v7988.f0,  *(float*)&x119
            ) > (
            x120 = (* (( (ptr) area←v14696)+6) ),  *(float*)&x120
            ))) << 1) +  (unsigned) ((
            x121 = p2←v7988.f1,  *(float*)&x121
            ) < (
            x122 = (* (( (ptr) area←v14696)+5) ),  *(float*)&x122
            ))) << 1) +  (unsigned) ((
            x123 = p2←v7988.f1,  *(float*)&x123
            ) > (
            x124 = (* (( (ptr) area←v14696)+7) ),  *(float*)&x124
            )));
         };
SOURCE(5662, 16)
      r2←v14892 = region←v34740;
      };
SOURCE(8020, 59)
   {
      word var←c44220;
      word a←v34508;
      a←v34508 = (word) XRM←BITOR(r0←v14836, r1←v14864);
SOURCE(1331, 57)
      var←c44220 = (word) XRM←BITOR(a←v34508, r2←v14892);
      allVisible←v14920 =  (unsigned) (var←c44220 == 0);
      };
SOURCE(8081, 35)
   {
      word var←c44284;
      var←c44284 = (word) ParToDepth←P1320(area←v14696, p0←v14724, p1←v7960, p2←v7988);
      (*  (ptr) &n←v14780 ) = var←c44284;
      };
SOURCE(8118, 202)
   {
      word tc126;
      word tc127;
      if (((*  (ptr) &n←v14780 ) == 0)) { goto then0125;};
      if (( (unsigned) ((* (( (bPt) area←v14696)+79) ) & 017) != 0)) {
         tc127 =  (word) (r1←v14864 ==  (unsigned) ((* (( (bPt) area←v14696)+79) ) & 017));
         }
      else {
         tc127 =  (word) 0;
         };
      if (tc127) {
         tc126 =  (word) (r2←v14892 ==  (unsigned) ((* (( (bPt) area←v14696)+79) ) & 017));
         }
      else {
         tc126 =  (word) 0;
         };
      if (tc126) {
         then0125: ;
SOURCE(8221, 90)
         if ((0 != allVisible←v14920)) {
SOURCE(8242, 23)
            {
               word area←v38352;
               W2 point0←v38380;
               W2 point1←v38408;
               area←v38352 = area←v14696;
               point0←v38380 = p0←v14724;
               point1←v38408 = p2←v7988;
SOURCE(11003, 113)
               if (( (int)(* (( (ptr) area←v38352)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                  (void) AppendFatSeg←P1740(area←v38352, (word) &point0←v38380, (word) &point1←v38408);
                  }
               else {
SOURCE(11067, 49)
                  (void) AppendSegInner←P1980(area←v38352, (word) &point0←v38380, (word) &point1←v38408, 32768);
                  };
               };
SOURCE(8267, 16)
            (*  (W2Pt) (( (ptr) area←v14696)+17) ) = p2←v7988;
            }
         else {
SOURCE(8294, 17)
            (void) LineTo←P1020(area←v14696, p2←v7988);
            };
SOURCE(8314, 6)
         return;
         };
      };
SOURCE(8325, 19)
   (*  (W2Pt) &stack←v14752 ) = p2←v7988;
   (*  (W2Pt) (( (ptr) &stack←v14752)+2) ) = p1←v7960;
SOURCE(8346, 740)
   lab←L100014: ;
   if ((i←v14808 != 0)) {
      }
   else {
      goto lab←L100012;
      };
SOURCE(8361, 30)
   {
      word idx128;
      i←v14808 = (
         idx128 = (word) IOP2( % ,  (int)(i←v14808 - 1),  (int)16),
         BCK(idx128, 16)
         );
      };
SOURCE(8483, 16)
   p2←v7988 = (*  (W2Pt) (( (W4Pt) &stack←v14752)+i←v14808) );
SOURCE(8501, 16)
   p1←v7960 = (*  (W2Pt) (( (ptr) (( (W4Pt) &stack←v14752)+i←v14808))+2) );
SOURCE(8519, 567)
   if (((* (( (ptr) &n←v14780)+i←v14808) ) == 1)) {
SOURCE(8536, 272)
      {
         W2 pw←v15148;
SOURCE(8589, 72)
         {
            word x129;
            word x130;
            word x132;
            word x133;
            word x135;
            *(float*)&pw←v15148.f0 = (((
               x129 = p0←v14724.f0,  *(float*)&x129
               ) + (
               x130 = p2←v7988.f0,  *(float*)&x130
               )) * (
               x132 = (*  (ptr) &fc131 ),  *(float*)&x132
               )) + ((
               x133 = p1←v7960.f0,  *(float*)&x133
               ) * (
               x135 = (*  (ptr) &fc134 ),  *(float*)&x135
               ));
            };
         {
            word x136;
            word x137;
            word x138;
            word x139;
            word x140;
            *(float*)&pw←v15148.f1 = (((
               x136 = p0←v14724.f1,  *(float*)&x136
               ) + (
               x137 = p2←v7988.f1,  *(float*)&x137
               )) * (
               x138 = (*  (ptr) &fc131 ),  *(float*)&x138
               )) + ((
               x139 = p1←v7960.f1,  *(float*)&x139
               ) * (
               x140 = (*  (ptr) &fc134 ),  *(float*)&x140
               ));
            };
SOURCE(8663, 133)
         if ((0 != allVisible←v14920)) {
SOURCE(8684, 23)
            {
               word area←v38248;
               W2 point0←v38276;
               W2 point1←v38304;
               area←v38248 = area←v14696;
               point0←v38276 = p0←v14724;
               point1←v38304 = pw←v15148;
SOURCE(11003, 113)
               if (( (int)(* (( (ptr) area←v38248)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                  (void) AppendFatSeg←P1740(area←v38248, (word) &point0←v38276, (word) &point1←v38304);
                  }
               else {
SOURCE(11067, 49)
                  (void) AppendSegInner←P1980(area←v38248, (word) &point0←v38276, (word) &point1←v38304, 32768);
                  };
               };
SOURCE(8709, 23)
            {
               word area←v38144;
               W2 point0←v38172;
               W2 point1←v38200;
               area←v38144 = area←v14696;
               point0←v38172 = pw←v15148;
               point1←v38200 = p2←v7988;
SOURCE(11003, 113)
               if (( (int)(* (( (ptr) area←v38144)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                  (void) AppendFatSeg←P1740(area←v38144, (word) &point0←v38172, (word) &point1←v38200);
                  }
               else {
SOURCE(11067, 49)
                  (void) AppendSegInner←P1980(area←v38144, (word) &point0←v38172, (word) &point1←v38200, 32768);
                  };
               };
SOURCE(8734, 16)
            (*  (W2Pt) (( (ptr) area←v14696)+17) ) = p2←v7988;
            }
         else {
SOURCE(8761, 16)
            (void) LineTo←P1020(area←v14696, pw←v15148);
SOURCE(8779, 17)
            (void) LineTo←P1020(area←v14696, p2←v7988);
            };
SOURCE(8799, 7)
         p0←v14724 = p2←v7988;
         };
      }
   else {
SOURCE(8815, 273)
      {
         W2 p10←v15192;
         W2 p12←v15220;
         W2 p012←v15248;
         word newn←v15276;
SOURCE(8817, 23)
         {
            word r←v35468;
            {
               word x141;
               word x142;
               *(float*)&r←v35468 = (
                  x141 = p0←v14724.f0,  *(float*)&x141
                  ) + (
                  x142 = p1←v7960.f0,  *(float*)&x142
                  );
               };
SOURCE(6637, 15)
            {
               word x143;
               word x144;
               *(float*)&p10←v15192.f0 = (
                  x143 = r←v35468,  *(float*)&x143
                  ) * (
                  x144 = (*  (ptr) &fc16 ),  *(float*)&x144
                  );
               };
            };
         {
            word r←v35420;
            {
               word x145;
               word x146;
               *(float*)&r←v35420 = (
                  x145 = p0←v14724.f1,  *(float*)&x145
                  ) + (
                  x146 = p1←v7960.f1,  *(float*)&x146
                  );
               };
SOURCE(6637, 15)
            {
               word x147;
               word x148;
               *(float*)&p10←v15192.f1 = (
                  x147 = r←v35420,  *(float*)&x147
                  ) * (
                  x148 = (*  (ptr) &fc16 ),  *(float*)&x148
                  );
               };
            };
SOURCE(8842, 23)
         {
            word r←v37276;
            {
               word x149;
               word x150;
               *(float*)&r←v37276 = (
                  x149 = p1←v7960.f0,  *(float*)&x149
                  ) + (
                  x150 = p2←v7988.f0,  *(float*)&x150
                  );
               };
SOURCE(6637, 15)
            {
               word x151;
               word x152;
               *(float*)&p12←v15220.f0 = (
                  x151 = r←v37276,  *(float*)&x151
                  ) * (
                  x152 = (*  (ptr) &fc16 ),  *(float*)&x152
                  );
               };
            };
         {
            word r←v37320;
            {
               word x153;
               word x154;
               *(float*)&r←v37320 = (
                  x153 = p1←v7960.f1,  *(float*)&x153
                  ) + (
                  x154 = p2←v7988.f1,  *(float*)&x154
                  );
               };
SOURCE(6637, 15)
            {
               word x155;
               word x156;
               *(float*)&p12←v15220.f1 = (
                  x155 = r←v37320,  *(float*)&x155
                  ) * (
                  x156 = (*  (ptr) &fc16 ),  *(float*)&x156
                  );
               };
            };
SOURCE(8867, 26)
         {
            word r←v37188;
            {
               word x157;
               word x158;
               *(float*)&r←v37188 = (
                  x157 = p10←v15192.f0,  *(float*)&x157
                  ) + (
                  x158 = p12←v15220.f0,  *(float*)&x158
                  );
               };
SOURCE(6637, 15)
            {
               word x159;
               word x160;
               *(float*)&p012←v15248.f0 = (
                  x159 = r←v37188,  *(float*)&x159
                  ) * (
                  x160 = (*  (ptr) &fc16 ),  *(float*)&x160
                  );
               };
            };
         {
            word r←v37232;
            {
               word x161;
               word x162;
               *(float*)&r←v37232 = (
                  x161 = p10←v15192.f1,  *(float*)&x161
                  ) + (
                  x162 = p12←v15220.f1,  *(float*)&x162
                  );
               };
SOURCE(6637, 15)
            {
               word x163;
               word x164;
               *(float*)&p012←v15248.f1 = (
                  x163 = r←v37232,  *(float*)&x163
                  ) * (
                  x164 = (*  (ptr) &fc16 ),  *(float*)&x164
                  );
               };
            };
SOURCE(8895, 25)
         newn←v15276 = ((* (( (ptr) &n←v14780)+i←v14808) ) - 1);
SOURCE(8922, 17)
         (*  (W2Pt) (( (ptr) (( (W4Pt) &stack←v14752)+i←v14808))+2) ) = p12←v15220;
SOURCE(8974, 11)
         (* (( (ptr) &n←v14780)+i←v14808) ) = newn←v15276;
SOURCE(8987, 30)
         i←v14808 = ((i←v14808 + 1) & 017);
SOURCE(9019, 22)
         {
            word var←c44636;
            var←c44636 = (word) (( (W4Pt) &stack←v14752)+i←v14808);
            (*  (W2Pt) var←c44636 ) = p012←v15248;
            (*  (W2Pt) (( (ptr) var←c44636)+2) ) = p10←v15192;
            };
SOURCE(9043, 11)
         (* (( (ptr) &n←v14780)+i←v14808) ) = newn←v15276;
SOURCE(9056, 30)
         i←v14808 = ((i←v14808 + 1) & 017);
         };
      };
   goto lab←L100014;
   lab←L100012: ;
   }

static void CurveTo←P1440(devicePath←v8048, p1←v8076, p2←v8104, p3←v8132)
   word devicePath←v8048;
   W2 p1←v8076;
   W2 p2←v8104;
   W2 p3←v8132;
   {
   register ptr gf←c53404 =  (ptr) &globalframe;
   word area←v15320;
   W2 p0←v15404;
   W2 q1←v15432;
   W2 q2←v15460;
   word var←c44860;
   word r←v41452;
   word var←c44892;
   word r←v41740;
   word var←c0785;
   word var←c44924;
   word limit←v34604;
   /* CurveTo: */ 
SOURCE(9104, 740)
SOURCE(9172, 23)
   area←v15320 = devicePath←v8048;
SOURCE(9358, 22)
   p0←v15404 = (*  (W2Pt) (( (ptr) area←v15320)+17) );
SOURCE(9382, 22)
   {
      word var←c44700;
      word r←v35372;
      {
         word x165;
         word x166;
         *(float*)&r←v35372 = (
            x165 = p1←v8076.f0,  *(float*)&x165
            ) - (
            x166 = p0←v15404.f0,  *(float*)&x166
            );
         };
SOURCE(6637, 15)
      {
         word x167;
         word x168;
         *(float*)&var←c44700 = (
            x167 = r←v35372,  *(float*)&x167
            ) * (
            x168 = (*  (ptr) &fc16 ),  *(float*)&x168
            );
         };
      {
         word x169;
         word x170;
         *(float*)&q1←v15432.f0 = (
            x169 = p1←v8076.f0,  *(float*)&x169
            ) + (
            x170 = var←c44700,  *(float*)&x170
            );
         };
      };
   {
      word var←c44732;
      word r←v37396;
      {
         word x171;
         word x172;
         *(float*)&r←v37396 = (
            x171 = p1←v8076.f1,  *(float*)&x171
            ) - (
            x172 = p0←v15404.f1,  *(float*)&x172
            );
         };
SOURCE(6637, 15)
      {
         word x173;
         word x174;
         *(float*)&var←c44732 = (
            x173 = r←v37396,  *(float*)&x173
            ) * (
            x174 = (*  (ptr) &fc16 ),  *(float*)&x174
            );
         };
      {
         word x175;
         word x176;
         *(float*)&q1←v15432.f1 = (
            x175 = p1←v8076.f1,  *(float*)&x175
            ) + (
            x176 = var←c44732,  *(float*)&x176
            );
         };
      };
SOURCE(9406, 22)
   {
      word var←c44796;
      word r←v37456;
      {
         word x177;
         word x178;
         *(float*)&r←v37456 = (
            x177 = p2←v8104.f0,  *(float*)&x177
            ) - (
            x178 = p3←v8132.f0,  *(float*)&x178
            );
         };
SOURCE(6637, 15)
      {
         word x179;
         word x180;
         *(float*)&var←c44796 = (
            x179 = r←v37456,  *(float*)&x179
            ) * (
            x180 = (*  (ptr) &fc16 ),  *(float*)&x180
            );
         };
      {
         word x181;
         word x182;
         *(float*)&q2←v15460.f0 = (
            x181 = p2←v8104.f0,  *(float*)&x181
            ) + (
            x182 = var←c44796,  *(float*)&x182
            );
         };
      };
   {
      word var←c44828;
      word r←v37500;
      {
         word x183;
         word x184;
         *(float*)&r←v37500 = (
            x183 = p2←v8104.f1,  *(float*)&x183
            ) - (
            x184 = p3←v8132.f1,  *(float*)&x184
            );
         };
SOURCE(6637, 15)
      {
         word x185;
         word x186;
         *(float*)&var←c44828 = (
            x185 = r←v37500,  *(float*)&x185
            ) * (
            x186 = (*  (ptr) &fc16 ),  *(float*)&x186
            );
         };
      {
         word x187;
         word x188;
         *(float*)&q2←v15460.f1 = (
            x187 = p2←v8104.f1,  *(float*)&x187
            ) + (
            x188 = var←c44828,  *(float*)&x188
            );
         };
      };
SOURCE(9430, 414)
   {
      word x195;
      word x196;
      {
         word x189;
         word x190;
         *(float*)&r←v41452 = (
            x189 = q1←v15432.f0,  *(float*)&x189
            ) - (
            x190 = q2←v15460.f0,  *(float*)&x190
            );
         };
      var←c44860 = ( (((unsigned)r←v41452 << 1) >> 1) );
      {
         word x191;
         word x192;
         *(float*)&r←v41740 = (
            x191 = q1←v15432.f1,  *(float*)&x191
            ) - (
            x192 = q2←v15460.f1,  *(float*)&x192
            );
         };
      var←c44892 = ( (((unsigned)r←v41740 << 1) >> 1) );
      {
         word x193;
         word x194;
         *(float*)&var←c0785 = (
            x193 = var←c44860,  *(float*)&x193
            ) + (
            x194 = var←c44892,  *(float*)&x194
            );
         };
      if (((
         x195 = var←c0785,  *(float*)&x195
         ) < (
         x196 = (* (( (ptr) gf←c53404)+9)/* flatHack←v3140 */  ),  *(float*)&x196
         ))) { goto then0197;};
      limit←v34604 = (* (( (ptr) area←v15320)+26) );
SOURCE(3071, 52)
      if (( (int)limit←v34604 >  (int)0)) {
         var←c44924 = 0;
         }
      else {
         var←c44924 = (word) DepthExceeded←P480(1);
         };
      if ((0 != var←c44924)) {
         then0197: ;
SOURCE(9521, 29)
         {
            word var←c44988;
            word var←c45052;
            {
               word r←v37100;
               {
                  word x198;
                  word x199;
                  *(float*)&r←v37100 = (
                     x198 = q1←v15432.f0,  *(float*)&x198
                     ) + (
                     x199 = q2←v15460.f0,  *(float*)&x199
                     );
                  };
SOURCE(6637, 15)
               {
                  word x200;
                  word x201;
                  *(float*)&var←c44988 = (
                     x200 = r←v37100,  *(float*)&x200
                     ) * (
                     x201 = (*  (ptr) &fc16 ),  *(float*)&x201
                     );
                  };
               };
            {
               word r←v37144;
               {
                  word x202;
                  word x203;
                  *(float*)&r←v37144 = (
                     x202 = q1←v15432.f1,  *(float*)&x202
                     ) + (
                     x203 = q2←v15460.f1,  *(float*)&x203
                     );
                  };
SOURCE(6637, 15)
               {
                  word x204;
                  word x205;
                  *(float*)&var←c45052 = (
                     x204 = r←v37144,  *(float*)&x204
                     ) * (
                     x205 = (*  (ptr) &fc16 ),  *(float*)&x205
                     );
                  };
               };
            {
               W2 var←c45116;
               var←c45116.f0 = var←c44988;
               var←c45116.f1 = var←c45052;
               (void) ParTo←P1380(area←v15320, var←c45116, p3←v8132);
               };
            };
         }
      else {
SOURCE(9557, 289)
         {
            W2 p01←v15768;
            W2 p12←v15796;
            W2 p23←v15824;
            W2 p012←v15852;
            W2 p123←v15880;
            W2 p0123←v15908;
SOURCE(9559, 23)
            {
               word r←v37012;
               {
                  word x206;
                  word x207;
                  *(float*)&r←v37012 = (
                     x206 = p0←v15404.f0,  *(float*)&x206
                     ) + (
                     x207 = p1←v8076.f0,  *(float*)&x207
                     );
                  };
SOURCE(6637, 15)
               {
                  word x208;
                  word x209;
                  *(float*)&p01←v15768.f0 = (
                     x208 = r←v37012,  *(float*)&x208
                     ) * (
                     x209 = (*  (ptr) &fc16 ),  *(float*)&x209
                     );
                  };
               };
            {
               word r←v37056;
               {
                  word x210;
                  word x211;
                  *(float*)&r←v37056 = (
                     x210 = p0←v15404.f1,  *(float*)&x210
                     ) + (
                     x211 = p1←v8076.f1,  *(float*)&x211
                     );
                  };
SOURCE(6637, 15)
               {
                  word x212;
                  word x213;
                  *(float*)&p01←v15768.f1 = (
                     x212 = r←v37056,  *(float*)&x212
                     ) * (
                     x213 = (*  (ptr) &fc16 ),  *(float*)&x213
                     );
                  };
               };
SOURCE(9584, 23)
            {
               word r←v36924;
               {
                  word x214;
                  word x215;
                  *(float*)&r←v36924 = (
                     x214 = p1←v8076.f0,  *(float*)&x214
                     ) + (
                     x215 = p2←v8104.f0,  *(float*)&x215
                     );
                  };
SOURCE(6637, 15)
               {
                  word x216;
                  word x217;
                  *(float*)&p12←v15796.f0 = (
                     x216 = r←v36924,  *(float*)&x216
                     ) * (
                     x217 = (*  (ptr) &fc16 ),  *(float*)&x217
                     );
                  };
               };
            {
               word r←v36968;
               {
                  word x218;
                  word x219;
                  *(float*)&r←v36968 = (
                     x218 = p1←v8076.f1,  *(float*)&x218
                     ) + (
                     x219 = p2←v8104.f1,  *(float*)&x219
                     );
                  };
SOURCE(6637, 15)
               {
                  word x220;
                  word x221;
                  *(float*)&p12←v15796.f1 = (
                     x220 = r←v36968,  *(float*)&x220
                     ) * (
                     x221 = (*  (ptr) &fc16 ),  *(float*)&x221
                     );
                  };
               };
SOURCE(9609, 23)
            {
               word r←v36836;
               {
                  word x222;
                  word x223;
                  *(float*)&r←v36836 = (
                     x222 = p2←v8104.f0,  *(float*)&x222
                     ) + (
                     x223 = p3←v8132.f0,  *(float*)&x223
                     );
                  };
SOURCE(6637, 15)
               {
                  word x224;
                  word x225;
                  *(float*)&p23←v15824.f0 = (
                     x224 = r←v36836,  *(float*)&x224
                     ) * (
                     x225 = (*  (ptr) &fc16 ),  *(float*)&x225
                     );
                  };
               };
            {
               word r←v36880;
               {
                  word x226;
                  word x227;
                  *(float*)&r←v36880 = (
                     x226 = p2←v8104.f1,  *(float*)&x226
                     ) + (
                     x227 = p3←v8132.f1,  *(float*)&x227
                     );
                  };
SOURCE(6637, 15)
               {
                  word x228;
                  word x229;
                  *(float*)&p23←v15824.f1 = (
                     x228 = r←v36880,  *(float*)&x228
                     ) * (
                     x229 = (*  (ptr) &fc16 ),  *(float*)&x229
                     );
                  };
               };
SOURCE(9634, 26)
            {
               word r←v36748;
               {
                  word x230;
                  word x231;
                  *(float*)&r←v36748 = (
                     x230 = p01←v15768.f0,  *(float*)&x230
                     ) + (
                     x231 = p12←v15796.f0,  *(float*)&x231
                     );
                  };
SOURCE(6637, 15)
               {
                  word x232;
                  word x233;
                  *(float*)&p012←v15852.f0 = (
                     x232 = r←v36748,  *(float*)&x232
                     ) * (
                     x233 = (*  (ptr) &fc16 ),  *(float*)&x233
                     );
                  };
               };
            {
               word r←v36792;
               {
                  word x234;
                  word x235;
                  *(float*)&r←v36792 = (
                     x234 = p01←v15768.f1,  *(float*)&x234
                     ) + (
                     x235 = p12←v15796.f1,  *(float*)&x235
                     );
                  };
SOURCE(6637, 15)
               {
                  word x236;
                  word x237;
                  *(float*)&p012←v15852.f1 = (
                     x236 = r←v36792,  *(float*)&x236
                     ) * (
                     x237 = (*  (ptr) &fc16 ),  *(float*)&x237
                     );
                  };
               };
SOURCE(9662, 26)
            {
               word r←v36660;
               {
                  word x238;
                  word x239;
                  *(float*)&r←v36660 = (
                     x238 = p12←v15796.f0,  *(float*)&x238
                     ) + (
                     x239 = p23←v15824.f0,  *(float*)&x239
                     );
                  };
SOURCE(6637, 15)
               {
                  word x240;
                  word x241;
                  *(float*)&p123←v15880.f0 = (
                     x240 = r←v36660,  *(float*)&x240
                     ) * (
                     x241 = (*  (ptr) &fc16 ),  *(float*)&x241
                     );
                  };
               };
            {
               word r←v36704;
               {
                  word x242;
                  word x243;
                  *(float*)&r←v36704 = (
                     x242 = p12←v15796.f1,  *(float*)&x242
                     ) + (
                     x243 = p23←v15824.f1,  *(float*)&x243
                     );
                  };
SOURCE(6637, 15)
               {
                  word x244;
                  word x245;
                  *(float*)&p123←v15880.f1 = (
                     x244 = r←v36704,  *(float*)&x244
                     ) * (
                     x245 = (*  (ptr) &fc16 ),  *(float*)&x245
                     );
                  };
               };
SOURCE(9690, 29)
            {
               word r←v36572;
               {
                  word x246;
                  word x247;
                  *(float*)&r←v36572 = (
                     x246 = p012←v15852.f0,  *(float*)&x246
                     ) + (
                     x247 = p123←v15880.f0,  *(float*)&x247
                     );
                  };
SOURCE(6637, 15)
               {
                  word x248;
                  word x249;
                  *(float*)&p0123←v15908.f0 = (
                     x248 = r←v36572,  *(float*)&x248
                     ) * (
                     x249 = (*  (ptr) &fc16 ),  *(float*)&x249
                     );
                  };
               };
            {
               word r←v36616;
               {
                  word x250;
                  word x251;
                  *(float*)&r←v36616 = (
                     x250 = p012←v15852.f1,  *(float*)&x250
                     ) + (
                     x251 = p123←v15880.f1,  *(float*)&x251
                     );
                  };
SOURCE(6637, 15)
               {
                  word x252;
                  word x253;
                  *(float*)&p0123←v15908.f1 = (
                     x252 = r←v36616,  *(float*)&x252
                     ) * (
                     x253 = (*  (ptr) &fc16 ),  *(float*)&x253
                     );
                  };
               };
SOURCE(9721, 29)
            (* (( (ptr) area←v15320)+26) ) = ((* (( (ptr) area←v15320)+26) ) - 1);
SOURCE(9752, 31)
            (void) CurveTo←P1440(area←v15320, p01←v15768, p012←v15852, p0123←v15908);
SOURCE(9785, 28)
            (void) CurveTo←P1440(area←v15320, p123←v15880, p23←v15824, p3←v8132);
SOURCE(9815, 29)
            (* (( (ptr) area←v15320)+26) ) = ((* (( (ptr) area←v15320)+26) ) + 1);
            };
         };
      };
   }

static void ConicTo←P1500(devicePath←v8192, p1←v8220, p2←v8248, r←v8276)
   word devicePath←v8192;
   W2 p1←v8220;
   W2 p2←v8248;
   word r←v8276;
   {
   register ptr gf←c53436 =  (ptr) &globalframe;
   word area←v15952;
   /* ConicTo: */ 
SOURCE(9853, 735)
SOURCE(9926, 23)
   area←v15952 = devicePath←v8192;
SOURCE(9951, 637)
   {
      word var←c45724;
      var←c45724 = r←v8276;
      {
         word x254;
         word x256;
         word x257;
         word x258;
         if (((
            x254 = var←c45724,  *(float*)&x254
            ) > (
            x256 = (*  (ptr) &fc255 ),  *(float*)&x256
            ))) {
SOURCE(9979, 16)
            (void) LineTo←P1020(area←v15952, p1←v8220);
SOURCE(9997, 17)
            (void) LineTo←P1020(area←v15952, p2←v8248);
            }
         else {
            if (((
               x257 = var←c45724,  *(float*)&x257
               ) <= (
               x258 = (*  (ptr) &fc28 ),  *(float*)&x258
               ))) {
SOURCE(10029, 17)
               (void) LineTo←P1020(area←v15952, p2←v8248);
               }
            else {
SOURCE(10060, 533)
               {
                  W2 p0←v15996;
                  W2 p02←v16024;
                  W2 m←v16052;
                  word flatness←v16080;
                  word var←c45948;
                  word limit←v34556;
SOURCE(10062, 22)
                  p0←v15996 = (*  (W2Pt) (( (ptr) area←v15952)+17) );
SOURCE(10086, 23)
                  {
                     word r←v36484;
                     {
                        word x259;
                        word x260;
                        *(float*)&r←v36484 = (
                           x259 = p0←v15996.f0,  *(float*)&x259
                           ) + (
                           x260 = p2←v8248.f0,  *(float*)&x260
                           );
                        };
SOURCE(6637, 15)
                     {
                        word x261;
                        word x262;
                        *(float*)&p02←v16024.f0 = (
                           x261 = r←v36484,  *(float*)&x261
                           ) * (
                           x262 = (*  (ptr) &fc16 ),  *(float*)&x262
                           );
                        };
                     };
                  {
                     word r←v36528;
                     {
                        word x263;
                        word x264;
                        *(float*)&r←v36528 = (
                           x263 = p0←v15996.f1,  *(float*)&x263
                           ) + (
                           x264 = p2←v8248.f1,  *(float*)&x264
                           );
                        };
SOURCE(6637, 15)
                     {
                        word x265;
                        word x266;
                        *(float*)&p02←v16024.f1 = (
                           x265 = r←v36528,  *(float*)&x265
                           ) * (
                           x266 = (*  (ptr) &fc16 ),  *(float*)&x266
                           );
                        };
                     };
SOURCE(10111, 34)
                  {
                     word x267;
                     word x268;
                     *(float*)&m←v16052.f0 = (
                        x267 = p1←v8220.f0,  *(float*)&x267
                        ) - (
                        x268 = p02←v16024.f0,  *(float*)&x268
                        );
                     };
                  {
                     word x269;
                     word x270;
                     *(float*)&m←v16052.f1 = (
                        x269 = p1←v8220.f1,  *(float*)&x269
                        ) - (
                        x270 = p02←v16024.f1,  *(float*)&x270
                        );
                     };
SOURCE(10147, 77)
                  {
                     word var←c45884;
                     {
                        word r←v41692;
                        {
                           word x271;
                           word x272;
                           *(float*)&r←v41692 = (
/*1*/   x271 = r←v8276,  *(float*)&x271
/*1*/   ) - (
/*1*/   x272 = (*  (ptr) &fc16 ),  *(float*)&x272
/*1*/   );
                           };
                        var←c45884 = ( (((unsigned)r←v41692 << 1) >> 1) );
                        };
                     {
                        word x273;
                        word x274;
                        word x275;
                        *(float*)&flatness←v16080 = ((
                           x273 = ( (((unsigned)m←v16052.f0 << 1) >> 1) ),  *(float*)&x273
                           ) + (
                           x274 = ( (((unsigned)m←v16052.f1 << 1) >> 1) ),  *(float*)&x274
                           )) * (
                           x275 = var←c45884,  *(float*)&x275
                           );
                        };
                     };
SOURCE(10226, 362)
                  {
                     word x276;
                     word x277;
                     if (((
                        x276 = flatness←v16080,  *(float*)&x276
                        ) < (
                        x277 = (* (( (ptr) gf←c53436)+9)/* flatHack←v3140 */  ),  *(float*)&x277
                        ))) { goto then0278;};
                     limit←v34556 = (* (( (ptr) area←v15952)+26) );
SOURCE(3071, 52)
                     if (( (int)limit←v34556 >  (int)0)) {
                        var←c45948 = 0;
                        }
                     else {
                        var←c45948 = (word) DepthExceeded←P480(1);
                        };
                     if ((0 != var←c45948)) {
                        then0278: ;
SOURCE(10280, 20)
                        (void) ParTo←P1380(area←v15952, p1←v8220, p2←v8248);
                        }
                     else {
SOURCE(10307, 283)
                        {
                           W2 q←v16124;
                           word rNew←v16152;
SOURCE(10309, 36)
                           {
/*1*/   word x279;
/*1*/   word x280;
/*1*/   word x281;
/*1*/   *(float*)&q←v16124.f0 = ((
/*1*/      x279 = m←v16052.f0,  *(float*)&x279
/*1*/      ) * (
/*1*/      x280 = r←v8276,  *(float*)&x280
/*1*/      )) + (
/*1*/      x281 = p02←v16024.f0,  *(float*)&x281
/*1*/      );
/*1*/   };
                           {
/*1*/   word x282;
/*1*/   word x283;
/*1*/   word x284;
/*1*/   *(float*)&q←v16124.f1 = ((
/*1*/      x282 = m←v16052.f1,  *(float*)&x282
/*1*/      ) * (
/*1*/      x283 = r←v8276,  *(float*)&x283
/*1*/      )) + (
/*1*/      x284 = p02←v16024.f1,  *(float*)&x284
/*1*/      );
/*1*/   };
SOURCE(10347, 46)
                           {
/*1*/   word x285;
/*1*/   word x286;
/*1*/   word pd287;
/*1*/   word x289;
/*1*/   word x290;
/*1*/   word x291;
/*1*/   float tf292;
/*1*/   word x293;
/*1*/   pd287 = (* (( (ptr) (* (( (ptr) gf←c53436)+130)/* var←c46044 */  ))+9) );
/*1*/   *(float*)&rNew←v16152 = (
/*1*/      x285 = (*  (ptr) &fc15 ),  *(float*)&x285
/*1*/      ) / ((
/*1*/      x286 = (*  (ptr) &fc15 ),  *(float*)&x286
/*1*/      ) + (
/*1*/      x293 = (word) ( *( (fPt) ((*  (ptr) pd287 ))))((
/*1*/            tf292 = (
/*1*/               x289 = (*  (ptr) &fc288 ),  *(float*)&x289
/*1*/               ) * ((
/*1*/               x290 = (*  (ptr) &fc15 ),  *(float*)&x290
/*1*/               ) - (
/*1*/               x291 = r←v8276,  *(float*)&x291
/*1*/               )),  *(word*)&tf292
/*1*/            ), pd287),  *(float*)&x293
/*1*/      ));
/*1*/   };
SOURCE(10395, 29)
                           (* (( (ptr) area←v15952)+26) ) = ((* (( (ptr) area←v15952)+26) ) - 1);
SOURCE(10426, 64)
                           {
/*1*/   W2 var←c46076;
/*1*/   {
/*1*/      word x294;
/*1*/      word x295;
/*1*/      word x296;
/*1*/      word x297;
/*1*/      *(float*)&var←c46076.f0 = (((
/*1*/         x294 = p1←v8220.f0,  *(float*)&x294
/*1*/         ) - (
/*1*/         x295 = p0←v15996.f0,  *(float*)&x295
/*1*/         )) * (
/*1*/         x296 = r←v8276,  *(float*)&x296
/*1*/         )) + (
/*1*/         x297 = p0←v15996.f0,  *(float*)&x297
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x298;
/*1*/      word x299;
/*1*/      word x300;
/*1*/      word x301;
/*1*/      *(float*)&var←c46076.f1 = (((
/*1*/         x298 = p1←v8220.f1,  *(float*)&x298
/*1*/         ) - (
/*1*/         x299 = p0←v15996.f1,  *(float*)&x299
/*1*/         )) * (
/*1*/         x300 = r←v8276,  *(float*)&x300
/*1*/         )) + (
/*1*/         x301 = p0←v15996.f1,  *(float*)&x301
/*1*/         );
/*1*/      };
/*1*/   (void) ConicTo←P1500(area←v15952, var←c46076, q←v16124, rNew←v16152);
/*1*/   };
SOURCE(10492, 65)
                           {
/*1*/   W2 var←c46108;
/*1*/   {
/*1*/      word x302;
/*1*/      word x303;
/*1*/      word x304;
/*1*/      word x305;
/*1*/      *(float*)&var←c46108.f0 = (((
/*1*/         x302 = p1←v8220.f0,  *(float*)&x302
/*1*/         ) - (
/*1*/         x303 = p2←v8248.f0,  *(float*)&x303
/*1*/         )) * (
/*1*/         x304 = r←v8276,  *(float*)&x304
/*1*/         )) + (
/*1*/         x305 = p2←v8248.f0,  *(float*)&x305
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x306;
/*1*/      word x307;
/*1*/      word x308;
/*1*/      word x309;
/*1*/      *(float*)&var←c46108.f1 = (((
/*1*/         x306 = p1←v8220.f1,  *(float*)&x306
/*1*/         ) - (
/*1*/         x307 = p2←v8248.f1,  *(float*)&x307
/*1*/         )) * (
/*1*/         x308 = r←v8276,  *(float*)&x308
/*1*/         )) + (
/*1*/         x309 = p2←v8248.f1,  *(float*)&x309
/*1*/         );
/*1*/      };
/*1*/   (void) ConicTo←P1500(area←v15952, var←c46108, p2←v8248, rNew←v16152);
/*1*/   };
SOURCE(10559, 29)
                           (* (( (ptr) area←v15952)+26) ) = ((* (( (ptr) area←v15952)+26) ) + 1);
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   }

static word AppendSegCount←P1620()
   {
   register ptr gf←c53468 =  (ptr) &globalframe;
   word c←v8468;
   /* AppendSegCount: */ 
SOURCE(10807, 81)
SOURCE(10850, 18)
   c←v8468 = (* (( (ptr) gf←c53468)+17)/* appendSegCount←v4176 */  );
SOURCE(10870, 18)
   (* (( (ptr) gf←c53468)+17)/* appendSegCount←v4176 */  ) = 0;
SOURCE(10807, 81)
   return(c←v8468);
   }

static void AppendFatSeg←P1740(area←v8644, point0←v8672, point1←v8700)
   word area←v8644;
   word point0←v8672;
   word point1←v8700;
   {
   /* AppendFatSeg: */ 
SOURCE(11120, 849)
SOURCE(11206, 46)
   (void) AppendSegInner←P1980(area←v8644, point0←v8672, point1←v8700, 32768);
SOURCE(11254, 86)
   {
      word x310;
      word x311;
      if (((
         x310 = (*  (ptr) point0←v8672 ),  *(float*)&x310
         ) > (
         x311 = (*  (ptr) point1←v8700 ),  *(float*)&x311
         ))) {
SOURCE(11282, 60)
         {
            word t←v16224;
SOURCE(11284, 27)
            t←v16224 = point0←v8672;
SOURCE(11313, 15)
            point0←v8672 = point1←v8700;
SOURCE(11330, 10)
            point1←v8700 = t←v16224;
            };
         };
      };
SOURCE(11345, 629)
   {
      word s0m←v16280;
      word f0m←v16308;
      word s0p←v16336;
      word f0p←v16364;
      word s1m←v16392;
      word f1m←v16420;
      word s1p←v16448;
      word f1p←v16476;
SOURCE(11351, 24)
      {
         word x312;
         word x313;
         *(float*)&s0m←v16280 = (
            x312 = (*  (ptr) point0←v8672 ),  *(float*)&x312
            ) - (
            x313 = (*  (ptr) &fc16 ),  *(float*)&x313
            );
         };
SOURCE(11377, 24)
      {
         word x314;
         word x315;
         *(float*)&f0m←v16308 = (
            x314 = (* (( (ptr) point0←v8672)+1) ),  *(float*)&x314
            ) - (
            x315 = (*  (ptr) &fc16 ),  *(float*)&x315
            );
         };
SOURCE(11403, 24)
      {
         word x316;
         word x317;
         *(float*)&s0p←v16336 = (
            x316 = (*  (ptr) point0←v8672 ),  *(float*)&x316
            ) + (
            x317 = (*  (ptr) &fc16 ),  *(float*)&x317
            );
         };
SOURCE(11429, 24)
      {
         word x318;
         word x319;
         *(float*)&f0p←v16364 = (
            x318 = (* (( (ptr) point0←v8672)+1) ),  *(float*)&x318
            ) + (
            x319 = (*  (ptr) &fc16 ),  *(float*)&x319
            );
         };
SOURCE(11455, 24)
      {
         word x320;
         word x321;
         *(float*)&s1m←v16392 = (
            x320 = (*  (ptr) point1←v8700 ),  *(float*)&x320
            ) - (
            x321 = (*  (ptr) &fc16 ),  *(float*)&x321
            );
         };
SOURCE(11481, 24)
      {
         word x322;
         word x323;
         *(float*)&f1m←v16420 = (
            x322 = (* (( (ptr) point1←v8700)+1) ),  *(float*)&x322
            ) - (
            x323 = (*  (ptr) &fc16 ),  *(float*)&x323
            );
         };
SOURCE(11507, 24)
      {
         word x324;
         word x325;
         *(float*)&s1p←v16448 = (
            x324 = (*  (ptr) point1←v8700 ),  *(float*)&x324
            ) + (
            x325 = (*  (ptr) &fc16 ),  *(float*)&x325
            );
         };
SOURCE(11533, 24)
      {
         word x326;
         word x327;
         *(float*)&f1p←v16476 = (
            x326 = (* (( (ptr) point1←v8700)+1) ),  *(float*)&x326
            ) + (
            x327 = (*  (ptr) &fc16 ),  *(float*)&x327
            );
         };
SOURCE(11716, 253)
      {
         word x328;
         word x329;
         if (((
            x328 = (* (( (ptr) point0←v8672)+1) ),  *(float*)&x328
            ) < (
            x329 = (* (( (ptr) point1←v8700)+1) ),  *(float*)&x329
            ))) {
SOURCE(11746, 25)
            {
               W2 p0←v16720;
               W2 p1←v16748;
               p0←v16720.f0 = s0m←v16280;
               p0←v16720.f1 = f0m←v16308;
               p1←v16748.f0 = s0p←v16336;
               p1←v16748.f1 = f0m←v16308;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v16720, (word) &p1←v16748, 1);
               };
SOURCE(11773, 25)
            {
               W2 p0←v39200;
               W2 p1←v39228;
               p0←v39200.f0 = s0p←v16336;
               p0←v39200.f1 = f0m←v16308;
               p1←v39228.f0 = s1p←v16448;
               p1←v39228.f1 = f1m←v16420;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v39200, (word) &p1←v39228, 1);
               };
SOURCE(11800, 25)
            {
               W2 p0←v39128;
               W2 p1←v39156;
               p0←v39128.f0 = s0m←v16280;
               p0←v39128.f1 = f0p←v16364;
               p1←v39156.f0 = s1m←v16392;
               p1←v39156.f1 = f1p←v16476;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v39128, (word) &p1←v39156,  (word) -1);
               };
SOURCE(11827, 25)
            {
               W2 p0←v39056;
               W2 p1←v39084;
               p0←v39056.f0 = s1m←v16392;
               p0←v39056.f1 = f1p←v16476;
               p1←v39084.f0 = s1p←v16448;
               p1←v39084.f1 = f1p←v16476;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v39056, (word) &p1←v39084,  (word) -1);
               };
            }
         else {
SOURCE(11863, 25)
            {
               W2 p0←v38984;
               W2 p1←v39012;
               p0←v38984.f0 = s0m←v16280;
               p0←v38984.f1 = f0m←v16308;
               p1←v39012.f0 = s1m←v16392;
               p1←v39012.f1 = f1m←v16420;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v38984, (word) &p1←v39012, 1);
               };
SOURCE(11890, 25)
            {
               W2 p0←v38912;
               W2 p1←v38940;
               p0←v38912.f0 = s1m←v16392;
               p0←v38912.f1 = f1m←v16420;
               p1←v38940.f0 = s1p←v16448;
               p1←v38940.f1 = f1m←v16420;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v38912, (word) &p1←v38940, 1);
               };
SOURCE(11917, 25)
            {
               W2 p0←v38840;
               W2 p1←v38868;
               p0←v38840.f0 = s0m←v16280;
               p0←v38840.f1 = f0p←v16364;
               p1←v38868.f0 = s0p←v16336;
               p1←v38868.f1 = f0p←v16364;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v38840, (word) &p1←v38868,  (word) -1);
               };
SOURCE(11944, 25)
            {
               W2 p0←v38768;
               W2 p1←v38796;
               p0←v38768.f0 = s0p←v16336;
               p0←v38768.f1 = f0p←v16364;
               p1←v38796.f0 = s1p←v16448;
               p1←v38796.f1 = f1p←v16476;
SOURCE(11677, 34)
               (void) AppendSegInner←P1980(area←v8644, (word) &p0←v38768, (word) &p1←v38796,  (word) -1);
               };
            };
         };
      };
   }

static void FindMagic←P1860(formal←c0278, unit←v8876)
   word formal←c0278;
   word unit←v8876;
   {
   W8 var←c53500;
   W2 var←c8920;
   /* declaration of var←c46652 skipped */ 
   /* declaration of scaleMagic←v16812 skipped */ 
   /* FindMagic: */ 
SOURCE(12092, 252)
   {
      word tmpAddr330;
      tmpAddr330 = (word) (( (ptr) &var←c53500)+4)/* var←c46652 */ ;
      (*  (ptr) tmpAddr330 ) = ( ((word)  (fPt) QRound←P4548) );
      (* (( (ptr) tmpAddr330) + 1) ) = 1;
      };
SOURCE(12140, 21)
   (*  (W2Pt) (( (ptr) &var←c53500)+6)/* scaleMagic←v16812 */  ) = (*  (W2Pt) &fc331 );
SOURCE(12253, 60)
   lab←L100049: ;
   if (( (int)(word) QRound←P4548((*  (ptr) &fc15 ), (word) (( (bPt) &var←c53500)+16)/* var←c46652 */ ) !=  (int)unit←v8876)) {
      }
   else {
      goto lab←L100047;
      };
SOURCE(12279, 34)
   XR←DRealAddI(&(* (W2Pt) ((( (ptr) &var←c53500)+6)/* scaleMagic←v16812 */ )), (( (ptr) &var←c53500)+6)/* scaleMagic←v16812 */ , (
         ( (ptr) &var←c53500)+6)/* scaleMagic←v16812 */ );
   goto lab←L100049;
   lab←L100047: ;
SOURCE(12324, 20)
   var←c8920 = (*  (W2Pt) (( (ptr) &var←c53500)+6)/* scaleMagic←v16812 */  );
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0278 ) = var←c8920;
   return;
   }

static word QRound←P4548(r←v16916, formal←c53532)
   word r←v16916;
   word formal←c53532;
   {
   word var←c16960;
   W2 d←v16988;
   formal←c53532 = (formal←c53532 - 16);
   /* QRound: */ 
SOURCE(12163, 85)
SOURCE(12204, 25)
   {
      W2 D332;
      XR←DFloatReal(&D332, r←v16916);
      XR←DRealAddI(&d←v16988, &D332, (( (ptr) formal←c53532)+6));
      };
SOURCE(12231, 17)
   return(d←v16988.f1);
   }

static void AppendSegInner←P1980(area←v9712, p0←v9740, p1←v9768, wrapDelta←v9796)
   word area←v9712;
   word p0←v9740;
   word p1←v9768;
   word wrapDelta←v9796;
   {
   register ptr gf←c53564 =  (ptr) &globalframe;
   word sMin←v17200;
   word sMax←v17228;
   /* AppendSegInner: */ 
SOURCE(13852, 1677)
SOURCE(13965, 27)
   sMin←v17200 = (word) Round←P360((*  (ptr) (p0←v9740) ));
SOURCE(13994, 27)
   sMax←v17228 = (word) Round←P360((*  (ptr) (p1←v9768) ));
SOURCE(14023, 35)
   (* (( (ptr) gf←c53564)+17)/* appendSegCount←v4176 */  ) = ((* (( (ptr) gf←c53564)+17)/* appendSegCount←v4176 */  ) + 1);
SOURCE(14060, 136)
   if (( (int)sMin←v17200 >  (int)sMax←v17228)) {
SOURCE(14082, 43)
      {
         word p←v17272;
SOURCE(14084, 23)
         p←v17272 = p0←v9740;
SOURCE(14109, 7)
         p0←v9740 = p1←v9768;
SOURCE(14118, 7)
         p1←v9768 = p←v17272;
         };
SOURCE(14128, 43)
      {
         word s←v17328;
SOURCE(14130, 17)
         s←v17328 = sMin←v17200;
SOURCE(14149, 11)
         sMin←v17200 = sMax←v17228;
SOURCE(14162, 9)
         sMax←v17228 = s←v17328;
         };
SOURCE(14174, 22)
      wrapDelta←v9796 = INEG(wrapDelta←v9796);
      };
SOURCE(14201, 1328)
   if (( (int)sMin←v17200 <  (int)sMax←v17228)) {
SOURCE(14221, 1313)
      {
         word sCount←v17372;
         W2 sAdjust←v17400;
         W2 fAdjust←v17428;
         word scaledSlope←v17456;
         word ef0←v17484;
         word ef1←v17512;
         word fMin←v17540;
         word fMax←v17568;
         word new←v17596 = 0;
SOURCE(14223, 27)
         sCount←v17372 = (sMax←v17228 - sMin←v17200);
SOURCE(14252, 112)
         sAdjust←v17400.f0 = ((IOP2( * ,  (int)sMin←v17200,  (int)65536) + 32768) - (word) ScaledFromReal←P420((*  (ptr) (p0←v9740) ))
         );
         sAdjust←v17400.f1 = IOP2( * ,  (int)(sCount←v17372 - 1),  (int)65536);
SOURCE(14456, 70)
         {
            word p0←v39288;
            word p1←v39316;
            word scaleMagic←v39344;
            word sAdjust←v39372;
            word fAdjust←v39400;
            p0←v39288 = p0←v9740;
            p1←v39316 = p1←v9768;
            scaleMagic←v39344 = (word) (( (bPt) gf←c53564)+72)/* sMagic←v4456 */ ;
            sAdjust←v39372 = (word) &sAdjust←v17400;
            fAdjust←v39400 = (word) &fAdjust←v17428;
            {
               W2 num←v17032;
               W2 denom←v17060;
               W2 slope←v17088;
               W2 magic0←v17116;
               W2 p←v17144;
               word scaledSlope←v17172;
               {
                  W2 D333;
                  W2 D334;
                  XR←DFloatReal(&D333, (* (( (ptr) p1←v39316)+1) ));
                  XR←DFloatReal(&D334, (* (( (ptr) p0←v39288)+1) ));
                  XR←DRealSubI(&num←v17032, &D333, &D334);
                  };
               {
                  W2 D335;
                  W2 D336;
                  XR←DFloatReal(&D335, (*  (ptr) p1←v39316 ));
                  XR←DFloatReal(&D336, (*  (ptr) p0←v39288 ));
                  XR←DRealSubI(&denom←v17060, &D335, &D336);
                  };
               XR←DRealDivI(&slope←v17088, &num←v17032, &denom←v17060);
               magic0←v17116 = (*  (W2Pt) scaleMagic←v39344 );
               XR←DRealAddI(&p←v17144, &slope←v17088, (( (ptr) scaleMagic←v39344)+2));
               scaledSlope←v17172 = p←v17144.f1;
SOURCE(12997, 29)
               {
                  W2 x337;
                  W2 D338;
                  XR←DFloatInt(&D338, (*  (ptr) sAdjust←v39372 ));
                  XR←DRealMulI(&x337, &slope←v17088, &D338);
                  XR←DRealAddI(&p←v17144, &x337, &magic0←v17116);
                  };
SOURCE(13028, 21)
               (*  (ptr) fAdjust←v39400 ) = p←v17144.f1;
SOURCE(13051, 29)
               {
                  W2 x339;
                  W2 D340;
                  XR←DFloatInt(&D340, (* (( (ptr) sAdjust←v39372)+1) ));
                  XR←DRealMulI(&x339, &slope←v17088, &D340);
                  XR←DRealAddI(&p←v17144, &x339, &magic0←v17116);
                  };
SOURCE(13082, 21)
               (* (( (ptr) fAdjust←v39400)+1) ) = p←v17144.f1;
SOURCE(13105, 20)
               scaledSlope←v17456 = scaledSlope←v17172;
               };
            };
SOURCE(14528, 60)
         ef0←v17484 = (((word) ScaledFromReal←P420((* ((( (ptr) p0←v9740)+1)) )) + fAdjust←v17428.f0) + 32768);
SOURCE(14590, 30)
         ef1←v17512 = (ef0←v17484 + fAdjust←v17428.f1);
SOURCE(14622, 49)
         fMin←v17540 =  (word)( (int)ef0←v17484 >> 16);
SOURCE(14673, 49)
         fMax←v17568 =  (word)( (int)ef1←v17512 >> 16);
SOURCE(14742, 61)
         if (( (int)fMin←v17540 >  (int)fMax←v17568)) {
SOURCE(14762, 41)
            {
               word t←v17712;
SOURCE(14763, 17)
               t←v17712 = fMin←v17540;
SOURCE(14782, 11)
               fMin←v17540 = fMax←v17568;
SOURCE(14795, 8)
               fMax←v17568 = t←v17712;
               };
            };
SOURCE(14806, 50)
         (* (( (ptr) area←v9712)+20) ) = ((* (( (ptr) area←v9712)+20) ) + sCount←v17372);
SOURCE(14858, 67)
         if (( (int)(* (( (ptr) area←v9712)+9) ) >  (int)fMin←v17540)) {
SOURCE(14896, 29)
            (* (( (ptr) area←v9712)+9) ) = fMin←v17540;
            };
SOURCE(14927, 67)
         if (( (int)(* (( (ptr) area←v9712)+11) ) <  (int)fMax←v17568)) {
SOURCE(14965, 29)
            (* (( (ptr) area←v9712)+11) ) = fMax←v17568;
            };
SOURCE(14996, 67)
         if (( (int)(* (( (ptr) area←v9712)+8) ) >  (int)sMin←v17200)) {
SOURCE(15034, 29)
            (* (( (ptr) area←v9712)+8) ) = sMin←v17200;
            };
SOURCE(15065, 67)
         if (( (int)(* (( (ptr) area←v9712)+10) ) <  (int)sMax←v17228)) {
SOURCE(15103, 29)
            (* (( (ptr) area←v9712)+10) ) = sMax←v17228;
            };
SOURCE(15134, 106)
         if (((* (( (ptr) area←v9712)+23) ) == 0)) {
SOURCE(15165, 19)
            new←v17596 = XR←NewObject(24, (* (( (ptr) gf←c53564)+24) ));
            }
         else {
SOURCE(15193, 20)
            new←v17596 = (* (( (ptr) area←v9712)+23) );
SOURCE(15215, 25)
            (* (( (ptr) area←v9712)+23) ) = (* (( (ptr) new←v17596)+5) );
            };
SOURCE(15245, 15)
         (*  (ptr) new←v17596 ) = sMin←v17200;
SOURCE(15262, 29)
         (* (( (ptr) new←v17596)+1) ) = sCount←v17372;
SOURCE(15293, 22)
         (* (( (ptr) new←v17596)+2) ) = ef0←v17484;
SOURCE(15317, 30)
         (* (( (ptr) new←v17596)+3) ) = scaledSlope←v17456;
SOURCE(15349, 25)
         (* (( (ptr) new←v17596)+4) ) = wrapDelta←v9796;
SOURCE(15376, 153)
         if (( (int)wrapDelta←v9796 >  (int)0)) {
SOURCE(15400, 31)
            (* (( (ptr) new←v17596)+5) ) = (* (( (ptr) area←v9712)+21) );
SOURCE(15433, 26)
            (* (( (ptr) area←v9712)+21) ) = new←v17596;
            }
         else {
SOURCE(15470, 31)
            (* (( (ptr) new←v17596)+5) ) = (* (( (ptr) area←v9712)+22) );
SOURCE(15503, 26)
            (* (( (ptr) area←v9712)+22) ) = new←v17596;
            };
         };
      };
   }

static void Check←P2040(truth←v9896)
   word truth←v9896;
   {
   register ptr gf←c53596 =  (ptr) &globalframe;
   /* Check: */ 
SOURCE(15663, 63)
SOURCE(15693, 33)
   if ((0 == truth←v9896)) {
SOURCE(15711, 15)
      (void) (XR←RaiseSignal((word) (( (bPt) gf←c53596)+100)/* var←c41788 */ , 0, 0));
      };
   }

static word Interpolate←P2100(x0←v9956, y0←v9984, x1←v10012, y1←v10040, x←v10068)
   word x0←v9956;
   word y0←v9984;
   word x1←v10012;
   word y1←v10040;
   word x←v10068;
   {
   register ptr gf←c53628 =  (ptr) &globalframe;
   word y←v10112;
   word dx0←v17756;
   word dx1←v17784;
   /* Interpolate: */ 
SOURCE(15730, 335)
SOURCE(15796, 16)
   {
      word x341;
      word x342;
      *(float*)&dx0←v17756 = (
         x341 = x←v10068,  *(float*)&x341
         ) - (
         x342 = x0←v9956,  *(float*)&x342
         );
      };
SOURCE(15814, 16)
   {
      word x343;
      word x344;
      *(float*)&dx1←v17784 = (
         x343 = x1←v10012,  *(float*)&x343
         ) - (
         x344 = x←v10068,  *(float*)&x344
         );
      };
SOURCE(15832, 58)
   if ((0 != (* (( (ptr) gf←c53628)+8)/* checking←v3084 */  ))) {
SOURCE(15849, 41)
      {
         word x345;
         word x346;
         word x347;
         word x348;
         word x349;
         word x350;
         word x351;
         word x352;
         (void) Check←P2040( (unsigned)  (  ( ((
               x345 = x←v10068,  *(float*)&x345
               ) >= (
               x346 = x0←v9956,  *(float*)&x346
               )) ? ((
               x347 = x←v10068,  *(float*)&x347
               ) <= (
               x348 = x1←v10012,  *(float*)&x348
               )) : 0 )  ? 1 :  ( ((
               x349 = x←v10068,  *(float*)&x349
               ) >= (
               x350 = x1←v10012,  *(float*)&x350
               )) ? ((
               x351 = x←v10068,  *(float*)&x351
               ) <= (
               x352 = x0←v9956,  *(float*)&x352
               )) : 0 )  ) );
         };
      };
SOURCE(15892, 113)
   {
      word x353;
      word x354;
      if (((
         x353 = ( (((unsigned)dx0←v17756 << 1) >> 1) ),  *(float*)&x353
         ) <= (
         x354 = ( (((unsigned)dx1←v17784 << 1) >> 1) ),  *(float*)&x354
         ))) {
SOURCE(15943, 34)
         {
            word x355;
            word x356;
            word x357;
            word x358;
            word x359;
            word x360;
            *(float*)&y←v10112 = (
               x355 = y0←v9984,  *(float*)&x355
               ) + (((
               x356 = y1←v10040,  *(float*)&x356
               ) - (
               x357 = y0←v9984,  *(float*)&x357
               )) * ((
               x358 = dx0←v17756,  *(float*)&x358
               ) / ((
               x359 = x1←v10012,  *(float*)&x359
               ) - (
               x360 = x0←v9956,  *(float*)&x360
               ))));
            };
         }
      else {
SOURCE(15977, 28)
         {
            word x361;
            word x362;
            word x363;
            word x364;
            word x365;
            word x366;
            *(float*)&y←v10112 = (
               x361 = y1←v10040,  *(float*)&x361
               ) - (((
               x362 = y1←v10040,  *(float*)&x362
               ) - (
               x363 = y0←v9984,  *(float*)&x363
               )) * ((
               x364 = dx1←v17784,  *(float*)&x364
               ) / ((
               x365 = x1←v10012,  *(float*)&x365
               ) - (
               x366 = x0←v9956,  *(float*)&x366
               ))));
            };
         };
      };
SOURCE(16007, 58)
   if ((0 != (* (( (ptr) gf←c53628)+8)/* checking←v3084 */  ))) {
SOURCE(16024, 41)
      {
         word x367;
         word x368;
         word x369;
         word x370;
         word x371;
         word x372;
         word x373;
         word x374;
         (void) Check←P2040( (unsigned)  (  ( ((
               x367 = y←v10112,  *(float*)&x367
               ) >= (
               x368 = y0←v9984,  *(float*)&x368
               )) ? ((
               x369 = y←v10112,  *(float*)&x369
               ) <= (
               x370 = y1←v10040,  *(float*)&x370
               )) : 0 )  ? 1 :  ( ((
               x371 = y←v10112,  *(float*)&x371
               ) >= (
               x372 = y1←v10040,  *(float*)&x372
               )) ? ((
               x373 = y←v10112,  *(float*)&x373
               ) <= (
               x374 = y0←v9984,  *(float*)&x374
               )) : 0 )  ) );
         };
      };
SOURCE(15730, 335)
   return(y←v10112);
   }

static void ClipSeg←P2160(area←v10172, p0←v10200, r0←v10228, p1←v10256, r1←v10284)
   word area←v10172;
   W2 p0←v10200;
   word r0←v10228;
   W2 p1←v10256;
   word r1←v10284;
   {
   register ptr gf←c53660 =  (ptr) &globalframe;
   W4 clip←v17856;
   /* ClipSeg: */ 
SOURCE(16071, 1102)
SOURCE(16212, 154)
   clip←v17856.f0 = (* (( (ptr) area←v10172)+4) );
   clip←v17856.f1 = (* (( (ptr) area←v10172)+6) );
   clip←v17856.f2 = (* (( (ptr) area←v10172)+5) );
   clip←v17856.f3 = (* (( (ptr) area←v10172)+7) );
SOURCE(16368, 691)
   {
      register word b←v17916 = 0;
      lab←L100054: ;
      if ( ( (((word) r0←v10228 >> (31 - (word) (b←v17916 + 28))) & 1) ? ((word) r1←v10284 >> (31 - (word) (b←v17916 + 28))) & 1 : 0 ) ) {
SOURCE(16455, 74)
         if (((word) 12 >> (3 - (word) b←v17916)) & 1) {
SOURCE(16476, 22)
            {
               word var←c46972;
               var←c46972 = (* (( (ptr) &clip←v17856)+b←v17916) );
               p1←v10256.f0 = var←c46972;
               p0←v10200.f0 = var←c46972;
               };
            }
         else {
SOURCE(16507, 22)
            {
               word var←c47004;
               var←c47004 = (* (( (ptr) &clip←v17856)+b←v17916) );
               p1←v10256.f1 = var←c47004;
               p0←v10200.f1 = var←c47004;
               };
            };
SOURCE(16532, 13)
         (*  (ptr) &r0←v10228 ) &= ~((unsigned) 1 << 32 - ((word) (b←v17916 + 28)+1));
SOURCE(16547, 13)
         (*  (ptr) &r1←v10284 ) &= ~((unsigned) 1 << 32 - ((word) (b←v17916 + 28)+1));
         }
      else {
         if (((word) r0←v10228 >> (31 - (word) (b←v17916 + 28))) & 1 || ((word) r1←v10284 >> (31 - (word) (b←v17916 + 28))) & 1) {
SOURCE(16583, 481)
            {
               W2 cut←v17960;
SOURCE(16585, 159)
               if (((word) 12 >> (3 - (word) b←v17916)) & 1) {
                  {
                     W2 var←c47036;
                     var←c47036.f0 = (* (( (ptr) &clip←v17856)+b←v17916) );
                     var←c47036.f1 = (word) Interpolate←P2100(p0←v10200.f0, p0←v10200.f1, p1←v10256.f0, p1←v10256.f1, (* (( (ptr) &clip←v17856)+b←v17916)
                         ));
                     cut←v17960 = var←c47036;
                     };
                  }
               else {
                  {
                     W2 var←c47068;
                     var←c47068.f0 = (word) Interpolate←P2100(p0←v10200.f1, p0←v10200.f0, p1←v10256.f1, p1←v10256.f0, (* (( (ptr) &clip←v17856)+b←v17916)
                         ));
                     var←c47068.f1 = (* (( (ptr) &clip←v17856)+b←v17916) );
                     cut←v17960 = var←c47068;
                     };
                  };
SOURCE(16746, 313)
               if (((word) r0←v10228 >> (31 - (word) (b←v17916 + 28))) & 1) {
SOURCE(16762, 107)
                  if (((word) 12 >> (3 - (word) b←v17916)) & 1) {
SOURCE(16781, 47)
                     {
                        word area←v38040;
                        W2 point0←v38068;
                        W2 point1←v38096;
                        area←v38040 = area←v10172;
                        point0←v38068.f0 = cut←v17960.f0;
                        point0←v38068.f1 = p0←v10200.f1;
                        point1←v38096 = cut←v17960;
SOURCE(11003, 113)
                        if (( (int)(* (( (ptr) area←v38040)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                           (void) AppendFatSeg←P1740(area←v38040, (word) &point0←v38068, (word) &point1←v38096);
                           }
                        else {
SOURCE(11067, 49)
                           (void) AppendSegInner←P1980(area←v38040, (word) &point0←v38068, (word) &point1←v38096, 32768);
                           };
                        };
                     }
                  else {
SOURCE(16828, 41)
                     {
                        word area←v37936;
                        W2 point0←v37964;
                        W2 point1←v37992;
                        area←v37936 = area←v10172;
                        point0←v37964.f0 = p0←v10200.f0;
                        point0←v37964.f1 = cut←v17960.f1;
                        point1←v37992 = cut←v17960;
SOURCE(11003, 113)
                        if (( (int)(* (( (ptr) area←v37936)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                           (void) AppendFatSeg←P1740(area←v37936, (word) &point0←v37964, (word) &point1←v37992);
                           }
                        else {
SOURCE(11067, 49)
                           (void) AppendSegInner←P1980(area←v37936, (word) &point0←v37964, (word) &point1←v37992, 32768);
                           };
                        };
                     };
SOURCE(16871, 8)
                  p0←v10200 = cut←v17960;
SOURCE(16881, 24)
                  {
                     word var←c47164;
                     word region←v34696;
                     {
                        word x375;
                        word x376;
                        word x377;
                        word x378;
                        word x379;
                        word x380;
                        word x381;
                        word x382;
                        region←v34696 = (((word) (((word) (((word)  (unsigned) ((
                           x375 = cut←v17960.f0,  *(float*)&x375
                           ) < (
                           x376 = (* (( (ptr) area←v10172)+4) ),  *(float*)&x376
                           )) << 1) +  (unsigned) ((
                           x377 = cut←v17960.f0,  *(float*)&x377
                           ) > (
                           x378 = (* (( (ptr) area←v10172)+6) ),  *(float*)&x378
                           ))) << 1) +  (unsigned) ((
                           x379 = cut←v17960.f1,  *(float*)&x379
                           ) < (
                           x380 = (* (( (ptr) area←v10172)+5) ),  *(float*)&x380
                           ))) << 1) +  (unsigned) ((
                           x381 = cut←v17960.f1,  *(float*)&x381
                           ) > (
                           x382 = (* (( (ptr) area←v10172)+7) ),  *(float*)&x382
                           )));
                        };
SOURCE(5662, 16)
                     var←c47164 = region←v34696;
                     r0←v10228 = var←c47164;
                     };
                  }
               else {
SOURCE(16916, 107)
                  if (((word) 12 >> (3 - (word) b←v17916)) & 1) {
SOURCE(16935, 47)
                     {
                        word area←v37832;
                        W2 point0←v37860;
                        W2 point1←v37888;
                        area←v37832 = area←v10172;
                        point0←v37860 = cut←v17960;
                        point1←v37888.f0 = cut←v17960.f0;
                        point1←v37888.f1 = p1←v10256.f1;
SOURCE(11003, 113)
                        if (( (int)(* (( (ptr) area←v37832)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                           (void) AppendFatSeg←P1740(area←v37832, (word) &point0←v37860, (word) &point1←v37888);
                           }
                        else {
SOURCE(11067, 49)
                           (void) AppendSegInner←P1980(area←v37832, (word) &point0←v37860, (word) &point1←v37888, 32768);
                           };
                        };
                     }
                  else {
SOURCE(16982, 41)
                     {
                        word area←v37728;
                        W2 point0←v37756;
                        W2 point1←v37784;
                        area←v37728 = area←v10172;
                        point0←v37756 = cut←v17960;
                        point1←v37784.f0 = p1←v10256.f0;
                        point1←v37784.f1 = cut←v17960.f1;
SOURCE(11003, 113)
                        if (( (int)(* (( (ptr) area←v37728)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                           (void) AppendFatSeg←P1740(area←v37728, (word) &point0←v37756, (word) &point1←v37784);
                           }
                        else {
SOURCE(11067, 49)
                           (void) AppendSegInner←P1980(area←v37728, (word) &point0←v37756, (word) &point1←v37784, 32768);
                           };
                        };
                     };
SOURCE(17025, 8)
                  p1←v10256 = cut←v17960;
SOURCE(17035, 24)
                  {
                     word var←c47292;
                     word region←v34652;
                     {
                        word x383;
                        word x384;
                        word x385;
                        word x386;
                        word x387;
                        word x388;
                        word x389;
                        word x390;
                        region←v34652 = (((word) (((word) (((word)  (unsigned) ((
                           x383 = cut←v17960.f0,  *(float*)&x383
                           ) < (
                           x384 = (* (( (ptr) area←v10172)+4) ),  *(float*)&x384
                           )) << 1) +  (unsigned) ((
                           x385 = cut←v17960.f0,  *(float*)&x385
                           ) > (
                           x386 = (* (( (ptr) area←v10172)+6) ),  *(float*)&x386
                           ))) << 1) +  (unsigned) ((
                           x387 = cut←v17960.f1,  *(float*)&x387
                           ) < (
                           x388 = (* (( (ptr) area←v10172)+5) ),  *(float*)&x388
                           ))) << 1) +  (unsigned) ((
                           x389 = cut←v17960.f1,  *(float*)&x389
                           ) > (
                           x390 = (* (( (ptr) area←v10172)+7) ),  *(float*)&x390
                           )));
                        };
SOURCE(5662, 16)
                     var←c47292 = region←v34652;
                     r1←v10284 = var←c47292;
                     };
                  };
               };
            };
         };
      if ((b←v17916 >= 3)) {
         goto lab←L100051;
         };
      b←v17916 = (b←v17916 + 1);
      goto lab←L100054;
      lab←L100051: ;
      };
SOURCE(17093, 54)
   if ((0 != (* (( (ptr) gf←c53660)+8)/* checking←v3084 */  ))) {
SOURCE(17110, 37)
      {
         word var←c47356;
         var←c47356 =  (unsigned) ((word) XRM←BITOR(r0←v10228, r1←v10284) == 0);
         (void) Check←P2040(var←c47356);
         };
      };
SOURCE(17149, 24)
   {
      word area←v37624;
      W2 point0←v37652;
      W2 point1←v37680;
      area←v37624 = area←v10172;
      point0←v37652 = p0←v10200;
      point1←v37680 = p1←v10256;
SOURCE(11003, 113)
      if (( (int)(* (( (ptr) area←v37624)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
         (void) AppendFatSeg←P1740(area←v37624, (word) &point0←v37652, (word) &point1←v37680);
         }
      else {
SOURCE(11067, 49)
         (void) AppendSegInner←P1980(area←v37624, (word) &point0←v37652, (word) &point1←v37680, 32768);
         };
      };
   }

static word MSort←P2280(e←v10448, sCompare←v10476, terminator←v10504)
   word e←v10448;
   word sCompare←v10476;
   word terminator←v10504;
   {
   word var←c10548;
   word n←v18004 = 0;
   word x←v18032;
   word y←v18060;
   word tail←v18088;
   /* MSort: */ 
SOURCE(17286, 487)
SOURCE(17375, 12)
   x←v18032 = e←v10448;
SOURCE(17389, 21)
   y←v18060 = terminator←v10504;
SOURCE(17412, 15)
   tail←v18088 = e←v10448;
SOURCE(17429, 115)
   lab←L100059: ;
   if ((x←v18032 != terminator←v10504)) {
      }
   else {
      goto lab←L100057;
      };
SOURCE(17453, 10)
   x←v18032 = (* (( (ptr) x←v18032)+5) );
SOURCE(17465, 9)
   n←v18004 = (n←v18004 + 1);
SOURCE(17476, 23)
   if ((x←v18032 == terminator←v10504)) {
SOURCE(17499, 4)
      goto lab←L100058;
      };
SOURCE(17505, 10)
   x←v18032 = (* (( (ptr) x←v18032)+5) );
SOURCE(17517, 9)
   n←v18004 = (n←v18004 + 1);
SOURCE(17528, 16)
   tail←v18088 = (* (( (ptr) tail←v18088)+5) );
   goto lab←L100059;
   lab←L100057: ;
   lab←L100058: ;
SOURCE(17555, 55)
   if (( (int)n←v18004 <=  (int)10)) {
SOURCE(17571, 39)
      return((word) ISort←P2400(e←v10448, sCompare←v10476, terminator←v10504));
      };
SOURCE(17612, 5)
   x←v18032 = e←v10448;
SOURCE(17619, 13)
   y←v18060 = (* (( (ptr) tail←v18088)+5) );
SOURCE(17634, 22)
   (* (( (ptr) tail←v18088)+5) ) = terminator←v10504;
SOURCE(17658, 34)
   x←v18032 = (word) MSort←P2280(x←v18032, sCompare←v10476, terminator←v10504);
SOURCE(17694, 34)
   y←v18060 = (word) MSort←P2280(y←v18060, sCompare←v10476, terminator←v10504);
SOURCE(17730, 43)
   return((word) Merge←P2340(x←v18032, y←v18060, sCompare←v10476, terminator←v10504));
   }

static word Merge←P2340(x←v10608, y←v10636, sCompare←v10664, terminator←v10692)
   word x←v10608;
   word y←v10636;
   word sCompare←v10664;
   word terminator←v10692;
   {
   word var←c10736;
   word new←v18160;
   word tail←v18188;
   word var←c47452;
   word a←v39696;
   word b←v39724;
   /* Merge: */ 
SOURCE(17777, 645)
SOURCE(18011, 14)
   new←v18160 = x←v10608;
SOURCE(18027, 24)
   tail←v18188 = terminator←v10692;
SOURCE(18053, 33)
   if ((x←v10608 == terminator←v10692)) {
SOURCE(18076, 10)
      return(y←v10636);
      };
SOURCE(18088, 33)
   if ((y←v10636 == terminator←v10692)) {
SOURCE(18111, 10)
      return(x←v10608);
      };
SOURCE(18123, 43)
   a←v39696 = x←v10608;
   b←v39724 = y←v10636;
SOURCE(17905, 103)
   if ((0 != sCompare←v10664)) {
      var←c47452 =  (unsigned) ( (int)(*  (ptr) a←v39696 ) >  (int)(*  (ptr) b←v39724 ));
      }
   else {
      {
         word var←c47516;
         word a←v41060;
         word var←c47548;
         word a←v41012;
         a←v41060 = (* (( (ptr) a←v39696)+2) );
         var←c47516 =  (word)( (int)a←v41060 >> 16);
         a←v41012 = (* (( (ptr) b←v39724)+2) );
         var←c47548 =  (word)( (int)a←v41012 >> 16);
         var←c47452 =  (unsigned) ( (int)var←c47516 >  (int)var←c47548);
         };
      };
   if (((0 != var←c47452)
   )) {
SOURCE(18141, 7)
      new←v18160 = y←v10636;
SOURCE(18151, 5)
      y←v10636 = x←v10608;
SOURCE(18159, 7)
      x←v10608 = new←v18160;
      };
SOURCE(18169, 253)
   lab←L100065: ;
SOURCE(18172, 96)
   lab←L100068: ;
   {
      word var←c47580;
      word a←v39620;
      word b←v39648;
SOURCE(18175, 8)
      tail←v18188 = x←v10608;
SOURCE(18186, 10)
      x←v10608 = (* (( (ptr) x←v10608)+5) );
SOURCE(18198, 50)
      if ((x←v10608 == terminator←v10692)) {
SOURCE(18222, 13)
         (* (( (ptr) tail←v18188)+5) ) = y←v10636;
SOURCE(18237, 11)
         return(new←v18160);
         };
SOURCE(18251, 17)
      a←v39620 = x←v10608;
      b←v39648 = y←v10636;
SOURCE(17905, 103)
      if ((0 != sCompare←v10664)) {
         var←c47580 =  (unsigned) ( (int)(*  (ptr) a←v39620 ) >  (int)(*  (ptr) b←v39648 ));
         }
      else {
         {
            word var←c47644;
            word a←v41204;
            word var←c47676;
            word a←v41252;
            a←v41204 = (* (( (ptr) a←v39620)+2) );
            var←c47644 =  (word)( (int)a←v41204 >> 16);
            a←v41252 = (* (( (ptr) b←v39648)+2) );
            var←c47676 =  (word)( (int)a←v41252 >> 16);
            var←c47580 =  (unsigned) ( (int)var←c47644 >  (int)var←c47676);
            };
         };
      if (((0 != var←c47580)
      )) {
SOURCE(18268, 4)
         goto lab←L100067;
         };
      };
   goto lab←L100068;
   lab←L100067: ;
SOURCE(18283, 13)
   (* (( (ptr) tail←v18188)+5) ) = y←v10636;
SOURCE(18298, 96)
   lab←L100074: ;
   {
      word var←c47708;
      word a←v39544;
      word b←v39572;
SOURCE(18301, 8)
      tail←v18188 = y←v10636;
SOURCE(18312, 10)
      y←v10636 = (* (( (ptr) y←v10636)+5) );
SOURCE(18324, 50)
      if ((y←v10636 == terminator←v10692)) {
SOURCE(18348, 13)
         (* (( (ptr) tail←v18188)+5) ) = x←v10608;
SOURCE(18363, 11)
         return(new←v18160);
         };
SOURCE(18377, 17)
      a←v39544 = y←v10636;
      b←v39572 = x←v10608;
SOURCE(17905, 103)
      if ((0 != sCompare←v10664)) {
         var←c47708 =  (unsigned) ( (int)(*  (ptr) a←v39544 ) >  (int)(*  (ptr) b←v39572 ));
         }
      else {
         {
            word var←c47772;
            word a←v41108;
            word var←c47804;
            word a←v41156;
            a←v41108 = (* (( (ptr) a←v39544)+2) );
            var←c47772 =  (word)( (int)a←v41108 >> 16);
            a←v41156 = (* (( (ptr) b←v39572)+2) );
            var←c47804 =  (word)( (int)a←v41156 >> 16);
            var←c47708 =  (unsigned) ( (int)var←c47772 >  (int)var←c47804);
            };
         };
      if (((0 != var←c47708)
      )) {
SOURCE(18394, 4)
         goto lab←L100073;
         };
      };
   goto lab←L100074;
   lab←L100073: ;
SOURCE(18409, 13)
   (* (( (ptr) tail←v18188)+5) ) = x←v10608;
   goto lab←L100065;
   }

static word ISort←P2400(e←v10796, sCompare←v10824, terminator←v10852)
   word e←v10796;
   word sCompare←v10824;
   word terminator←v10852;
   {
   word var←c10896;
   word unconsumed←v18364;
   word new←v18392;
   /* ISort: */ 
SOURCE(18437, 663)
SOURCE(18514, 21)
   unconsumed←v18364 = e←v10796;
SOURCE(18537, 23)
   new←v18392 = terminator←v10852;
SOURCE(18562, 515)
   lab←L100080: ;
   if ((unconsumed←v18364 != terminator←v10852)) {
      }
   else {
      goto lab←L100078;
      };
   {
      word link←v18436;
      word current←v18464;
      word a←v18492;
      word v←v18520;
      word p←v18548;
SOURCE(18595, 29)
      link←v18436 = (* (( (ptr) unconsumed←v18364)+5) );
SOURCE(18626, 27)
      current←v18464 = unconsumed←v18364;
SOURCE(18655, 14)
      a←v18492 = new←v18392;
SOURCE(18671, 78)
      if ((0 != sCompare←v10824)) {
         v←v18520 = (*  (ptr) current←v18464 );
         }
      else {
         {
            word var←c47836;
            word a←v40964;
            a←v40964 = (* (( (ptr) current←v18464)+2) );
            var←c47836 =  (word)( (int)a←v40964 >> 16);
            v←v18520 = var←c47836;
            };
         };
SOURCE(18751, 21)
      p←v18548 = terminator←v10852;
SOURCE(18774, 172)
      if ((0 != sCompare←v10824)) {
SOURCE(18793, 63)
         lab←L100084: ;
         if ( ( (a←v18492 != terminator←v10852) ? ( (int)v←v18520 >  (int)(*  (ptr) a←v18492 )) : 0 ) ) {
            }
         else {
            goto lab←L100082;
            };
SOURCE(18830, 5)
         p←v18548 = a←v18492;
SOURCE(18837, 19)
         a←v18492 = (* (( (ptr) a←v18492)+5) );
         goto lab←L100084;
         lab←L100082: ;
         }
      else {
SOURCE(18865, 81)
         {
            word var←c47868;
            word a←v40916;
            lab←L100087: ;
            {
               word tc391;
               if ((a←v18492 != terminator←v10852)) {
                  a←v40916 = (* (( (ptr) a←v18492)+2) );
                  var←c47868 =  (word)( (int)a←v40916 >> 16);
                  tc391 =  (word) ( (int)v←v18520 >  (int)var←c47868);
                  }
               else {
                  tc391 =  (word) 0;
                  };
               if (tc391) {
                  }
               else {
                  goto lab←L100085;
                  };
               };
SOURCE(18920, 5)
            p←v18548 = a←v18492;
SOURCE(18927, 19)
            a←v18492 = (* (( (ptr) a←v18492)+5) );
            goto lab←L100087;
            lab←L100085: ;
            };
         };
SOURCE(18949, 108)
      if ((p←v18548 == terminator←v10852)) {
SOURCE(18974, 18)
         (* (( (ptr) current←v18464)+5) ) = new←v18392;
SOURCE(18994, 14)
         new←v18392 = current←v18464;
         }
      else {
SOURCE(19017, 21)
         (* (( (ptr) current←v18464)+5) ) = (* (( (ptr) p←v18548)+5) );
SOURCE(19040, 17)
         (* (( (ptr) p←v18548)+5) ) = current←v18464;
         };
SOURCE(19060, 17)
      unconsumed←v18364 = link←v18436;
      };
   goto lab←L100080;
   lab←L100078: ;
SOURCE(19088, 12)
   return(new←v18392);
   }

static word SortF←P2460(e←v10956, s←v10984)
   word e←v10956;
   word s←v10984;
   {
   word var←c11028;
   word n←v18592 = 0;
   word null←v18620;
   /* SortF: */ 
SOURCE(19106, 287)
SOURCE(19173, 15)
   null←v18620 = e←v10956;
SOURCE(19190, 73)
   lab←L100091: ;
   if ( ( (null←v18620 != 0) ? ( (int)(*  (ptr) null←v18620 ) ==  (int)s←v10984) : 0 ) ) {
      }
   else {
      goto lab←L100089;
      };
SOURCE(19228, 16)
   null←v18620 = (* (( (ptr) null←v18620)+5) );
SOURCE(19246, 17)
   n←v18592 = (n←v18592 + 1);
   goto lab←L100091;
   lab←L100089: ;
SOURCE(19265, 71)
   if (( (int)n←v18592 <=  (int)10)) {
SOURCE(19281, 55)
      return((word) ISort←P2400(e←v10956, 0, null←v18620));
      };
SOURCE(19338, 55)
   return((word) MSort←P2280(e←v10956, 0, null←v18620));
   }

static word CountCrossings←P2520(e←v11088)
   word e←v11088;
   {
   word n←v11132;
   /* CountCrossings: */ 
SOURCE(19399, 108)
SOURCE(19399, 108)
   n←v11132 = 0;
SOURCE(19456, 51)
   lab←L100094: ;
   if ((e←v11088 != 0)) {
      }
   else {
      goto lab←L100092;
      };
SOURCE(19471, 16)
   n←v11132 = (n←v11132 + (* (( (ptr) e←v11088)+1) ));
SOURCE(19489, 18)
   e←v11088 = (* (( (ptr) e←v11088)+5) );
   goto lab←L100094;
   lab←L100092: ;
SOURCE(19399, 108)
   return(n←v11132);
   }

static void CheckMonotone←P2580(area←v11192)
   word area←v11192;
   {
   register ptr gf←c53692 =  (ptr) &globalframe;
   word sSize←v18664 = 0;
   /* CheckMonotone: */ 
SOURCE(19513, 492)
SOURCE(19566, 42)
   if (((* (( (ptr) area←v11192)+12) ) == 2)) {
SOURCE(19597, 11)
      (void) Close←P960(area←v11192);
      };
SOURCE(19610, 53)
   sSize←v18664 = ((* (( (ptr) area←v11192)+10) ) - (* (( (ptr) area←v11192)+8) ));
SOURCE(19665, 137)
   if (( (int)sSize←v18664 <=  (int)0) ||  ( ( (int)(* (( (ptr) area←v11192)+13) ) ==  (int)1) ? ( (int)(* (( (ptr) area←v11192)+20)
    ) ==  (int)(sSize←v18664 + sSize←v18664)) : 0 ) ) {
SOURCE(19746, 35)
      (* (( (ptr) area←v11192)+12) ) = 4;
      }
   else {
SOURCE(19781, 21)
      (* (( (ptr) area←v11192)+12) ) = 3;
      };
SOURCE(19804, 50)
   {
      word var←c47964;
      {
         word var←c47996;
         word e←v39496;
         e←v39496 = (* (( (ptr) area←v11192)+21) );
SOURCE(17227, 53)
         var←c47996 = (word) MSort←P2280(e←v39496, 1, 0);
         var←c47964 = var←c47996;
         };
      (* (( (ptr) area←v11192)+21) ) = var←c47964;
      };
SOURCE(19856, 50)
   {
      word var←c48060;
      {
         word var←c48092;
         word e←v39448;
         e←v39448 = (* (( (ptr) area←v11192)+22) );
SOURCE(17227, 53)
         var←c48092 = (word) MSort←P2280(e←v39448, 1, 0);
         var←c48060 = var←c48092;
         };
      (* (( (ptr) area←v11192)+22) ) = var←c48060;
      };
SOURCE(19908, 97)
   if ( ( (0 != (* (( (ptr) gf←c53692)+8)/* checking←v3084 */  )) ? ( (int)(word) CountCrossings←P2520((* ((( (ptr) area←v11192)+21)
      ) )) !=  (int)(word) CountCrossings←P2520((* ((( (ptr) area←v11192)+22)) ))) : 0 ) ) {
SOURCE(20005, 5)
      (void) XR←RaiseUnnamedError();
      };
   }

static void AdvanceTo←P2640(formal←c0422, e←v11252, s←v11280)
   word formal←c0422;
   W6 e←v11252;
   word s←v11280;
   {
   W6 var←c11324;
   /* AdvanceTo: */ 
SOURCE(20016, 334)
SOURCE(20079, 56)
   lab←L100100: ;
   if ( ( ( (int)(e←v11252.f0 + e←v11252.f1) <=  (int)s←v11280) ? (e←v11252.f5 != 0) : 0 ) ) {
      }
   else {
      goto lab←L100098;
      };
SOURCE(20124, 11)
   e←v11252 = (*  (W6Pt) e←v11252.f5 );
   goto lab←L100100;
   lab←L100098: ;
SOURCE(20146, 180)
   if (( (int)(e←v11252.f0 + e←v11252.f1) <=  (int)s←v11280)) {
SOURCE(20177, 12)
      e←v11252.f1 = 0;
SOURCE(20191, 22)
      e←v11252.f0 = 2147483647;
      }
   else {
SOURCE(20224, 102)
      lab←L100103: ;
      if (( (int)e←v11252.f0 <  (int)s←v11280)) {
         }
      else {
         goto lab←L100101;
         };
SOURCE(20244, 19)
      e←v11252.f0 = (e←v11252.f0 + 1);
SOURCE(20265, 23)
      {
         word idx392;
         e←v11252.f1 = (
            idx392 = (word) (e←v11252.f1 - 1),
            SGNCK(idx392)
            );
         };
SOURCE(20290, 36)
      {
         word i←v32508;
         i←v32508 = (e←v11252.f2 + e←v11252.f3);
         e←v11252.f2 = i←v32508;
         };
      goto lab←L100103;
      lab←L100101: ;
      };
SOURCE(20340, 10)
   var←c11324 = e←v11252;
   /* removed tail goto */ 
   (*  (W6Pt) formal←c0422 ) = var←c11324;
   return;
   }

static word CopyEdges←P2700(area←v11384, src←v11412, sMin←v11440, sMax←v11468)
   word area←v11384;
   word src←v11412;
   word sMin←v11440;
   word sMax←v11468;
   {
   register ptr gf←c53724 =  (ptr) &globalframe;
   word result←v11512;
   word head←v18708;
   word last←v18736;
   /* CopyEdges: */ 
SOURCE(20356, 644)
SOURCE(20356, 644)
   result←v11512 = 0;
SOURCE(20446, 75)
   head←v18708 =  ( ((* (( (ptr) area←v11384)+23) ) == 0) ? XR←NewObject(24, (* (( (ptr) gf←c53724)+24) )) : (* (( (ptr) area←v11384)+23)
    ) ) ;
SOURCE(20523, 18)
   last←v18736 = head←v18708;
SOURCE(20543, 349)
   lab←L100107: ;
   if ((src←v11412 != 0)) {
      }
   else {
      goto lab←L100105;
      };
   {
      word s0←v18780;
      word s1←v18808;
SOURCE(20562, 22)
      s0←v18780 = (*  (ptr) src←v11412 );
SOURCE(20586, 27)
      s1←v18808 = (s0←v18780 + (* (( (ptr) src←v11412)+1) ));
SOURCE(20615, 27)
      if (( (int)s0←v18780 <  (int)sMin←v11440)) {
SOURCE(20633, 9)
         s0←v18780 = sMin←v11440;
         };
SOURCE(20644, 27)
      if (( (int)s1←v18808 >  (int)sMax←v11468)) {
SOURCE(20662, 9)
         s1←v18808 = sMax←v11468;
         };
SOURCE(20673, 200)
      if (( (int)s0←v18780 <  (int)s1←v18808)) {
SOURCE(20691, 48)
         if (((* (( (ptr) last←v18736)+5) ) == 0)) {
SOURCE(20715, 24)
            (* (( (ptr) last←v18736)+5) ) = XR←NewObject(24, (* (( (ptr) gf←c53724)+24) ));
            };
SOURCE(20741, 16)
         last←v18736 = (* (( (ptr) last←v18736)+5) );
SOURCE(20759, 20)
         (*  (ptr) last←v18736 ) = (*  (ptr) src←v11412 );
SOURCE(20781, 24)
         (* (( (ptr) last←v18736)+1) ) = (* (( (ptr) src←v11412)+1) );
SOURCE(20807, 16)
         (* (( (ptr) last←v18736)+2) ) = (* (( (ptr) src←v11412)+2) );
SOURCE(20825, 16)
         (* (( (ptr) last←v18736)+3) ) = (* (( (ptr) src←v11412)+3) );
SOURCE(20843, 30)
         (* (( (ptr) last←v18736)+4) ) = (* (( (ptr) src←v11412)+4) );
         };
SOURCE(20878, 14)
      src←v11412 = (* (( (ptr) src←v11412)+5) );
      };
   goto lab←L100107;
   lab←L100105: ;
SOURCE(20903, 99)
   {
      word t←v18852;
SOURCE(20905, 20)
      t←v18852 = (* (( (ptr) last←v18736)+5) );
SOURCE(20927, 15)
      (* (( (ptr) last←v18736)+5) ) = 0;
SOURCE(20944, 18)
      result←v11512 = (* (( (ptr) head←v18708)+5) );
SOURCE(20964, 13)
      (* (( (ptr) head←v18708)+5) ) = t←v18852;
SOURCE(20979, 21)
      (* (( (ptr) area←v11384)+23) ) = head←v18708;
      };
SOURCE(20356, 644)
   return(result←v11512);
   }

static void AdvanceEdge←P2760(p←v11572, bbMinS←v11600)
   word p←v11572;
   word bbMinS←v11600;
   {
   /* AdvanceEdge: */ 
SOURCE(21009, 491)
SOURCE(21059, 441)
   lab←L100110: ;
   if ( ( (p←v11572 != 0) ? ( (int)(*  (ptr) p←v11572 ) <  (int)bbMinS←v11600) : 0 ) ) {
      }
   else {
      goto lab←L100108;
      };
   {
      word edge←v18896;
      word sMin←v18924;
SOURCE(21096, 14)
      edge←v18896 = p←v11572;
SOURCE(21112, 25)
      sMin←v18924 = (*  (ptr) edge←v18896 );
SOURCE(21139, 336)
      if (( (int)sMin←v18924 <  (int)bbMinS←v11600)) {
SOURCE(21161, 316)
         {
            word sCount←v18968;
            word f0←v18996;
            word df←v19024;
SOURCE(21163, 29)
            sCount←v18968 = (* (( (ptr) edge←v18896)+1) );
SOURCE(21194, 32)
            f0←v18996 = (* (( (ptr) edge←v18896)+2) );
SOURCE(21228, 32)
            df←v19024 = (* (( (ptr) edge←v18896)+3) );
SOURCE(21262, 91)
            lab←L100113: ;
            if (( (int)sMin←v18924 <  (int)bbMinS←v11600)) {
               }
            else {
               goto lab←L100111;
               };
SOURCE(21285, 15)
            sMin←v18924 = (sMin←v18924 + 1);
SOURCE(21302, 19)
            sCount←v18968 = (sCount←v18968 - 1);
SOURCE(21323, 30)
            {
               word var←c48252;
               word i←v40616;
               i←v40616 = (f0←v18996 + df←v19024);
               var←c48252 = i←v40616;
               f0←v18996 = var←c48252;
               };
            goto lab←L100113;
            lab←L100111: ;
SOURCE(21364, 12)
            (* (( (ptr) edge←v18896)+2) ) = f0←v18996;
SOURCE(21378, 30)
            (* (( (ptr) edge←v18896)+1) ) = sCount←v18968;
SOURCE(21459, 16)
            (*  (ptr) edge←v18896 ) = sMin←v18924;
            };
         };
SOURCE(21480, 8)
      p←v11572 = edge←v18896;
SOURCE(21490, 10)
      p←v11572 = (* (( (ptr) p←v11572)+5) );
      };
   goto lab←L100110;
   lab←L100108: ;
   }

static word Validate←P2820(area←v11660)
   word area←v11660;
   {
   word nPieces←v11704;
   W501 nCross←v19068;
   word s←v19096 = 2147483648;
   /* Validate: */ 
SOURCE(21515, 685)
SOURCE(21515, 685)
   nPieces←v11704 = 0;
SOURCE(21574, 49)
   XR←FillWords(&nCross←v19068, 501, 0);
SOURCE(21645, 221)
   {
      register word e←v19176;
      e←v19176 = (* (( (ptr) area←v11660)+21) );
      lab←L100118: ;
      if ((e←v19176 != 0)) {
         }
      else {
         goto lab←L100115;
         };
SOURCE(21706, 90)
      {
         register word s←v19220;
         register word noName←c48316;
         s←v19220 = (*  (ptr) e←v19176 );
         noName←c48316 = ((*  (ptr) e←v19176 ) + (* (( (ptr) e←v19176)+1) ));
         if (( (int)s←v19220 >=  (int)noName←c48316)) {
            goto lab←L100119;
            };
         lab←L100122: ;
SOURCE(21749, 47)
         if ( ( ( (int)s←v19220 >=  (int)0) ? ( (int)s←v19220 <=  (int)500) : 0 ) ) {
SOURCE(21771, 25)
            (* (( (ptr) &nCross←v19068)+BCK(s←v19220, 501)) ) = ((* (( (ptr) &nCross←v19068)+BCK(s←v19220, 501)) ) + 1);
            };
         s←v19220 = (s←v19220 + 1);
         if (( (int)s←v19220 <  (int)noName←c48316)) {
            goto lab←L100122;
            };
         lab←L100119: ;
         };
SOURCE(21807, 19)
      if (( (int)(*  (ptr) e←v19176 ) <  (int)s←v19096)) {
SOURCE(21826, 5)
         (void) XR←RaiseUnnamedError();
         };
SOURCE(21833, 10)
      s←v19096 = (*  (ptr) e←v19176 );
SOURCE(21845, 21)
      nPieces←v11704 = (nPieces←v11704 + 1);
      e←v19176 = (* (( (ptr) e←v19176)+5) );
      goto lab←L100118;
      lab←L100115: ;
      };
SOURCE(21877, 13)
   s←v19096 = 2147483648;
SOURCE(21892, 221)
   {
      register word e←v19264;
      e←v19264 = (* (( (ptr) area←v11660)+22) );
      lab←L100126: ;
      if ((e←v19264 != 0)) {
         }
      else {
         goto lab←L100123;
         };
SOURCE(21953, 90)
      {
         register word s←v19308;
         register word noName←c48348;
         s←v19308 = (*  (ptr) e←v19264 );
         noName←c48348 = ((*  (ptr) e←v19264 ) + (* (( (ptr) e←v19264)+1) ));
         if (( (int)s←v19308 >=  (int)noName←c48348)) {
            goto lab←L100127;
            };
         lab←L100130: ;
SOURCE(21996, 47)
         if ( ( ( (int)s←v19308 >=  (int)0) ? ( (int)s←v19308 <=  (int)500) : 0 ) ) {
SOURCE(22018, 25)
            (* (( (ptr) &nCross←v19068)+BCK(s←v19308, 501)) ) = ((* (( (ptr) &nCross←v19068)+BCK(s←v19308, 501)) ) - 1);
            };
         s←v19308 = (s←v19308 + 1);
         if (( (int)s←v19308 <  (int)noName←c48348)) {
            goto lab←L100130;
            };
         lab←L100127: ;
         };
SOURCE(22054, 19)
      if (( (int)(*  (ptr) e←v19264 ) <  (int)s←v19096)) {
SOURCE(22073, 5)
         (void) XR←RaiseUnnamedError();
         };
SOURCE(22080, 10)
      s←v19096 = (*  (ptr) e←v19264 );
SOURCE(22092, 21)
      nPieces←v11704 = (nPieces←v11704 + 1);
      e←v19264 = (* (( (ptr) e←v19264)+5) );
      goto lab←L100126;
      lab←L100123: ;
      };
SOURCE(22124, 48)
   {
      register word i←v19352 = 0;
      if (( (int)i←v19352 >  (int)500)) {
         goto lab←L100131;
         };
      lab←L100134: ;
SOURCE(22150, 22)
      if (( (int)(* (( (ptr) &nCross←v19068)+BCK(i←v19352, 501)) ) !=  (int)0)) {
SOURCE(22172, 13)
         (void) XR←RaiseUnnamedError();
         };
      if (( (int)i←v19352 >=  (int)500)) {
         goto lab←L100131;
         };
      i←v19352 = (i←v19352 + 1);
      goto lab←L100134;
      lab←L100131: ;
      };
SOURCE(22187, 13)
   s←v19096 = 2147483648;
SOURCE(21515, 685)
   return(nPieces←v11704);
   }

static void ConvertMonotone←P2940(area←v11868, boxAction←v11896, clipBox←v11924)
   word area←v11868;
   word boxAction←v11896;
   W4 clipBox←v11924;
   {
   register ptr gf←c53756 =  (ptr) &globalframe;
   W4 bb←v19396;
   W12 e←v19424;
   word s←v19452;
   word assert←v19480;
   W4 currentBox←v19508;
   /* ConvertMonotone: */ 
SOURCE(22382, 1449)
SOURCE(22475, 52)
   {
      word pd393;
      pd393 = (* (( (ptr) (* (( (ptr) gf←c53756)+131)/* var←c48380 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd393 ))))((word) &bb←v19396, clipBox←v11924, (*  (W4Pt) (( (ptr) area←v11868)+8) ), pd393);
      };
SOURCE(22529, 130)
   {
      W6 var←c48476;
      {
         W6 var←c48508;
         word edges←v39820;
         edges←v39820 = (* (( (ptr) area←v11868)+21) );
SOURCE(22262, 116)
         var←c48508.f0 = 2147483648;
         var←c48508.f1 = 0;
         var←c48508.f2 = 0;
         var←c48508.f3 = 0;
         var←c48508.f4 = 0;
         var←c48508.f5 = edges←v39820;
         var←c48476 = var←c48508;
         };
      {
         W6 var←c0462;
         (void) AdvanceTo←P2640((word) &var←c0462, var←c48476, bb←v19396.f0);
         (*  (W6Pt) &e←v19424 ) = var←c0462;
         };
      };
   {
      W6 var←c48604;
      {
         W6 var←c48636;
         word edges←v39772;
         edges←v39772 = (* (( (ptr) area←v11868)+22) );
SOURCE(22262, 116)
         var←c48636.f0 = 2147483648;
         var←c48636.f1 = 0;
         var←c48636.f2 = 0;
         var←c48636.f3 = 0;
         var←c48636.f4 = 0;
         var←c48636.f5 = edges←v39772;
         var←c48604 = var←c48636;
         };
      {
         W6 var←c0466;
         (void) AdvanceTo←P2640((word) &var←c0466, var←c48604, bb←v19396.f0);
         (*  (W6Pt) (( (ptr) &e←v19424)+6) ) = var←c0466;
         };
      };
SOURCE(22661, 22)
   s←v19452 = (*  (ptr) &e←v19424 );
SOURCE(22685, 42)
   {
      word idx394;
      assert←v19480 = (
         idx394 = (word) ( (unsigned) ( (int)s←v19452 ==  (int)(* (( (ptr) &e←v19424)+6) )) - 1),
         BCK(idx394, 1)
         );
      };
SOURCE(22729, 23)
   currentBox←v19508.f0 = 0;
   currentBox←v19508.f1 = 0;
   currentBox←v19508.f2 = 0;
   currentBox←v19508.f3 = 0;
SOURCE(22754, 1013)
   lab←L100139: ;
   if (( (int)s←v19452 <  (int)bb←v19396.f2)) {
      }
   else {
      goto lab←L100137;
      };
   {
      word f0←v19608;
      word f1←v19636;
      word var←c48732;
      word a←v40868;
      word var←c48764;
      word a←v40820;
      word var←c48924;
      word var←c49052;
SOURCE(22793, 108)
      a←v40868 = (* (( (ptr) &e←v19424)+2) );
      var←c48732 =  (word)( (int)a←v40868 >> 16);
      a←v40820 = (* (( (ptr) &e←v19424)+8) );
      var←c48764 =  (word)( (int)a←v40820 >> 16);
      if (( (int)var←c48732 >  (int)var←c48764)) {
SOURCE(22859, 44)
         {
            W6 t←v19680;
SOURCE(22861, 17)
            t←v19680 = (*  (W6Pt) &e←v19424 );
SOURCE(22880, 11)
            (*  (W6Pt) &e←v19424 ) = (*  (W6Pt) (( (ptr) &e←v19424)+6) );
SOURCE(22893, 8)
            (*  (W6Pt) (( (ptr) &e←v19424)+6) ) = t←v19680;
            };
         };
SOURCE(22906, 47)
      {
         word var←c48796;
         word a←v40772;
         a←v40772 = (* (( (ptr) &e←v19424)+2) );
         var←c48796 =  (word)( (int)a←v40772 >> 16);
         {
            word x395;
            f0←v19608 = (x395 = bb←v19396.f1,
               MAX((int)(word), var←c48796, x395));
            };
         };
SOURCE(22955, 47)
      {
         word var←c48828;
         word a←v40724;
         a←v40724 = (* (( (ptr) &e←v19424)+8) );
         var←c48828 =  (word)( (int)a←v40724 >> 16);
         {
            word x396;
            f1←v19636 = (x396 = bb←v19396.f3,
               MIN((int)(word), var←c48828, x396));
            };
         };
SOURCE(23004, 443)
      if ( (  ( ( (int)s←v19452 ==  (int)currentBox←v19508.f2) ? ( (int)f0←v19608 ==  (int)currentBox←v19508.f1) : 0 )  ? ( (int)f1←v19636 ==  (int)currentBox←v19508.f3) : 0 ) ) {
SOURCE(23087, 231)
         if ( ( ((* (( (ptr) &e←v19424)+3) ) == 0) ? ((* (( (ptr) &e←v19424)+9) ) == 0) : 0 ) ) {
SOURCE(23151, 169)
            {
               word d0←v19724;
               word d1←v19752;
               word d←v19780;
SOURCE(23153, 25)
               d0←v19724 = (* (( (ptr) &e←v19424)+1) );
SOURCE(23180, 25)
               d1←v19752 = (* (( (ptr) &e←v19424)+7) );
SOURCE(23207, 40)
               {
                  word x397;
                  word x398;
                  d←v19780 = ((x397 = MIN((int)(word), d0←v19724, d1←v19752),
                     x398 = (bb←v19396.f2 - s←v19452),
                     MIN((int)(word), x397, x398)) - 1);
                  };
SOURCE(23249, 28)
               (* (( (ptr) &e←v19424)+1) ) = (d0←v19724 - d←v19780);
SOURCE(23279, 28)
               (* (( (ptr) &e←v19424)+7) ) = (d1←v19752 - d←v19780);
SOURCE(23309, 9)
               s←v19452 = (s←v19452 + d←v19780);
               };
            };
SOURCE(23323, 24)
         currentBox←v19508.f2 = (s←v19452 + 1);
         }
      else {
SOURCE(23358, 53)
         {
            word pd399;
            pd399 = (* (( (ptr) (* (( (ptr) gf←c53756)+131)/* var←c48380 */  ))+13) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd399 ))))(currentBox←v19508, pd399))) {
SOURCE(23390, 21)
               (void) ( *( (fPt) ((*  (ptr) boxAction←v11896 ))))(currentBox←v19508, boxAction←v11896);
               };
            };
SOURCE(23413, 34)
         currentBox←v19508.f0 = s←v19452;
         currentBox←v19508.f1 = f0←v19608;
         currentBox←v19508.f2 = (s←v19452 + 1);
         currentBox←v19508.f3 = f1←v19636;
         };
SOURCE(23450, 151)
      {
         word idx400;
         var←c48924 = (
            idx400 = (word) ((* (( (ptr) &e←v19424)+1) ) - 1),
            SGNCK(idx400)
            );
         };
      (* (( (ptr) &e←v19424)+1) ) = var←c48924;
      if ((var←c48924 == 0)) {
SOURCE(23494, 52)
         if (((* (( (ptr) &e←v19424)+5) ) == 0)) {
SOURCE(23518, 10)
            goto lab←L100138;
            }
         else {
SOURCE(23528, 18)
            (*  (W6Pt) &e←v19424 ) = (*  (W6Pt) (* (( (ptr) &e←v19424)+5) ) );
            };
         }
      else {
SOURCE(23555, 46)
         {
            word a←v40496;
            word b←v40524;
            a←v40496 = (* (( (ptr) &e←v19424)+2) );
            b←v40524 = (* (( (ptr) &e←v19424)+3) );
            {
               word i←v40572;
               i←v40572 = (a←v40496 + b←v40524);
               (* (( (ptr) &e←v19424)+2) ) = i←v40572;
               };
            };
         };
SOURCE(23604, 151)
      {
         word idx401;
         var←c49052 = (
            idx401 = (word) ((* (( (ptr) &e←v19424)+7) ) - 1),
            SGNCK(idx401)
            );
         };
      (* (( (ptr) &e←v19424)+7) ) = var←c49052;
      if ((var←c49052 == 0)) {
SOURCE(23648, 52)
         if (((* (( (ptr) &e←v19424)+11) ) == 0)) {
SOURCE(23672, 10)
            goto lab←L100138;
            }
         else {
SOURCE(23682, 18)
            (*  (W6Pt) (( (ptr) &e←v19424)+6) ) = (*  (W6Pt) (* (( (ptr) &e←v19424)+11) ) );
            };
         }
      else {
SOURCE(23709, 46)
         {
            word a←v40376;
            word b←v40404;
            a←v40376 = (* (( (ptr) &e←v19424)+8) );
            b←v40404 = (* (( (ptr) &e←v19424)+9) );
            {
               word i←v40452;
               i←v40452 = (a←v40376 + b←v40404);
               (* (( (ptr) &e←v19424)+8) ) = i←v40452;
               };
            };
         };
SOURCE(23758, 9)
      s←v19452 = (s←v19452 + 1);
      };
   goto lab←L100139;
   lab←L100137: ;
   lab←L100138: ;
SOURCE(23778, 53)
   {
      word pd402;
      pd402 = (* (( (ptr) (* (( (ptr) gf←c53756)+131)/* var←c48380 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd402 ))))(currentBox←v19508, pd402))) {
SOURCE(23810, 21)
         (void) ( *( (fPt) ((*  (ptr) boxAction←v11896 ))))(currentBox←v19508, boxAction←v11896);
         };
      };
   }

static void Fill←P3000(dst←v11984, formal←c0799, formal←c0800)
   word dst←v11984;
   word formal←c0799;
   word formal←c0800;
   {
   W8 var←c53788;
   /* declaration of area←v12012 skipped */ 
   /* declaration of oddWrap←v12040 skipped */ 
   register ptr gf←c53820 =  (ptr) &globalframe;
   /* declaration of var←c49180 skipped */ 
   var←c53788.f4/* area←v12012 */  = formal←c0799;
   var←c53788.f5/* oddWrap←v12040 */  = formal←c0800;
   /* Fill: */ 
SOURCE(23837, 195)
   {
      word tmpAddr403;
      tmpAddr403 = (word) (( (ptr) &var←c53788)+6)/* var←c49180 */ ;
      (*  (ptr) tmpAddr403 ) = ( ((word)  (fPt) boxes←P5580) );
      (* (( (ptr) tmpAddr403) + 1) ) = 1;
      };
SOURCE(23998, 34)
   {
      word pd404;
      pd404 = (* (( (ptr) (* (( (ptr) gf←c53820)+132)/* var←c49212 */  ))+58) );
      (void) ( *( (fPt) ((*  (ptr) pd404 ))))(dst←v11984, (word) (( (bPt) &var←c53788)+24)/* var←c49180 */ ,  (word) -1, 0, pd404)
      ;
      };
   }

static void boxes←P5580(boxAction←v32820, formal←c53884)
   word boxAction←v32820;
   word formal←c53884;
   {
   register ptr gf←c53852 =  (ptr) &globalframe;
   formal←c53884 = (formal←c53884 - 24);
   /* boxes: */ 
SOURCE(23917, 78)
SOURCE(23944, 51)
SOURCE(27835, 90)
   (void) ConvertToBoxes←P3600((* (( (ptr) formal←c53884)+4) ), (* (( (ptr) formal←c53884)+5) ), (*  (W4Pt) (( (ptr) gf←c53852)+126)
      /* var←c43452 */  ), boxAction←v32820);
   }

static word CreatePath←P3060(path←v12112, transformation←v12140, clipBox←v12168)
   word path←v12112;
   word transformation←v12140;
   W4 clipBox←v12168;
   {
   word var←c12212;
   word devicePath←v19868;
   /* CreatePath: */ 
SOURCE(24114, 222)
SOURCE(24229, 33)
   devicePath←v19868 = (word) Create←P600();
SOURCE(24264, 50)
   (void) SetPath←P3120(devicePath←v19868, path←v12112, transformation←v12140, clipBox←v12168);
SOURCE(24316, 20)
   return(devicePath←v19868);
   }

static void SetPath←P3120(devicePath←v12272, path←v12300, transformation←v12328, clipBox←v12356)
   word devicePath←v12272;
   word path←v12300;
   word transformation←v12328;
   W4 clipBox←v12356;
   {
   W13 var←c53916;
   register ptr gf←c53948 =  (ptr) &globalframe;
   /* declaration of var←c49244 skipped */ 
   /* declaration of var←c49276 skipped */ 
   /* declaration of var←c49308 skipped */ 
   /* declaration of var←c49340 skipped */ 
   /* declaration of area←v19912 skipped */ 
   /* SetPath: */ 
SOURCE(24340, 622)
   {
      word tmpAddr405;
      tmpAddr405 = (word) (( (ptr) &var←c53916)+4)/* var←c49244 */ ;
      (*  (ptr) tmpAddr405 ) = ( ((word)  (fPt) conicTo←P5880) );
      (* (( (ptr) tmpAddr405) + 1) ) = 1;
      };
   {
      word tmpAddr406;
      tmpAddr406 = (word) (( (ptr) &var←c53916)+6)/* var←c49276 */ ;
      (*  (ptr) tmpAddr406 ) = ( ((word)  (fPt) curveTo←P5820) );
      (* (( (ptr) tmpAddr406) + 1) ) = 1;
      };
   {
      word tmpAddr407;
      tmpAddr407 = (word) (( (ptr) &var←c53916)+8)/* var←c49308 */ ;
      (*  (ptr) tmpAddr407 ) = ( ((word)  (fPt) lineTo←P5760) );
      (* (( (ptr) tmpAddr407) + 1) ) = 1;
      };
   {
      word tmpAddr408;
      tmpAddr408 = (word) (( (ptr) &var←c53916)+10)/* var←c49340 */ ;
      (*  (ptr) tmpAddr408 ) = ( ((word)  (fPt) moveTo←P5700) );
      (* (( (ptr) tmpAddr408) + 1) ) = 1;
      };
SOURCE(24461, 23)
   (* (( (ptr) &var←c53916)+12)/* area←v19912 */  ) = devicePath←v12272;
SOURCE(24817, 24)
   (void) SetBounds←P780((* (( (ptr) &var←c53916)+12)/* area←v19912 */  ), clipBox←v12356);
SOURCE(24843, 119)
   {
      word pd409;
      pd409 = (* (( (ptr) (* (( (ptr) gf←c53948)+133)/* var←c49372 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd409 ))))(path←v12300, transformation←v12328, (word) (( (bPt) &var←c53916)+40)/* var←c49340 */ , (word) (
            ( (bPt) &var←c53916)+32)/* var←c49308 */ , (word) (( (bPt) &var←c53916)+24)/* var←c49276 */ , (word) (( (bPt) &var←c53916)+16)
         /* var←c49244 */ 
         , 0, 0, pd409);
      };
   }

static void moveTo←P5700(p←v32880, formal←c53980)
   W2 p←v32880;
   word formal←c53980;
   {
   formal←c53980 = (formal←c53980 - 40);
   /* moveTo: */ 
SOURCE(24558, 53)
SOURCE(24592, 19)
   {
      W2 var←c49404;
      var←c49404.f0 = p←v32880.f0;
      var←c49404.f1 = p←v32880.f1;
      (void) MoveTo←P900((* (( (ptr) formal←c53980)+12) ), var←c49404);
      };
   }

static void lineTo←P5760(p1←v32940, formal←c54012)
   W2 p1←v32940;
   word formal←c54012;
   {
   formal←c54012 = (formal←c54012 - 32);
   /* lineTo: */ 
SOURCE(24614, 56)
SOURCE(24648, 22)
   {
      word area←v35052;
      W2 pt←v35080;
      area←v35052 = (* (( (ptr) formal←c54012)+12) );
      pt←v35080.f0 = p1←v32940.f0;
      pt←v35080.f1 = p1←v32940.f1;
SOURCE(6187, 394)
      {
         word tc410;
         word tc411;
         word tc412;
         word tc413;
         word x414;
         word x415;
         word x416;
         word x417;
         word x418;
         word x419;
         word x420;
         word x421;
         if (( (unsigned) ((* (( (bPt) area←v35052)+79) ) & 017) == 0)) {
            tc413 =  (word) ((
               x414 = pt←v35080.f0,  *(float*)&x414
               ) >= (
               x415 = (* (( (ptr) area←v35052)+4) ),  *(float*)&x415
               ));
            }
         else {
            tc413 =  (word) 0;
            };
         if (tc413) {
            tc412 =  (word) ((
               x416 = pt←v35080.f0,  *(float*)&x416
               ) <= (
               x417 = (* (( (ptr) area←v35052)+6) ),  *(float*)&x417
               ));
            }
         else {
            tc412 =  (word) 0;
            };
         if (tc412) {
            tc411 =  (word) ((
               x418 = pt←v35080.f1,  *(float*)&x418
               ) >= (
               x419 = (* (( (ptr) area←v35052)+5) ),  *(float*)&x419
               ));
            }
         else {
            tc411 =  (word) 0;
            };
         if (tc411) {
            tc410 =  (word) ((
               x420 = pt←v35080.f1,  *(float*)&x420
               ) <= (
               x421 = (* (( (ptr) area←v35052)+7) ),  *(float*)&x421
               ));
            }
         else {
            tc410 =  (word) 0;
            };
         if (tc410) {
SOURCE(6362, 32)
            {
               word area←v38664;
               W2 point0←v38692;
               W2 point1←v38720;
               area←v38664 = area←v35052;
               point0←v38692 = (*  (W2Pt) (( (ptr) area←v35052)+17) );
               point1←v38720 = pt←v35080;
SOURCE(11003, 113)
               if (( (int)(* (( (ptr) area←v38664)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                  (void) AppendFatSeg←P1740(area←v38664, (word) &point0←v38692, (word) &point1←v38720);
                  }
               else {
SOURCE(11067, 49)
                  (void) AppendSegInner←P1980(area←v38664, (word) &point0←v38692, (word) &point1←v38720, 32768);
                  };
               };
SOURCE(6396, 16)
            (*  (W2Pt) (( (ptr) area←v35052)+17) ) = pt←v35080;
            }
         else {
            {
               word region←v35128;
               {
                  word region←v35172;
                  {
                     word x422;
                     word x423;
                     word x424;
                     word x425;
                     word x426;
                     word x427;
                     word x428;
                     word x429;
                     region←v35172 = (((word) (((word) (((word)  (unsigned) ((
                        x422 = pt←v35080.f0,  *(float*)&x422
                        ) < (
                        x423 = (* (( (ptr) area←v35052)+4) ),  *(float*)&x423
                        )) << 1) +  (unsigned) ((
                        x424 = pt←v35080.f0,  *(float*)&x424
                        ) > (
                        x425 = (* (( (ptr) area←v35052)+6) ),  *(float*)&x425
                        ))) << 1) +  (unsigned) ((
                        x426 = pt←v35080.f1,  *(float*)&x426
                        ) < (
                        x427 = (* (( (ptr) area←v35052)+5) ),  *(float*)&x427
                        ))) << 1) +  (unsigned) ((
                        x428 = pt←v35080.f1,  *(float*)&x428
                        ) > (
                        x429 = (* (( (ptr) area←v35052)+7) ),  *(float*)&x429
                        )));
                     };
SOURCE(5662, 16)
                  region←v35128 = region←v35172;
                  };
SOURCE(6460, 77)
               (void) ClipSeg←P2160(area←v35052, (*  (W2Pt) (( (ptr) area←v35052)+17) ),  (unsigned) ((* (( (bPt) area←v35052)+79) ) & 017), pt←v35080, region←v35128)
               ;
SOURCE(6539, 16)
               (*  (W2Pt) (( (ptr) area←v35052)+17) ) = pt←v35080;
SOURCE(6557, 24)
               {
                  word tadr430;
                  tadr430 = (word) (( (ptr) area←v35052) + 19);
                  (*  (ptr) tadr430 ) = ((*  (ptr) tadr430 ) & 4294967280) | ((word) (region←v35128 & 017));
                  };
               };
            };
         };
      };
   }

static void curveTo←P5820(p1←v33000, p2←v33028, p3←v33056, formal←c54044)
   W2 p1←v33000;
   W2 p2←v33028;
   W2 p3←v33056;
   word formal←c54044;
   {
   formal←c54044 = (formal←c54044 - 24);
   /* curveTo: */ 
SOURCE(24673, 71)
SOURCE(24709, 35)
   {
      W2 var←c49532;
      W2 var←c49564;
      W2 var←c49596;
      var←c49532.f0 = p1←v33000.f0;
      var←c49532.f1 = p1←v33000.f1;
      var←c49564.f0 = p2←v33028.f0;
      var←c49564.f1 = p2←v33028.f1;
      var←c49596.f0 = p3←v33056.f0;
      var←c49596.f1 = p3←v33056.f1;
      (void) CurveTo←P1440((* (( (ptr) formal←c54044)+12) ), var←c49532, var←c49564, var←c49596);
      };
   }

static void conicTo←P5880(p1←v33116, p2←v33144, r←v33172, formal←c54076)
   W2 p1←v33116;
   W2 p2←v33144;
   word r←v33172;
   word formal←c54076;
   {
   formal←c54076 = (formal←c54076 - 16);
   /* conicTo: */ 
SOURCE(24747, 67)
SOURCE(24783, 31)
   {
      W2 var←c49628;
      W2 var←c49660;
      var←c49628.f0 = p1←v33116.f0;
      var←c49628.f1 = p1←v33116.f1;
      var←c49660.f0 = p2←v33144.f0;
      var←c49660.f1 = p2←v33144.f1;
      (void) ConicTo←P1500((* (( (ptr) formal←c54076)+12) ), var←c49628, var←c49660, r←v33172);
      };
   }

static void ObjectsFromPath←P3180(path←v12416, formal←c0801, formal←c0802, devicePath←v12500)
   word path←v12416;
   W4 formal←c0801;
   word formal←c0802;
   word devicePath←v12500;
   {
   W20 var←c54108;
   /* declaration of clipBox←v12444 skipped */ 
   /* declaration of objectProc←v12472 skipped */ 
   register ptr gf←c54140 =  (ptr) &globalframe;
   /* declaration of var←c49692 skipped */ 
   /* declaration of var←c49724 skipped */ 
   /* declaration of var←c49756 skipped */ 
   /* declaration of var←c49788 skipped */ 
   /* declaration of var←c49820 skipped */ 
   /* declaration of area←v20200 skipped */ 
   (*  (W4Pt) (( (ptr) &var←c54108)+4)/* clipBox←v12444 */  ) = formal←c0801;
   (* (( (ptr) &var←c54108)+8)/* objectProc←v12472 */  ) = formal←c0802;
   /* ObjectsFromPath: */ 
SOURCE(24968, 954)
   {
      word tmpAddr431;
      tmpAddr431 = (word) (( (ptr) &var←c54108)+9)/* var←c49692 */ ;
      (*  (ptr) tmpAddr431 ) = ( ((word)  (fPt) conicTo←P6240) );
      (* (( (ptr) tmpAddr431) + 1) ) = 1;
      };
   {
      word tmpAddr432;
      tmpAddr432 = (word) (( (ptr) &var←c54108)+11)/* var←c49724 */ ;
      (*  (ptr) tmpAddr432 ) = ( ((word)  (fPt) curveTo←P6180) );
      (* (( (ptr) tmpAddr432) + 1) ) = 1;
      };
   {
      word tmpAddr433;
      tmpAddr433 = (word) (( (ptr) &var←c54108)+13)/* var←c49756 */ ;
      (*  (ptr) tmpAddr433 ) = ( ((word)  (fPt) lineTo←P6120) );
      (* (( (ptr) tmpAddr433) + 1) ) = 1;
      };
   {
      word tmpAddr434;
      tmpAddr434 = (word) (( (ptr) &var←c54108)+15)/* var←c49788 */ ;
      (*  (ptr) tmpAddr434 ) = ( ((word)  (fPt) moveTo←P6060) );
      (* (( (ptr) tmpAddr434) + 1) ) = 1;
      };
   {
      word tmpAddr435;
      tmpAddr435 = (word) (( (ptr) &var←c54108)+17)/* var←c49820 */ ;
      (*  (ptr) tmpAddr435 ) = ( ((word)  (fPt) boxGenerator←P6000) );
      (* (( (ptr) tmpAddr435) + 1) ) = 1;
      };
SOURCE(25122, 23)
   (* (( (ptr) &var←c54108)+19)/* area←v20200 */  ) = devicePath←v12500;
SOURCE(25689, 24)
   (void) SetBounds←P780((* (( (ptr) &var←c54108)+19)/* area←v20200 */  ), (*  (W4Pt) (( (ptr) &var←c54108)+4)/* clipBox←v12444 */  ))
   ;
SOURCE(25715, 84)
   (void) ( *( (fPt) ((*  (ptr) path←v12416 ))))((word) (( (bPt) &var←c54108)+60)/* var←c49788 */ , (word) (( (bPt) &var←c54108)+52)
      /* var←c49756 */ , (word) (( (bPt) &var←c54108)+44)/* var←c49724 */ , (word) (( (bPt) &var←c54108)+36)/* var←c49692 */ , 0, path←v12416)
   ;
SOURCE(25801, 11)
   (void) Close←P960((* ((( (ptr) &var←c54108)+19)/* area←v20200 */ ) ));
SOURCE(25814, 108)
   {
      word pd436;
      pd436 = (* (( (ptr) (* (( (ptr) gf←c54140)+131)/* var←c48380 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd436 ))))((*  (W4Pt) ((( (ptr) (* (( (ptr) &var←c54108)+19)/* area←v20200 */  ))+8)
         ) ), pd436))) {
SOURCE(25854, 42)
         {
            word pd437;
            pd437 = (* (( (ptr) &var←c54108)+8)/* objectProc←v12472 */  );
            (void) ( *( (fPt) ((*  (ptr) pd437 ))))((*  (W4Pt) (( (ptr) (* (( (ptr) &var←c54108)+19)/* area←v20200 */  ))+8) ), (word) (
                  ( (bPt) &var←c54108)+68)/* var←c49820 */ , pd437);
            };
SOURCE(25898, 24)
         (void) SetBounds←P780((* (( (ptr) &var←c54108)+19)/* area←v20200 */  ), (*  (W4Pt) (( (ptr) &var←c54108)+4)/* clipBox←v12444 */  ))
         ;
         };
      };
   }

static void boxGenerator←P6000(boxAction←v33296, formal←c54172)
   word boxAction←v33296;
   word formal←c54172;
   {
   formal←c54172 = (formal←c54172 - 68);
   /* boxGenerator: */ 
SOURCE(25219, 81)
SOURCE(25253, 47)
SOURCE(27835, 90)
   (void) ConvertToBoxes←P3600((* (( (ptr) formal←c54172)+19) ), 0, (*  (W4Pt) (( (ptr) formal←c54172)+4) ), boxAction←v33296)
   ;
   }

static void moveTo←P6060(p←v33356, formal←c54236)
   W2 p←v33356;
   word formal←c54236;
   {
   register ptr gf←c54204 =  (ptr) &globalframe;
   formal←c54236 = (formal←c54236 - 60);
   /* moveTo: */ 
SOURCE(25303, 178)
SOURCE(25337, 11)
   (void) Close←P960((* ((( (ptr) formal←c54236)+19)) ));
SOURCE(25350, 108)
   {
      word pd438;
      pd438 = (* (( (ptr) (* (( (ptr) gf←c54204)+131)/* var←c48380 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd438 ))))((*  (W4Pt) ((( (ptr) (* (( (ptr) formal←c54236)+19) ))+8)) ), pd438))) {
SOURCE(25390, 42)
         {
            word pd439;
            pd439 = (* (( (ptr) formal←c54236)+8) );
            (void) ( *( (fPt) ((*  (ptr) pd439 ))))((*  (W4Pt) (( (ptr) (* (( (ptr) formal←c54236)+19) ))+8) ), (word) (( (bPt) formal←c54236)+68)
               , pd439);
            };
SOURCE(25434, 24)
         (void) SetBounds←P780((* (( (ptr) formal←c54236)+19) ), (*  (W4Pt) (( (ptr) formal←c54236)+4) ));
         };
      };
SOURCE(25463, 18)
   {
      W2 var←c49852;
      var←c49852.f0 = p←v33356.f0;
      var←c49852.f1 = p←v33356.f1;
      (void) MoveTo←P900((* (( (ptr) formal←c54236)+19) ), var←c49852);
      };
   }

static void lineTo←P6120(p1←v33416, formal←c54268)
   W2 p1←v33416;
   word formal←c54268;
   {
   formal←c54268 = (formal←c54268 - 52);
   /* lineTo: */ 
SOURCE(25486, 56)
SOURCE(25520, 22)
   {
      word area←v34888;
      W2 pt←v34916;
      area←v34888 = (* (( (ptr) formal←c54268)+19) );
      pt←v34916.f0 = p1←v33416.f0;
      pt←v34916.f1 = p1←v33416.f1;
SOURCE(6187, 394)
      {
         word tc440;
         word tc441;
         word tc442;
         word tc443;
         word x444;
         word x445;
         word x446;
         word x447;
         word x448;
         word x449;
         word x450;
         word x451;
         if (( (unsigned) ((* (( (bPt) area←v34888)+79) ) & 017) == 0)) {
            tc443 =  (word) ((
               x444 = pt←v34916.f0,  *(float*)&x444
               ) >= (
               x445 = (* (( (ptr) area←v34888)+4) ),  *(float*)&x445
               ));
            }
         else {
            tc443 =  (word) 0;
            };
         if (tc443) {
            tc442 =  (word) ((
               x446 = pt←v34916.f0,  *(float*)&x446
               ) <= (
               x447 = (* (( (ptr) area←v34888)+6) ),  *(float*)&x447
               ));
            }
         else {
            tc442 =  (word) 0;
            };
         if (tc442) {
            tc441 =  (word) ((
               x448 = pt←v34916.f1,  *(float*)&x448
               ) >= (
               x449 = (* (( (ptr) area←v34888)+5) ),  *(float*)&x449
               ));
            }
         else {
            tc441 =  (word) 0;
            };
         if (tc441) {
            tc440 =  (word) ((
               x450 = pt←v34916.f1,  *(float*)&x450
               ) <= (
               x451 = (* (( (ptr) area←v34888)+7) ),  *(float*)&x451
               ));
            }
         else {
            tc440 =  (word) 0;
            };
         if (tc440) {
SOURCE(6362, 32)
            {
               word area←v38560;
               W2 point0←v38588;
               W2 point1←v38616;
               area←v38560 = area←v34888;
               point0←v38588 = (*  (W2Pt) (( (ptr) area←v34888)+17) );
               point1←v38616 = pt←v34916;
SOURCE(11003, 113)
               if (( (int)(* (( (ptr) area←v38560)+24) ) !=  (int)0)) {
SOURCE(11025, 42)
                  (void) AppendFatSeg←P1740(area←v38560, (word) &point0←v38588, (word) &point1←v38616);
                  }
               else {
SOURCE(11067, 49)
                  (void) AppendSegInner←P1980(area←v38560, (word) &point0←v38588, (word) &point1←v38616, 32768);
                  };
               };
SOURCE(6396, 16)
            (*  (W2Pt) (( (ptr) area←v34888)+17) ) = pt←v34916;
            }
         else {
            {
               word region←v34964;
               {
                  word region←v35008;
                  {
                     word x452;
                     word x453;
                     word x454;
                     word x455;
                     word x456;
                     word x457;
                     word x458;
                     word x459;
                     region←v35008 = (((word) (((word) (((word)  (unsigned) ((
                        x452 = pt←v34916.f0,  *(float*)&x452
                        ) < (
                        x453 = (* (( (ptr) area←v34888)+4) ),  *(float*)&x453
                        )) << 1) +  (unsigned) ((
                        x454 = pt←v34916.f0,  *(float*)&x454
                        ) > (
                        x455 = (* (( (ptr) area←v34888)+6) ),  *(float*)&x455
                        ))) << 1) +  (unsigned) ((
                        x456 = pt←v34916.f1,  *(float*)&x456
                        ) < (
                        x457 = (* (( (ptr) area←v34888)+5) ),  *(float*)&x457
                        ))) << 1) +  (unsigned) ((
                        x458 = pt←v34916.f1,  *(float*)&x458
                        ) > (
                        x459 = (* (( (ptr) area←v34888)+7) ),  *(float*)&x459
                        )));
                     };
SOURCE(5662, 16)
                  region←v34964 = region←v35008;
                  };
SOURCE(6460, 77)
               (void) ClipSeg←P2160(area←v34888, (*  (W2Pt) (( (ptr) area←v34888)+17) ),  (unsigned) ((* (( (bPt) area←v34888)+79) ) & 017), pt←v34916, region←v34964)
               ;
SOURCE(6539, 16)
               (*  (W2Pt) (( (ptr) area←v34888)+17) ) = pt←v34916;
SOURCE(6557, 24)
               {
                  word tadr460;
                  tadr460 = (word) (( (ptr) area←v34888) + 19);
                  (*  (ptr) tadr460 ) = ((*  (ptr) tadr460 ) & 4294967280) | ((word) (region←v34964 & 017));
                  };
               };
            };
         };
      };
   }

static void curveTo←P6180(p1←v33476, p2←v33504, p3←v33532, formal←c54300)
   W2 p1←v33476;
   W2 p2←v33504;
   W2 p3←v33532;
   word formal←c54300;
   {
   formal←c54300 = (formal←c54300 - 44);
   /* curveTo: */ 
SOURCE(25545, 71)
SOURCE(25581, 35)
   {
      W2 var←c49980;
      W2 var←c50012;
      W2 var←c50044;
      var←c49980.f0 = p1←v33476.f0;
      var←c49980.f1 = p1←v33476.f1;
      var←c50012.f0 = p2←v33504.f0;
      var←c50012.f1 = p2←v33504.f1;
      var←c50044.f0 = p3←v33532.f0;
      var←c50044.f1 = p3←v33532.f1;
      (void) CurveTo←P1440((* (( (ptr) formal←c54300)+19) ), var←c49980, var←c50012, var←c50044);
      };
   }

static void conicTo←P6240(p1←v33592, p2←v33620, r←v33648, formal←c54332)
   W2 p1←v33592;
   W2 p2←v33620;
   word r←v33648;
   word formal←c54332;
   {
   formal←c54332 = (formal←c54332 - 36);
   /* conicTo: */ 
SOURCE(25619, 67)
SOURCE(25655, 31)
   {
      W2 var←c50076;
      W2 var←c50108;
      var←c50076.f0 = p1←v33592.f0;
      var←c50076.f1 = p1←v33592.f1;
      var←c50108.f0 = p2←v33620.f0;
      var←c50108.f1 = p2←v33620.f1;
      (void) ConicTo←P1500((* (( (ptr) formal←c54332)+19) ), var←c50076, var←c50108, r←v33648);
      };
   }

static void BoundingBox←P3300(formal←c0569, devicePath←v12736, clipBox←v12764)
   word formal←c0569;
   word devicePath←v12736;
   W4 clipBox←v12764;
   {
   register ptr gf←c54364 =  (ptr) &globalframe;
   W4 var←c12808;
   /* BoundingBox: */ 
SOURCE(26449, 206)
SOURCE(26537, 61)
   if (((* (( (ptr) devicePath←v12736)+12) ) < 3)) {
SOURCE(26573, 25)
      (void) CheckMonotone←P2580(devicePath←v12736);
      };
SOURCE(26600, 55)
   {
      W4 var←c50172;
      {
         word pd461;
         pd461 = (* (( (ptr) (* (( (ptr) gf←c54364)+131)/* var←c48380 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd461 ))))((word) &var←c50172, (*  (W4Pt) (( (ptr) devicePath←v12736)+8) ), clipBox←v12764, pd461)
         ;
         };
      var←c12808 = var←c50172;
      /* removed tail goto */ 
      };
   (*  (W4Pt) formal←c0569 ) = var←c12808;
   return;
   }

static word Monotone←P3360(devicePath←v12868)
   word devicePath←v12868;
   {
   word var←c12912;
   /* Monotone: */ 
SOURCE(26659, 174)
SOURCE(26725, 61)
   if (((* (( (ptr) devicePath←v12868)+12) ) < 3)) {
SOURCE(26761, 25)
      (void) CheckMonotone←P2580(devicePath←v12868);
      };
SOURCE(26788, 45)
   return( (unsigned) ((* (( (ptr) devicePath←v12868)+12) ) == 4));
   }

static void GenerateEdges←P3420(devicePath←v12972, edgeAction←v13000)
   word devicePath←v12972;
   word edgeAction←v13000;
   {
   /* GenerateEdges: */ 
SOURCE(26837, 745)
SOURCE(26930, 61)
   if (((* (( (ptr) devicePath←v12972)+12) ) < 3)) {
SOURCE(26966, 25)
      (void) CheckMonotone←P2580(devicePath←v12972);
      };
SOURCE(26993, 603)
   {
      W2 e←v20684;
      word s0←v20712;
      word s1←v20740;
SOURCE(26995, 82)
      e←v20684.f0 = (* (( (ptr) devicePath←v12972)+21) );
      e←v20684.f1 = (* (( (ptr) devicePath←v12972)+22) );
SOURCE(27079, 61)
      s0←v20712 =  ( (e←v20684.f0 != 0) ? (*  (ptr) e←v20684.f0 ) : 2147483647 ) ;
SOURCE(27142, 61)
      s1←v20740 =  ( (e←v20684.f1 != 0) ? (*  (ptr) e←v20684.f1 ) : 2147483647 ) ;
SOURCE(27205, 377)
      lab←L100153: ;
      if ((e←v20684.f0 != 0) || (e←v20684.f1 != 0)) {
         }
      else {
         goto lab←L100151;
         };
SOURCE(27240, 342)
      if (( (int)s0←v20712 <=  (int)s1←v20740)) {
SOURCE(27259, 84)
         (void) ( *( (fPt) ((*  (ptr) edgeAction←v13000 ))))(0, (*  (ptr) e←v20684.f0 ), (* (( (ptr) e←v20684.f0)+1) ), (* (( (ptr) e←v20684.f0)+2)
             ), (* (( (ptr) e←v20684.f0)+3) ), edgeAction←v13000);
SOURCE(27345, 16)
         e←v20684.f0 = (* (( (ptr) e←v20684.f0)+5) );
SOURCE(27363, 52)
         if ((e←v20684.f0 != 0)) {
            s0←v20712 = (*  (ptr) e←v20684.f0 );
            }
         else {
            s0←v20712 = 2147483647;
            };
         }
      else {
SOURCE(27426, 84)
         (void) ( *( (fPt) ((*  (ptr) edgeAction←v13000 ))))(1, (*  (ptr) e←v20684.f1 ), (* (( (ptr) e←v20684.f1)+1) ), (* (( (ptr) e←v20684.f1)+2)
             ), (* (( (ptr) e←v20684.f1)+3) ), edgeAction←v13000);
SOURCE(27512, 16)
         e←v20684.f1 = (* (( (ptr) e←v20684.f1)+5) );
SOURCE(27530, 52)
         if ((e←v20684.f1 != 0)) {
            s1←v20740 = (*  (ptr) e←v20684.f1 );
            }
         else {
            s1←v20740 = 2147483647;
            };
         };
      goto lab←L100153;
      lab←L100151: ;
      };
   }

static word NumberOfBoxes←P3480(devicePath←v13060)
   word devicePath←v13060;
   {
   word var←c13104;
   /* NumberOfBoxes: */ 
SOURCE(27603, 107)
SOURCE(27673, 37)
   return(IOP2( / ,  (int)(* (( (ptr) devicePath←v13060)+20) ),  (int)2));
   }

static void ConvertToBoxes←P3600(devicePath←v13308, oddWrap←v13336, clipBox←v13364, boxAction←v13392)
   word devicePath←v13308;
   word oddWrap←v13336;
   W4 clipBox←v13364;
   word boxAction←v13392;
   {
   register ptr gf←c54396 =  (ptr) &globalframe;
   word area←v20820;
   /* ConvertToBoxes: */ 
SOURCE(27931, 2081)
SOURCE(28046, 23)
   area←v20820 = devicePath←v13308;
SOURCE(28071, 49)
   if (((* (( (ptr) area←v20820)+12) ) < 3)) {
SOURCE(28101, 19)
      (void) CheckMonotone←P2580(area←v20820);
      };
SOURCE(28122, 1890)
   if (((* (( (ptr) area←v20820)+12) ) == 4)) {
SOURCE(28160, 47)
      (void) ConvertMonotone←P2940(area←v20820, boxAction←v13392, clipBox←v13364);
      }
   else {
SOURCE(28207, 1821)
      {
         word wrap←v20864 = 0;
         word wrapMask←v20892;
         word needSort←v20948 = 1;
         word bbMinS←v20976;
         word bbMinF←v21004;
         word bbMaxS←v21032;
         word bbMaxF←v21060;
         word e←v21088;
SOURCE(28228, 69)
         wrapMask←v20892 =  ( (0 != oddWrap←v13336) ? 65535 :  (word) -1 ) ;
SOURCE(28421, 60)
         {
            word x462;
            word x463;
            bbMinS←v20976 = (x462 = clipBox←v13364.f0,
               x463 = (* (( (ptr) area←v20820)+8) ),
               MAX((int)(word), x462, x463));
            };
SOURCE(28483, 60)
         {
            word x464;
            word x465;
            bbMinF←v21004 = (x464 = clipBox←v13364.f1,
               x465 = (* (( (ptr) area←v20820)+9) ),
               MAX((int)(word), x464, x465));
            };
SOURCE(28545, 60)
         {
            word x466;
            word x467;
            bbMaxS←v21032 = (x466 = clipBox←v13364.f2,
               x467 = (* (( (ptr) area←v20820)+10) ),
               MIN((int)(word), x466, x467));
            };
SOURCE(28607, 60)
         {
            word x468;
            word x469;
            bbMaxF←v21060 = (x468 = clipBox←v13364.f3,
               x469 = (* (( (ptr) area←v20820)+11) ),
               MIN((int)(word), x468, x469));
            };
SOURCE(28669, 213)
         {
            word var←c50236;
            word var←c50268;
            var←c50236 = (word) CopyEdges←P2700(area←v20820, (* (( (ptr) area←v20820)+21) ), bbMinS←v20976, bbMaxS←v21032);
            var←c50268 = (word) CopyEdges←P2700(area←v20820, (* (( (ptr) area←v20820)+22) ), bbMinS←v20976, bbMaxS←v21032);
            e←v21088 = (word) Merge←P2340(var←c50236, var←c50268, 1, 0);
            };
SOURCE(28884, 22)
         (void) AdvanceEdge←P2760(e←v21088, bbMinS←v20976);
SOURCE(28908, 1104)
         lab←L100156: ;
         if ((e←v21088 != 0)) {
            }
         else {
            goto lab←L100154;
            };
         {
            word g←v21192;
            word s←v21220;
            word f0←v21248 = 2147483647;
            word fScaledPrev←v21276 = 0;
            word p←v21304 = 0;
SOURCE(28923, 12)
            g←v21192 = e←v21088;
SOURCE(28937, 19)
            s←v21220 = (*  (ptr) g←v21192 );
SOURCE(29097, 53)
            if (( (int)s←v21220 >=  (int)bbMaxS←v21032)) {
SOURCE(29119, 23)
               {
                  word var←c50332;
                  var←c50332 = (word) FreeEdges←P720(area←v20820, g←v21192);
                  };
SOURCE(29144, 6)
               return;
               };
SOURCE(29155, 56)
            if ((0 != needSort←v20948)) {
SOURCE(29174, 19)
               {
                  word var←c50364;
                  var←c50364 = (word) SortF←P2460(g←v21192, s←v21220);
                  g←v21192 = var←c50364;
                  e←v21088 = var←c50364;
                  };
SOURCE(29195, 16)
               needSort←v20948 = 0;
               };
SOURCE(29216, 701)
            lab←L100159: ;
            if ( ( (g←v21192 != 0) ? ( (int)(*  (ptr) g←v21192 ) <=  (int)s←v21220) : 0 ) ) {
               }
            else {
               goto lab←L100157;
               };
            {
               word residual←v21348;
               word fScaled←v21376;
               word f←v21404;
SOURCE(29247, 32)
               residual←v21348 = ((* (( (ptr) g←v21192)+1) ) - 1);
SOURCE(29281, 34)
               fScaled←v21376 = (* (( (ptr) g←v21192)+2) );
SOURCE(29317, 40)
               f←v21404 =  (word)( (int)fScaled←v21376 >> 16);
SOURCE(29359, 64)
               if (( (int)f←v21404 <  (int)bbMinF←v21004)) {
SOURCE(29378, 16)
                  f←v21404 = bbMinF←v21004;
                  }
               else {
SOURCE(29394, 29)
                  if (( (int)f←v21404 >  (int)bbMaxF←v21060)) {
SOURCE(29413, 10)
                     f←v21404 = bbMaxF←v21060;
                     };
                  };
SOURCE(29425, 30)
               if (((word) XRM←BITAND(wrap←v20864, wrapMask←v20892) == 0)) {
SOURCE(29448, 7)
                  f0←v21248 = f←v21404;
                  };
SOURCE(29458, 25)
               wrap←v20864 = (wrap←v20864 + (* (( (ptr) g←v21192)+4) ));
SOURCE(29485, 69)
               if (((word) XRM←BITAND(wrap←v20864, wrapMask←v20892) == 0)) {
SOURCE(29508, 46)
                  if (( (int)f←v21404 >  (int)f0←v21248)) {
SOURCE(29523, 31)
                     {
                        W4 var←c50396;
                        var←c50396.f0 = s←v21220;
                        var←c50396.f1 = f0←v21248;
                        var←c50396.f2 = (s←v21220 + 1);
                        var←c50396.f3 = f←v21404;
                        (void) ( *( (fPt) ((*  (ptr) boxAction←v13392 ))))(var←c50396, boxAction←v13392);
                        };
                     };
                  };
SOURCE(29557, 360)
               if (( (int)residual←v21348 ==  (int)0)) {
SOURCE(29578, 112)
                  {
                     word r←v21448;
SOURCE(29580, 17)
                     r←v21448 = (* (( (ptr) g←v21192)+5) );
SOURCE(29599, 37)
                     if ((p←v21304 == 0)) {
SOURCE(29615, 11)
                        e←v21088 = r←v21448;
                        }
                     else {
SOURCE(29626, 10)
                        (* (( (ptr) p←v21304)+5) ) = r←v21448;
                        };
SOURCE(29638, 23)
                     (* (( (ptr) g←v21192)+5) ) = (* (( (ptr) area←v20820)+23) );
SOURCE(29663, 18)
                     (* (( (ptr) area←v20820)+23) ) = g←v21192;
SOURCE(29683, 5)
                     g←v21192 = r←v21448;
                     };
                  }
               else {
SOURCE(29699, 49)
                  {
                     word var←c50428;
                     {
                        word var←c50460;
                        word b←v40192;
                        b←v40192 = (* (( (ptr) g←v21192)+3) );
                        {
                           word i←v40240;
                           i←v40240 = (fScaled←v21376 + b←v40192);
                           var←c50460 = i←v40240;
                           };
                        var←c50428 = var←c50460;
                        };
                     fScaled←v21376 = var←c50428;
                     (* (( (ptr) g←v21192)+2) ) = var←c50428;
                     };
SOURCE(29750, 14)
                  (*  (ptr) g←v21192 ) = (s←v21220 + 1);
SOURCE(29766, 29)
                  (* (( (ptr) g←v21192)+1) ) = residual←v21348;
SOURCE(29797, 77)
                  if ((p←v21304 != 0)) {
SOURCE(29815, 59)
                     if (( (int)fScaledPrev←v21276 >  (int)fScaled←v21376)) {
SOURCE(29858, 16)
                        needSort←v20948 = 1;
                        };
                     };
SOURCE(29877, 5)
                  p←v21304 = g←v21192;
SOURCE(29884, 21)
                  fScaledPrev←v21276 = fScaled←v21376;
SOURCE(29907, 10)
                  g←v21192 = (* (( (ptr) g←v21192)+5) );
                  };
               };
            goto lab←L100159;
            lab←L100157: ;
SOURCE(29931, 49)
            if ( ( (g←v21192 != 0) ? ( (int)(*  (ptr) g←v21192 ) ==  (int)(*  (ptr) e←v21088 )) : 0 ) ) {
SOURCE(29965, 15)
               needSort←v20948 = 1;
               };
SOURCE(29982, 30)
            if ( ( (0 != (* (( (ptr) gf←c54396)+8)/* checking←v3084 */  )) ? ( (int)wrap←v20864 !=  (int)0) : 0 ) ) {
SOURCE(30012, 5)
               (void) XR←RaiseUnnamedError();
               };
            };
         goto lab←L100156;
         lab←L100154: ;
         };
      };
   }

static word ConvertToManhattanPolygon←P3660(formal←c0803, formal←c0804, formal←c0805)
   word formal←c0803;
   word formal←c0804;
   W4 formal←c0805;
   {
   W12 var←c54428;
   /* declaration of devicePath←v13452 skipped */ 
   /* declaration of oddWrap←v13480 skipped */ 
   /* declaration of clipBox←v13508 skipped */ 
   register ptr gf←c54460 =  (ptr) &globalframe;
   word var←c13552;
   /* declaration of var←c50556 skipped */ 
   (* (( (ptr) &var←c54428)+4)/* devicePath←v13452 */  ) = formal←c0803;
   (* (( (ptr) &var←c54428)+5)/* oddWrap←v13480 */  ) = formal←c0804;
   (*  (W4Pt) (( (ptr) &var←c54428)+6)/* clipBox←v13508 */  ) = formal←c0805;
   /* ConvertToManhattanPolygon: */ 
SOURCE(30035, 270)
   {
      word tmpAddr470;
      tmpAddr470 = (word) (( (ptr) &var←c54428)+10)/* var←c50556 */ ;
      (*  (ptr) tmpAddr470 ) = ( ((word)  (fPt) boxGenerator←P6696) );
      (* (( (ptr) tmpAddr470) + 1) ) = 1;
      };
SOURCE(30250, 55)
   {
      word pd471;
      pd471 = (* (( (ptr) (* (( (ptr) gf←c54460)+134)/* var←c50620 */  ))+8) );
      return((word) ( *( (fPt) ((*  (ptr) pd471 ))))((word) ((( (bPt) &var←c54428)+40)/* var←c50556 */ ), pd471));
      };
   }

static void boxGenerator←P6696(boxAction←v33872, formal←c54492)
   word boxAction←v33872;
   word formal←c54492;
   {
   formal←c54492 = (formal←c54492 - 40);
   /* boxGenerator: */ 
SOURCE(30160, 87)
SOURCE(30193, 54)
   {
      word area←v39868;
      area←v39868 = (* (( (ptr) formal←c54492)+4) );
SOURCE(27835, 90)
      (void) ConvertToBoxes←P3600(area←v39868, (* (( (ptr) formal←c54492)+5) ), (*  (W4Pt) (( (ptr) formal←c54492)+6) ), boxAction←v33872)
      ;
      };
   }

static void SetTolerance←P3720(devicePath←v13696, tolerance←v13724)
   word devicePath←v13696;
   word tolerance←v13724;
   {
   /* SetTolerance: */ 
SOURCE(30309, 110)
SOURCE(30387, 32)
   (* (( (ptr) devicePath←v13696)+25) ) = tolerance←v13724;
   }

static void PathToLines←P3780(formal←c0806, formal←c0807, path←v13840, transformation←v13868, formal←c0808)
   word formal←c0806;
   word formal←c0807;
   word path←v13840;
   word transformation←v13868;
   word formal←c0808;
   {
   W25 var←c54524;
   /* declaration of moveTo←v13784 skipped */ 
   /* declaration of lineTo←v13812 skipped */ 
   /* declaration of tolerance←v13896 skipped */ 
   register ptr gf←c54556 =  (ptr) &globalframe;
   /* declaration of var←c50652 skipped */ 
   /* declaration of var←c50684 skipped */ 
   /* declaration of var←c50716 skipped */ 
   /* declaration of var←c50748 skipped */ 
   /* declaration of var←c50780 skipped */ 
   /* declaration of var←c50812 skipped */ 
   /* declaration of var←c50844 skipped */ 
   /* declaration of cLimit←v21536 skipped */ 
   /* declaration of pLimit←v21564 skipped */ 
   /* declaration of lp←v21844 skipped */ 
   (* (( (ptr) &var←c54524)+4)/* moveTo←v13784 */  ) = formal←c0806;
   (* (( (ptr) &var←c54524)+5)/* lineTo←v13812 */  ) = formal←c0807;
   (* (( (ptr) &var←c54524)+6)/* tolerance←v13896 */  ) = formal←c0808;
   /* PathToLines: */ 
SOURCE(30425, 2973)
   {
      word tmpAddr472;
      tmpAddr472 = (word) (( (ptr) &var←c54524)+7)/* var←c50652 */ ;
      (*  (ptr) tmpAddr472 ) = ( ((word)  (fPt) myConicTo←P7236) );
      (* (( (ptr) tmpAddr472) + 1) ) = 1;
      };
   {
      word tmpAddr473;
      tmpAddr473 = (word) (( (ptr) &var←c54524)+9)/* var←c50684 */ ;
      (*  (ptr) tmpAddr473 ) = ( ((word)  (fPt) myCurveTo←P7176) );
      (* (( (ptr) tmpAddr473) + 1) ) = 1;
      };
   {
      word tmpAddr474;
      tmpAddr474 = (word) (( (ptr) &var←c54524)+11)/* var←c50716 */ ;
      (*  (ptr) tmpAddr474 ) = ( ((word)  (fPt) myLineTo←P7116) );
      (* (( (ptr) tmpAddr474) + 1) ) = 1;
      };
   {
      word tmpAddr475;
      tmpAddr475 = (word) (( (ptr) &var←c54524)+13)/* var←c50748 */ ;
      (*  (ptr) tmpAddr475 ) = ( ((word)  (fPt) myMoveTo←P7056) );
      (* (( (ptr) tmpAddr475) + 1) ) = 1;
      };
   {
      word tmpAddr476;
      tmpAddr476 = (word) (( (ptr) &var←c54524)+15)/* var←c50780 */ ;
      (*  (ptr) tmpAddr476 ) = ( ((word)  (fPt) ConicToLines←P6936) );
      (* (( (ptr) tmpAddr476) + 1) ) = 1;
      };
   {
      word tmpAddr477;
      tmpAddr477 = (word) (( (ptr) &var←c54524)+17)/* var←c50812 */ ;
      (*  (ptr) tmpAddr477 ) = ( ((word)  (fPt) CurveToLines←P6876) );
      (* (( (ptr) tmpAddr477) + 1) ) = 1;
      };
   {
      word tmpAddr478;
      tmpAddr478 = (word) (( (ptr) &var←c54524)+19)/* var←c50844 */ ;
      (*  (ptr) tmpAddr478 ) = ( ((word)  (fPt) ParToLines←P6816) );
      (* (( (ptr) tmpAddr478) + 1) ) = 1;
      };
SOURCE(30588, 32)
   (* (( (ptr) &var←c54524)+21)/* cLimit←v21536 */  ) = (* (( (ptr) gf←c54556)+13)/* dLimit←v3476 */  );
   (* (( (ptr) &var←c54524)+22)/* pLimit←v21564 */  ) = (* (( (ptr) &var←c54524)+21)/* cLimit←v21536 */  );
SOURCE(33253, 16)
   (* (( (ptr) &var←c54524)+23) ) = (*  (ptr) &fc28 );
   (* (( (ptr) &var←c54524)+24) ) = (*  (ptr) &fc28 );
SOURCE(33271, 127)
   {
      word pd479;
      pd479 = (* (( (ptr) (* (( (ptr) gf←c54556)+133)/* var←c49372 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd479 ))))(path←v13840, transformation←v13868, (word) (( (bPt) &var←c54524)+52)/* var←c50748 */ , (word) (
            ( (bPt) &var←c54524)+44)/* var←c50716 */ , (word) (( (bPt) &var←c54524)+36)/* var←c50684 */ , (word) (( (bPt) &var←c54524)+28)
         /* var←c50652 */ 
         , 0, 0, pd479);
      };
   }

static void ParToLines←P6816(p0←v21980, p1←v22008, p2←v22036, formal←c54620)
   W2 p0←v21980;
   W2 p1←v22008;
   W2 p2←v22036;
   word formal←c54620;
   {
   register ptr gf←c54588 =  (ptr) &globalframe;
   word var←c50908;
   word s01←v22788;
   word f01←v22816;
   word s21←v22844;
   word f21←v22872;
   formal←c54620 = (formal←c54620 - 76);
   /* ParToLines: */ 
SOURCE(30692, 863)
SOURCE(31151, 404)
   {
      word x480;
      {
         word x481;
         word x482;
         *(float*)&s01←v22788 = (
            x481 = p0←v21980.f0,  *(float*)&x481
            ) - (
            x482 = p1←v22008.f0,  *(float*)&x482
            );
         };
      {
         word x483;
         word x484;
         *(float*)&f01←v22816 = (
            x483 = p0←v21980.f1,  *(float*)&x483
            ) - (
            x484 = p1←v22008.f1,  *(float*)&x484
            );
         };
      {
         word x485;
         word x486;
         *(float*)&s21←v22844 = (
            x485 = p2←v22036.f0,  *(float*)&x485
            ) - (
            x486 = p1←v22008.f0,  *(float*)&x486
            );
         };
      {
         word x487;
         word x488;
         *(float*)&f21←v22872 = (
            x487 = p2←v22036.f1,  *(float*)&x487
            ) - (
            x488 = p1←v22008.f1,  *(float*)&x488
            );
         };
SOURCE(30869, 274)
      {
         word x489;
         word x490;
         word x491;
         word x492;
         word x493;
         if ((((
            x489 = s01←v22788,  *(float*)&x489
            ) * (
            x490 = s21←v22844,  *(float*)&x490
            )) + ((
            x491 = f01←v22816,  *(float*)&x491
            ) * (
            x492 = f21←v22872,  *(float*)&x492
            )) > (
            x493 = (*  (ptr) &fc28 ),  *(float*)&x493
            ))) {
SOURCE(30905, 61)
            var←c50908 = 0;
            }
         else {
            {
               word d←v22900;
               word var←c50972;
               word x←v34384;
               word y←v34412;
               {
                  word x←v41300;
                  word y←v41328;
                  {
                     word x494;
                     word x495;
                     *(float*)&x←v41300 = (
                        x494 = p2←v22036.f0,  *(float*)&x494
                        ) - (
                        x495 = p0←v21980.f0,  *(float*)&x495
                        );
                     };
                  {
                     word x496;
                     word x497;
                     *(float*)&y←v41328 = (
                        x496 = p2←v22036.f1,  *(float*)&x496
                        ) - (
                        x497 = p0←v21980.f1,  *(float*)&x497
                        );
                     };
                  {
                     word x498;
                     word x499;
                     d←v22900 = (x498 = ( (((unsigned)x←v41300 << 1) >> 1) ),
                        x499 = ( (((unsigned)y←v41328 << 1) >> 1) ),
                        MAX( (unsigned) , x498, x499));
                     };
                  };
SOURCE(31023, 34)
               {
                  word x500;
                  word x501;
                  if (((
                     x500 = d←v22900,  *(float*)&x500
                     ) < (
                     x501 = (* (( (ptr) gf←c54588)+9)/* flatHack←v3140 */  ),  *(float*)&x501
                     ))) {
SOURCE(31044, 13)
                     var←c50908 = 1;
                     goto lab←L100162;
                     };
                  };
SOURCE(31059, 69)
               {
                  word x508;
                  word x509;
                  word x510;
                  {
                     word x502;
                     word x503;
                     *(float*)&x←v34384 = (
                        x502 = s01←v22788,  *(float*)&x502
                        ) * (
                        x503 = f21←v22872,  *(float*)&x503
                        );
                     };
                  {
                     word x504;
                     word x505;
                     *(float*)&y←v34412 = (
                        x504 = s21←v22844,  *(float*)&x504
                        ) * (
                        x505 = f01←v22816,  *(float*)&x505
                        );
                     };
SOURCE(1016, 30)
                  {
                     word r←v41644;
                     {
                        word x506;
                        word x507;
                        *(float*)&r←v41644 = (
                           x506 = x←v34384,  *(float*)&x506
                           ) - (
                           x507 = y←v34412,  *(float*)&x507
                           );
                        };
                     var←c50972 = ( (((unsigned)r←v41644 << 1) >> 1) );
                     };
                  if ((((
                     x508 = var←c50972,  *(float*)&x508
                     ) < (
                     x509 = (* (( (ptr) formal←c54620)+6) ),  *(float*)&x509
                     ) * (
                     x510 = d←v22900,  *(float*)&x510
                     ))
                  )) {
SOURCE(31116, 12)
                     var←c50908 = 1;
                     goto lab←L100162;
                     };
                  };
SOURCE(31130, 13)
               var←c50908 = 0;
               };
            };
         };
      lab←L100162: ;
      x480 =  (word) (0 != var←c50908);
      if (x480 || (0 !=  ( ( (int)(* (( (ptr) formal←c54620)+22) ) >  (int)0) ? 0 : (word) DepthExceeded←P480(1) ) )) {
SOURCE(31185, 189)
         {
            word s012←v22616;
            word f012←v22644;
SOURCE(31238, 44)
            {
               word x511;
               word x512;
               word x513;
               word x514;
               word x515;
               *(float*)&s012←v22616 = (((
                  x511 = p0←v21980.f0,  *(float*)&x511
                  ) + (
                  x512 = p2←v22036.f0,  *(float*)&x512
                  )) * (
                  x513 = (*  (ptr) &fc131 ),  *(float*)&x513
                  )) + ((
                  x514 = p1←v22008.f0,  *(float*)&x514
                  ) * (
                  x515 = (*  (ptr) &fc134 ),  *(float*)&x515
                  ));
               };
SOURCE(31284, 44)
            {
               word x516;
               word x517;
               word x518;
               word x519;
               word x520;
               *(float*)&f012←v22644 = (((
                  x516 = p0←v21980.f1,  *(float*)&x516
                  ) + (
                  x517 = p2←v22036.f1,  *(float*)&x517
                  )) * (
                  x518 = (*  (ptr) &fc131 ),  *(float*)&x518
                  )) + ((
                  x519 = p1←v22008.f1,  *(float*)&x519
                  ) * (
                  x520 = (*  (ptr) &fc134 ),  *(float*)&x520
                  ));
               };
SOURCE(31330, 25)
            {
               W2 p1←v39916;
               p1←v39916.f0 = s012←v22616;
               p1←v39916.f1 = f012←v22644;
SOURCE(30662, 27)
               {
                  W2 var←c51100;
                  var←c51100.f0 = p1←v39916.f0;
                  var←c51100.f1 = p1←v39916.f1;
                  {
                     word pd521;
                     pd521 = (* (( (ptr) formal←c54620)+5) );
                     (void) ( *( (fPt) ((*  (ptr) pd521 ))))(var←c51100, pd521);
                     };
                  };
               };
SOURCE(31357, 15)
SOURCE(30662, 27)
            {
               W2 var←c51132;
               var←c51132.f0 = p2←v22036.f0;
               var←c51132.f1 = p2←v22036.f1;
               {
                  word pd522;
                  pd522 = (* (( (ptr) formal←c54620)+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd522 ))))(var←c51132, pd522);
                  };
               };
            };
         }
      else {
SOURCE(31381, 176)
         {
            W2 p10←v22688;
            W2 p12←v22716;
            W2 p012←v22744;
SOURCE(31383, 23)
            {
               word r←v36396;
               {
                  word x523;
                  word x524;
                  *(float*)&r←v36396 = (
                     x523 = p0←v21980.f0,  *(float*)&x523
                     ) + (
                     x524 = p1←v22008.f0,  *(float*)&x524
                     );
                  };
SOURCE(6637, 15)
               {
                  word x525;
                  word x526;
                  *(float*)&p10←v22688.f0 = (
                     x525 = r←v36396,  *(float*)&x525
                     ) * (
                     x526 = (*  (ptr) &fc16 ),  *(float*)&x526
                     );
                  };
               };
            {
               word r←v36440;
               {
                  word x527;
                  word x528;
                  *(float*)&r←v36440 = (
                     x527 = p0←v21980.f1,  *(float*)&x527
                     ) + (
                     x528 = p1←v22008.f1,  *(float*)&x528
                     );
                  };
SOURCE(6637, 15)
               {
                  word x529;
                  word x530;
                  *(float*)&p10←v22688.f1 = (
                     x529 = r←v36440,  *(float*)&x529
                     ) * (
                     x530 = (*  (ptr) &fc16 ),  *(float*)&x530
                     );
                  };
               };
SOURCE(31408, 23)
            {
               word r←v36308;
               {
                  word x531;
                  word x532;
                  *(float*)&r←v36308 = (
                     x531 = p1←v22008.f0,  *(float*)&x531
                     ) + (
                     x532 = p2←v22036.f0,  *(float*)&x532
                     );
                  };
SOURCE(6637, 15)
               {
                  word x533;
                  word x534;
                  *(float*)&p12←v22716.f0 = (
                     x533 = r←v36308,  *(float*)&x533
                     ) * (
                     x534 = (*  (ptr) &fc16 ),  *(float*)&x534
                     );
                  };
               };
            {
               word r←v36352;
               {
                  word x535;
                  word x536;
                  *(float*)&r←v36352 = (
                     x535 = p1←v22008.f1,  *(float*)&x535
                     ) + (
                     x536 = p2←v22036.f1,  *(float*)&x536
                     );
                  };
SOURCE(6637, 15)
               {
                  word x537;
                  word x538;
                  *(float*)&p12←v22716.f1 = (
                     x537 = r←v36352,  *(float*)&x537
                     ) * (
                     x538 = (*  (ptr) &fc16 ),  *(float*)&x538
                     );
                  };
               };
SOURCE(31433, 26)
            {
               word r←v36220;
               {
                  word x539;
                  word x540;
                  *(float*)&r←v36220 = (
                     x539 = p10←v22688.f0,  *(float*)&x539
                     ) + (
                     x540 = p12←v22716.f0,  *(float*)&x540
                     );
                  };
SOURCE(6637, 15)
               {
                  word x541;
                  word x542;
                  *(float*)&p012←v22744.f0 = (
                     x541 = r←v36220,  *(float*)&x541
                     ) * (
                     x542 = (*  (ptr) &fc16 ),  *(float*)&x542
                     );
                  };
               };
            {
               word r←v36264;
               {
                  word x543;
                  word x544;
                  *(float*)&r←v36264 = (
                     x543 = p10←v22688.f1,  *(float*)&x543
                     ) + (
                     x544 = p12←v22716.f1,  *(float*)&x544
                     );
                  };
SOURCE(6637, 15)
               {
                  word x545;
                  word x546;
                  *(float*)&p012←v22744.f1 = (
                     x545 = r←v36264,  *(float*)&x545
                     ) * (
                     x546 = (*  (ptr) &fc16 ),  *(float*)&x546
                     );
                  };
               };
SOURCE(31461, 19)
            (* (( (ptr) formal←c54620)+22) ) = ((* (( (ptr) formal←c54620)+22) ) - 1);
SOURCE(31482, 25)
            (void) ParToLines←P6816(p0←v21980, p10←v22688, p012←v22744, (word) (( (bPt) formal←c54620)+76));
SOURCE(31509, 25)
            (void) ParToLines←P6816(p012←v22744, p12←v22716, p2←v22036, (word) (( (bPt) formal←c54620)+76));
SOURCE(31536, 19)
            (* (( (ptr) formal←c54620)+22) ) = ((* (( (ptr) formal←c54620)+22) ) + 1);
            };
         };
      };
   }

static void CurveToLines←P6876(p0←v22096, p1←v22124, p2←v22152, p3←v22180, formal←c54652)
   W2 p0←v22096;
   W2 p1←v22124;
   W2 p2←v22152;
   W2 p3←v22180;
   word formal←c54652;
   {
   W2 q1←v22984;
   W2 q2←v23012;
   word var←c51644;
   word r←v41596;
   word var←c51676;
   word r←v41548;
   formal←c54652 = (formal←c54652 - 68);
   /* CurveToLines: */ 
SOURCE(31563, 649)
SOURCE(31766, 22)
   {
      word var←c51484;
      word r←v35324;
      {
         word x547;
         word x548;
         *(float*)&r←v35324 = (
            x547 = p1←v22124.f0,  *(float*)&x547
            ) - (
            x548 = p0←v22096.f0,  *(float*)&x548
            );
         };
SOURCE(6637, 15)
      {
         word x549;
         word x550;
         *(float*)&var←c51484 = (
            x549 = r←v35324,  *(float*)&x549
            ) * (
            x550 = (*  (ptr) &fc16 ),  *(float*)&x550
            );
         };
      {
         word x551;
         word x552;
         *(float*)&q1←v22984.f0 = (
            x551 = p1←v22124.f0,  *(float*)&x551
            ) + (
            x552 = var←c51484,  *(float*)&x552
            );
         };
      };
   {
      word var←c51516;
      word r←v40012;
      {
         word x553;
         word x554;
         *(float*)&r←v40012 = (
            x553 = p1←v22124.f1,  *(float*)&x553
            ) - (
            x554 = p0←v22096.f1,  *(float*)&x554
            );
         };
SOURCE(6637, 15)
      {
         word x555;
         word x556;
         *(float*)&var←c51516 = (
            x555 = r←v40012,  *(float*)&x555
            ) * (
            x556 = (*  (ptr) &fc16 ),  *(float*)&x556
            );
         };
      {
         word x557;
         word x558;
         *(float*)&q1←v22984.f1 = (
            x557 = p1←v22124.f1,  *(float*)&x557
            ) + (
            x558 = var←c51516,  *(float*)&x558
            );
         };
      };
SOURCE(31790, 22)
   {
      word var←c51580;
      word r←v40072;
      {
         word x559;
         word x560;
         *(float*)&r←v40072 = (
            x559 = p2←v22152.f0,  *(float*)&x559
            ) - (
            x560 = p3←v22180.f0,  *(float*)&x560
            );
         };
SOURCE(6637, 15)
      {
         word x561;
         word x562;
         *(float*)&var←c51580 = (
            x561 = r←v40072,  *(float*)&x561
            ) * (
            x562 = (*  (ptr) &fc16 ),  *(float*)&x562
            );
         };
      {
         word x563;
         word x564;
         *(float*)&q2←v23012.f0 = (
            x563 = p2←v22152.f0,  *(float*)&x563
            ) + (
            x564 = var←c51580,  *(float*)&x564
            );
         };
      };
   {
      word var←c51612;
      word r←v40116;
      {
         word x565;
         word x566;
         *(float*)&r←v40116 = (
            x565 = p2←v22152.f1,  *(float*)&x565
            ) - (
            x566 = p3←v22180.f1,  *(float*)&x566
            );
         };
SOURCE(6637, 15)
      {
         word x567;
         word x568;
         *(float*)&var←c51612 = (
            x567 = r←v40116,  *(float*)&x567
            ) * (
            x568 = (*  (ptr) &fc16 ),  *(float*)&x568
            );
         };
      {
         word x569;
         word x570;
         *(float*)&q2←v23012.f1 = (
            x569 = p2←v22152.f1,  *(float*)&x569
            ) + (
            x570 = var←c51612,  *(float*)&x570
            );
         };
      };
SOURCE(31814, 398)
   {
      word x575;
      word x576;
      word x577;
      {
         word x571;
         word x572;
         *(float*)&r←v41596 = (
            x571 = q1←v22984.f0,  *(float*)&x571
            ) - (
            x572 = q2←v23012.f0,  *(float*)&x572
            );
         };
      var←c51644 = ( (((unsigned)r←v41596 << 1) >> 1) );
      {
         word x573;
         word x574;
         *(float*)&r←v41548 = (
            x573 = q1←v22984.f1,  *(float*)&x573
            ) - (
            x574 = q2←v23012.f1,  *(float*)&x574
            );
         };
      var←c51676 = ( (((unsigned)r←v41548 << 1) >> 1) );
      if (((
         x575 = var←c51644,  *(float*)&x575
         ) + (
         x576 = var←c51676,  *(float*)&x576
         ) < (
         x577 = (*  (ptr) &fc15 ),  *(float*)&x577
         )) || (0 !=  ( ( (int)(* (( (ptr) formal←c54652)+21) ) >  (int)0) ? 0 : (word) DepthExceeded←P480(1) ) )) {
SOURCE(31897, 32)
         {
            word var←c51708;
            word var←c51772;
            {
               word r←v36132;
               {
                  word x578;
                  word x579;
                  *(float*)&r←v36132 = (
                     x578 = q1←v22984.f0,  *(float*)&x578
                     ) + (
                     x579 = q2←v23012.f0,  *(float*)&x579
                     );
                  };
SOURCE(6637, 15)
               {
                  word x580;
                  word x581;
                  *(float*)&var←c51708 = (
                     x580 = r←v36132,  *(float*)&x580
                     ) * (
                     x581 = (*  (ptr) &fc16 ),  *(float*)&x581
                     );
                  };
               };
            {
               word r←v36176;
               {
                  word x582;
                  word x583;
                  *(float*)&r←v36176 = (
                     x582 = q1←v22984.f1,  *(float*)&x582
                     ) + (
                     x583 = q2←v23012.f1,  *(float*)&x583
                     );
                  };
SOURCE(6637, 15)
               {
                  word x584;
                  word x585;
                  *(float*)&var←c51772 = (
                     x584 = r←v36176,  *(float*)&x584
                     ) * (
                     x585 = (*  (ptr) &fc16 ),  *(float*)&x585
                     );
                  };
               };
            {
               W2 var←c51836;
               var←c51836.f0 = var←c51708;
               var←c51836.f1 = var←c51772;
               (void) ParToLines←P6816(p0←v22096, var←c51836, p3←v22180, (word) (( (bPt) formal←c54652)+76));
               };
            };
         }
      else {
SOURCE(31936, 278)
         {
            W2 p01←v23320;
            W2 p12←v23348;
            W2 p23←v23376;
            W2 p012←v23404;
            W2 p123←v23432;
            W2 p0123←v23460;
SOURCE(31938, 23)
            {
               word r←v36044;
               {
                  word x586;
                  word x587;
                  *(float*)&r←v36044 = (
                     x586 = p0←v22096.f0,  *(float*)&x586
                     ) + (
                     x587 = p1←v22124.f0,  *(float*)&x587
                     );
                  };
SOURCE(6637, 15)
               {
                  word x588;
                  word x589;
                  *(float*)&p01←v23320.f0 = (
                     x588 = r←v36044,  *(float*)&x588
                     ) * (
                     x589 = (*  (ptr) &fc16 ),  *(float*)&x589
                     );
                  };
               };
            {
               word r←v36088;
               {
                  word x590;
                  word x591;
                  *(float*)&r←v36088 = (
                     x590 = p0←v22096.f1,  *(float*)&x590
                     ) + (
                     x591 = p1←v22124.f1,  *(float*)&x591
                     );
                  };
SOURCE(6637, 15)
               {
                  word x592;
                  word x593;
                  *(float*)&p01←v23320.f1 = (
                     x592 = r←v36088,  *(float*)&x592
                     ) * (
                     x593 = (*  (ptr) &fc16 ),  *(float*)&x593
                     );
                  };
               };
SOURCE(31963, 23)
            {
               word r←v35956;
               {
                  word x594;
                  word x595;
                  *(float*)&r←v35956 = (
                     x594 = p1←v22124.f0,  *(float*)&x594
                     ) + (
                     x595 = p2←v22152.f0,  *(float*)&x595
                     );
                  };
SOURCE(6637, 15)
               {
                  word x596;
                  word x597;
                  *(float*)&p12←v23348.f0 = (
                     x596 = r←v35956,  *(float*)&x596
                     ) * (
                     x597 = (*  (ptr) &fc16 ),  *(float*)&x597
                     );
                  };
               };
            {
               word r←v36000;
               {
                  word x598;
                  word x599;
                  *(float*)&r←v36000 = (
                     x598 = p1←v22124.f1,  *(float*)&x598
                     ) + (
                     x599 = p2←v22152.f1,  *(float*)&x599
                     );
                  };
SOURCE(6637, 15)
               {
                  word x600;
                  word x601;
                  *(float*)&p12←v23348.f1 = (
                     x600 = r←v36000,  *(float*)&x600
                     ) * (
                     x601 = (*  (ptr) &fc16 ),  *(float*)&x601
                     );
                  };
               };
SOURCE(31988, 23)
            {
               word r←v35868;
               {
                  word x602;
                  word x603;
                  *(float*)&r←v35868 = (
                     x602 = p2←v22152.f0,  *(float*)&x602
                     ) + (
                     x603 = p3←v22180.f0,  *(float*)&x603
                     );
                  };
SOURCE(6637, 15)
               {
                  word x604;
                  word x605;
                  *(float*)&p23←v23376.f0 = (
                     x604 = r←v35868,  *(float*)&x604
                     ) * (
                     x605 = (*  (ptr) &fc16 ),  *(float*)&x605
                     );
                  };
               };
            {
               word r←v35912;
               {
                  word x606;
                  word x607;
                  *(float*)&r←v35912 = (
                     x606 = p2←v22152.f1,  *(float*)&x606
                     ) + (
                     x607 = p3←v22180.f1,  *(float*)&x607
                     );
                  };
SOURCE(6637, 15)
               {
                  word x608;
                  word x609;
                  *(float*)&p23←v23376.f1 = (
                     x608 = r←v35912,  *(float*)&x608
                     ) * (
                     x609 = (*  (ptr) &fc16 ),  *(float*)&x609
                     );
                  };
               };
SOURCE(32013, 26)
            {
               word r←v35780;
               {
                  word x610;
                  word x611;
                  *(float*)&r←v35780 = (
                     x610 = p01←v23320.f0,  *(float*)&x610
                     ) + (
                     x611 = p12←v23348.f0,  *(float*)&x611
                     );
                  };
SOURCE(6637, 15)
               {
                  word x612;
                  word x613;
                  *(float*)&p012←v23404.f0 = (
                     x612 = r←v35780,  *(float*)&x612
                     ) * (
                     x613 = (*  (ptr) &fc16 ),  *(float*)&x613
                     );
                  };
               };
            {
               word r←v35824;
               {
                  word x614;
                  word x615;
                  *(float*)&r←v35824 = (
                     x614 = p01←v23320.f1,  *(float*)&x614
                     ) + (
                     x615 = p12←v23348.f1,  *(float*)&x615
                     );
                  };
SOURCE(6637, 15)
               {
                  word x616;
                  word x617;
                  *(float*)&p012←v23404.f1 = (
                     x616 = r←v35824,  *(float*)&x616
                     ) * (
                     x617 = (*  (ptr) &fc16 ),  *(float*)&x617
                     );
                  };
               };
SOURCE(32041, 26)
            {
               word r←v35692;
               {
                  word x618;
                  word x619;
                  *(float*)&r←v35692 = (
                     x618 = p12←v23348.f0,  *(float*)&x618
                     ) + (
                     x619 = p23←v23376.f0,  *(float*)&x619
                     );
                  };
SOURCE(6637, 15)
               {
                  word x620;
                  word x621;
                  *(float*)&p123←v23432.f0 = (
                     x620 = r←v35692,  *(float*)&x620
                     ) * (
                     x621 = (*  (ptr) &fc16 ),  *(float*)&x621
                     );
                  };
               };
            {
               word r←v35736;
               {
                  word x622;
                  word x623;
                  *(float*)&r←v35736 = (
                     x622 = p12←v23348.f1,  *(float*)&x622
                     ) + (
                     x623 = p23←v23376.f1,  *(float*)&x623
                     );
                  };
SOURCE(6637, 15)
               {
                  word x624;
                  word x625;
                  *(float*)&p123←v23432.f1 = (
                     x624 = r←v35736,  *(float*)&x624
                     ) * (
                     x625 = (*  (ptr) &fc16 ),  *(float*)&x625
                     );
                  };
               };
SOURCE(32069, 29)
            {
               word r←v35604;
               {
                  word x626;
                  word x627;
                  *(float*)&r←v35604 = (
                     x626 = p012←v23404.f0,  *(float*)&x626
                     ) + (
                     x627 = p123←v23432.f0,  *(float*)&x627
                     );
                  };
SOURCE(6637, 15)
               {
                  word x628;
                  word x629;
                  *(float*)&p0123←v23460.f0 = (
                     x628 = r←v35604,  *(float*)&x628
                     ) * (
                     x629 = (*  (ptr) &fc16 ),  *(float*)&x629
                     );
                  };
               };
            {
               word r←v35648;
               {
                  word x630;
                  word x631;
                  *(float*)&r←v35648 = (
                     x630 = p012←v23404.f1,  *(float*)&x630
                     ) + (
                     x631 = p123←v23432.f1,  *(float*)&x631
                     );
                  };
SOURCE(6637, 15)
               {
                  word x632;
                  word x633;
                  *(float*)&p0123←v23460.f1 = (
                     x632 = r←v35648,  *(float*)&x632
                     ) * (
                     x633 = (*  (ptr) &fc16 ),  *(float*)&x633
                     );
                  };
               };
SOURCE(32100, 19)
            (* (( (ptr) formal←c54652)+21) ) = ((* (( (ptr) formal←c54652)+21) ) - 1);
SOURCE(32121, 34)
            (void) CurveToLines←P6876(p0←v22096, p01←v23320, p012←v23404, p0123←v23460, (word) (( (bPt) formal←c54652)+68));
SOURCE(32157, 34)
            (void) CurveToLines←P6876(p0123←v23460, p123←v23432, p23←v23376, p3←v22180, (word) (( (bPt) formal←c54652)+68));
SOURCE(32193, 19)
            (* (( (ptr) formal←c54652)+21) ) = ((* (( (ptr) formal←c54652)+21) ) + 1);
            };
         };
      };
   }

static void ConicToLines←P6936(p0←v22240, p1←v22268, p2←v22296, r←v22324, formal←c54716)
   W2 p0←v22240;
   W2 p1←v22268;
   W2 p2←v22296;
   word r←v22324;
   word formal←c54716;
   {
   register ptr gf←c54684 =  (ptr) &globalframe;
   formal←c54716 = (formal←c54716 - 60);
   /* ConicToLines: */ 
SOURCE(32220, 661)
SOURCE(32271, 610)
   {
      word var←c52444;
      var←c52444 = r←v22324;
      {
         word x634;
         word x635;
         word x638;
         word x639;
         if (((
            x634 = var←c52444,  *(float*)&x634
            ) > (
            x635 = (*  (ptr) &fc255 ),  *(float*)&x635
            ))) {
SOURCE(32298, 15)
SOURCE(30662, 27)
            {
               W2 var←c52476;
               var←c52476.f0 = p1←v22268.f0;
               var←c52476.f1 = p1←v22268.f1;
               {
                  word pd636;
                  pd636 = (* (( (ptr) formal←c54716)+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd636 ))))(var←c52476, pd636);
                  };
               };
SOURCE(32315, 15)
SOURCE(30662, 27)
            {
               W2 var←c52508;
               var←c52508.f0 = p2←v22296.f0;
               var←c52508.f1 = p2←v22296.f1;
               {
                  word pd637;
                  pd637 = (* (( (ptr) formal←c54716)+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd637 ))))(var←c52508, pd637);
                  };
               };
            }
         else {
            if (((
               x638 = var←c52444,  *(float*)&x638
               ) <= (
               x639 = (*  (ptr) &fc28 ),  *(float*)&x639
               ))) {
SOURCE(32344, 15)
SOURCE(30662, 27)
               {
                  W2 var←c52540;
                  var←c52540.f0 = p2←v22296.f0;
                  var←c52540.f1 = p2←v22296.f1;
                  {
                     word pd640;
                     pd640 = (* (( (ptr) formal←c54716)+5) );
                     (void) ( *( (fPt) ((*  (ptr) pd640 ))))(var←c52540, pd640);
                     };
                  };
               }
            else {
SOURCE(32373, 513)
               {
                  W2 p02←v23504;
                  W2 m←v23532;
                  word var←c52700;
                  word var←c0786;
SOURCE(32375, 23)
                  {
                     word r←v35516;
                     {
                        word x641;
                        word x642;
                        *(float*)&r←v35516 = (
                           x641 = p0←v22240.f0,  *(float*)&x641
                           ) + (
                           x642 = p2←v22296.f0,  *(float*)&x642
                           );
                        };
SOURCE(6637, 15)
                     {
                        word x643;
                        word x644;
                        *(float*)&p02←v23504.f0 = (
                           x643 = r←v35516,  *(float*)&x643
                           ) * (
                           x644 = (*  (ptr) &fc16 ),  *(float*)&x644
                           );
                        };
                     };
                  {
                     word r←v35560;
                     {
                        word x645;
                        word x646;
                        *(float*)&r←v35560 = (
                           x645 = p0←v22240.f1,  *(float*)&x645
                           ) + (
                           x646 = p2←v22296.f1,  *(float*)&x646
                           );
                        };
SOURCE(6637, 15)
                     {
                        word x647;
                        word x648;
                        *(float*)&p02←v23504.f1 = (
                           x647 = r←v35560,  *(float*)&x647
                           ) * (
                           x648 = (*  (ptr) &fc16 ),  *(float*)&x648
                           );
                        };
                     };
SOURCE(32400, 38)
                  {
                     word x649;
                     word x650;
                     *(float*)&m←v23532.f0 = (
                        x649 = p1←v22268.f0,  *(float*)&x649
                        ) - (
                        x650 = p02←v23504.f0,  *(float*)&x650
                        );
                     };
                  {
                     word x651;
                     word x652;
                     *(float*)&m←v23532.f1 = (
                        x651 = p1←v22268.f1,  *(float*)&x651
                        ) - (
                        x652 = p02←v23504.f1,  *(float*)&x652
                        );
                     };
SOURCE(32440, 441)
                  {
                     word x658;
                     word x659;
                     {
                        word r←v41500;
                        {
                           word x653;
                           word x654;
                           *(float*)&r←v41500 = (
/*1*/   x653 = r←v22324,  *(float*)&x653
/*1*/   ) - (
/*1*/   x654 = (*  (ptr) &fc16 ),  *(float*)&x654
/*1*/   );
                           };
                        var←c52700 = ( (((unsigned)r←v41500 << 1) >> 1) );
                        };
                     {
                        word x655;
                        word x656;
                        word x657;
                        *(float*)&var←c0786 = ((
                           x655 = ( (((unsigned)m←v23532.f0 << 1) >> 1) ),  *(float*)&x655
                           ) + (
                           x656 = ( (((unsigned)m←v23532.f1 << 1) >> 1) ),  *(float*)&x656
                           )) * (
                           x657 = var←c52700,  *(float*)&x657
                           );
                        };
                     if (((
                        x658 = var←c0786,  *(float*)&x658
                        ) < (
                        x659 = (* (( (ptr) gf←c54684)+9)/* flatHack←v3140 */  ),  *(float*)&x659
                        )) || (0 !=  ( ( (int)(* (( (ptr) formal←c54716)+21) ) >  (int)0) ? 0 : (word) DepthExceeded←P480(1) ) )) {
SOURCE(32544, 22)
                        (void) ParToLines←P6816(p0←v22240, p1←v22268, p2←v22296, (word) (( (bPt) formal←c54716)+76));
                        }
                     else {
SOURCE(32573, 310)
                        {
                           W2 q←v23576;
                           word rNew←v23604;
SOURCE(32575, 44)
                           {
/*1*/   word x660;
/*1*/   word x661;
/*1*/   word x662;
/*1*/   *(float*)&q←v23576.f0 = ((
/*1*/      x660 = m←v23532.f0,  *(float*)&x660
/*1*/      ) * (
/*1*/      x661 = r←v22324,  *(float*)&x661
/*1*/      )) + (
/*1*/      x662 = p02←v23504.f0,  *(float*)&x662
/*1*/      );
/*1*/   };
                           {
/*1*/   word x663;
/*1*/   word x664;
/*1*/   word x665;
/*1*/   *(float*)&q←v23576.f1 = ((
/*1*/      x663 = m←v23532.f1,  *(float*)&x663
/*1*/      ) * (
/*1*/      x664 = r←v22324,  *(float*)&x664
/*1*/      )) + (
/*1*/      x665 = p02←v23504.f1,  *(float*)&x665
/*1*/      );
/*1*/   };
SOURCE(32621, 54)
                           {
/*1*/   word x666;
/*1*/   word x667;
/*1*/   word pd668;
/*1*/   word x669;
/*1*/   word x670;
/*1*/   word x671;
/*1*/   float tf672;
/*1*/   word x673;
/*1*/   pd668 = (* (( (ptr) (* (( (ptr) gf←c54684)+130)/* var←c46044 */  ))+9) );
/*1*/   *(float*)&rNew←v23604 = (
/*1*/      x666 = (*  (ptr) &fc15 ),  *(float*)&x666
/*1*/      ) / ((
/*1*/      x667 = (*  (ptr) &fc15 ),  *(float*)&x667
/*1*/      ) + (
/*1*/      x673 = (word) ( *( (fPt) ((*  (ptr) pd668 ))))((
/*1*/            tf672 = (
/*1*/               x669 = (*  (ptr) &fc288 ),  *(float*)&x669
/*1*/               ) * ((
/*1*/               x670 = (*  (ptr) &fc15 ),  *(float*)&x670
/*1*/               ) - (
/*1*/               x671 = r←v22324,  *(float*)&x671
/*1*/               )),  *(word*)&tf672
/*1*/            ), pd668),  *(float*)&x673
/*1*/      ));
/*1*/   };
SOURCE(32677, 19)
                           (* (( (ptr) formal←c54716)+21) ) = ((* (( (ptr) formal←c54716)+21) ) - 1);
SOURCE(32698, 80)
                           {
/*1*/   W2 var←c52796;
/*1*/   {
/*1*/      word x674;
/*1*/      word x675;
/*1*/      word x676;
/*1*/      word x677;
/*1*/      *(float*)&var←c52796.f0 = (((
/*1*/         x674 = p1←v22268.f0,  *(float*)&x674
/*1*/         ) - (
/*1*/         x675 = p0←v22240.f0,  *(float*)&x675
/*1*/         )) * (
/*1*/         x676 = r←v22324,  *(float*)&x676
/*1*/         )) + (
/*1*/         x677 = p0←v22240.f0,  *(float*)&x677
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x678;
/*1*/      word x679;
/*1*/      word x680;
/*1*/      word x681;
/*1*/      *(float*)&var←c52796.f1 = (((
/*1*/         x678 = p1←v22268.f1,  *(float*)&x678
/*1*/         ) - (
/*1*/         x679 = p0←v22240.f1,  *(float*)&x679
/*1*/         )) * (
/*1*/         x680 = r←v22324,  *(float*)&x680
/*1*/         )) + (
/*1*/         x681 = p0←v22240.f1,  *(float*)&x681
/*1*/         );
/*1*/      };
/*1*/   (void) ConicToLines←P6936(p0←v22240, var←c52796, q←v23576, rNew←v23604, (word) (( (bPt) formal←c54716)+60));
/*1*/   };
SOURCE(32780, 80)
                           {
/*1*/   W2 var←c52828;
/*1*/   {
/*1*/      word x682;
/*1*/      word x683;
/*1*/      word x684;
/*1*/      word x685;
/*1*/      *(float*)&var←c52828.f0 = (((
/*1*/         x682 = p1←v22268.f0,  *(float*)&x682
/*1*/         ) - (
/*1*/         x683 = p2←v22296.f0,  *(float*)&x683
/*1*/         )) * (
/*1*/         x684 = r←v22324,  *(float*)&x684
/*1*/         )) + (
/*1*/         x685 = p2←v22296.f0,  *(float*)&x685
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x686;
/*1*/      word x687;
/*1*/      word x688;
/*1*/      word x689;
/*1*/      *(float*)&var←c52828.f1 = (((
/*1*/         x686 = p1←v22268.f1,  *(float*)&x686
/*1*/         ) - (
/*1*/         x687 = p2←v22296.f1,  *(float*)&x687
/*1*/         )) * (
/*1*/         x688 = r←v22324,  *(float*)&x688
/*1*/         )) + (
/*1*/         x689 = p2←v22296.f1,  *(float*)&x689
/*1*/         );
/*1*/      };
/*1*/   (void) ConicToLines←P6936(q←v23576, var←c52828, p2←v22296, rNew←v23604, (word) (( (bPt) formal←c54716)+60));
/*1*/   };
SOURCE(32862, 19)
                           (* (( (ptr) formal←c54716)+21) ) = ((* (( (ptr) formal←c54716)+21) ) + 1);
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   }

static void myMoveTo←P7056(p←v33932, formal←c54748)
   W2 p←v33932;
   word formal←c54748;
   {
   formal←c54748 = (formal←c54748 - 52);
   /* myMoveTo: */ 
SOURCE(32961, 52)
SOURCE(32996, 9)
   {
      word pd690;
      pd690 = (* (( (ptr) formal←c54748)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd690 ))))(p←v33932, pd690);
      };
SOURCE(33007, 6)
   (*  (W2Pt) (( (ptr) formal←c54748)+23) ) = p←v33932;
   }

static void myLineTo←P7116(p1←v33992, formal←c54780)
   W2 p1←v33992;
   word formal←c54780;
   {
   formal←c54780 = (formal←c54780 - 44);
   /* myLineTo: */ 
SOURCE(33016, 54)
SOURCE(33051, 10)
   {
      word pd691;
      pd691 = (* (( (ptr) formal←c54780)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd691 ))))(p1←v33992, pd691);
      };
SOURCE(33063, 7)
   (*  (W2Pt) (( (ptr) formal←c54780)+23) ) = p1←v33992;
   }

static void myCurveTo←P7176(p1←v34052, p2←v34080, p3←v34108, formal←c54812)
   W2 p1←v34052;
   W2 p2←v34080;
   W2 p3←v34108;
   word formal←c54812;
   {
   formal←c54812 = (formal←c54812 - 36);
   /* myCurveTo: */ 
SOURCE(33073, 87)
SOURCE(33111, 40)
   {
      W2 var←c52860;
      W2 var←c52892;
      W2 var←c52924;
      W2 var←c52956;
      var←c52860.f0 = (* (( (ptr) formal←c54812)+23) );
      var←c52860.f1 = (* (( (ptr) formal←c54812)+24) );
      var←c52892.f0 = p1←v34052.f0;
      var←c52892.f1 = p1←v34052.f1;
      var←c52924.f0 = p2←v34080.f0;
      var←c52924.f1 = p2←v34080.f1;
      var←c52956.f0 = p3←v34108.f0;
      var←c52956.f1 = p3←v34108.f1;
      (void) CurveToLines←P6876(var←c52860, var←c52892, var←c52924, var←c52956, (word) (( (bPt) formal←c54812)+68));
      };
SOURCE(33153, 7)
   (*  (W2Pt) (( (ptr) formal←c54812)+23) ) = p3←v34108;
   }

static void myConicTo←P7236(p1←v34168, p2←v34196, r←v34224, formal←c54844)
   W2 p1←v34168;
   W2 p2←v34196;
   word r←v34224;
   word formal←c54844;
   {
   formal←c54844 = (formal←c54844 - 28);
   /* myConicTo: */ 
SOURCE(33165, 83)
SOURCE(33203, 36)
   {
      W2 var←c52988;
      W2 var←c53020;
      W2 var←c53052;
      var←c52988.f0 = (* (( (ptr) formal←c54844)+23) );
      var←c52988.f1 = (* (( (ptr) formal←c54844)+24) );
      var←c53020.f0 = p1←v34168.f0;
      var←c53020.f1 = p1←v34168.f1;
      var←c53052.f0 = p2←v34196.f0;
      var←c53052.f1 = p2←v34196.f1;
      (void) ConicToLines←P6936(var←c52988, var←c53020, var←c53052, r←v34224, (word) (( (bPt) formal←c54844)+60));
      };
SOURCE(33241, 7)
   (*  (W2Pt) (( (ptr) formal←c54844)+23) ) = p2←v34196;
   }

/* file: ImagerScanConverterImpl, module: ImagerScanConverterImpl, compiled at: March 9, 1994 3:13:16 pm PST */ 
extern void XR←install←ImagerScanConverterImpl() {
   NoName←Q14616();
   }
extern void XR←run←ImagerScanConverterImpl() { XR←Start(&globalframe); }