/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: November 1, 1993 12:06:58 pm PST */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerStrokeImpl, module: ImagerStrokeImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITXOR(x, y) (((word)(x)) ↑ ((word)(y)))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
static char versionStamp[] = "@(#)mob←version [1959909396,3256719583] ImagerStrokeImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W16 r;} W32;
typedef struct {W16 f; W2 r;} W18;
typedef struct {W32 f; W18 r;} W50;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W16 f; W13 r;} W29;
typedef struct {W8 f; word r;} W9;
typedef W8 *W8Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W16 f; W7 r;} W23;
typedef struct {W32 f; W8 r;} W40;
typedef struct {W16 f; W4 r;} W20;
typedef struct {W16 f; W5 r;} W21;
static float fc1 = 0.5;
#define SOURCE(p, l) /* source p, l */
static float fc20 = 1.0;
static float fc21 = 0.001;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc34 = 0.0;
static float fc321 = 0.9999;
static float fc353 = 2.0;
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static float fc814 = 1.5;
#define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
#define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
static float fc946 = 1.0e-8;
static float fc950 = 1.0e+8;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc963 = 1048576.0;
static void NoName←Q12456();
static void ImagerStrokeImpl←P0();
static void DBug←P60();
static void SetCurveTolerance←P180();
static word FindVertex←P600();
static void Reverse←P660();
static void PenBB←P720();
static void ExtendBB←P780();
static void SubDivideParabola←P840();
static void Interpolate←P2148();
static word TraverseParabola←P900();
static word Intersect←P960();
static void PenStroke←P1020();
static word RegionOf←P2376();
static void Finish←P2496();
static void Move←P2556();
static void RoundJoint←P2616();
static void Parabola←P2676();
static void Line←P2736();
static void Conic←P2796();
static void Curve←P2856();
static void Arc←P2916();
static void SignalSquareEndWithNoDirection←P1080();
static void PathFromStroke←P1140();
static void RoundEnd←P3504();
static void SquareEnd←P3564();
static word NoName←Q12516();
static void Beam←P3624();
static word NoName←Q12576();
static void ButtEnd←P3684();
static void RoundJoint←P3744();
static void BevelJoint←P3804();
static void MiterJoint←P3864();
static void MiterOrBevelJoint←P3924();
static void Path←P3984();
static void PathFromVector←P1200();
static void AverageSpeed←P1260();
static void DivideUntilSmooth←P1320();
static void SubDivide←P1380();
static void SubPiece←P1440();
static word MeasurePath←P1500();
static void move←P4800();
static void line←P4860();
static void piece←P4920();
static void curve←P4980();
static void conic←P5040();
static void arc←P5100();
static word ComputeStretch←P1560();
static word AdjustOffset←P1620();
static void Dashes←P1680();
static void Advance←P5352();
static void move←P5412();
static void line←P5472();
static void start←P5808();
static void stop←P5868();
static void curve←P5532();
static void piece←P5928();
static void start←P5988();
static void stop←P6048();
static void conic←P5592();
static void arc←P5652();
static void ConvolvePenWithPath←P1740();
static void Move←P6108();
static void Line←P6168();
static void Close←P6228();
static void MapBitPath←P1800();
static void Emit←P6336();
static void NoName←Q12636();
static void NoName←Q12696();
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[52];} string5 = {3276852, "Zero-length stroke has no direction for square end\000"};
static struct {unsigned f; char r[36];} string6 = {2097188, "Negative element in dash pattern\000\000\000"};
static struct {unsigned f; char r[36];} string7 = {2162724, "Dash pattern sum must be positive\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\164\321\330\024\300\302\035\230\337\100\164\000\000"};
static struct {unsigned f; char r[8];} string9 = {458759, "\006\001@H\004G\377"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\150\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\314\116\377\204\300\167\024\373\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\065\223\325\152\300\153\212\013\164\100\150\000\000"};
static struct {
word f0[86];
} globalframe = {
{0}
};
static void NoName←Q12456()
{
register ptr gf←c0876 = (ptr) &globalframe;
word var←c58748;
(* (( (ptr) gf←c0876)+4)/* curveTolerance←v3532 */ ) = (* (ptr) &fc1 );
(* (( (ptr) gf←c0876)+75) ) = ( ((word) (fPt) ImagerStrokeImpl←P0) );
(* (( (ptr) gf←c0876)+73) ) = ( ((word) (fPt) DBug←P60) );
(* (( (ptr) gf←c0876)+71) ) = ( ((word) (fPt) SetCurveTolerance←P180) );
(* (( (ptr) gf←c0876)+69) ) = ( ((word) (fPt) FindVertex←P600) );
(* (( (ptr) gf←c0876)+67) ) = ( ((word) (fPt) Reverse←P660) );
(* (( (ptr) gf←c0876)+65) ) = ( ((word) (fPt) PenBB←P720) );
(* (( (ptr) gf←c0876)+63) ) = ( ((word) (fPt) ExtendBB←P780) );
(* (( (ptr) gf←c0876)+61) ) = ( ((word) (fPt) SubDivideParabola←P840) );
(* (( (ptr) gf←c0876)+59) ) = ( ((word) (fPt) TraverseParabola←P900) );
(* (( (ptr) gf←c0876)+57) ) = ( ((word) (fPt) Intersect←P960) );
(* (( (ptr) gf←c0876)+55) ) = ( ((word) (fPt) PenStroke←P1020) );
(* (( (ptr) gf←c0876)+53) ) = ( ((word) (fPt) SignalSquareEndWithNoDirection←P1080) );
(* (( (ptr) gf←c0876)+51) ) = ( ((word) (fPt) PathFromStroke←P1140) );
(* (( (ptr) gf←c0876)+49) ) = ( ((word) (fPt) PathFromVector←P1200) );
(* (( (ptr) gf←c0876)+47) ) = ( ((word) (fPt) AverageSpeed←P1260) );
(* (( (ptr) gf←c0876)+45) ) = ( ((word) (fPt) DivideUntilSmooth←P1320) );
(* (( (ptr) gf←c0876)+43) ) = ( ((word) (fPt) SubDivide←P1380) );
(* (( (ptr) gf←c0876)+41) ) = ( ((word) (fPt) SubPiece←P1440) );
(* (( (ptr) gf←c0876)+39) ) = ( ((word) (fPt) MeasurePath←P1500) );
(* (( (ptr) gf←c0876)+37) ) = ( ((word) (fPt) ComputeStretch←P1560) );
(* (( (ptr) gf←c0876)+35) ) = ( ((word) (fPt) AdjustOffset←P1620) );
(* (( (ptr) gf←c0876)+33) ) = ( ((word) (fPt) Dashes←P1680) );
(* (( (ptr) gf←c0876)+31) ) = ( ((word) (fPt) ConvolvePenWithPath←P1740) );
(* (( (ptr) gf←c0876)+29) ) = ( ((word) (fPt) MapBitPath←P1800) );
(* (( (ptr) gf←c0876)+8) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
(* (( (ptr) gf←c0876)+12) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string3);
(* (ptr) (( (bPt) gf←c0876)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0876)+12) ), (word) &string5);
(* (ptr) (( (bPt) gf←c0876)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0876)+12) ), (word) &string6);
(* (ptr) (( (bPt) gf←c0876)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0876)+12) ), (word) &string7);
(void) XR←DeclareGlobalFrame((word) "ImagerStrokeImpl", &globalframe, (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9)
, (word) (( (bPt) gf←c0876)+300)/* var←c46172 */ );
var←c58748 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string10)), 3);
(* (( (ptr) gf←c0876)+80)/* var←c51516 */ ) = var←c58748;
var←c58748 = (word) XR←ImportInterface((word) "ImagerPath", (word) XR←GetTypeIndexS((word) (&string11)), 18);
(* (( (ptr) gf←c0876)+79)/* var←c51484 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 2097157);
(void) XR←ImportProcS(var←c58748, 2097672);
(void) XR←ImportProcS(var←c58748, 1835268);
var←c58748 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string12)), 55);
(* (( (ptr) gf←c0876)+81)/* var←c52092 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 262401);
(void) XR←ImportProcS(var←c58748, 270849);
(void) XR←ImportProcS(var←c58748, 530946);
(void) XR←ImportProcS(var←c58748, 68681734);
(void) XR←ImportProcS(var←c58748, 135013122);
(void) XR←ImportProcS(var←c58748, 135013378);
(void) XR←ImportProcS(var←c58748, 135013890);
var←c58748 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string13)), 11);
(* (( (ptr) gf←c0876)+77)/* var←c46204 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 67372033);
(void) XR←ImportProcS(var←c58748, 67633154);
var←c58748 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string14)), 36);
(* (( (ptr) gf←c0876)+78)/* var←c50396 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 67372289);
var←c58748 = (word) XR←ImportInterface((word) "Vector2", (word) XR←GetTypeIndexS((word) (&string15)), 22);
(* (( (ptr) gf←c0876)+82)/* var←c52156 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 67637761);
(void) XR←ImportProcS(var←c58748, 67638273);
(void) XR←ImportProcS(var←c58748, 135005698);
(void) XR←ImportProcS(var←c58748, 134743041);
var←c58748 = (word) XR←ImportInterface((word) "ProcessProps", (word) XR←GetTypeIndexS((word) (&string16)), 6);
(* (( (ptr) gf←c0876)+83)/* var←c58780 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 67371777);
var←c58748 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string17)), 103);
(* (( (ptr) gf←c0876)+84)/* var←c58812 */ ) = var←c58748;
(void) XR←ImportProcS(var←c58748, 801795);
(void) XR←ImportProcS(var←c58748, 1063171);
(void) XR←ImportProcS(var←c58748, 1071364);
var←c58748 = (word) XR←ExportInterface((word) "ImagerStroke", (word) XR←GetTypeIndexS((word) (&string18)), 9);
(* (( (ptr) gf←c0876)+85)/* var←c58844 */ ) = var←c58748;
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+212)/* var←c45820 */ , 0, (word) "SignalSquareEndWithNoDirection")
;
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+204)/* var←c45788 */ , 3932428, (word) "PathFromStroke");
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+196)/* var←c45756 */ , 2359815, (word) "PathFromVector");
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+220)/* var←c45852 */ , 3408650, (word) "PenStroke");
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+156)/* var←c45596 */ , 67634178, (word) "MeasurePath");
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+132)/* var←c45500 */ , 2622730, (word) "Dashes");
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+276)/* var←c46076 */ , 68158979, (word) "FindVertex");
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+124)/* var←c45468 */ , 1050372, (word) "ConvolvePenWithPath")
;
(void) XR←ExportProcS(var←c58748, (word) (( (bPt) gf←c0876)+116)/* var←c45436 */ , 2361350, (word) "MapBitPath");
}
static void ImagerStrokeImpl←P0(formal←c048, formal←c047)
word formal←c048;
word formal←c047;
{
register ptr gf←c58876 = (ptr) &globalframe;
/* ImagerStrokeImpl: */
SOURCE(163, 27381)
/* moved to installation proc */
SOURCE(11992, 43)
{
word pd19;
pd19 = (* (( (ptr) (* (( (ptr) gf←c58876)+77)/* var←c46204 */ ))+4) );
(* (( (ptr) gf←c58876)+5)/* verySmallNumber←v4176 */ ) = (word) ( *( (fPt) ((* (ptr) pd19 ))))((* (ptr) &fc20 ), (word) -20, pd19)
;
};
SOURCE(18159, 13)
(* (( (ptr) gf←c58876)+6)/* nPts←v4288 */ ) = 6;
SOURCE(18885, 17)
(* (( (ptr) gf←c58876)+7)/* sigBits←v4372 */ ) = 10;
}
static void DBug←P60(label←v4796, v←v4824, d←v4852)
word label←v4796;
word v←v4824;
word d←v4852;
{
/* DBug: */
}
static void SetCurveTolerance←P180(millis←v5128)
word millis←v5128;
{
register ptr gf←c58908 = (ptr) &globalframe;
/* SetCurveTolerance: */
SOURCE(1518, 102)
SOURCE(1560, 60)
if ( ( ( (int)millis←v5128 >= (int)1) ? ( (int)millis←v5128 <= (int)10000) : 0 ) ) {
SOURCE(1589, 31)
{
word x22;
*(float*)(( (ptr) gf←c58908)+4)/* curveTolerance←v3532 */ = (float)(int)millis←v5128 * (
x22 = (* (ptr) &fc21 ), *(float*)&x22
);
};
};
}
static word FindVertex←P600(pen←v5980, direction←v6008, i←v6036)
word pen←v5980;
W2 direction←v6008;
word i←v6036;
{
word var←c6080;
word penSize←v11020;
word penSizeLess1←v11048;
/* FindVertex: */
SOURCE(2187, 482)
SOURCE(2268, 23)
penSize←v11020 = (* (( (ptr) pen←v5980)+5) );
SOURCE(2293, 29)
penSizeLess1←v11048 = SGNCK((penSize←v11020 - 1));
SOURCE(2324, 153)
lab←L100002: ;
SOURCE(2324, 153)
{
word prv←v11092;
word dotPrv←v11120;
SOURCE(2327, 48)
prv←v11092 = ( (i←v6036 == 0) ? penSizeLess1←v11048 : (i←v6036 - 1) ) ;
SOURCE(2377, 66)
{
W2 v2←v45388;
{
W2 v1←v42232;
W2 v2←v42260;
{
word limit23;
v1←v42232 = (* (( (W2Pt) (( (ptr) pen←v5980)+6))+(
limit23 = (* (( (ptr) pen←v5980)+5) ),
BCK(prv←v11092, limit23)
)) );
};
{
word limit24;
v2←v42260 = (* (( (W2Pt) (( (ptr) pen←v5980)+6))+(
limit24 = (* (( (ptr) pen←v5980)+5) ),
BCK(i←v6036, limit24)
)) );
};
SOURCE(1759, 31)
{
word x25;
word x26;
*(float*)&v2←v45388.f0 = (
x25 = v1←v42232.f0, *(float*)&x25
) - (
x26 = v2←v42260.f0, *(float*)&x26
);
};
{
word x27;
word x28;
*(float*)&v2←v45388.f1 = (
x27 = v1←v42232.f1, *(float*)&x27
) - (
x28 = v2←v42260.f1, *(float*)&x28
);
};
};
{
word x29;
word x30;
word x31;
word x32;
*(float*)&dotPrv←v11120 = ((
x29 = direction←v6008.f0, *(float*)&x29
) * (
x30 = v2←v45388.f0, *(float*)&x30
)) + ((
x31 = direction←v6008.f1, *(float*)&x31
) * (
x32 = v2←v45388.f1, *(float*)&x32
));
};
};
SOURCE(2445, 32)
{
word x33;
word x35;
if (((
x33 = dotPrv←v11120, *(float*)&x33
) > (
x35 = (* (ptr) &fc34 ), *(float*)&x35
))) {
SOURCE(2464, 13)
i←v6036 = prv←v11092;
}
else {
SOURCE(2477, 12)
goto lab←L100001;
};
};
};
goto lab←L100002;
lab←L100001: ;
SOURCE(2491, 153)
lab←L100007: ;
SOURCE(2491, 153)
{
word nxt←v11164;
word dotNxt←v11192;
SOURCE(2494, 48)
nxt←v11164 = ( (i←v6036 == penSizeLess1←v11048) ? 0 : (i←v6036 + 1) ) ;
SOURCE(2544, 66)
{
W2 v2←v45340;
{
W2 v1←v42156;
W2 v2←v42184;
{
word limit36;
v1←v42156 = (* (( (W2Pt) (( (ptr) pen←v5980)+6))+(
limit36 = (* (( (ptr) pen←v5980)+5) ),
BCK(nxt←v11164, limit36)
)) );
};
{
word limit37;
v2←v42184 = (* (( (W2Pt) (( (ptr) pen←v5980)+6))+(
limit37 = (* (( (ptr) pen←v5980)+5) ),
BCK(i←v6036, limit37)
)) );
};
SOURCE(1759, 31)
{
word x38;
word x39;
*(float*)&v2←v45340.f0 = (
x38 = v1←v42156.f0, *(float*)&x38
) - (
x39 = v2←v42184.f0, *(float*)&x39
);
};
{
word x40;
word x41;
*(float*)&v2←v45340.f1 = (
x40 = v1←v42156.f1, *(float*)&x40
) - (
x41 = v2←v42184.f1, *(float*)&x41
);
};
};
{
word x42;
word x43;
word x44;
word x45;
*(float*)&dotNxt←v11192 = ((
x42 = direction←v6008.f0, *(float*)&x42
) * (
x43 = v2←v45340.f0, *(float*)&x43
)) + ((
x44 = direction←v6008.f1, *(float*)&x44
) * (
x45 = v2←v45340.f1, *(float*)&x45
));
};
};
SOURCE(2612, 32)
{
word x46;
word x47;
if (((
x46 = dotNxt←v11192, *(float*)&x46
) > (
x47 = (* (ptr) &fc34 ), *(float*)&x47
))) {
SOURCE(2631, 13)
i←v6036 = nxt←v11164;
}
else {
SOURCE(2644, 12)
goto lab←L100006;
};
};
};
goto lab←L100007;
lab←L100006: ;
SOURCE(2658, 11)
return(i←v6036);
}
static void Reverse←P660(formal←c074, state←v6268)
word formal←c074;
W6 state←v6268;
{
W6 var←c6312;
word t←v11236;
/* Reverse: */
SOURCE(2881, 193)
SOURCE(2930, 19)
t←v11236 = state←v6268.f4;
SOURCE(2951, 24)
state←v6268.f4 = state←v6268.f5;
SOURCE(2977, 15)
state←v6268.f5 = t←v11236;
SOURCE(2994, 64)
{
word var←c46460;
word var←c46524;
var←c46460 = (word) XRM←BITXOR(state←v6268.f2, 2147483648);
var←c46524 = (word) XRM←BITXOR(state←v6268.f3, 2147483648);
state←v6268.f2 = var←c46460;
state←v6268.f3 = var←c46524;
};
SOURCE(3060, 14)
var←c6312 = state←v6268;
/* removed tail goto */
(* (W6Pt) formal←c074 ) = var←c6312;
return;
}
static void PenBB←P720(formal←c081, pen←v6372)
word formal←c081;
word pen←v6372;
{
W4 var←c6416;
W4 box←v11280;
/* PenBB: */
SOURCE(3080, 371)
SOURCE(3141, 83)
box←v11280.f0 = 2139095039;
box←v11280.f1 = 2139095039;
{
word x48;
*(float*)&box←v11280.f2 = - (
x48 = 2139095039, *(float*)&x48
);
};
{
word x49;
*(float*)&box←v11280.f3 = - (
x49 = 2139095039, *(float*)&x49
);
};
SOURCE(3226, 202)
{
register word i←v11324 = 0;
register word noName←c46588;
noName←c46588 = (* (( (ptr) pen←v6372)+5) );
if ((i←v11324 >= noName←c46588)) {
goto lab←L100012;
};
lab←L100015: ;
{
W2 p←v11368;
SOURCE(3257, 15)
{
word limit50;
p←v11368 = (* (( (W2Pt) (( (ptr) pen←v6372)+6))+(
limit50 = (* (( (ptr) pen←v6372)+5) ),
BCK(i←v11324, limit50)
)) );
};
SOURCE(3274, 37)
{
word x51;
word x52;
if (((
x51 = p←v11368.f0, *(float*)&x51
) < (
x52 = box←v11280.f0, *(float*)&x52
))) {
SOURCE(3297, 14)
box←v11280.f0 = p←v11368.f0;
};
};
SOURCE(3313, 37)
{
word x53;
word x54;
if (((
x53 = p←v11368.f0, *(float*)&x53
) > (
x54 = box←v11280.f2, *(float*)&x54
))) {
SOURCE(3336, 14)
box←v11280.f2 = p←v11368.f0;
};
};
SOURCE(3352, 37)
{
word x55;
word x56;
if (((
x55 = p←v11368.f1, *(float*)&x55
) < (
x56 = box←v11280.f1, *(float*)&x56
))) {
SOURCE(3375, 14)
box←v11280.f1 = p←v11368.f1;
};
};
SOURCE(3391, 37)
{
word x57;
word x58;
if (((
x57 = p←v11368.f1, *(float*)&x57
) > (
x58 = box←v11280.f3, *(float*)&x58
))) {
SOURCE(3414, 14)
box←v11280.f3 = p←v11368.f1;
};
};
};
i←v11324 = (i←v11324 + 1);
if ((i←v11324 < noName←c46588)) {
goto lab←L100015;
};
lab←L100012: ;
};
SOURCE(3439, 12)
var←c6416 = box←v11280;
/* removed tail goto */
(* (W4Pt) formal←c081 ) = var←c6416;
return;
}
static void ExtendBB←P780(formal←c085, b0←v6476, b1←v6504)
word formal←c085;
W4 b0←v6476;
W4 b1←v6504;
{
word var←c01012;
word var←c01013;
word var←c01014;
word var←c01015;
/* ExtendBB: */
SOURCE(3457, 169)
/* Return var split */
SOURCE(3524, 102)
{
word x59;
word x60;
*(float*)&var←c01012 = (
x59 = b0←v6476.f0, *(float*)&x59
) + (
x60 = b1←v6504.f0, *(float*)&x60
);
};
{
word x61;
word x62;
*(float*)&var←c01013 = (
x61 = b0←v6476.f1, *(float*)&x61
) + (
x62 = b1←v6504.f1, *(float*)&x62
);
};
{
word x63;
word x64;
*(float*)&var←c01014 = (
x63 = b0←v6476.f2, *(float*)&x63
) + (
x64 = b1←v6504.f2, *(float*)&x64
);
};
{
word x65;
word x66;
*(float*)&var←c01015 = (
x65 = b0←v6476.f3, *(float*)&x65
) + (
x66 = b1←v6504.f3, *(float*)&x66
);
};
/* removed tail goto */
(* (( (ptr) formal←c085)+3) ) = var←c01015;
(* (( (ptr) formal←c085)+2) ) = var←c01014;
(* (( (ptr) formal←c085)+1) ) = var←c01013;
(* (ptr) formal←c085 ) = var←c01012;
return;
}
static void SubDivideParabola←P840(formal←c098, b←v6644, formal←c0981)
word formal←c098;
W6 b←v6644;
word formal←c0981;
{
W8 var←c58940;
/* declaration of t←v6672 skipped */
W6 low←v6716;
W6 high←v6744;
/* declaration of var←c46652 skipped */
/* declaration of s←v11412 skipped */
W2 q1←v11468;
W2 q2←v11496;
W2 qp1←v11524;
var←c58940.f4/* t←v6672 */ = formal←c0981;
/* SubDivideParabola: */
SOURCE(3674, 343)
{
word tmpAddr67;
tmpAddr67 = (word) (( (ptr) &var←c58940)+5)/* var←c46652 */ ;
(* (ptr) tmpAddr67 ) = ( ((word) (fPt) Interpolate←P2148) );
(* (( (ptr) tmpAddr67) + 1) ) = 1;
};
SOURCE(3767, 13)
{
word x68;
word x69;
*(float*)&var←c58940.f7/* s←v11412 */ = (
x68 = (* (ptr) &fc20 ), *(float*)&x68
) - (
x69 = var←c58940.f4/* t←v6672 */ , *(float*)&x69
);
};
SOURCE(3869, 34)
(void) Interpolate←P2148((word) &q1←v11468, (* (W2Pt) &b←v6644 ), (* (W2Pt) (( (ptr) &b←v6644)+2) ), (word) (( (bPt) &var←c58940)+20)
/* var←c46652 */ );
SOURCE(3905, 33)
(void) Interpolate←P2148((word) &q2←v11496, (* (W2Pt) (( (ptr) &b←v6644)+2) ), (* (W2Pt) (( (ptr) &b←v6644)+4) ), (word) (
( (bPt) &var←c58940)+20)/* var←c46652 */ );
SOURCE(3940, 30)
(void) Interpolate←P2148((word) &qp1←v11524, q1←v11468, q2←v11496, (word) (( (bPt) &var←c58940)+20)/* var←c46652 */ );
SOURCE(3972, 21)
(* (W2Pt) &low←v6716 ) = (* (W2Pt) &b←v6644 );
(* (W2Pt) (( (ptr) &low←v6716)+2) ) = q1←v11468;
(* (W2Pt) (( (ptr) &low←v6716)+4) ) = qp1←v11524;
SOURCE(3995, 22)
(* (W2Pt) &high←v6744 ) = qp1←v11524;
(* (W2Pt) (( (ptr) &high←v6744)+2) ) = q2←v11496;
(* (W2Pt) (( (ptr) &high←v6744)+4) ) = (* (W2Pt) (( (ptr) &b←v6644)+4) );
/* removed tail goto */
(* (W6Pt) formal←c098 ) = low←v6716;
(* (W6Pt) (( (ptr) formal←c098)+6) ) = high←v6744;
return;
}
static void Interpolate←P2148(formal←c0102, a←v11600, b←v11628, formal←c58972)
word formal←c0102;
W2 a←v11600;
W2 b←v11628;
word formal←c58972;
{
word var←c01016;
word var←c01017;
formal←c58972 = (formal←c58972 - 20);
/* Interpolate: */
SOURCE(3782, 84)
/* Return var split */
SOURCE(3830, 36)
{
word x70;
word x71;
word x72;
word x73;
*(float*)&var←c01016 = ((
x70 = a←v11600.f0, *(float*)&x70
) * (
x71 = (* (( (ptr) formal←c58972)+7) ), *(float*)&x71
)) + ((
x72 = b←v11628.f0, *(float*)&x72
) * (
x73 = (* (( (ptr) formal←c58972)+4) ), *(float*)&x73
));
};
{
word x74;
word x75;
word x76;
word x77;
*(float*)&var←c01017 = ((
x74 = a←v11600.f1, *(float*)&x74
) * (
x75 = (* (( (ptr) formal←c58972)+7) ), *(float*)&x75
)) + ((
x76 = b←v11628.f1, *(float*)&x76
) * (
x77 = (* (( (ptr) formal←c58972)+4) ), *(float*)&x77
));
};
/* removed tail goto */
(* (( (ptr) formal←c0102)+1) ) = var←c01017;
(* (ptr) formal←c0102 ) = var←c01016;
return;
}
static word TraverseParabola←P900(pen←v6904, p←v6932, vertex←v6960, endVertex←v6988, lineTo←v7016, conicTo←v7044, turning←v7072)
word pen←v6904;
W6 p←v6932;
word vertex←v6960;
word endVertex←v6988;
word lineTo←v7016;
word conicTo←v7044;
word turning←v7072;
{
word var←c7116;
word penSize←v11700;
word max←v11728;
W2 delta0←v11812;
W2 delta1←v11840;
W2 offset←v11868;
word t←v11896;
W6 b←v11924;
word turnRight←v11952;
/* TraverseParabola: */
SOURCE(4067, 1591)
SOURCE(4245, 23)
penSize←v11700 = (* (( (ptr) pen←v6904)+5) );
SOURCE(4270, 20)
max←v11728 = SGNCK((penSize←v11700 - 1));
SOURCE(4460, 29)
{
W2 v1←v42080;
W2 v2←v42108;
v1←v42080 = (* (W2Pt) (( (ptr) &p←v6932)+2) );
v2←v42108 = (* (W2Pt) &p←v6932 );
SOURCE(1759, 31)
{
word x78;
word x79;
*(float*)&delta0←v11812.f0 = (
x78 = v1←v42080.f0, *(float*)&x78
) - (
x79 = v2←v42108.f0, *(float*)&x79
);
};
{
word x80;
word x81;
*(float*)&delta0←v11812.f1 = (
x80 = v1←v42080.f1, *(float*)&x80
) - (
x81 = v2←v42108.f1, *(float*)&x81
);
};
};
SOURCE(4491, 29)
{
W2 v1←v42004;
W2 v2←v42032;
v1←v42004 = (* (W2Pt) (( (ptr) &p←v6932)+4) );
v2←v42032 = (* (W2Pt) (( (ptr) &p←v6932)+2) );
SOURCE(1759, 31)
{
word x82;
word x83;
*(float*)&delta1←v11840.f0 = (
x82 = v1←v42004.f0, *(float*)&x82
) - (
x83 = v2←v42032.f0, *(float*)&x83
);
};
{
word x84;
word x85;
*(float*)&delta1←v11840.f1 = (
x84 = v1←v42004.f1, *(float*)&x84
) - (
x85 = v2←v42032.f1, *(float*)&x85
);
};
};
SOURCE(4522, 25)
{
word limit86;
offset←v11868 = (* (( (W2Pt) (( (ptr) pen←v6904)+6))+(
limit86 = (* (( (ptr) pen←v6904)+5) ),
BCK(vertex←v6960, limit86)
)) );
};
SOURCE(4549, 13)
t←v11896 = (* (ptr) &fc34 );
SOURCE(4564, 21)
b←v11924 = p←v6932;
SOURCE(4587, 125)
{
word var←c46844;
var←c46844 = turning←v7072;
{
word x87;
word x88;
word x89;
word x90;
word x91;
if ((var←c46844 == 1)) {
turnRight←v11952 = 0;
}
else {
if ((var←c46844 == 2)) {
turnRight←v11952 = 1;
}
else {
turnRight←v11952 = (unsigned) (((
x87 = delta0←v11812.f0, *(float*)&x87
) * (
x88 = delta1←v11840.f1, *(float*)&x88
)) - ((
x89 = delta0←v11812.f1, *(float*)&x89
) * (
x90 = delta1←v11840.f0, *(float*)&x90
)) < (
x91 = (* (ptr) &fc34 ), *(float*)&x91
));
};
};
};
};
SOURCE(4830, 689)
lab←L100023: ;
if ((vertex←v6960 != endVertex←v6988)) {
}
else {
goto lab←L100021;
};
{
word nextVertex←v12204;
W2 nextDirection←v12232;
word d0←v12260;
word d1←v12288;
word r←v12316;
word newT←v12344;
W6 b0←v12372;
W6 b1←v12400;
SOURCE(4858, 66)
nextVertex←v12204 = ( (0 != turnRight←v11952) ? ( (vertex←v6960 == 0) ? max←v11728 : (vertex←v6960 - 1) ) : ( (vertex←v6960 == max←v11728) ? 0 : (vertex←v6960 +
1) ) ) ;
SOURCE(4926, 49)
{
W2 v1←v41956;
{
word limit92;
v1←v41956 = (* (( (W2Pt) (( (ptr) pen←v6904)+6))+(
limit92 = (* (( (ptr) pen←v6904)+5) ),
BCK(nextVertex←v12204, limit92)
)) );
};
SOURCE(1759, 31)
{
word x93;
word x94;
*(float*)&nextDirection←v12232.f0 = (
x93 = v1←v41956.f0, *(float*)&x93
) - (
x94 = offset←v11868.f0, *(float*)&x94
);
};
{
word x95;
word x96;
*(float*)&nextDirection←v12232.f1 = (
x95 = v1←v41956.f1, *(float*)&x95
) - (
x96 = offset←v11868.f1, *(float*)&x96
);
};
};
SOURCE(4977, 53)
{
word x97;
word x98;
word x99;
word x100;
*(float*)&d0←v12260 = ((
x97 = delta0←v11812.f0, *(float*)&x97
) * (
x98 = nextDirection←v12232.f1, *(float*)&x98
)) - ((
x99 = delta0←v11812.f1, *(float*)&x99
) * (
x100 = nextDirection←v12232.f0, *(float*)&x100
));
};
SOURCE(5032, 53)
{
word x101;
word x102;
word x103;
word x104;
*(float*)&d1←v12288 = ((
x101 = delta1←v11840.f0, *(float*)&x101
) * (
x102 = nextDirection←v12232.f1, *(float*)&x102
)) - ((
x103 = delta1←v11840.f1, *(float*)&x103
) * (
x104 = nextDirection←v12232.f0, *(float*)&x104
));
};
SOURCE(5087, 45)
{
word x105;
word x106;
word x107;
word x108;
word x109;
float tf110;
r←v12316 = ( ((
x105 = d0←v12260, *(float*)&x105
) == (
x106 = d1←v12288, *(float*)&x106
)) ? (* (ptr) &fc20 ) : (
tf110 = (
x107 = d0←v12260, *(float*)&x107
) / ((
x108 = d0←v12260, *(float*)&x108
) - (
x109 = d1←v12288, *(float*)&x109
)), *(word*)&tf110
) ) ;
};
SOURCE(5134, 48)
{
word x111;
word x112;
word x113;
word x114;
newT←v12344 = ( (((
x111 = r←v12316, *(float*)&x111
) < (
x112 = t←v11896, *(float*)&x112
)) || ((
x113 = r←v12316, *(float*)&x113
) > (
x114 = (* (ptr) &fc20 ), *(float*)&x114
))) ? (* (ptr) &fc20 ) : r←v12316 ) ;
};
SOURCE(5208, 74)
{
W12 var←c46940;
{
word x115;
word x116;
word x117;
word x118;
word x119;
word x120;
float tf121;
(void) SubDivideParabola←P840((word) &var←c46940, b←v11924, ( ((
x115 = t←v11896, *(float*)&x115
) == (
x116 = (* (ptr) &fc20 ), *(float*)&x116
)) ? (* (ptr) &fc20 ) : (
tf121 = ((
x117 = newT←v12344, *(float*)&x117
) - (
x118 = t←v11896, *(float*)&x118
)) / ((
x119 = (* (ptr) &fc20 ), *(float*)&x119
) - (
x120 = t←v11896, *(float*)&x120
)), *(word*)&tf121
) ) );
};
b1←v12400 = (* (W6Pt) (( (ptr) &var←c46940)+6) );
b0←v12372 = (* (W6Pt) &var←c46940 );
};
SOURCE(5284, 52)
{
W2 var←c46972;
W2 var←c47068;
{
W2 v1←v41384;
v1←v41384 = (* (W2Pt) (( (ptr) &b0←v12372)+2) );
SOURCE(1675, 31)
{
word x122;
word x123;
*(float*)&var←c46972.f0 = (
x122 = v1←v41384.f0, *(float*)&x122
) + (
x123 = offset←v11868.f0, *(float*)&x123
);
};
{
word x124;
word x125;
*(float*)&var←c46972.f1 = (
x124 = v1←v41384.f1, *(float*)&x124
) + (
x125 = offset←v11868.f1, *(float*)&x125
);
};
};
{
W2 v1←v41336;
v1←v41336 = (* (W2Pt) (( (ptr) &b0←v12372)+4) );
SOURCE(1675, 31)
{
word x126;
word x127;
*(float*)&var←c47068.f0 = (
x126 = v1←v41336.f0, *(float*)&x126
) + (
x127 = offset←v11868.f0, *(float*)&x127
);
};
{
word x128;
word x129;
*(float*)&var←c47068.f1 = (
x128 = v1←v41336.f1, *(float*)&x128
) + (
x129 = offset←v11868.f1, *(float*)&x129
);
};
};
(void) ( *( (fPt) ((* (ptr) conicTo←v7044 ))))(var←c46972, var←c47068, (* (ptr) &fc1 ), conicTo←v7044);
};
SOURCE(5338, 19)
vertex←v6960 = nextVertex←v12204;
SOURCE(5359, 20)
{
word limit130;
offset←v11868 = (* (( (W2Pt) (( (ptr) pen←v6904)+6))+(
limit130 = (* (( (ptr) pen←v6904)+5) ),
BCK(vertex←v6960, limit130)
)) );
};
SOURCE(5381, 26)
{
W2 var←c47164;
{
W2 v1←v41288;
v1←v41288 = (* (W2Pt) &b1←v12400 );
SOURCE(1675, 31)
{
word x131;
word x132;
*(float*)&var←c47164.f0 = (
x131 = v1←v41288.f0, *(float*)&x131
) + (
x132 = offset←v11868.f0, *(float*)&x132
);
};
{
word x133;
word x134;
*(float*)&var←c47164.f1 = (
x133 = v1←v41288.f1, *(float*)&x133
) + (
x134 = offset←v11868.f1, *(float*)&x134
);
};
};
(void) ( *( (fPt) ((* (ptr) lineTo←v7016 ))))(var←c47164, lineTo←v7016);
};
SOURCE(5409, 6)
b←v11924 = b1←v12400;
SOURCE(5511, 8)
t←v11896 = newT←v12344;
};
goto lab←L100023;
lab←L100021: ;
SOURCE(5530, 81)
if ( ! XR←EqualWords(&b←v11924, (( (ptr) &b←v11924)+2), 2) || ! XR←EqualWords((( (ptr) &b←v11924)+2), (( (ptr) &b←v11924)+4)
, 2)) {
SOURCE(5561, 50)
{
W2 var←c47260;
W2 var←c47356;
{
W2 v1←v41240;
v1←v41240 = (* (W2Pt) (( (ptr) &b←v11924)+2) );
SOURCE(1675, 31)
{
word x135;
word x136;
*(float*)&var←c47260.f0 = (
x135 = v1←v41240.f0, *(float*)&x135
) + (
x136 = offset←v11868.f0, *(float*)&x136
);
};
{
word x137;
word x138;
*(float*)&var←c47260.f1 = (
x137 = v1←v41240.f1, *(float*)&x137
) + (
x138 = offset←v11868.f1, *(float*)&x138
);
};
};
{
W2 v1←v41192;
v1←v41192 = (* (W2Pt) (( (ptr) &b←v11924)+4) );
SOURCE(1675, 31)
{
word x139;
word x140;
*(float*)&var←c47356.f0 = (
x139 = v1←v41192.f0, *(float*)&x139
) + (
x140 = offset←v11868.f0, *(float*)&x140
);
};
{
word x141;
word x142;
*(float*)&var←c47356.f1 = (
x141 = v1←v41192.f1, *(float*)&x141
) + (
x142 = offset←v11868.f1, *(float*)&x142
);
};
};
(void) ( *( (fPt) ((* (ptr) conicTo←v7044 ))))(var←c47260, var←c47356, (* (ptr) &fc1 ), conicTo←v7044);
};
};
SOURCE(5613, 45)
if ((0 != turnRight←v11952)) {
return(1);
}
else {
return(2);
};
}
static word Intersect←P960(a←v7320, b←v7348)
word a←v7320;
word b←v7348;
{
word var←c7392;
/* Intersect: */
SOURCE(5765, 110)
SOURCE(5817, 58)
return((word) XRM←BITAND(a←v7320, b←v7348));
}
static void PenStroke←P1020(path←v7452, formal←c0982, formal←c0983, formal←c0984, formal←c0985, formal←c0986, formal←c0987, formal←c0988, box←v7676, formal←c0989)
word path←v7452;
word formal←c0982;
word formal←c0983;
word formal←c0984;
word formal←c0985;
word formal←c0986;
word formal←c0987;
word formal←c0988;
W4 box←v7676;
word formal←c0989;
{
W50 var←c59004;
/* declaration of pen←v7480 skipped */
/* declaration of closed←v7508 skipped */
/* declaration of moveTo←v7536 skipped */
/* declaration of lineTo←v7564 skipped */
/* declaration of conicTo←v7592 skipped */
/* declaration of end←v7620 skipped */
/* declaration of joint←v7648 skipped */
/* declaration of cull←v7704 skipped */
/* declaration of var←c47484 skipped */
/* declaration of var←c47516 skipped */
/* declaration of var←c47548 skipped */
/* declaration of var←c47580 skipped */
/* declaration of var←c47612 skipped */
/* declaration of var←c47644 skipped */
/* declaration of var←c47676 skipped */
/* declaration of var←c47708 skipped */
/* declaration of var←c47740 skipped */
/* declaration of bb←v12444 skipped */
/* declaration of where←v12500 skipped */
/* declaration of first←v12528 skipped */
/* declaration of last←v12556 skipped */
/* declaration of depth←v12696 skipped */
/* declaration of inCurve←v12724 skipped */
/* declaration of firstHalf←v12836 skipped */
(* (( (ptr) &var←c59004)+4)/* pen←v7480 */ ) = formal←c0982;
(* (( (ptr) &var←c59004)+5)/* closed←v7508 */ ) = formal←c0983;
(* (( (ptr) &var←c59004)+6)/* moveTo←v7536 */ ) = formal←c0984;
(* (( (ptr) &var←c59004)+7)/* lineTo←v7564 */ ) = formal←c0985;
(* (( (ptr) &var←c59004)+8)/* conicTo←v7592 */ ) = formal←c0986;
(* (( (ptr) &var←c59004)+9)/* end←v7620 */ ) = formal←c0987;
(* (( (ptr) &var←c59004)+10)/* joint←v7648 */ ) = formal←c0988;
(* (( (ptr) &var←c59004)+11)/* cull←v7704 */ ) = formal←c0989;
/* PenStroke: */
SOURCE(5923, 6063)
{
word tmpAddr143;
tmpAddr143 = (word) (( (ptr) &var←c59004)+12)/* var←c47484 */ ;
(* (ptr) tmpAddr143 ) = ( ((word) (fPt) Arc←P2916) );
(* (( (ptr) tmpAddr143) + 1) ) = 1;
};
{
word tmpAddr144;
tmpAddr144 = (word) (( (ptr) &var←c59004)+14)/* var←c47516 */ ;
(* (ptr) tmpAddr144 ) = ( ((word) (fPt) Curve←P2856) );
(* (( (ptr) tmpAddr144) + 1) ) = 1;
};
{
word tmpAddr145;
tmpAddr145 = (word) (( (ptr) &var←c59004)+16)/* var←c47548 */ ;
(* (ptr) tmpAddr145 ) = ( ((word) (fPt) Conic←P2796) );
(* (( (ptr) tmpAddr145) + 1) ) = 1;
};
{
word tmpAddr146;
tmpAddr146 = (word) (( (ptr) &var←c59004)+18)/* var←c47580 */ ;
(* (ptr) tmpAddr146 ) = ( ((word) (fPt) Line←P2736) );
(* (( (ptr) tmpAddr146) + 1) ) = 1;
};
{
word tmpAddr147;
tmpAddr147 = (word) (( (ptr) &var←c59004)+20)/* var←c47612 */ ;
(* (ptr) tmpAddr147 ) = ( ((word) (fPt) Parabola←P2676) );
(* (( (ptr) tmpAddr147) + 1) ) = 1;
};
{
word tmpAddr148;
tmpAddr148 = (word) (( (ptr) &var←c59004)+22)/* var←c47644 */ ;
(* (ptr) tmpAddr148 ) = ( ((word) (fPt) RoundJoint←P2616) );
(* (( (ptr) tmpAddr148) + 1) ) = 1;
};
{
word tmpAddr149;
tmpAddr149 = (word) (( (ptr) &var←c59004)+24)/* var←c47676 */ ;
(* (ptr) tmpAddr149 ) = ( ((word) (fPt) Move←P2556) );
(* (( (ptr) tmpAddr149) + 1) ) = 1;
};
{
word tmpAddr150;
tmpAddr150 = (word) (( (ptr) &var←c59004)+26)/* var←c47708 */ ;
(* (ptr) tmpAddr150 ) = ( ((word) (fPt) Finish←P2496) );
(* (( (ptr) tmpAddr150) + 1) ) = 1;
};
{
word tmpAddr151;
tmpAddr151 = (word) (( (ptr) &var←c59004)+28)/* var←c47740 */ ;
(* (ptr) tmpAddr151 ) = ( ((word) (fPt) RegionOf←P2376) );
(* (( (ptr) tmpAddr151) + 1) ) = 1;
};
SOURCE(6247, 45)
{
W4 var←c47772;
(void) PenBB←P720((word) &var←c47772, (* (( (ptr) &var←c59004)+4)/* pen←v7480 */ ));
{
W4 var←c0170;
(void) ExtendBB←P780((word) &var←c0170, var←c47772, box←v7676);
(* (W4Pt) (( (ptr) &var←c59004)+30)/* bb←v12444 */ ) = var←c0170;
};
};
SOURCE(6432, 7)
(* (( (ptr) &var←c59004)+34)/* where←v12500 */ ) = 0;
SOURCE(6480, 17)
(* (( (ptr) &var←c59004)+35) ) = 2139095042;
(* (( (ptr) &var←c59004)+36) ) = 2139095042;
(* (( (ptr) &var←c59004)+37) ) = 2139095042;
(* (( (ptr) &var←c59004)+38) ) = 2139095042;
(* (( (ptr) &var←c59004)+39) ) = 2147483647;
(* (( (ptr) &var←c59004)+40) ) = 2147483647;
SOURCE(6499, 16)
(* (( (ptr) &var←c59004)+41) ) = 2139095042;
(* (( (ptr) &var←c59004)+42) ) = 2139095042;
(* (( (ptr) &var←c59004)+43) ) = 2139095042;
(* (( (ptr) &var←c59004)+44) ) = 2139095042;
(* (( (ptr) &var←c59004)+45) ) = 2147483647;
(* (( (ptr) &var←c59004)+46) ) = 2147483647;
SOURCE(7637, 14)
(* (( (ptr) &var←c59004)+47)/* depth←v12696 */ ) = 0;
SOURCE(7707, 21)
(* (( (ptr) &var←c59004)+48)/* inCurve←v12724 */ ) = 0;
SOURCE(10628, 23)
(* (( (ptr) &var←c59004)+49)/* firstHalf←v12836 */ ) = 0;
SOURCE(11941, 35)
(void) ( *( (fPt) ((* (ptr) path←v7452 ))))((word) (( (bPt) &var←c59004)+96)/* var←c47676 */ , (word) (( (bPt) &var←c59004)+72)
/* var←c47580 */ , (word) (( (bPt) &var←c59004)+56)/* var←c47516 */ , (word) (( (bPt) &var←c59004)+64)/* var←c47548 */ , (word) (
( (bPt) &var←c59004)+48)/* var←c47484 */ , path←v7452);
SOURCE(11978, 8)
(void) Finish←P2496((word) ((( (bPt) &var←c59004)+104)/* var←c47708 */ ));
}
static word RegionOf←P2376(p←v12968, formal←c59036)
W2 p←v12968;
word formal←c59036;
{
word var←c13012;
formal←c59036 = (formal←c59036 - 112);
/* RegionOf: */
SOURCE(6294, 135)
SOURCE(6339, 90)
{
word x152;
word x153;
word x154;
word x155;
word x156;
word x157;
word x158;
word x159;
return((((word) (((word) (((word) (unsigned) ((
x152 = p←v12968.f0, *(float*)&x152
) < (
x153 = (* (( (ptr) formal←c59036)+30) ), *(float*)&x153
)) << 1) + (unsigned) ((
x154 = p←v12968.f0, *(float*)&x154
) > (
x155 = (* (( (ptr) formal←c59036)+32) ), *(float*)&x155
))) << 1) + (unsigned) ((
x156 = p←v12968.f1, *(float*)&x156
) < (
x157 = (* (( (ptr) formal←c59036)+31) ), *(float*)&x157
))) << 1) + (unsigned) ((
x158 = p←v12968.f1, *(float*)&x158
) > (
x159 = (* (( (ptr) formal←c59036)+33) ), *(float*)&x159
))));
};
}
static void Finish←P2496(formal←c59068)
word formal←c59068;
{
formal←c59068 = (formal←c59068 - 104);
/* Finish: */
SOURCE(6603, 789)
SOURCE(6620, 735)
{
word var←c47900;
var←c47900 = (* (( (ptr) formal←c59068)+34) );
if ((var←c47900 == 0)) {
}
else {
if ((var←c47900 == 1)) {
SOURCE(6671, 36)
{
W2 var←c47932;
{
W2 var←c47964;
W2 v1←v41116;
W2 v2←v41144;
v1←v41116 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
{
word idx160;
word limit161;
v2←v41144 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
idx160 = (* (( (ptr) formal←c59068)+46) ),
limit161 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
BCK(idx160, limit161)
)) );
};
SOURCE(1675, 31)
{
word x162;
word x163;
*(float*)&var←c47964.f0 = (
x162 = v1←v41116.f0, *(float*)&x162
) + (
x163 = v2←v41144.f0, *(float*)&x163
);
};
{
word x164;
word x165;
*(float*)&var←c47964.f1 = (
x164 = v1←v41116.f1, *(float*)&x164
) + (
x165 = v2←v41144.f1, *(float*)&x165
);
};
var←c47932 = var←c47964;
};
{
word pd166;
pd166 = (* (( (ptr) formal←c59068)+6) );
(void) ( *( (fPt) ((* (ptr) pd166 ))))(var←c47932, pd166);
};
};
SOURCE(6709, 58)
{
W2 var←c48028;
{
word x167;
*(float*)&var←c48028.f0 = - (
x167 = (* (( (ptr) formal←c59068)+43) ), *(float*)&x167
);
};
{
word x168;
*(float*)&var←c48028.f1 = - (
x168 = (* (( (ptr) formal←c59068)+44) ), *(float*)&x168
);
};
{
word pd169;
pd169 = (* (( (ptr) formal←c59068)+9) );
(void) ( *( (fPt) ((* (ptr) pd169 ))))((* (W2Pt) (( (ptr) formal←c59068)+41) ), var←c48028, (* (( (ptr) formal←c59068)+46)
), (* (( (ptr) formal←c59068)+45) ), pd169);
};
};
SOURCE(6769, 42)
{
word pd170;
pd170 = (* (( (ptr) formal←c59068)+9) );
(void) ( *( (fPt) ((* (ptr) pd170 ))))((* (W2Pt) (( (ptr) formal←c59068)+41) ), (* (W2Pt) (( (ptr) formal←c59068)+43) ), (* (
( (ptr) formal←c59068)+45) ), (* (( (ptr) formal←c59068)+46) ), pd170);
};
}
else {
SOURCE(6829, 526)
if ((0 != (* (( (ptr) formal←c59068)+5) ))) {
SOURCE(6846, 13)
(void) Line←P2736((* (W2Pt) (( (ptr) formal←c59068)+35) ), (word) (( (bPt) formal←c59068)+72));
SOURCE(6861, 391)
{
word var←c48092;
{
W2 v1←v45264;
W2 v2←v45292;
v1←v45264 = (* (W2Pt) (( (ptr) formal←c59068)+43) );
v2←v45292 = (* (W2Pt) (( (ptr) formal←c59068)+37) );
{
word x171;
word x172;
word x173;
word x174;
*(float*)&var←c48092 = ((
x171 = v1←v45264.f0, *(float*)&x171
) * (
x172 = v2←v45292.f1, *(float*)&x172
)) - ((
x173 = v1←v45264.f1, *(float*)&x173
) * (
x174 = v2←v45292.f0, *(float*)&x174
));
};
};
{
word x175;
word x176;
word x192;
word x193;
if (((
x175 = var←c48092, *(float*)&x175
) > (
x176 = (* (ptr) &fc34 ), *(float*)&x176
))) {
SOURCE(6919, 36)
{
W2 var←c48124;
{
/*1*/ W2 var←c48156;
/*1*/ W2 v1←v41040;
/*1*/ W2 v2←v41068;
/*1*/ v1←v41040 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
/*1*/ {
/*1*/ word idx177;
/*1*/ word limit178;
/*1*/ v2←v41068 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ idx177 = (* (( (ptr) formal←c59068)+46) ),
/*1*/ limit178 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(idx177, limit178)
/*1*/ )) );
/*1*/ };
SOURCE(1675, 31)
/*1*/ {
/*1*/ word x179;
/*1*/ word x180;
/*1*/ *(float*)&var←c48156.f0 = (
/*1*/ x179 = v1←v41040.f0, *(float*)&x179
/*1*/ ) + (
/*1*/ x180 = v2←v41068.f0, *(float*)&x180
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x181;
/*1*/ word x182;
/*1*/ *(float*)&var←c48156.f1 = (
/*1*/ x181 = v1←v41040.f1, *(float*)&x181
/*1*/ ) + (
/*1*/ x182 = v2←v41068.f1, *(float*)&x182
/*1*/ );
/*1*/ };
/*1*/ var←c48124 = var←c48156;
/*1*/ };
{
/*1*/ word pd183;
/*1*/ pd183 = (* (( (ptr) formal←c59068)+6) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd183 ))))(var←c48124, pd183);
/*1*/ };
};
SOURCE(6957, 18)
SOURCE(6556, 44)
{
word pd184;
pd184 = (* (( (ptr) formal←c59068)+10) );
(void) ( *( (fPt) ((* (ptr) pd184 ))))((* (W2Pt) (( (ptr) formal←c59068)+41) ), (* (W2Pt) (( (ptr) formal←c59068)+43) ), (* (W2Pt) (
/*1*/ ( (ptr) formal←c59068)+37) ), (* (( (ptr) formal←c59068)+46) ), (* (( (ptr) formal←c59068)+40) ), pd184);
};
SOURCE(6977, 35)
{
W2 var←c48220;
{
/*1*/ W2 var←c48252;
/*1*/ W2 v1←v40964;
/*1*/ W2 v2←v40992;
/*1*/ v1←v40964 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
/*1*/ {
/*1*/ word idx185;
/*1*/ word limit186;
/*1*/ v2←v40992 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ idx185 = (* (( (ptr) formal←c59068)+45) ),
/*1*/ limit186 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(idx185, limit186)
/*1*/ )) );
/*1*/ };
SOURCE(1675, 31)
/*1*/ {
/*1*/ word x187;
/*1*/ word x188;
/*1*/ *(float*)&var←c48252.f0 = (
/*1*/ x187 = v1←v40964.f0, *(float*)&x187
/*1*/ ) + (
/*1*/ x188 = v2←v40992.f0, *(float*)&x188
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x189;
/*1*/ word x190;
/*1*/ *(float*)&var←c48252.f1 = (
/*1*/ x189 = v1←v40964.f1, *(float*)&x189
/*1*/ ) + (
/*1*/ x190 = v2←v40992.f1, *(float*)&x190
/*1*/ );
/*1*/ };
/*1*/ var←c48220 = var←c48252;
/*1*/ };
{
/*1*/ word pd191;
/*1*/ pd191 = (* (( (ptr) formal←c59068)+7) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd191 ))))(var←c48220, pd191);
/*1*/ };
};
}
else {
if (((
x192 = var←c48092, *(float*)&x192
) < (
x193 = (* (ptr) &fc34 ), *(float*)&x193
))) {
SOURCE(7026, 36)
{
/*1*/ W2 var←c48316;
/*1*/ {
/*1*/ W2 var←c48348;
/*1*/ W2 v1←v40888;
/*1*/ W2 v2←v40916;
/*1*/ v1←v40888 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
/*1*/ {
/*1*/ word idx194;
/*1*/ word limit195;
/*1*/ v2←v40916 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ idx194 = (* (( (ptr) formal←c59068)+39) ),
/*1*/ limit195 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(idx194, limit195)
/*1*/ )) );
/*1*/ };
SOURCE(1675, 31)
/*1*/ {
/*1*/ word x196;
/*1*/ word x197;
/*1*/ *(float*)&var←c48348.f0 = (
/*1*/ x196 = v1←v40888.f0, *(float*)&x196
/*1*/ ) + (
/*1*/ x197 = v2←v40916.f0, *(float*)&x197
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x198;
/*1*/ word x199;
/*1*/ *(float*)&var←c48348.f1 = (
/*1*/ x198 = v1←v40888.f1, *(float*)&x198
/*1*/ ) + (
/*1*/ x199 = v2←v40916.f1, *(float*)&x199
/*1*/ );
/*1*/ };
/*1*/ var←c48316 = var←c48348;
/*1*/ };
/*1*/ {
/*1*/ word pd200;
/*1*/ pd200 = (* (( (ptr) formal←c59068)+6) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd200 ))))(var←c48316, pd200);
/*1*/ };
/*1*/ };
SOURCE(7064, 36)
{
/*1*/ W6 s0←v43792;
/*1*/ W6 s1←v43820;
/*1*/ (void) Reverse←P660((word) &s0←v43792, (* (W6Pt) (( (ptr) formal←c59068)+35) ));
/*1*/ (void) Reverse←P660((word) &s1←v43820, (* (W6Pt) (( (ptr) formal←c59068)+41) ));
SOURCE(6556, 44)
/*1*/ {
/*1*/ word pd201;
/*1*/ pd201 = (* (( (ptr) formal←c59068)+10) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd201 ))))((* (W2Pt) &s0←v43792 ), (* (W2Pt) (( (ptr) &s0←v43792)+2) ), (* (W2Pt) (( (ptr) &s1←v43820)+2)
/*1*/ ), s0←v43792.f5, s1←v43820.f5, pd201);
/*1*/ };
/*1*/ };
SOURCE(7102, 37)
{
/*1*/ W2 var←c48412;
/*1*/ {
/*1*/ W2 var←c48444;
/*1*/ W2 v1←v40812;
/*1*/ W2 v2←v40840;
/*1*/ v1←v40812 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
/*1*/ {
/*1*/ word idx202;
/*1*/ word limit203;
/*1*/ v2←v40840 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ idx202 = (* (( (ptr) formal←c59068)+40) ),
/*1*/ limit203 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(idx202, limit203)
/*1*/ )) );
/*1*/ };
SOURCE(1675, 31)
/*1*/ {
/*1*/ word x204;
/*1*/ word x205;
/*1*/ *(float*)&var←c48444.f0 = (
/*1*/ x204 = v1←v40812.f0, *(float*)&x204
/*1*/ ) + (
/*1*/ x205 = v2←v40840.f0, *(float*)&x205
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x206;
/*1*/ word x207;
/*1*/ *(float*)&var←c48444.f1 = (
/*1*/ x206 = v1←v40812.f1, *(float*)&x206
/*1*/ ) + (
/*1*/ x207 = v2←v40840.f1, *(float*)&x207
/*1*/ );
/*1*/ };
/*1*/ var←c48412 = var←c48444;
/*1*/ };
/*1*/ {
/*1*/ word pd208;
/*1*/ pd208 = (* (( (ptr) formal←c59068)+7) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd208 ))))(var←c48412, pd208);
/*1*/ };
/*1*/ };
}
else {
SOURCE(7157, 27)
{
/*1*/ W2 var←c48508;
/*1*/ {
/*1*/ W2 var←c48540;
/*1*/ W2 v1←v40736;
/*1*/ W2 v2←v40764;
/*1*/ v1←v40736 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
/*1*/ {
/*1*/ word limit209;
/*1*/ v2←v40764 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ limit209 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(0, limit209)
/*1*/ )) );
/*1*/ };
SOURCE(1675, 31)
/*1*/ {
/*1*/ word x210;
/*1*/ word x211;
/*1*/ *(float*)&var←c48540.f0 = (
/*1*/ x210 = v1←v40736.f0, *(float*)&x210
/*1*/ ) + (
/*1*/ x211 = v2←v40764.f0, *(float*)&x211
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x212;
/*1*/ word x213;
/*1*/ *(float*)&var←c48540.f1 = (
/*1*/ x212 = v1←v40736.f1, *(float*)&x212
/*1*/ ) + (
/*1*/ x213 = v2←v40764.f1, *(float*)&x213
/*1*/ );
/*1*/ };
/*1*/ var←c48508 = var←c48540;
/*1*/ };
/*1*/ {
/*1*/ word pd214;
/*1*/ pd214 = (* (( (ptr) formal←c59068)+6) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd214 ))))(var←c48508, pd214);
/*1*/ };
/*1*/ };
SOURCE(7186, 66)
{
/*1*/ register word i←v13624 = 1;
/*1*/ register word noName←c48604;
/*1*/ noName←c48604 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) );
/*1*/ if ((i←v13624 >= noName←c48604)) {
/*1*/ goto lab←L100037;
/*1*/ };
/*1*/ lab←L100040: ;
SOURCE(7225, 27)
/*1*/ {
/*1*/ W2 var←c48636;
/*1*/ {
/*1*/ W2 var←c48668;
/*1*/ W2 v1←v40660;
/*1*/ W2 v2←v40688;
/*1*/ v1←v40660 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
/*1*/ {
/*1*/ word limit215;
/*1*/ v2←v40688 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ limit215 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(i←v13624, limit215)
/*1*/ )) );
/*1*/ };
SOURCE(1675, 31)
/*1*/ {
/*1*/ word x216;
/*1*/ word x217;
/*1*/ *(float*)&var←c48668.f0 = (
/*1*/ x216 = v1←v40660.f0, *(float*)&x216
/*1*/ ) + (
/*1*/ x217 = v2←v40688.f0, *(float*)&x217
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x218;
/*1*/ word x219;
/*1*/ *(float*)&var←c48668.f1 = (
/*1*/ x218 = v1←v40660.f1, *(float*)&x218
/*1*/ ) + (
/*1*/ x219 = v2←v40688.f1, *(float*)&x219
/*1*/ );
/*1*/ };
/*1*/ var←c48636 = var←c48668;
/*1*/ };
/*1*/ {
/*1*/ word pd220;
/*1*/ pd220 = (* (( (ptr) formal←c59068)+7) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd220 ))))(var←c48636, pd220);
/*1*/ };
/*1*/ };
/*1*/ i←v13624 = (i←v13624 + 1);
/*1*/ if ((i←v13624 < noName←c48604)) {
/*1*/ goto lab←L100040;
/*1*/ };
/*1*/ lab←L100037: ;
/*1*/ };
};
};
};
};
}
else {
SOURCE(7275, 36)
{
W2 var←c48732;
{
W2 var←c48764;
W2 v1←v40584;
W2 v2←v40612;
v1←v40584 = (* (W2Pt) (( (ptr) formal←c59068)+41) );
{
word idx221;
word limit222;
v2←v40612 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59068)+4) ))+6))+(
/*1*/ idx221 = (* (( (ptr) formal←c59068)+46) ),
/*1*/ limit222 = (* (( (ptr) (* (( (ptr) formal←c59068)+4) ))+5) ),
/*1*/ BCK(idx221, limit222)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x223;
word x224;
*(float*)&var←c48764.f0 = (
x223 = v1←v40584.f0, *(float*)&x223
) + (
x224 = v2←v40612.f0, *(float*)&x224
);
};
{
word x225;
word x226;
*(float*)&var←c48764.f1 = (
x225 = v1←v40584.f1, *(float*)&x225
) + (
x226 = v2←v40612.f1, *(float*)&x226
);
};
var←c48732 = var←c48764;
};
{
word pd227;
pd227 = (* (( (ptr) formal←c59068)+6) );
(void) ( *( (fPt) ((* (ptr) pd227 ))))(var←c48732, pd227);
};
};
SOURCE(7313, 42)
{
word pd228;
pd228 = (* (( (ptr) formal←c59068)+9) );
(void) ( *( (fPt) ((* (ptr) pd228 ))))((* (W2Pt) (( (ptr) formal←c59068)+41) ), (* (W2Pt) (( (ptr) formal←c59068)+43) ), (* (
( (ptr) formal←c59068)+46) ), (* (( (ptr) formal←c59068)+45) ), pd228);
};
};
};
};
};
SOURCE(7363, 15)
(* (( (ptr) formal←c59068)+34) ) = 0;
SOURCE(7380, 12)
(* (( (ptr) formal←c59068)+41) ) = 2139095042;
(* (( (ptr) formal←c59068)+42) ) = 2139095042;
}
static void Move←P2556(p←v13276, formal←c59100)
W2 p←v13276;
word formal←c59100;
{
formal←c59100 = (formal←c59100 - 96);
/* Move: */
SOURCE(7397, 87)
SOURCE(7421, 8)
(void) Finish←P2496((word) ((( (bPt) formal←c59100)+104)));
SOURCE(7431, 33)
(* (W2Pt) (( (ptr) formal←c59100)+41) ) = p←v13276;
(* (( (ptr) formal←c59100)+43) ) = (* (ptr) &fc34 );
(* (( (ptr) formal←c59100)+44) ) = (* (ptr) &fc34 );
(* (( (ptr) formal←c59100)+45) ) = 0;
(* (( (ptr) formal←c59100)+46) ) = ((* (( (ptr) (* (( (ptr) formal←c59100)+4) ))+5) ) >> 1);
SOURCE(7466, 18)
(* (( (ptr) formal←c59100)+34) ) = 1;
}
static void RoundJoint←P2616(p←v13336, v0←v13364, v1←v13392, i0←v13420, i1←v13448, formal←c59132)
W2 p←v13336;
W2 v0←v13364;
W2 v1←v13392;
word i0←v13420;
word i1←v13448;
word formal←c59132;
{
formal←c59132 = (formal←c59132 - 88);
/* RoundJoint: */
SOURCE(7489, 134)
SOURCE(7553, 70)
lab←L100045: ;
if ((i0←v13420 != i1←v13448)) {
}
else {
goto lab←L100043;
};
SOURCE(7570, 28)
{
word var←c48828;
word c←v43712;
word mod←v43744;
mod←v43744 = (* (( (ptr) (* (( (ptr) formal←c59132)+4) ))+5) );
{
word var←c0944;
SOURCE(2143, 38)
c←v43712 = SGNCK((i0←v13420 + 1));
var←c0944 = c←v43712;
if ((var←c0944 >= mod←v43744)) {
SOURCE(2170, 11)
c←v43712 = (c←v43712 - mod←v43744);
};
SOURCE(2080, 101)
var←c48828 = c←v43712;
};
i0←v13420 = var←c48828;
};
SOURCE(7600, 23)
{
W2 var←c48860;
{
W2 var←c48892;
W2 v2←v40536;
{
word limit229;
v2←v40536 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59132)+4) ))+6))+(
limit229 = (* (( (ptr) (* (( (ptr) formal←c59132)+4) ))+5) ),
BCK(i0←v13420, limit229)
)) );
};
SOURCE(1675, 31)
{
word x230;
word x231;
*(float*)&var←c48892.f0 = (
x230 = p←v13336.f0, *(float*)&x230
) + (
x231 = v2←v40536.f0, *(float*)&x231
);
};
{
word x232;
word x233;
*(float*)&var←c48892.f1 = (
x232 = p←v13336.f1, *(float*)&x232
) + (
x233 = v2←v40536.f1, *(float*)&x233
);
};
var←c48860 = var←c48892;
};
{
word pd234;
pd234 = (* (( (ptr) formal←c59132)+7) );
(void) ( *( (fPt) ((* (ptr) pd234 ))))(var←c48860, pd234);
};
};
goto lab←L100045;
lab←L100043: ;
}
static void Parabola←P2676(p1←v13508, p2←v13536, formal←c59164)
W2 p1←v13508;
W2 p2←v13536;
word formal←c59164;
{
word join←v13668;
W2 p0←v13696;
word isLine←v13724;
W2 v0←v13752;
W2 v2←v13780;
word turning←v13808 = 0;
formal←c59164 = (formal←c59164 - 80);
/* Parabola: */
SOURCE(7775, 1724)
SOURCE(7808, 12)
join←v13668 = ( (0 != (* (( (ptr) formal←c59164)+48) )) ? (word) (( (bPt) formal←c59164)+88) : (* (( (ptr) formal←c59164)+10)
) ) ;
SOURCE(7903, 16)
p0←v13696 = (* (W2Pt) (( (ptr) formal←c59164)+41) );
SOURCE(7921, 39)
{
word x235;
word x236;
word x237;
word x238;
word x239;
word x240;
word x241;
word x242;
isLine←v13724 = (unsigned) ( ( ((
x235 = p1←v13508.f0, *(float*)&x235
) == (
x236 = p2←v13536.f0, *(float*)&x236
)) ? ((
x237 = p1←v13508.f1, *(float*)&x237
) == (
x238 = p2←v13536.f1, *(float*)&x238
)) : 0 ) ? 1 : ( ((
x239 = p0←v13696.f0, *(float*)&x239
) == (
x240 = p1←v13508.f0, *(float*)&x240
)) ? ((
x241 = p0←v13696.f1, *(float*)&x241
) == (
x242 = p1←v13508.f1, *(float*)&x242
)) : 0 ) ) ;
};
SOURCE(7962, 44)
{
W2 v1←v41908;
{
word tcp243;
if ((0 != isLine←v13724)) {
tcp243 = (word) &p2←v13536;
}
else {
tcp243 = (word) &p1←v13508;
};
v1←v41908 = (* (W2Pt) tcp243 );
};
SOURCE(1759, 31)
{
word x244;
word x245;
*(float*)&v0←v13752.f0 = (
x244 = v1←v41908.f0, *(float*)&x244
) - (
x245 = p0←v13696.f0, *(float*)&x245
);
};
{
word x246;
word x247;
*(float*)&v0←v13752.f1 = (
x246 = v1←v41908.f1, *(float*)&x246
) - (
x247 = p0←v13696.f1, *(float*)&x247
);
};
};
SOURCE(8008, 44)
if ((0 != isLine←v13724)) {
v2←v13780 = v0←v13752;
}
else {
{
word x248;
word x249;
*(float*)&v2←v13780.f0 = (
x248 = p2←v13536.f0, *(float*)&x248
) - (
x249 = p1←v13508.f0, *(float*)&x249
);
};
{
word x250;
word x251;
*(float*)&v2←v13780.f1 = (
x250 = p2←v13536.f1, *(float*)&x250
) - (
x251 = p1←v13508.f1, *(float*)&x251
);
};
};
SOURCE(8084, 1415)
{
word x252;
word x253;
word x254;
word x255;
if ((0 == isLine←v13724) || ( ((
x252 = p0←v13696.f0, *(float*)&x252
) != (
x253 = p2←v13536.f0, *(float*)&x253
)) ? 1 : ((
x254 = p0←v13696.f1, *(float*)&x254
) != (
x255 = p2←v13536.f1, *(float*)&x255
)) ) ) {
SOURCE(8120, 1381)
{
word left←v14024;
word right←v14052;
word newLeft←v14080;
word newRight←v14108;
word jointFirst←v14136;
SOURCE(8122, 61)
{
W2 var←c49052;
{
word x256;
*(float*)&var←c49052.f0 = - (
x256 = v0←v13752.f1, *(float*)&x256
);
};
var←c49052.f1 = v0←v13752.f0;
left←v14024 = (word) FindVertex←P600((* (( (ptr) formal←c59164)+4) ), var←c49052, (* (( (ptr) formal←c59164)+45) ));
};
SOURCE(8185, 63)
{
W2 var←c49084;
var←c49084.f0 = v0←v13752.f1;
{
word x257;
*(float*)&var←c49084.f1 = - (
x257 = v0←v13752.f0, *(float*)&x257
);
};
right←v14052 = (word) FindVertex←P600((* (( (ptr) formal←c59164)+4) ), var←c49084, (* (( (ptr) formal←c59164)+46) ));
};
SOURCE(8250, 84)
if ((0 != isLine←v13724)) {
newLeft←v14080 = left←v14024;
}
else {
{
W2 var←c49116;
{
word x258;
*(float*)&var←c49116.f0 = - (
x258 = v2←v13780.f1, *(float*)&x258
);
};
var←c49116.f1 = v2←v13780.f0;
newLeft←v14080 = (word) FindVertex←P600((* (( (ptr) formal←c59164)+4) ), var←c49116, left←v14024);
};
};
SOURCE(8336, 87)
if ((0 != isLine←v13724)) {
newRight←v14108 = right←v14052;
}
else {
{
W2 var←c49148;
var←c49148.f0 = v2←v13780.f1;
{
word x259;
*(float*)&var←c49148.f1 = - (
x259 = v2←v13780.f0, *(float*)&x259
);
};
newRight←v14108 = (word) FindVertex←P600((* (( (ptr) formal←c59164)+4) ), var←c49148, right←v14052);
};
};
SOURCE(8425, 54)
{
word var←c49180;
W2 v1←v45216;
v1←v45216 = (* (W2Pt) (( (ptr) formal←c59164)+43) );
{
word x260;
word x261;
word x262;
word x263;
*(float*)&var←c49180 = ((
x260 = v1←v45216.f0, *(float*)&x260
) * (
x261 = v0←v13752.f1, *(float*)&x261
)) - ((
x262 = v1←v45216.f1, *(float*)&x262
) * (
x263 = v0←v13752.f0, *(float*)&x263
));
};
{
word x264;
word x265;
jointFirst←v14136 = (unsigned) ((
x264 = var←c49180, *(float*)&x264
) > (
x265 = (* (ptr) &fc34 ), *(float*)&x265
));
};
};
SOURCE(8571, 237)
if (((* (( (ptr) formal←c59164)+34) ) == 2)) {
SOURCE(8596, 171)
if ((0 != jointFirst←v14136)) {
SOURCE(8617, 32)
{
W2 var←c49212;
{
W2 var←c49244;
W2 v2←v40488;
{
word idx266;
word limit267;
v2←v40488 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59164)+4) ))+6))+(
/*1*/ idx266 = (* (( (ptr) formal←c59164)+46) ),
/*1*/ limit267 = (* (( (ptr) (* (( (ptr) formal←c59164)+4) ))+5) ),
/*1*/ BCK(idx266, limit267)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x268;
word x269;
*(float*)&var←c49244.f0 = (
/*1*/ x268 = p0←v13696.f0, *(float*)&x268
/*1*/ ) + (
/*1*/ x269 = v2←v40488.f0, *(float*)&x269
/*1*/ );
};
{
word x270;
word x271;
*(float*)&var←c49244.f1 = (
/*1*/ x270 = p0←v13696.f1, *(float*)&x270
/*1*/ ) + (
/*1*/ x271 = v2←v40488.f1, *(float*)&x271
/*1*/ );
};
var←c49212 = var←c49244;
};
{
word pd272;
pd272 = (* (( (ptr) formal←c59164)+6) );
(void) ( *( (fPt) ((* (ptr) pd272 ))))(var←c49212, pd272);
};
};
SOURCE(8651, 66)
if (((* (( (ptr) formal←c59164)+46) ) != right←v14052)) {
SOURCE(8678, 39)
(void) ( *( (fPt) ((* (ptr) join←v13668 ))))(p0←v13696, (* (W2Pt) (( (ptr) formal←c59164)+43) ), v0←v13752, (* (( (ptr) formal←c59164)+46)
), right←v14052, join←v13668);
};
}
else {
SOURCE(8728, 10)
{
word pd273;
pd273 = (* (( (ptr) formal←c59164)+6) );
(void) ( *( (fPt) ((* (ptr) pd273 ))))(p0←v13696, pd273);
};
SOURCE(8740, 27)
{
W2 var←c49308;
{
W2 var←c49340;
W2 v2←v40440;
{
word limit274;
v2←v40440 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59164)+4) ))+6))+(
/*1*/ limit274 = (* (( (ptr) (* (( (ptr) formal←c59164)+4) ))+5) ),
/*1*/ BCK(right←v14052, limit274)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x275;
word x276;
*(float*)&var←c49340.f0 = (
/*1*/ x275 = p0←v13696.f0, *(float*)&x275
/*1*/ ) + (
/*1*/ x276 = v2←v40440.f0, *(float*)&x276
/*1*/ );
};
{
word x277;
word x278;
*(float*)&var←c49340.f1 = (
/*1*/ x277 = p0←v13696.f1, *(float*)&x277
/*1*/ ) + (
/*1*/ x278 = v2←v40440.f1, *(float*)&x278
/*1*/ );
};
var←c49308 = var←c49340;
};
{
word pd279;
pd279 = (* (( (ptr) formal←c59164)+7) );
(void) ( *( (fPt) ((* (ptr) pd279 ))))(var←c49308, pd279);
};
};
};
}
else {
SOURCE(8781, 27)
{
W2 var←c49404;
{
W2 var←c49436;
W2 v2←v40392;
{
word limit280;
v2←v40392 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59164)+4) ))+6))+(
/*1*/ limit280 = (* (( (ptr) (* (( (ptr) formal←c59164)+4) ))+5) ),
/*1*/ BCK(right←v14052, limit280)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x281;
word x282;
*(float*)&var←c49436.f0 = (
x281 = p0←v13696.f0, *(float*)&x281
) + (
x282 = v2←v40392.f0, *(float*)&x282
);
};
{
word x283;
word x284;
*(float*)&var←c49436.f1 = (
x283 = p0←v13696.f1, *(float*)&x283
) + (
x284 = v2←v40392.f1, *(float*)&x284
);
};
var←c49404 = var←c49436;
};
{
word pd285;
pd285 = (* (( (ptr) formal←c59164)+6) );
(void) ( *( (fPt) ((* (ptr) pd285 ))))(var←c49404, pd285);
};
};
};
SOURCE(8813, 139)
if ((0 != isLine←v13724)) {
SOURCE(8828, 36)
{
W2 var←c49500;
{
W2 var←c49532;
W2 v2←v40344;
{
word limit286;
v2←v40344 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59164)+4) ))+6))+(
/*1*/ limit286 = (* (( (ptr) (* (( (ptr) formal←c59164)+4) ))+5) ),
/*1*/ BCK(newRight←v14108, limit286)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x287;
word x288;
*(float*)&var←c49532.f0 = (
x287 = p2←v13536.f0, *(float*)&x287
) + (
x288 = v2←v40344.f0, *(float*)&x288
);
};
{
word x289;
word x290;
*(float*)&var←c49532.f1 = (
x289 = p2←v13536.f1, *(float*)&x289
) + (
x290 = v2←v40344.f1, *(float*)&x290
);
};
var←c49500 = var←c49532;
};
{
word pd291;
pd291 = (* (( (ptr) formal←c59164)+7) );
(void) ( *( (fPt) ((* (ptr) pd291 ))))(var←c49500, pd291);
};
};
}
else {
SOURCE(8864, 88)
{
W6 var←c49596;
(* (W2Pt) &var←c49596 ) = p0←v13696;
(* (W2Pt) (( (ptr) &var←c49596)+2) ) = p1←v13508;
(* (W2Pt) (( (ptr) &var←c49596)+4) ) = p2←v13536;
turning←v13808 = (word) TraverseParabola←P900((* (( (ptr) formal←c59164)+4) ), var←c49596, right←v14052, newRight←v14108, (* (
( (ptr) formal←c59164)+7) ), (* (( (ptr) formal←c59164)+8) )
, turning←v13808);
};
};
SOURCE(8954, 29)
{
W2 var←c49628;
{
W2 var←c49660;
W2 v2←v40296;
{
word limit292;
v2←v40296 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59164)+4) ))+6))+(
limit292 = (* (( (ptr) (* (( (ptr) formal←c59164)+4) ))+5) ),
BCK(newLeft←v14080, limit292)
)) );
};
SOURCE(1675, 31)
{
word x293;
word x294;
*(float*)&var←c49660.f0 = (
x293 = p2←v13536.f0, *(float*)&x293
) + (
x294 = v2←v40296.f0, *(float*)&x294
);
};
{
word x295;
word x296;
*(float*)&var←c49660.f1 = (
x295 = p2←v13536.f1, *(float*)&x295
) + (
x296 = v2←v40296.f1, *(float*)&x296
);
};
var←c49628 = var←c49660;
};
{
word pd297;
pd297 = (* (( (ptr) formal←c59164)+7) );
(void) ( *( (fPt) ((* (ptr) pd297 ))))(var←c49628, pd297);
};
};
SOURCE(8985, 133)
if ((0 != isLine←v13724)) {
SOURCE(9000, 32)
{
W2 var←c49724;
{
W2 var←c49756;
W2 v2←v40248;
{
word limit298;
v2←v40248 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59164)+4) ))+6))+(
/*1*/ limit298 = (* (( (ptr) (* (( (ptr) formal←c59164)+4) ))+5) ),
/*1*/ BCK(left←v14024, limit298)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x299;
word x300;
*(float*)&var←c49756.f0 = (
x299 = p0←v13696.f0, *(float*)&x299
) + (
x300 = v2←v40248.f0, *(float*)&x300
);
};
{
word x301;
word x302;
*(float*)&var←c49756.f1 = (
x301 = p0←v13696.f1, *(float*)&x301
) + (
x302 = v2←v40248.f1, *(float*)&x302
);
};
var←c49724 = var←c49756;
};
{
word pd303;
pd303 = (* (( (ptr) formal←c59164)+7) );
(void) ( *( (fPt) ((* (ptr) pd303 ))))(var←c49724, pd303);
};
};
}
else {
SOURCE(9032, 86)
{
W6 var←c49820;
(* (W2Pt) &var←c49820 ) = p2←v13536;
(* (W2Pt) (( (ptr) &var←c49820)+2) ) = p1←v13508;
(* (W2Pt) (( (ptr) &var←c49820)+4) ) = p0←v13696;
turning←v13808 = (word) TraverseParabola←P900((* (( (ptr) formal←c59164)+4) ), var←c49820, newLeft←v14080, left←v14024, (* (
( (ptr) formal←c59164)+7) ), (* (( (ptr) formal←c59164)+8) )
, turning←v13808);
};
};
SOURCE(9120, 132)
if (((* (( (ptr) formal←c59164)+34) ) == 2)) {
SOURCE(9145, 107)
if ((0 != jointFirst←v14136)) {
SOURCE(9166, 11)
{
word pd304;
pd304 = (* (( (ptr) formal←c59164)+7) );
(void) ( *( (fPt) ((* (ptr) pd304 ))))(p0←v13696, pd304);
};
}
else {
SOURCE(9186, 66)
{
W2 var←c49852;
W2 var←c49884;
{
word x305;
*(float*)&var←c49852.f0 = - (
x305 = v0←v13752.f0, *(float*)&x305
);
};
{
word x306;
*(float*)&var←c49852.f1 = - (
x306 = v0←v13752.f1, *(float*)&x306
);
};
{
word x307;
*(float*)&var←c49884.f0 = - (
x307 = (* (( (ptr) formal←c59164)+43) ), *(float*)&x307
);
};
{
word x308;
*(float*)&var←c49884.f1 = - (
x308 = (* (( (ptr) formal←c59164)+44) ), *(float*)&x308
);
};
(void) ( *( (fPt) ((* (ptr) join←v13668 ))))(p0←v13696, var←c49852, var←c49884, left←v14024, (* (( (ptr) formal←c59164)+45)
), join←v13668);
};
};
};
SOURCE(9257, 134)
if (((* (( (ptr) formal←c59164)+34) ) == 1)) {
SOURCE(9286, 105)
if ((0 != (* (( (ptr) formal←c59164)+5) ))) {
SOURCE(9301, 54)
(* (W2Pt) (( (ptr) formal←c59164)+35) ) = p0←v13696;
(* (W2Pt) (( (ptr) formal←c59164)+37) ) = v0←v13752;
(* (( (ptr) formal←c59164)+39) ) = left←v14024;
(* (( (ptr) formal←c59164)+40) ) = right←v14052;
}
else {
SOURCE(9355, 36)
{
W2 var←c49916;
{
word x309;
*(float*)&var←c49916.f0 = - (
x309 = v0←v13752.f0, *(float*)&x309
);
};
{
word x310;
*(float*)&var←c49916.f1 = - (
x310 = v0←v13752.f1, *(float*)&x310
);
};
{
word pd311;
pd311 = (* (( (ptr) formal←c59164)+9) );
(void) ( *( (fPt) ((* (ptr) pd311 ))))(p0←v13696, var←c49916, left←v14024, right←v14052, pd311);
};
};
};
};
SOURCE(9396, 53)
(* (W2Pt) (( (ptr) formal←c59164)+41) ) = p2←v13536;
(* (W2Pt) (( (ptr) formal←c59164)+43) ) = v2←v13780;
(* (( (ptr) formal←c59164)+45) ) = newLeft←v14080;
(* (( (ptr) formal←c59164)+46) ) = newRight←v14108;
SOURCE(9451, 14)
(* (( (ptr) formal←c59164)+34) ) = 2;
SOURCE(9467, 32)
if (((* (( (ptr) formal←c59164)+47) ) != 0)) {
SOURCE(9485, 14)
(* (( (ptr) formal←c59164)+48) ) = 1;
};
};
};
};
}
static void Line←P2736(p1←v13596, formal←c59196)
W2 p1←v13596;
word formal←c59196;
{
word var←c49948;
W2 b←v43156;
word var←c49980;
word var←c50012;
formal←c59196 = (formal←c59196 - 72);
/* Line: */
SOURCE(9508, 198)
SOURCE(9533, 154)
{
word tc317;
b←v43156 = (* (W2Pt) (( (ptr) formal←c59196)+41) );
SOURCE(2048, 28)
{
word x312;
word x313;
word x314;
word x315;
if (((
x312 = p1←v13596.f0, *(float*)&x312
) == (
x313 = b←v43156.f0, *(float*)&x313
))) {
var←c49948 = (unsigned) ((
x314 = p1←v13596.f1, *(float*)&x314
) == (
x315 = b←v43156.f1, *(float*)&x315
));
}
else {
var←c49948 = (unsigned) 0;
};
};
if ((0 != var←c49948)) { goto then0316;};
if ( ( ( (0 == (* (( (ptr) formal←c59196)+5) )) ? ((* (( (ptr) formal←c59196)+34) ) != 1) : 0 ) ? (0 != (* (( (ptr) formal←c59196)+11)
)) : 0 ) ) {
var←c49980 = (word) RegionOf←P2376((* (W2Pt) (( (ptr) formal←c59196)+41) ), (word) (( (bPt) formal←c59196)+112));
var←c50012 = (word) RegionOf←P2376(p1←v13596, (word) (( (bPt) formal←c59196)+112));
tc317 = (word) ((word) Intersect←P960(var←c49980, var←c50012) != 0);
}
else {
tc317 = (word) 0;
};
if (tc317) {
then0316: ;
SOURCE(9667, 11)
(* (W2Pt) (( (ptr) formal←c59196)+41) ) = p1←v13596;
SOURCE(9680, 7)
return;
};
};
SOURCE(9690, 16)
(void) Parabola←P2676(p1←v13596, p1←v13596, (word) (( (bPt) formal←c59196)+80));
}
static void Conic←P2796(p1←v32608, p2←v32636, r←v32664, formal←c59260)
W2 p1←v32608;
W2 p2←v32636;
word r←v32664;
word formal←c59260;
{
register ptr gf←c59228 = (ptr) &globalframe;
W2 p0←v14180;
word var←c50044;
word r←v14456;
formal←c59260 = (formal←c59260 - 64);
/* Conic: */
SOURCE(9711, 912)
SOURCE(9734, 16)
p0←v14180 = (* (W2Pt) (( (ptr) formal←c59260)+41) );
SOURCE(9975, 17)
(* (( (ptr) formal←c59260)+47) ) = ((* (( (ptr) formal←c59260)+47) ) + 1);
SOURCE(9994, 566)
{
word x319;
if (((* (( (ptr) formal←c59260)+47) ) > 15)) { goto then0318;};
{
word var←c50076;
word var←c50108;
var←c50076 = (word) RegionOf←P2376(p0←v14180, (word) (( (bPt) formal←c59260)+112));
var←c50108 = (word) RegionOf←P2376(p2←v32636, (word) (( (bPt) formal←c59260)+112));
r←v14456 = (word) Intersect←P960(var←c50076, var←c50108);
};
SOURCE(9847, 37)
if ((r←v14456 == 0)) {
SOURCE(9870, 14)
var←c50044 = 0;
goto lab←L100057;
};
SOURCE(9886, 30)
{
word var←c50140;
var←c50140 = (word) RegionOf←P2376(p1←v32608, (word) (( (bPt) formal←c59260)+112));
r←v14456 = (word) Intersect←P960(r←v14456, var←c50140);
};
SOURCE(9918, 37)
if ((r←v14456 == 0)) {
SOURCE(9941, 14)
var←c50044 = 0;
goto lab←L100057;
};
SOURCE(9957, 13)
var←c50044 = 1;
lab←L100057: ;
x319 = (word) (0 != var←c50044);
if (x319) { goto then0318;};
if (( (unsigned) (((unsigned)r←v32664 << 1) >> 24) == 255)) {
then0318: ;
SOURCE(10069, 8)
(void) Line←P2736(p1←v32608, (word) (( (bPt) formal←c59260)+72));
SOURCE(10079, 9)
(void) Line←P2736(p2←v32636, (word) (( (bPt) formal←c59260)+72));
}
else {
SOURCE(10097, 463)
{
word var←c50172;
var←c50172 = r←v32664;
{
word x320;
word x322;
word x323;
word x324;
if (((
x320 = var←c50172, *(float*)&x320
) > (
x322 = (* (ptr) &fc321 ), *(float*)&x322
))) {
SOURCE(10125, 8)
(void) Line←P2736(p1←v32608, (word) (( (bPt) formal←c59260)+72));
SOURCE(10135, 9)
(void) Line←P2736(p2←v32636, (word) (( (bPt) formal←c59260)+72));
}
else {
if (((
x323 = var←c50172, *(float*)&x323
) <= (
x324 = (* (ptr) &fc34 ), *(float*)&x324
))) {
SOURCE(10159, 9)
(void) Line←P2736(p2←v32636, (word) (( (bPt) formal←c59260)+72));
}
else {
SOURCE(10182, 383)
{
W2 p02←v14312;
W2 m←v14340;
word var←c50332;
word r←v45120;
word var←c0945;
SOURCE(10184, 22)
{
word r←v42404;
{
/*1*/ word x325;
/*1*/ word x326;
/*1*/ *(float*)&r←v42404 = (
/*1*/ x325 = p0←v14180.f0, *(float*)&x325
/*1*/ ) + (
/*1*/ x326 = p2←v32636.f0, *(float*)&x326
/*1*/ );
/*1*/ };
SOURCE(1841, 14)
{
/*1*/ word x327;
/*1*/ word x328;
/*1*/ *(float*)&p02←v14312.f0 = (
/*1*/ x327 = r←v42404, *(float*)&x327
/*1*/ ) * (
/*1*/ x328 = (* (ptr) &fc1 ), *(float*)&x328
/*1*/ );
/*1*/ };
};
{
word r←v42356;
{
/*1*/ word x329;
/*1*/ word x330;
/*1*/ *(float*)&r←v42356 = (
/*1*/ x329 = p0←v14180.f1, *(float*)&x329
/*1*/ ) + (
/*1*/ x330 = p2←v32636.f1, *(float*)&x330
/*1*/ );
/*1*/ };
SOURCE(1841, 14)
{
/*1*/ word x331;
/*1*/ word x332;
/*1*/ *(float*)&p02←v14312.f1 = (
/*1*/ x331 = r←v42356, *(float*)&x331
/*1*/ ) * (
/*1*/ x332 = (* (ptr) &fc1 ), *(float*)&x332
/*1*/ );
/*1*/ };
};
SOURCE(10208, 33)
{
word x333;
word x334;
*(float*)&m←v14340.f0 = (
/*1*/ x333 = p1←v32608.f0, *(float*)&x333
/*1*/ ) - (
/*1*/ x334 = p02←v14312.f0, *(float*)&x334
/*1*/ );
};
{
word x335;
word x336;
*(float*)&m←v14340.f1 = (
/*1*/ x335 = p1←v32608.f1, *(float*)&x335
/*1*/ ) - (
/*1*/ x336 = p02←v14312.f1, *(float*)&x336
/*1*/ );
};
SOURCE(10243, 317)
{
word x342;
word x343;
{
/*1*/ word x337;
/*1*/ word x338;
/*1*/ *(float*)&r←v45120 = (
/*1*/ x337 = r←v32664, *(float*)&x337
/*1*/ ) - (
/*1*/ x338 = (* (ptr) &fc1 ), *(float*)&x338
/*1*/ );
/*1*/ };
var←c50332 = ( (((unsigned)r←v45120 << 1) >> 1) );
{
/*1*/ word x339;
/*1*/ word x340;
/*1*/ word x341;
/*1*/ *(float*)&var←c0945 = ((
/*1*/ x339 = ( (((unsigned)m←v14340.f0 << 1) >> 1) ), *(float*)&x339
/*1*/ ) + (
/*1*/ x340 = ( (((unsigned)m←v14340.f1 << 1) >> 1) ), *(float*)&x340
/*1*/ )) * (
/*1*/ x341 = var←c50332, *(float*)&x341
/*1*/ );
/*1*/ };
if ((((
/*1*/ x342 = var←c0945, *(float*)&x342
/*1*/ ) < (
/*1*/ x343 = (* (( (ptr) gf←c59228)+4)/* curveTolerance←v3532 */ ), *(float*)&x343
/*1*/ ))
)) {
SOURCE(10334, 17)
/*1*/ (void) Parabola←P2676(p1←v32608, p2←v32636, (word) (( (bPt) formal←c59260)+80));
/*1*/ }
else {
SOURCE(10358, 204)
/*1*/ {
/*1*/ W2 q←v14384;
/*1*/ word rNew←v14412;
SOURCE(10360, 35)
/*1*/ {
/*1*/ word x344;
/*1*/ word x345;
/*1*/ word x346;
/*1*/ *(float*)&q←v14384.f0 = ((
/*1*/ x344 = m←v14340.f0, *(float*)&x344
/*1*/ ) * (
/*1*/ x345 = r←v32664, *(float*)&x345
/*1*/ )) + (
/*1*/ x346 = p02←v14312.f0, *(float*)&x346
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x347;
/*1*/ word x348;
/*1*/ word x349;
/*1*/ *(float*)&q←v14384.f1 = ((
/*1*/ x347 = m←v14340.f1, *(float*)&x347
/*1*/ ) * (
/*1*/ x348 = r←v32664, *(float*)&x348
/*1*/ )) + (
/*1*/ x349 = p02←v14312.f1, *(float*)&x349
/*1*/ );
/*1*/ };
SOURCE(10397, 46)
/*1*/ {
/*1*/ word x350;
/*1*/ word x351;
/*1*/ word pd352;
/*1*/ word x354;
/*1*/ word x355;
/*1*/ word x356;
/*1*/ float tf357;
/*1*/ word x358;
/*1*/ pd352 = (* (( (ptr) (* (( (ptr) gf←c59228)+78)/* var←c50396 */ ))+9) );
/*1*/ *(float*)&rNew←v14412 = (
/*1*/ x350 = (* (ptr) &fc20 ), *(float*)&x350
/*1*/ ) / ((
/*1*/ x351 = (* (ptr) &fc20 ), *(float*)&x351
/*1*/ ) + (
/*1*/ x358 = (word) ( *( (fPt) ((* (ptr) pd352 ))))((
/*1*/ tf357 = (
/*1*/ x354 = (* (ptr) &fc353 ), *(float*)&x354
/*1*/ ) * ((
/*1*/ x355 = (* (ptr) &fc20 ), *(float*)&x355
/*1*/ ) - (
/*1*/ x356 = r←v32664, *(float*)&x356
/*1*/ )), *(word*)&tf357
/*1*/ ), pd352), *(float*)&x358
/*1*/ ));
/*1*/ };
SOURCE(10445, 56)
/*1*/ {
/*1*/ W2 var←c50428;
/*1*/ {
/*1*/ word x359;
/*1*/ word x360;
/*1*/ word x361;
/*1*/ word x362;
/*1*/ *(float*)&var←c50428.f0 = (((
/*1*/ x359 = p1←v32608.f0, *(float*)&x359
/*1*/ ) - (
/*1*/ x360 = p0←v14180.f0, *(float*)&x360
/*1*/ )) * (
/*1*/ x361 = r←v32664, *(float*)&x361
/*1*/ )) + (
/*1*/ x362 = p0←v14180.f0, *(float*)&x362
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x363;
/*1*/ word x364;
/*1*/ word x365;
/*1*/ word x366;
/*1*/ *(float*)&var←c50428.f1 = (((
/*1*/ x363 = p1←v32608.f1, *(float*)&x363
/*1*/ ) - (
/*1*/ x364 = p0←v14180.f1, *(float*)&x364
/*1*/ )) * (
/*1*/ x365 = r←v32664, *(float*)&x365
/*1*/ )) + (
/*1*/ x366 = p0←v14180.f1, *(float*)&x366
/*1*/ );
/*1*/ };
/*1*/ (void) Conic←P2796(var←c50428, q←v14384, rNew←v14412, (word) (( (bPt) formal←c59260)+64));
/*1*/ };
SOURCE(10503, 57)
/*1*/ {
/*1*/ W2 var←c50460;
/*1*/ {
/*1*/ word x367;
/*1*/ word x368;
/*1*/ word x369;
/*1*/ word x370;
/*1*/ *(float*)&var←c50460.f0 = (((
/*1*/ x367 = p1←v32608.f0, *(float*)&x367
/*1*/ ) - (
/*1*/ x368 = p2←v32636.f0, *(float*)&x368
/*1*/ )) * (
/*1*/ x369 = r←v32664, *(float*)&x369
/*1*/ )) + (
/*1*/ x370 = p2←v32636.f0, *(float*)&x370
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x371;
/*1*/ word x372;
/*1*/ word x373;
/*1*/ word x374;
/*1*/ *(float*)&var←c50460.f1 = (((
/*1*/ x371 = p1←v32608.f1, *(float*)&x371
/*1*/ ) - (
/*1*/ x372 = p2←v32636.f1, *(float*)&x372
/*1*/ )) * (
/*1*/ x373 = r←v32664, *(float*)&x373
/*1*/ )) + (
/*1*/ x374 = p2←v32636.f1, *(float*)&x374
/*1*/ );
/*1*/ };
/*1*/ (void) Conic←P2796(var←c50460, p2←v32636, rNew←v14412, (word) (( (bPt) formal←c59260)+64));
/*1*/ };
/*1*/ };
/*1*/ };
};
};
};
};
};
};
};
};
SOURCE(10571, 17)
{
word idx375;
(* (( (ptr) formal←c59260)+47) ) = (
idx375 = (word) ((* (( (ptr) formal←c59260)+47) ) - 1),
SGNCK(idx375)
);
};
SOURCE(10590, 33)
if (((* (( (ptr) formal←c59260)+47) ) == 0)) {
SOURCE(10608, 15)
(* (( (ptr) formal←c59260)+48) ) = 0;
};
}
static void Curve←P2856(p1←v32724, p2←v32752, p3←v32780, formal←c59324)
W2 p1←v32724;
W2 p2←v32752;
W2 p3←v32780;
word formal←c59324;
{
register ptr gf←c59292 = (ptr) &globalframe;
W2 p0←v14484;
word var←c50492;
word r←v15220;
formal←c59324 = (formal←c59324 - 56);
/* Curve: */
SOURCE(10653, 1217)
SOURCE(10676, 16)
p0←v14484 = (* (W2Pt) (( (ptr) formal←c59324)+41) );
SOURCE(11045, 34)
if (((* (( (ptr) formal←c59324)+47) ) == 0)) {
SOURCE(11063, 16)
(* (( (ptr) formal←c59324)+49) ) = 1;
};
SOURCE(11081, 17)
(* (( (ptr) formal←c59324)+47) ) = ((* (( (ptr) formal←c59324)+47) ) + 1);
SOURCE(11100, 710)
{
word x377;
if (((* (( (ptr) formal←c59324)+47) ) > 15)) { goto then0376;};
{
word var←c50524;
word var←c50556;
var←c50524 = (word) RegionOf←P2376(p0←v14484, (word) (( (bPt) formal←c59324)+112));
var←c50556 = (word) RegionOf←P2376(p3←v32780, (word) (( (bPt) formal←c59324)+112));
r←v15220 = (word) Intersect←P960(var←c50524, var←c50556);
};
SOURCE(10789, 37)
if ((r←v15220 == 0)) {
SOURCE(10812, 14)
var←c50492 = 0;
goto lab←L100061;
};
SOURCE(10828, 30)
{
word var←c50588;
var←c50588 = (word) RegionOf←P2376(p1←v32724, (word) (( (bPt) formal←c59324)+112));
r←v15220 = (word) Intersect←P960(r←v15220, var←c50588);
};
SOURCE(10860, 37)
if ((r←v15220 == 0)) {
SOURCE(10883, 14)
var←c50492 = 0;
goto lab←L100061;
};
SOURCE(10899, 30)
{
word var←c50620;
var←c50620 = (word) RegionOf←P2376(p2←v32752, (word) (( (bPt) formal←c59324)+112));
r←v15220 = (word) Intersect←P960(r←v15220, var←c50620);
};
SOURCE(10931, 37)
if ((r←v15220 == 0)) {
SOURCE(10954, 14)
var←c50492 = 0;
goto lab←L100061;
};
SOURCE(10970, 13)
var←c50492 = 1;
lab←L100061: ;
x377 = (word) (0 != var←c50492);
if (x377) {
then0376: ;
SOURCE(11146, 8)
(void) Line←P2736(p1←v32724, (word) (( (bPt) formal←c59324)+72));
SOURCE(11156, 8)
(void) Line←P2736(p2←v32752, (word) (( (bPt) formal←c59324)+72));
SOURCE(11166, 9)
(void) Line←P2736(p3←v32780, (word) (( (bPt) formal←c59324)+72));
}
else {
SOURCE(11182, 633)
{
W2 q1←v14672;
W2 q2←v14700;
word error←v14728;
SOURCE(11343, 21)
{
word var←c50684;
word r←v42308;
{
word x378;
word x379;
*(float*)&r←v42308 = (
x378 = p1←v32724.f0, *(float*)&x378
) - (
x379 = p0←v14484.f0, *(float*)&x379
);
};
SOURCE(1841, 14)
{
word x380;
word x381;
*(float*)&var←c50684 = (
x380 = r←v42308, *(float*)&x380
) * (
x381 = (* (ptr) &fc1 ), *(float*)&x381
);
};
{
word x382;
word x383;
*(float*)&q1←v14672.f0 = (
x382 = p1←v32724.f0, *(float*)&x382
) + (
x383 = var←c50684, *(float*)&x383
);
};
};
{
word var←c50716;
word r←v43900;
{
word x384;
word x385;
*(float*)&r←v43900 = (
x384 = p1←v32724.f1, *(float*)&x384
) - (
x385 = p0←v14484.f1, *(float*)&x385
);
};
SOURCE(1841, 14)
{
word x386;
word x387;
*(float*)&var←c50716 = (
x386 = r←v43900, *(float*)&x386
) * (
x387 = (* (ptr) &fc1 ), *(float*)&x387
);
};
{
word x388;
word x389;
*(float*)&q1←v14672.f1 = (
x388 = p1←v32724.f1, *(float*)&x388
) + (
x389 = var←c50716, *(float*)&x389
);
};
};
SOURCE(11366, 21)
{
word var←c50780;
word r←v43960;
{
word x390;
word x391;
*(float*)&r←v43960 = (
x390 = p2←v32752.f0, *(float*)&x390
) - (
x391 = p3←v32780.f0, *(float*)&x391
);
};
SOURCE(1841, 14)
{
word x392;
word x393;
*(float*)&var←c50780 = (
x392 = r←v43960, *(float*)&x392
) * (
x393 = (* (ptr) &fc1 ), *(float*)&x393
);
};
{
word x394;
word x395;
*(float*)&q2←v14700.f0 = (
x394 = p2←v32752.f0, *(float*)&x394
) + (
x395 = var←c50780, *(float*)&x395
);
};
};
{
word var←c50812;
word r←v44004;
{
word x396;
word x397;
*(float*)&r←v44004 = (
x396 = p2←v32752.f1, *(float*)&x396
) - (
x397 = p3←v32780.f1, *(float*)&x397
);
};
SOURCE(1841, 14)
{
word x398;
word x399;
*(float*)&var←c50812 = (
x398 = r←v44004, *(float*)&x398
) * (
x399 = (* (ptr) &fc1 ), *(float*)&x399
);
};
{
word x400;
word x401;
*(float*)&q2←v14700.f1 = (
x400 = p2←v32752.f1, *(float*)&x400
) + (
x401 = var←c50812, *(float*)&x401
);
};
};
SOURCE(11389, 65)
{
word var←c50844;
word r←v45072;
word var←c50876;
word r←v45024;
{
word x402;
word x403;
*(float*)&r←v45072 = (
x402 = q1←v14672.f0, *(float*)&x402
) - (
x403 = q2←v14700.f0, *(float*)&x403
);
};
var←c50844 = ( (((unsigned)r←v45072 << 1) >> 1) );
{
word x404;
word x405;
*(float*)&r←v45024 = (
x404 = q1←v14672.f1, *(float*)&x404
) - (
x405 = q2←v14700.f1, *(float*)&x405
);
};
var←c50876 = ( (((unsigned)r←v45024 << 1) >> 1) );
{
word x406;
word x407;
*(float*)&error←v14728 = (
x406 = var←c50844, *(float*)&x406
) + (
x407 = var←c50876, *(float*)&x407
);
};
};
SOURCE(11456, 354)
{
word x408;
word x409;
word x410;
word x411;
if ( ( ((
x408 = error←v14728, *(float*)&x408
) < (
x409 = (* (( (ptr) gf←c59292)+4)/* curveTolerance←v3532 */ ), *(float*)&x409
)) ? ( ((* (( (ptr) formal←c59324)+47) ) > 1) ? 1 : ((
x410 = error←v14728, *(float*)&x410
) == (
x411 = (* (ptr) &fc34 ), *(float*)&x411
)) ) : 0 ) ) {
SOURCE(11520, 43)
{
word tcp412;
if ((0 != (* (( (ptr) formal←c59324)+49) ))) {
tcp412 = (word) &q1←v14672;
}
else {
tcp412 = (word) &q2←v14700;
};
(void) Parabola←P2676((* (W2Pt) tcp412 ), p3←v32780, (word) (( (bPt) formal←c59324)+80));
};
}
else {
SOURCE(11570, 242)
{
W2 p01←v15036;
W2 p12←v15064;
W2 p23←v15092;
W2 p012←v15120;
W2 p123←v15148;
W2 p0123←v15176;
SOURCE(11572, 22)
{
word r←v42892;
{
word x413;
word x414;
*(float*)&r←v42892 = (
/*1*/ x413 = p0←v14484.f0, *(float*)&x413
/*1*/ ) + (
/*1*/ x414 = p1←v32724.f0, *(float*)&x414
/*1*/ );
};
SOURCE(1841, 14)
{
word x415;
word x416;
*(float*)&p01←v15036.f0 = (
/*1*/ x415 = r←v42892, *(float*)&x415
/*1*/ ) * (
/*1*/ x416 = (* (ptr) &fc1 ), *(float*)&x416
/*1*/ );
};
};
{
word r←v42936;
{
word x417;
word x418;
*(float*)&r←v42936 = (
/*1*/ x417 = p0←v14484.f1, *(float*)&x417
/*1*/ ) + (
/*1*/ x418 = p1←v32724.f1, *(float*)&x418
/*1*/ );
};
SOURCE(1841, 14)
{
word x419;
word x420;
*(float*)&p01←v15036.f1 = (
/*1*/ x419 = r←v42936, *(float*)&x419
/*1*/ ) * (
/*1*/ x420 = (* (ptr) &fc1 ), *(float*)&x420
/*1*/ );
};
};
SOURCE(11596, 22)
{
word r←v42804;
{
word x421;
word x422;
*(float*)&r←v42804 = (
/*1*/ x421 = p1←v32724.f0, *(float*)&x421
/*1*/ ) + (
/*1*/ x422 = p2←v32752.f0, *(float*)&x422
/*1*/ );
};
SOURCE(1841, 14)
{
word x423;
word x424;
*(float*)&p12←v15064.f0 = (
/*1*/ x423 = r←v42804, *(float*)&x423
/*1*/ ) * (
/*1*/ x424 = (* (ptr) &fc1 ), *(float*)&x424
/*1*/ );
};
};
{
word r←v42848;
{
word x425;
word x426;
*(float*)&r←v42848 = (
/*1*/ x425 = p1←v32724.f1, *(float*)&x425
/*1*/ ) + (
/*1*/ x426 = p2←v32752.f1, *(float*)&x426
/*1*/ );
};
SOURCE(1841, 14)
{
word x427;
word x428;
*(float*)&p12←v15064.f1 = (
/*1*/ x427 = r←v42848, *(float*)&x427
/*1*/ ) * (
/*1*/ x428 = (* (ptr) &fc1 ), *(float*)&x428
/*1*/ );
};
};
SOURCE(11620, 22)
{
word r←v42716;
{
word x429;
word x430;
*(float*)&r←v42716 = (
/*1*/ x429 = p2←v32752.f0, *(float*)&x429
/*1*/ ) + (
/*1*/ x430 = p3←v32780.f0, *(float*)&x430
/*1*/ );
};
SOURCE(1841, 14)
{
word x431;
word x432;
*(float*)&p23←v15092.f0 = (
/*1*/ x431 = r←v42716, *(float*)&x431
/*1*/ ) * (
/*1*/ x432 = (* (ptr) &fc1 ), *(float*)&x432
/*1*/ );
};
};
{
word r←v42760;
{
word x433;
word x434;
*(float*)&r←v42760 = (
/*1*/ x433 = p2←v32752.f1, *(float*)&x433
/*1*/ ) + (
/*1*/ x434 = p3←v32780.f1, *(float*)&x434
/*1*/ );
};
SOURCE(1841, 14)
{
word x435;
word x436;
*(float*)&p23←v15092.f1 = (
/*1*/ x435 = r←v42760, *(float*)&x435
/*1*/ ) * (
/*1*/ x436 = (* (ptr) &fc1 ), *(float*)&x436
/*1*/ );
};
};
SOURCE(11644, 25)
{
word r←v42628;
{
word x437;
word x438;
*(float*)&r←v42628 = (
/*1*/ x437 = p01←v15036.f0, *(float*)&x437
/*1*/ ) + (
/*1*/ x438 = p12←v15064.f0, *(float*)&x438
/*1*/ );
};
SOURCE(1841, 14)
{
word x439;
word x440;
*(float*)&p012←v15120.f0 = (
/*1*/ x439 = r←v42628, *(float*)&x439
/*1*/ ) * (
/*1*/ x440 = (* (ptr) &fc1 ), *(float*)&x440
/*1*/ );
};
};
{
word r←v42672;
{
word x441;
word x442;
*(float*)&r←v42672 = (
/*1*/ x441 = p01←v15036.f1, *(float*)&x441
/*1*/ ) + (
/*1*/ x442 = p12←v15064.f1, *(float*)&x442
/*1*/ );
};
SOURCE(1841, 14)
{
word x443;
word x444;
*(float*)&p012←v15120.f1 = (
/*1*/ x443 = r←v42672, *(float*)&x443
/*1*/ ) * (
/*1*/ x444 = (* (ptr) &fc1 ), *(float*)&x444
/*1*/ );
};
};
SOURCE(11671, 25)
{
word r←v42540;
{
word x445;
word x446;
*(float*)&r←v42540 = (
/*1*/ x445 = p12←v15064.f0, *(float*)&x445
/*1*/ ) + (
/*1*/ x446 = p23←v15092.f0, *(float*)&x446
/*1*/ );
};
SOURCE(1841, 14)
{
word x447;
word x448;
*(float*)&p123←v15148.f0 = (
/*1*/ x447 = r←v42540, *(float*)&x447
/*1*/ ) * (
/*1*/ x448 = (* (ptr) &fc1 ), *(float*)&x448
/*1*/ );
};
};
{
word r←v42584;
{
word x449;
word x450;
*(float*)&r←v42584 = (
/*1*/ x449 = p12←v15064.f1, *(float*)&x449
/*1*/ ) + (
/*1*/ x450 = p23←v15092.f1, *(float*)&x450
/*1*/ );
};
SOURCE(1841, 14)
{
word x451;
word x452;
*(float*)&p123←v15148.f1 = (
/*1*/ x451 = r←v42584, *(float*)&x451
/*1*/ ) * (
/*1*/ x452 = (* (ptr) &fc1 ), *(float*)&x452
/*1*/ );
};
};
SOURCE(11698, 28)
{
word r←v42452;
{
word x453;
word x454;
*(float*)&r←v42452 = (
/*1*/ x453 = p012←v15120.f0, *(float*)&x453
/*1*/ ) + (
/*1*/ x454 = p123←v15148.f0, *(float*)&x454
/*1*/ );
};
SOURCE(1841, 14)
{
word x455;
word x456;
*(float*)&p0123←v15176.f0 = (
/*1*/ x455 = r←v42452, *(float*)&x455
/*1*/ ) * (
/*1*/ x456 = (* (ptr) &fc1 ), *(float*)&x456
/*1*/ );
};
};
{
word r←v42496;
{
word x457;
word x458;
*(float*)&r←v42496 = (
/*1*/ x457 = p012←v15120.f1, *(float*)&x457
/*1*/ ) + (
/*1*/ x458 = p123←v15148.f1, *(float*)&x458
/*1*/ );
};
SOURCE(1841, 14)
{
word x459;
word x460;
*(float*)&p0123←v15176.f1 = (
/*1*/ x459 = r←v42496, *(float*)&x459
/*1*/ ) * (
/*1*/ x460 = (* (ptr) &fc1 ), *(float*)&x460
/*1*/ );
};
};
SOURCE(11728, 23)
(void) Curve←P2856(p01←v15036, p012←v15120, p0123←v15176, (word) (( (bPt) formal←c59324)+56));
SOURCE(11753, 35)
if (((* (( (ptr) formal←c59324)+47) ) == 1)) {
SOURCE(11771, 17)
(* (( (ptr) formal←c59324)+49) ) = 0;
};
SOURCE(11790, 20)
(void) Curve←P2856(p123←v15148, p23←v15092, p3←v32780, (word) (( (bPt) formal←c59324)+56));
};
};
};
};
};
};
SOURCE(11818, 17)
{
word idx461;
(* (( (ptr) formal←c59324)+47) ) = (
idx461 = (word) ((* (( (ptr) formal←c59324)+47) ) - 1),
SGNCK(idx461)
);
};
SOURCE(11837, 33)
if (((* (( (ptr) formal←c59324)+47) ) == 0)) {
SOURCE(11855, 15)
(* (( (ptr) formal←c59324)+48) ) = 0;
};
}
static void Arc←P2916(p1←v32840, p2←v32868, formal←c59388)
W2 p1←v32840;
W2 p2←v32868;
word formal←c59388;
{
register ptr gf←c59356 = (ptr) &globalframe;
formal←c59388 = (formal←c59388 - 48);
/* Arc: */
SOURCE(11875, 63)
SOURCE(11893, 45)
{
word pd462;
pd462 = (* (( (ptr) (* (( (ptr) gf←c59356)+79)/* var←c51484 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd462 ))))((* (W2Pt) (( (ptr) formal←c59388)+41) ), p1←v32840, p2←v32868, (word) (( (bPt) formal←c59388)+64)
, pd462);
};
}
static void SignalSquareEndWithNoDirection←P1080()
{
register ptr gf←c59420 = (ptr) &globalframe;
/* SignalSquareEndWithNoDirection: */
SOURCE(12038, 162)
SOURCE(12086, 114)
{
W3 var←c0349;
var←c0349.f0 = 120;
var←c0349.f1 = (* (( (ptr) gf←c59420)+25) );
var←c0349.f2 = 0;
(void) (XR←RaiseSignal((* (( (ptr) (* (( (ptr) gf←c59420)+80)/* var←c51516 */ ))+5) ), 0, (word) &var←c0349));
};
}
static void PathFromStroke←P1140(formal←c0990, closed←v8124, formal←c0991, formal←c0992, joint←v8208, formal←c0993, moveTo←v8264, formal←c0994, conicTo←v8320, box←v8348, formal←c0995, formal←c0996)
word formal←c0990;
word closed←v8124;
word formal←c0991;
word formal←c0992;
word joint←v8208;
word formal←c0993;
word moveTo←v8264;
word formal←c0994;
word conicTo←v8320;
W4 box←v8348;
word formal←c0995;
word formal←c0996;
{
W29 var←c59452;
/* declaration of path←v8096 skipped */
/* declaration of pen←v8152 skipped */
/* declaration of end←v8180 skipped */
/* declaration of m←v8236 skipped */
/* declaration of lineTo←v8292 skipped */
/* declaration of pathT←v8376 skipped */
/* declaration of miterLimit←v8404 skipped */
/* declaration of var←c51580 skipped */
/* declaration of var←c51612 skipped */
/* declaration of var←c51644 skipped */
/* declaration of var←c51676 skipped */
/* declaration of var←c51708 skipped */
/* declaration of var←c51740 skipped */
/* declaration of var←c51772 skipped */
/* declaration of var←c51804 skipped */
/* declaration of var←c51836 skipped */
word Joint←v15500;
word End←v15528;
(* (( (ptr) &var←c59452)+4)/* path←v8096 */ ) = formal←c0990;
(* (( (ptr) &var←c59452)+5)/* pen←v8152 */ ) = formal←c0991;
(* (( (ptr) &var←c59452)+6)/* end←v8180 */ ) = formal←c0992;
(* (( (ptr) &var←c59452)+7)/* m←v8236 */ ) = formal←c0993;
(* (( (ptr) &var←c59452)+8)/* lineTo←v8292 */ ) = formal←c0994;
(* (( (ptr) &var←c59452)+9)/* pathT←v8376 */ ) = formal←c0995;
(* (( (ptr) &var←c59452)+10)/* miterLimit←v8404 */ ) = formal←c0996;
/* PathFromStroke: */
SOURCE(12206, 4003)
{
word tmpAddr463;
tmpAddr463 = (word) (( (ptr) &var←c59452)+11)/* var←c51580 */ ;
(* (ptr) tmpAddr463 ) = ( ((word) (fPt) Path←P3984) );
(* (( (ptr) tmpAddr463) + 1) ) = 1;
};
{
word tmpAddr464;
tmpAddr464 = (word) (( (ptr) &var←c59452)+13)/* var←c51612 */ ;
(* (ptr) tmpAddr464 ) = ( ((word) (fPt) MiterOrBevelJoint←P3924) );
(* (( (ptr) tmpAddr464) + 1) ) = 1;
};
{
word tmpAddr465;
tmpAddr465 = (word) (( (ptr) &var←c59452)+15)/* var←c51644 */ ;
(* (ptr) tmpAddr465 ) = ( ((word) (fPt) MiterJoint←P3864) );
(* (( (ptr) tmpAddr465) + 1) ) = 1;
};
{
word tmpAddr466;
tmpAddr466 = (word) (( (ptr) &var←c59452)+17)/* var←c51676 */ ;
(* (ptr) tmpAddr466 ) = ( ((word) (fPt) BevelJoint←P3804) );
(* (( (ptr) tmpAddr466) + 1) ) = 1;
};
{
word tmpAddr467;
tmpAddr467 = (word) (( (ptr) &var←c59452)+19)/* var←c51708 */ ;
(* (ptr) tmpAddr467 ) = ( ((word) (fPt) RoundJoint←P3744) );
(* (( (ptr) tmpAddr467) + 1) ) = 1;
};
{
word tmpAddr468;
tmpAddr468 = (word) (( (ptr) &var←c59452)+21)/* var←c51740 */ ;
(* (ptr) tmpAddr468 ) = ( ((word) (fPt) ButtEnd←P3684) );
(* (( (ptr) tmpAddr468) + 1) ) = 1;
};
{
word tmpAddr469;
tmpAddr469 = (word) (( (ptr) &var←c59452)+23)/* var←c51772 */ ;
(* (ptr) tmpAddr469 ) = ( ((word) (fPt) Beam←P3624) );
(* (( (ptr) tmpAddr469) + 1) ) = 1;
};
{
word tmpAddr470;
tmpAddr470 = (word) (( (ptr) &var←c59452)+25)/* var←c51804 */ ;
(* (ptr) tmpAddr470 ) = ( ((word) (fPt) SquareEnd←P3564) );
(* (( (ptr) tmpAddr470) + 1) ) = 1;
};
{
word tmpAddr471;
tmpAddr471 = (word) (( (ptr) &var←c59452)+27)/* var←c51836 */ ;
(* (ptr) tmpAddr471 ) = ( ((word) (fPt) RoundEnd←P3504) );
(* (( (ptr) tmpAddr471) + 1) ) = 1;
};
SOURCE(15472, 13)
{
word var←c51868;
var←c51868 = joint←v8208;
switch (var←c51868) {
case 0:
{
word var←c51900;
var←c51900 = (* (( (ptr) &var←c59452)+10)/* miterLimit←v8404 */ );
{
word x472;
word x473;
word x474;
word x475;
if (((
x472 = var←c51900, *(float*)&x472
) < (
x473 = (* (ptr) &fc20 ), *(float*)&x473
))) {
Joint←v15500 = (word) (( (bPt) &var←c59452)+60)/* var←c51644 */ ;
}
else {
if (((
x474 = var←c51900, *(float*)&x474
) == (
x475 = (* (ptr) &fc20 ), *(float*)&x475
))) {
Joint←v15500 = (word) (( (bPt) &var←c59452)+68)/* var←c51676 */ ;
}
else {
Joint←v15500 = (word) (( (bPt) &var←c59452)+52)/* var←c51612 */ ;
};
};
};
};
break;
case 1:
Joint←v15500 = (word) (( (bPt) &var←c59452)+68)/* var←c51676 */ ;
break;
case 2:
Joint←v15500 = (word) (( (bPt) &var←c59452)+76)/* var←c51708 */ ;
break;
default:
Joint←v15500 = (word) (( (bPt) &var←c59452)+60)/* var←c51644 */ ;
break;
};
};
SOURCE(15774, 11)
{
word var←c51932;
var←c51932 = (* (( (ptr) &var←c59452)+6)/* end←v8180 */ );
switch (var←c51932) {
case 4294967295: case 0:
End←v15528 = (word) (( (bPt) &var←c59452)+100)/* var←c51804 */ ;
break;
case 1:
End←v15528 = (word) (( (bPt) &var←c59452)+84)/* var←c51740 */ ;
break;
case 2:
End←v15528 = (word) (( (bPt) &var←c59452)+108)/* var←c51836 */ ;
break;
default:
End←v15528 = (word) (( (bPt) &var←c59452)+100)/* var←c51804 */ ;
break;
};
};
SOURCE(15998, 211)
(void) PenStroke←P1020((word) (( (bPt) &var←c59452)+44)/* var←c51580 */ , (* (( (ptr) &var←c59452)+5)/* pen←v8152 */ ), closed←v8124, moveTo←v8264, (* (
( (ptr) &var←c59452)+8)/* lineTo←v8292 */ ), conicTo←v8320
, End←v15528, Joint←v15500, box←v8348, (unsigned) ( ( (Joint←v15500 != (word) (( (bPt) &var←c59452)+60)/* var←c51644 */ ) ? (Joint←v15500 != (word) (
( (bPt) &var←c59452)+52)/* var←c51612 */ ) : 0 ) ? (End←v15528 != (word) (( (bPt) &var←c59452)+100)/* var←c51804 */ ) : 0 ) )
;
}
static void RoundEnd←P3504(p←v15604, v←v15632, i0←v15660, i1←v15688, formal←c59484)
W2 p←v15604;
W2 v←v15632;
word i0←v15660;
word i1←v15688;
word formal←c59484;
{
formal←c59484 = (formal←c59484 - 108);
/* RoundEnd: */
SOURCE(12549, 127)
SOURCE(12606, 70)
lab←L100082: ;
if ((i0←v15660 != i1←v15688)) {
}
else {
goto lab←L100080;
};
SOURCE(12623, 28)
{
word var←c51964;
word c←v43632;
word mod←v43664;
mod←v43664 = (* (( (ptr) (* (( (ptr) formal←c59484)+5) ))+5) );
{
word var←c0946;
SOURCE(2143, 38)
c←v43632 = SGNCK((i0←v15660 + 1));
var←c0946 = c←v43632;
if ((var←c0946 >= mod←v43664)) {
SOURCE(2170, 11)
c←v43632 = (c←v43632 - mod←v43664);
};
SOURCE(2080, 101)
var←c51964 = c←v43632;
};
i0←v15660 = var←c51964;
};
SOURCE(12653, 23)
{
W2 var←c51996;
{
W2 var←c52028;
W2 v2←v40200;
{
word limit476;
v2←v40200 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59484)+5) ))+6))+(
limit476 = (* (( (ptr) (* (( (ptr) formal←c59484)+5) ))+5) ),
BCK(i0←v15660, limit476)
)) );
};
SOURCE(1675, 31)
{
word x477;
word x478;
*(float*)&var←c52028.f0 = (
x477 = p←v15604.f0, *(float*)&x477
) + (
x478 = v2←v40200.f0, *(float*)&x478
);
};
{
word x479;
word x480;
*(float*)&var←c52028.f1 = (
x479 = p←v15604.f1, *(float*)&x479
) + (
x480 = v2←v40200.f1, *(float*)&x480
);
};
var←c51996 = var←c52028;
};
{
word pd481;
pd481 = (* (( (ptr) formal←c59484)+8) );
(void) ( *( (fPt) ((* (ptr) pd481 ))))(var←c51996, pd481);
};
};
goto lab←L100082;
lab←L100080: ;
}
static void SquareEnd←P3564(p←v15748, formal←c0997, i0←v15804, i1←v15832, formal←c59580)
W2 p←v15748;
W2 formal←c0997;
word i0←v15804;
word i1←v15832;
word formal←c59580;
{
W9 var←c59516;
/* declaration of v←v15776 skipped */
register ptr gf←c59548 = (ptr) &globalframe;
formal←c59580 = (formal←c59580 - 100);
(* (W2Pt) (( (ptr) &var←c59516)+4)/* v←v15776 */ ) = formal←c0997;
(* (ptr) &var←c59516 ) = formal←c59580;
/* SquareEnd: */
SOURCE(12690, 588)
SOURCE(12746, 532)
SOURCE(12748, 110)
{
word x482;
word x483;
word x484;
word x485;
if ( ( ((
x482 = (* (( (ptr) &var←c59516)+4) ), *(float*)&x482
) == (
x483 = (* (ptr) &fc34 ), *(float*)&x483
)) ? ((
x484 = (* (( (ptr) &var←c59516)+5) ), *(float*)&x484
) == (
x485 = (* (ptr) &fc34 ), *(float*)&x485
)) : 0 ) ) {
SOURCE(12782, 76)
if (( (int)(* (( (ptr) formal←c59580)+6) ) == (int) (word) -1)) {
SOURCE(12826, 32)
(void) SignalSquareEndWithNoDirection←P1080();
};
SOURCE(12860, 14)
goto lab←L100085;
};
};
SOURCE(12879, 350)
{
word ihalf←v17312;
W2 V←v17340;
W2 U←v17368;
W2 u←v17396;
SOURCE(12881, 43)
ihalf←v17312 = (word) FindVertex←P600((* (( (ptr) formal←c59580)+5) ), (* (W2Pt) (( (ptr) &var←c59516)+4)/* v←v15776 */ ), i0←v15804)
;
SOURCE(12926, 79)
{
/* declaration of var←c01 skipped */
(* (( (ptr) &var←c59516)+6)/* var←c01 */ ) = (* (( (ptr) (* (( (ptr) gf←c59548)+81)/* var←c52092 */ ))+42) );
{
/* declaration of var←c02 skipped */
{
word var←c03;
{
word var←c0947;
var←c0947 = (word) &var←c59516;
var←c03 = (word) XR←Enable(( ((word) (fPt) NoName←Q12516) ), ( ((word) (fPt) NoName←Q12696) ), var←c0947);
};
if ((var←c03 == 2)) {
goto lab←L100085;
};
};
V←v17340 = (* (W2Pt) (( (ptr) &var←c59516)+7)/* var←c02 */ );
};
};
SOURCE(13022, 20)
{
word x486;
*(float*)&U←v17368.f0 = - (
x486 = V←v17340.f1, *(float*)&x486
);
};
U←v17368.f1 = V←v17340.f0;
SOURCE(13044, 48)
{
word pd487;
pd487 = (* (( (ptr) (* (( (ptr) gf←c59548)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd487 ))))((word) &u←v17396, (* (( (ptr) formal←c59580)+7) ), U←v17368, pd487);
};
SOURCE(13094, 56)
{
word x488;
word x489;
word x490;
word x491;
word x492;
if ((((
x488 = u←v17396.f0, *(float*)&x488
) * (
x489 = (* (( (ptr) &var←c59516)+5) ), *(float*)&x489
)) - ((
x490 = u←v17396.f1, *(float*)&x490
) * (
x491 = (* (( (ptr) &var←c59516)+4) ), *(float*)&x491
)) > (
x492 = (* (ptr) &fc34 ), *(float*)&x492
))) {
SOURCE(13132, 18)
{
word pd493;
pd493 = (* (( (ptr) (* (( (ptr) gf←c59548)+82)/* var←c52156 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd493 ))))((word) &u←v17396, u←v17396, pd493);
};
};
};
SOURCE(13152, 30)
(void) MiterJoint←P3864(p←v15748, (* (W2Pt) (( (ptr) &var←c59516)+4)/* v←v15776 */ ), u←v17396, i0←v15804, ihalf←v17312, (word) (
( (bPt) formal←c59580)+60));
SOURCE(13184, 43)
{
W2 var←c52188;
{
word pd494;
pd494 = (* (( (ptr) (* (( (ptr) gf←c59548)+82)/* var←c52156 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd494 ))))((word) &var←c52188, (* (W2Pt) (( (ptr) &var←c59516)+4)/* v←v15776 */ ), pd494);
};
(void) MiterJoint←P3864(p←v15748, u←v17396, var←c52188, ihalf←v17312, i1←v15832, (word) (( (bPt) formal←c59580)+60));
};
};
goto lab←L100088;
lab←L100085: ;
SOURCE(13252, 23)
{
W2 var←c52220;
{
W2 var←c52252;
W2 v2←v40152;
{
word limit495;
v2←v40152 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59580)+5) ))+6))+(
limit495 = (* (( (ptr) (* (( (ptr) formal←c59580)+5) ))+5) ),
BCK(i1←v15832, limit495)
)) );
};
SOURCE(1675, 31)
{
word x496;
word x497;
*(float*)&var←c52252.f0 = (
x496 = p←v15748.f0, *(float*)&x496
) + (
x497 = v2←v40152.f0, *(float*)&x497
);
};
{
word x498;
word x499;
*(float*)&var←c52252.f1 = (
x498 = p←v15748.f1, *(float*)&x498
) + (
x499 = v2←v40152.f1, *(float*)&x499
);
};
var←c52220 = var←c52252;
};
{
word pd500;
pd500 = (* (( (ptr) formal←c59580)+8) );
(void) ( *( (fPt) ((* (ptr) pd500 ))))(var←c52220, pd500);
};
};
lab←L100088: ;
}
static word NoName←Q12516(formal←c0896)
word formal←c0896;
{
SOURCE(12926, 79)
{
word pd501;
pd501 = (* (( (ptr) formal←c0896)+6) );
(void) ( *( (fPt) ((* (ptr) pd501 ))))((word) (( (bPt) formal←c0896)+28), (* (( (ptr) (* (ptr) formal←c0896 ))+7) ), (* (W2Pt) (
( (ptr) formal←c0896)+4) ), pd501);
};
return(0);
}
static void Beam←P3624(formal←c0415, formal←c0998, i←v15920, formal←c59676)
word formal←c0415;
W2 formal←c0998;
word i←v15920;
word formal←c59676;
{
W9 var←c59612;
/* declaration of v←v15892 skipped */
register ptr gf←c59644 = (ptr) &globalframe;
W2 var←c15964;
formal←c59676 = (formal←c59676 - 92);
(* (W2Pt) (( (ptr) &var←c59612)+4)/* v←v15892 */ ) = formal←c0998;
(* (ptr) &var←c59612 ) = formal←c59676;
/* Beam: */
SOURCE(13281, 359)
SOURCE(13333, 307)
SOURCE(13335, 80)
{
W2 V←v17440;
W2 u←v17468;
word a←v17496;
W2 beam←v17524;
SOURCE(13335, 80)
{
/* declaration of var←c04 skipped */
(* (( (ptr) &var←c59612)+6)/* var←c04 */ ) = (* (( (ptr) (* (( (ptr) gf←c59644)+81)/* var←c52092 */ ))+42) );
{
/* declaration of var←c05 skipped */
{
word var←c06;
{
word var←c0948;
var←c0948 = (word) &var←c59612;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q12576) ), ( ((word) (fPt) NoName←Q12636) ), var←c0948);
};
if ((var←c06 == 3)) {
goto lab←L100091;
};
};
V←v17440 = (* (W2Pt) (( (ptr) &var←c59612)+7)/* var←c05 */ );
};
};
SOURCE(13431, 58)
{
W2 var←c0408;
{
W2 var←c52316;
{
word x502;
*(float*)&var←c52316.f0 = - (
x502 = V←v17440.f1, *(float*)&x502
);
};
var←c52316.f1 = V←v17440.f0;
{
word pd503;
pd503 = (* (( (ptr) (* (( (ptr) gf←c59644)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd503 ))))((word) &var←c0408, (* (( (ptr) formal←c59676)+7) ), var←c52316, pd503);
};
};
u←v17468 = var←c0408;
};
SOURCE(13491, 68)
{
word var←c52348;
W2 v1←v45168;
{
word limit504;
v1←v45168 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59676)+5) ))+6))+(
limit504 = (* (( (ptr) (* (( (ptr) formal←c59676)+5) ))+5) ),
BCK(i←v15920, limit504)
)) );
};
{
word x505;
word x506;
word x507;
word x508;
*(float*)&var←c52348 = ((
x505 = v1←v45168.f0, *(float*)&x505
) * (
x506 = (* (( (ptr) &var←c59612)+5) ), *(float*)&x506
)) - ((
x507 = v1←v45168.f1, *(float*)&x507
) * (
x508 = (* (( (ptr) &var←c59612)+4) ), *(float*)&x508
));
};
{
word x509;
word x510;
word x511;
word x512;
word x513;
*(float*)&a←v17496 = (
x509 = var←c52348, *(float*)&x509
) / (((
x510 = u←v17468.f0, *(float*)&x510
) * (
x511 = (* (( (ptr) &var←c59612)+5) ), *(float*)&x511
)) - ((
x512 = u←v17468.f1, *(float*)&x512
) * (
x513 = (* (( (ptr) &var←c59612)+4) ), *(float*)&x513
)));
};
};
SOURCE(13561, 29)
{
word pd514;
pd514 = (* (( (ptr) (* (( (ptr) gf←c59644)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd514 ))))((word) &beam←v17524, u←v17468, a←v17496, pd514);
};
SOURCE(13592, 12)
var←c15964 = beam←v17524;
goto lab←L100090;
};
/* c2c skipped dead code */
lab←L100091: ;
SOURCE(13625, 14)
{
W2 var←c52380;
{
word limit515;
var←c52380 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59676)+5) ))+6))+(
limit515 = (* (( (ptr) (* (( (ptr) formal←c59676)+5) ))+5) ),
BCK(i←v15920, limit515)
)) );
};
var←c15964 = var←c52380;
goto lab←L100090;
};
lab←L100090: ;
(* (W2Pt) formal←c0415 ) = var←c15964;
return;
}
static word NoName←Q12576(formal←c0899)
word formal←c0899;
{
SOURCE(13335, 80)
{
word pd516;
pd516 = (* (( (ptr) formal←c0899)+6) );
(void) ( *( (fPt) ((* (ptr) pd516 ))))((word) (( (bPt) formal←c0899)+28), (* (( (ptr) (* (ptr) formal←c0899 ))+7) ), (* (W2Pt) (
( (ptr) formal←c0899)+4) ), pd516);
};
return(0);
}
static void ButtEnd←P3684(p←v16024, v←v16052, i0←v16080, i1←v16108, formal←c59708)
W2 p←v16024;
W2 v←v16052;
word i0←v16080;
word i1←v16108;
word formal←c59708;
{
formal←c59708 = (formal←c59708 - 84);
/* ButtEnd: */
SOURCE(13643, 174)
SOURCE(13699, 90)
{
word x517;
word x518;
word x519;
word x520;
if (((
x517 = v←v16052.f0, *(float*)&x517
) != (
x518 = (* (ptr) &fc34 ), *(float*)&x518
)) || ((
x519 = v←v16052.f1, *(float*)&x519
) != (
x520 = (* (ptr) &fc34 ), *(float*)&x520
))) {
SOURCE(13729, 62)
{
W2 u←v17568;
SOURCE(13731, 20)
(void) Beam←P3624((word) &u←v17568, v←v16052, i0←v16080, (word) (( (bPt) formal←c59708)+92));
SOURCE(13753, 17)
{
W2 var←c52412;
{
word x521;
word x522;
*(float*)&var←c52412.f0 = (
x521 = p←v16024.f0, *(float*)&x521
) + (
x522 = u←v17568.f0, *(float*)&x522
);
};
{
word x523;
word x524;
*(float*)&var←c52412.f1 = (
x523 = p←v16024.f1, *(float*)&x523
) + (
x524 = u←v17568.f1, *(float*)&x524
);
};
{
word pd525;
pd525 = (* (( (ptr) formal←c59708)+8) );
(void) ( *( (fPt) ((* (ptr) pd525 ))))(var←c52412, pd525);
};
};
SOURCE(13772, 17)
{
W2 var←c52444;
{
word x526;
word x527;
*(float*)&var←c52444.f0 = (
x526 = p←v16024.f0, *(float*)&x526
) - (
x527 = u←v17568.f0, *(float*)&x527
);
};
{
word x528;
word x529;
*(float*)&var←c52444.f1 = (
x528 = p←v16024.f1, *(float*)&x528
) - (
x529 = u←v17568.f1, *(float*)&x529
);
};
{
word pd530;
pd530 = (* (( (ptr) formal←c59708)+8) );
(void) ( *( (fPt) ((* (ptr) pd530 ))))(var←c52444, pd530);
};
};
};
};
};
SOURCE(13794, 23)
{
W2 var←c52476;
{
W2 var←c52508;
W2 v2←v40104;
{
word limit531;
v2←v40104 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59708)+5) ))+6))+(
limit531 = (* (( (ptr) (* (( (ptr) formal←c59708)+5) ))+5) ),
BCK(i1←v16108, limit531)
)) );
};
SOURCE(1675, 31)
{
word x532;
word x533;
*(float*)&var←c52508.f0 = (
x532 = p←v16024.f0, *(float*)&x532
) + (
x533 = v2←v40104.f0, *(float*)&x533
);
};
{
word x534;
word x535;
*(float*)&var←c52508.f1 = (
x534 = p←v16024.f1, *(float*)&x534
) + (
x535 = v2←v40104.f1, *(float*)&x535
);
};
var←c52476 = var←c52508;
};
{
word pd536;
pd536 = (* (( (ptr) formal←c59708)+8) );
(void) ( *( (fPt) ((* (ptr) pd536 ))))(var←c52476, pd536);
};
};
}
static void RoundJoint←P3744(p←v16168, v0←v16196, v1←v16224, i0←v16252, i1←v16280, formal←c59740)
W2 p←v16168;
W2 v0←v16196;
W2 v1←v16224;
word i0←v16252;
word i1←v16280;
word formal←c59740;
{
formal←c59740 = (formal←c59740 - 76);
/* RoundJoint: */
SOURCE(13822, 134)
SOURCE(13886, 70)
lab←L100099: ;
if ((i0←v16252 != i1←v16280)) {
}
else {
goto lab←L100097;
};
SOURCE(13903, 28)
{
word var←c52572;
word c←v43552;
word mod←v43584;
mod←v43584 = (* (( (ptr) (* (( (ptr) formal←c59740)+5) ))+5) );
{
word var←c0949;
SOURCE(2143, 38)
c←v43552 = SGNCK((i0←v16252 + 1));
var←c0949 = c←v43552;
if ((var←c0949 >= mod←v43584)) {
SOURCE(2170, 11)
c←v43552 = (c←v43552 - mod←v43584);
};
SOURCE(2080, 101)
var←c52572 = c←v43552;
};
i0←v16252 = var←c52572;
};
SOURCE(13933, 23)
{
W2 var←c52604;
{
W2 var←c52636;
W2 v2←v40056;
{
word limit537;
v2←v40056 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59740)+5) ))+6))+(
limit537 = (* (( (ptr) (* (( (ptr) formal←c59740)+5) ))+5) ),
BCK(i0←v16252, limit537)
)) );
};
SOURCE(1675, 31)
{
word x538;
word x539;
*(float*)&var←c52636.f0 = (
x538 = p←v16168.f0, *(float*)&x538
) + (
x539 = v2←v40056.f0, *(float*)&x539
);
};
{
word x540;
word x541;
*(float*)&var←c52636.f1 = (
x540 = p←v16168.f1, *(float*)&x540
) + (
x541 = v2←v40056.f1, *(float*)&x541
);
};
var←c52604 = var←c52636;
};
{
word pd542;
pd542 = (* (( (ptr) formal←c59740)+8) );
(void) ( *( (fPt) ((* (ptr) pd542 ))))(var←c52604, pd542);
};
};
goto lab←L100099;
lab←L100097: ;
}
static void BevelJoint←P3804(p←v16340, v0←v16368, v1←v16396, i0←v16424, i1←v16452, formal←c59772)
W2 p←v16340;
W2 v0←v16368;
W2 v1←v16396;
word i0←v16424;
word i1←v16452;
word formal←c59772;
{
formal←c59772 = (formal←c59772 - 68);
/* BevelJoint: */
SOURCE(13970, 447)
SOURCE(14034, 355)
{
word x543;
word x544;
word x545;
word x546;
word x547;
word x548;
word x549;
word x550;
if ( ( (((
x543 = v0←v16368.f0, *(float*)&x543
) != (
x544 = (* (ptr) &fc34 ), *(float*)&x544
)) || ((
x545 = v0←v16368.f1, *(float*)&x545
) != (
x546 = (* (ptr) &fc34 ), *(float*)&x546
))) ? ( ((
x547 = v1←v16396.f0, *(float*)&x547
) != (
x548 = (* (ptr) &fc34 ), *(float*)&x548
)) ? 1 : ((
x549 = v1←v16396.f1, *(float*)&x549
) != (
x550 = (* (ptr) &fc34 ), *(float*)&x550
)) ) : 0 ) ) {
SOURCE(14089, 302)
{
W2 beam0←v17612;
W2 beam1←v17640;
SOURCE(14091, 25)
(void) Beam←P3624((word) &beam0←v17612, v0←v16368, i0←v16424, (word) (( (bPt) formal←c59772)+92));
SOURCE(14118, 25)
(void) Beam←P3624((word) &beam1←v17640, v1←v16396, i1←v16452, (word) (( (bPt) formal←c59772)+92));
SOURCE(14145, 21)
{
W2 var←c52700;
{
word x551;
word x552;
*(float*)&var←c52700.f0 = (
x551 = p←v16340.f0, *(float*)&x551
) + (
x552 = beam0←v17612.f0, *(float*)&x552
);
};
{
word x553;
word x554;
*(float*)&var←c52700.f1 = (
x553 = p←v16340.f1, *(float*)&x553
) + (
x554 = beam0←v17612.f1, *(float*)&x554
);
};
{
word pd555;
pd555 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd555 ))))(var←c52700, pd555);
};
};
SOURCE(14168, 21)
{
W2 var←c52732;
{
word x556;
word x557;
*(float*)&var←c52732.f0 = (
x556 = p←v16340.f0, *(float*)&x556
) - (
x557 = beam0←v17612.f0, *(float*)&x557
);
};
{
word x558;
word x559;
*(float*)&var←c52732.f1 = (
x558 = p←v16340.f1, *(float*)&x558
) - (
x559 = beam0←v17612.f1, *(float*)&x559
);
};
{
word pd560;
pd560 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd560 ))))(var←c52732, pd560);
};
};
SOURCE(14191, 23)
{
W2 var←c52764;
{
W2 var←c52796;
W2 v2←v41860;
{
word limit561;
v2←v41860 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59772)+5) ))+6))+(
limit561 = (* (( (ptr) (* (( (ptr) formal←c59772)+5) ))+5) ),
BCK(i0←v16424, limit561)
)) );
};
SOURCE(1759, 31)
{
word x562;
word x563;
*(float*)&var←c52796.f0 = (
x562 = p←v16340.f0, *(float*)&x562
) - (
x563 = v2←v41860.f0, *(float*)&x563
);
};
{
word x564;
word x565;
*(float*)&var←c52796.f1 = (
x564 = p←v16340.f1, *(float*)&x564
) - (
x565 = v2←v41860.f1, *(float*)&x565
);
};
var←c52764 = var←c52796;
};
{
word pd566;
pd566 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd566 ))))(var←c52764, pd566);
};
};
SOURCE(14216, 9)
{
word pd567;
pd567 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd567 ))))(p←v16340, pd567);
};
SOURCE(14227, 21)
{
W2 var←c52860;
{
word x568;
word x569;
*(float*)&var←c52860.f0 = (
x568 = p←v16340.f0, *(float*)&x568
) + (
x569 = beam1←v17640.f0, *(float*)&x569
);
};
{
word x570;
word x571;
*(float*)&var←c52860.f1 = (
x570 = p←v16340.f1, *(float*)&x570
) + (
x571 = beam1←v17640.f1, *(float*)&x571
);
};
{
word pd572;
pd572 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd572 ))))(var←c52860, pd572);
};
};
SOURCE(14250, 23)
{
W2 var←c52892;
{
W2 var←c52924;
W2 v2←v40008;
{
word limit573;
v2←v40008 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59772)+5) ))+6))+(
limit573 = (* (( (ptr) (* (( (ptr) formal←c59772)+5) ))+5) ),
BCK(i1←v16452, limit573)
)) );
};
SOURCE(1675, 31)
{
word x574;
word x575;
*(float*)&var←c52924.f0 = (
x574 = p←v16340.f0, *(float*)&x574
) + (
x575 = v2←v40008.f0, *(float*)&x575
);
};
{
word x576;
word x577;
*(float*)&var←c52924.f1 = (
x576 = p←v16340.f1, *(float*)&x576
) + (
x577 = v2←v40008.f1, *(float*)&x577
);
};
var←c52892 = var←c52924;
};
{
word pd578;
pd578 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd578 ))))(var←c52892, pd578);
};
};
SOURCE(14275, 23)
{
W2 var←c52988;
{
W2 var←c53020;
W2 v2←v41812;
{
word limit579;
v2←v41812 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59772)+5) ))+6))+(
limit579 = (* (( (ptr) (* (( (ptr) formal←c59772)+5) ))+5) ),
BCK(i1←v16452, limit579)
)) );
};
SOURCE(1759, 31)
{
word x580;
word x581;
*(float*)&var←c53020.f0 = (
x580 = p←v16340.f0, *(float*)&x580
) - (
x581 = v2←v41812.f0, *(float*)&x581
);
};
{
word x582;
word x583;
*(float*)&var←c53020.f1 = (
x582 = p←v16340.f1, *(float*)&x582
) - (
x583 = v2←v41812.f1, *(float*)&x583
);
};
var←c52988 = var←c53020;
};
{
word pd584;
pd584 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd584 ))))(var←c52988, pd584);
};
};
SOURCE(14300, 21)
{
W2 var←c53084;
{
word x585;
word x586;
*(float*)&var←c53084.f0 = (
x585 = p←v16340.f0, *(float*)&x585
) - (
x586 = beam1←v17640.f0, *(float*)&x586
);
};
{
word x587;
word x588;
*(float*)&var←c53084.f1 = (
x587 = p←v16340.f1, *(float*)&x587
) - (
x588 = beam1←v17640.f1, *(float*)&x588
);
};
{
word pd589;
pd589 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd589 ))))(var←c53084, pd589);
};
};
SOURCE(14323, 9)
{
word pd590;
pd590 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd590 ))))(p←v16340, pd590);
};
SOURCE(14334, 21)
{
W2 var←c53116;
{
word x591;
word x592;
*(float*)&var←c53116.f0 = (
x591 = p←v16340.f0, *(float*)&x591
) + (
x592 = beam0←v17612.f0, *(float*)&x592
);
};
{
word x593;
word x594;
*(float*)&var←c53116.f1 = (
x593 = p←v16340.f1, *(float*)&x593
) + (
x594 = beam0←v17612.f1, *(float*)&x594
);
};
{
word pd595;
pd595 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd595 ))))(var←c53116, pd595);
};
};
SOURCE(14357, 21)
{
W2 var←c53148;
{
word x596;
word x597;
*(float*)&var←c53148.f0 = (
x596 = p←v16340.f0, *(float*)&x596
) + (
x597 = beam1←v17640.f0, *(float*)&x597
);
};
{
word x598;
word x599;
*(float*)&var←c53148.f1 = (
x598 = p←v16340.f1, *(float*)&x598
) + (
x599 = beam1←v17640.f1, *(float*)&x599
);
};
{
word pd600;
pd600 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd600 ))))(var←c53148, pd600);
};
};
SOURCE(14380, 9)
{
word pd601;
pd601 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd601 ))))(p←v16340, pd601);
};
};
};
};
SOURCE(14394, 23)
{
W2 var←c53180;
{
W2 var←c53212;
W2 v2←v39960;
{
word limit602;
v2←v39960 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59772)+5) ))+6))+(
limit602 = (* (( (ptr) (* (( (ptr) formal←c59772)+5) ))+5) ),
BCK(i1←v16452, limit602)
)) );
};
SOURCE(1675, 31)
{
word x603;
word x604;
*(float*)&var←c53212.f0 = (
x603 = p←v16340.f0, *(float*)&x603
) + (
x604 = v2←v39960.f0, *(float*)&x604
);
};
{
word x605;
word x606;
*(float*)&var←c53212.f1 = (
x605 = p←v16340.f1, *(float*)&x605
) + (
x606 = v2←v39960.f1, *(float*)&x606
);
};
var←c53180 = var←c53212;
};
{
word pd607;
pd607 = (* (( (ptr) formal←c59772)+8) );
(void) ( *( (fPt) ((* (ptr) pd607 ))))(var←c53180, pd607);
};
};
}
static void MiterJoint←P3864(p←v16512, v0←v16540, v1←v16568, i0←v16596, i1←v16624, formal←c59836)
W2 p←v16512;
W2 v0←v16540;
W2 v1←v16568;
word i0←v16596;
word i1←v16624;
word formal←c59836;
{
register ptr gf←c59804 = (ptr) &globalframe;
W2 u←v17684;
word d←v17712;
word a←v17740;
formal←c59836 = (formal←c59836 - 60);
/* MiterJoint: */
SOURCE(14422, 278)
SOURCE(14486, 30)
{
W2 v1←v41736;
W2 v2←v41764;
{
word limit608;
v1←v41736 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59836)+5) ))+6))+(
limit608 = (* (( (ptr) (* (( (ptr) formal←c59836)+5) ))+5) ),
BCK(i1←v16624, limit608)
)) );
};
{
word limit609;
v2←v41764 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59836)+5) ))+6))+(
limit609 = (* (( (ptr) (* (( (ptr) formal←c59836)+5) ))+5) ),
BCK(i0←v16596, limit609)
)) );
};
SOURCE(1759, 31)
{
word x610;
word x611;
*(float*)&u←v17684.f0 = (
x610 = v1←v41736.f0, *(float*)&x610
) - (
x611 = v2←v41764.f0, *(float*)&x611
);
};
{
word x612;
word x613;
*(float*)&u←v17684.f1 = (
x612 = v1←v41736.f1, *(float*)&x612
) - (
x613 = v2←v41764.f1, *(float*)&x613
);
};
};
SOURCE(14518, 37)
{
word x614;
word x615;
word x616;
word x617;
*(float*)&d←v17712 = ((
x614 = v0←v16540.f0, *(float*)&x614
) * (
x615 = v1←v16568.f1, *(float*)&x615
)) - ((
x616 = v0←v16540.f1, *(float*)&x616
) * (
x617 = v1←v16568.f0, *(float*)&x617
));
};
SOURCE(14557, 68)
{
word x618;
word x619;
word x620;
word x621;
word x622;
word x623;
word x624;
*(float*)&a←v17740 = (((
x618 = u←v17684.f0, *(float*)&x618
) * (
x619 = v1←v16568.f1, *(float*)&x619
)) - ((
x620 = u←v17684.f1, *(float*)&x620
) * (
x621 = v1←v16568.f0, *(float*)&x621
))) / (
x624 = ( ((
x622 = d←v17712, *(float*)&x622
) > (
x623 = (* (( (ptr) gf←c59804)+5)/* verySmallNumber←v4176 */ ), *(float*)&x623
)) ? d←v17712 : (* (( (ptr) gf←c59804)+5)/* verySmallNumber←v4176 */ ) ) , *(float*)&x624
);
};
SOURCE(14627, 48)
{
W2 var←c53340;
{
W2 var←c53372;
W2 v1←v39808;
W2 v2←v39836;
v1←v39808 = p←v16512;
{
W2 v1←v39884;
W2 v2←v39912;
{
word limit625;
v1←v39884 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59836)+5) ))+6))+(
limit625 = (* (( (ptr) (* (( (ptr) formal←c59836)+5) ))+5) ),
BCK(i0←v16596, limit625)
)) );
};
{
word pd626;
pd626 = (* (( (ptr) (* (( (ptr) gf←c59804)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd626 ))))((word) &v2←v39912, v0←v16540, a←v17740, pd626);
};
SOURCE(1675, 31)
{
word x627;
word x628;
*(float*)&v2←v39836.f0 = (
x627 = v1←v39884.f0, *(float*)&x627
) + (
x628 = v2←v39912.f0, *(float*)&x628
);
};
{
word x629;
word x630;
*(float*)&v2←v39836.f1 = (
x629 = v1←v39884.f1, *(float*)&x629
) + (
x630 = v2←v39912.f1, *(float*)&x630
);
};
};
SOURCE(1675, 31)
{
word x631;
word x632;
*(float*)&var←c53372.f0 = (
x631 = v1←v39808.f0, *(float*)&x631
) + (
x632 = v2←v39836.f0, *(float*)&x632
);
};
{
word x633;
word x634;
*(float*)&var←c53372.f1 = (
x633 = v1←v39808.f1, *(float*)&x633
) + (
x634 = v2←v39836.f1, *(float*)&x634
);
};
var←c53340 = var←c53372;
};
{
word pd635;
pd635 = (* (( (ptr) formal←c59836)+8) );
(void) ( *( (fPt) ((* (ptr) pd635 ))))(var←c53340, pd635);
};
};
SOURCE(14677, 23)
{
W2 var←c53500;
{
W2 var←c53532;
W2 v2←v39760;
{
word limit636;
v2←v39760 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59836)+5) ))+6))+(
limit636 = (* (( (ptr) (* (( (ptr) formal←c59836)+5) ))+5) ),
BCK(i1←v16624, limit636)
)) );
};
SOURCE(1675, 31)
{
word x637;
word x638;
*(float*)&var←c53532.f0 = (
x637 = p←v16512.f0, *(float*)&x637
) + (
x638 = v2←v39760.f0, *(float*)&x638
);
};
{
word x639;
word x640;
*(float*)&var←c53532.f1 = (
x639 = p←v16512.f1, *(float*)&x639
) + (
x640 = v2←v39760.f1, *(float*)&x640
);
};
var←c53500 = var←c53532;
};
{
word pd641;
pd641 = (* (( (ptr) formal←c59836)+8) );
(void) ( *( (fPt) ((* (ptr) pd641 ))))(var←c53500, pd641);
};
};
}
static void MiterOrBevelJoint←P3924(p←v16684, v0←v16712, v1←v16740, i0←v16768, i1←v16796, formal←c59900)
W2 p←v16684;
W2 v0←v16712;
W2 v1←v16740;
word i0←v16768;
word i1←v16796;
word formal←c59900;
{
register ptr gf←c59868 = (ptr) &globalframe;
W2 u←v17784;
word d←v17812;
word a←v17840;
W2 miterTipDelta←v17868;
word var←c53724;
word x←v44948;
word y←v44976;
word var←c0950;
formal←c59900 = (formal←c59900 - 52);
/* MiterOrBevelJoint: */
SOURCE(14705, 485)
SOURCE(14776, 30)
{
W2 v1←v41660;
W2 v2←v41688;
{
word limit642;
v1←v41660 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59900)+5) ))+6))+(
limit642 = (* (( (ptr) (* (( (ptr) formal←c59900)+5) ))+5) ),
BCK(i1←v16796, limit642)
)) );
};
{
word limit643;
v2←v41688 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59900)+5) ))+6))+(
limit643 = (* (( (ptr) (* (( (ptr) formal←c59900)+5) ))+5) ),
BCK(i0←v16768, limit643)
)) );
};
SOURCE(1759, 31)
{
word x644;
word x645;
*(float*)&u←v17784.f0 = (
x644 = v1←v41660.f0, *(float*)&x644
) - (
x645 = v2←v41688.f0, *(float*)&x645
);
};
{
word x646;
word x647;
*(float*)&u←v17784.f1 = (
x646 = v1←v41660.f1, *(float*)&x646
) - (
x647 = v2←v41688.f1, *(float*)&x647
);
};
};
SOURCE(14808, 37)
{
word x648;
word x649;
word x650;
word x651;
*(float*)&d←v17812 = ((
x648 = v0←v16712.f0, *(float*)&x648
) * (
x649 = v1←v16740.f1, *(float*)&x649
)) - ((
x650 = v0←v16712.f1, *(float*)&x650
) * (
x651 = v1←v16740.f0, *(float*)&x651
));
};
SOURCE(14847, 68)
{
word x652;
word x653;
word x654;
word x655;
word x656;
word x657;
word x658;
*(float*)&a←v17840 = (((
x652 = u←v17784.f0, *(float*)&x652
) * (
x653 = v1←v16740.f1, *(float*)&x653
)) - ((
x654 = u←v17784.f1, *(float*)&x654
) * (
x655 = v1←v16740.f0, *(float*)&x655
))) / (
x658 = ( ((
x656 = d←v17812, *(float*)&x656
) > (
x657 = (* (( (ptr) gf←c59868)+5)/* verySmallNumber←v4176 */ ), *(float*)&x657
)) ? d←v17812 : (* (( (ptr) gf←c59868)+5)/* verySmallNumber←v4176 */ ) ) , *(float*)&x658
);
};
SOURCE(14917, 53)
{
W2 v1←v39684;
W2 v2←v39712;
{
word limit659;
v1←v39684 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59900)+5) ))+6))+(
limit659 = (* (( (ptr) (* (( (ptr) formal←c59900)+5) ))+5) ),
BCK(i0←v16768, limit659)
)) );
};
{
word pd660;
pd660 = (* (( (ptr) (* (( (ptr) gf←c59868)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd660 ))))((word) &v2←v39712, v0←v16712, a←v17840, pd660);
};
SOURCE(1675, 31)
{
word x661;
word x662;
*(float*)&miterTipDelta←v17868.f0 = (
x661 = v1←v39684.f0, *(float*)&x661
) + (
x662 = v2←v39712.f0, *(float*)&x662
);
};
{
word x663;
word x664;
*(float*)&miterTipDelta←v17868.f1 = (
x663 = v1←v39684.f1, *(float*)&x663
) + (
x664 = v2←v39712.f1, *(float*)&x664
);
};
};
SOURCE(14972, 218)
{
word x674;
word x675;
{
word pd665;
word limit666;
pd665 = (* (( (ptr) (* (( (ptr) gf←c59868)+82)/* var←c52156 */ ))+24) );
x←v44948 = (word) ( *( (fPt) ((* (ptr) pd665 ))))((* ((( (W2Pt) (( (ptr) (* (( (ptr) formal←c59900)+5) ))+6))+(
limit666 = (* (( (ptr) (* (( (ptr) formal←c59900)+5) ))+5) ),
BCK(i0←v16768, limit666)
))) ), pd665);
};
{
word pd667;
word limit668;
pd667 = (* (( (ptr) (* (( (ptr) gf←c59868)+82)/* var←c52156 */ ))+24) );
y←v44976 = (word) ( *( (fPt) ((* (ptr) pd667 ))))((* ((( (W2Pt) (( (ptr) (* (( (ptr) formal←c59900)+5) ))+6))+(
limit668 = (* (( (ptr) (* (( (ptr) formal←c59900)+5) ))+5) ),
BCK(i1←v16796, limit668)
))) ), pd667);
};
{
word x669;
word x670;
var←c53724 = (x669 = ( (((unsigned)x←v44948 << 1) >> 1) ),
x670 = ( (((unsigned)y←v44976 << 1) >> 1) ),
MIN( (unsigned) , x669, x670));
};
{
word pd671;
word x672;
word x673;
pd671 = (* (( (ptr) (* (( (ptr) gf←c59868)+82)/* var←c52156 */ ))+24) );
*(float*)&var←c0950 = (
x672 = (word) ( *( (fPt) ((* (ptr) pd671 ))))(miterTipDelta←v17868, pd671), *(float*)&x672
) / (
x673 = var←c53724, *(float*)&x673
);
};
if (((
x674 = (* (( (ptr) formal←c59900)+10) ), *(float*)&x674
) < (
x675 = var←c0950, *(float*)&x675
))) {
SOURCE(15095, 31)
(void) BevelJoint←P3804(p←v16684, v0←v16712, v1←v16740, i0←v16768, i1←v16796, (word) (( (bPt) formal←c59900)+68));
}
else {
SOURCE(15135, 29)
{
W2 var←c53756;
{
word x676;
word x677;
*(float*)&var←c53756.f0 = (
x676 = p←v16684.f0, *(float*)&x676
) + (
x677 = miterTipDelta←v17868.f0, *(float*)&x677
);
};
{
word x678;
word x679;
*(float*)&var←c53756.f1 = (
x678 = p←v16684.f1, *(float*)&x678
) + (
x679 = miterTipDelta←v17868.f1, *(float*)&x679
);
};
{
word pd680;
pd680 = (* (( (ptr) formal←c59900)+8) );
(void) ( *( (fPt) ((* (ptr) pd680 ))))(var←c53756, pd680);
};
};
SOURCE(15166, 24)
{
W2 var←c53788;
{
W2 var←c53820;
W2 v2←v39636;
{
word limit681;
v2←v39636 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c59900)+5) ))+6))+(
limit681 = (* (( (ptr) (* (( (ptr) formal←c59900)+5) ))+5) ),
BCK(i1←v16796, limit681)
)) );
};
SOURCE(1675, 31)
{
word x682;
word x683;
*(float*)&var←c53820.f0 = (
x682 = p←v16684.f0, *(float*)&x682
) + (
x683 = v2←v39636.f0, *(float*)&x683
);
};
{
word x684;
word x685;
*(float*)&var←c53820.f1 = (
x684 = p←v16684.f1, *(float*)&x684
) + (
x685 = v2←v39636.f1, *(float*)&x685
);
};
var←c53788 = var←c53820;
};
{
word pd686;
pd686 = (* (( (ptr) formal←c59900)+8) );
(void) ( *( (fPt) ((* (ptr) pd686 ))))(var←c53788, pd686);
};
};
};
};
}
static void Path←P3984(moveTo←v16856, lineTo←v16884, curveTo←v16912, conicTo←v16940, arcTo←v16968, formal←c59964)
word moveTo←v16856;
word lineTo←v16884;
word curveTo←v16912;
word conicTo←v16940;
word arcTo←v16968;
word formal←c59964;
{
register ptr gf←c59932 = (ptr) &globalframe;
formal←c59964 = (formal←c59964 - 44);
/* Path: */
SOURCE(15196, 271)
SOURCE(15315, 152)
{
word pd687;
pd687 = (* (( (ptr) (* (( (ptr) gf←c59932)+79)/* var←c51484 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd687 ))))((* (( (ptr) formal←c59964)+4) ), ( ((* (( (ptr) formal←c59964)+9) ) == 0) ? (* (
( (ptr) formal←c59964)+7) ) : (* (( (ptr) formal←c59964)+9) ) ) , moveTo←v16856, lineTo←v16884, curveTo←v16912, conicTo←v16940
, arcTo←v16968, 0, pd687);
};
}
static void PathFromVector←P1200(p0←v8464, p1←v8492, pen←v8520, end←v8548, m←v8576, moveTo←v8604, lineTo←v8632)
W2 p0←v8464;
W2 p1←v8492;
word pen←v8520;
word end←v8548;
word m←v8576;
word moveTo←v8604;
word lineTo←v8632;
{
register ptr gf←c59996 = (ptr) &globalframe;
W2 d0←v17912;
W2 d1←v17940;
/* PathFromVector: */
SOURCE(16215, 1935)
SOURCE(16387, 47)
{
word pd688;
pd688 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd688 ))))((word) &d0←v17912, m←v8576, p0←v8464, pd688);
};
SOURCE(16436, 47)
{
word pd689;
pd689 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd689 ))))((word) &d1←v17940, m←v8576, p1←v8492, pd689);
};
SOURCE(16485, 1665)
if (( (int)end←v8548 == (int)2)) {
SOURCE(16521, 490)
{
W2 direction←v18012;
word ix0←v18040;
word ix1←v18068;
SOURCE(16671, 28)
{
word x690;
word x691;
*(float*)&direction←v18012.f0 = (
x690 = d1←v17940.f0, *(float*)&x690
) - (
x691 = d0←v17912.f0, *(float*)&x691
);
};
{
word x692;
word x693;
*(float*)&direction←v18012.f1 = (
x692 = d1←v17940.f1, *(float*)&x692
) - (
x693 = d0←v17912.f1, *(float*)&x693
);
};
SOURCE(16701, 71)
{
W2 var←c53916;
{
word x694;
*(float*)&var←c53916.f0 = - (
x694 = direction←v18012.f1, *(float*)&x694
);
};
var←c53916.f1 = direction←v18012.f0;
ix0←v18040 = (word) FindVertex←P600(pen←v8520, var←c53916, 0);
};
SOURCE(16774, 109)
{
word var←c53948;
{
word var←c53980;
word c←v43444;
word b←v43476;
word mod←v43504;
b←v43476 = ((* (( (ptr) pen←v8520)+5) ) >> 1);
mod←v43504 = (* (( (ptr) pen←v8520)+5) );
{
word var←c0951;
SOURCE(2143, 38)
c←v43444 = SGNCK((ix0←v18040 + b←v43476));
var←c0951 = c←v43444;
if ((var←c0951 >= mod←v43504)) {
SOURCE(2170, 11)
c←v43444 = (c←v43444 - mod←v43504);
};
SOURCE(2080, 101)
var←c53980 = c←v43444;
};
var←c53948 = var←c53980;
};
{
W2 var←c54012;
var←c54012.f0 = direction←v18012.f1;
{
word x695;
*(float*)&var←c54012.f1 = - (
x695 = direction←v18012.f0, *(float*)&x695
);
};
ix1←v18068 = (word) FindVertex←P600(pen←v8520, var←c54012, var←c53948);
};
};
SOURCE(16885, 25)
{
W2 var←c54044;
{
W2 var←c54076;
W2 v2←v39588;
{
word limit696;
v2←v39588 = (* (( (W2Pt) (( (ptr) pen←v8520)+6))+(
limit696 = (* (( (ptr) pen←v8520)+5) ),
BCK(ix0←v18040, limit696)
)) );
};
SOURCE(1675, 31)
{
word x697;
word x698;
*(float*)&var←c54076.f0 = (
x697 = d0←v17912.f0, *(float*)&x697
) + (
x698 = v2←v39588.f0, *(float*)&x698
);
};
{
word x699;
word x700;
*(float*)&var←c54076.f1 = (
x699 = d0←v17912.f1, *(float*)&x699
) + (
x700 = v2←v39588.f1, *(float*)&x700
);
};
var←c54044 = var←c54076;
};
(void) ( *( (fPt) ((* (ptr) moveTo←v8604 ))))(var←c54044, moveTo←v8604);
};
SOURCE(16912, 35)
{
W2 p←v44328;
W2 v←v44356;
word i0←v44384;
word i1←v44412;
p←v44328 = d0←v17912;
{
word x701;
word x702;
*(float*)&v←v44356.f0 = (
x701 = d0←v17912.f0, *(float*)&x701
) - (
x702 = d1←v17940.f0, *(float*)&x702
);
};
{
word x703;
word x704;
*(float*)&v←v44356.f1 = (
x703 = d0←v17912.f1, *(float*)&x703
) - (
x704 = d1←v17940.f1, *(float*)&x704
);
};
i0←v44384 = ix0←v18040;
i1←v44412 = ix1←v18068;
SOURCE(16587, 70)
lab←L100118: ;
if ((i0←v44384 != i1←v44412)) {
}
else {
goto lab←L100116;
};
SOURCE(16604, 28)
{
word var←c54172;
word c←v43364;
word mod←v43396;
mod←v43396 = (* (( (ptr) pen←v8520)+5) );
{
word var←c0952;
SOURCE(2143, 38)
c←v43364 = SGNCK((i0←v44384 + 1));
var←c0952 = c←v43364;
if ((var←c0952 >= mod←v43396)) {
SOURCE(2170, 11)
c←v43364 = (c←v43364 - mod←v43396);
};
SOURCE(2080, 101)
var←c54172 = c←v43364;
};
i0←v44384 = var←c54172;
};
SOURCE(16634, 23)
{
W2 var←c54204;
{
W2 var←c54236;
W2 v2←v39492;
{
word limit705;
v2←v39492 = (* (( (W2Pt) (( (ptr) pen←v8520)+6))+(
limit705 = (* (( (ptr) pen←v8520)+5) ),
BCK(i0←v44384, limit705)
)) );
};
SOURCE(1675, 31)
{
word x706;
word x707;
*(float*)&var←c54236.f0 = (
x706 = p←v44328.f0, *(float*)&x706
) + (
x707 = v2←v39492.f0, *(float*)&x707
);
};
{
word x708;
word x709;
*(float*)&var←c54236.f1 = (
x708 = p←v44328.f1, *(float*)&x708
) + (
x709 = v2←v39492.f1, *(float*)&x709
);
};
var←c54204 = var←c54236;
};
(void) ( *( (fPt) ((* (ptr) lineTo←v8632 ))))(var←c54204, lineTo←v8632);
};
goto lab←L100118;
lab←L100116: ;
};
SOURCE(16949, 25)
{
W2 var←c54300;
{
W2 var←c54332;
W2 v2←v39540;
{
word limit710;
v2←v39540 = (* (( (W2Pt) (( (ptr) pen←v8520)+6))+(
limit710 = (* (( (ptr) pen←v8520)+5) ),
BCK(ix1←v18068, limit710)
)) );
};
SOURCE(1675, 31)
{
word x711;
word x712;
*(float*)&var←c54332.f0 = (
x711 = d1←v17940.f0, *(float*)&x711
) + (
x712 = v2←v39540.f0, *(float*)&x712
);
};
{
word x713;
word x714;
*(float*)&var←c54332.f1 = (
x713 = d1←v17940.f1, *(float*)&x713
) + (
x714 = v2←v39540.f1, *(float*)&x714
);
};
var←c54300 = var←c54332;
};
(void) ( *( (fPt) ((* (ptr) lineTo←v8632 ))))(var←c54300, lineTo←v8632);
};
SOURCE(16976, 33)
{
W2 p←v44080;
W2 v←v44108;
word i0←v44136;
word i1←v44164;
p←v44080 = d1←v17940;
v←v44108 = direction←v18012;
i0←v44136 = ix1←v18068;
i1←v44164 = ix0←v18040;
SOURCE(16587, 70)
lab←L100124: ;
if ((i0←v44136 != i1←v44164)) {
}
else {
goto lab←L100122;
};
SOURCE(16604, 28)
{
word var←c54396;
word c←v44212;
word mod←v44240;
mod←v44240 = (* (( (ptr) pen←v8520)+5) );
{
word var←c0953;
SOURCE(2143, 38)
c←v44212 = SGNCK((i0←v44136 + 1));
var←c0953 = c←v44212;
if ((var←c0953 >= mod←v44240)) {
SOURCE(2170, 11)
c←v44212 = (c←v44212 - mod←v44240);
};
SOURCE(2080, 101)
var←c54396 = c←v44212;
};
i0←v44136 = var←c54396;
};
SOURCE(16634, 23)
{
W2 var←c54428;
{
W2 var←c54460;
W2 v2←v44284;
{
word limit715;
v2←v44284 = (* (( (W2Pt) (( (ptr) pen←v8520)+6))+(
limit715 = (* (( (ptr) pen←v8520)+5) ),
BCK(i0←v44136, limit715)
)) );
};
SOURCE(1675, 31)
{
word x716;
word x717;
*(float*)&var←c54460.f0 = (
x716 = p←v44080.f0, *(float*)&x716
) + (
x717 = v2←v44284.f0, *(float*)&x717
);
};
{
word x718;
word x719;
*(float*)&var←c54460.f1 = (
x718 = p←v44080.f1, *(float*)&x718
) + (
x719 = v2←v44284.f1, *(float*)&x719
);
};
var←c54428 = var←c54460;
};
(void) ( *( (fPt) ((* (ptr) lineTo←v8632 ))))(var←c54428, lineTo←v8632);
};
goto lab←L100124;
lab←L100122: ;
};
};
}
else {
SOURCE(17018, 1134)
{
W2 min←v18256;
W2 max←v18284;
W2 delta←v18312;
word s←v18340;
word t←v18368 = 0;
SOURCE(17020, 29)
min←v18256.f0 = 2139095039;
min←v18256.f1 = 2139095039;
SOURCE(17051, 31)
{
word x720;
*(float*)&max←v18284.f0 = - (
x720 = 2139095039, *(float*)&x720
);
};
{
word x721;
*(float*)&max←v18284.f1 = - (
x721 = 2139095039, *(float*)&x721
);
};
SOURCE(17084, 24)
{
word x722;
word x723;
*(float*)&delta←v18312.f0 = (
x722 = p1←v8492.f0, *(float*)&x722
) - (
x723 = p0←v8464.f0, *(float*)&x723
);
};
{
word x724;
word x725;
*(float*)&delta←v18312.f1 = (
x724 = p1←v8492.f1, *(float*)&x724
) - (
x725 = p0←v8464.f1, *(float*)&x725
);
};
SOURCE(17110, 57)
{
word x726;
word x727;
*(float*)&s←v18340 = (
x726 = ( (((unsigned)delta←v18312.f0 << 1) >> 1) ), *(float*)&x726
) + (
x727 = ( (((unsigned)delta←v18312.f1 << 1) >> 1) ), *(float*)&x727
);
};
SOURCE(17194, 314)
{
word x728;
word x729;
if (((
x728 = s←v18340, *(float*)&x728
) == (
x729 = (* (ptr) &fc34 ), *(float*)&x729
))) {
SOURCE(17210, 76)
if (( (int)end←v8548 == (int) (word) -1)) {
SOURCE(17254, 32)
(void) SignalSquareEndWithNoDirection←P1080();
};
SOURCE(17288, 6)
return;
}
else {
SOURCE(17303, 207)
{
word cos←v18412;
word sin←v18440;
SOURCE(17305, 21)
{
word x730;
word x731;
*(float*)&cos←v18412 = (
x730 = delta←v18312.f0, *(float*)&x730
) / (
x731 = s←v18340, *(float*)&x731
);
};
SOURCE(17328, 21)
{
word x732;
word x733;
*(float*)&sin←v18440 = (
x732 = delta←v18312.f1, *(float*)&x732
) / (
x733 = s←v18340, *(float*)&x733
);
};
SOURCE(17351, 76)
{
word pd734;
word x735;
float tf736;
pd734 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+4) );
t←v18368 = (word) ( *( (fPt) ((* (ptr) pd734 ))))(cos←v18412, (
tf736 = - (
/*1*/ x735 = sin←v18440, *(float*)&x735
/*1*/ ), *(word*)&tf736
), (* (ptr) &fc34 ), sin←v18440, cos←v18412, (* (ptr) &fc34 ), pd734);
};
SOURCE(17429, 42)
{
word pd737;
pd737 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+30) );
(void) ( *( (fPt) ((* (ptr) pd737 ))))(t←v18368, m←v8576, pd737);
};
SOURCE(17473, 35)
{
word pd738;
pd738 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+38) );
(void) ( *( (fPt) ((* (ptr) pd738 ))))(t←v18368, pd738);
};
};
};
};
SOURCE(17513, 216)
{
register word i←v18484 = 0;
register word noName←c54620;
noName←c54620 = (* (( (ptr) pen←v8520)+5) );
if ((i←v18484 >= noName←c54620)) {
goto lab←L100127;
};
lab←L100130: ;
{
W2 p←v18528;
SOURCE(17544, 53)
{
word pd739;
word limit740;
pd739 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd739 ))))((word) &p←v18528, t←v18368, (* (( (W2Pt) (( (ptr) pen←v8520)+6))+(
limit740 = (* (( (ptr) pen←v8520)+5) ),
BCK(i←v18484, limit740)
)) ), pd739);
};
SOURCE(17599, 31)
{
word x741;
word x742;
if (((
x741 = p←v18528.f0, *(float*)&x741
) < (
x742 = min←v18256.f0, *(float*)&x742
))) {
SOURCE(17619, 11)
min←v18256.f0 = p←v18528.f0;
};
};
SOURCE(17632, 31)
{
word x743;
word x744;
if (((
x743 = p←v18528.f0, *(float*)&x743
) > (
x744 = max←v18284.f0, *(float*)&x744
))) {
SOURCE(17652, 11)
max←v18284.f0 = p←v18528.f0;
};
};
SOURCE(17665, 31)
{
word x745;
word x746;
if (((
x745 = p←v18528.f1, *(float*)&x745
) < (
x746 = min←v18256.f1, *(float*)&x746
))) {
SOURCE(17685, 11)
min←v18256.f1 = p←v18528.f1;
};
};
SOURCE(17698, 31)
{
word x747;
word x748;
if (((
x747 = p←v18528.f1, *(float*)&x747
) > (
x748 = max←v18284.f1, *(float*)&x748
))) {
SOURCE(17718, 11)
max←v18284.f1 = p←v18528.f1;
};
};
};
i←v18484 = (i←v18484 + 1);
if ((i←v18484 < noName←c54620)) {
goto lab←L100130;
};
lab←L100127: ;
};
SOURCE(17740, 35)
{
word pd749;
pd749 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+38) );
(void) ( *( (fPt) ((* (ptr) pd749 ))))(t←v18368, pd749);
};
SOURCE(17777, 55)
if (( (int)end←v8548 == (int)1)) {
SOURCE(17814, 18)
{
word var←c54652;
var←c54652 = (* (ptr) &fc34 );
max←v18284.f0 = var←c54652;
min←v18256.f0 = var←c54652;
};
};
SOURCE(17835, 69)
{
W2 var←c54684;
{
W2 var←c54716;
W2 v2←v39444;
{
W2 var←c0575;
{
W2 var←c54748;
var←c54748.f0 = min←v18256.f0;
var←c54748.f1 = max←v18284.f1;
{
word pd750;
pd750 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd750 ))))((word) &var←c0575, t←v18368, var←c54748, pd750);
};
};
v2←v39444 = var←c0575;
};
SOURCE(1675, 31)
{
word x751;
word x752;
*(float*)&var←c54716.f0 = (
x751 = d0←v17912.f0, *(float*)&x751
) + (
x752 = v2←v39444.f0, *(float*)&x752
);
};
{
word x753;
word x754;
*(float*)&var←c54716.f1 = (
x753 = d0←v17912.f1, *(float*)&x753
) + (
x754 = v2←v39444.f1, *(float*)&x754
);
};
var←c54684 = var←c54716;
};
(void) ( *( (fPt) ((* (ptr) moveTo←v8604 ))))(var←c54684, moveTo←v8604);
};
SOURCE(17906, 69)
{
W2 var←c54812;
{
W2 var←c54844;
W2 v2←v39396;
{
W2 var←c0580;
{
W2 var←c54876;
var←c54876.f0 = min←v18256.f0;
var←c54876.f1 = min←v18256.f1;
{
word pd755;
pd755 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd755 ))))((word) &var←c0580, t←v18368, var←c54876, pd755);
};
};
v2←v39396 = var←c0580;
};
SOURCE(1675, 31)
{
word x756;
word x757;
*(float*)&var←c54844.f0 = (
x756 = d0←v17912.f0, *(float*)&x756
) + (
x757 = v2←v39396.f0, *(float*)&x757
);
};
{
word x758;
word x759;
*(float*)&var←c54844.f1 = (
x758 = d0←v17912.f1, *(float*)&x758
) + (
x759 = v2←v39396.f1, *(float*)&x759
);
};
var←c54812 = var←c54844;
};
(void) ( *( (fPt) ((* (ptr) lineTo←v8632 ))))(var←c54812, lineTo←v8632);
};
SOURCE(17977, 69)
{
W2 var←c54940;
{
W2 var←c54972;
W2 v2←v39348;
{
W2 var←c0585;
{
W2 var←c55004;
var←c55004.f0 = max←v18284.f0;
var←c55004.f1 = min←v18256.f1;
{
word pd760;
pd760 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd760 ))))((word) &var←c0585, t←v18368, var←c55004, pd760);
};
};
v2←v39348 = var←c0585;
};
SOURCE(1675, 31)
{
word x761;
word x762;
*(float*)&var←c54972.f0 = (
x761 = d1←v17940.f0, *(float*)&x761
) + (
x762 = v2←v39348.f0, *(float*)&x762
);
};
{
word x763;
word x764;
*(float*)&var←c54972.f1 = (
x763 = d1←v17940.f1, *(float*)&x763
) + (
x764 = v2←v39348.f1, *(float*)&x764
);
};
var←c54940 = var←c54972;
};
(void) ( *( (fPt) ((* (ptr) lineTo←v8632 ))))(var←c54940, lineTo←v8632);
};
SOURCE(18048, 69)
{
W2 var←c55068;
{
W2 var←c55100;
W2 v2←v39300;
{
W2 var←c0590;
{
W2 var←c55132;
var←c55132.f0 = max←v18284.f0;
var←c55132.f1 = max←v18284.f1;
{
word pd765;
pd765 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd765 ))))((word) &var←c0590, t←v18368, var←c55132, pd765);
};
};
v2←v39300 = var←c0590;
};
SOURCE(1675, 31)
{
word x766;
word x767;
*(float*)&var←c55100.f0 = (
x766 = d1←v17940.f0, *(float*)&x766
) + (
x767 = v2←v39300.f0, *(float*)&x767
);
};
{
word x768;
word x769;
*(float*)&var←c55100.f1 = (
x768 = d1←v17940.f1, *(float*)&x768
) + (
x769 = v2←v39300.f1, *(float*)&x769
);
};
var←c55068 = var←c55100;
};
(void) ( *( (fPt) ((* (ptr) lineTo←v8632 ))))(var←c55068, lineTo←v8632);
};
SOURCE(18119, 31)
{
word pd770;
pd770 = (* (( (ptr) (* (( (ptr) gf←c59996)+81)/* var←c52092 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd770 ))))(t←v18368, pd770);
};
};
};
}
static void AverageSpeed←P1260(formal←c0623, p←v8764)
word formal←c0623;
W8 p←v8764;
{
register ptr gf←c60028 = (ptr) &globalframe;
W2 var←c8808;
word nReal←v18572;
word min←v18600 = 2139095039;
word max←v18628;
W6 delta←v18656;
/* AverageSpeed: */
SOURCE(18233, 648)
SOURCE(18294, 18)
{
float tf771;
nReal←v18572 = (
tf771 = (float)(unsigned)(* (( (ptr) gf←c60028)+6)/* nPts←v4288 */ ), *(word*)&tf771
);
};
SOURCE(18335, 13)
max←v18628 = (* (ptr) &fc34 );
SOURCE(18350, 80)
{
W2 v1←v41584;
W2 v2←v41612;
v1←v41584 = (* (W2Pt) (( (ptr) &p←v8764)+2) );
v2←v41612 = (* (W2Pt) &p←v8764 );
SOURCE(1759, 31)
{
word x772;
word x773;
*(float*)&delta←v18656.f0 = (
x772 = v1←v41584.f0, *(float*)&x772
) - (
x773 = v2←v41612.f0, *(float*)&x773
);
};
{
word x774;
word x775;
*(float*)&delta←v18656.f1 = (
x774 = v1←v41584.f1, *(float*)&x774
) - (
x775 = v2←v41612.f1, *(float*)&x775
);
};
};
{
W2 v1←v41508;
W2 v2←v41536;
v1←v41508 = (* (W2Pt) (( (ptr) &p←v8764)+4) );
v2←v41536 = (* (W2Pt) (( (ptr) &p←v8764)+2) );
SOURCE(1759, 31)
{
word x776;
word x777;
*(float*)&delta←v18656.f2 = (
x776 = v1←v41508.f0, *(float*)&x776
) - (
x777 = v2←v41536.f0, *(float*)&x777
);
};
{
word x778;
word x779;
*(float*)&delta←v18656.f3 = (
x778 = v1←v41508.f1, *(float*)&x778
) - (
x779 = v2←v41536.f1, *(float*)&x779
);
};
};
{
W2 v1←v41432;
W2 v2←v41460;
v1←v41432 = (* (W2Pt) (( (ptr) &p←v8764)+6) );
v2←v41460 = (* (W2Pt) (( (ptr) &p←v8764)+4) );
SOURCE(1759, 31)
{
word x780;
word x781;
*(float*)&delta←v18656.f4 = (
x780 = v1←v41432.f0, *(float*)&x780
) - (
x781 = v2←v41460.f0, *(float*)&x781
);
};
{
word x782;
word x783;
*(float*)&delta←v18656.f5 = (
x782 = v1←v41432.f1, *(float*)&x782
) - (
x783 = v2←v41460.f1, *(float*)&x783
);
};
};
SOURCE(18432, 348)
{
register word i←v18736 = 0;
register word noName←c55516;
noName←c55516 = (* (( (ptr) gf←c60028)+6)/* nPts←v4288 */ );
if ((i←v18736 > noName←c55516)) {
goto lab←L100139;
};
lab←L100142: ;
{
word t←v18780;
word s←v18808;
W2 d01←v18836;
W2 d12←v18864;
W2 d012←v18892;
word sqr←v18920;
SOURCE(18459, 17)
{
word x784;
*(float*)&t←v18780 = (float)(unsigned)i←v18736 / (
x784 = nReal←v18572, *(float*)&x784
);
};
SOURCE(18478, 15)
{
word x785;
word x786;
*(float*)&s←v18808 = (
x785 = (* (ptr) &fc20 ), *(float*)&x785
) - (
x786 = t←v18780, *(float*)&x786
);
};
SOURCE(18495, 66)
{
W2 v1←v39224;
W2 v2←v39252;
{
word pd787;
pd787 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd787 ))))((word) &v1←v39224, (* (W2Pt) &delta←v18656 ), t←v18780, pd787);
};
{
word pd788;
pd788 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd788 ))))((word) &v2←v39252, (* (W2Pt) (( (ptr) &delta←v18656)+2) ), s←v18808, pd788);
};
SOURCE(1675, 31)
{
word x789;
word x790;
*(float*)&d01←v18836.f0 = (
x789 = v1←v39224.f0, *(float*)&x789
) + (
x790 = v2←v39252.f0, *(float*)&x790
);
};
{
word x791;
word x792;
*(float*)&d01←v18836.f1 = (
x791 = v1←v39224.f1, *(float*)&x791
) + (
x792 = v2←v39252.f1, *(float*)&x792
);
};
};
SOURCE(18563, 66)
{
W2 v1←v39148;
W2 v2←v39176;
{
word pd793;
pd793 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd793 ))))((word) &v1←v39148, (* (W2Pt) (( (ptr) &delta←v18656)+2) ), t←v18780, pd793);
};
{
word pd794;
pd794 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd794 ))))((word) &v2←v39176, (* (W2Pt) (( (ptr) &delta←v18656)+4) ), s←v18808, pd794);
};
SOURCE(1675, 31)
{
word x795;
word x796;
*(float*)&d12←v18864.f0 = (
x795 = v1←v39148.f0, *(float*)&x795
) + (
x796 = v2←v39176.f0, *(float*)&x796
);
};
{
word x797;
word x798;
*(float*)&d12←v18864.f1 = (
x797 = v1←v39148.f1, *(float*)&x797
) + (
x798 = v2←v39176.f1, *(float*)&x798
);
};
};
SOURCE(18631, 57)
{
W2 v1←v39072;
W2 v2←v39100;
{
word pd799;
pd799 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd799 ))))((word) &v1←v39072, d01←v18836, t←v18780, pd799);
};
{
word pd800;
pd800 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd800 ))))((word) &v2←v39100, d12←v18864, s←v18808, pd800);
};
SOURCE(1675, 31)
{
word x801;
word x802;
*(float*)&d012←v18892.f0 = (
x801 = v1←v39072.f0, *(float*)&x801
) + (
x802 = v2←v39100.f0, *(float*)&x802
);
};
{
word x803;
word x804;
*(float*)&d012←v18892.f1 = (
x803 = v1←v39072.f1, *(float*)&x803
) + (
x804 = v2←v39100.f1, *(float*)&x804
);
};
};
SOURCE(18690, 32)
{
word pd805;
pd805 = (* (( (ptr) (* (( (ptr) gf←c60028)+82)/* var←c52156 */ ))+22) );
sqr←v18920 = (word) ( *( (fPt) ((* (ptr) pd805 ))))(d012←v18892, pd805);
};
SOURCE(18724, 27)
{
word x806;
word x807;
if (((
x806 = sqr←v18920, *(float*)&x806
) > (
x807 = max←v18628, *(float*)&x807
))) {
SOURCE(18742, 9)
max←v18628 = sqr←v18920;
};
};
SOURCE(18753, 27)
{
word x808;
word x809;
if (((
x808 = sqr←v18920, *(float*)&x808
) < (
x809 = min←v18600, *(float*)&x809
))) {
SOURCE(18771, 9)
min←v18600 = sqr←v18920;
};
};
};
if ((i←v18736 >= noName←c55516)) {
goto lab←L100139;
};
i←v18736 = (i←v18736 + 1);
goto lab←L100142;
lab←L100139: ;
};
SOURCE(18791, 23)
{
word pd810;
pd810 = (* (( (ptr) (* (( (ptr) gf←c60028)+78)/* var←c50396 */ ))+9) );
max←v18628 = (word) ( *( (fPt) ((* (ptr) pd810 ))))(max←v18628, pd810);
};
SOURCE(18816, 23)
{
word pd811;
pd811 = (* (( (ptr) (* (( (ptr) gf←c60028)+78)/* var←c50396 */ ))+9) );
min←v18600 = (word) ( *( (fPt) ((* (ptr) pd811 ))))(min←v18600, pd811);
};
SOURCE(18841, 40)
{
word x812;
word x813;
word x815;
*(float*)&var←c8808.f0 = ((
x812 = max←v18628, *(float*)&x812
) + (
x813 = min←v18600, *(float*)&x813
)) * (
x815 = (* (ptr) &fc814 ), *(float*)&x815
);
};
{
word x816;
word x817;
word x818;
*(float*)&var←c8808.f1 = ((
x816 = max←v18628, *(float*)&x816
) - (
x817 = min←v18600, *(float*)&x817
)) * (
x818 = (* (ptr) &fc814 ), *(float*)&x818
);
};
/* removed tail goto */
(* (W2Pt) formal←c0623 ) = var←c8808;
return;
}
static void DivideUntilSmooth←P1320(p←v8868, piece←v8896, fullScale←v8924, maxDepth←v8952)
W8 p←v8868;
word piece←v8896;
word fullScale←v8924;
word maxDepth←v8952;
{
register ptr gf←c60060 = (ptr) &globalframe;
W2 a←v18964;
/* DivideUntilSmooth: */
SOURCE(18904, 662)
SOURCE(19014, 36)
(void) AverageSpeed←P1260((word) &a←v18964, p←v8868);
SOURCE(19052, 466)
lab←L100148: ;
{
word tc819;
word pd820;
word x821;
word x822;
if ((maxDepth←v8952 > 1)) {
pd820 = (* (( (ptr) (* (( (ptr) gf←c60060)+77)/* var←c46204 */ ))+4) );
tc819 = (word) ((
x821 = (word) ( *( (fPt) ((* (ptr) pd820 ))))(a←v18964.f1, (* (( (ptr) gf←c60060)+7)/* sigBits←v4372 */ ), pd820), *(float*)&x821
) > (
x822 = fullScale←v8924, *(float*)&x822
));
}
else {
tc819 = (word) 0;
};
if (tc819) {
}
else {
goto lab←L100146;
};
};
{
W2 p01←v19036;
W2 p12←v19064;
W2 p23←v19092;
W2 p012←v19120;
W2 p123←v19148;
W2 p0123←v19176;
SOURCE(19211, 25)
{
W2 a←v44644;
W2 b←v44672;
a←v44644 = (* (W2Pt) &p←v8868 );
b←v44672 = (* (W2Pt) (( (ptr) &p←v8868)+2) );
SOURCE(19167, 39)
{
word x823;
word x824;
word x825;
*(float*)&p01←v19036.f0 = ((
x823 = a←v44644.f0, *(float*)&x823
) + (
x824 = b←v44672.f0, *(float*)&x824
)) * (
x825 = (* (ptr) &fc1 ), *(float*)&x825
);
};
{
word x826;
word x827;
word x828;
*(float*)&p01←v19036.f1 = ((
x826 = a←v44644.f1, *(float*)&x826
) + (
x827 = b←v44672.f1, *(float*)&x827
)) * (
x828 = (* (ptr) &fc1 ), *(float*)&x828
);
};
};
SOURCE(19238, 25)
{
W2 a←v44568;
W2 b←v44596;
a←v44568 = (* (W2Pt) (( (ptr) &p←v8868)+2) );
b←v44596 = (* (W2Pt) (( (ptr) &p←v8868)+4) );
SOURCE(19167, 39)
{
word x829;
word x830;
word x831;
*(float*)&p12←v19064.f0 = ((
x829 = a←v44568.f0, *(float*)&x829
) + (
x830 = b←v44596.f0, *(float*)&x830
)) * (
x831 = (* (ptr) &fc1 ), *(float*)&x831
);
};
{
word x832;
word x833;
word x834;
*(float*)&p12←v19064.f1 = ((
x832 = a←v44568.f1, *(float*)&x832
) + (
x833 = b←v44596.f1, *(float*)&x833
)) * (
x834 = (* (ptr) &fc1 ), *(float*)&x834
);
};
};
SOURCE(19265, 25)
{
W2 a←v44492;
W2 b←v44520;
a←v44492 = (* (W2Pt) (( (ptr) &p←v8868)+4) );
b←v44520 = (* (W2Pt) (( (ptr) &p←v8868)+6) );
SOURCE(19167, 39)
{
word x835;
word x836;
word x837;
*(float*)&p23←v19092.f0 = ((
x835 = a←v44492.f0, *(float*)&x835
) + (
x836 = b←v44520.f0, *(float*)&x836
)) * (
x837 = (* (ptr) &fc1 ), *(float*)&x837
);
};
{
word x838;
word x839;
word x840;
*(float*)&p23←v19092.f1 = ((
x838 = a←v44492.f1, *(float*)&x838
) + (
x839 = b←v44520.f1, *(float*)&x839
)) * (
x840 = (* (ptr) &fc1 ), *(float*)&x840
);
};
};
SOURCE(19292, 24)
{
word x841;
word x842;
word x843;
*(float*)&p012←v19120.f0 = ((
x841 = p01←v19036.f0, *(float*)&x841
) + (
x842 = p12←v19064.f0, *(float*)&x842
)) * (
x843 = (* (ptr) &fc1 ), *(float*)&x843
);
};
{
word x844;
word x845;
word x846;
*(float*)&p012←v19120.f1 = ((
x844 = p01←v19036.f1, *(float*)&x844
) + (
x845 = p12←v19064.f1, *(float*)&x845
)) * (
x846 = (* (ptr) &fc1 ), *(float*)&x846
);
};
SOURCE(19318, 24)
{
word x847;
word x848;
word x849;
*(float*)&p123←v19148.f0 = ((
x847 = p12←v19064.f0, *(float*)&x847
) + (
x848 = p23←v19092.f0, *(float*)&x848
)) * (
x849 = (* (ptr) &fc1 ), *(float*)&x849
);
};
{
word x850;
word x851;
word x852;
*(float*)&p123←v19148.f1 = ((
x850 = p12←v19064.f1, *(float*)&x850
) + (
x851 = p23←v19092.f1, *(float*)&x851
)) * (
x852 = (* (ptr) &fc1 ), *(float*)&x852
);
};
SOURCE(19344, 27)
{
word x853;
word x854;
word x855;
*(float*)&p0123←v19176.f0 = ((
x853 = p012←v19120.f0, *(float*)&x853
) + (
x854 = p123←v19148.f0, *(float*)&x854
)) * (
x855 = (* (ptr) &fc1 ), *(float*)&x855
);
};
{
word x856;
word x857;
word x858;
*(float*)&p0123←v19176.f1 = ((
x856 = p012←v19120.f1, *(float*)&x856
) + (
x857 = p123←v19148.f1, *(float*)&x857
)) * (
x858 = (* (ptr) &fc1 ), *(float*)&x858
);
};
SOURCE(19373, 21)
maxDepth←v8952 = SGNCK((maxDepth←v8952 - 1));
SOURCE(19396, 71)
{
W8 var←c56060;
(* (W2Pt) &var←c56060 ) = (* (W2Pt) &p←v8868 );
(* (W2Pt) (( (ptr) &var←c56060)+2) ) = p01←v19036;
(* (W2Pt) (( (ptr) &var←c56060)+4) ) = p012←v19120;
(* (W2Pt) (( (ptr) &var←c56060)+6) ) = p0123←v19176;
(void) DivideUntilSmooth←P1320(var←c56060, piece←v8896, fullScale←v8924, maxDepth←v8952);
};
SOURCE(19469, 28)
{
W2 var←c56092;
var←c56092 = (* (W2Pt) (( (ptr) &p←v8868)+6) );
(* (W2Pt) &p←v8868 ) = p0123←v19176;
(* (W2Pt) (( (ptr) &p←v8868)+2) ) = p123←v19148;
(* (W2Pt) (( (ptr) &p←v8868)+4) ) = p23←v19092;
(* (W2Pt) (( (ptr) &p←v8868)+6) ) = var←c56092;
};
SOURCE(19499, 19)
(void) AverageSpeed←P1260((word) &a←v18964, p←v8868);
};
goto lab←L100148;
lab←L100146: ;
SOURCE(19529, 37)
{
word x859;
word x860;
if (((
x859 = a←v18964.f0, *(float*)&x859
) != (
x860 = (* (ptr) &fc34 ), *(float*)&x860
))) {
SOURCE(19549, 17)
(void) ( *( (fPt) ((* (ptr) piece←v8896 ))))(p←v8868, a←v18964.f0, piece←v8896);
};
};
}
static void SubDivide←P1380(formal←c0664, b←v9100, t←v9128, hi←v9156)
word formal←c0664;
W8 b←v9100;
word t←v9128;
word hi←v9156;
{
W2 var←c01018;
W2 var←c01019;
W2 var←c01020;
W2 var←c01021;
word s←v19352;
W2 q1←v19408;
W2 q2←v19436;
W2 q3←v19464;
W2 qp1←v19492;
W2 qp2←v19520;
W2 q←v19548;
/* SubDivide: */
SOURCE(19572, 442)
/* Return var split */
SOURCE(19640, 13)
{
word x861;
word x862;
*(float*)&s←v19352 = (
x861 = (* (ptr) &fc20 ), *(float*)&x861
) - (
x862 = t←v9128, *(float*)&x862
);
};
SOURCE(19749, 34)
{
W2 a←v44872;
W2 b←v44900;
a←v44872 = (* (W2Pt) &b←v9100 );
b←v44900 = (* (W2Pt) (( (ptr) &b←v9100)+2) );
SOURCE(19710, 36)
{
word x863;
word x864;
word x865;
word x866;
*(float*)&q1←v19408.f0 = ((
x863 = a←v44872.f0, *(float*)&x863
) * (
x864 = s←v19352, *(float*)&x864
)) + ((
x865 = b←v44900.f0, *(float*)&x865
) * (
x866 = t←v9128, *(float*)&x866
));
};
{
word x867;
word x868;
word x869;
word x870;
*(float*)&q1←v19408.f1 = ((
x867 = a←v44872.f1, *(float*)&x867
) * (
x868 = s←v19352, *(float*)&x868
)) + ((
x869 = b←v44900.f1, *(float*)&x869
) * (
x870 = t←v9128, *(float*)&x870
));
};
};
SOURCE(19785, 33)
{
W2 a←v44796;
W2 b←v44824;
a←v44796 = (* (W2Pt) (( (ptr) &b←v9100)+2) );
b←v44824 = (* (W2Pt) (( (ptr) &b←v9100)+4) );
SOURCE(19710, 36)
{
word x871;
word x872;
word x873;
word x874;
*(float*)&q2←v19436.f0 = ((
x871 = a←v44796.f0, *(float*)&x871
) * (
x872 = s←v19352, *(float*)&x872
)) + ((
x873 = b←v44824.f0, *(float*)&x873
) * (
x874 = t←v9128, *(float*)&x874
));
};
{
word x875;
word x876;
word x877;
word x878;
*(float*)&q2←v19436.f1 = ((
x875 = a←v44796.f1, *(float*)&x875
) * (
x876 = s←v19352, *(float*)&x876
)) + ((
x877 = b←v44824.f1, *(float*)&x877
) * (
x878 = t←v9128, *(float*)&x878
));
};
};
SOURCE(19820, 33)
{
W2 a←v44720;
W2 b←v44748;
a←v44720 = (* (W2Pt) (( (ptr) &b←v9100)+4) );
b←v44748 = (* (W2Pt) (( (ptr) &b←v9100)+6) );
SOURCE(19710, 36)
{
word x879;
word x880;
word x881;
word x882;
*(float*)&q3←v19464.f0 = ((
x879 = a←v44720.f0, *(float*)&x879
) * (
x880 = s←v19352, *(float*)&x880
)) + ((
x881 = b←v44748.f0, *(float*)&x881
) * (
x882 = t←v9128, *(float*)&x882
));
};
{
word x883;
word x884;
word x885;
word x886;
*(float*)&q3←v19464.f1 = ((
x883 = a←v44720.f1, *(float*)&x883
) * (
x884 = s←v19352, *(float*)&x884
)) + ((
x885 = b←v44748.f1, *(float*)&x885
) * (
x886 = t←v9128, *(float*)&x886
));
};
};
SOURCE(19855, 30)
{
word x887;
word x888;
word x889;
word x890;
*(float*)&qp1←v19492.f0 = ((
x887 = q1←v19408.f0, *(float*)&x887
) * (
x888 = s←v19352, *(float*)&x888
)) + ((
x889 = q2←v19436.f0, *(float*)&x889
) * (
x890 = t←v9128, *(float*)&x890
));
};
{
word x891;
word x892;
word x893;
word x894;
*(float*)&qp1←v19492.f1 = ((
x891 = q1←v19408.f1, *(float*)&x891
) * (
x892 = s←v19352, *(float*)&x892
)) + ((
x893 = q2←v19436.f1, *(float*)&x893
) * (
x894 = t←v9128, *(float*)&x894
));
};
SOURCE(19887, 30)
{
word x895;
word x896;
word x897;
word x898;
*(float*)&qp2←v19520.f0 = ((
x895 = q2←v19436.f0, *(float*)&x895
) * (
x896 = s←v19352, *(float*)&x896
)) + ((
x897 = q3←v19464.f0, *(float*)&x897
) * (
x898 = t←v9128, *(float*)&x898
));
};
{
word x899;
word x900;
word x901;
word x902;
*(float*)&qp2←v19520.f1 = ((
x899 = q2←v19436.f1, *(float*)&x899
) * (
x900 = s←v19352, *(float*)&x900
)) + ((
x901 = q3←v19464.f1, *(float*)&x901
) * (
x902 = t←v9128, *(float*)&x902
));
};
SOURCE(19919, 30)
{
word x903;
word x904;
word x905;
word x906;
*(float*)&q←v19548.f0 = ((
x903 = qp1←v19492.f0, *(float*)&x903
) * (
x904 = s←v19352, *(float*)&x904
)) + ((
x905 = qp2←v19520.f0, *(float*)&x905
) * (
x906 = t←v9128, *(float*)&x906
));
};
{
word x907;
word x908;
word x909;
word x910;
*(float*)&q←v19548.f1 = ((
x907 = qp1←v19492.f1, *(float*)&x907
) * (
x908 = s←v19352, *(float*)&x908
)) + ((
x909 = qp2←v19520.f1, *(float*)&x909
) * (
x910 = t←v9128, *(float*)&x910
));
};
SOURCE(19951, 63)
if ((0 != hi←v9156)) {
var←c01018 = q←v19548;
var←c01019 = qp2←v19520;
var←c01020 = q3←v19464;
var←c01021 = (* (W2Pt) (( (ptr) &b←v9100)+6) );
}
else {
var←c01018 = (* (W2Pt) &b←v9100 );
var←c01019 = q1←v19408;
var←c01020 = qp1←v19492;
var←c01021 = q←v19548;
};
/* removed tail goto */
(* (W2Pt) (( (ptr) formal←c0664)+6) ) = var←c01021;
(* (W2Pt) (( (ptr) formal←c0664)+4) ) = var←c01020;
(* (W2Pt) (( (ptr) formal←c0664)+2) ) = var←c01019;
(* (W2Pt) formal←c0664 ) = var←c01018;
return;
}
static void SubPiece←P1440(formal←c0671, b←v9260, t0←v9288, t1←v9316)
word formal←c0671;
W8 b←v9260;
word t0←v9288;
word t1←v9316;
{
W8 var←c9360;
/* SubPiece: */
SOURCE(20018, 209)
SOURCE(20080, 86)
{
word x911;
word x912;
if (((
x911 = t1←v9316, *(float*)&x911
) != (
x912 = (* (ptr) &fc20 ), *(float*)&x912
))) {
SOURCE(20099, 27)
(void) SubDivide←P1380((word) &b←v9260, b←v9260, t1←v9316, 0);
SOURCE(20128, 38)
{
word x913;
word x914;
if (((
x913 = t1←v9316, *(float*)&x913
) != (
x914 = (* (ptr) &fc34 ), *(float*)&x914
))) {
SOURCE(20146, 10)
{
word x915;
word x916;
*(float*)&t0←v9288 = (
x915 = t0←v9288, *(float*)&x915
) / (
x916 = t1←v9316, *(float*)&x916
);
};
SOURCE(20158, 8)
t1←v9316 = (* (ptr) &fc20 );
};
};
};
};
SOURCE(20172, 43)
{
word x917;
word x918;
if (((
x917 = t0←v9288, *(float*)&x917
) != (
x918 = (* (ptr) &fc34 ), *(float*)&x918
))) {
SOURCE(20189, 26)
(void) SubDivide←P1380((word) &b←v9260, b←v9260, t0←v9288, 1);
};
};
SOURCE(20217, 10)
var←c9360 = b←v9260;
/* removed tail goto */
(* (W8Pt) formal←c0671 ) = var←c9360;
return;
}
static word MeasurePath←P1500(path←v9420, formal←c0999)
word path←v9420;
word formal←c0999;
{
W23 var←c60092;
/* declaration of closed←v9448 skipped */
/* declaration of sum←v9492 skipped */
/* declaration of var←c56476 skipped */
/* declaration of var←c56508 skipped */
/* declaration of var←c56540 skipped */
/* declaration of var←c56572 skipped */
/* declaration of var←c56604 skipped */
/* declaration of var←c56636 skipped */
/* declaration of started←v19724 skipped */
/* declaration of sp←v19752 skipped */
/* declaration of lp←v19780 skipped */
(* (( (ptr) &var←c60092)+4)/* closed←v9448 */ ) = formal←c0999;
/* MeasurePath: */
SOURCE(20233, 861)
{
word tmpAddr919;
tmpAddr919 = (word) (( (ptr) &var←c60092)+6)/* var←c56476 */ ;
(* (ptr) tmpAddr919 ) = ( ((word) (fPt) arc←P5100) );
(* (( (ptr) tmpAddr919) + 1) ) = 1;
};
{
word tmpAddr920;
tmpAddr920 = (word) (( (ptr) &var←c60092)+8)/* var←c56508 */ ;
(* (ptr) tmpAddr920 ) = ( ((word) (fPt) conic←P5040) );
(* (( (ptr) tmpAddr920) + 1) ) = 1;
};
{
word tmpAddr921;
tmpAddr921 = (word) (( (ptr) &var←c60092)+10)/* var←c56540 */ ;
(* (ptr) tmpAddr921 ) = ( ((word) (fPt) curve←P4980) );
(* (( (ptr) tmpAddr921) + 1) ) = 1;
};
{
word tmpAddr922;
tmpAddr922 = (word) (( (ptr) &var←c60092)+12)/* var←c56572 */ ;
(* (ptr) tmpAddr922 ) = ( ((word) (fPt) piece←P4920) );
(* (( (ptr) tmpAddr922) + 1) ) = 1;
};
{
word tmpAddr923;
tmpAddr923 = (word) (( (ptr) &var←c60092)+14)/* var←c56604 */ ;
(* (ptr) tmpAddr923 ) = ( ((word) (fPt) line←P4860) );
(* (( (ptr) tmpAddr923) + 1) ) = 1;
};
{
word tmpAddr924;
tmpAddr924 = (word) (( (ptr) &var←c60092)+16)/* var←c56636 */ ;
(* (ptr) tmpAddr924 ) = ( ((word) (fPt) move←P4800) );
(* (( (ptr) tmpAddr924) + 1) ) = 1;
};
SOURCE(20233, 861)
(* (( (ptr) &var←c60092)+5)/* sum←v9492 */ ) = (* (ptr) &fc34 );
SOURCE(20327, 21)
(* (( (ptr) &var←c60092)+18)/* started←v19724 */ ) = 0;
SOURCE(20350, 15)
(* (( (ptr) &var←c60092)+19) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c60092)+20) ) = (* (ptr) &fc34 );
SOURCE(20367, 15)
(* (( (ptr) &var←c60092)+21) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c60092)+22) ) = (* (ptr) &fc34 );
SOURCE(20981, 76)
(void) ( *( (fPt) ((* (ptr) path←v9420 ))))((word) (( (bPt) &var←c60092)+64)/* var←c56636 */ , (word) (( (bPt) &var←c60092)+56)
/* var←c56604 */ , (word) (( (bPt) &var←c60092)+40)/* var←c56540 */ , (word) (( (bPt) &var←c60092)+32)/* var←c56508 */ , (word) (
( (bPt) &var←c60092)+24)/* var←c56476 */ , path←v9420);
SOURCE(21059, 35)
if (((0 != (* (( (ptr) &var←c60092)+18)/* started←v19724 */ )) && (0 != (* (( (ptr) &var←c60092)+4)/* closed←v9448 */ )))) {
SOURCE(21086, 8)
(void) line←P4860((* (W2Pt) (( (ptr) &var←c60092)+19)/* sp←v19752 */ ), (word) (( (bPt) &var←c60092)+56)/* var←c56604 */ )
;
};
SOURCE(20233, 861)
return((* (( (ptr) &var←c60092)+5)/* sum←v9492 */ ));
}
static void move←P4800(p0←v20024, formal←c60124)
W2 p0←v20024;
word formal←c60124;
{
formal←c60124 = (formal←c60124 - 64);
/* move: */
SOURCE(20384, 90)
SOURCE(20409, 35)
if (((0 != (* (( (ptr) formal←c60124)+18) )) && (0 != (* (( (ptr) formal←c60124)+4) )))) {
SOURCE(20436, 8)
(void) line←P4860((* (W2Pt) (( (ptr) formal←c60124)+19) ), (word) (( (bPt) formal←c60124)+56));
};
SOURCE(20446, 12)
(* (W2Pt) (( (ptr) formal←c60124)+19) ) = p0←v20024;
(* (W2Pt) (( (ptr) formal←c60124)+21) ) = p0←v20024;
SOURCE(20460, 14)
(* (( (ptr) formal←c60124)+18) ) = 1;
}
static void line←P4860(p1←v20084, formal←c60188)
W2 p1←v20084;
word formal←c60188;
{
register ptr gf←c60156 = (ptr) &globalframe;
formal←c60188 = (formal←c60188 - 56);
/* line: */
SOURCE(20479, 73)
SOURCE(20504, 39)
{
W2 var←c56764;
word var←c0954;
{
word x925;
word x926;
*(float*)&var←c56764.f0 = (
x925 = p1←v20084.f0, *(float*)&x925
) - (
x926 = (* (( (ptr) formal←c60188)+21) ), *(float*)&x926
);
};
{
word x927;
word x928;
*(float*)&var←c56764.f1 = (
x927 = p1←v20084.f1, *(float*)&x927
) - (
x928 = (* (( (ptr) formal←c60188)+22) ), *(float*)&x928
);
};
{
word pd929;
pd929 = (* (( (ptr) (* (( (ptr) gf←c60156)+82)/* var←c52156 */ ))+24) );
var←c0954 = (word) ( *( (fPt) ((* (ptr) pd929 ))))(var←c56764, pd929);
};
{
word x930;
word x931;
*(float*)(( (ptr) formal←c60188)+5) = (
x930 = (* (( (ptr) formal←c60188)+5) ), *(float*)&x930
) + (
x931 = var←c0954, *(float*)&x931
);
};
};
SOURCE(20545, 7)
(* (W2Pt) (( (ptr) formal←c60188)+21) ) = p1←v20084;
}
static void piece←P4920(p←v20144, speed←v20172, formal←c60220)
W8 p←v20144;
word speed←v20172;
word formal←c60220;
{
formal←c60220 = (formal←c60220 - 48);
/* piece: */
SOURCE(20557, 58)
SOURCE(20598, 17)
{
word x932;
word x933;
*(float*)(( (ptr) formal←c60220)+5) = (
x932 = (* (( (ptr) formal←c60220)+5) ), *(float*)&x932
) + (
x933 = speed←v20172, *(float*)&x933
);
};
}
static void curve←P4980(p1←v20232, p2←v20260, p3←v20288, formal←c60252)
W2 p1←v20232;
W2 p2←v20260;
W2 p3←v20288;
word formal←c60252;
{
W8 p←v20520;
word fullScale←v20548;
W2 var←c0695;
formal←c60252 = (formal←c60252 - 40);
/* curve: */
SOURCE(20620, 196)
SOURCE(20662, 28)
(* (W2Pt) &p←v20520 ) = (* (W2Pt) (( (ptr) formal←c60252)+21) );
(* (W2Pt) (( (ptr) &p←v20520)+2) ) = p1←v20232;
(* (W2Pt) (( (ptr) &p←v20520)+4) ) = p2←v20260;
(* (W2Pt) (( (ptr) &p←v20520)+6) ) = p3←v20288;
SOURCE(20692, 39)
(void) AverageSpeed←P1260((word) &var←c0695, p←v20520);
fullScale←v20548 = var←c0695.f0;
SOURCE(20733, 74)
{
word x934;
word x935;
if (((
x934 = fullScale←v20548, *(float*)&x934
) > (
x935 = (* (ptr) &fc34 ), *(float*)&x935
))) {
SOURCE(20757, 50)
(void) DivideUntilSmooth←P1320(p←v20520, (word) (( (bPt) formal←c60252)+48), fullScale←v20548, 15);
};
};
SOURCE(20809, 7)
(* (W2Pt) (( (ptr) formal←c60252)+21) ) = p3←v20288;
}
static void conic←P5040(p1←v20348, p2←v20376, r←v20404, formal←c60316)
W2 p1←v20348;
W2 p2←v20376;
word r←v20404;
word formal←c60316;
{
register ptr gf←c60284 = (ptr) &globalframe;
formal←c60316 = (formal←c60316 - 32);
/* conic: */
SOURCE(20821, 86)
SOURCE(20860, 47)
{
word pd936;
pd936 = (* (( (ptr) (* (( (ptr) gf←c60284)+79)/* var←c51484 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd936 ))))((* (W2Pt) (( (ptr) formal←c60316)+21) ), p1←v20348, p2←v20376, r←v20404, (word) (
( (bPt) formal←c60316)+40), pd936);
};
}
static void arc←P5100(p1←v20464, p2←v20492, formal←c60380)
W2 p1←v20464;
W2 p2←v20492;
word formal←c60380;
{
register ptr gf←c60348 = (ptr) &globalframe;
formal←c60380 = (formal←c60380 - 24);
/* arc: */
SOURCE(20910, 68)
SOURCE(20937, 41)
{
word pd937;
pd937 = (* (( (ptr) (* (( (ptr) gf←c60348)+79)/* var←c51484 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd937 ))))((* (W2Pt) (( (ptr) formal←c60380)+21) ), p1←v20464, p2←v20492, (word) (( (bPt) formal←c60380)+32)
, pd937);
};
}
static word ComputeStretch←P1560(path←v9724, length←v9752)
word path←v9724;
word length←v9752;
{
word var←c9796;
/* ComputeStretch: */
SOURCE(21265, 252)
SOURCE(21347, 170)
{
word x938;
word x939;
if (((
x938 = length←v9752, *(float*)&x938
) <= (
x939 = (* (ptr) &fc34 ), *(float*)&x939
))) {
SOURCE(21369, 18)
return((* (ptr) &fc20 ));
}
else {
SOURCE(21387, 132)
{
word pathUnits←v20592;
SOURCE(21389, 35)
pathUnits←v20592 = (word) MeasurePath←P1500(path←v9724, 0);
SOURCE(21426, 36)
{
word x940;
word x941;
if (((
x940 = pathUnits←v20592, *(float*)&x940
) == (
x941 = (* (ptr) &fc34 ), *(float*)&x941
))) {
SOURCE(21450, 12)
return((* (ptr) &fc20 ));
};
};
SOURCE(21464, 53)
{
word x942;
word x943;
float tf944;
float tf945;
word x947;
float tf948;
float tf949;
word x951;
float tf952;
return((
tf952 = FMIN(FMAX(((
x942 = pathUnits←v20592, *(float*)&x942
) / (
x943 = length←v9752, *(float*)&x943
)), (
x947 = (* (ptr) &fc946 ), *(float*)&x947
), tf944, tf945), (
x951 = (* (ptr) &fc950 ), *(float*)&x951
), tf948, tf949), *(word*)&tf952
));
};
};
};
};
}
static word AdjustOffset←P1620(offset←v9856, patternLen←v9884, pattern←v9912)
word offset←v9856;
word patternLen←v9884;
word pattern←v9912;
{
register ptr gf←c60412 = (ptr) &globalframe;
word var←c10060;
word patternTotal←v20636;
/* AdjustOffset: */
SOURCE(21526, 690)
SOURCE(21635, 24)
patternTotal←v20636 = (* (ptr) &fc34 );
SOURCE(21661, 207)
{
register word i←v20680 = 0;
register word noName←c56828;
noName←c56828 = patternLen←v9884;
if (( (int)i←v20680 >= (int)noName←c56828)) {
goto lab←L100157;
};
lab←L100160: ;
{
word element←v20724;
SOURCE(21694, 26)
element←v20724 = (word) ( *( (fPt) ((* (ptr) pattern←v9912 ))))(SGNCK(i←v20680), pattern←v9912);
SOURCE(21722, 104)
{
word x953;
word x954;
if (((
x953 = element←v20724, *(float*)&x953
) < (
x954 = (* (ptr) &fc34 ), *(float*)&x954
))) {
SOURCE(21746, 80)
{
W3 var←c0714;
var←c0714.f0 = 72;
var←c0714.f1 = (* (( (ptr) gf←c60412)+26) );
var←c0714.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c60412)+80)/* var←c51516 */ ))+4) ), (word) &var←c0714);
};
};
};
SOURCE(21831, 37)
{
word x955;
word x956;
*(float*)&patternTotal←v20636 = (
x955 = patternTotal←v20636, *(float*)&x955
) + (
x956 = element←v20724, *(float*)&x956
);
};
};
i←v20680 = (i←v20680 + 1);
if (( (int)i←v20680 < (int)noName←c56828)) {
goto lab←L100160;
};
lab←L100157: ;
};
SOURCE(21879, 170)
if (( (unsigned) (((unsigned)patternTotal←v20636 << 1) >> 24) == 255) || ( (int)patternTotal←v20636 <= (int)0)) {
SOURCE(21968, 81)
{
W3 var←c0716;
var←c0716.f0 = 72;
var←c0716.f1 = (* (( (ptr) gf←c60412)+27) );
var←c0716.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c60412)+80)/* var←c51516 */ ))+4) ), (word) &var←c0716);
};
};
SOURCE(22054, 162)
{
word x957;
word x958;
if (((
x957 = offset←v9856, *(float*)&x957
) == (
x958 = (* (ptr) &fc34 ), *(float*)&x958
))) {
SOURCE(22075, 18)
return((* (ptr) &fc34 ));
}
else {
SOURCE(22093, 123)
{
word r←v20768;
SOURCE(22095, 31)
{
word x959;
word x960;
*(float*)&r←v20768 = (
x959 = offset←v9856, *(float*)&x959
) / (
x960 = patternTotal←v20636, *(float*)&x960
);
};
SOURCE(22128, 38)
{
float tf961;
word x962;
word x964;
if ((FABS((
x962 = r←v20768, *(float*)&x962
), tf961) >= (
x964 = (* (ptr) &fc963 ), *(float*)&x964
))) {
SOURCE(22154, 12)
return((* (ptr) &fc34 ));
};
};
SOURCE(22171, 45)
{
word x965;
word pd966;
word x967;
float tf968;
pd966 = (* (( (ptr) (* (( (ptr) gf←c60412)+77)/* var←c46204 */ ))+8) );
return((
tf968 = (
x965 = offset←v9856, *(float*)&x965
) - ((float)(int)(word) ( *( (fPt) ((* (ptr) pd966 ))))(r←v20768, pd966) * (
x967 = patternTotal←v20636, *(float*)&x967
)), *(word*)&tf968
));
};
};
};
};
}
static void Dashes←P1680(path←v10120, formal←c01000, formal←c01001, offset←v10204, length←v10232, formal←c01002, formal←c01003, conicTo←v10316, formal←c01004, closed←v10372)
word path←v10120;
word formal←c01000;
word formal←c01001;
word offset←v10204;
word length←v10232;
word formal←c01002;
word formal←c01003;
word conicTo←v10316;
word formal←c01004;
word closed←v10372;
{
W40 var←c60444;
/* declaration of patternLen←v10148 skipped */
/* declaration of pattern←v10176 skipped */
/* declaration of moveTo←v10260 skipped */
/* declaration of lineTo←v10288 skipped */
/* declaration of curveTo←v10344 skipped */
/* declaration of var←c56956 skipped */
/* declaration of var←c56988 skipped */
/* declaration of var←c57020 skipped */
/* declaration of var←c57052 skipped */
/* declaration of var←c57084 skipped */
/* declaration of var←c57116 skipped */
/* declaration of stretch←v20812 skipped */
/* declaration of lp←v20840 skipped */
/* declaration of fp←v20868 skipped */
/* declaration of startOfFirstDash←v20896 skipped */
/* declaration of endOfFirstDash←v20924 skipped */
/* declaration of index←v20952 skipped */
/* declaration of residual←v20980 skipped */
/* declaration of used←v21008 skipped */
/* declaration of on←v21036 skipped */
/* declaration of needsClosedSetup←v21064 skipped */
/* declaration of firstDash←v21092 skipped */
(* (( (ptr) &var←c60444)+4)/* patternLen←v10148 */ ) = formal←c01000;
(* (( (ptr) &var←c60444)+5)/* pattern←v10176 */ ) = formal←c01001;
(* (( (ptr) &var←c60444)+6)/* moveTo←v10260 */ ) = formal←c01002;
(* (( (ptr) &var←c60444)+7)/* lineTo←v10288 */ ) = formal←c01003;
(* (( (ptr) &var←c60444)+8)/* curveTo←v10344 */ ) = formal←c01004;
/* Dashes: */
SOURCE(22223, 3627)
{
word tmpAddr969;
tmpAddr969 = (word) (( (ptr) &var←c60444)+9)/* var←c56956 */ ;
(* (ptr) tmpAddr969 ) = ( ((word) (fPt) arc←P5652) );
(* (( (ptr) tmpAddr969) + 1) ) = 1;
};
{
word tmpAddr970;
tmpAddr970 = (word) (( (ptr) &var←c60444)+11)/* var←c56988 */ ;
(* (ptr) tmpAddr970 ) = ( ((word) (fPt) conic←P5592) );
(* (( (ptr) tmpAddr970) + 1) ) = 1;
};
{
word tmpAddr971;
tmpAddr971 = (word) (( (ptr) &var←c60444)+13)/* var←c57020 */ ;
(* (ptr) tmpAddr971 ) = ( ((word) (fPt) curve←P5532) );
(* (( (ptr) tmpAddr971) + 1) ) = 1;
};
{
word tmpAddr972;
tmpAddr972 = (word) (( (ptr) &var←c60444)+15)/* var←c57052 */ ;
(* (ptr) tmpAddr972 ) = ( ((word) (fPt) line←P5472) );
(* (( (ptr) tmpAddr972) + 1) ) = 1;
};
{
word tmpAddr973;
tmpAddr973 = (word) (( (ptr) &var←c60444)+17)/* var←c57084 */ ;
(* (ptr) tmpAddr973 ) = ( ((word) (fPt) move←P5412) );
(* (( (ptr) tmpAddr973) + 1) ) = 1;
};
{
word tmpAddr974;
tmpAddr974 = (word) (( (ptr) &var←c60444)+19)/* var←c57116 */ ;
(* (ptr) tmpAddr974 ) = ( ((word) (fPt) Advance←P5352) );
(* (( (ptr) tmpAddr974) + 1) ) = 1;
};
SOURCE(22503, 44)
(* (( (ptr) &var←c60444)+21)/* stretch←v20812 */ ) = (word) ComputeStretch←P1560(path←v10120, length←v10232);
SOURCE(22549, 54)
(* (( (ptr) &var←c60444)+22) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c60444)+23) ) = (* (ptr) &fc34 );
(* (W2Pt) (( (ptr) &var←c60444)+24)/* fp←v20868 */ ) = (* (W2Pt) (( (ptr) &var←c60444)+22)/* lp←v20840 */ );
(* (W2Pt) (( (ptr) &var←c60444)+26)/* startOfFirstDash←v20896 */ ) = (* (W2Pt) (( (ptr) &var←c60444)+24)/* fp←v20868 */ );
(* (W2Pt) (( (ptr) &var←c60444)+28)/* endOfFirstDash←v20924 */ ) = (* (W2Pt) (( (ptr) &var←c60444)+26)/* startOfFirstDash←v20896 */ );
SOURCE(22605, 14)
(* (( (ptr) &var←c60444)+30)/* index←v20952 */ ) = 0;
SOURCE(22668, 37)
{
word pd975;
word x976;
word x977;
pd975 = (* (( (ptr) &var←c60444)+5)/* pattern←v10176 */ );
*(float*)(( (ptr) &var←c60444)+31)/* residual←v20980 */ = (
x976 = (word) ( *( (fPt) ((* (ptr) pd975 ))))(0, pd975), *(float*)&x976
) * (
x977 = (* (( (ptr) &var←c60444)+21)/* stretch←v20812 */ ), *(float*)&x977
);
};
SOURCE(22771, 16)
(* (( (ptr) &var←c60444)+32)/* used←v21008 */ ) = (* (ptr) &fc34 );
SOURCE(22834, 15)
(* (( (ptr) &var←c60444)+33)/* on←v21036 */ ) = 1;
SOURCE(22851, 31)
(* (( (ptr) &var←c60444)+34)/* needsClosedSetup←v21064 */ ) = closed←v10372;
SOURCE(22884, 42)
(* (( (ptr) &var←c60444)+35) ) = 0;
(* (( (ptr) &var←c60444)+36) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c60444)+37) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c60444)+38) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c60444)+39) ) = (* (ptr) &fc34 );
SOURCE(25454, 60)
{
word var←c57212;
{
word x978;
word x979;
*(float*)&var←c57212 = (
x978 = (word) AdjustOffset←P1620(offset←v10204, (* (( (ptr) &var←c60444)+4)/* patternLen←v10148 */ ), (* (( (ptr) &var←c60444)+5)
/* pattern←v10176 */ )), *(float*)&x978
) * (
x979 = (* (( (ptr) &var←c60444)+21)/* stretch←v20812 */ ), *(float*)&x979
);
};
(void) Advance←P5352(var←c57212, 0, 0, (word) (( (bPt) &var←c60444)+76)/* var←c57116 */ );
};
SOURCE(25516, 76)
(void) ( *( (fPt) ((* (ptr) path←v10120 ))))((word) (( (bPt) &var←c60444)+68)/* var←c57084 */ , (word) (( (bPt) &var←c60444)+60)
/* var←c57052 */ , (word) (( (bPt) &var←c60444)+52)/* var←c57020 */ , (word) (( (bPt) &var←c60444)+44)/* var←c56988 */ , (word) (
( (bPt) &var←c60444)+36)/* var←c56956 */ , path←v10120);
SOURCE(25594, 256)
if ((0 != closed←v10372)) {
SOURCE(25611, 58)
if ((0 != (* (( (ptr) &var←c60444)+34)/* needsClosedSetup←v21064 */ ))) {
SOURCE(25636, 33)
(* (W2Pt) (( (ptr) &var←c60444)+28)/* endOfFirstDash←v20924 */ ) = (* (W2Pt) (( (ptr) &var←c60444)+26)/* startOfFirstDash←v20896 */ );
};
SOURCE(25671, 8)
(void) line←P5472((* (W2Pt) (( (ptr) &var←c60444)+24)/* fp←v20868 */ ), (word) (( (bPt) &var←c60444)+60)/* var←c57052 */ )
;
SOURCE(25681, 54)
if ( ! XR←EqualWords((( (ptr) &var←c60444)+22)/* lp←v20840 */ , (( (ptr) &var←c60444)+26)/* startOfFirstDash←v20896 */ , 2)
) {
SOURCE(25711, 24)
{
word pd980;
pd980 = (* (( (ptr) &var←c60444)+6)/* moveTo←v10260 */ );
(void) ( *( (fPt) ((* (ptr) pd980 ))))((* (W2Pt) ((( (ptr) &var←c60444)+26)/* startOfFirstDash←v20896 */ ) ), pd980);
};
};
SOURCE(25737, 113)
if (((* (( (ptr) &var←c60444)+35) ) == 0)) {
SOURCE(25771, 28)
{
word pd981;
pd981 = (* (( (ptr) &var←c60444)+7)/* lineTo←v10288 */ );
(void) ( *( (fPt) ((* (ptr) pd981 ))))((* (W2Pt) ((( (ptr) &var←c60444)+28)/* endOfFirstDash←v20924 */ ) ), pd981);
};
}
else {
SOURCE(25799, 51)
{
word pd982;
pd982 = (* (( (ptr) &var←c60444)+8)/* curveTo←v10344 */ );
(void) ( *( (fPt) ((* (ptr) pd982 ))))((* (W2Pt) (( (ptr) &var←c60444)+36) ), (* (W2Pt) (( (ptr) &var←c60444)+38) ), (* (W2Pt) (
( (ptr) &var←c60444)+28)/* endOfFirstDash←v20924 */ ), pd982);
};
};
};
}
static void Advance←P5352(patternOffset←v21336, startAction←v21364, stopAction←v21392, formal←c60476)
word patternOffset←v21336;
word startAction←v21364;
word stopAction←v21392;
word formal←c60476;
{
word anyProgress←v21876 = 1;
formal←c60476 = (formal←c60476 - 76);
/* Advance: */
SOURCE(22928, 754)
SOURCE(23031, 651)
lab←L100163: ;
{
word x983;
word x984;
if (((
x983 = (* (( (ptr) formal←c60476)+32) ), *(float*)&x983
) < (
x984 = patternOffset←v21336, *(float*)&x984
))) {
}
else {
goto lab←L100161;
};
};
{
word nextUsed←v21920;
SOURCE(23062, 32)
{
word x985;
word x986;
*(float*)&nextUsed←v21920 = (
x985 = (* (( (ptr) formal←c60476)+32) ), *(float*)&x985
) + (
x986 = (* (( (ptr) formal←c60476)+31) ), *(float*)&x986
);
};
SOURCE(23096, 586)
{
word x987;
word x988;
if (((
x987 = nextUsed←v21920, *(float*)&x987
) > (
x988 = (* (( (ptr) formal←c60476)+32) ), *(float*)&x988
))) {
SOURCE(23190, 185)
{
word nextResidual←v21964;
SOURCE(23192, 45)
{
word x989;
word x990;
*(float*)&nextResidual←v21964 = (
x989 = nextUsed←v21920, *(float*)&x989
) - (
x990 = patternOffset←v21336, *(float*)&x990
);
};
SOURCE(23239, 18)
anyProgress←v21876 = 1;
SOURCE(23259, 113)
{
word x991;
word x992;
if (((
x991 = nextResidual←v21964, *(float*)&x991
) <= (
x992 = (* (ptr) &fc34 ), *(float*)&x992
))) {
SOURCE(23288, 14)
(* (( (ptr) formal←c60476)+31) ) = (* (ptr) &fc34 );
SOURCE(23304, 15)
(* (( (ptr) formal←c60476)+32) ) = nextUsed←v21920;
}
else {
SOURCE(23327, 23)
(* (( (ptr) formal←c60476)+31) ) = nextResidual←v21964;
SOURCE(23352, 20)
(* (( (ptr) formal←c60476)+32) ) = patternOffset←v21336;
};
};
};
}
else {
SOURCE(23384, 44)
if ( ( (0 != (* (( (ptr) formal←c60476)+33) )) ? (stopAction←v21392 != 0) : 0 ) ) {
SOURCE(23416, 12)
(void) ( *( (fPt) ((* (ptr) stopAction←v21392 ))))(stopAction←v21392);
};
SOURCE(23430, 17)
(* (( (ptr) formal←c60476)+30) ) = ((* (( (ptr) formal←c60476)+30) ) + 1);
SOURCE(23449, 132)
if (((* (( (ptr) formal←c60476)+30) ) == (* (( (ptr) formal←c60476)+4) ))) {
SOURCE(23478, 9)
(* (( (ptr) formal←c60476)+30) ) = 0;
SOURCE(23489, 46)
if ((0 == anyProgress←v21876)) {
SOURCE(23515, 20)
(* (( (ptr) formal←c60476)+32) ) = patternOffset←v21336;
};
SOURCE(23562, 19)
anyProgress←v21876 = 0;
};
SOURCE(23586, 35)
{
word pd993;
word x994;
word x995;
pd993 = (* (( (ptr) formal←c60476)+5) );
*(float*)(( (ptr) formal←c60476)+31) = (
x994 = (word) ( *( (fPt) ((* (ptr) pd993 ))))((* ((( (ptr) formal←c60476)+30)) ), pd993), *(float*)&x994
) * (
x995 = (* (( (ptr) formal←c60476)+21) ), *(float*)&x995
);
};
SOURCE(23623, 11)
(* (( (ptr) formal←c60476)+33) ) = (unsigned) (0 == (* (( (ptr) formal←c60476)+33) ));
SOURCE(23636, 46)
if ( ( (0 != (* (( (ptr) formal←c60476)+33) )) ? (startAction←v21364 != 0) : 0 ) ) {
SOURCE(23669, 13)
(void) ( *( (fPt) ((* (ptr) startAction←v21364 ))))(startAction←v21364);
};
};
};
};
goto lab←L100163;
lab←L100161: ;
}
static void move←P5412(p0←v21468, formal←c60508)
W2 p0←v21468;
word formal←c60508;
{
formal←c60508 = (formal←c60508 - 68);
/* move: */
SOURCE(23699, 109)
SOURCE(23724, 7)
(* (W2Pt) (( (ptr) formal←c60508)+22) ) = p0←v21468;
SOURCE(23733, 51)
if ((0 != (* (( (ptr) formal←c60508)+34) ))) {
SOURCE(23758, 26)
(* (W2Pt) (( (ptr) formal←c60508)+24) ) = p0←v21468;
(* (W2Pt) (( (ptr) formal←c60508)+26) ) = p0←v21468;
};
SOURCE(23786, 22)
if ((0 != (* (( (ptr) formal←c60508)+33) ))) {
SOURCE(23797, 11)
{
word pd996;
pd996 = (* (( (ptr) formal←c60508)+6) );
(void) ( *( (fPt) ((* (ptr) pd996 ))))((* (W2Pt) ((( (ptr) formal←c60508)+22)) ), pd996);
};
};
}
static void line←P5472(p1←v21528, formal←c60604)
W2 p1←v21528;
word formal←c60604;
{
W12 var←c60540;
register ptr gf←c60572 = (ptr) &globalframe;
/* declaration of var←c57276 skipped */
/* declaration of var←c57308 skipped */
/* declaration of delta←v22008 skipped */
/* declaration of d←v22036 skipped */
/* declaration of segmentStart←v22064 skipped */
word segmentEnd←v22092;
formal←c60604 = (formal←c60604 - 60);
(* (ptr) &var←c60540 ) = formal←c60604;
/* line: */
SOURCE(23811, 551)
{
word tmpAddr997;
tmpAddr997 = (word) (( (ptr) &var←c60540)+4)/* var←c57276 */ ;
(* (ptr) tmpAddr997 ) = ( ((word) (fPt) stop←P5868) );
(* (( (ptr) tmpAddr997) + 1) ) = 1;
};
{
word tmpAddr998;
tmpAddr998 = (word) (( (ptr) &var←c60540)+6)/* var←c57308 */ ;
(* (ptr) tmpAddr998 ) = ( ((word) (fPt) start←P5808) );
(* (( (ptr) tmpAddr998) + 1) ) = 1;
};
SOURCE(23836, 24)
{
word x999;
word x1000;
*(float*)(( (ptr) &var←c60540)+8) = (
x999 = p1←v21528.f0, *(float*)&x999
) - (
x1000 = (* (( (ptr) formal←c60604)+22) ), *(float*)&x1000
);
};
{
word x1001;
word x1002;
*(float*)(( (ptr) &var←c60540)+9) = (
x1001 = p1←v21528.f1, *(float*)&x1001
) - (
x1002 = (* (( (ptr) formal←c60604)+23) ), *(float*)&x1002
);
};
SOURCE(23862, 31)
{
word pd1003;
pd1003 = (* (( (ptr) (* (( (ptr) gf←c60572)+82)/* var←c52156 */ ))+24) );
(* (( (ptr) &var←c60540)+10)/* d←v22036 */ ) = (word) ( *( (fPt) ((* (ptr) pd1003 ))))((* (W2Pt) ((( (ptr) &var←c60540)+8)
/* delta←v22008 */ ) ), pd1003);
};
SOURCE(23895, 25)
(* (( (ptr) &var←c60540)+11)/* segmentStart←v22064 */ ) = (* (( (ptr) formal←c60604)+32) );
SOURCE(23922, 27)
{
word x1004;
word x1005;
*(float*)&segmentEnd←v22092 = (
x1004 = (* (( (ptr) formal←c60604)+32) ), *(float*)&x1004
) + (
x1005 = (* (( (ptr) &var←c60540)+10)/* d←v22036 */ ), *(float*)&x1005
);
};
SOURCE(24298, 32)
(void) Advance←P5352(segmentEnd←v22092, (word) (( (bPt) &var←c60540)+24)/* var←c57308 */ , (word) (( (bPt) &var←c60540)+16)
/* var←c57276 */ , (word) (( (bPt) formal←c60604)+76));
SOURCE(24332, 21)
if ((0 != (* (( (ptr) formal←c60604)+33) ))) {
SOURCE(24343, 10)
{
word pd1006;
pd1006 = (* (( (ptr) formal←c60604)+7) );
(void) ( *( (fPt) ((* (ptr) pd1006 ))))(p1←v21528, pd1006);
};
};
SOURCE(24355, 7)
(* (W2Pt) (( (ptr) formal←c60604)+22) ) = p1←v21528;
}
static void start←P5808(formal←c60668)
word formal←c60668;
{
register ptr gf←c60636 = (ptr) &globalframe;
word s←v22224;
W2 p←v22252;
formal←c60668 = (formal←c60668 - 24);
/* start: */
SOURCE(23951, 151)
SOURCE(23967, 35)
{
word x1007;
word x1008;
word x1009;
*(float*)&s←v22224 = ((
x1007 = (* (( (ptr) (* (ptr) formal←c60668 ))+32) ), *(float*)&x1007
) - (
x1008 = (* (( (ptr) formal←c60668)+11) ), *(float*)&x1008
)) / (
x1009 = (* (( (ptr) formal←c60668)+10) ), *(float*)&x1009
);
};
SOURCE(24004, 39)
{
W2 v1←v38996;
W2 v2←v39024;
v1←v38996 = (* (W2Pt) (( (ptr) (* (ptr) formal←c60668 ))+22) );
{
word pd1010;
pd1010 = (* (( (ptr) (* (( (ptr) gf←c60636)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd1010 ))))((word) &v2←v39024, (* (W2Pt) (( (ptr) formal←c60668)+8) ), s←v22224, pd1010);
};
SOURCE(1675, 31)
{
word x1011;
word x1012;
*(float*)&p←v22252.f0 = (
x1011 = v1←v38996.f0, *(float*)&x1011
) + (
x1012 = v2←v39024.f0, *(float*)&x1012
);
};
{
word x1013;
word x1014;
*(float*)&p←v22252.f1 = (
x1013 = v1←v38996.f1, *(float*)&x1013
) + (
x1014 = v2←v39024.f1, *(float*)&x1014
);
};
};
SOURCE(24046, 9)
{
word pd1015;
pd1015 = (* (( (ptr) (* (ptr) formal←c60668 ))+6) );
(void) ( *( (fPt) ((* (ptr) pd1015 ))))(p←v22252, pd1015);
};
SOURCE(24057, 45)
if ((0 != (* (( (ptr) (* (ptr) formal←c60668 ))+34) ))) {
SOURCE(24082, 20)
(* (W2Pt) (( (ptr) (* (ptr) formal←c60668 ))+26) ) = p←v22252;
};
}
static void stop←P5868(formal←c60732)
word formal←c60732;
{
register ptr gf←c60700 = (ptr) &globalframe;
word s←v22296;
W2 p←v22324;
formal←c60732 = (formal←c60732 - 16);
/* stop: */
SOURCE(24107, 185)
SOURCE(24122, 35)
{
word x1016;
word x1017;
word x1018;
*(float*)&s←v22296 = ((
x1016 = (* (( (ptr) (* (ptr) formal←c60732 ))+32) ), *(float*)&x1016
) - (
x1017 = (* (( (ptr) formal←c60732)+11) ), *(float*)&x1017
)) / (
x1018 = (* (( (ptr) formal←c60732)+10) ), *(float*)&x1018
);
};
SOURCE(24159, 39)
{
W2 v1←v38920;
W2 v2←v38948;
v1←v38920 = (* (W2Pt) (( (ptr) (* (ptr) formal←c60732 ))+22) );
{
word pd1019;
pd1019 = (* (( (ptr) (* (( (ptr) gf←c60700)+82)/* var←c52156 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd1019 ))))((word) &v2←v38948, (* (W2Pt) (( (ptr) formal←c60732)+8) ), s←v22296, pd1019);
};
SOURCE(1675, 31)
{
word x1020;
word x1021;
*(float*)&p←v22324.f0 = (
x1020 = v1←v38920.f0, *(float*)&x1020
) + (
x1021 = v2←v38948.f0, *(float*)&x1021
);
};
{
word x1022;
word x1023;
*(float*)&p←v22324.f1 = (
x1022 = v1←v38920.f1, *(float*)&x1022
) + (
x1023 = v2←v38948.f1, *(float*)&x1023
);
};
};
SOURCE(24200, 92)
if ((0 != (* (( (ptr) (* (ptr) formal←c60732 ))+34) ))) {
SOURCE(24227, 18)
(* (W2Pt) (( (ptr) (* (ptr) formal←c60732 ))+28) ) = p←v22324;
SOURCE(24247, 24)
(* (( (ptr) (* (ptr) formal←c60732 ))+34) ) = 0;
}
else {
SOURCE(24282, 10)
{
word pd1024;
pd1024 = (* (( (ptr) (* (ptr) formal←c60732 ))+7) );
(void) ( *( (fPt) ((* (ptr) pd1024 ))))(p←v22324, pd1024);
};
};
}
static void curve←P5532(p1←v21588, p2←v21616, p3←v21644, formal←c60796)
W2 p1←v21588;
W2 p2←v21616;
W2 p3←v21644;
word formal←c60796;
{
W6 var←c60764;
/* declaration of var←c57500 skipped */
W8 p←v22396;
word fullScale←v22424;
W2 var←c0777;
formal←c60796 = (formal←c60796 - 52);
var←c60764.f0 = formal←c60796;
/* curve: */
SOURCE(24367, 920)
{
word tmpAddr1025;
tmpAddr1025 = (word) (( (ptr) &var←c60764)+4)/* var←c57500 */ ;
(* (ptr) tmpAddr1025 ) = ( ((word) (fPt) piece←P5928) );
(* (( (ptr) tmpAddr1025) + 1) ) = 1;
};
SOURCE(25133, 28)
(* (W2Pt) &p←v22396 ) = (* (W2Pt) (( (ptr) formal←c60796)+22) );
(* (W2Pt) (( (ptr) &p←v22396)+2) ) = p1←v21588;
(* (W2Pt) (( (ptr) &p←v22396)+4) ) = p2←v21616;
(* (W2Pt) (( (ptr) &p←v22396)+6) ) = p3←v21644;
SOURCE(25163, 39)
(void) AverageSpeed←P1260((word) &var←c0777, p←v22396);
fullScale←v22424 = var←c0777.f0;
SOURCE(25204, 74)
{
word x1026;
word x1027;
if (((
x1026 = fullScale←v22424, *(float*)&x1026
) > (
x1027 = (* (ptr) &fc34 ), *(float*)&x1027
))) {
SOURCE(25228, 50)
(void) DivideUntilSmooth←P1320(p←v22396, (word) (( (bPt) &var←c60764)+16)/* var←c57500 */ , fullScale←v22424, 15);
};
};
SOURCE(25280, 7)
(* (W2Pt) (( (ptr) formal←c60796)+22) ) = p3←v21644;
}
static void piece←P5928(formal←c01005, formal←c01006, formal←c60860)
W8 formal←c01005;
word formal←c01006;
word formal←c60860;
{
W20 var←c60828;
/* declaration of p←v22500 skipped */
/* declaration of speed←v22528 skipped */
/* declaration of var←c57564 skipped */
/* declaration of var←c57596 skipped */
/* declaration of segmentStart←v22556 skipped */
word segmentEnd←v22584;
/* declaration of dashStartParam←v22612 skipped */
/* declaration of needMove←v22640 skipped */
formal←c60860 = (formal←c60860 - 16);
(* (W8Pt) (( (ptr) &var←c60828)+4)/* p←v22500 */ ) = formal←c01005;
(* (( (ptr) &var←c60828)+12)/* speed←v22528 */ ) = formal←c01006;
(* (ptr) &var←c60828 ) = formal←c60860;
/* piece: */
SOURCE(24401, 727)
{
word tmpAddr1028;
tmpAddr1028 = (word) (( (ptr) &var←c60828)+13)/* var←c57564 */ ;
(* (ptr) tmpAddr1028 ) = ( ((word) (fPt) stop←P6048) );
(* (( (ptr) tmpAddr1028) + 1) ) = 1;
};
{
word tmpAddr1029;
tmpAddr1029 = (word) (( (ptr) &var←c60828)+15)/* var←c57596 */ ;
(* (ptr) tmpAddr1029 ) = ( ((word) (fPt) start←P5988) );
(* (( (ptr) tmpAddr1029) + 1) ) = 1;
};
SOURCE(24442, 25)
(* (( (ptr) &var←c60828)+17)/* segmentStart←v22556 */ ) = (* (( (ptr) (* (ptr) formal←c60860 ))+32) );
SOURCE(24469, 31)
{
word x1030;
word x1031;
*(float*)&segmentEnd←v22584 = (
x1030 = (* (( (ptr) (* (ptr) formal←c60860 ))+32) ), *(float*)&x1030
) + (
x1031 = (* (( (ptr) &var←c60828)+12)/* speed←v22528 */ ), *(float*)&x1031
);
};
SOURCE(24502, 24)
(* (( (ptr) &var←c60828)+18)/* dashStartParam←v22612 */ ) = (* (ptr) &fc34 );
SOURCE(24528, 22)
(* (( (ptr) &var←c60828)+19)/* needMove←v22640 */ ) = 0;
SOURCE(25077, 32)
(void) Advance←P5352(segmentEnd←v22584, (word) (( (bPt) &var←c60828)+60)/* var←c57596 */ , (word) (( (bPt) &var←c60828)+52)
/* var←c57564 */ , (word) (( (bPt) (* (ptr) formal←c60860 ))+76));
SOURCE(25111, 17)
if ((0 != (* (( (ptr) (* (ptr) formal←c60860 ))+33) ))) {
SOURCE(25122, 6)
(void) stop←P6048((word) ((( (bPt) &var←c60828)+52)/* var←c57564 */ ));
};
}
static void start←P5988(formal←c60892)
word formal←c60892;
{
formal←c60892 = (formal←c60892 - 60);
/* start: */
SOURCE(24552, 108)
SOURCE(24568, 75)
{
word x1032;
word x1033;
word x1034;
word x1035;
word x1036;
if (((
x1032 = (* (( (ptr) formal←c60892)+12) ), *(float*)&x1032
) == (
x1033 = (* (ptr) &fc34 ), *(float*)&x1033
))) {
(* (( (ptr) formal←c60892)+18) ) = (* (ptr) &fc20 );
}
else {
*(float*)(( (ptr) formal←c60892)+18) = ((
x1034 = (* (( (ptr) (* (ptr) (* (ptr) formal←c60892 ) ))+32) ), *(float*)&x1034
) - (
x1035 = (* (( (ptr) formal←c60892)+17) ), *(float*)&x1035
)) / (
x1036 = (* (( (ptr) formal←c60892)+12) ), *(float*)&x1036
);
};
};
SOURCE(24645, 15)
(* (( (ptr) formal←c60892)+19) ) = 1;
}
static void stop←P6048(formal←c60924)
word formal←c60924;
{
word dashEndParam←v22772;
W8 b←v22800;
formal←c60924 = (formal←c60924 - 52);
/* stop: */
SOURCE(24665, 407)
SOURCE(24680, 79)
{
word x1037;
word x1038;
word x1039;
word x1040;
word x1041;
float tf1042;
dashEndParam←v22772 = ( ((
x1037 = (* (( (ptr) formal←c60924)+12) ), *(float*)&x1037
) == (
x1038 = (* (ptr) &fc34 ), *(float*)&x1038
)) ? (* (ptr) &fc20 ) : (
tf1042 = ((
x1039 = (* (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+32) ), *(float*)&x1039
) - (
x1040 = (* (( (ptr) formal←c60924)+17) ), *(float*)&x1040
)) / (
x1041 = (* (( (ptr) formal←c60924)+12) ), *(float*)&x1041
), *(word*)&tf1042
) ) ;
};
SOURCE(24761, 53)
(void) SubPiece←P1440((word) &b←v22800, (* (W8Pt) (( (ptr) formal←c60924)+4) ), (* (( (ptr) formal←c60924)+18) ), dashEndParam←v22772)
;
SOURCE(24816, 177)
if ((0 != (* (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+34) ))) {
SOURCE(24843, 23)
(* (W2Pt) (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+26) ) = (* (W2Pt) &b←v22800 );
SOURCE(24868, 19)
(* (W2Pt) (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+36) ) = (* (W2Pt) (( (ptr) &b←v22800)+2) );
SOURCE(24889, 19)
(* (W2Pt) (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+38) ) = (* (W2Pt) (( (ptr) &b←v22800)+4) );
SOURCE(24910, 21)
(* (W2Pt) (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+28) ) = (* (W2Pt) (( (ptr) &b←v22800)+6) );
SOURCE(24933, 26)
(* (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+35) ) = 1;
SOURCE(24961, 24)
(* (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+34) ) = 0;
SOURCE(24987, 6)
return;
};
SOURCE(24998, 29)
if ((0 != (* (( (ptr) formal←c60924)+19) ))) {
SOURCE(25015, 12)
{
word pd1043;
pd1043 = (* (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+6) );
(void) ( *( (fPt) ((* (ptr) pd1043 ))))((* (W2Pt) (&b←v22800) ), pd1043);
};
};
SOURCE(25029, 25)
{
word pd1044;
pd1044 = (* (( (ptr) (* (ptr) (* (ptr) formal←c60924 ) ))+8) );
(void) ( *( (fPt) ((* (ptr) pd1044 ))))((* (W2Pt) (( (ptr) &b←v22800)+2) ), (* (W2Pt) (( (ptr) &b←v22800)+4) ), (* (W2Pt) (
( (ptr) &b←v22800)+6) ), pd1044);
};
SOURCE(25056, 16)
(* (( (ptr) formal←c60924)+19) ) = 0;
}
static void conic←P5592(p1←v21704, p2←v21732, r←v21760, formal←c60988)
W2 p1←v21704;
W2 p2←v21732;
word r←v21760;
word formal←c60988;
{
register ptr gf←c60956 = (ptr) &globalframe;
formal←c60988 = (formal←c60988 - 44);
/* conic: */
SOURCE(25292, 86)
SOURCE(25331, 47)
{
word pd1045;
pd1045 = (* (( (ptr) (* (( (ptr) gf←c60956)+79)/* var←c51484 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd1045 ))))((* (W2Pt) (( (ptr) formal←c60988)+22) ), p1←v21704, p2←v21732, r←v21760, (word) (
( (bPt) formal←c60988)+52), pd1045);
};
}
static void arc←P5652(p1←v21820, p2←v21848, formal←c61052)
W2 p1←v21820;
W2 p2←v21848;
word formal←c61052;
{
register ptr gf←c61020 = (ptr) &globalframe;
formal←c61052 = (formal←c61052 - 36);
/* arc: */
SOURCE(25381, 70)
SOURCE(25409, 42)
{
word pd1046;
pd1046 = (* (( (ptr) (* (( (ptr) gf←c61020)+79)/* var←c51484 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd1046 ))))((* (W2Pt) (( (ptr) formal←c61052)+22) ), p1←v21820, p2←v21848, (word) (( (bPt) formal←c61052)+44)
, pd1046);
};
}
static void ConvolvePenWithPath←P1740(path←v10536, formal←c01007, formal←c01008, formal←c01009)
word path←v10536;
word formal←c01007;
word formal←c01008;
word formal←c01009;
{
W21 var←c61084;
/* declaration of pen←v10564 skipped */
/* declaration of moveTo←v10592 skipped */
/* declaration of lineTo←v10620 skipped */
/* declaration of var←c57628 skipped */
/* declaration of var←c57660 skipped */
/* declaration of var←c57692 skipped */
/* declaration of started←v22844 skipped */
/* declaration of move←v22872 skipped */
/* declaration of fp←v22900 skipped */
/* declaration of fi←v22928 skipped */
/* declaration of lp←v22956 skipped */
/* declaration of li←v22984 skipped */
(* (( (ptr) &var←c61084)+4)/* pen←v10564 */ ) = formal←c01007;
(* (( (ptr) &var←c61084)+5)/* moveTo←v10592 */ ) = formal←c01008;
(* (( (ptr) &var←c61084)+6)/* lineTo←v10620 */ ) = formal←c01009;
/* ConvolvePenWithPath: */
SOURCE(25859, 1041)
{
word tmpAddr1047;
tmpAddr1047 = (word) (( (ptr) &var←c61084)+7)/* var←c57628 */ ;
(* (ptr) tmpAddr1047 ) = ( ((word) (fPt) Close←P6228) );
(* (( (ptr) tmpAddr1047) + 1) ) = 1;
};
{
word tmpAddr1048;
tmpAddr1048 = (word) (( (ptr) &var←c61084)+9)/* var←c57660 */ ;
(* (ptr) tmpAddr1048 ) = ( ((word) (fPt) Line←P6168) );
(* (( (ptr) tmpAddr1048) + 1) ) = 1;
};
{
word tmpAddr1049;
tmpAddr1049 = (word) (( (ptr) &var←c61084)+11)/* var←c57692 */ ;
(* (ptr) tmpAddr1049 ) = ( ((word) (fPt) Move←P6108) );
(* (( (ptr) tmpAddr1049) + 1) ) = 1;
};
SOURCE(25996, 27)
(* (( (ptr) &var←c61084)+13)/* started←v22844 */ ) = 0;
(* (( (ptr) &var←c61084)+14)/* move←v22872 */ ) = 0;
SOURCE(26025, 20)
(* (( (ptr) &var←c61084)+15) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c61084)+16) ) = (* (ptr) &fc34 );
SOURCE(26047, 11)
(* (( (ptr) &var←c61084)+17)/* fi←v22928 */ ) = 0;
SOURCE(26060, 20)
(* (( (ptr) &var←c61084)+18) ) = (* (ptr) &fc34 );
(* (( (ptr) &var←c61084)+19) ) = (* (ptr) &fc34 );
SOURCE(26082, 11)
(* (( (ptr) &var←c61084)+20)/* li←v22984 */ ) = 0;
SOURCE(26803, 72)
(void) ( *( (fPt) ((* (ptr) path←v10536 ))))((word) (( (bPt) &var←c61084)+44)/* var←c57692 */ , (word) (( (bPt) &var←c61084)+36)
/* var←c57660 */ , 0, 0, 0, path←v10536);
SOURCE(26877, 23)
if ((0 != (* (( (ptr) &var←c61084)+13)/* started←v22844 */ ))) {
SOURCE(26893, 7)
(void) Close←P6228((word) ((( (bPt) &var←c61084)+28)/* var←c57628 */ ));
};
}
static void Move←P6108(p←v38392, formal←c61116)
W2 p←v38392;
word formal←c61116;
{
formal←c61116 = (formal←c61116 - 44);
/* Move: */
SOURCE(26095, 97)
SOURCE(26127, 23)
if ((0 != (* (( (ptr) formal←c61116)+13) ))) {
SOURCE(26143, 7)
(void) Close←P6228((word) ((( (bPt) formal←c61116)+28)));
};
SOURCE(26152, 11)
(* (W2Pt) (( (ptr) formal←c61116)+15) ) = p←v38392;
(* (W2Pt) (( (ptr) formal←c61116)+18) ) = p←v38392;
SOURCE(26165, 14)
(* (( (ptr) formal←c61116)+13) ) = 1;
SOURCE(26181, 11)
(* (( (ptr) formal←c61116)+14) ) = 1;
}
static void Line←P6168(p1←v38452, formal←c61148)
W2 p1←v38452;
word formal←c61148;
{
word dx←v23128;
word dy←v23156;
formal←c61148 = (formal←c61148 - 36);
/* Line: */
SOURCE(26197, 366)
SOURCE(26229, 22)
{
word x1050;
word x1051;
*(float*)&dx←v23128 = (
x1050 = p1←v38452.f0, *(float*)&x1050
) - (
x1051 = (* (( (ptr) formal←c61148)+18) ), *(float*)&x1051
);
};
SOURCE(26253, 22)
{
word x1052;
word x1053;
*(float*)&dy←v23156 = (
x1052 = p1←v38452.f1, *(float*)&x1052
) - (
x1053 = (* (( (ptr) formal←c61148)+19) ), *(float*)&x1053
);
};
SOURCE(26277, 274)
{
word x1054;
word x1055;
word x1056;
word x1057;
if (((
x1054 = dx←v23128, *(float*)&x1054
) != (
x1055 = (* (ptr) &fc34 ), *(float*)&x1055
)) || ((
x1056 = dy←v23156, *(float*)&x1056
) != (
x1057 = (* (ptr) &fc34 ), *(float*)&x1057
))) {
SOURCE(26313, 240)
{
word i←v23200;
SOURCE(26315, 58)
{
W2 var←c57820;
var←c57820.f0 = dy←v23156;
{
word x1058;
*(float*)&var←c57820.f1 = - (
x1058 = dx←v23128, *(float*)&x1058
);
};
i←v23200 = (word) FindVertex←P600((* (( (ptr) formal←c61148)+4) ), var←c57820, (* (( (ptr) formal←c61148)+20) ));
};
SOURCE(26375, 66)
if ((0 != (* (( (ptr) formal←c61148)+14) ))) {
SOURCE(26390, 11)
(* (( (ptr) formal←c61148)+17) ) = i←v23200;
(* (( (ptr) formal←c61148)+20) ) = i←v23200;
SOURCE(26403, 24)
{
W2 var←c57884;
{
W2 var←c57916;
W2 v2←v38872;
{
word idx1059;
word limit1060;
v2←v38872 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c61148)+4) ))+6))+(
/*1*/ idx1059 = (* (( (ptr) formal←c61148)+20) ),
/*1*/ limit1060 = (* (( (ptr) (* (( (ptr) formal←c61148)+4) ))+5) ),
/*1*/ BCK(idx1059, limit1060)
/*1*/ )) );
};
SOURCE(1675, 31)
{
word x1061;
word x1062;
*(float*)&var←c57916.f0 = (
x1061 = (* (( (ptr) formal←c61148)+18) ), *(float*)&x1061
) + (
x1062 = v2←v38872.f0, *(float*)&x1062
);
};
{
word x1063;
word x1064;
*(float*)&var←c57916.f1 = (
x1063 = (* (( (ptr) formal←c61148)+19) ), *(float*)&x1063
) + (
x1064 = v2←v38872.f1, *(float*)&x1064
);
};
var←c57884 = var←c57916;
};
{
word pd1065;
pd1065 = (* (( (ptr) formal←c61148)+5) );
(void) ( *( (fPt) ((* (ptr) pd1065 ))))(var←c57884, pd1065);
};
};
SOURCE(26429, 12)
(* (( (ptr) formal←c61148)+14) ) = 0;
};
SOURCE(26446, 70)
lab←L100169: ;
if (((* (( (ptr) formal←c61148)+20) ) != i←v23200)) {
}
else {
goto lab←L100167;
};
SOURCE(26462, 28)
{
word var←c57980;
word c←v43284;
word mod←v43316;
mod←v43316 = (* (( (ptr) (* (( (ptr) formal←c61148)+4) ))+5) );
{
word var←c0955;
SOURCE(2143, 38)
{
word idx1066;
c←v43284 = (
idx1066 = (word) ((* (( (ptr) formal←c61148)+20) ) + 1),
SGNCK(idx1066)
);
};
var←c0955 = c←v43284;
if ((var←c0955 >= mod←v43316)) {
SOURCE(2170, 11)
c←v43284 = (c←v43284 - mod←v43316);
};
SOURCE(2080, 101)
var←c57980 = c←v43284;
};
(* (( (ptr) formal←c61148)+20) ) = var←c57980;
};
SOURCE(26492, 24)
{
W2 var←c58012;
{
W2 var←c58044;
W2 v2←v38824;
{
word idx1067;
word limit1068;
v2←v38824 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c61148)+4) ))+6))+(
idx1067 = (* (( (ptr) formal←c61148)+20) ),
limit1068 = (* (( (ptr) (* (( (ptr) formal←c61148)+4) ))+5) ),
BCK(idx1067, limit1068)
)) );
};
SOURCE(1675, 31)
{
word x1069;
word x1070;
*(float*)&var←c58044.f0 = (
x1069 = (* (( (ptr) formal←c61148)+18) ), *(float*)&x1069
) + (
x1070 = v2←v38824.f0, *(float*)&x1070
);
};
{
word x1071;
word x1072;
*(float*)&var←c58044.f1 = (
x1071 = (* (( (ptr) formal←c61148)+19) ), *(float*)&x1071
) + (
x1072 = v2←v38824.f1, *(float*)&x1072
);
};
var←c58012 = var←c58044;
};
{
word pd1073;
pd1073 = (* (( (ptr) formal←c61148)+6) );
(void) ( *( (fPt) ((* (ptr) pd1073 ))))(var←c58012, pd1073);
};
};
goto lab←L100169;
lab←L100167: ;
SOURCE(26527, 24)
{
W2 var←c58108;
{
W2 var←c58140;
W2 v2←v38776;
{
word idx1074;
word limit1075;
v2←v38776 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c61148)+4) ))+6))+(
idx1074 = (* (( (ptr) formal←c61148)+20) ),
limit1075 = (* (( (ptr) (* (( (ptr) formal←c61148)+4) ))+5) ),
BCK(idx1074, limit1075)
)) );
};
SOURCE(1675, 31)
{
word x1076;
word x1077;
*(float*)&var←c58140.f0 = (
x1076 = p1←v38452.f0, *(float*)&x1076
) + (
x1077 = v2←v38776.f0, *(float*)&x1077
);
};
{
word x1078;
word x1079;
*(float*)&var←c58140.f1 = (
x1078 = p1←v38452.f1, *(float*)&x1078
) + (
x1079 = v2←v38776.f1, *(float*)&x1079
);
};
var←c58108 = var←c58140;
};
{
word pd1080;
pd1080 = (* (( (ptr) formal←c61148)+6) );
(void) ( *( (fPt) ((* (ptr) pd1080 ))))(var←c58108, pd1080);
};
};
};
};
};
SOURCE(26556, 7)
(* (W2Pt) (( (ptr) formal←c61148)+18) ) = p1←v38452;
}
static void Close←P6228(formal←c61180)
word formal←c61180;
{
formal←c61180 = (formal←c61180 - 28);
/* Close: */
SOURCE(26568, 227)
SOURCE(26584, 211)
if ((0 != (* (( (ptr) formal←c61180)+13) ))) {
SOURCE(26602, 80)
if ((0 != (* (( (ptr) formal←c61180)+14) ))) {
SOURCE(26617, 15)
{
word idx1081;
(* (( (ptr) formal←c61180)+17) ) = (
idx1081 = (word) ((* (( (ptr) (* (( (ptr) formal←c61180)+4) ))+5) ) - 1),
SGNCK(idx1081)
);
};
SOURCE(26634, 6)
(* (( (ptr) formal←c61180)+20) ) = 0;
SOURCE(26642, 25)
{
W2 var←c58204;
{
W2 var←c58236;
W2 v2←v38728;
{
word idx1082;
word limit1083;
v2←v38728 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c61180)+4) ))+6))+(
idx1082 = (* (( (ptr) formal←c61180)+20) ),
limit1083 = (* (( (ptr) (* (( (ptr) formal←c61180)+4) ))+5) ),
BCK(idx1082, limit1083)
)) );
};
SOURCE(1675, 31)
{
word x1084;
word x1085;
*(float*)&var←c58236.f0 = (
x1084 = (* (( (ptr) formal←c61180)+18) ), *(float*)&x1084
) + (
x1085 = v2←v38728.f0, *(float*)&x1085
);
};
{
word x1086;
word x1087;
*(float*)&var←c58236.f1 = (
x1086 = (* (( (ptr) formal←c61180)+19) ), *(float*)&x1086
) + (
x1087 = v2←v38728.f1, *(float*)&x1087
);
};
var←c58204 = var←c58236;
};
{
word pd1088;
pd1088 = (* (( (ptr) formal←c61180)+5) );
(void) ( *( (fPt) ((* (ptr) pd1088 ))))(var←c58204, pd1088);
};
};
}
else {
SOURCE(26674, 8)
(void) Line←P6168((* (W2Pt) (( (ptr) formal←c61180)+15) ), (word) (( (bPt) formal←c61180)+36));
};
SOURCE(26684, 71)
lab←L100176: ;
if (((* (( (ptr) formal←c61180)+20) ) != (* (( (ptr) formal←c61180)+17) ))) {
}
else {
goto lab←L100174;
};
SOURCE(26701, 28)
{
word var←c58300;
word c←v43204;
word mod←v43236;
mod←v43236 = (* (( (ptr) (* (( (ptr) formal←c61180)+4) ))+5) );
{
word var←c0956;
SOURCE(2143, 38)
{
word idx1089;
c←v43204 = (
idx1089 = (word) ((* (( (ptr) formal←c61180)+20) ) + 1),
SGNCK(idx1089)
);
};
var←c0956 = c←v43204;
if ((var←c0956 >= mod←v43236)) {
SOURCE(2170, 11)
c←v43204 = (c←v43204 - mod←v43236);
};
SOURCE(2080, 101)
var←c58300 = c←v43204;
};
(* (( (ptr) formal←c61180)+20) ) = var←c58300;
};
SOURCE(26731, 24)
{
W2 var←c58332;
{
W2 var←c58364;
W2 v2←v38680;
{
word idx1090;
word limit1091;
v2←v38680 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal←c61180)+4) ))+6))+(
idx1090 = (* (( (ptr) formal←c61180)+20) ),
limit1091 = (* (( (ptr) (* (( (ptr) formal←c61180)+4) ))+5) ),
BCK(idx1090, limit1091)
)) );
};
SOURCE(1675, 31)
{
word x1092;
word x1093;
*(float*)&var←c58364.f0 = (
x1092 = (* (( (ptr) formal←c61180)+15) ), *(float*)&x1092
) + (
x1093 = v2←v38680.f0, *(float*)&x1093
);
};
{
word x1094;
word x1095;
*(float*)&var←c58364.f1 = (
x1094 = (* (( (ptr) formal←c61180)+16) ), *(float*)&x1094
) + (
x1095 = v2←v38680.f1, *(float*)&x1095
);
};
var←c58332 = var←c58364;
};
{
word pd1096;
pd1096 = (* (( (ptr) formal←c61180)+6) );
(void) ( *( (fPt) ((* (ptr) pd1096 ))))(var←c58332, pd1096);
};
};
goto lab←L100176;
lab←L100174: ;
SOURCE(26766, 15)
(* (( (ptr) formal←c61180)+13) ) = 0;
SOURCE(26783, 12)
(* (( (ptr) formal←c61180)+14) ) = 0;
};
}
static void MapBitPath←P1800(byte←v10680, p0←v10708, v1←v10736, v2←v10764, formal←c01010, formal←c01011)
word byte←v10680;
W2 p0←v10708;
W2 v1←v10736;
W2 v2←v10764;
word formal←c01010;
word formal←c01011;
{
W9 var←c61212;
/* declaration of moveTo←v10792 skipped */
/* declaration of lineTo←v10820 skipped */
/* declaration of var←c58428 skipped */
/* declaration of swap←v23244 skipped */
word k←v23300;
word started←v23328 = 0;
W2 start←v23356;
W2 pi←v23384;
(* (( (ptr) &var←c61212)+4)/* moveTo←v10792 */ ) = formal←c01010;
(* (( (ptr) &var←c61212)+5)/* lineTo←v10820 */ ) = formal←c01011;
/* MapBitPath: */
SOURCE(26906, 638)
{
word tmpAddr1097;
tmpAddr1097 = (word) (( (ptr) &var←c61212)+6)/* var←c58428 */ ;
(* (ptr) tmpAddr1097 ) = ( ((word) (fPt) Emit←P6336) );
(* (( (ptr) tmpAddr1097) + 1) ) = 1;
};
SOURCE(27026, 44)
{
word x1098;
word x1099;
word x1100;
word x1101;
word x1102;
(* (( (ptr) &var←c61212)+8)/* swap←v23244 */ ) = (unsigned) (((
x1098 = v1←v10736.f0, *(float*)&x1098
) * (
x1099 = v2←v10764.f1, *(float*)&x1099
)) - ((
x1100 = v1←v10736.f1, *(float*)&x1100
) * (
x1101 = v2←v10764.f0, *(float*)&x1101
)) < (
x1102 = (* (ptr) &fc34 ), *(float*)&x1102
));
};
SOURCE(27239, 18)
k←v23300 = byte←v10680;
SOURCE(27294, 12)
pi←v23384 = p0←v10708;
SOURCE(27308, 236)
{
register word i←v23544 = 0;
lab←L100182: ;
SOURCE(27332, 175)
if ((k←v23300 >= 128)) {
SOURCE(27351, 11)
k←v23300 = (k←v23300 - 128);
SOURCE(27364, 49)
if ((0 == started←v23328)) {
SOURCE(27386, 14)
started←v23328 = 1;
SOURCE(27402, 11)
start←v23356 = pi←v23384;
};
}
else {
SOURCE(27425, 82)
if ((0 != started←v23328)) {
SOURCE(27443, 31)
{
W2 var←c58460;
{
word x1103;
word x1104;
*(float*)&var←c58460.f0 = (
x1103 = pi←v23384.f0, *(float*)&x1103
) - (
x1104 = start←v23356.f0, *(float*)&x1104
);
};
{
word x1105;
word x1106;
*(float*)&var←c58460.f1 = (
x1105 = pi←v23384.f1, *(float*)&x1105
) - (
x1106 = start←v23356.f1, *(float*)&x1106
);
};
(void) Emit←P6336(start←v23356, v1←v10736, var←c58460, (word) (( (bPt) &var←c61212)+24)/* var←c58428 */ );
};
SOURCE(27476, 15)
started←v23328 = 0;
SOURCE(27493, 14)
if ((k←v23300 == 0)) {
SOURCE(27507, 4)
goto lab←L100180;
};
};
};
SOURCE(27519, 7)
k←v23300 = ((word) k←v23300 << 1);
SOURCE(27528, 16)
{
word var←c58492;
word var←c58524;
{
word x1107;
word x1108;
*(float*)&var←c58492 = (
x1107 = pi←v23384.f0, *(float*)&x1107
) + (
x1108 = v2←v10764.f0, *(float*)&x1108
);
};
{
word x1109;
word x1110;
*(float*)&var←c58524 = (
x1109 = pi←v23384.f1, *(float*)&x1109
) + (
x1110 = v2←v10764.f1, *(float*)&x1110
);
};
pi←v23384.f0 = var←c58492;
pi←v23384.f1 = var←c58524;
};
if ((i←v23544 >= 8)) {
goto lab←L100179;
};
i←v23544 = (i←v23544 + 1);
goto lab←L100182;
lab←L100179: ;
lab←L100180: ;
};
}
static void Emit←P6336(p0←v23460, v1←v23488, v2←v23516, formal←c61244)
W2 p0←v23460;
W2 v1←v23488;
W2 v2←v23516;
word formal←c61244;
{
formal←c61244 = (formal←c61244 - 24);
/* Emit: */
SOURCE(27072, 162)
SOURCE(27105, 44)
if ((0 != (* (( (ptr) formal←c61244)+8) ))) {
SOURCE(27118, 31)
{
W2 t←v23588;
SOURCE(27120, 11)
t←v23588 = v1←v23488;
SOURCE(27133, 7)
v1←v23488 = v2←v23516;
SOURCE(27142, 7)
v2←v23516 = t←v23588;
};
};
SOURCE(27152, 10)
{
word pd1111;
pd1111 = (* (( (ptr) formal←c61244)+4) );
(void) ( *( (fPt) ((* (ptr) pd1111 ))))(p0←v23460, pd1111);
};
SOURCE(27164, 19)
{
W2 var←c58556;
{
word x1112;
word x1113;
*(float*)&var←c58556.f0 = (
x1112 = p0←v23460.f0, *(float*)&x1112
) + (
x1113 = v1←v23488.f0, *(float*)&x1113
);
};
{
word x1114;
word x1115;
*(float*)&var←c58556.f1 = (
x1114 = p0←v23460.f1, *(float*)&x1114
) + (
x1115 = v1←v23488.f1, *(float*)&x1115
);
};
{
word pd1116;
pd1116 = (* (( (ptr) formal←c61244)+5) );
(void) ( *( (fPt) ((* (ptr) pd1116 ))))(var←c58556, pd1116);
};
};
SOURCE(27185, 28)
{
W2 var←c58588;
{
W2 v2←v38632;
{
word x1117;
word x1118;
*(float*)&v2←v38632.f0 = (
x1117 = v1←v23488.f0, *(float*)&x1117
) + (
x1118 = v2←v23516.f0, *(float*)&x1118
);
};
{
word x1119;
word x1120;
*(float*)&v2←v38632.f1 = (
x1119 = v1←v23488.f1, *(float*)&x1119
) + (
x1120 = v2←v23516.f1, *(float*)&x1120
);
};
SOURCE(1675, 31)
{
word x1121;
word x1122;
*(float*)&var←c58588.f0 = (
x1121 = p0←v23460.f0, *(float*)&x1121
) + (
x1122 = v2←v38632.f0, *(float*)&x1122
);
};
{
word x1123;
word x1124;
*(float*)&var←c58588.f1 = (
x1123 = p0←v23460.f1, *(float*)&x1123
) + (
x1124 = v2←v38632.f1, *(float*)&x1124
);
};
};
{
word pd1125;
pd1125 = (* (( (ptr) formal←c61244)+5) );
(void) ( *( (fPt) ((* (ptr) pd1125 ))))(var←c58588, pd1125);
};
};
SOURCE(27215, 19)
{
W2 var←c58716;
{
word x1126;
word x1127;
*(float*)&var←c58716.f0 = (
x1126 = p0←v23460.f0, *(float*)&x1126
) + (
x1127 = v2←v23516.f0, *(float*)&x1127
);
};
{
word x1128;
word x1129;
*(float*)&var←c58716.f1 = (
x1128 = p0←v23460.f1, *(float*)&x1128
) + (
x1129 = v2←v23516.f1, *(float*)&x1129
);
};
{
word pd1130;
pd1130 = (* (( (ptr) formal←c61244)+5) );
(void) ( *( (fPt) ((* (ptr) pd1130 ))))(var←c58716, pd1130);
};
};
}
static void NoName←Q12636(formal←c0867, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0867;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0942 = (ptr) &globalframe;
if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0942)+77)/* var←c46204 */ ))+11) ))) {
{
word flags←v35544;
word vp←v35572;
word clientFixup←v35616;
flags←v35544 = (* (ptr) formal←c200007 );
vp←v35572 = (* (( (ptr) formal←c200007)+1) );
clientFixup←v35616 = 0;
SOURCE(13415, 14)
(* (ptr) formal←c0867 ) = 2;
(* (( (ptr) formal←c0867)+1) ) = 3;
return;
};
};
(* (ptr) formal←c0867 ) = 0;
(* (( (ptr) formal←c0867)+1) ) = 0;
return;
}
static void NoName←Q12696(formal←c0875, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0875;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0943 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0943)+77)/* var←c46204 */ ))+11) ))) {
{
word flags←v35112;
word vp←v35140;
word clientFixup←v35184;
flags←v35112 = (* (ptr) formal←c200003 );
vp←v35140 = (* (( (ptr) formal←c200003)+1) );
clientFixup←v35184 = 0;
SOURCE(13005, 15)
(* (ptr) formal←c0875 ) = 2;
(* (( (ptr) formal←c0875)+1) ) = 2;
return;
};
};
(* (ptr) formal←c0875 ) = 0;
(* (( (ptr) formal←c0875)+1) ) = 0;
return;
}
/* file: ImagerStrokeImpl, module: ImagerStrokeImpl, compiled at: November 1, 1993 12:06:53 pm PST */
extern void XR←install←ImagerStrokeImpl() {
NoName←Q12456();
}
extern void XR←run←ImagerStrokeImpl() { XR←Start(&globalframe); }