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