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