/* 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); }