/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 11, 1993 8:16:29 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGSequenceImpl, module: GGSequenceImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [2857756349,3865378101] GGSequenceImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR_RaiseBoundsFault()) : (idx) ) static float fc520 = 0.0; static void NoName_Q10440(); static void GGSequenceImpl_P0(); static word CreateFromSegments_P60(); static word CreateJointToJoint_P120(); static word CreateEmpty_P180(); static word CreateComplete_P240(); static word CreateFromJoint_P300(); static word CreateFromSegment_P360(); static word CreateSimpleFromSegment_P420(); static word CreateFromControlPoint_P480(); static word Copy_P540(); static word CreateEmptySeq_P600(); static void CopyInto_P660(); static void FillInJoints_P720(); static void FillInControlPoints_P780(); static void TrimSelectedParts_P840(); static void TrimSelectedJointSegments_P900(); static word SomeSelectedJoint_P6480(); static void TrimSelectedControlPointSegments_P960(); static word SomeSelectedCP_P6588(); static void AddNonSelectedJointSegments_P1020(); static word SomeSelectedJoint_P6744(); static void AddNonSelectedControlPointSegments_P1080(); static word SomeSelectedCP_P6852(); static void AddConstrained_P1140(); static word SomeSelectedConstrainer_P7008(); static void AddNewBezier_P1200(); static void DDifference_P1260(); static void DDifferenceSeq_P1320(); static word FindPartsInList_P1380(); static word NewBitMatrixFromSeq_P1440(); static word NewBitMatrix_P1500(); static word NewBitVector_P1560(); static void SetAllBits_P1620(); static word SomeSegCPInSeq_P1680(); static word Union_P1740(); static word Difference_P1800(); static word Intersection_P1860(); static void TrajMovingParts_P1920(); static word FindRubberFromSelected_P1980(); static word Augment_P2040(); static word AugmentClosed_P2100(); static word IsObsolete_P2160(); static word IsEmpty_P2220(); static word IsComplete_P2280(); static word IsConstrained_P2340(); static word Overlap_P2400(); static word CountSegments_P2460(); static word CountJoints_P2520(); static word CountControlPoints_P2580(); static word ContainsSegment_P2640(); static word ContainsSomeSegment_P2700(); static word ContainsSegmentParts_P2760(); static word FirstSegment_P2820(); static word FirstSegNum_P2880(); static word LastSegNum_P2940(); static word ContainsJoint_P3000(); static word FirstJointNum_P3060(); static word LastJointNum_P3120(); static word LastSegAndJoint_P3180(); static word FollowingJoint_P3240(); static void UnpackOnePointSequence_P3300(); static word UnpackOneSegmentSequence_P3360(); static void UnpackSimpleSequence_P3420(); static void RunsInSequence_P3480(); static void RunsInSequenceOpen_P3540(); static void RunsInSequenceClosed_P3600(); static word ControlPointsOnly_P3660(); static word NextSequence_P3720(); static word FirstRun_P3780(); static word FirstTransitionInRun_P3840(); static word AppendToList_P3900(); static void ConsiderJoint_P3960(); static void ConsiderSegment_P4020(); static void ControlPointsTrue_P4080(); static word NATsInInterval_P4140(); static word NextNAT_P4200(); static word SegmentsInTraj_P4260(); static word WalkSegmentsInTraj_P4320(); static word WalkSegmentsInSequence_P4380(); static word CountSegmentsInSequence_P4440(); static word AddEmUp_P9852(); static void NextSegmentAndIndex_P4500(); static word SegmentsInSequence_P4560(); static word OrderedSegmentsInSequence_P4620(); static word NextSegment_P4680(); static word ControlPointsInSequence_P4740(); static void WalkControlPointsInSequence_P4800(); static void NextControlPoint_P4860(); static void NextSegNumAndCPNum_P4920(); static word JointsInSequence_P4980(); static void WalkJointPositionsInSequence_P5040(); static void WalkJointsInSequence_P5100(); static word JointsInTraj_P5160(); static word NextJoint_P5220(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\050\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\007\000"}; static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\160\000\000"}; static struct {unsigned f; char r[4];} string6 = {131074, "\004\011\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\174\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\012\121\313\233\300\012\365\115\261\100\230\000\000"}; static struct {unsigned f; char r[12];} string10 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\012\121\313\233\300\012\365\115\261\100\214\000\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"}; static struct {unsigned f; char r[8];} string13 = {262148, "\004\200@\034\000\000\000"}; static struct {unsigned f; char r[16];} string14 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\144\000\000"}; static struct {unsigned f; char r[4];} string16 = {196611, "\004@\321"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\252\125\346\275\300\346\144\375\065\106\274\000\000"}; static struct {unsigned f; char r[48];} string18 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\107\050\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\107\050\261\000\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\200\000\000"}; static struct {unsigned f; char r[20];} string20 = {1114132, "Broken invariant.\000\000"}; static struct {unsigned f; char r[36];} string21 = {2228260, "there is no break in the sequence.\000"}; static struct {unsigned f; char r[40];} string22 = {2359336, "the first run begins with a segment.\000\000\000"}; static struct {unsigned f; char r[20];} string23 = {1048596, "Broken invariant\000\000\000"}; static struct {unsigned f; char r[8];} string24 = {458760, "Outline"}; static struct {unsigned f; char r[8];} string25 = {262152, "Traj\000\000\000"}; static struct {unsigned f; char r[8];} string26 = {393224, "Bezier\000"}; static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\252\125\346\275\300\346\144\375\065\100\164\000\000"}; static struct {unsigned f; char r[8];} string28 = {458759, "\006\001@P\004@\177"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"}; static struct {unsigned f; char r[8];} string31 = {1195856741, "quence"}; static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string33 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"}; static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"}; static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct { word f0[27]; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129; word f130; word f131; word f132; word f133; word f134; word f135; word f136; word f137; word f138; word f139; word f140; word f141; word f142; word f143; word f144; word f145; word f146; word f147; word f148; word f149; word f150; word f151; word f152; word f153; word f154; word f155; word f156; word f157; word f158; word f159; word f160; word f161; word f162; word f163; word f164; word f165; word f166; word f167; word f168; word f169; word f170; word f171; word f172; word f173; word f174; word f175; word f176; word f177; word f178; word f179; word f180; word f181; word f182; word f183; word f184; word f185; word f186; word f187; word f188; word f189; word f190; word f191; word f192; word f193; word f194; word f195; word f196; word f197; word f198; word f199; word f200; word f201; word f202[9]; } globalframe = { {0}, (word) NextJoint_P5220, 0, (word) JointsInTraj_P5160, 0, (word) WalkJointsInSequence_P5100, 0, (word) WalkJointPositionsInSequence_P5040, 0, (word) JointsInSequence_P4980, 0, (word) NextSegNumAndCPNum_P4920, 0, (word) NextControlPoint_P4860, 0, (word) WalkControlPointsInSequence_P4800, 0, (word) ControlPointsInSequence_P4740, 0, (word) NextSegment_P4680, 0, (word) OrderedSegmentsInSequence_P4620, 0, (word) SegmentsInSequence_P4560, 0, (word) NextSegmentAndIndex_P4500, 0, (word) CountSegmentsInSequence_P4440, 0, (word) WalkSegmentsInSequence_P4380, 0, (word) WalkSegmentsInTraj_P4320, 0, (word) SegmentsInTraj_P4260, 0, (word) NextNAT_P4200, 0, (word) NATsInInterval_P4140, 0, (word) ControlPointsTrue_P4080, 0, (word) ConsiderSegment_P4020, 0, (word) ConsiderJoint_P3960, 0, (word) AppendToList_P3900, 0, (word) FirstTransitionInRun_P3840, 0, (word) FirstRun_P3780, 0, (word) NextSequence_P3720, 0, (word) ControlPointsOnly_P3660, 0, (word) RunsInSequenceClosed_P3600, 0, (word) RunsInSequenceOpen_P3540, 0, (word) RunsInSequence_P3480, 0, (word) UnpackSimpleSequence_P3420, 0, (word) UnpackOneSegmentSequence_P3360, 0, (word) UnpackOnePointSequence_P3300, 0, (word) FollowingJoint_P3240, 0, (word) LastSegAndJoint_P3180, 0, (word) LastJointNum_P3120, 0, (word) FirstJointNum_P3060, 0, (word) ContainsJoint_P3000, 0, (word) LastSegNum_P2940, 0, (word) FirstSegNum_P2880, 0, (word) FirstSegment_P2820, 0, (word) ContainsSegmentParts_P2760, 0, (word) ContainsSomeSegment_P2700, 0, (word) ContainsSegment_P2640, 0, (word) CountControlPoints_P2580, 0, (word) CountJoints_P2520, 0, (word) CountSegments_P2460, 0, (word) Overlap_P2400, 0, (word) IsConstrained_P2340, 0, (word) IsComplete_P2280, 0, (word) IsEmpty_P2220, 0, (word) IsObsolete_P2160, 0, (word) AugmentClosed_P2100, 0, (word) Augment_P2040, 0, (word) FindRubberFromSelected_P1980, 0, (word) TrajMovingParts_P1920, 0, (word) Intersection_P1860, 0, (word) Difference_P1800, 0, (word) Union_P1740, 0, (word) SomeSegCPInSeq_P1680, 0, (word) SetAllBits_P1620, 0, (word) NewBitVector_P1560, 0, (word) NewBitMatrix_P1500, 0, (word) NewBitMatrixFromSeq_P1440, 0, (word) FindPartsInList_P1380, 0, (word) DDifferenceSeq_P1320, 0, (word) DDifference_P1260, 0, (word) AddNewBezier_P1200, 0, (word) AddConstrained_P1140, 0, (word) AddNonSelectedControlPointSegments_P1080, 0, (word) AddNonSelectedJointSegments_P1020, 0, (word) TrimSelectedControlPointSegments_P960, 0, (word) TrimSelectedJointSegments_P900, 0, (word) TrimSelectedParts_P840, 0, (word) FillInControlPoints_P780, 0, (word) FillInJoints_P720, 0, (word) CopyInto_P660, 0, (word) CreateEmptySeq_P600, 0, (word) Copy_P540, 0, (word) CreateFromControlPoint_P480, 0, (word) CreateSimpleFromSegment_P420, 0, (word) CreateFromSegment_P360, 0, (word) CreateFromJoint_P300, 0, (word) CreateComplete_P240, 0, (word) CreateEmpty_P180, 0, (word) CreateJointToJoint_P120, 0, (word) CreateFromSegments_P60, 0, (word) GGSequenceImpl_P0, {0} }; static void NoName_Q10440() { register ptr gf_c01103 = (ptr) &globalframe; word var_c59052; (* (( (ptr) gf_c01103)+5) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf_c01103)+6) ) = (word) XR_GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf_c01103)+9) ) = (word) XR_GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf_c01103)+10) ) = (word) XR_GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf_c01103)+11) ) = (word) XR_GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf_c01103)+12) ) = (word) XR_GetTypeIndexS((word) (&string11)); (* (( (ptr) gf_c01103)+13) ) = (word) XR_GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf_c01103)+15) ) = (word) XR_GetTypeIndex((word) &string14, 0, (word) &string4); (* (( (ptr) gf_c01103)+16) ) = (word) XR_GetTypeIndex((word) &string15, 0, (word) &string16); (* (( (ptr) gf_c01103)+17) ) = (word) XR_GetTypeIndexS((word) (&string17)); (* (( (ptr) gf_c01103)+18) ) = (word) XR_GetTypeIndex((word) &string18, 0, (word) &string8); (* (( (ptr) gf_c01103)+19) ) = (word) XR_GetTypeIndex((word) &string19, 0, (word) &string4); (* (ptr) (( (bPt) gf_c01103)+80) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+15) ), (word) &string20); (* (ptr) (( (bPt) gf_c01103)+84) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+15) ), (word) &string21); (* (ptr) (( (bPt) gf_c01103)+88) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+15) ), (word) &string22); (* (ptr) (( (bPt) gf_c01103)+92) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+15) ), (word) &string23); (* (ptr) (( (bPt) gf_c01103)+96) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+6) ), (word) &string24); (* (ptr) (( (bPt) gf_c01103)+100) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+6) ), (word) &string25); (* (ptr) (( (bPt) gf_c01103)+104) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01103)+6) ), (word) &string26); (void) XR_DeclareGlobalFrame((word) "GGSequenceImpl", &globalframe, (word) XR_GetTypeIndex((word) &string27, 0, (word) &string28) , (word) (( (bPt) gf_c01103)+804)/* var_c43340 */ ); var_c59052 = (word) XR_ImportInterface((word) "Feedback", (word) XR_GetTypeIndexS((word) (&string29)), 25); (* (( (ptr) gf_c01103)+203)/* var_c43372 */ ) = var_c59052; var_c59052 = (word) XR_ImportInterface((word) "GGParent", (word) XR_GetTypeIndexS((word) (&string30)), 83); (* (( (ptr) gf_c01103)+206)/* var_c49388 */ ) = var_c59052; (void) XR_ImportProcS(var_c59052, 67653890); var_c59052 = (word) XR_ImportInterface((word) &string31, (word) XR_GetTypeIndexS((word) (&string32)), 58); (* (( (ptr) gf_c01103)+207)/* var_c49644 */ ) = var_c59052; (void) XR_ImportProcS(var_c59052, 67376641); (void) XR_ImportProcS(var_c59052, 67381761); (void) XR_ImportProcS(var_c59052, 67380225); var_c59052 = (word) XR_ImportInterface((word) "GGSlice", (word) XR_GetTypeIndexS((word) (&string33)), 128); (* (( (ptr) gf_c01103)+208)/* var_c50668 */ ) = var_c59052; (void) XR_ImportProcS(var_c59052, 67634178); var_c59052 = (word) XR_ImportInterface((word) "GGSliceOps", (word) XR_GetTypeIndexS((word) (&string34)), 73); (* (( (ptr) gf_c01103)+205)/* var_c49356 */ ) = var_c59052; (void) XR_ImportProcS(var_c59052, 67371521); var_c59052 = (word) XR_ImportInterface((word) "GGTraj", (word) XR_GetTypeIndexS((word) (&string35)), 55); (* (( (ptr) gf_c01103)+204)/* var_c43500 */ ) = var_c59052; (void) XR_ImportProcS(var_c59052, 134749442); (void) XR_ImportProcS(var_c59052, 67639810); (void) XR_ImportProcS(var_c59052, 67640066); (void) XR_ImportProcS(var_c59052, 67643138); (void) XR_ImportProcS(var_c59052, 67642882); (void) XR_ImportProcS(var_c59052, 67639554); (void) XR_ImportProcS(var_c59052, 67643394); (void) XR_ImportProcS(var_c59052, 67379713); (void) XR_ImportProcS(var_c59052, 67380225); var_c59052 = (word) XR_ImportInterface((word) "GGUtility", (word) XR_GetTypeIndexS((word) (&string36)), 42); (* (( (ptr) gf_c01103)+209)/* var_c54860 */ ) = var_c59052; (void) XR_ImportProcS(var_c59052, 67378689); var_c59052 = (word) XR_ExportInterface((word) &string31, (word) XR_GetTypeIndexS((word) (&string32)), 58); (* (( (ptr) gf_c01103)+210)/* var_c59084 */ ) = var_c59052; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+796)/* var_c43308 */ , 67895299, (word) "CreateFromSegments") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+788)/* var_c43276 */ , 67895555, (word) "CreateJointToJoint") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+780)/* var_c43244 */ , 67371521, (word) "CreateEmpty"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+772)/* var_c43212 */ , 67371777, (word) "CreateComplete"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+764)/* var_c43180 */ , 67634178, (word) "CreateFromJoint"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+756)/* var_c43148 */ , 67634434, (word) "CreateFromSegment") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+748)/* var_c43116 */ , 67634690, (word) "CreateSimpleFromSegment") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+740)/* var_c43084 */ , 67897091, (word) "CreateFromControlPoint") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+732)/* var_c43052 */ , 67373057, (word) "Copy"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+716)/* var_c42988 */ , 526594, (word) "CopyInto"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+708)/* var_c42956 */ , 264705, (word) "FillInJoints"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+700)/* var_c42924 */ , 264961, (word) "FillInControlPoints") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+692)/* var_c42892 */ , 527362, (word) "TrimSelectedParts"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+684)/* var_c42860 */ , 527618, (word) "TrimSelectedJointSegments") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+676)/* var_c42828 */ , 527874, (word) "TrimSelectedControlPointSegments") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+636)/* var_c42668 */ , 528130, (word) "DDifference"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+572)/* var_c42412 */ , 67637250, (word) "Union"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+564)/* var_c42380 */ , 67637506, (word) "Difference"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+556)/* var_c42348 */ , 67637762, (word) "Intersection"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+548)/* var_c42316 */ , 270537476, (word) "TrajMovingParts"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+532)/* var_c42252 */ , 67900419, (word) "Augment"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+508)/* var_c42156 */ , 67376385, (word) "IsEmpty"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+500)/* var_c42124 */ , 67376641, (word) "IsComplete"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+492)/* var_c42092 */ , 68163332, (word) "IsConstrained"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+484)/* var_c42060 */ , 67639298, (word) "Overlap"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+404)/* var_c41740 */ , 67639554, (word) "ContainsJoint"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+452)/* var_c41932 */ , 67639810, (word) "ContainsSegment"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+444)/* var_c41900 */ , 67377921, (word) "ContainsSomeSegment") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+436)/* var_c41868 */ , 67640322, (word) "ContainsSegmentParts") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+380)/* var_c41644 */ , 67640578, (word) "LastSegAndJoint"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+364)/* var_c41580 */ , 268705281, (word) "UnpackOnePointSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+356)/* var_c41548 */ , 67378945, (word) "UnpackOneSegmentSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+348)/* var_c41516 */ , 671621122, (word) "UnpackSimpleSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+340)/* var_c41484 */ , 134488321, (word) "RunsInSequence"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+308)/* var_c41356 */ , 67379713, (word) "NextSequence"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+300)/* var_c41324 */ , 67379969, (word) "FirstRun"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+236)/* var_c41068 */ , 67380225, (word) "SegmentsInTraj"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+228)/* var_c41036 */ , 67642626, (word) "WalkSegmentsInTraj") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+196)/* var_c40908 */ , 67642882, (word) "SegmentsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+220)/* var_c41004 */ , 67905283, (word) "WalkSegmentsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+212)/* var_c40972 */ , 67643394, (word) "CountSegmentsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+188)/* var_c40876 */ , 67643650, (word) "OrderedSegmentsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+180)/* var_c40844 */ , 67381761, (word) "NextSegment"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+204)/* var_c40940 */ , 134490881, (word) "NextSegmentAndIndex") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+172)/* var_c40812 */ , 67644418, (word) "ControlPointsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+164)/* var_c40780 */ , 797955, (word) "WalkControlPointsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+156)/* var_c40748 */ , 201600513, (word) "NextControlPoint") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+148)/* var_c40716 */ , 201600769, (word) "NextSegNumAndCPNum") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+140)/* var_c40684 */ , 67383553, (word) "JointsInSequence"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+124)/* var_c40620 */ , 799235, (word) "WalkJointsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+132)/* var_c40652 */ , 799491, (word) "WalkJointPositionsInSequence") ; (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+116)/* var_c40588 */ , 67384321, (word) "JointsInTraj"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+396)/* var_c41708 */ , 67384577, (word) "FirstJointNum"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+388)/* var_c41676 */ , 67646978, (word) "LastJointNum"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+420)/* var_c41804 */ , 67385089, (word) "FirstSegNum"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+412)/* var_c41772 */ , 67647490, (word) "LastSegNum"); (void) XR_ExportProcS(var_c59052, (word) (( (bPt) gf_c01103)+108)/* var_c40556 */ , 67385601, (word) "NextJoint"); } static void GGSequenceImpl_P0(formal_c0102, formal_c0101) word formal_c0102; word formal_c0101; { register ptr gf_c59116 = (ptr) &globalframe; /* GGSequenceImpl: */ SOURCE(172, 45725) SOURCE(1987, 24) (* (( (ptr) gf_c59116)+4)/* Problem_v3952 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf_c59116)+203)/* var_c43372 */ ))+28) ) ); } static word CreateFromSegments_P60(traj_v6584, startSeg_v6612, endSeg_v6640) word traj_v6584; word startSeg_v6612; word endSeg_v6640; { register ptr gf_c59148 = (ptr) &globalframe; word seq_v6684; word segCount_v18576; word temp_v18604; /* CreateFromSegments: */ SOURCE(2049, 1201) SOURCE(2049, 1201) seq_v6684 = 0; SOURCE(2171, 61) if ((startSeg_v6612 >= (* (( (ptr) traj_v6584)+1) )) || (endSeg_v6640 >= (* (( (ptr) traj_v6584)+1) ))) { SOURCE(2232, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(2239, 74) if ((startSeg_v6612 == endSeg_v6640)) { SOURCE(2266, 39) seq_v6684 = (word) CreateFromSegment_P360(traj_v6584, startSeg_v6612); SOURCE(2307, 6) return(seq_v6684); }; SOURCE(2316, 307) if (((* (ptr) traj_v6584 ) == 2)) { SOURCE(2343, 76) if ((startSeg_v6612 > endSeg_v6640)) { SOURCE(2370, 15) temp_v18604 = startSeg_v6612; SOURCE(2387, 17) startSeg_v6612 = endSeg_v6640; SOURCE(2406, 13) endSeg_v6640 = temp_v18604; }; SOURCE(2422, 32) { word idx37; segCount_v18576 = ( idx37 = (word) ((endSeg_v6640 - startSeg_v6612) + 1), SGNCK(idx37) ); }; } else { SOURCE(2465, 85) if ((startSeg_v6612 == ((endSeg_v6640 + 1) % (* (( (ptr) traj_v6584)+1) )))) { SOURCE(2516, 26) seq_v6684 = (word) CreateComplete_P240(traj_v6584); SOURCE(2544, 6) return(seq_v6684); }; SOURCE(2553, 70) { word idx38; segCount_v18576 = ( idx38 = (word) (IOP2( % , (int)((endSeg_v6640 - startSeg_v6612) + (* (( (ptr) traj_v6584)+1) )), (int)(* (( (ptr) traj_v6584)+1) )) + 1), SGNCK(idx38) ); }; }; SOURCE(2628, 288) { word var_c43404; word var_c43436; word var_c43532; word var_c43564; var_c43404 = (word) NewBitVector_P1560((* ((( (ptr) traj_v6584)+1)) )); { word var_c43468; { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf_c59148)+204)/* var_c43500 */ ))+40) ); var_c43468 = ((word) ( *( (fPt) ((* (ptr) pd39 ))))(traj_v6584, pd39) + 1); }; var_c43436 = (word) NewBitVector_P1560(var_c43468); }; var_c43532 = (word) NewBitMatrix_P1500(traj_v6584); var_c43564 = XR_NewObject(24, (* (( (ptr) gf_c59148)+5) )); (* (ptr) var_c43564 ) = var_c43404; (* (( (ptr) var_c43564)+1) ) = var_c43436; (* (( (ptr) var_c43564)+2) ) = var_c43532; (* (( (ptr) var_c43564)+3) ) = segCount_v18576; seq_v6684 = var_c43564; }; SOURCE(2918, 332) if ((startSeg_v6612 < endSeg_v6640)) { SOURCE(2946, 58) { register word i_v18648; register word noName_c43596; i_v18648 = startSeg_v6612; noName_c43596 = endSeg_v6640; if ((i_v18648 > noName_c43596)) { goto lab_L100000; }; lab_L100003: ; SOURCE(2982, 22) { word var_c43628; var_c43628 = (* (ptr) seq_v6684 ); { word limit40; word xs41; xs41 = (word) ( limit40 = (* (ptr) var_c43628 ), BCK(i_v18648, limit40) ); (* (bPt) ((( (bPt) var_c43628)+4) + ((word) xs41 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs41 & 7)+1)); }; }; if ((i_v18648 >= noName_c43596)) { goto lab_L100000; }; i_v18648 = (i_v18648 + 1); goto lab_L100003; lab_L100000: ; }; SOURCE(3015, 17) (void) FillInJoints_P720(seq_v6684); SOURCE(3034, 24) (void) FillInControlPoints_P780(seq_v6684); } else { SOURCE(3069, 65) { register word i_v18692; register word noName_c43660; i_v18692 = startSeg_v6612; noName_c43660 = (* (( (ptr) traj_v6584)+1) ); if ((i_v18692 >= noName_c43660)) { goto lab_L100004; }; lab_L100007: ; SOURCE(3112, 22) { word var_c43692; var_c43692 = (* (ptr) seq_v6684 ); { word limit42; word xs43; xs43 = (word) ( limit42 = (* (ptr) var_c43692 ), BCK(i_v18692, limit42) ); (* (bPt) ((( (bPt) var_c43692)+4) + ((word) xs43 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs43 & 7)+1)); }; }; i_v18692 = (i_v18692 + 1); if ((i_v18692 < noName_c43660)) { goto lab_L100007; }; lab_L100004: ; }; SOURCE(3145, 51) { register word i_v18736 = 0; register word noName_c43724; noName_c43724 = endSeg_v6640; if ((i_v18736 > noName_c43724)) { goto lab_L100008; }; lab_L100011: ; SOURCE(3174, 22) { word var_c43756; var_c43756 = (* (ptr) seq_v6684 ); { word limit44; word xs45; xs45 = (word) ( limit44 = (* (ptr) var_c43756 ), BCK(i_v18736, limit44) ); (* (bPt) ((( (bPt) var_c43756)+4) + ((word) xs45 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs45 & 7)+1)); }; }; if ((i_v18736 >= noName_c43724)) { goto lab_L100008; }; i_v18736 = (i_v18736 + 1); goto lab_L100011; lab_L100008: ; }; SOURCE(3207, 17) (void) FillInJoints_P720(seq_v6684); SOURCE(3226, 24) (void) FillInControlPoints_P780(seq_v6684); }; SOURCE(2049, 1201) return(seq_v6684); } static word CreateJointToJoint_P120(traj_v6744, startJoint_v6772, endJoint_v6800) word traj_v6744; word startJoint_v6772; word endJoint_v6800; { register ptr gf_c59180 = (ptr) &globalframe; word seq_v6844; word temp_v18780; word hiJoint_v18808; /* CreateJointToJoint: */ SOURCE(3259, 1450) SOURCE(3259, 1450) seq_v6844 = 0; SOURCE(3384, 34) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf_c59180)+204)/* var_c43500 */ ))+40) ); hiJoint_v18808 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(traj_v6744, pd46); }; SOURCE(3420, 103) if ( ( ( ((* (ptr) traj_v6744 ) == 2) ? (startJoint_v6772 == 0) : 0 ) ? (endJoint_v6800 == hiJoint_v18808) : 0 ) ) { SOURCE(3489, 26) seq_v6844 = (word) CreateComplete_P240(traj_v6744); SOURCE(3517, 6) return(seq_v6844); }; SOURCE(3526, 1154) if (((* (ptr) traj_v6744 ) == 2) || (startJoint_v6772 < endJoint_v6800)) { SOURCE(3578, 88) if ((startJoint_v6772 > endJoint_v6800)) { SOURCE(3609, 17) temp_v18780 = startJoint_v6772; SOURCE(3628, 21) startJoint_v6772 = endJoint_v6800; SOURCE(3651, 15) endJoint_v6800 = temp_v18780; }; SOURCE(3669, 45) if ((endJoint_v6800 > hiJoint_v18808)) { SOURCE(3714, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(3721, 267) { word var_c43788; word var_c43820; word var_c43852; word var_c43884; var_c43788 = (word) NewBitVector_P1560((* ((( (ptr) traj_v6744)+1)) )); var_c43820 = (word) NewBitVector_P1560((hiJoint_v18808 + 1)); var_c43852 = (word) NewBitMatrix_P1500(traj_v6744); var_c43884 = XR_NewObject(24, (* (( (ptr) gf_c59180)+5) )); (* (ptr) var_c43884 ) = var_c43788; (* (( (ptr) var_c43884)+1) ) = var_c43820; (* (( (ptr) var_c43884)+2) ) = var_c43852; (* (( (ptr) var_c43884)+3) ) = (endJoint_v6800 - startJoint_v6772); { word idx47; (* (( (ptr) var_c43884)+4) ) = ( idx47 = (word) ((endJoint_v6800 - startJoint_v6772) + 1), SGNCK(idx47) ); }; seq_v6844 = var_c43884; }; SOURCE(3990, 84) { register word i_v18852; register word noName_c43916; i_v18852 = startJoint_v6772; noName_c43916 = endJoint_v6800; if ((i_v18852 >= noName_c43916)) { goto lab_L100012; }; lab_L100015: ; SOURCE(4030, 22) { word var_c43948; var_c43948 = (* (ptr) seq_v6844 ); { word limit48; word xs49; xs49 = (word) ( limit48 = (* (ptr) var_c43948 ), BCK(i_v18852, limit48) ); (* (bPt) ((( (bPt) var_c43948)+4) + ((word) xs49 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs49 & 7)+1)); }; }; SOURCE(4054, 20) { word var_c43980; var_c43980 = (* (( (ptr) seq_v6844)+1) ); { word limit50; word xs51; xs51 = (word) ( limit50 = (* (ptr) var_c43980 ), BCK(i_v18852, limit50) ); (* (bPt) ((( (bPt) var_c43980)+4) + ((word) xs51 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs51 & 7)+1)); }; }; i_v18852 = (i_v18852 + 1); if ((i_v18852 < noName_c43916)) { goto lab_L100015; }; lab_L100012: ; }; SOURCE(4085, 27) { word var_c44012; var_c44012 = (* (( (ptr) seq_v6844)+1) ); { word limit52; word xs53; xs53 = (word) ( limit52 = (* (ptr) var_c44012 ), BCK(endJoint_v6800, limit52) ); (* (bPt) ((( (bPt) var_c44012)+4) + ((word) xs53 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs53 & 7)+1)); }; }; } else { SOURCE(4123, 78) if ((startJoint_v6772 == endJoint_v6800)) { SOURCE(4154, 39) seq_v6844 = (word) CreateFromJoint_P300(traj_v6744, startJoint_v6772); SOURCE(4195, 6) return(seq_v6844); }; SOURCE(4204, 261) { word var_c44044; word var_c44076; word var_c44108; word var_c44140; var_c44044 = (word) NewBitVector_P1560((* ((( (ptr) traj_v6744)+1)) )); var_c44076 = (word) NewBitVector_P1560((hiJoint_v18808 + 1)); var_c44108 = (word) NewBitMatrix_P1500(traj_v6744); var_c44140 = XR_NewObject(24, (* (( (ptr) gf_c59180)+5) )); (* (ptr) var_c44140 ) = var_c44044; (* (( (ptr) var_c44140)+1) ) = var_c44076; (* (( (ptr) var_c44140)+2) ) = var_c44108; (* (( (ptr) var_c44140)+3) ) = (((* (( (ptr) traj_v6744)+1) ) - startJoint_v6772) + endJoint_v6800); { word idx54; (* (( (ptr) var_c44140)+4) ) = ( idx54 = (word) ((((* (( (ptr) traj_v6744)+1) ) - startJoint_v6772) + endJoint_v6800) + 1), SGNCK(idx54) ); }; seq_v6844 = var_c44140; }; SOURCE(4467, 89) { register word i_v18896; register word noName_c44172; i_v18896 = startJoint_v6772; noName_c44172 = (* (( (ptr) traj_v6744)+1) ); if ((i_v18896 >= noName_c44172)) { goto lab_L100016; }; lab_L100019: ; SOURCE(4512, 22) { word var_c44204; var_c44204 = (* (ptr) seq_v6844 ); { word limit55; word xs56; xs56 = (word) ( limit55 = (* (ptr) var_c44204 ), BCK(i_v18896, limit55) ); (* (bPt) ((( (bPt) var_c44204)+4) + ((word) xs56 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs56 & 7)+1)); }; }; SOURCE(4536, 20) { word var_c44236; var_c44236 = (* (( (ptr) seq_v6844)+1) ); { word limit57; word xs58; xs58 = (word) ( limit57 = (* (ptr) var_c44236 ), BCK(i_v18896, limit57) ); (* (bPt) ((( (bPt) var_c44236)+4) + ((word) xs58 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs58 & 7)+1)); }; }; i_v18896 = (i_v18896 + 1); if ((i_v18896 < noName_c44172)) { goto lab_L100019; }; lab_L100016: ; }; SOURCE(4567, 75) { register word i_v18940 = 0; register word noName_c44268; noName_c44268 = endJoint_v6800; if ((i_v18940 >= noName_c44268)) { goto lab_L100020; }; lab_L100023: ; SOURCE(4598, 22) { word var_c44300; var_c44300 = (* (ptr) seq_v6844 ); { word limit59; word xs60; xs60 = (word) ( limit59 = (* (ptr) var_c44300 ), BCK(i_v18940, limit59) ); (* (bPt) ((( (bPt) var_c44300)+4) + ((word) xs60 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs60 & 7)+1)); }; }; SOURCE(4622, 20) { word var_c44332; var_c44332 = (* (( (ptr) seq_v6844)+1) ); { word limit61; word xs62; xs62 = (word) ( limit61 = (* (ptr) var_c44332 ), BCK(i_v18940, limit61) ); (* (bPt) ((( (bPt) var_c44332)+4) + ((word) xs62 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs62 & 7)+1)); }; }; i_v18940 = (i_v18940 + 1); if ((i_v18940 < noName_c44268)) { goto lab_L100023; }; lab_L100020: ; }; SOURCE(4653, 27) { word var_c44364; var_c44364 = (* (( (ptr) seq_v6844)+1) ); { word limit63; word xs64; xs64 = (word) ( limit63 = (* (ptr) var_c44364 ), BCK(endJoint_v6800, limit63) ); (* (bPt) ((( (bPt) var_c44364)+4) + ((word) xs64 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs64 & 7)+1)); }; }; }; SOURCE(4685, 24) (void) FillInControlPoints_P780(seq_v6844); SOURCE(3259, 1450) return(seq_v6844); } static word CreateEmpty_P180(traj_v6904) word traj_v6904; { register ptr gf_c59212 = (ptr) &globalframe; word seq_v6948; /* CreateEmpty: */ SOURCE(4745, 273) SOURCE(4745, 273) seq_v6948 = 0; SOURCE(4816, 202) { word var_c44396; word var_c44428; word var_c44492; word var_c44524; var_c44396 = (word) NewBitVector_P1560((* ((( (ptr) traj_v6904)+1)) )); { word var_c44460; { word pd65; pd65 = (* (( (ptr) (* (( (ptr) gf_c59212)+204)/* var_c43500 */ ))+40) ); var_c44460 = ((word) ( *( (fPt) ((* (ptr) pd65 ))))(traj_v6904, pd65) + 1); }; var_c44428 = (word) NewBitVector_P1560(var_c44460); }; var_c44492 = (word) NewBitMatrix_P1500(traj_v6904); var_c44524 = XR_NewObject(24, (* (( (ptr) gf_c59212)+5) )); (* (ptr) var_c44524 ) = var_c44396; (* (( (ptr) var_c44524)+1) ) = var_c44428; (* (( (ptr) var_c44524)+2) ) = var_c44492; seq_v6948 = var_c44524; }; SOURCE(4745, 273) return(seq_v6948); } static word CreateComplete_P240(traj_v7008) word traj_v7008; { register ptr gf_c59244 = (ptr) &globalframe; word seq_v7052; word jointCount_v18984; /* CreateComplete: */ SOURCE(5024, 565) SOURCE(5024, 565) seq_v7052 = 0; SOURCE(5098, 46) { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf_c59244)+204)/* var_c43500 */ ))+40) ); jointCount_v18984 = ((word) ( *( (fPt) ((* (ptr) pd66 ))))(traj_v7008, pd66) + 1); }; SOURCE(5146, 237) { word var_c44556; word var_c44588; word var_c44620; word var_c44652; var_c44556 = (word) NewBitVector_P1560((* ((( (ptr) traj_v7008)+1)) )); var_c44588 = (word) NewBitVector_P1560(jointCount_v18984); var_c44620 = (word) NewBitMatrix_P1500(traj_v7008); var_c44652 = XR_NewObject(24, (* (( (ptr) gf_c59244)+5) )); (* (ptr) var_c44652 ) = var_c44556; (* (( (ptr) var_c44652)+1) ) = var_c44588; (* (( (ptr) var_c44652)+2) ) = var_c44620; (* (( (ptr) var_c44652)+3) ) = (* (( (ptr) traj_v7008)+1) ); (* (( (ptr) var_c44652)+4) ) = jointCount_v18984; seq_v7052 = var_c44652; }; SOURCE(5385, 93) { register word i_v19028 = 0; register word noName_c44684; { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf_c59244)+204)/* var_c43500 */ ))+38) ); noName_c44684 = (word) ( *( (fPt) ((* (ptr) pd67 ))))(traj_v7008, pd67); }; if ((i_v19028 > noName_c44684)) { goto lab_L100024; }; lab_L100027: ; SOURCE(5434, 22) { word var_c44716; var_c44716 = (* (ptr) seq_v7052 ); { word limit68; word xs69; xs69 = (word) ( limit68 = (* (ptr) var_c44716 ), BCK(i_v19028, limit68) ); (* (bPt) ((( (bPt) var_c44716)+4) + ((word) xs69 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs69 & 7)+1)); }; }; SOURCE(5458, 20) { word var_c44748; var_c44748 = (* (( (ptr) seq_v7052)+1) ); { word limit70; word xs71; xs71 = (word) ( limit70 = (* (ptr) var_c44748 ), BCK(i_v19028, limit70) ); (* (bPt) ((( (bPt) var_c44748)+4) + ((word) xs71 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs71 & 7)+1)); }; }; if ((i_v19028 >= noName_c44684)) { goto lab_L100024; }; i_v19028 = (i_v19028 + 1); goto lab_L100027; lab_L100024: ; }; SOURCE(5489, 31) { word var_c44780; word var_c44812; var_c44780 = (jointCount_v18984 - 1); var_c44812 = (* (( (ptr) seq_v7052)+1) ); { word limit72; word xs73; xs73 = (word) ( limit72 = (* (ptr) var_c44812 ), BCK(var_c44780, limit72) ); (* (bPt) ((( (bPt) var_c44812)+4) + ((word) xs73 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs73 & 7)+1)); }; }; SOURCE(5565, 24) (void) FillInControlPoints_P780(seq_v7052); SOURCE(5024, 565) return(seq_v7052); } static word CreateFromJoint_P300(traj_v7112, jointNum_v7140) word traj_v7112; word jointNum_v7140; { word seq_v7184; /* CreateFromJoint: */ SOURCE(5625, 162) SOURCE(5625, 162) seq_v7184 = 0; SOURCE(5715, 23) seq_v7184 = (word) CreateEmpty_P180(traj_v7112); SOURCE(5740, 27) { word var_c44844; var_c44844 = (* (( (ptr) seq_v7184)+1) ); { word limit74; word xs75; xs75 = (word) ( limit74 = (* (ptr) var_c44844 ), BCK(jointNum_v7140, limit74) ); (* (bPt) ((( (bPt) var_c44844)+4) + ((word) xs75 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs75 & 7)+1)); }; }; SOURCE(5769, 18) (* (( (ptr) seq_v7184)+4) ) = 1; SOURCE(5625, 162) return(seq_v7184); } static word CreateFromSegment_P360(traj_v7244, segNum_v7272) word traj_v7244; word segNum_v7272; { word seq_v7316; /* CreateFromSegment: */ SOURCE(5793, 205) SOURCE(5793, 205) seq_v7316 = 0; SOURCE(5883, 23) seq_v7316 = (word) CreateEmpty_P180(traj_v7244); SOURCE(5908, 27) { word var_c44876; var_c44876 = (* (ptr) seq_v7316 ); { word limit76; word xs77; xs77 = (word) ( limit76 = (* (ptr) var_c44876 ), BCK(segNum_v7272, limit76) ); (* (bPt) ((( (bPt) var_c44876)+4) + ((word) xs77 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs77 & 7)+1)); }; }; SOURCE(5937, 16) (* (( (ptr) seq_v7316)+3) ) = 1; SOURCE(5955, 17) (void) FillInJoints_P720(seq_v7316); SOURCE(5974, 24) (void) FillInControlPoints_P780(seq_v7316); SOURCE(5793, 205) return(seq_v7316); } static word CreateSimpleFromSegment_P420(traj_v7376, segNum_v7404) word traj_v7376; word segNum_v7404; { word seq_v7448; /* CreateSimpleFromSegment: */ SOURCE(6034, 166) SOURCE(6034, 166) seq_v7448 = 0; SOURCE(6130, 23) seq_v7448 = (word) CreateEmpty_P180(traj_v7376); SOURCE(6155, 27) { word var_c44908; var_c44908 = (* (ptr) seq_v7448 ); { word limit78; word xs79; xs79 = (word) ( limit78 = (* (ptr) var_c44908 ), BCK(segNum_v7404, limit78) ); (* (bPt) ((( (bPt) var_c44908)+4) + ((word) xs79 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs79 & 7)+1)); }; }; SOURCE(6184, 16) (* (( (ptr) seq_v7448)+3) ) = 1; SOURCE(6034, 166) return(seq_v7448); } static word CreateFromControlPoint_P480(traj_v7508, segNum_v7536, controlPointNum_v7564) word traj_v7508; word segNum_v7536; word controlPointNum_v7564; { word seq_v7608; /* CreateFromControlPoint: */ SOURCE(6206, 218) SOURCE(6206, 218) seq_v7608 = 0; SOURCE(6323, 23) seq_v7608 = (word) CreateEmpty_P180(traj_v7508); SOURCE(6348, 49) { word var_c44972; { word var_c44940; var_c44940 = (* (( (ptr) seq_v7608)+2) ); { word limit80; var_c44972 = (* ((( (ptr) var_c44940)+1)+( limit80 = (* (ptr) var_c44940 ), BCK(segNum_v7536, limit80) )) ); }; }; { word limit81; word xs82; xs82 = (word) ( limit81 = (* (ptr) var_c44972 ), BCK(controlPointNum_v7564, limit81) ); (* (bPt) ((( (bPt) var_c44972)+4) + ((word) xs82 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs82 & 7)+1)); }; }; SOURCE(6399, 25) (* (( (ptr) seq_v7608)+5) ) = 1; SOURCE(6206, 218) return(seq_v7608); } static word Copy_P540(seq_v7668) word seq_v7668; { register ptr gf_c59276 = (ptr) &globalframe; word copy_v7712; /* Copy: */ SOURCE(6430, 667) SOURCE(6430, 667) copy_v7712 = 0; SOURCE(6495, 27) if ((seq_v7668 == 0)) { SOURCE(6511, 11) return(0); }; SOURCE(6524, 244) { word var_c45004; word var_c45036; word var_c45068; word var_c45100; var_c45004 = (word) NewBitVector_P1560((* (ptr) ((* (ptr) seq_v7668 )) )); var_c45036 = (word) NewBitVector_P1560((* (ptr) ((* (( (ptr) seq_v7668)+1) )) )); var_c45068 = (word) NewBitMatrixFromSeq_P1440(seq_v7668); var_c45100 = XR_NewObject(24, (* (( (ptr) gf_c59276)+5) )); (* (ptr) var_c45100 ) = var_c45004; (* (( (ptr) var_c45100)+1) ) = var_c45036; (* (( (ptr) var_c45100)+2) ) = var_c45068; (* (( (ptr) var_c45100)+3) ) = (* (( (ptr) seq_v7668)+3) ); (* (( (ptr) var_c45100)+4) ) = (* (( (ptr) seq_v7668)+4) ); (* (( (ptr) var_c45100)+5) ) = (* (( (ptr) seq_v7668)+5) ); copy_v7712 = var_c45100; }; SOURCE(6770, 73) { register word i_v19072 = 0; register word noName_c45132; noName_c45132 = (* (ptr) (* (ptr) seq_v7668 ) ); if ((i_v19072 >= noName_c45132)) { goto lab_L100028; }; lab_L100031: ; SOURCE(6809, 34) { word var_c45196; var_c45196 = (* (ptr) copy_v7712 ); { word var_c45164; var_c45164 = (* (ptr) seq_v7668 ); { word limit83; word limit84; word xs85; word x86; xs85 = (word) ( limit84 = (* (ptr) var_c45196 ), BCK(i_v19072, limit84) ); x86 = (word) ((( (bPt) var_c45196)+4) + ((word) xs85 >> 3)); xs85 = 8 - ((word) (xs85 & 7)+1); (* (bPt) x86 ) = ((* (bPt) x86 ) & ( ~ ((unsigned) 1 << xs85))) | (((XR_ExtractField(var_c45164, 32 + (word) ( limit83 = (* (ptr) var_c45164 ), BCK(i_v19072, limit83) ), 1))) << xs85); }; }; }; i_v19072 = (i_v19072 + 1); if ((i_v19072 < noName_c45132)) { goto lab_L100031; }; lab_L100028: ; }; SOURCE(6854, 67) { register word i_v19116 = 0; register word noName_c45228; noName_c45228 = (* (ptr) (* (( (ptr) seq_v7668)+1) ) ); if ((i_v19116 >= noName_c45228)) { goto lab_L100032; }; lab_L100035: ; SOURCE(6891, 30) { word var_c45292; var_c45292 = (* (( (ptr) copy_v7712)+1) ); { word var_c45260; var_c45260 = (* (( (ptr) seq_v7668)+1) ); { word limit87; word limit88; word xs89; word x90; xs89 = (word) ( limit88 = (* (ptr) var_c45292 ), BCK(i_v19116, limit88) ); x90 = (word) ((( (bPt) var_c45292)+4) + ((word) xs89 >> 3)); xs89 = 8 - ((word) (xs89 & 7)+1); (* (bPt) x90 ) = ((* (bPt) x90 ) & ( ~ ((unsigned) 1 << xs89))) | (((XR_ExtractField(var_c45260, 32 + (word) ( limit87 = (* (ptr) var_c45260 ), BCK(i_v19116, limit87) ), 1))) << xs89); }; }; }; i_v19116 = (i_v19116 + 1); if ((i_v19116 < noName_c45228)) { goto lab_L100035; }; lab_L100032: ; }; SOURCE(6932, 165) { register word i_v19160 = 0; register word noName_c45324; noName_c45324 = (* (ptr) (* (( (ptr) seq_v7668)+2) ) ); if ((i_v19160 >= noName_c45324)) { goto lab_L100036; }; lab_L100039: ; { word cpCount_v19204; word var_c45356; SOURCE(6976, 39) { word limit91; var_c45356 = (* (( (ptr) seq_v7668)+2) ); cpCount_v19204 = (* (ptr) (* ((( (ptr) var_c45356)+1)+( limit91 = (* (ptr) var_c45356 ), BCK(i_v19160, limit91) )) ) ); }; SOURCE(7017, 80) { register word j_v19248 = 0; register word noName_c45388; noName_c45388 = cpCount_v19204; if ((j_v19248 >= noName_c45388)) { goto lab_L100040; }; lab_L100043: ; SOURCE(7047, 50) { word var_c45516; { word var_c45484; var_c45484 = (* (( (ptr) copy_v7712)+2) ); { word limit92; var_c45516 = (* ((( (ptr) var_c45484)+1)+( limit92 = (* (ptr) var_c45484 ), BCK(i_v19160, limit92) )) ); }; }; { word var_c45452; { word var_c45420; var_c45420 = (* (( (ptr) seq_v7668)+2) ); { word limit93; var_c45452 = (* ((( (ptr) var_c45420)+1)+( /*1*/ limit93 = (* (ptr) var_c45420 ), /*1*/ BCK(i_v19160, limit93) /*1*/ )) ); }; }; { word limit94; word limit95; word xs96; word x97; xs96 = (word) ( limit95 = (* (ptr) var_c45516 ), BCK(j_v19248, limit95) ); x97 = (word) ((( (bPt) var_c45516)+4) + ((word) xs96 >> 3)); xs96 = 8 - ((word) (xs96 & 7)+1); (* (bPt) x97 ) = ((* (bPt) x97 ) & ( ~ ((unsigned) 1 << xs96))) | (((XR_ExtractField(var_c45452, 32 + (word) ( /*1*/ limit94 = (* (ptr) var_c45452 ), /*1*/ BCK(j_v19248, limit94) /*1*/ ), 1))) << xs96); }; }; }; j_v19248 = (j_v19248 + 1); if ((j_v19248 < noName_c45388)) { goto lab_L100043; }; lab_L100040: ; }; }; i_v19160 = (i_v19160 + 1); if ((i_v19160 < noName_c45324)) { goto lab_L100039; }; lab_L100036: ; }; SOURCE(6430, 667) return(copy_v7712); } static word CreateEmptySeq_P600(seq_v7772) word seq_v7772; { register ptr gf_c59308 = (ptr) &globalframe; word copy_v7816; /* CreateEmptySeq: */ SOURCE(7121, 305) SOURCE(7121, 305) copy_v7816 = 0; SOURCE(7197, 27) if ((seq_v7772 == 0)) { SOURCE(7213, 11) return(0); }; SOURCE(7226, 200) { word var_c45548; word var_c45580; word var_c45612; word var_c45644; var_c45548 = (word) NewBitVector_P1560((* (ptr) ((* (ptr) seq_v7772 )) )); var_c45580 = (word) NewBitVector_P1560((* (ptr) ((* (( (ptr) seq_v7772)+1) )) )); var_c45612 = (word) NewBitMatrixFromSeq_P1440(seq_v7772); var_c45644 = XR_NewObject(24, (* (( (ptr) gf_c59308)+5) )); (* (ptr) var_c45644 ) = var_c45548; (* (( (ptr) var_c45644)+1) ) = var_c45580; (* (( (ptr) var_c45644)+2) ) = var_c45612; copy_v7816 = var_c45644; }; SOURCE(7121, 305) return(copy_v7816); } static void CopyInto_P660(to_v7876, from_v7904) word to_v7876; word from_v7904; { /* CopyInto: */ SOURCE(7434, 482) SOURCE(7493, 196) { register word i_v19292 = 0; register word noName_c45676; noName_c45676 = (* (ptr) (* (ptr) from_v7904 ) ); if ((i_v19292 >= noName_c45676)) { goto lab_L100044; }; lab_L100047: ; { word cpCount_v19336; word var_c45708; SOURCE(7533, 40) { word limit98; var_c45708 = (* (( (ptr) from_v7904)+2) ); cpCount_v19336 = (* (ptr) (* ((( (ptr) var_c45708)+1)+( limit98 = (* (ptr) var_c45708 ), BCK(i_v19292, limit98) )) ) ); }; SOURCE(7575, 33) { word var_c45772; var_c45772 = (* (ptr) to_v7876 ); { word var_c45740; var_c45740 = (* (ptr) from_v7904 ); { word limit99; word limit100; word xs101; word x102; xs101 = (word) ( limit100 = (* (ptr) var_c45772 ), BCK(i_v19292, limit100) ); x102 = (word) ((( (bPt) var_c45772)+4) + ((word) xs101 >> 3)); xs101 = 8 - ((word) (xs101 & 7)+1); (* (bPt) x102 ) = ((* (bPt) x102 ) & ( ~ ((unsigned) 1 << xs101))) | (((XR_ExtractField(var_c45740, 32 + (word) ( /*1*/ limit99 = (* (ptr) var_c45740 ), /*1*/ BCK(i_v19292, limit99) /*1*/ ), 1))) << xs101); }; }; }; SOURCE(7610, 79) { register word j_v19380 = 0; register word noName_c45804; noName_c45804 = cpCount_v19336; if ((j_v19380 >= noName_c45804)) { goto lab_L100048; }; lab_L100051: ; SOURCE(7640, 49) { word var_c45932; { word var_c45900; var_c45900 = (* (( (ptr) to_v7876)+2) ); { word limit103; var_c45932 = (* ((( (ptr) var_c45900)+1)+( limit103 = (* (ptr) var_c45900 ), BCK(i_v19292, limit103) )) ); }; }; { word var_c45868; { word var_c45836; var_c45836 = (* (( (ptr) from_v7904)+2) ); { word limit104; var_c45868 = (* ((( (ptr) var_c45836)+1)+( /*1*/ limit104 = (* (ptr) var_c45836 ), /*1*/ BCK(i_v19292, limit104) /*1*/ )) ); }; }; { word limit105; word limit106; word xs107; word x108; xs107 = (word) ( limit106 = (* (ptr) var_c45932 ), BCK(j_v19380, limit106) ); x108 = (word) ((( (bPt) var_c45932)+4) + ((word) xs107 >> 3)); xs107 = 8 - ((word) (xs107 & 7)+1); (* (bPt) x108 ) = ((* (bPt) x108 ) & ( ~ ((unsigned) 1 << xs107))) | (((XR_ExtractField(var_c45868, 32 + (word) ( /*1*/ limit105 = (* (ptr) var_c45868 ), /*1*/ BCK(j_v19380, limit105) /*1*/ ), 1))) << xs107); }; }; }; j_v19380 = (j_v19380 + 1); if ((j_v19380 < noName_c45804)) { goto lab_L100051; }; lab_L100048: ; }; }; i_v19292 = (i_v19292 + 1); if ((i_v19292 < noName_c45676)) { goto lab_L100047; }; lab_L100044: ; }; SOURCE(7731, 67) { register word i_v19424 = 0; register word noName_c45964; noName_c45964 = (* (ptr) (* (( (ptr) from_v7904)+1) ) ); if ((i_v19424 >= noName_c45964)) { goto lab_L100052; }; lab_L100055: ; SOURCE(7769, 29) { word var_c46028; var_c46028 = (* (( (ptr) to_v7876)+1) ); { word var_c45996; var_c45996 = (* (( (ptr) from_v7904)+1) ); { word limit109; word limit110; word xs111; word x112; xs111 = (word) ( limit110 = (* (ptr) var_c46028 ), BCK(i_v19424, limit110) ); x112 = (word) ((( (bPt) var_c46028)+4) + ((word) xs111 >> 3)); xs111 = 8 - ((word) (xs111 & 7)+1); (* (bPt) x112 ) = ((* (bPt) x112 ) & ( ~ ((unsigned) 1 << xs111))) | (((XR_ExtractField(var_c45996, 32 + (word) ( limit109 = (* (ptr) var_c45996 ), BCK(i_v19424, limit109) ), 1))) << xs111); }; }; }; i_v19424 = (i_v19424 + 1); if ((i_v19424 < noName_c45964)) { goto lab_L100055; }; lab_L100052: ; }; SOURCE(7809, 27) (* (( (ptr) to_v7876)+3) ) = (* (( (ptr) from_v7904)+3) ); SOURCE(7838, 45) (* (( (ptr) to_v7876)+5) ) = (* (( (ptr) from_v7904)+5) ); SOURCE(7885, 31) (* (( (ptr) to_v7876)+4) ) = (* (( (ptr) from_v7904)+4) ); } static void FillInJoints_P720(seq_v7964) word seq_v7964; { word jointCount_v19468 = 0; /* FillInJoints: */ SOURCE(7922, 731) SOURCE(7990, 29) if (((* (( (ptr) seq_v7964)+3) ) == 0)) { SOURCE(8013, 6) return; }; SOURCE(8077, 385) if (((* (ptr) (* (( (ptr) seq_v7964)+1) ) ) == (* (ptr) (* (ptr) seq_v7964 ) ))) { SOURCE(8140, 131) { register word i_v19512 = 0; register word noName_c46060; word var_c46092; noName_c46060 = (* (ptr) (* (ptr) seq_v7964 ) ); if ((i_v19512 >= noName_c46060)) { goto lab_L100056; }; lab_L100059: ; SOURCE(8179, 92) { word limit113; var_c46092 = (* (ptr) seq_v7964 ); if (XR_ExtractField(var_c46092, 32 + (word) ( limit113 = (* (ptr) var_c46092 ), BCK(i_v19512, limit113) ), 1)) { SOURCE(8204, 20) { word var_c46124; var_c46124 = (* (( (ptr) seq_v7964)+1) ); { word limit114; word xs115; xs115 = (word) ( limit114 = (* (ptr) var_c46124 ), BCK(i_v19512, limit114) ); (* (bPt) ((( (bPt) var_c46124)+4) + ((word) xs115 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs115 & 7)+1)); }; }; SOURCE(8226, 45) { word var_c46156; word var_c46188; var_c46156 = ((i_v19512 + 1) % (* (ptr) (* (ptr) seq_v7964 ) )); var_c46188 = (* (( (ptr) seq_v7964)+1) ); { word limit116; word xs117; xs117 = (word) ( limit116 = (* (ptr) var_c46188 ), BCK(var_c46156, limit116) ); (* (bPt) ((( (bPt) var_c46188)+4) + ((word) xs117 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs117 & 7)+1)); }; }; }; }; i_v19512 = (i_v19512 + 1); if ((i_v19512 < noName_c46060)) { goto lab_L100059; }; lab_L100056: ; }; } else { SOURCE(8291, 171) if (((* (ptr) (* (( (ptr) seq_v7964)+1) ) ) == ((* (ptr) (* (ptr) seq_v7964 ) ) + 1))) { SOURCE(8354, 108) { register word i_v19556 = 0; register word noName_c46220; word var_c46252; noName_c46220 = (* (ptr) (* (ptr) seq_v7964 ) ); if ((i_v19556 >= noName_c46220)) { goto lab_L100060; }; lab_L100063: ; SOURCE(8393, 69) { word limit118; var_c46252 = (* (ptr) seq_v7964 ); if (XR_ExtractField(var_c46252, 32 + (word) ( limit118 = (* (ptr) var_c46252 ), BCK(i_v19556, limit118) ), 1)) { SOURCE(8418, 20) { word var_c46284; var_c46284 = (* (( (ptr) seq_v7964)+1) ); { word limit119; word xs120; xs120 = (word) ( limit119 = (* (ptr) var_c46284 ), BCK(i_v19556, limit119) ); (* (bPt) ((( (bPt) var_c46284)+4) + ((word) xs120 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs120 & 7)+1)); }; }; SOURCE(8440, 22) { word var_c46316; word var_c46348; var_c46316 = (i_v19556 + 1); var_c46348 = (* (( (ptr) seq_v7964)+1) ); { word limit121; word xs122; xs122 = (word) ( limit121 = (* (ptr) var_c46348 ), BCK(var_c46316, limit121) ); (* (bPt) ((( (bPt) var_c46348)+4) + ((word) xs122 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs122 & 7)+1)); }; }; }; }; i_v19556 = (i_v19556 + 1); if ((i_v19556 < noName_c46220)) { goto lab_L100063; }; lab_L100060: ; }; } else { SOURCE(8481, 5) (void) XR_RaiseUnnamedError(); }; }; SOURCE(8529, 86) { register word i_v19600 = 0; register word noName_c46380; word var_c46412; noName_c46380 = (* (ptr) (* (( (ptr) seq_v7964)+1) ) ); if ((i_v19600 >= noName_c46380)) { goto lab_L100064; }; lab_L100067: ; SOURCE(8566, 49) { word limit123; var_c46412 = (* (( (ptr) seq_v7964)+1) ); if (XR_ExtractField(var_c46412, 32 + (word) ( limit123 = (* (ptr) var_c46412 ), BCK(i_v19600, limit123) ), 1)) { SOURCE(8588, 27) jointCount_v19468 = (jointCount_v19468 + 1); }; }; i_v19600 = (i_v19600 + 1); if ((i_v19600 < noName_c46380)) { goto lab_L100067; }; lab_L100064: ; }; SOURCE(8626, 27) (* (( (ptr) seq_v7964)+4) ) = jointCount_v19468; } static void FillInControlPoints_P780(seq_v8024) word seq_v8024; { word cpCount_v19644; /* FillInControlPoints: */ SOURCE(8659, 759) SOURCE(8908, 29) if (((* (( (ptr) seq_v8024)+3) ) == 0)) { SOURCE(8931, 6) return; }; SOURCE(8996, 25) (* (( (ptr) seq_v8024)+5) ) = 0; SOURCE(9023, 395) { register word i_v19688 = 0; register word noName_c46444; noName_c46444 = (* (ptr) (* (ptr) seq_v8024 ) ); if ((i_v19688 >= noName_c46444)) { goto lab_L100068; }; lab_L100071: ; { word var_c46476; word var_c46508; SOURCE(9062, 34) { word limit124; var_c46476 = (* (( (ptr) seq_v8024)+2) ); cpCount_v19644 = (* (ptr) (* ((( (ptr) var_c46476)+1)+( limit124 = (* (ptr) var_c46476 ), BCK(i_v19688, limit124) )) ) ); }; SOURCE(9098, 320) { word limit125; var_c46508 = (* (ptr) seq_v8024 ); if (XR_ExtractField(var_c46508, 32 + (word) ( limit125 = (* (ptr) var_c46508 ), BCK(i_v19688, limit125) ), 1)) { SOURCE(9124, 131) { register word j_v19732 = 0; register word noName_c46540; noName_c46540 = cpCount_v19644; if ((j_v19732 >= noName_c46540)) { goto lab_L100072; }; lab_L100075: ; SOURCE(9174, 30) { word var_c46604; { word var_c46572; var_c46572 = (* (( (ptr) seq_v8024)+2) ); { word limit126; var_c46604 = (* ((( (ptr) var_c46572)+1)+( /*1*/ limit126 = (* (ptr) var_c46572 ), /*1*/ BCK(i_v19688, limit126) /*1*/ )) ); }; }; { word limit127; word xs128; xs128 = (word) ( limit127 = (* (ptr) var_c46604 ), BCK(j_v19732, limit127) ); (* (bPt) ((( (bPt) var_c46604)+4) + ((word) xs128 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs128 & 7)+1)); }; }; SOURCE(9206, 49) (* (( (ptr) seq_v8024)+5) ) = ((* (( (ptr) seq_v8024)+5) ) + 1); j_v19732 = (j_v19732 + 1); if ((j_v19732 < noName_c46540)) { goto lab_L100075; }; lab_L100072: ; }; } else { SOURCE(9275, 143) { register word j_v19776 = 0; register word noName_c46636; word var_c46700; noName_c46636 = cpCount_v19644; if ((j_v19776 >= noName_c46636)) { goto lab_L100076; }; lab_L100079: ; SOURCE(9337, 81) { word limit130; { word var_c46668; var_c46668 = (* (( (ptr) seq_v8024)+2) ); { word limit129; var_c46700 = (* ((( (ptr) var_c46668)+1)+( /*1*/ limit129 = (* (ptr) var_c46668 ), /*1*/ BCK(i_v19688, limit129) /*1*/ )) ); }; }; if (XR_ExtractField(var_c46700, 32 + (word) ( limit130 = (* (ptr) var_c46700 ), BCK(j_v19776, limit130) ), 1)) { SOURCE(9369, 49) (* (( (ptr) seq_v8024)+5) ) = ((* (( (ptr) seq_v8024)+5) ) + 1); }; }; j_v19776 = (j_v19776 + 1); if ((j_v19776 < noName_c46636)) { goto lab_L100079; }; lab_L100076: ; }; }; }; }; i_v19688 = (i_v19688 + 1); if ((i_v19688 < noName_c46444)) { goto lab_L100071; }; lab_L100068: ; }; } static void TrimSelectedParts_P840(trimDescriptor_v8084, selectedList_v8112) word trimDescriptor_v8084; word selectedList_v8112; { register ptr gf_c59340 = (ptr) &globalframe; word seq_v19820; word selSeq_v19848; /* TrimSelectedParts: */ SOURCE(9445, 803) SOURCE(9553, 45) seq_v19820 = XR_Narrow((* (( (ptr) trimDescriptor_v8084)+1) ), (* (( (ptr) gf_c59340)+5) )); SOURCE(9600, 71) selSeq_v19848 = (word) FindPartsInList_P1380((* (ptr) trimDescriptor_v8084 ), selectedList_v8112); SOURCE(9673, 27) if ((selSeq_v19848 == 0)) { SOURCE(9694, 6) return; }; SOURCE(9743, 352) { register word i_v19892 = 0; register word noName_c46732; noName_c46732 = (* (ptr) (* (ptr) seq_v19820 ) ); if ((i_v19892 >= noName_c46732)) { goto lab_L100080; }; lab_L100083: ; { word var_c47020; word var_c47052; SOURCE(9782, 194) { register word j_v19936 = 0; register word noName_c46796; word var_c46764; word var_c46860; word var_c46924; { word limit131; var_c46764 = (* (( (ptr) seq_v19820)+2) ); noName_c46796 = (* (ptr) (* ((( (ptr) var_c46764)+1)+( limit131 = (* (ptr) var_c46764 ), BCK(i_v19892, limit131) )) ) ); }; if ((j_v19936 >= noName_c46796)) { goto lab_L100084; }; lab_L100087: ; SOURCE(9829, 147) { word tc132; word limit134; word limit136; { word var_c46828; var_c46828 = (* (( (ptr) selSeq_v19848)+2) ); { word limit133; var_c46860 = (* ((( (ptr) var_c46828)+1)+( limit133 = (* (ptr) var_c46828 ), BCK(i_v19892, limit133) )) ); }; }; if (XR_ExtractField(var_c46860, 32 + (word) ( limit134 = (* (ptr) var_c46860 ), BCK(j_v19936, limit134) ), 1)) { { word var_c46892; var_c46892 = (* (( (ptr) seq_v19820)+2) ); { word limit135; var_c46924 = (* ((( (ptr) var_c46892)+1)+( /*1*/ limit135 = (* (ptr) var_c46892 ), /*1*/ BCK(i_v19892, limit135) /*1*/ )) ); }; }; tc132 = (word) XR_ExtractField(var_c46924, 32 + (word) ( limit136 = (* (ptr) var_c46924 ), BCK(j_v19936, limit136) ), 1); } else { tc132 = (word) 0; }; if (tc132) { SOURCE(9894, 31) { word var_c46988; { word var_c46956; var_c46956 = (* (( (ptr) seq_v19820)+2) ); { word limit137; var_c46988 = (* ((( (ptr) var_c46956)+1)+( /*1*/ limit137 = (* (ptr) var_c46956 ), /*1*/ BCK(i_v19892, limit137) /*1*/ )) ); }; }; { word limit138; word xs139; xs139 = (word) ( limit138 = (* (ptr) var_c46988 ), BCK(j_v19936, limit138) ); (* (bPt) ((( (bPt) var_c46988)+4) + ((word) xs139 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs139 & 7)+1)); }; }; SOURCE(9927, 49) { word idx140; (* (( (ptr) seq_v19820)+5) ) = ( idx140 = (word) ((* (( (ptr) seq_v19820)+5) ) - 1), SGNCK(idx140) ); }; }; }; j_v19936 = (j_v19936 + 1); if ((j_v19936 < noName_c46796)) { goto lab_L100087; }; lab_L100084: ; }; SOURCE(9990, 105) { word tc141; word limit142; word limit143; var_c47020 = (* (ptr) selSeq_v19848 ); if (XR_ExtractField(var_c47020, 32 + (word) ( limit142 = (* (ptr) var_c47020 ), BCK(i_v19892, limit142) ), 1)) { var_c47052 = (* (ptr) seq_v19820 ); tc141 = (word) XR_ExtractField(var_c47052, 32 + (word) ( limit143 = (* (ptr) var_c47052 ), BCK(i_v19892, limit143) ), 1); } else { tc141 = (word) 0; }; if (tc141) { SOURCE(10039, 23) { word var_c47084; var_c47084 = (* (ptr) seq_v19820 ); { word limit144; word xs145; xs145 = (word) ( limit144 = (* (ptr) var_c47084 ), BCK(i_v19892, limit144) ); (* (bPt) ((( (bPt) var_c47084)+4) + ((word) xs145 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs145 & 7)+1)); }; }; SOURCE(10064, 31) { word idx146; (* (( (ptr) seq_v19820)+3) ) = ( idx146 = (word) ((* (( (ptr) seq_v19820)+3) ) - 1), SGNCK(idx146) ); }; }; }; }; i_v19892 = (i_v19892 + 1); if ((i_v19892 < noName_c46732)) { goto lab_L100083; }; lab_L100080: ; }; SOURCE(10109, 139) { register word i_v19980 = 0; register word noName_c47116; word var_c47148; word var_c47180; noName_c47116 = (* (ptr) (* (( (ptr) seq_v19820)+1) ) ); if ((i_v19980 >= noName_c47116)) { goto lab_L100088; }; lab_L100091: ; SOURCE(10146, 102) { word tc147; word limit148; word limit149; var_c47148 = (* (( (ptr) selSeq_v19848)+1) ); if (XR_ExtractField(var_c47148, 32 + (word) ( limit148 = (* (ptr) var_c47148 ), BCK(i_v19980, limit148) ), 1)) { var_c47180 = (* (( (ptr) seq_v19820)+1) ); tc147 = (word) XR_ExtractField(var_c47180, 32 + (word) ( limit149 = (* (ptr) var_c47180 ), BCK(i_v19980, limit149) ), 1); } else { tc147 = (word) 0; }; if (tc147) { SOURCE(10191, 21) { word var_c47212; var_c47212 = (* (( (ptr) seq_v19820)+1) ); { word limit150; word xs151; xs151 = (word) ( limit150 = (* (ptr) var_c47212 ), BCK(i_v19980, limit150) ); (* (bPt) ((( (bPt) var_c47212)+4) + ((word) xs151 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs151 & 7)+1)); }; }; SOURCE(10214, 34) { word idx152; (* (( (ptr) seq_v19820)+4) ) = ( idx152 = (word) ((* (( (ptr) seq_v19820)+4) ) - 1), SGNCK(idx152) ); }; }; }; i_v19980 = (i_v19980 + 1); if ((i_v19980 < noName_c47116)) { goto lab_L100091; }; lab_L100088: ; }; } static void TrimSelectedJointSegments_P900(formal_c01187, selectedList_v8284) word formal_c01187; word selectedList_v8284; { W8 var_c59372; /* declaration of trimDescriptor_v8256 skipped */ register ptr gf_c59404 = (ptr) &globalframe; /* declaration of var_c47244 skipped */ word seq_v20052; /* declaration of selSeq_v20080 skipped */ var_c59372.f4/* trimDescriptor_v8256 */ = formal_c01187; /* TrimSelectedJointSegments: */ SOURCE(10266, 601) { word tmpAddr153; tmpAddr153 = (word) (( (ptr) &var_c59372)+5)/* var_c47244 */ ; (* (ptr) tmpAddr153 ) = ( ((word) (fPt) SomeSelectedJoint_P6480) ); (* (( (ptr) tmpAddr153) + 1) ) = 1; }; SOURCE(10530, 45) seq_v20052 = XR_Narrow((* (( (ptr) var_c59372.f4/* trimDescriptor_v8256 */ )+1) ), (* (( (ptr) gf_c59404)+5) )); SOURCE(10577, 71) var_c59372.f7/* selSeq_v20080 */ = (word) FindPartsInList_P1380((* (ptr) var_c59372.f4/* trimDescriptor_v8256 */ ), selectedList_v8284) ; SOURCE(10650, 27) if ((var_c59372.f7/* selSeq_v20080 */ == 0)) { SOURCE(10671, 6) return; }; SOURCE(10721, 146) { register word i_v20228 = 0; register word noName_c47276; word var_c47308; noName_c47276 = (* (ptr) (* (ptr) seq_v20052 ) ); if ((i_v20228 >= noName_c47276)) { goto lab_L100092; }; lab_L100095: ; SOURCE(10760, 107) { word tc154; word limit155; var_c47308 = (* (ptr) seq_v20052 ); if (XR_ExtractField(var_c47308, 32 + (word) ( limit155 = (* (ptr) var_c47308 ), BCK(i_v20228, limit155) ), 1)) { tc154 = (word) (0 != (word) SomeSelectedJoint_P6480(i_v20228, (word) (( (bPt) &var_c59372)+20)/* var_c47244 */ )); } else { tc154 = (word) 0; }; if (tc154) { SOURCE(10811, 23) { word var_c47340; var_c47340 = (* (ptr) seq_v20052 ); { word limit156; word xs157; xs157 = (word) ( limit156 = (* (ptr) var_c47340 ), BCK(i_v20228, limit156) ); (* (bPt) ((( (bPt) var_c47340)+4) + ((word) xs157 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs157 & 7)+1)); }; }; SOURCE(10836, 31) { word idx158; (* (( (ptr) seq_v20052)+3) ) = ( idx158 = (word) ((* (( (ptr) seq_v20052)+3) ) - 1), SGNCK(idx158) ); }; }; }; i_v20228 = (i_v20228 + 1); if ((i_v20228 < noName_c47276)) { goto lab_L100095; }; lab_L100092: ; }; } static word SomeSelectedJoint_P6480(i_v20156, formal_c59468) word i_v20156; word formal_c59468; { register ptr gf_c59436 = (ptr) &globalframe; word var_c20200; formal_c59468 = (formal_c59468 - 20); /* SomeSelectedJoint: */ SOURCE(10382, 143) SOURCE(10434, 91) { word var_c01166; word var_c47404; { word limit159; var_c47404 = (* (( (ptr) (* (( (ptr) formal_c59468)+7) ))+1) ); if (XR_ExtractField(var_c47404, 32 + (word) ( limit159 = (* (ptr) var_c47404 ), BCK(i_v20156, limit159) ), 1)) { var_c01166 = (unsigned) 1; } else { { word var_c47436; word var_c47468; { word pd160; pd160 = (* (( (ptr) (* (( (ptr) gf_c59436)+204)/* var_c43500 */ ))+44) ); var_c47436 = (word) ( *( (fPt) ((* (ptr) pd160 ))))((* (ptr) (* (( (ptr) formal_c59468)+4) ) ), i_v20156, pd160); }; var_c47468 = (* (( (ptr) (* (( (ptr) formal_c59468)+7) ))+1) ); { word limit161; var_c01166 = (unsigned) XR_ExtractField(var_c47468, 32 + (word) ( limit161 = (* (ptr) var_c47468 ), BCK(var_c47436, limit161) ), 1); }; }; }; }; return(var_c01166); }; } static void TrimSelectedControlPointSegments_P960(trimDescriptor_v8428, selectedList_v8456) word trimDescriptor_v8428; word selectedList_v8456; { W7 var_c59500; register ptr gf_c59532 = (ptr) &globalframe; /* declaration of var_c47500 skipped */ word seq_v20300; /* declaration of selSeq_v20328 skipped */ /* TrimSelectedControlPointSegments: */ SOURCE(10885, 629) { word tmpAddr162; tmpAddr162 = (word) (( (ptr) &var_c59500)+4)/* var_c47500 */ ; (* (ptr) tmpAddr162 ) = ( ((word) (fPt) SomeSelectedCP_P6588) ); (* (( (ptr) tmpAddr162) + 1) ) = 1; }; SOURCE(11183, 45) seq_v20300 = XR_Narrow((* (( (ptr) trimDescriptor_v8428)+1) ), (* (( (ptr) gf_c59532)+5) )); SOURCE(11230, 71) var_c59500.f6/* selSeq_v20328 */ = (word) FindPartsInList_P1380((* (ptr) trimDescriptor_v8428 ), selectedList_v8456); SOURCE(11303, 27) if ((var_c59500.f6/* selSeq_v20328 */ == 0)) { SOURCE(11324, 6) return; }; SOURCE(11371, 143) { register word i_v20476 = 0; register word noName_c47532; word var_c47564; noName_c47532 = (* (ptr) (* (ptr) seq_v20300 ) ); if ((i_v20476 >= noName_c47532)) { goto lab_L100096; }; lab_L100099: ; SOURCE(11410, 104) { word tc163; word limit164; var_c47564 = (* (ptr) seq_v20300 ); if (XR_ExtractField(var_c47564, 32 + (word) ( limit164 = (* (ptr) var_c47564 ), BCK(i_v20476, limit164) ), 1)) { tc163 = (word) (0 != (word) SomeSelectedCP_P6588(i_v20476, (word) (( (bPt) &var_c59500)+16)/* var_c47500 */ )); } else { tc163 = (word) 0; }; if (tc163) { SOURCE(11458, 23) { word var_c47596; var_c47596 = (* (ptr) seq_v20300 ); { word limit165; word xs166; xs166 = (word) ( limit165 = (* (ptr) var_c47596 ), BCK(i_v20476, limit165) ); (* (bPt) ((( (bPt) var_c47596)+4) + ((word) xs166 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs166 & 7)+1)); }; }; SOURCE(11483, 31) { word idx167; (* (( (ptr) seq_v20300)+3) ) = ( idx167 = (word) ((* (( (ptr) seq_v20300)+3) ) - 1), SGNCK(idx167) ); }; }; }; i_v20476 = (i_v20476 + 1); if ((i_v20476 < noName_c47532)) { goto lab_L100099; }; lab_L100096: ; }; } static word SomeSelectedCP_P6588(i_v20404, formal_c59564) word i_v20404; word formal_c59564; { word var_c20448; formal_c59564 = (formal_c59564 - 16); /* SomeSelectedCP: */ SOURCE(11008, 170) SOURCE(11057, 97) { register word j_v20520 = 0; register word noName_c47660; word var_c47628; word var_c47724; { word limit168; var_c47628 = (* (( (ptr) (* (( (ptr) formal_c59564)+6) ))+2) ); noName_c47660 = (* (ptr) (* ((( (ptr) var_c47628)+1)+( limit168 = (* (ptr) var_c47628 ), BCK(i_v20404, limit168) )) ) ); }; if ((j_v20520 >= noName_c47660)) { goto lab_L100100; }; lab_L100103: ; SOURCE(11107, 47) { word limit170; { word var_c47692; var_c47692 = (* (( (ptr) (* (( (ptr) formal_c59564)+6) ))+2) ); { word limit169; var_c47724 = (* ((( (ptr) var_c47692)+1)+( limit169 = (* (ptr) var_c47692 ), BCK(i_v20404, limit169) )) ); }; }; if (XR_ExtractField(var_c47724, 32 + (word) ( limit170 = (* (ptr) var_c47724 ), BCK(j_v20520, limit170) ), 1)) { SOURCE(11142, 12) return(1); }; }; j_v20520 = (j_v20520 + 1); if ((j_v20520 < noName_c47660)) { goto lab_L100103; }; lab_L100100: ; }; SOURCE(11165, 13) return(0); } static void AddNonSelectedJointSegments_P1020(formal_c01188, formal_c01189) word formal_c01188; word formal_c01189; { W8 var_c59596; /* declaration of descriptor_v8600 skipped */ /* declaration of selected_v8628 skipped */ register ptr gf_c59628 = (ptr) &globalframe; /* declaration of var_c47756 skipped */ word seq_v20592; var_c59596.f4/* descriptor_v8600 */ = formal_c01188; var_c59596.f5/* selected_v8628 */ = formal_c01189; /* AddNonSelectedJointSegments: */ SOURCE(11532, 530) { word tmpAddr171; tmpAddr171 = (word) (( (ptr) &var_c59596)+6)/* var_c47756 */ ; (* (ptr) tmpAddr171 ) = ( ((word) (fPt) SomeSelectedJoint_P6744) ); (* (( (ptr) tmpAddr171) + 1) ) = 1; }; SOURCE(11769, 41) seq_v20592 = XR_Narrow((* (( (ptr) var_c59596.f4/* descriptor_v8600 */ )+1) ), (* (( (ptr) gf_c59628)+5) )); SOURCE(11812, 29) if ((var_c59596.f5/* selected_v8628 */ == 0)) { SOURCE(11835, 6) return; }; SOURCE(11884, 178) { register word i_v20740 = 0; register word noName_c47788; word var_c47820; word var_c47852; noName_c47788 = (* (ptr) (* (ptr) seq_v20592 ) ); if ((i_v20740 >= noName_c47788)) { goto lab_L100104; }; lab_L100107: ; SOURCE(11923, 139) { word tc172; word tc173; word limit174; word limit175; var_c47820 = (* (ptr) seq_v20592 ); if ( ! XR_ExtractField(var_c47820, 32 + (word) ( limit174 = (* (ptr) var_c47820 ), BCK(i_v20740, limit174) ), 1)) { var_c47852 = (* (ptr) var_c59596.f5/* selected_v8628 */ ); tc173 = (word) ! XR_ExtractField(var_c47852, 32 + (word) ( limit175 = (* (ptr) var_c47852 ), BCK(i_v20740, limit175) ), 1); } else { tc173 = (word) 0; }; if (tc173) { tc172 = (word) (0 != (word) SomeSelectedJoint_P6744(i_v20740, (word) (( (bPt) &var_c59596)+24)/* var_c47756 */ )); } else { tc172 = (word) 0; }; if (tc172) { SOURCE(12007, 22) { word var_c47884; var_c47884 = (* (ptr) seq_v20592 ); { word limit176; word xs177; xs177 = (word) ( limit176 = (* (ptr) var_c47884 ), BCK(i_v20740, limit176) ); (* (bPt) ((( (bPt) var_c47884)+4) + ((word) xs177 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs177 & 7)+1)); }; }; SOURCE(12031, 31) (* (( (ptr) seq_v20592)+3) ) = ((* (( (ptr) seq_v20592)+3) ) + 1); }; }; i_v20740 = (i_v20740 + 1); if ((i_v20740 < noName_c47788)) { goto lab_L100107; }; lab_L100104: ; }; } static word SomeSelectedJoint_P6744(i_v20668, formal_c59692) word i_v20668; word formal_c59692; { register ptr gf_c59660 = (ptr) &globalframe; word var_c20712; formal_c59692 = (formal_c59692 - 24); /* SomeSelectedJoint: */ SOURCE(11621, 143) SOURCE(11673, 91) { word var_c01167; word var_c47948; { word limit178; var_c47948 = (* (( (ptr) (* (( (ptr) formal_c59692)+5) ))+1) ); if (XR_ExtractField(var_c47948, 32 + (word) ( limit178 = (* (ptr) var_c47948 ), BCK(i_v20668, limit178) ), 1)) { var_c01167 = (unsigned) 1; } else { { word var_c47980; word var_c48012; { word pd179; pd179 = (* (( (ptr) (* (( (ptr) gf_c59660)+204)/* var_c43500 */ ))+44) ); var_c47980 = (word) ( *( (fPt) ((* (ptr) pd179 ))))((* (ptr) (* (( (ptr) formal_c59692)+4) ) ), i_v20668, pd179); }; var_c48012 = (* (( (ptr) (* (( (ptr) formal_c59692)+5) ))+1) ); { word limit180; var_c01167 = (unsigned) XR_ExtractField(var_c48012, 32 + (word) ( limit180 = (* (ptr) var_c48012 ), BCK(var_c47980, limit180) ), 1); }; }; }; }; return(var_c01167); }; } static void AddNonSelectedControlPointSegments_P1080(descriptor_v8688, formal_c01190) word descriptor_v8688; word formal_c01190; { W7 var_c59724; /* declaration of selected_v8716 skipped */ register ptr gf_c59756 = (ptr) &globalframe; /* declaration of var_c48044 skipped */ word seq_v20812; var_c59724.f4/* selected_v8716 */ = formal_c01190; /* AddNonSelectedControlPointSegments: */ SOURCE(12080, 562) { word tmpAddr181; tmpAddr181 = (word) (( (ptr) &var_c59724)+5)/* var_c48044 */ ; (* (ptr) tmpAddr181 ) = ( ((word) (fPt) SomeSelectedCP_P6852) ); (* (( (ptr) tmpAddr181) + 1) ) = 1; }; SOURCE(12355, 41) seq_v20812 = XR_Narrow((* (( (ptr) descriptor_v8688)+1) ), (* (( (ptr) gf_c59756)+5) )); SOURCE(12398, 29) if ((var_c59724.f4/* selected_v8716 */ == 0)) { SOURCE(12421, 6) return; }; SOURCE(12467, 175) { register word i_v20960 = 0; register word noName_c48076; word var_c48108; word var_c48140; noName_c48076 = (* (ptr) (* (ptr) seq_v20812 ) ); if ((i_v20960 >= noName_c48076)) { goto lab_L100108; }; lab_L100111: ; SOURCE(12506, 136) { word tc182; word tc183; word limit184; word limit185; var_c48108 = (* (ptr) seq_v20812 ); if ( ! XR_ExtractField(var_c48108, 32 + (word) ( limit184 = (* (ptr) var_c48108 ), BCK(i_v20960, limit184) ), 1)) { var_c48140 = (* (ptr) var_c59724.f4/* selected_v8716 */ ); tc183 = (word) ! XR_ExtractField(var_c48140, 32 + (word) ( limit185 = (* (ptr) var_c48140 ), BCK(i_v20960, limit185) ), 1); } else { tc183 = (word) 0; }; if (tc183) { tc182 = (word) (0 != (word) SomeSelectedCP_P6852(i_v20960, (word) (( (bPt) &var_c59724)+20)/* var_c48044 */ )); } else { tc182 = (word) 0; }; if (tc182) { SOURCE(12587, 22) { word var_c48172; var_c48172 = (* (ptr) seq_v20812 ); { word limit186; word xs187; xs187 = (word) ( limit186 = (* (ptr) var_c48172 ), BCK(i_v20960, limit186) ); (* (bPt) ((( (bPt) var_c48172)+4) + ((word) xs187 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs187 & 7)+1)); }; }; SOURCE(12611, 31) (* (( (ptr) seq_v20812)+3) ) = ((* (( (ptr) seq_v20812)+3) ) + 1); }; }; i_v20960 = (i_v20960 + 1); if ((i_v20960 < noName_c48076)) { goto lab_L100111; }; lab_L100108: ; }; } static word SomeSelectedCP_P6852(i_v20888, formal_c59788) word i_v20888; word formal_c59788; { word var_c20932; formal_c59788 = (formal_c59788 - 20); /* SomeSelectedCP: */ SOURCE(12176, 174) SOURCE(12225, 101) { register word j_v21004 = 0; register word noName_c48236; word var_c48204; word var_c48300; { word limit188; var_c48204 = (* (( (ptr) (* (( (ptr) formal_c59788)+4) ))+2) ); noName_c48236 = (* (ptr) (* ((( (ptr) var_c48204)+1)+( limit188 = (* (ptr) var_c48204 ), BCK(i_v20888, limit188) )) ) ); }; if ((j_v21004 >= noName_c48236)) { goto lab_L100112; }; lab_L100115: ; SOURCE(12277, 49) { word limit190; { word var_c48268; var_c48268 = (* (( (ptr) (* (( (ptr) formal_c59788)+4) ))+2) ); { word limit189; var_c48300 = (* ((( (ptr) var_c48268)+1)+( limit189 = (* (ptr) var_c48268 ), BCK(i_v20888, limit189) )) ); }; }; if (XR_ExtractField(var_c48300, 32 + (word) ( limit190 = (* (ptr) var_c48300 ), BCK(j_v21004, limit190) ), 1)) { SOURCE(12314, 12) return(1); }; }; j_v21004 = (j_v21004 + 1); if ((j_v21004 < noName_c48236)) { goto lab_L100115; }; lab_L100112: ; }; SOURCE(12337, 13) return(0); } static void AddConstrained_P1140(formal_c01191, formal_c01192) word formal_c01191; word formal_c01192; { W8 var_c59820; /* declaration of descriptor_v8776 skipped */ /* declaration of selected_v8804 skipped */ register ptr gf_c59852 = (ptr) &globalframe; /* declaration of var_c48332 skipped */ word seq_v21076; var_c59820.f4/* descriptor_v8776 */ = formal_c01191; var_c59820.f5/* selected_v8804 */ = formal_c01192; /* AddConstrained: */ SOURCE(12660, 942) { word tmpAddr191; tmpAddr191 = (word) (( (ptr) &var_c59820)+6)/* var_c48332 */ ; (* (ptr) tmpAddr191 ) = ( ((word) (fPt) SomeSelectedConstrainer_P7008) ); (* (( (ptr) tmpAddr191) + 1) ) = 1; }; SOURCE(13259, 41) seq_v21076 = XR_Narrow((* (( (ptr) var_c59820.f4/* descriptor_v8776 */ )+1) ), (* (( (ptr) gf_c59852)+5) )); SOURCE(13302, 29) if ((var_c59820.f5/* selected_v8804 */ == 0)) { SOURCE(13325, 6) return; }; SOURCE(13352, 250) { register word i_v21224 = 0; register word noName_c48364; word var_c48396; word var_c48428; noName_c48364 = (* (ptr) (* (ptr) seq_v21076 ) ); if ((i_v21224 >= noName_c48364)) { goto lab_L100116; }; lab_L100119: ; SOURCE(13391, 211) { word tc192; word tc193; word tc194; word pd195; word limit196; word limit197; pd195 = (* (( (ptr) (* (( (ptr) gf_c59852)+204)/* var_c43500 */ ))+29) ); if (((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd195 ))))((* (ptr) var_c59820.f4/* descriptor_v8776 */ ), i_v21224, pd195) ) ) == (* (( (ptr) gf_c59852)+26) ))) { var_c48396 = (* (ptr) seq_v21076 ); tc194 = (word) ! XR_ExtractField(var_c48396, 32 + (word) ( limit196 = (* (ptr) var_c48396 ), BCK(i_v21224, limit196) ), 1); } else { tc194 = (word) 0; }; if (tc194) { var_c48428 = (* (ptr) var_c59820.f5/* selected_v8804 */ ); tc193 = (word) ! XR_ExtractField(var_c48428, 32 + (word) ( limit197 = (* (ptr) var_c48428 ), BCK(i_v21224, limit197) ), 1); } else { tc193 = (word) 0; }; if (tc193) { tc192 = (word) (0 != (word) SomeSelectedConstrainer_P7008(i_v21224, (word) (( (bPt) &var_c59820)+24)/* var_c48332 */ )); } else { tc192 = (word) 0; }; if (tc192) { SOURCE(13547, 22) { word var_c48460; var_c48460 = (* (ptr) seq_v21076 ); { word limit198; word xs199; xs199 = (word) ( limit198 = (* (ptr) var_c48460 ), BCK(i_v21224, limit198) ); (* (bPt) ((( (bPt) var_c48460)+4) + ((word) xs199 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs199 & 7)+1)); }; }; SOURCE(13571, 31) (* (( (ptr) seq_v21076)+3) ) = ((* (( (ptr) seq_v21076)+3) ) + 1); }; }; i_v21224 = (i_v21224 + 1); if ((i_v21224 < noName_c48364)) { goto lab_L100119; }; lab_L100116: ; }; } static word SomeSelectedConstrainer_P7008(i_v21152, formal_c59916) word i_v21152; word formal_c59916; { register ptr gf_c59884 = (ptr) &globalframe; word var_c21196; word previous_v21268; word following_v21296; word var_c48524; word var_c48588; formal_c59916 = (formal_c59916 - 24); /* SomeSelectedConstrainer: */ SOURCE(12736, 518) SOURCE(12820, 57) { word pd200; pd200 = (* (( (ptr) (* (( (ptr) gf_c59884)+204)/* var_c43500 */ ))+42) ); previous_v21268 = (word) ( *( (fPt) ((* (ptr) pd200 ))))((* (ptr) (* (( (ptr) formal_c59916)+4) ) ), i_v21152, pd200); }; SOURCE(12879, 59) { word pd201; pd201 = (* (( (ptr) (* (( (ptr) gf_c59884)+204)/* var_c43500 */ ))+43) ); following_v21296 = (word) ( *( (fPt) ((* (ptr) pd201 ))))((* (ptr) (* (( (ptr) formal_c59916)+4) ) ), i_v21152, pd201); }; SOURCE(12940, 147) { word tc202; word tc203; word pd204; word limit206; if (( (int)previous_v21268 != (int) (word) -1)) { pd204 = (* (( (ptr) (* (( (ptr) gf_c59884)+204)/* var_c43500 */ ))+29) ); tc203 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd204 ))))((* (ptr) (* (( (ptr) formal_c59916)+4) ) ), SGNCK( previous_v21268), pd204) ) ) == (* (( (ptr) gf_c59884)+26) )); } else { tc203 = (word) 0; }; if (tc203) { { word var_c48492; var_c48492 = (* (( (ptr) (* (( (ptr) formal_c59916)+5) ))+2) ); { word limit205; var_c48524 = (* ((( (ptr) var_c48492)+1)+( limit205 = (* (ptr) var_c48492 ), BCK(previous_v21268, limit205) )) ); }; }; tc202 = (word) XR_ExtractField(var_c48524, 32 + (word) ( limit206 = (* (ptr) var_c48524 ), BCK(1, limit206) ), 1); } else { tc202 = (word) 0; }; if (tc202) { SOURCE(13075, 12) return(1); }; }; SOURCE(13089, 150) { word tc207; word tc208; word pd209; word limit211; if (( (int)following_v21296 != (int) (word) -1)) { pd209 = (* (( (ptr) (* (( (ptr) gf_c59884)+204)/* var_c43500 */ ))+29) ); tc208 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd209 ))))((* (ptr) (* (( (ptr) formal_c59916)+4) ) ), SGNCK( following_v21296), pd209) ) ) == (* (( (ptr) gf_c59884)+26) )); } else { tc208 = (word) 0; }; if (tc208) { { word var_c48556; var_c48556 = (* (( (ptr) (* (( (ptr) formal_c59916)+5) ))+2) ); { word limit210; var_c48588 = (* ((( (ptr) var_c48556)+1)+( limit210 = (* (ptr) var_c48556 ), BCK(following_v21296, limit210) )) ); }; }; tc207 = (word) XR_ExtractField(var_c48588, 32 + (word) ( limit211 = (* (ptr) var_c48588 ), BCK(0, limit211) ), 1); } else { tc207 = (word) 0; }; if (tc207) { SOURCE(13227, 12) return(1); }; }; SOURCE(13241, 13) return(0); } static void AddNewBezier_P1200(seq_v8864, selected_v8892, segNum_v8920) word seq_v8864; word selected_v8892; word segNum_v8920; { word var_c48620; word var_c48652; /* AddNewBezier: */ SOURCE(13620, 253) SOURCE(13694, 29) if ((selected_v8892 == 0)) { SOURCE(13717, 6) return; }; SOURCE(13744, 129) { word tc212; word limit213; word limit214; var_c48620 = (* (ptr) seq_v8864 ); if ( ! XR_ExtractField(var_c48620, 32 + (word) ( limit213 = (* (ptr) var_c48620 ), BCK(segNum_v8920, limit213) ), 1)) { var_c48652 = (* (ptr) selected_v8892 ); tc212 = (word) ! XR_ExtractField(var_c48652, 32 + (word) ( limit214 = (* (ptr) var_c48652 ), BCK(segNum_v8920, limit214) ), 1); } else { tc212 = (word) 0; }; if (tc212) { SOURCE(13813, 27) { word var_c48684; var_c48684 = (* (ptr) seq_v8864 ); { word limit215; word xs216; xs216 = (word) ( limit215 = (* (ptr) var_c48684 ), BCK(segNum_v8920, limit215) ); (* (bPt) ((( (bPt) var_c48684)+4) + ((word) xs216 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs216 & 7)+1)); }; }; SOURCE(13842, 31) (* (( (ptr) seq_v8864)+3) ) = ((* (( (ptr) seq_v8864)+3) ) + 1); }; }; } static void DDifference_P1260(mutable_v8980, negative_v9008) word mutable_v8980; word negative_v9008; { register ptr gf_c59948 = (ptr) &globalframe; /* DDifference: */ SOURCE(13882, 232) SOURCE(13948, 49) if (((* (( (ptr) (* (ptr) mutable_v8980 ))+1) ) != (* (( (ptr) (* (ptr) negative_v9008 ))+1) ))) { SOURCE(13997, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(14030, 84) { word var_c48716; word var_c48748; var_c48716 = XR_Narrow((* (( (ptr) mutable_v8980)+1) ), (* (( (ptr) gf_c59948)+5) )); var_c48748 = XR_Narrow((* (( (ptr) negative_v9008)+1) ), (* (( (ptr) gf_c59948)+5) )); (void) DDifferenceSeq_P1320(var_c48716, var_c48748); }; } static void DDifferenceSeq_P1320(mutSeq_v9068, negSeq_v9096) word mutSeq_v9068; word negSeq_v9096; { word hiJoint_v21340; /* DDifferenceSeq: */ SOURCE(14120, 677) SOURCE(14195, 345) { register word i_v21384 = 0; register word noName_c48780; noName_c48780 = (* (ptr) (* (ptr) mutSeq_v9068 ) ); if ((i_v21384 >= noName_c48780)) { goto lab_L100120; }; lab_L100123: ; { word cpCount_v21428; word var_c48812; SOURCE(14237, 42) { word limit217; var_c48812 = (* (( (ptr) mutSeq_v9068)+2) ); cpCount_v21428 = (* (ptr) (* ((( (ptr) var_c48812)+1)+( limit217 = (* (ptr) var_c48812 ), BCK(i_v21384, limit217) )) ) ); }; SOURCE(14281, 66) { word var_c48908; word var_c48844; var_c48908 = (* (ptr) mutSeq_v9068 ); { word limit218; word limit223; word xs224; var_c48844 = (* (ptr) mutSeq_v9068 ); if (XR_ExtractField(var_c48844, 32 + (word) ( limit218 = (* (ptr) var_c48844 ), BCK(i_v21384, limit218) ), 1)) { { word var_c48876; var_c48876 = (* (ptr) negSeq_v9096 ); { word limit219; word limit220; word xs221; word x222; xs221 = (word) ( limit220 = (* (ptr) var_c48908 ), BCK(i_v21384, limit220) ); x222 = (word) ((( (bPt) var_c48908)+4) + ((word) xs221 >> 3)); xs221 = 8 - ((word) (xs221 & 7)+1); (* (bPt) x222 ) = ((* (bPt) x222 ) & ( ~ ((unsigned) 1 << xs221))) | ((( ! XR_ExtractField(var_c48876, 32 + (word) ( /*1*/ limit219 = (* (ptr) var_c48876 ), /*1*/ BCK(i_v21384, limit219) /*1*/ ), 1))) << xs221); }; }; } else { xs224 = (word) ( limit223 = (* (ptr) var_c48908 ), BCK(i_v21384, limit223) ); (* (bPt) ((( (bPt) var_c48908)+4) + ((word) xs224 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs224 & 7)+1)); }; }; }; SOURCE(14349, 120) { register word j_v21472 = 0; register word noName_c48940; noName_c48940 = cpCount_v21428; if ((j_v21472 >= noName_c48940)) { goto lab_L100124; }; lab_L100127: ; SOURCE(14379, 90) { word var_c49132; word var_c49004; { word var_c49100; var_c49100 = (* (( (ptr) mutSeq_v9068)+2) ); { word limit225; var_c49132 = (* ((( (ptr) var_c49100)+1)+( limit225 = (* (ptr) var_c49100 ), BCK(i_v21384, limit225) )) ); }; }; { word limit227; word limit233; word xs234; { word var_c48972; var_c48972 = (* (( (ptr) mutSeq_v9068)+2) ); { word limit226; var_c49004 = (* ((( (ptr) var_c48972)+1)+( /*1*/ limit226 = (* (ptr) var_c48972 ), /*1*/ BCK(i_v21384, limit226) /*1*/ )) ); }; }; if (XR_ExtractField(var_c49004, 32 + (word) ( limit227 = (* (ptr) var_c49004 ), BCK(j_v21472, limit227) ), 1)) { { word var_c49036; word var_c49068; { word limit228; var_c49036 = (* (( (ptr) negSeq_v9096)+2) ); var_c49068 = (* ((( (ptr) var_c49036)+1)+( /*1*/ limit228 = (* (ptr) var_c49036 ), /*1*/ BCK(i_v21384, limit228) /*1*/ )) ); }; { word limit229; word limit230; word xs231; word x232; xs231 = (word) ( /*1*/ limit230 = (* (ptr) var_c49132 ), /*1*/ BCK(j_v21472, limit230) /*1*/ ); x232 = (word) ((( (bPt) var_c49132)+4) + ((word) xs231 >> 3)); xs231 = 8 - ((word) (xs231 & 7)+1); (* (bPt) x232 ) = ((* (bPt) x232 ) & ( ~ ((unsigned) 1 << xs231))) | ((( ! XR_ExtractField(var_c49068, 32 + (word) ( /*1*/ limit229 = (* (ptr) var_c49068 ), /*1*/ BCK(j_v21472, limit229) /*1*/ ), 1))) << xs231); }; }; } else { xs234 = (word) ( limit233 = (* (ptr) var_c49132 ), BCK(j_v21472, limit233) ); (* (bPt) ((( (bPt) var_c49132)+4) + ((word) xs234 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs234 & 7)+1)); }; }; }; j_v21472 = (j_v21472 + 1); if ((j_v21472 < noName_c48940)) { goto lab_L100127; }; lab_L100124: ; }; SOURCE(14480, 60) { word var_c49228; word var_c49164; var_c49228 = (* (( (ptr) mutSeq_v9068)+1) ); { word limit235; word limit240; word xs241; var_c49164 = (* (( (ptr) mutSeq_v9068)+1) ); if (XR_ExtractField(var_c49164, 32 + (word) ( limit235 = (* (ptr) var_c49164 ), BCK(i_v21384, limit235) ), 1)) { { word var_c49196; var_c49196 = (* (( (ptr) negSeq_v9096)+1) ); { word limit236; word limit237; word xs238; word x239; xs238 = (word) ( limit237 = (* (ptr) var_c49228 ), BCK(i_v21384, limit237) ); x239 = (word) ((( (bPt) var_c49228)+4) + ((word) xs238 >> 3)); xs238 = 8 - ((word) (xs238 & 7)+1); (* (bPt) x239 ) = ((* (bPt) x239 ) & ( ~ ((unsigned) 1 << xs238))) | ((( ! XR_ExtractField(var_c49196, 32 + (word) ( /*1*/ limit236 = (* (ptr) var_c49196 ), /*1*/ BCK(i_v21384, limit236) /*1*/ ), 1))) << xs238); }; }; } else { xs241 = (word) ( limit240 = (* (ptr) var_c49228 ), BCK(i_v21384, limit240) ); (* (bPt) ((( (bPt) var_c49228)+4) + ((word) xs241 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs241 & 7)+1)); }; }; }; }; i_v21384 = (i_v21384 + 1); if ((i_v21384 < noName_c48780)) { goto lab_L100123; }; lab_L100120: ; }; SOURCE(14551, 29) { word idx242; hiJoint_v21340 = ( idx242 = (word) ((* (ptr) (* (( (ptr) mutSeq_v9068)+1) ) ) - 1), SGNCK(idx242) ); }; SOURCE(14582, 78) { word var_c49324; word var_c49260; var_c49324 = (* (( (ptr) mutSeq_v9068)+1) ); { word limit243; word limit248; word xs249; var_c49260 = (* (( (ptr) mutSeq_v9068)+1) ); if (XR_ExtractField(var_c49260, 32 + (word) ( limit243 = (* (ptr) var_c49260 ), BCK(hiJoint_v21340, limit243) ), 1)) { { word var_c49292; var_c49292 = (* (( (ptr) negSeq_v9096)+1) ); { word limit244; word limit245; word xs246; word x247; xs246 = (word) ( limit245 = (* (ptr) var_c49324 ), BCK(hiJoint_v21340, limit245) ); x247 = (word) ((( (bPt) var_c49324)+4) + ((word) xs246 >> 3)); xs246 = 8 - ((word) (xs246 & 7)+1); (* (bPt) x247 ) = ((* (bPt) x247 ) & ( ~ ((unsigned) 1 << xs246))) | ((( ! XR_ExtractField(var_c49292, 32 + (word) ( /*1*/ limit244 = (* (ptr) var_c49292 ), /*1*/ BCK(hiJoint_v21340, limit244) /*1*/ ), 1))) << xs246); }; }; } else { xs249 = (word) ( limit248 = (* (ptr) var_c49324 ), BCK(hiJoint_v21340, limit248) ); (* (bPt) ((( (bPt) var_c49324)+4) + ((word) xs249 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs249 & 7)+1)); }; }; }; SOURCE(14662, 39) (* (( (ptr) mutSeq_v9068)+3) ) = (word) CountSegments_P2460(mutSeq_v9068); SOURCE(14703, 39) (* (( (ptr) mutSeq_v9068)+4) ) = (word) CountJoints_P2520(mutSeq_v9068); SOURCE(14744, 53) (* (( (ptr) mutSeq_v9068)+5) ) = (word) CountControlPoints_P2580(mutSeq_v9068); } static word FindPartsInList_P1380(traj_v9156, selectedList_v9184) word traj_v9156; word selectedList_v9184; { register ptr gf_c59980 = (ptr) &globalframe; word trajParts_v9312; word trajD_v21516 = 0; /* FindPartsInList: */ SOURCE(14803, 530) SOURCE(14803, 530) trajParts_v9312 = 0; SOURCE(14943, 368) { register word sliceDList_v21560; sliceDList_v21560 = selectedList_v9184; lab_L100131: ; if ((sliceDList_v21560 != 0)) { } else { goto lab_L100128; }; { word sliceD_v21688; SOURCE(15041, 42) sliceD_v21688 = (* (ptr) sliceDList_v21560 ); SOURCE(15085, 179) { word pd250; word pd251; word pd252; pd250 = (* (( (ptr) (* (( (ptr) gf_c59980)+205)/* var_c49356 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd250 ))))((* (ptr) (sliceD_v21688) ), pd250) == (* (( (ptr) gf_c59980)+25) ))) { trajD_v21516 = sliceD_v21688; } else { pd251 = (* (( (ptr) (* (( (ptr) gf_c59980)+205)/* var_c49356 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd251 ))))((* (ptr) (sliceD_v21688) ), pd251) == (* (( (ptr) gf_c59980)+24) ))) { pd252 = (* (( (ptr) (* (( (ptr) gf_c59980)+206)/* var_c49388 */ ))+85) ); trajD_v21516 = (word) ( *( (fPt) ((* (ptr) pd252 ))))(sliceD_v21688, traj_v9156, pd252); } else { trajD_v21516 = 0; }; }; }; SOURCE(15266, 45) if ((trajD_v21516 != 0)) { SOURCE(15284, 27) return(XR_Narrow((* (( (ptr) trajD_v21516)+1) ), (* (( (ptr) gf_c59980)+5) ))); }; }; sliceDList_v21560 = (* (( (ptr) sliceDList_v21560)+1) ); goto lab_L100131; lab_L100128: ; }; SOURCE(15322, 11) return(0); } static word NewBitMatrixFromSeq_P1440(seq_v9372) word seq_v9372; { register ptr gf_c60012 = (ptr) &globalframe; word bitMatrix_v9416; /* NewBitMatrixFromSeq: */ SOURCE(15339, 258) SOURCE(15339, 258) bitMatrix_v9416 = 0; SOURCE(15417, 52) { word var_c49452; word var_c49484; word var_c49516; { word idx253; var_c49452 = ( idx253 = (* (ptr) (* (( (ptr) seq_v9372)+2) ) ), BCK(idx253, 67108863) ); }; var_c49484 = ((word) var_c49452 << 2); var_c49516 = XR_NewObject((4 + var_c49484), (* (( (ptr) gf_c60012)+11) )); (* (ptr) var_c49516 ) = var_c49452; bitMatrix_v9416 = var_c49516; }; SOURCE(15471, 126) { register word j_v21732 = 0; register word noName_c49548; noName_c49548 = (* (ptr) (* (( (ptr) seq_v9372)+2) ) ); if ((j_v21732 >= noName_c49548)) { goto lab_L100132; }; lab_L100135: ; SOURCE(15544, 53) { word var_c49580; { word var_c49612; word var_c01168; { word limit254; var_c49612 = (* (( (ptr) seq_v9372)+2) ); var_c01168 = (* (ptr) (* ((( (ptr) var_c49612)+1)+( limit254 = (* (ptr) var_c49612 ), BCK(j_v21732, limit254) )) ) ); }; var_c49580 = (word) NewBitVector_P1560(var_c01168); }; { word limit255; (* ((( (ptr) bitMatrix_v9416)+1)+( limit255 = (* (ptr) bitMatrix_v9416 ), BCK(j_v21732, limit255) )) ) = var_c49580; }; }; j_v21732 = (j_v21732 + 1); if ((j_v21732 < noName_c49548)) { goto lab_L100135; }; lab_L100132: ; }; SOURCE(15339, 258) return(bitMatrix_v9416); } static word NewBitMatrix_P1500(traj_v9476) word traj_v9476; { register ptr gf_c60044 = (ptr) &globalframe; word bitMatrix_v9520; word j_v21776 = 0; word segGen_v21804; /* NewBitMatrix: */ SOURCE(15648, 360) SOURCE(15648, 360) bitMatrix_v9520 = 0; SOURCE(15731, 58) { word pd256; pd256 = (* (( (ptr) (* (( (ptr) gf_c60044)+207)/* var_c49644 */ ))+40) ); segGen_v21804 = (word) ( *( (fPt) ((* (ptr) pd256 ))))(traj_v9476, pd256); }; SOURCE(15791, 44) { word var_c49676; word var_c49708; word var_c49740; { word idx257; var_c49676 = ( idx257 = (* (( (ptr) traj_v9476)+1) ), BCK(idx257, 67108863) ); }; var_c49708 = ((word) var_c49676 << 2); var_c49740 = XR_NewObject((4 + var_c49708), (* (( (ptr) gf_c60044)+11) )); (* (ptr) var_c49740 ) = var_c49676; bitMatrix_v9520 = var_c49740; }; SOURCE(15837, 171) { register word seg_v21848; { word pd258; pd258 = (* (( (ptr) (* (( (ptr) gf_c60044)+207)/* var_c49644 */ ))+46) ); seg_v21848 = (word) ( *( (fPt) ((* (ptr) pd258 ))))(segGen_v21804, pd258); }; lab_L100139: ; if ((seg_v21848 != 0)) { } else { goto lab_L100136; }; SOURCE(15938, 61) { word var_c49772; { word var_c49804; { word pd259; pd259 = (* (( (ptr) (* (ptr) seg_v21848 ))+17) ); var_c49804 = (word) ( *( (fPt) ((* (ptr) pd259 ))))(seg_v21848, pd259); }; var_c49772 = (word) NewBitVector_P1560(var_c49804); }; { word limit260; (* ((( (ptr) bitMatrix_v9520)+1)+( limit260 = (* (ptr) bitMatrix_v9520 ), BCK(j_v21776, limit260) )) ) = var_c49772; }; }; SOURCE(16001, 7) j_v21776 = (j_v21776 + 1); { word pd261; pd261 = (* (( (ptr) (* (( (ptr) gf_c60044)+207)/* var_c49644 */ ))+46) ); seg_v21848 = (word) ( *( (fPt) ((* (ptr) pd261 ))))(segGen_v21804, pd261); }; goto lab_L100139; lab_L100136: ; }; SOURCE(15648, 360) return(bitMatrix_v9520); } static word NewBitVector_P1560(length_v9580) word length_v9580; { register ptr gf_c60076 = (ptr) &globalframe; word bitVec_v9624; /* NewBitVector: */ SOURCE(16023, 126) SOURCE(16023, 126) bitVec_v9624 = 0; SOURCE(16088, 34) { word var_c49836; word var_c49868; word var_c49900; var_c49836 = BCK(length_v9580, 2147483647); var_c49868 = ((word) ((word) (var_c49836 + 31) >> 5) << 2); var_c49900 = XR_NewObject((4 + var_c49868), (* (( (ptr) gf_c60076)+12) )); (* (ptr) var_c49900 ) = var_c49836; bitVec_v9624 = var_c49900; }; SOURCE(16124, 25) (void) SetAllBits_P1620(bitVec_v9624, 0); SOURCE(16023, 126) return(bitVec_v9624); } static void SetAllBits_P1620(bitVec_v9684, bool_v9712) word bitVec_v9684; word bool_v9712; { /* SetAllBits: */ SOURCE(16154, 102) SOURCE(16207, 49) { register word i_v21892 = 0; register word noName_c49932; noName_c49932 = (* (ptr) bitVec_v9684 ); if ((i_v21892 >= noName_c49932)) { goto lab_L100140; }; lab_L100143: ; SOURCE(16240, 16) { word limit262; word xs263; word x264; xs263 = (word) ( limit262 = (* (ptr) bitVec_v9684 ), BCK(i_v21892, limit262) ); x264 = (word) ((( (bPt) bitVec_v9684)+4) + ((word) xs263 >> 3)); xs263 = 8 - ((word) (xs263 & 7)+1); (* (bPt) x264 ) = ((* (bPt) x264 ) & ( ~ ((unsigned) 1 << xs263))) | (((bool_v9712 & 1)) << xs263); }; i_v21892 = (i_v21892 + 1); if ((i_v21892 < noName_c49932)) { goto lab_L100143; }; lab_L100140: ; }; } static word SomeSegCPInSeq_P1680(segNum_v9772, seq_v9800) word segNum_v9772; word seq_v9800; { word var_c9844; word cpCount_v21936; word var_c49964; /* SomeSegCPInSeq: */ SOURCE(16271, 219) SOURCE(16341, 44) { word limit265; var_c49964 = (* (( (ptr) seq_v9800)+2) ); cpCount_v21936 = (* (ptr) (* ((( (ptr) var_c49964)+1)+( limit265 = (* (ptr) var_c49964 ), BCK(segNum_v9772, limit265) )) ) ); }; SOURCE(16387, 79) { register word j_v21980 = 0; register word noName_c49996; word var_c50060; noName_c49996 = cpCount_v21936; if ((j_v21980 >= noName_c49996)) { goto lab_L100144; }; lab_L100147: ; SOURCE(16417, 49) { word limit267; { word var_c50028; var_c50028 = (* (( (ptr) seq_v9800)+2) ); { word limit266; var_c50060 = (* ((( (ptr) var_c50028)+1)+( limit266 = (* (ptr) var_c50028 ), BCK(segNum_v9772, limit266) )) ); }; }; if (XR_ExtractField(var_c50060, 32 + (word) ( limit267 = (* (ptr) var_c50060 ), BCK(j_v21980, limit267) ), 1)) { SOURCE(16454, 12) return(1); }; }; j_v21980 = (j_v21980 + 1); if ((j_v21980 < noName_c49996)) { goto lab_L100147; }; lab_L100144: ; }; SOURCE(16477, 13) return(0); } static word Union_P1740(a_v9904, b_v9932) word a_v9904; word b_v9932; { register ptr gf_c60108 = (ptr) &globalframe; word union_v9976; word hiJoint_v22024; word uSeq_v22052 = 0; word aSeq_v22080; word aTraj_v22108; word bSeq_v22136; word bTraj_v22164; /* Union: */ SOURCE(16496, 1215) SOURCE(16496, 1215) union_v9976 = 0; SOURCE(16607, 33) aSeq_v22080 = XR_Narrow((* (( (ptr) a_v9904)+1) ), (* (( (ptr) gf_c60108)+5) )); SOURCE(16642, 38) aTraj_v22108 = XR_Narrow((* (( (ptr) (* (ptr) a_v9904 ))+1) ), (* (( (ptr) gf_c60108)+13) )); SOURCE(16682, 33) bSeq_v22136 = XR_Narrow((* (( (ptr) b_v9932)+1) ), (* (( (ptr) gf_c60108)+5) )); SOURCE(16717, 38) bTraj_v22164 = XR_Narrow((* (( (ptr) (* (ptr) b_v9932 ))+1) ), (* (( (ptr) gf_c60108)+13) )); SOURCE(16757, 22) if ((aTraj_v22108 != bTraj_v22164)) { SOURCE(16779, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(16786, 28) if ((aSeq_v22080 == 0)) { SOURCE(16805, 9) return(b_v9932); }; SOURCE(16834, 28) if ((bSeq_v22136 == 0)) { SOURCE(16853, 9) return(a_v9904); }; SOURCE(16882, 31) if ((0 != (word) IsEmpty_P2220(aSeq_v22080))) { SOURCE(16904, 9) return(b_v9932); }; SOURCE(16933, 31) if ((0 != (word) IsEmpty_P2220(bSeq_v22136))) { SOURCE(16955, 9) return(a_v9904); }; SOURCE(16984, 34) if ((0 != (word) IsComplete_P2280(aSeq_v22080))) { SOURCE(17009, 9) return(a_v9904); }; SOURCE(17038, 34) if ((0 != (word) IsComplete_P2280(bSeq_v22136))) { SOURCE(17063, 9) return(b_v9932); }; SOURCE(17092, 25) uSeq_v22052 = (word) CreateEmpty_P180(aTraj_v22108); SOURCE(17119, 308) { register word i_v22208 = 0; register word noName_c50092; noName_c50092 = (* (ptr) (* (ptr) uSeq_v22052 ) ); if ((i_v22208 >= noName_c50092)) { goto lab_L100148; }; lab_L100151: ; { word cpCount_v22252; word var_c50124; SOURCE(17159, 40) { word limit268; var_c50124 = (* (( (ptr) aSeq_v22080)+2) ); cpCount_v22252 = (* (ptr) (* ((( (ptr) var_c50124)+1)+( limit268 = (* (ptr) var_c50124 ), BCK(i_v22208, limit268) )) ) ); }; SOURCE(17201, 55) { word var_c50220; word var_c50156; var_c50220 = (* (ptr) uSeq_v22052 ); { word limit269; word limit270; word xs271; var_c50156 = (* (ptr) aSeq_v22080 ); if (XR_ExtractField(var_c50156, 32 + (word) ( limit269 = (* (ptr) var_c50156 ), BCK(i_v22208, limit269) ), 1)) { xs271 = (word) ( limit270 = (* (ptr) var_c50220 ), BCK(i_v22208, limit270) ); (* (bPt) ((( (bPt) var_c50220)+4) + ((word) xs271 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs271 & 7)+1)); } else { { word var_c50188; var_c50188 = (* (ptr) bSeq_v22136 ); { word limit272; word limit273; word xs274; word x275; xs274 = (word) ( limit273 = (* (ptr) var_c50220 ), BCK(i_v22208, limit273) ); x275 = (word) ((( (bPt) var_c50220)+4) + ((word) xs274 >> 3)); xs274 = 8 - ((word) (xs274 & 7)+1); (* (bPt) x275 ) = ((* (bPt) x275 ) & ( ~ ((unsigned) 1 << xs274))) | (((XR_ExtractField(var_c50188, 32 + (word) ( /*1*/ limit272 = (* (ptr) var_c50188 ), /*1*/ BCK(i_v22208, limit272) /*1*/ ), 1))) << xs274); }; }; }; }; }; SOURCE(17258, 109) { register word j_v22296 = 0; register word noName_c50252; noName_c50252 = cpCount_v22252; if ((j_v22296 >= noName_c50252)) { goto lab_L100152; }; lab_L100155: ; SOURCE(17288, 79) { word var_c50444; word var_c50316; { word var_c50412; var_c50412 = (* (( (ptr) uSeq_v22052)+2) ); { word limit276; var_c50444 = (* ((( (ptr) var_c50412)+1)+( limit276 = (* (ptr) var_c50412 ), BCK(i_v22208, limit276) )) ); }; }; { word limit278; word limit279; word xs280; { word var_c50284; var_c50284 = (* (( (ptr) aSeq_v22080)+2) ); { word limit277; var_c50316 = (* ((( (ptr) var_c50284)+1)+( /*1*/ limit277 = (* (ptr) var_c50284 ), /*1*/ BCK(i_v22208, limit277) /*1*/ )) ); }; }; if (XR_ExtractField(var_c50316, 32 + (word) ( limit278 = (* (ptr) var_c50316 ), BCK(j_v22296, limit278) ), 1)) { xs280 = (word) ( limit279 = (* (ptr) var_c50444 ), BCK(j_v22296, limit279) ); (* (bPt) ((( (bPt) var_c50444)+4) + ((word) xs280 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs280 & 7)+1)); } else { { word var_c50380; { word var_c50348; var_c50348 = (* (( (ptr) bSeq_v22136)+2) ); { /*1*/ word limit281; /*1*/ var_c50380 = (* ((( (ptr) var_c50348)+1)+( /*1*/ limit281 = (* (ptr) var_c50348 ), /*1*/ BCK(i_v22208, limit281) /*1*/ )) ); /*1*/ }; }; { word limit282; word limit283; word xs284; word x285; xs284 = (word) ( /*1*/ limit283 = (* (ptr) var_c50444 ), /*1*/ BCK(j_v22296, limit283) /*1*/ ); x285 = (word) ((( (bPt) var_c50444)+4) + ((word) xs284 >> 3)); xs284 = 8 - ((word) (xs284 & 7)+1); (* (bPt) x285 ) = ((* (bPt) x285 ) & ( ~ ((unsigned) 1 << xs284))) | (((XR_ExtractField(var_c50380, 32 + (word) ( /*1*/ limit282 = (* (ptr) var_c50380 ), /*1*/ BCK(j_v22296, limit282) /*1*/ ), 1))) << xs284); }; }; }; }; }; j_v22296 = (j_v22296 + 1); if ((j_v22296 < noName_c50252)) { goto lab_L100155; }; lab_L100152: ; }; SOURCE(17378, 49) { word var_c50540; word var_c50476; var_c50540 = (* (( (ptr) uSeq_v22052)+1) ); { word limit286; word limit287; word xs288; var_c50476 = (* (( (ptr) aSeq_v22080)+1) ); if (XR_ExtractField(var_c50476, 32 + (word) ( limit286 = (* (ptr) var_c50476 ), BCK(i_v22208, limit286) ), 1)) { xs288 = (word) ( limit287 = (* (ptr) var_c50540 ), BCK(i_v22208, limit287) ); (* (bPt) ((( (bPt) var_c50540)+4) + ((word) xs288 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs288 & 7)+1)); } else { { word var_c50508; var_c50508 = (* (( (ptr) bSeq_v22136)+1) ); { word limit289; word limit290; word xs291; word x292; xs291 = (word) ( limit290 = (* (ptr) var_c50540 ), BCK(i_v22208, limit290) ); x292 = (word) ((( (bPt) var_c50540)+4) + ((word) xs291 >> 3)); xs291 = 8 - ((word) (xs291 & 7)+1); (* (bPt) x292 ) = ((* (bPt) x292 ) & ( ~ ((unsigned) 1 << xs291))) | (((XR_ExtractField(var_c50508, 32 + (word) ( /*1*/ limit289 = (* (ptr) var_c50508 ), /*1*/ BCK(i_v22208, limit289) /*1*/ ), 1))) << xs291); }; }; }; }; }; }; i_v22208 = (i_v22208 + 1); if ((i_v22208 < noName_c50092)) { goto lab_L100151; }; lab_L100148: ; }; SOURCE(17438, 27) { word idx293; hiJoint_v22024 = ( idx293 = (word) ((* (ptr) (* (( (ptr) uSeq_v22052)+1) ) ) - 1), SGNCK(idx293) ); }; SOURCE(17467, 67) { word var_c50636; word var_c50572; var_c50636 = (* (( (ptr) uSeq_v22052)+1) ); { word limit294; word limit295; word xs296; var_c50572 = (* (( (ptr) aSeq_v22080)+1) ); if (XR_ExtractField(var_c50572, 32 + (word) ( limit294 = (* (ptr) var_c50572 ), BCK(hiJoint_v22024, limit294) ), 1)) { xs296 = (word) ( limit295 = (* (ptr) var_c50636 ), BCK(hiJoint_v22024, limit295) ); (* (bPt) ((( (bPt) var_c50636)+4) + ((word) xs296 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs296 & 7)+1)); } else { { word var_c50604; var_c50604 = (* (( (ptr) bSeq_v22136)+1) ); { word limit297; word limit298; word xs299; word x300; xs299 = (word) ( limit298 = (* (ptr) var_c50636 ), BCK(hiJoint_v22024, limit298) ); x300 = (word) ((( (bPt) var_c50636)+4) + ((word) xs299 >> 3)); xs299 = 8 - ((word) (xs299 & 7)+1); (* (bPt) x300 ) = ((* (bPt) x300 ) & ( ~ ((unsigned) 1 << xs299))) | (((XR_ExtractField(var_c50604, 32 + (word) ( /*1*/ limit297 = (* (ptr) var_c50604 ), /*1*/ BCK(hiJoint_v22024, limit297) /*1*/ ), 1))) << xs299); }; }; }; }; }; SOURCE(17536, 35) (* (( (ptr) uSeq_v22052)+3) ) = (word) CountSegments_P2460(uSeq_v22052); SOURCE(17573, 35) (* (( (ptr) uSeq_v22052)+4) ) = (word) CountJoints_P2520(uSeq_v22052); SOURCE(17610, 49) (* (( (ptr) uSeq_v22052)+5) ) = (word) CountControlPoints_P2580(uSeq_v22052); SOURCE(17661, 50) { word pd301; pd301 = (* (( (ptr) (* (( (ptr) gf_c60108)+208)/* var_c50668 */ ))+8) ); union_v9976 = (word) ( *( (fPt) ((* (ptr) pd301 ))))((* (ptr) a_v9904 ), uSeq_v22052, pd301); }; SOURCE(16496, 1215) return(union_v9976); } static word Difference_P1800(a_v10036, b_v10064) word a_v10036; word b_v10064; { register ptr gf_c60140 = (ptr) &globalframe; word aMinusB_v10108; word hiJoint_v22340; word dSeq_v22368 = 0; word aSeq_v22396; word aTraj_v22424; word bSeq_v22452; word bTraj_v22480; /* Difference: */ SOURCE(17717, 909) SOURCE(17717, 909) aMinusB_v10108 = 0; SOURCE(17835, 33) aSeq_v22396 = XR_Narrow((* (( (ptr) a_v10036)+1) ), (* (( (ptr) gf_c60140)+5) )); SOURCE(17870, 38) aTraj_v22424 = XR_Narrow((* (( (ptr) (* (ptr) a_v10036 ))+1) ), (* (( (ptr) gf_c60140)+13) )); SOURCE(17910, 33) bSeq_v22452 = XR_Narrow((* (( (ptr) b_v10064)+1) ), (* (( (ptr) gf_c60140)+5) )); SOURCE(17945, 38) bTraj_v22480 = XR_Narrow((* (( (ptr) (* (ptr) b_v10064 ))+1) ), (* (( (ptr) gf_c60140)+13) )); SOURCE(17985, 25) dSeq_v22368 = (word) CreateEmpty_P180(aTraj_v22424); SOURCE(18012, 323) { register word i_v22524 = 0; register word noName_c50700; noName_c50700 = (* (ptr) (* (ptr) aSeq_v22396 ) ); if ((i_v22524 >= noName_c50700)) { goto lab_L100156; }; lab_L100159: ; { word cpCount_v22568; word var_c50732; SOURCE(18052, 40) { word limit302; var_c50732 = (* (( (ptr) aSeq_v22396)+2) ); cpCount_v22568 = (* (ptr) (* ((( (ptr) var_c50732)+1)+( limit302 = (* (ptr) var_c50732 ), BCK(i_v22524, limit302) )) ) ); }; SOURCE(18094, 60) { word var_c50828; word var_c50764; var_c50828 = (* (ptr) dSeq_v22368 ); { word limit303; word limit308; word xs309; var_c50764 = (* (ptr) aSeq_v22396 ); if (XR_ExtractField(var_c50764, 32 + (word) ( limit303 = (* (ptr) var_c50764 ), BCK(i_v22524, limit303) ), 1)) { { word var_c50796; var_c50796 = (* (ptr) bSeq_v22452 ); { word limit304; word limit305; word xs306; word x307; xs306 = (word) ( limit305 = (* (ptr) var_c50828 ), BCK(i_v22524, limit305) ); x307 = (word) ((( (bPt) var_c50828)+4) + ((word) xs306 >> 3)); xs306 = 8 - ((word) (xs306 & 7)+1); (* (bPt) x307 ) = ((* (bPt) x307 ) & ( ~ ((unsigned) 1 << xs306))) | ((( ! XR_ExtractField(var_c50796, 32 + (word) ( /*1*/ limit304 = (* (ptr) var_c50796 ), /*1*/ BCK(i_v22524, limit304) /*1*/ ), 1))) << xs306); }; }; } else { xs309 = (word) ( limit308 = (* (ptr) var_c50828 ), BCK(i_v22524, limit308) ); (* (bPt) ((( (bPt) var_c50828)+4) + ((word) xs309 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs309 & 7)+1)); }; }; }; SOURCE(18156, 114) { register word j_v22612 = 0; register word noName_c50860; noName_c50860 = cpCount_v22568; if ((j_v22612 >= noName_c50860)) { goto lab_L100160; }; lab_L100163: ; SOURCE(18186, 84) { word var_c51052; word var_c50924; { word var_c51020; var_c51020 = (* (( (ptr) dSeq_v22368)+2) ); { word limit310; var_c51052 = (* ((( (ptr) var_c51020)+1)+( limit310 = (* (ptr) var_c51020 ), BCK(i_v22524, limit310) )) ); }; }; { word limit312; word limit318; word xs319; { word var_c50892; var_c50892 = (* (( (ptr) aSeq_v22396)+2) ); { word limit311; var_c50924 = (* ((( (ptr) var_c50892)+1)+( /*1*/ limit311 = (* (ptr) var_c50892 ), /*1*/ BCK(i_v22524, limit311) /*1*/ )) ); }; }; if (XR_ExtractField(var_c50924, 32 + (word) ( limit312 = (* (ptr) var_c50924 ), BCK(j_v22612, limit312) ), 1)) { { word var_c50956; word var_c50988; { word limit313; var_c50956 = (* (( (ptr) bSeq_v22452)+2) ); var_c50988 = (* ((( (ptr) var_c50956)+1)+( /*1*/ limit313 = (* (ptr) var_c50956 ), /*1*/ BCK(i_v22524, limit313) /*1*/ )) ); }; { word limit314; word limit315; word xs316; word x317; xs316 = (word) ( /*1*/ limit315 = (* (ptr) var_c51052 ), /*1*/ BCK(j_v22612, limit315) /*1*/ ); x317 = (word) ((( (bPt) var_c51052)+4) + ((word) xs316 >> 3)); xs316 = 8 - ((word) (xs316 & 7)+1); (* (bPt) x317 ) = ((* (bPt) x317 ) & ( ~ ((unsigned) 1 << xs316))) | ((( ! XR_ExtractField(var_c50988, 32 + (word) ( /*1*/ limit314 = (* (ptr) var_c50988 ), /*1*/ BCK(j_v22612, limit314) /*1*/ ), 1))) << xs316); }; }; } else { xs319 = (word) ( limit318 = (* (ptr) var_c51052 ), BCK(j_v22612, limit318) ); (* (bPt) ((( (bPt) var_c51052)+4) + ((word) xs319 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs319 & 7)+1)); }; }; }; j_v22612 = (j_v22612 + 1); if ((j_v22612 < noName_c50860)) { goto lab_L100163; }; lab_L100160: ; }; SOURCE(18281, 54) { word var_c51148; word var_c51084; var_c51148 = (* (( (ptr) dSeq_v22368)+1) ); { word limit320; word limit325; word xs326; var_c51084 = (* (( (ptr) aSeq_v22396)+1) ); if (XR_ExtractField(var_c51084, 32 + (word) ( limit320 = (* (ptr) var_c51084 ), BCK(i_v22524, limit320) ), 1)) { { word var_c51116; var_c51116 = (* (( (ptr) bSeq_v22452)+1) ); { word limit321; word limit322; word xs323; word x324; xs323 = (word) ( limit322 = (* (ptr) var_c51148 ), BCK(i_v22524, limit322) ); x324 = (word) ((( (bPt) var_c51148)+4) + ((word) xs323 >> 3)); xs323 = 8 - ((word) (xs323 & 7)+1); (* (bPt) x324 ) = ((* (bPt) x324 ) & ( ~ ((unsigned) 1 << xs323))) | ((( ! XR_ExtractField(var_c51116, 32 + (word) ( /*1*/ limit321 = (* (ptr) var_c51116 ), /*1*/ BCK(i_v22524, limit321) /*1*/ ), 1))) << xs323); }; }; } else { xs326 = (word) ( limit325 = (* (ptr) var_c51148 ), BCK(i_v22524, limit325) ); (* (bPt) ((( (bPt) var_c51148)+4) + ((word) xs326 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs326 & 7)+1)); }; }; }; }; i_v22524 = (i_v22524 + 1); if ((i_v22524 < noName_c50700)) { goto lab_L100159; }; lab_L100156: ; }; SOURCE(18346, 27) { word idx327; hiJoint_v22340 = ( idx327 = (word) ((* (ptr) (* (( (ptr) dSeq_v22368)+1) ) ) - 1), SGNCK(idx327) ); }; SOURCE(18375, 72) { word var_c51244; word var_c51180; var_c51244 = (* (( (ptr) dSeq_v22368)+1) ); { word limit328; word limit333; word xs334; var_c51180 = (* (( (ptr) aSeq_v22396)+1) ); if (XR_ExtractField(var_c51180, 32 + (word) ( limit328 = (* (ptr) var_c51180 ), BCK(hiJoint_v22340, limit328) ), 1)) { { word var_c51212; var_c51212 = (* (( (ptr) bSeq_v22452)+1) ); { word limit329; word limit330; word xs331; word x332; xs331 = (word) ( limit330 = (* (ptr) var_c51244 ), BCK(hiJoint_v22340, limit330) ); x332 = (word) ((( (bPt) var_c51244)+4) + ((word) xs331 >> 3)); xs331 = 8 - ((word) (xs331 & 7)+1); (* (bPt) x332 ) = ((* (bPt) x332 ) & ( ~ ((unsigned) 1 << xs331))) | ((( ! XR_ExtractField(var_c51212, 32 + (word) ( /*1*/ limit329 = (* (ptr) var_c51212 ), /*1*/ BCK(hiJoint_v22340, limit329) /*1*/ ), 1))) << xs331); }; }; } else { xs334 = (word) ( limit333 = (* (ptr) var_c51244 ), BCK(hiJoint_v22340, limit333) ); (* (bPt) ((( (bPt) var_c51244)+4) + ((word) xs334 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs334 & 7)+1)); }; }; }; SOURCE(18449, 35) (* (( (ptr) dSeq_v22368)+3) ) = (word) CountSegments_P2460(dSeq_v22368); SOURCE(18486, 35) (* (( (ptr) dSeq_v22368)+4) ) = (word) CountJoints_P2520(dSeq_v22368); SOURCE(18523, 49) (* (( (ptr) dSeq_v22368)+5) ) = (word) CountControlPoints_P2580(dSeq_v22368); SOURCE(18574, 52) { word pd335; pd335 = (* (( (ptr) (* (( (ptr) gf_c60140)+208)/* var_c50668 */ ))+8) ); aMinusB_v10108 = (word) ( *( (fPt) ((* (ptr) pd335 ))))((* (ptr) a_v10036 ), dSeq_v22368, pd335); }; SOURCE(17717, 909) return(aMinusB_v10108); } static word Intersection_P1860(a_v10168, b_v10196) word a_v10168; word b_v10196; { register ptr gf_c60172 = (ptr) &globalframe; word intersection_v10240; word hiJoint_v22656; word iSeq_v22684 = 0; word aSeq_v22712; word aTraj_v22740; word bSeq_v22768; word bTraj_v22796; /* Intersection: */ SOURCE(18632, 1184) SOURCE(18632, 1184) intersection_v10240 = 0; SOURCE(18757, 33) aSeq_v22712 = XR_Narrow((* (( (ptr) a_v10168)+1) ), (* (( (ptr) gf_c60172)+5) )); SOURCE(18792, 38) aTraj_v22740 = XR_Narrow((* (( (ptr) (* (ptr) a_v10168 ))+1) ), (* (( (ptr) gf_c60172)+13) )); SOURCE(18832, 33) bSeq_v22768 = XR_Narrow((* (( (ptr) b_v10196)+1) ), (* (( (ptr) gf_c60172)+5) )); SOURCE(18867, 38) bTraj_v22796 = XR_Narrow((* (( (ptr) (* (ptr) b_v10196 ))+1) ), (* (( (ptr) gf_c60172)+13) )); SOURCE(18907, 22) if ((aTraj_v22740 != bTraj_v22796)) { SOURCE(18929, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(18936, 25) iSeq_v22684 = (word) CreateEmpty_P180(aTraj_v22740); SOURCE(18963, 86) if ((aSeq_v22712 == 0) || (0 != (word) IsEmpty_P2220(aSeq_v22712))) { SOURCE(18999, 50) { word pd336; pd336 = (* (( (ptr) (* (( (ptr) gf_c60172)+208)/* var_c50668 */ ))+8) ); return((word) ( *( (fPt) ((* (ptr) pd336 ))))((* (ptr) a_v10168 ), iSeq_v22684, pd336)); }; }; SOURCE(19051, 86) if ((bSeq_v22768 == 0) || (0 != (word) IsEmpty_P2220(bSeq_v22768))) { SOURCE(19087, 50) { word pd337; pd337 = (* (( (ptr) (* (( (ptr) gf_c60172)+208)/* var_c50668 */ ))+8) ); return((word) ( *( (fPt) ((* (ptr) pd337 ))))((* (ptr) a_v10168 ), iSeq_v22684, pd337)); }; }; SOURCE(19139, 55) if ( ( (0 != (word) IsComplete_P2280(aSeq_v22712)) ? (0 != (word) IsComplete_P2280(bSeq_v22768)) : 0 ) ) { SOURCE(19185, 9) return(a_v10168); }; SOURCE(19214, 310) { register word i_v22840 = 0; register word noName_c51340; noName_c51340 = (* (ptr) (* (ptr) aSeq_v22712 ) ); if ((i_v22840 >= noName_c51340)) { goto lab_L100164; }; lab_L100167: ; { word cpCount_v22884; word var_c51372; SOURCE(19254, 40) { word limit338; var_c51372 = (* (( (ptr) aSeq_v22712)+2) ); cpCount_v22884 = (* (ptr) (* ((( (ptr) var_c51372)+1)+( limit338 = (* (ptr) var_c51372 ), BCK(i_v22840, limit338) )) ) ); }; SOURCE(19296, 56) { word var_c51468; word var_c51404; var_c51468 = (* (ptr) iSeq_v22684 ); { word limit339; word limit344; word xs345; var_c51404 = (* (ptr) aSeq_v22712 ); if (XR_ExtractField(var_c51404, 32 + (word) ( limit339 = (* (ptr) var_c51404 ), BCK(i_v22840, limit339) ), 1)) { { word var_c51436; var_c51436 = (* (ptr) bSeq_v22768 ); { word limit340; word limit341; word xs342; word x343; xs342 = (word) ( limit341 = (* (ptr) var_c51468 ), BCK(i_v22840, limit341) ); x343 = (word) ((( (bPt) var_c51468)+4) + ((word) xs342 >> 3)); xs342 = 8 - ((word) (xs342 & 7)+1); (* (bPt) x343 ) = ((* (bPt) x343 ) & ( ~ ((unsigned) 1 << xs342))) | (((XR_ExtractField(var_c51436, 32 + (word) ( /*1*/ limit340 = (* (ptr) var_c51436 ), /*1*/ BCK(i_v22840, limit340) /*1*/ ), 1))) << xs342); }; }; } else { xs345 = (word) ( limit344 = (* (ptr) var_c51468 ), BCK(i_v22840, limit344) ); (* (bPt) ((( (bPt) var_c51468)+4) + ((word) xs345 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs345 & 7)+1)); }; }; }; SOURCE(19354, 109) { register word j_v22928 = 0; register word noName_c51500; noName_c51500 = cpCount_v22884; if ((j_v22928 >= noName_c51500)) { goto lab_L100168; }; lab_L100171: ; SOURCE(19384, 79) { word var_c51692; word var_c51564; { word var_c51660; var_c51660 = (* (( (ptr) iSeq_v22684)+2) ); { word limit346; var_c51692 = (* ((( (ptr) var_c51660)+1)+( limit346 = (* (ptr) var_c51660 ), BCK(i_v22840, limit346) )) ); }; }; { word limit348; word limit354; word xs355; { word var_c51532; var_c51532 = (* (( (ptr) aSeq_v22712)+2) ); { word limit347; var_c51564 = (* ((( (ptr) var_c51532)+1)+( /*1*/ limit347 = (* (ptr) var_c51532 ), /*1*/ BCK(i_v22840, limit347) /*1*/ )) ); }; }; if (XR_ExtractField(var_c51564, 32 + (word) ( limit348 = (* (ptr) var_c51564 ), BCK(j_v22928, limit348) ), 1)) { { word var_c51628; { word var_c51596; var_c51596 = (* (( (ptr) bSeq_v22768)+2) ); { /*1*/ word limit349; /*1*/ var_c51628 = (* ((( (ptr) var_c51596)+1)+( /*1*/ limit349 = (* (ptr) var_c51596 ), /*1*/ BCK(i_v22840, limit349) /*1*/ )) ); /*1*/ }; }; { word limit350; word limit351; word xs352; word x353; xs352 = (word) ( /*1*/ limit351 = (* (ptr) var_c51692 ), /*1*/ BCK(j_v22928, limit351) /*1*/ ); x353 = (word) ((( (bPt) var_c51692)+4) + ((word) xs352 >> 3)); xs352 = 8 - ((word) (xs352 & 7)+1); (* (bPt) x353 ) = ((* (bPt) x353 ) & ( ~ ((unsigned) 1 << xs352))) | (((XR_ExtractField(var_c51628, 32 + (word) ( /*1*/ limit350 = (* (ptr) var_c51628 ), /*1*/ BCK(j_v22928, limit350) /*1*/ ), 1))) << xs352); }; }; } else { xs355 = (word) ( limit354 = (* (ptr) var_c51692 ), BCK(j_v22928, limit354) ); (* (bPt) ((( (bPt) var_c51692)+4) + ((word) xs355 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs355 & 7)+1)); }; }; }; j_v22928 = (j_v22928 + 1); if ((j_v22928 < noName_c51500)) { goto lab_L100171; }; lab_L100168: ; }; SOURCE(19474, 50) { word var_c51788; word var_c51724; var_c51788 = (* (( (ptr) iSeq_v22684)+1) ); { word limit356; word limit361; word xs362; var_c51724 = (* (( (ptr) aSeq_v22712)+1) ); if (XR_ExtractField(var_c51724, 32 + (word) ( limit356 = (* (ptr) var_c51724 ), BCK(i_v22840, limit356) ), 1)) { { word var_c51756; var_c51756 = (* (( (ptr) bSeq_v22768)+1) ); { word limit357; word limit358; word xs359; word x360; xs359 = (word) ( limit358 = (* (ptr) var_c51788 ), BCK(i_v22840, limit358) ); x360 = (word) ((( (bPt) var_c51788)+4) + ((word) xs359 >> 3)); xs359 = 8 - ((word) (xs359 & 7)+1); (* (bPt) x360 ) = ((* (bPt) x360 ) & ( ~ ((unsigned) 1 << xs359))) | (((XR_ExtractField(var_c51756, 32 + (word) ( /*1*/ limit357 = (* (ptr) var_c51756 ), /*1*/ BCK(i_v22840, limit357) /*1*/ ), 1))) << xs359); }; }; } else { xs362 = (word) ( limit361 = (* (ptr) var_c51788 ), BCK(i_v22840, limit361) ); (* (bPt) ((( (bPt) var_c51788)+4) + ((word) xs362 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs362 & 7)+1)); }; }; }; }; i_v22840 = (i_v22840 + 1); if ((i_v22840 < noName_c51340)) { goto lab_L100167; }; lab_L100164: ; }; SOURCE(19535, 27) { word idx363; hiJoint_v22656 = ( idx363 = (word) ((* (ptr) (* (( (ptr) iSeq_v22684)+1) ) ) - 1), SGNCK(idx363) ); }; SOURCE(19564, 68) { word var_c51884; word var_c51820; var_c51884 = (* (( (ptr) iSeq_v22684)+1) ); { word limit364; word limit369; word xs370; var_c51820 = (* (( (ptr) aSeq_v22712)+1) ); if (XR_ExtractField(var_c51820, 32 + (word) ( limit364 = (* (ptr) var_c51820 ), BCK(hiJoint_v22656, limit364) ), 1)) { { word var_c51852; var_c51852 = (* (( (ptr) bSeq_v22768)+1) ); { word limit365; word limit366; word xs367; word x368; xs367 = (word) ( limit366 = (* (ptr) var_c51884 ), BCK(hiJoint_v22656, limit366) ); x368 = (word) ((( (bPt) var_c51884)+4) + ((word) xs367 >> 3)); xs367 = 8 - ((word) (xs367 & 7)+1); (* (bPt) x368 ) = ((* (bPt) x368 ) & ( ~ ((unsigned) 1 << xs367))) | (((XR_ExtractField(var_c51852, 32 + (word) ( /*1*/ limit365 = (* (ptr) var_c51852 ), /*1*/ BCK(hiJoint_v22656, limit365) /*1*/ ), 1))) << xs367); }; }; } else { xs370 = (word) ( limit369 = (* (ptr) var_c51884 ), BCK(hiJoint_v22656, limit369) ); (* (bPt) ((( (bPt) var_c51884)+4) + ((word) xs370 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs370 & 7)+1)); }; }; }; SOURCE(19634, 35) (* (( (ptr) iSeq_v22684)+3) ) = (word) CountSegments_P2460(iSeq_v22684); SOURCE(19671, 35) (* (( (ptr) iSeq_v22684)+4) ) = (word) CountJoints_P2520(iSeq_v22684); SOURCE(19708, 49) (* (( (ptr) iSeq_v22684)+5) ) = (word) CountControlPoints_P2580(iSeq_v22684); SOURCE(19759, 57) { word pd371; pd371 = (* (( (ptr) (* (( (ptr) gf_c60172)+208)/* var_c50668 */ ))+8) ); intersection_v10240 = (word) ( *( (fPt) ((* (ptr) pd371 ))))((* (ptr) a_v10168 ), iSeq_v22684, pd371); }; SOURCE(18632, 1184) return(intersection_v10240); } static void TrajMovingParts_P1920(formal_c0545, slice_v10300, parts_v10328, editConstraints_v10356, bezierDrag_v10384) word formal_c0545; word slice_v10300; word parts_v10328; word editConstraints_v10356; W5 bezierDrag_v10384; { register ptr gf_c60204 = (ptr) &globalframe; word background_v10428; word overlay_v10456; word rubber_v10484; word drag_v10512; word seq_v22972; word traj_v23000; /* TrajMovingParts: */ SOURCE(19822, 461) SOURCE(19822, 461) background_v10428 = 0; SOURCE(19822, 461) overlay_v10456 = 0; SOURCE(19822, 461) rubber_v10484 = 0; SOURCE(19822, 461) drag_v10512 = 0; SOURCE(20008, 30) seq_v22972 = XR_Narrow(parts_v10328, (* (( (ptr) gf_c60204)+5) )); SOURCE(20040, 35) traj_v23000 = XR_Narrow((* (( (ptr) slice_v10300)+1) ), (* (( (ptr) gf_c60204)+13) )); SOURCE(20077, 16) background_v10428 = 0; SOURCE(20095, 16) drag_v10512 = (word) Copy_P540(seq_v22972); SOURCE(20113, 74) rubber_v10484 = (word) FindRubberFromSelected_P1980(slice_v10300, parts_v10328, editConstraints_v10356, bezierDrag_v10384) ; SOURCE(20189, 30) overlay_v10456 = (word) CreateComplete_P240(traj_v23000); SOURCE(20221, 29) (void) DDifferenceSeq_P1320(overlay_v10456, drag_v10512); SOURCE(20252, 31) (void) DDifferenceSeq_P1320(overlay_v10456, rubber_v10484); /* removed tail goto */ (* (ptr) formal_c0545 ) = background_v10428; (* (( (ptr) formal_c0545)+1) ) = overlay_v10456; (* (( (ptr) formal_c0545)+2) ) = rubber_v10484; (* (( (ptr) formal_c0545)+3) ) = drag_v10512; return; } static word FindRubberFromSelected_P1980(slice_v10572, parts_v10600, editConstraints_v10628, bezierDrag_v10656) word slice_v10572; word parts_v10600; word editConstraints_v10628; W5 bezierDrag_v10656; { register ptr gf_c60236 = (ptr) &globalframe; word rubber_v10700; word rubberBabbyBuggyBumper_v23044 = 0; word trajParts_v23072; word trajData_v23100; /* FindRubberFromSelected: */ SOURCE(20289, 720) SOURCE(20289, 720) rubber_v10700 = 0; SOURCE(20489, 36) trajParts_v23072 = XR_Narrow(parts_v10600, (* (( (ptr) gf_c60236)+5) )); SOURCE(20527, 39) trajData_v23100 = XR_Narrow((* (( (ptr) slice_v10572)+1) ), (* (( (ptr) gf_c60236)+13) )); SOURCE(20568, 30) rubber_v10700 = (word) CreateEmpty_P180(trajData_v23100); SOURCE(20600, 67) { word pd372; pd372 = (* (( (ptr) (* (( (ptr) gf_c60236)+208)/* var_c50668 */ ))+8) ); rubberBabbyBuggyBumper_v23044 = (word) ( *( (fPt) ((* (ptr) pd372 ))))(slice_v10572, rubber_v10700, pd372); }; SOURCE(20669, 69) (void) AddNonSelectedControlPointSegments_P1080(rubberBabbyBuggyBumper_v23044, trajParts_v23072); SOURCE(20740, 62) (void) AddNonSelectedJointSegments_P1020(rubberBabbyBuggyBumper_v23044, trajParts_v23072); SOURCE(20804, 80) if ((editConstraints_v10628 != 0)) { SOURCE(20835, 49) (void) AddConstrained_P1140(rubberBabbyBuggyBumper_v23044, trajParts_v23072); }; SOURCE(20886, 123) if ( ( (0 != bezierDrag_v10656.f0) ? (trajData_v23100 == (* (( (ptr) bezierDrag_v10656.f3)+1) )) : 0 ) ) { SOURCE(20956, 53) (void) AddNewBezier_P1200(rubber_v10700, trajParts_v23072, bezierDrag_v10656.f2); }; SOURCE(20289, 720) return(rubber_v10700); } static word Augment_P2040(descriptor_v10760, trajEnd_v10788, extend_v10816) word descriptor_v10760; word trajEnd_v10788; word extend_v10816; { register ptr gf_c60268 = (ptr) &globalframe; word bigger_v10860; word seq_v23144; word traj_v23172; /* Augment: */ SOURCE(21046, 1869) SOURCE(21046, 1869) bigger_v10860 = 0; SOURCE(21161, 41) seq_v23144 = XR_Narrow((* (( (ptr) descriptor_v10760)+1) ), (* (( (ptr) gf_c60268)+5) )); SOURCE(21204, 46) traj_v23172 = XR_Narrow((* (( (ptr) (* (ptr) descriptor_v10760 ))+1) ), (* (( (ptr) gf_c60268)+13) )); SOURCE(21252, 98) if (((* (ptr) traj_v23172 ) == 1) || ((* (ptr) traj_v23172 ) == 0)) { SOURCE(21300, 42) bigger_v10860 = (word) AugmentClosed_P2100(descriptor_v10760, extend_v10816); SOURCE(21344, 6) return(bigger_v10860); }; SOURCE(21355, 26) bigger_v10860 = (word) CreateEmpty_P180(traj_v23172); SOURCE(21383, 30) (* (( (ptr) bigger_v10860)+3) ) = (* (( (ptr) seq_v23144)+3) ); SOURCE(21415, 48) (* (( (ptr) bigger_v10860)+5) ) = (* (( (ptr) seq_v23144)+5) ); SOURCE(21465, 34) (* (( (ptr) bigger_v10860)+4) ) = (* (( (ptr) seq_v23144)+4) ); SOURCE(21501, 1414) if ((trajEnd_v10788 == 1)) { { word var_c52268; word var_c52300; SOURCE(21524, 234) { register word i_v23216 = 0; register word noName_c51916; noName_c51916 = (* (ptr) (* (ptr) seq_v23144 ) ); if ((i_v23216 >= noName_c51916)) { goto lab_L100173; }; lab_L100176: ; { word cpCount_v23260; word var_c51948; SOURCE(21563, 39) { word limit373; var_c51948 = (* (( (ptr) seq_v23144)+2) ); cpCount_v23260 = (* (ptr) (* ((( (ptr) var_c51948)+1)+( limit373 = (* (ptr) var_c51948 ), BCK(i_v23216, limit373) )) ) ); }; SOURCE(21604, 36) { word var_c52012; var_c52012 = (* (ptr) bigger_v10860 ); { word var_c51980; var_c51980 = (* (ptr) seq_v23144 ); { word limit374; word limit375; word xs376; word x377; xs376 = (word) ( limit375 = (* (ptr) var_c52012 ), BCK(i_v23216, limit375) ); x377 = (word) ((( (bPt) var_c52012)+4) + ((word) xs376 >> 3)); xs376 = 8 - ((word) (xs376 & 7)+1); (* (bPt) x377 ) = ((* (bPt) x377 ) & ( ~ ((unsigned) 1 << xs376))) | (((XR_ExtractField(var_c51980, 32 + (word) ( /*1*/ limit374 = (* (ptr) var_c51980 ), /*1*/ BCK(i_v23216, limit374) /*1*/ ), 1))) << xs376); }; }; }; SOURCE(21642, 32) { word var_c52076; var_c52076 = (* (( (ptr) bigger_v10860)+1) ); { word var_c52044; var_c52044 = (* (( (ptr) seq_v23144)+1) ); { word limit378; word limit379; word xs380; word x381; xs380 = (word) ( limit379 = (* (ptr) var_c52076 ), BCK(i_v23216, limit379) ); x381 = (word) ((( (bPt) var_c52076)+4) + ((word) xs380 >> 3)); xs380 = 8 - ((word) (xs380 & 7)+1); (* (bPt) x381 ) = ((* (bPt) x381 ) & ( ~ ((unsigned) 1 << xs380))) | (((XR_ExtractField(var_c52044, 32 + (word) ( /*1*/ limit378 = (* (ptr) var_c52044 ), /*1*/ BCK(i_v23216, limit378) /*1*/ ), 1))) << xs380); }; }; }; SOURCE(21676, 82) { register word j_v23304 = 0; register word noName_c52108; noName_c52108 = cpCount_v23260; if ((j_v23304 >= noName_c52108)) { goto lab_L100177; }; lab_L100180: ; SOURCE(21706, 52) { word var_c52236; { word var_c52204; var_c52204 = (* (( (ptr) bigger_v10860)+2) ); { word limit382; var_c52236 = (* ((( (ptr) var_c52204)+1)+( /*1*/ limit382 = (* (ptr) var_c52204 ), /*1*/ BCK(i_v23216, limit382) /*1*/ )) ); }; }; { word var_c52172; { word var_c52140; var_c52140 = (* (( (ptr) seq_v23144)+2) ); { /*1*/ word limit383; /*1*/ var_c52172 = (* ((( (ptr) var_c52140)+1)+( /*1*/ limit383 = (* (ptr) var_c52140 ), /*1*/ BCK(i_v23216, limit383) /*1*/ )) ); /*1*/ }; }; { word limit384; word limit385; word xs386; word x387; xs386 = (word) ( /*1*/ limit385 = (* (ptr) var_c52236 ), /*1*/ BCK(j_v23304, limit385) /*1*/ ); x387 = (word) ((( (bPt) var_c52236)+4) + ((word) xs386 >> 3)); xs386 = 8 - ((word) (xs386 & 7)+1); (* (bPt) x387 ) = ((* (bPt) x387 ) & ( ~ ((unsigned) 1 << xs386))) | (((XR_ExtractField(var_c52172, 32 + (word) ( /*1*/ limit384 = (* (ptr) var_c52172 ), /*1*/ BCK(j_v23304, limit384) /*1*/ ), 1))) << xs386); }; }; }; j_v23304 = (j_v23304 + 1); if ((j_v23304 < noName_c52108)) { goto lab_L100180; }; lab_L100177: ; }; }; i_v23216 = (i_v23216 + 1); if ((i_v23216 < noName_c51916)) { goto lab_L100176; }; lab_L100173: ; }; SOURCE(21778, 476) { word limit388; var_c52268 = ((* (ptr) (* (( (ptr) seq_v23144)+1) ) ) - 1); var_c52300 = (* (( (ptr) seq_v23144)+1) ); if (XR_ExtractField(var_c52300, 32 + (word) ( limit388 = (* (ptr) var_c52300 ), BCK(var_c52268, limit388) ), 1)) { SOURCE(21846, 40) { word var_c52332; word var_c52364; var_c52332 = ((* (ptr) (* (( (ptr) seq_v23144)+1) ) ) - 1); var_c52364 = (* (( (ptr) bigger_v10860)+1) ); { word limit389; word xs390; xs390 = (word) ( limit389 = (* (ptr) var_c52364 ), BCK(var_c52332, limit389) ); (* (bPt) ((( (bPt) var_c52364)+4) + ((word) xs390 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs390 & 7)+1)); }; }; SOURCE(21920, 334) if ((0 != extend_v10816)) { SOURCE(21937, 40) { word var_c52396; var_c52396 = (* (ptr) bigger_v10860 ); { word idx391; word limit392; word xs393; xs393 = (word) ( idx391 = (* (ptr) (* (ptr) seq_v23144 ) ), limit392 = (* (ptr) var_c52396 ), BCK(idx391, limit392) ); (* (bPt) ((( (bPt) var_c52396)+4) + ((word) xs393 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs393 & 7)+1)); }; }; SOURCE(21979, 36) { word var_c52428; var_c52428 = (* (( (ptr) bigger_v10860)+1) ); { word idx394; word limit395; word xs396; xs396 = (word) ( idx394 = (* (ptr) (* (( (ptr) seq_v23144)+1) ) ), limit395 = (* (ptr) var_c52428 ), BCK(idx394, limit395) ); (* (bPt) ((( (bPt) var_c52428)+4) + ((word) xs396 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs396 & 7)+1)); }; }; SOURCE(22017, 56) { word var_c52460; var_c52460 = (* (( (ptr) bigger_v10860)+2) ); { word idx397; word limit398; (void) SetAllBits_P1620((* ((( (ptr) var_c52460)+1)+( /*1*/ idx397 = (* (ptr) (* (ptr) seq_v23144 ) ), /*1*/ limit398 = (* (ptr) var_c52460 ), /*1*/ BCK(idx397, limit398) /*1*/ )) ), 1); }; }; SOURCE(22075, 37) (* (( (ptr) bigger_v10860)+3) ) = ((* (( (ptr) bigger_v10860)+3) ) + 1); SOURCE(22114, 41) (* (( (ptr) bigger_v10860)+4) ) = ((* (( (ptr) bigger_v10860)+4) ) + 1); SOURCE(22157, 97) { word var_c52492; word var_c01169; { word idx399; word limit400; var_c52492 = (* (( (ptr) bigger_v10860)+2) ); var_c01169 = (* (ptr) (* ((( (ptr) var_c52492)+1)+( /*1*/ idx399 = (* (ptr) (* (ptr) seq_v23144 ) ), /*1*/ limit400 = (* (ptr) var_c52492 ), /*1*/ BCK(idx399, limit400) /*1*/ )) ) ); }; { word idx401; (* (( (ptr) bigger_v10860)+5) ) = ( idx401 = (word) ((* (( (ptr) bigger_v10860)+5) ) + var_c01169), SGNCK(idx401) ); }; }; }; }; }; }; } else { { word var_c53004; SOURCE(22269, 242) { register word i_v23348 = 0; register word noName_c52524; noName_c52524 = (* (ptr) (* (ptr) seq_v23144 ) ); if ((i_v23348 >= noName_c52524)) { goto lab_L100181; }; lab_L100184: ; { word cpCount_v23392; word var_c52556; SOURCE(22308, 39) { word limit402; var_c52556 = (* (( (ptr) seq_v23144)+2) ); cpCount_v23392 = (* (ptr) (* ((( (ptr) var_c52556)+1)+( limit402 = (* (ptr) var_c52556 ), BCK(i_v23348, limit402) )) ) ); }; SOURCE(22349, 38) { word var_c52620; word var_c52652; var_c52620 = (i_v23348 + 1); var_c52652 = (* (ptr) bigger_v10860 ); { word var_c52588; var_c52588 = (* (ptr) seq_v23144 ); { word limit403; word limit404; word xs405; word x406; xs405 = (word) ( limit404 = (* (ptr) var_c52652 ), BCK(var_c52620, limit404) ); x406 = (word) ((( (bPt) var_c52652)+4) + ((word) xs405 >> 3)); xs405 = 8 - ((word) (xs405 & 7)+1); (* (bPt) x406 ) = ((* (bPt) x406 ) & ( ~ ((unsigned) 1 << xs405))) | (((XR_ExtractField(var_c52588, 32 + (word) ( /*1*/ limit403 = (* (ptr) var_c52588 ), /*1*/ BCK(i_v23348, limit403) /*1*/ ), 1))) << xs405); }; }; }; SOURCE(22389, 36) { word var_c52748; word var_c52780; var_c52748 = (i_v23348 + 2); var_c52780 = (* (( (ptr) bigger_v10860)+1) ); { word var_c52684; word var_c52716; var_c52684 = (i_v23348 + 1); var_c52716 = (* (( (ptr) seq_v23144)+1) ); { word limit407; word limit408; word xs409; word x410; xs409 = (word) ( limit408 = (* (ptr) var_c52780 ), BCK(var_c52748, limit408) ); x410 = (word) ((( (bPt) var_c52780)+4) + ((word) xs409 >> 3)); xs409 = 8 - ((word) (xs409 & 7)+1); (* (bPt) x410 ) = ((* (bPt) x410 ) & ( ~ ((unsigned) 1 << xs409))) | (((XR_ExtractField(var_c52716, 32 + (word) ( /*1*/ limit407 = (* (ptr) var_c52716 ), /*1*/ BCK(var_c52684, limit407) /*1*/ ), 1))) << xs409); }; }; }; SOURCE(22427, 84) { register word j_v23436 = 0; register word noName_c52812; noName_c52812 = cpCount_v23392; if ((j_v23436 >= noName_c52812)) { goto lab_L100185; }; lab_L100188: ; SOURCE(22457, 54) { word var_c52972; { word var_c52908; word var_c52940; var_c52908 = (i_v23348 + 1); var_c52940 = (* (( (ptr) bigger_v10860)+2) ); { word limit411; var_c52972 = (* ((( (ptr) var_c52940)+1)+( /*1*/ limit411 = (* (ptr) var_c52940 ), /*1*/ BCK(var_c52908, limit411) /*1*/ )) ); }; }; { word var_c52876; { word var_c52844; var_c52844 = (* (( (ptr) seq_v23144)+2) ); { /*1*/ word limit412; /*1*/ var_c52876 = (* ((( (ptr) var_c52844)+1)+( /*1*/ limit412 = (* (ptr) var_c52844 ), /*1*/ BCK(i_v23348, limit412) /*1*/ )) ); /*1*/ }; }; { word limit413; word limit414; word xs415; word x416; xs415 = (word) ( /*1*/ limit414 = (* (ptr) var_c52972 ), /*1*/ BCK(j_v23436, limit414) /*1*/ ); x416 = (word) ((( (bPt) var_c52972)+4) + ((word) xs415 >> 3)); xs415 = 8 - ((word) (xs415 & 7)+1); (* (bPt) x416 ) = ((* (bPt) x416 ) & ( ~ ((unsigned) 1 << xs415))) | (((XR_ExtractField(var_c52876, 32 + (word) ( /*1*/ limit413 = (* (ptr) var_c52876 ), /*1*/ BCK(j_v23436, limit413) /*1*/ ), 1))) << xs415); }; }; }; j_v23436 = (j_v23436 + 1); if ((j_v23436 < noName_c52812)) { goto lab_L100188; }; lab_L100185: ; }; }; i_v23348 = (i_v23348 + 1); if ((i_v23348 < noName_c52524)) { goto lab_L100184; }; lab_L100181: ; }; SOURCE(22531, 384) { word limit417; var_c53004 = (* (( (ptr) seq_v23144)+1) ); if (XR_ExtractField(var_c53004, 32 + (word) ( limit417 = (* (ptr) var_c53004 ), BCK(0, limit417) ), 1)) { SOURCE(22582, 23) { word var_c53036; var_c53036 = (* (( (ptr) bigger_v10860)+1) ); { word limit418; word xs419; xs419 = (word) ( limit418 = (* (ptr) var_c53036 ), BCK(1, limit418) ); (* (bPt) ((( (bPt) var_c53036)+4) + ((word) xs419 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs419 & 7)+1)); }; }; SOURCE(22639, 276) if ((0 != extend_v10816)) { SOURCE(22656, 25) { word var_c53068; var_c53068 = (* (ptr) bigger_v10860 ); { word limit420; word xs421; xs421 = (word) ( limit420 = (* (ptr) var_c53068 ), BCK(0, limit420) ); (* (bPt) ((( (bPt) var_c53068)+4) + ((word) xs421 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs421 & 7)+1)); }; }; SOURCE(22683, 23) { word var_c53100; var_c53100 = (* (( (ptr) bigger_v10860)+1) ); { word limit422; word xs423; xs423 = (word) ( limit422 = (* (ptr) var_c53100 ), BCK(0, limit422) ); (* (bPt) ((( (bPt) var_c53100)+4) + ((word) xs423 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs423 & 7)+1)); }; }; SOURCE(22708, 41) { word var_c53132; var_c53132 = (* (( (ptr) bigger_v10860)+2) ); { word limit424; (void) SetAllBits_P1620((* ((( (ptr) var_c53132)+1)+( /*1*/ limit424 = (* (ptr) var_c53132 ), /*1*/ BCK(0, limit424) /*1*/ )) ), 1); }; }; SOURCE(22751, 37) (* (( (ptr) bigger_v10860)+3) ) = ((* (( (ptr) bigger_v10860)+3) ) + 1); SOURCE(22790, 41) (* (( (ptr) bigger_v10860)+4) ) = ((* (( (ptr) bigger_v10860)+4) ) + 1); SOURCE(22833, 82) { word var_c53164; word var_c01170; { word limit425; var_c53164 = (* (( (ptr) bigger_v10860)+2) ); var_c01170 = (* (ptr) (* ((( (ptr) var_c53164)+1)+( /*1*/ limit425 = (* (ptr) var_c53164 ), /*1*/ BCK(0, limit425) /*1*/ )) ) ); }; { word idx426; (* (( (ptr) bigger_v10860)+5) ) = ( idx426 = (word) ((* (( (ptr) bigger_v10860)+5) ) + var_c01170), SGNCK(idx426) ); }; }; }; }; }; }; }; SOURCE(21046, 1869) return(bigger_v10860); } static word AugmentClosed_P2100(descriptor_v10920, extend_v10948) word descriptor_v10920; word extend_v10948; { register ptr gf_c60300 = (ptr) &globalframe; word bigger_v10992; word seq_v23480; word traj_v23508; /* AugmentClosed: */ SOURCE(22928, 1137) SOURCE(22928, 1137) bigger_v10992 = 0; SOURCE(23024, 41) seq_v23480 = XR_Narrow((* (( (ptr) descriptor_v10920)+1) ), (* (( (ptr) gf_c60300)+5) )); SOURCE(23067, 46) traj_v23508 = XR_Narrow((* (( (ptr) (* (ptr) descriptor_v10920 ))+1) ), (* (( (ptr) gf_c60300)+13) )); { word var_c53676; word var_c53708; SOURCE(23115, 278) { word var_c53196; word var_c53228; word var_c53260; word var_c53292; var_c53196 = (word) NewBitVector_P1560(((* (ptr) (* (ptr) seq_v23480 ) ) + 1)); var_c53228 = (word) NewBitVector_P1560((* (ptr) ((* (( (ptr) seq_v23480)+1) )) )); var_c53260 = (word) NewBitMatrix_P1500(traj_v23508); var_c53292 = XR_NewObject(24, (* (( (ptr) gf_c60300)+5) )); (* (ptr) var_c53292 ) = var_c53196; (* (( (ptr) var_c53292)+1) ) = var_c53228; (* (( (ptr) var_c53292)+2) ) = var_c53260; (* (( (ptr) var_c53292)+3) ) = (* (( (ptr) seq_v23480)+3) ); (* (( (ptr) var_c53292)+4) ) = (* (( (ptr) seq_v23480)+4) ); (* (( (ptr) var_c53292)+5) ) = (* (( (ptr) seq_v23480)+5) ); bigger_v10992 = var_c53292; }; SOURCE(23395, 234) { register word i_v23552 = 0; register word noName_c53324; noName_c53324 = (* (ptr) (* (ptr) seq_v23480 ) ); if ((i_v23552 >= noName_c53324)) { goto lab_L100189; }; lab_L100192: ; { word cpCount_v23596; word var_c53356; SOURCE(23434, 39) { word limit427; var_c53356 = (* (( (ptr) seq_v23480)+2) ); cpCount_v23596 = (* (ptr) (* ((( (ptr) var_c53356)+1)+( limit427 = (* (ptr) var_c53356 ), BCK(i_v23552, limit427) )) ) ); }; SOURCE(23475, 36) { word var_c53420; var_c53420 = (* (ptr) bigger_v10992 ); { word var_c53388; var_c53388 = (* (ptr) seq_v23480 ); { word limit428; word limit429; word xs430; word x431; xs430 = (word) ( limit429 = (* (ptr) var_c53420 ), BCK(i_v23552, limit429) ); x431 = (word) ((( (bPt) var_c53420)+4) + ((word) xs430 >> 3)); xs430 = 8 - ((word) (xs430 & 7)+1); (* (bPt) x431 ) = ((* (bPt) x431 ) & ( ~ ((unsigned) 1 << xs430))) | (((XR_ExtractField(var_c53388, 32 + (word) ( /*1*/ limit428 = (* (ptr) var_c53388 ), /*1*/ BCK(i_v23552, limit428) /*1*/ ), 1))) << xs430); }; }; }; SOURCE(23513, 32) { word var_c53484; var_c53484 = (* (( (ptr) bigger_v10992)+1) ); { word var_c53452; var_c53452 = (* (( (ptr) seq_v23480)+1) ); { word limit432; word limit433; word xs434; word x435; xs434 = (word) ( limit433 = (* (ptr) var_c53484 ), BCK(i_v23552, limit433) ); x435 = (word) ((( (bPt) var_c53484)+4) + ((word) xs434 >> 3)); xs434 = 8 - ((word) (xs434 & 7)+1); (* (bPt) x435 ) = ((* (bPt) x435 ) & ( ~ ((unsigned) 1 << xs434))) | (((XR_ExtractField(var_c53452, 32 + (word) ( /*1*/ limit432 = (* (ptr) var_c53452 ), /*1*/ BCK(i_v23552, limit432) /*1*/ ), 1))) << xs434); }; }; }; SOURCE(23547, 82) { register word j_v23640 = 0; register word noName_c53516; noName_c53516 = cpCount_v23596; if ((j_v23640 >= noName_c53516)) { goto lab_L100193; }; lab_L100196: ; SOURCE(23577, 52) { word var_c53644; { word var_c53612; var_c53612 = (* (( (ptr) bigger_v10992)+2) ); { word limit436; var_c53644 = (* ((( (ptr) var_c53612)+1)+( /*1*/ limit436 = (* (ptr) var_c53612 ), /*1*/ BCK(i_v23552, limit436) /*1*/ )) ); }; }; { word var_c53580; { word var_c53548; var_c53548 = (* (( (ptr) seq_v23480)+2) ); { word limit437; var_c53580 = (* ((( (ptr) var_c53548)+1)+( /*1*/ limit437 = (* (ptr) var_c53548 ), /*1*/ BCK(i_v23552, limit437) /*1*/ )) ); }; }; { word limit438; word limit439; word xs440; word x441; xs440 = (word) ( limit439 = (* (ptr) var_c53644 ), BCK(j_v23640, limit439) ); x441 = (word) ((( (bPt) var_c53644)+4) + ((word) xs440 >> 3)); xs440 = 8 - ((word) (xs440 & 7)+1); (* (bPt) x441 ) = ((* (bPt) x441 ) & ( ~ ((unsigned) 1 << xs440))) | (((XR_ExtractField(var_c53580, 32 + (word) ( /*1*/ limit438 = (* (ptr) var_c53580 ), /*1*/ BCK(j_v23640, limit438) /*1*/ ), 1))) << xs440); }; }; }; j_v23640 = (j_v23640 + 1); if ((j_v23640 < noName_c53516)) { goto lab_L100196; }; lab_L100193: ; }; }; i_v23552 = (i_v23552 + 1); if ((i_v23552 < noName_c53324)) { goto lab_L100192; }; lab_L100189: ; }; SOURCE(23671, 394) { word limit442; var_c53676 = ((* (ptr) (* (( (ptr) seq_v23480)+1) ) ) - 1); var_c53708 = (* (( (ptr) seq_v23480)+1) ); if (XR_ExtractField(var_c53708, 32 + (word) ( limit442 = (* (ptr) var_c53708 ), BCK(var_c53676, limit442) ), 1)) { SOURCE(23739, 40) { word var_c53740; word var_c53772; var_c53740 = ((* (ptr) (* (( (ptr) seq_v23480)+1) ) ) - 1); var_c53772 = (* (( (ptr) bigger_v10992)+1) ); { word limit443; word xs444; xs444 = (word) ( limit443 = (* (ptr) var_c53772 ), BCK(var_c53740, limit443) ); (* (bPt) ((( (bPt) var_c53772)+4) + ((word) xs444 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs444 & 7)+1)); }; }; SOURCE(23813, 252) if ((0 != extend_v10948)) { SOURCE(23830, 40) { word var_c53804; var_c53804 = (* (ptr) bigger_v10992 ); { word idx445; word limit446; word xs447; xs447 = (word) ( idx445 = (* (ptr) (* (ptr) seq_v23480 ) ), limit446 = (* (ptr) var_c53804 ), BCK(idx445, limit446) ); (* (bPt) ((( (bPt) var_c53804)+4) + ((word) xs447 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs447 & 7)+1)); }; }; SOURCE(23872, 56) { word var_c53836; var_c53836 = (* (( (ptr) bigger_v10992)+2) ); { word idx448; word limit449; (void) SetAllBits_P1620((* ((( (ptr) var_c53836)+1)+( /*1*/ idx448 = (* (ptr) (* (ptr) seq_v23480 ) ), /*1*/ limit449 = (* (ptr) var_c53836 ), /*1*/ BCK(idx448, limit449) /*1*/ )) ), 1); }; }; SOURCE(23930, 37) (* (( (ptr) bigger_v10992)+3) ) = ((* (( (ptr) bigger_v10992)+3) ) + 1); SOURCE(23969, 96) { word var_c53868; word var_c01171; { word idx450; word limit451; var_c53868 = (* (( (ptr) bigger_v10992)+2) ); var_c01171 = (* (ptr) (* ((( (ptr) var_c53868)+1)+( idx450 = (* (ptr) (* (ptr) seq_v23480 ) ), limit451 = (* (ptr) var_c53868 ), BCK(idx450, limit451) )) ) ); }; { word idx452; (* (( (ptr) bigger_v10992)+5) ) = ( idx452 = (word) ((* (( (ptr) bigger_v10992)+5) ) + var_c01171), SGNCK(idx452) ); }; }; }; }; }; }; SOURCE(22928, 1137) return(bigger_v10992); } static word IsObsolete_P2160(seq_v11052) word seq_v11052; { word var_c11096; /* IsObsolete: */ SOURCE(24078, 25) SOURCE(24138, 5) (void) XR_RaiseUnnamedError(); } static word IsEmpty_P2220(seq_v11156) word seq_v11156; { word var_c11200; /* IsEmpty: */ SOURCE(24150, 147) SOURCE(24207, 90) { word tc453; if ((seq_v11156 == 0)) { tc453 = (word) (unsigned) 1; } else { if ( ( ((* (( (ptr) seq_v11156)+4) ) == 0) ? ((* (( (ptr) seq_v11156)+3) ) == 0) : 0 ) ) { tc453 = (word) (unsigned) ((* (( (ptr) seq_v11156)+5) ) == 0); } else { tc453 = (word) (unsigned) 0; }; }; return(tc453); }; } static word IsComplete_P2280(seq_v11260) word seq_v11260; { word var_c11304; /* IsComplete: */ SOURCE(24303, 149) SOURCE(24363, 89) { word tc454; if ( ( (seq_v11260 != 0) ? ((* (( (ptr) seq_v11260)+3) ) == (* (ptr) (* (ptr) seq_v11260 ) )) : 0 ) ) { tc454 = (word) (unsigned) ((* (( (ptr) seq_v11260)+4) ) == (* (ptr) (* (( (ptr) seq_v11260)+1) ) )); } else { tc454 = (word) (unsigned) 0; }; return(tc454); }; } static word IsConstrained_P2340(descriptor_v11364, segNum_v11392, cPNum_v11420, editConstraints_v11448) word descriptor_v11364; word segNum_v11392; word cPNum_v11420; word editConstraints_v11448; { register ptr gf_c60332 = (ptr) &globalframe; word var_c11492; word seq_v23684; word previous_v23712; word following_v23740; /* IsConstrained: */ SOURCE(24458, 771) SOURCE(24588, 41) seq_v23684 = XR_Narrow((* (( (ptr) descriptor_v11364)+1) ), (* (( (ptr) gf_c60332)+5) )); SOURCE(24657, 551) { word tc455; word pd456; pd456 = (* (( (ptr) (* (( (ptr) gf_c60332)+204)/* var_c43500 */ ))+29) ); if (((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd456 ))))((* (ptr) descriptor_v11364 ), segNum_v11392, pd456) ) ) == (* ( ( (ptr) gf_c60332)+26) ))) { tc455 = (word) (editConstraints_v11448 != 0); } else { tc455 = (word) 0; }; if (tc455) { SOURCE(24761, 447) if ((cPNum_v11420 == 0)) { { word var_c53932; SOURCE(24781, 62) { word pd457; pd457 = (* (( (ptr) (* (( (ptr) gf_c60332)+204)/* var_c43500 */ ))+42) ); previous_v23712 = (word) ( *( (fPt) ((* (ptr) pd457 ))))((* (ptr) descriptor_v11364 ), segNum_v11392, pd457); }; SOURCE(24845, 143) { word tc458; word tc459; word pd460; word limit462; if (( (int)previous_v23712 != (int) (word) -1)) { pd460 = (* (( (ptr) (* (( (ptr) gf_c60332)+204)/* var_c43500 */ ))+29) ); tc459 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd460 ))))((* (ptr) descriptor_v11364 ), SGNCK(previous_v23712) , pd460) ) ) == (* (( (ptr) gf_c60332)+26) )); } else { tc459 = (word) 0; }; if (tc459) { { word var_c53900; var_c53900 = (* (( (ptr) seq_v23684)+2) ); { word limit461; var_c53932 = (* ((( (ptr) var_c53900)+1)+( /*1*/ limit461 = (* (ptr) var_c53900 ), /*1*/ BCK(previous_v23712, limit461) /*1*/ )) ); }; }; tc458 = (word) XR_ExtractField(var_c53932, 32 + (word) ( limit462 = (* (ptr) var_c53932 ), BCK(1, limit462) ), 1); } else { tc458 = (word) 0; }; if (tc458) { SOURCE(24975, 13) return(1); }; }; }; } else { { word var_c53996; SOURCE(24997, 64) { word pd463; pd463 = (* (( (ptr) (* (( (ptr) gf_c60332)+204)/* var_c43500 */ ))+43) ); following_v23740 = (word) ( *( (fPt) ((* (ptr) pd463 ))))((* (ptr) descriptor_v11364 ), segNum_v11392, pd463); }; SOURCE(25063, 145) { word tc464; word tc465; word pd466; word limit468; if (( (int)following_v23740 != (int) (word) -1)) { pd466 = (* (( (ptr) (* (( (ptr) gf_c60332)+204)/* var_c43500 */ ))+29) ); tc465 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd466 ))))((* (ptr) descriptor_v11364 ), SGNCK(following_v23740) , pd466) ) ) == (* (( (ptr) gf_c60332)+26) )); } else { tc465 = (word) 0; }; if (tc465) { { word var_c53964; var_c53964 = (* (( (ptr) seq_v23684)+2) ); { word limit467; var_c53996 = (* ((( (ptr) var_c53964)+1)+( /*1*/ limit467 = (* (ptr) var_c53964 ), /*1*/ BCK(following_v23740, limit467) /*1*/ )) ); }; }; tc464 = (word) XR_ExtractField(var_c53996, 32 + (word) ( limit468 = (* (ptr) var_c53996 ), BCK(0, limit468) ), 1); } else { tc464 = (word) 0; }; if (tc464) { SOURCE(25196, 12) return(1); }; }; }; }; }; }; SOURCE(25216, 13) return(0); } static word Overlap_P2400(descriptor1_v11552, descriptor2_v11580) word descriptor1_v11552; word descriptor2_v11580; { register ptr gf_c60364 = (ptr) &globalframe; word var_c11624; word hiSegment_v23784; word hiJoint_v23812; word seq1_v23840; word traj1_v23868; word seq2_v23896; word traj2_v23924; /* Overlap: */ SOURCE(25235, 793) SOURCE(25344, 43) seq1_v23840 = XR_Narrow((* (( (ptr) descriptor1_v11552)+1) ), (* (( (ptr) gf_c60364)+5) )); SOURCE(25389, 48) traj1_v23868 = XR_Narrow((* (( (ptr) (* (ptr) descriptor1_v11552 ))+1) ), (* (( (ptr) gf_c60364)+13) )); SOURCE(25439, 43) seq2_v23896 = XR_Narrow((* (( (ptr) descriptor2_v11580)+1) ), (* (( (ptr) gf_c60364)+5) )); SOURCE(25484, 48) traj2_v23924 = XR_Narrow((* (( (ptr) (* (ptr) descriptor2_v11580 ))+1) ), (* (( (ptr) gf_c60364)+13) )); SOURCE(25534, 22) if ((traj1_v23868 != traj2_v23924)) { SOURCE(25556, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(25563, 29) hiSegment_v23784 = (* (ptr) (* (ptr) seq1_v23840 ) ); SOURCE(25594, 90) { register word i_v23968 = 0; register word noName_c54028; word var_c54060; word var_c54092; noName_c54028 = hiSegment_v23784; if ((i_v23968 >= noName_c54028)) { goto lab_L100197; }; lab_L100200: ; SOURCE(25626, 58) { word tc469; word limit470; word limit471; var_c54060 = (* (ptr) seq1_v23840 ); if (XR_ExtractField(var_c54060, 32 + (word) ( limit470 = (* (ptr) var_c54060 ), BCK(i_v23968, limit470) ), 1)) { var_c54092 = (* (ptr) seq2_v23896 ); tc469 = (word) XR_ExtractField(var_c54092, 32 + (word) ( limit471 = (* (ptr) var_c54092 ), BCK(i_v23968, limit471) ), 1); } else { tc469 = (word) 0; }; if (tc469) { SOURCE(25672, 12) return(1); }; }; i_v23968 = (i_v23968 + 1); if ((i_v23968 < noName_c54028)) { goto lab_L100200; }; lab_L100197: ; }; SOURCE(25695, 25) hiJoint_v23812 = (* (ptr) (* (( (ptr) seq1_v23840)+1) ) ); SOURCE(25722, 84) { register word i_v24012 = 0; register word noName_c54124; word var_c54156; word var_c54188; noName_c54124 = hiJoint_v23812; if ((i_v24012 >= noName_c54124)) { goto lab_L100201; }; lab_L100204: ; SOURCE(25752, 54) { word tc472; word limit473; word limit474; var_c54156 = (* (( (ptr) seq1_v23840)+1) ); if (XR_ExtractField(var_c54156, 32 + (word) ( limit473 = (* (ptr) var_c54156 ), BCK(i_v24012, limit473) ), 1)) { var_c54188 = (* (( (ptr) seq2_v23896)+1) ); tc472 = (word) XR_ExtractField(var_c54188, 32 + (word) ( limit474 = (* (ptr) var_c54188 ), BCK(i_v24012, limit474) ), 1); } else { tc472 = (word) 0; }; if (tc472) { SOURCE(25794, 12) return(1); }; }; i_v24012 = (i_v24012 + 1); if ((i_v24012 < noName_c54124)) { goto lab_L100204; }; lab_L100201: ; }; SOURCE(25817, 178) { register word i_v24056 = 0; register word noName_c54220; noName_c54220 = hiSegment_v23784; if ((i_v24056 >= noName_c54220)) { goto lab_L100205; }; lab_L100208: ; { word cpCount_v24100; word var_c54252; SOURCE(25849, 40) { word limit475; var_c54252 = (* (( (ptr) seq1_v23840)+2) ); cpCount_v24100 = (* (ptr) (* ((( (ptr) var_c54252)+1)+( limit475 = (* (ptr) var_c54252 ), BCK(i_v24056, limit475) )) ) ); }; SOURCE(25891, 104) { register word j_v24144 = 0; register word noName_c54284; word var_c54348; word var_c54412; noName_c54284 = cpCount_v24100; if ((j_v24144 >= noName_c54284)) { goto lab_L100209; }; lab_L100212: ; SOURCE(25921, 74) { word tc476; word limit478; word limit480; { word var_c54316; var_c54316 = (* (( (ptr) seq1_v23840)+2) ); { word limit477; var_c54348 = (* ((( (ptr) var_c54316)+1)+( limit477 = (* (ptr) var_c54316 ), BCK(i_v24056, limit477) )) ); }; }; if (XR_ExtractField(var_c54348, 32 + (word) ( limit478 = (* (ptr) var_c54348 ), BCK(j_v24144, limit478) ), 1)) { { word var_c54380; var_c54380 = (* (( (ptr) seq2_v23896)+2) ); { word limit479; var_c54412 = (* ((( (ptr) var_c54380)+1)+( /*1*/ limit479 = (* (ptr) var_c54380 ), /*1*/ BCK(i_v24056, limit479) /*1*/ )) ); }; }; tc476 = (word) XR_ExtractField(var_c54412, 32 + (word) ( limit480 = (* (ptr) var_c54412 ), BCK(j_v24144, limit480) ), 1); } else { tc476 = (word) 0; }; if (tc476) { SOURCE(25983, 12) return(1); }; }; j_v24144 = (j_v24144 + 1); if ((j_v24144 < noName_c54284)) { goto lab_L100212; }; lab_L100209: ; }; }; i_v24056 = (i_v24056 + 1); if ((i_v24056 < noName_c54220)) { goto lab_L100208; }; lab_L100205: ; }; SOURCE(26015, 13) return(0); } static word CountSegments_P2460(seq_v11684) word seq_v11684; { word segCount_v11728; word hiSegment_v24188; /* CountSegments: */ SOURCE(26034, 183) SOURCE(26034, 183) segCount_v11728 = 0; SOURCE(26103, 33) hiSegment_v24188 = (* (ptr) (* (ptr) seq_v11684 ) ); SOURCE(26138, 79) { register word i_v24232 = 0; register word noName_c54444; word var_c54476; noName_c54444 = hiSegment_v24188; if ((i_v24232 >= noName_c54444)) { goto lab_L100213; }; lab_L100216: ; SOURCE(26170, 47) { word limit481; var_c54476 = (* (ptr) seq_v11684 ); if (XR_ExtractField(var_c54476, 32 + (word) ( limit481 = (* (ptr) var_c54476 ), BCK(i_v24232, limit481) ), 1)) { SOURCE(26194, 23) segCount_v11728 = (segCount_v11728 + 1); }; }; i_v24232 = (i_v24232 + 1); if ((i_v24232 < noName_c54444)) { goto lab_L100216; }; lab_L100213: ; }; SOURCE(26034, 183) return(segCount_v11728); } static word CountJoints_P2520(seq_v11788) word seq_v11788; { word jointCount_v11832; word hiJoint_v24276; /* CountJoints: */ SOURCE(26232, 179) SOURCE(26232, 179) jointCount_v11832 = 0; SOURCE(26301, 29) hiJoint_v24276 = (* (ptr) (* (( (ptr) seq_v11788)+1) ) ); SOURCE(26332, 79) { register word i_v24320 = 0; register word noName_c54508; word var_c54540; noName_c54508 = hiJoint_v24276; if ((i_v24320 >= noName_c54508)) { goto lab_L100217; }; lab_L100220: ; SOURCE(26362, 49) { word limit482; var_c54540 = (* (( (ptr) seq_v11788)+1) ); if (XR_ExtractField(var_c54540, 32 + (word) ( limit482 = (* (ptr) var_c54540 ), BCK(i_v24320, limit482) ), 1)) { SOURCE(26384, 27) jointCount_v11832 = (jointCount_v11832 + 1); }; }; i_v24320 = (i_v24320 + 1); if ((i_v24320 < noName_c54508)) { goto lab_L100220; }; lab_L100217: ; }; SOURCE(26232, 179) return(jointCount_v11832); } static word CountControlPoints_P2580(seq_v11892) word seq_v11892; { word count_v11936; word hiSegment_v24364; /* CountControlPoints: */ SOURCE(26426, 258) SOURCE(26426, 258) count_v11936 = 0; SOURCE(26497, 33) hiSegment_v24364 = (* (ptr) (* (ptr) seq_v11892 ) ); SOURCE(26532, 152) { register word i_v24408 = 0; register word noName_c54572; noName_c54572 = hiSegment_v24364; if ((i_v24408 >= noName_c54572)) { goto lab_L100221; }; lab_L100224: ; { word cpCount_v24452; word var_c54604; SOURCE(26564, 39) { word limit483; var_c54604 = (* (( (ptr) seq_v11892)+2) ); cpCount_v24452 = (* (ptr) (* ((( (ptr) var_c54604)+1)+( limit483 = (* (ptr) var_c54604 ), BCK(i_v24408, limit483) )) ) ); }; SOURCE(26605, 79) { register word j_v24496 = 0; register word noName_c54636; word var_c54700; noName_c54636 = cpCount_v24452; if ((j_v24496 >= noName_c54636)) { goto lab_L100225; }; lab_L100228: ; SOURCE(26635, 49) { word limit485; { word var_c54668; var_c54668 = (* (( (ptr) seq_v11892)+2) ); { word limit484; var_c54700 = (* ((( (ptr) var_c54668)+1)+( limit484 = (* (ptr) var_c54668 ), BCK(i_v24408, limit484) )) ); }; }; if (XR_ExtractField(var_c54700, 32 + (word) ( limit485 = (* (ptr) var_c54700 ), BCK(j_v24496, limit485) ), 1)) { SOURCE(26667, 17) count_v11936 = (count_v11936 + 1); }; }; j_v24496 = (j_v24496 + 1); if ((j_v24496 < noName_c54636)) { goto lab_L100228; }; lab_L100225: ; }; }; i_v24408 = (i_v24408 + 1); if ((i_v24408 < noName_c54572)) { goto lab_L100224; }; lab_L100221: ; }; SOURCE(26426, 258) return(count_v11936); } static word ContainsSegment_P2640(seq_v11996, segNum_v12024) word seq_v11996; word segNum_v12024; { word var_c12068; /* ContainsSegment: */ SOURCE(26708, 106) SOURCE(26786, 28) { word var_c01172; { word var_c54732; var_c54732 = (* (ptr) seq_v11996 ); { word limit486; var_c01172 = (unsigned) XR_ExtractField(var_c54732, 32 + (word) ( limit486 = (* (ptr) var_c54732 ), BCK(segNum_v12024, limit486) ), 1); }; }; return(var_c01172); }; } static word ContainsSomeSegment_P2700(seq_v12128) word seq_v12128; { word var_c12172; /* ContainsSomeSegment: */ SOURCE(26820, 93) SOURCE(26889, 24) return( (unsigned) ((* (( (ptr) seq_v12128)+3) ) > 0)); } static word ContainsSegmentParts_P2760(seq_v12232, segNum_v12260) word seq_v12232; word segNum_v12260; { register ptr gf_c60396 = (ptr) &globalframe; word var_c12304; /* ContainsSegmentParts: */ SOURCE(26919, 348) SOURCE(27002, 265) { word var_c01173; word var_c54796; word var_c54828; word var_c54892; { word limit487; word pd489; word limit490; word limit491; if ((seq_v12232 != 0)) { var_c54796 = (* (ptr) seq_v12232 ); if (XR_ExtractField(var_c54796, 32 + (word) ( limit487 = (* (ptr) var_c54796 ), BCK(segNum_v12260, limit487) ), 1)) { goto then0488;}; var_c54828 = (* (( (ptr) seq_v12232)+2) ); pd489 = (* (( (ptr) (* (( (ptr) gf_c60396)+209)/* var_c54860 */ ))+34) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd489 ))))((* (((( (ptr) var_c54828)+1)+( limit490 = (* (ptr) var_c54828 ), BCK(segNum_v12260, limit490) ))) ), pd489))) { goto then0488;}; var_c54892 = (* (( (ptr) seq_v12232)+1) ); if (XR_ExtractField(var_c54892, 32 + (word) ( limit491 = (* (ptr) var_c54892 ), BCK(segNum_v12260, limit491) ), 1)) { then0488: ; var_c01173 = (unsigned) 1; } else { { word var_c54924; word var_c54956; var_c54924 = ( ((* (ptr) (* (ptr) seq_v12232 ) ) != (* (ptr) (* (( (ptr) seq_v12232)+1) ) )) ? (segNum_v12260 + 1) : ((segNum_v12260 + 1) % (* (ptr) (* (ptr) seq_v12232 ) )) ) ; var_c54956 = (* (( (ptr) seq_v12232)+1) ); { word limit492; var_c01173 = (unsigned) XR_ExtractField(var_c54956, 32 + (word) ( limit492 = (* (ptr) var_c54956 ), BCK(var_c54924, limit492) ), 1); }; }; }; } else { var_c01173 = (unsigned) 0; }; }; return(var_c01173); }; } static word FirstSegment_P2820(seq_v12364) word seq_v12364; { register ptr gf_c60428 = (ptr) &globalframe; word index_v12408; word hiSegment_v24540; /* FirstSegment: */ SOURCE(27273, 625) SOURCE(27334, 33) hiSegment_v24540 = (* (ptr) (* (ptr) seq_v12364 ) ); SOURCE(27369, 529) if (((* (ptr) (* (ptr) seq_v12364 ) ) != (* (ptr) (* (( (ptr) seq_v12364)+1) ) ))) { SOURCE(27436, 166) { register word i_v24584 = 0; register word noName_c54988; word var_c55020; noName_c54988 = hiSegment_v24540; if ((i_v24584 >= noName_c54988)) { goto lab_L100229; }; lab_L100233: ; SOURCE(27468, 24) { word limit493; var_c55020 = (* (ptr) seq_v12364 ); if (XR_ExtractField(var_c55020, 32 + (word) ( limit493 = (* (ptr) var_c55020 ), BCK(i_v24584, limit493) ), 1)) { SOURCE(27492, 10) goto lab_L100232; }; }; i_v24584 = (i_v24584 + 1); if ((i_v24584 < noName_c54988)) { goto lab_L100233; }; goto lab_L100229; lab_L100232: ; SOURCE(27520, 9) index_v12408 = i_v24584; goto lab_L100230; lab_L100229: ; SOURCE(27543, 59) { word var_c0724; var_c0724 = (* (( (ptr) gf_c60428)+22) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c60428)+4)/* Problem_v3952 */ ), 0, (word) &var_c0724)); }; lab_L100230: ; }; } else { SOURCE(27622, 276) { register word i_v24628 = 0; register word noName_c55052; noName_c55052 = hiSegment_v24540; if ((i_v24628 >= noName_c55052)) { goto lab_L100234; }; lab_L100238: ; { word var_c55084; word var_c55116; word var_c55148; word var_c55180; word var_c55212; SOURCE(27654, 78) { word tc494; word limit495; word limit496; var_c55084 = IOP2( % , (int)((i_v24628 - 1) + hiSegment_v24540), (int)hiSegment_v24540); var_c55116 = (* (ptr) seq_v12364 ); if ( ! XR_ExtractField(var_c55116, 32 + (word) ( limit495 = (* (ptr) var_c55116 ), BCK(var_c55084, limit495) ), 1)) { var_c55148 = (* (( (ptr) seq_v12364)+1) ); tc494 = (word) XR_ExtractField(var_c55148, 32 + (word) ( limit496 = (* (ptr) var_c55148 ), BCK(i_v24628, limit496) ), 1); } else { tc494 = (word) 0; }; if (tc494) { SOURCE(27732, 10) goto lab_L100237; }; }; SOURCE(27744, 46) { word tc497; word limit498; word limit499; var_c55180 = (* (( (ptr) seq_v12364)+1) ); if ( ! XR_ExtractField(var_c55180, 32 + (word) ( limit498 = (* (ptr) var_c55180 ), BCK(i_v24628, limit498) ), 1)) { var_c55212 = (* (ptr) seq_v12364 ); tc497 = (word) XR_ExtractField(var_c55212, 32 + (word) ( limit499 = (* (ptr) var_c55212 ), BCK(i_v24628, limit499) ), 1); } else { tc497 = (word) 0; }; if (tc497) { SOURCE(27790, 10) goto lab_L100237; }; }; }; i_v24628 = (i_v24628 + 1); if ((i_v24628 < noName_c55052)) { goto lab_L100238; }; goto lab_L100234; lab_L100237: ; SOURCE(27818, 9) index_v12408 = i_v24628; goto lab_L100235; lab_L100234: ; SOURCE(27841, 57) { word var_c0732; var_c0732 = (* (( (ptr) gf_c60428)+21) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c60428)+4)/* Problem_v3952 */ ), 0, (word) &var_c0732)); }; lab_L100235: ; }; }; SOURCE(27273, 625) return(index_v12408); } static word FirstSegNum_P2880(run_v12468) word run_v12468; { register ptr gf_c60460 = (ptr) &globalframe; word var_c12512; /* FirstSegNum: */ SOURCE(27916, 229) SOURCE(27976, 35) if (((* (( (ptr) run_v12468)+3) ) == 0)) { SOURCE(28001, 10) return( (word) -1); }; SOURCE(28013, 44) { word pd500; pd500 = (* (( (ptr) (* (( (ptr) gf_c60460)+207)/* var_c49644 */ ))+26) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd500 ))))(run_v12468, pd500))) { SOURCE(28048, 9) return(0); }; }; SOURCE(28112, 33) return((word) FirstTransitionInRun_P3840(run_v12468)); } static word LastSegNum_P2940(run_v12572, firstSegNum_v12600) word run_v12572; word firstSegNum_v12600; { word lastNum_v12644; /* LastSegNum: */ SOURCE(28151, 292) SOURCE(28237, 35) if (( (int)firstSegNum_v12600 == (int) (word) -1)) { SOURCE(28262, 10) return( (word) -1); }; SOURCE(28274, 169) if (((* (ptr) (* (ptr) run_v12572 ) ) != (* (ptr) (* (( (ptr) run_v12572)+1) ) ))) { SOURCE(28314, 47) lastNum_v12644 = ((firstSegNum_v12600 + (* (( (ptr) run_v12572)+3) )) - 1); } else { SOURCE(28361, 82) lastNum_v12644 = IOP2( % , (int)(((firstSegNum_v12600 + (* (( (ptr) run_v12572)+3) )) - 1) + (* (ptr) (* (ptr) run_v12572 ) )), (int)(* (ptr) (* (ptr) run_v12572 ) )) ; }; SOURCE(28151, 292) return(lastNum_v12644); } static word ContainsJoint_P3000(seq_v12704, jointNum_v12732) word seq_v12704; word jointNum_v12732; { word var_c12776; /* ContainsJoint: */ SOURCE(28449, 106) SOURCE(28527, 28) { word var_c01174; { word var_c55276; var_c55276 = (* (( (ptr) seq_v12704)+1) ); { word limit501; var_c01174 = (unsigned) XR_ExtractField(var_c55276, 32 + (word) ( limit501 = (* (ptr) var_c55276 ), BCK(jointNum_v12732, limit501) ), 1); }; }; return(var_c01174); }; } static word FirstJointNum_P3060(run_v12836) word run_v12836; { register ptr gf_c60492 = (ptr) &globalframe; word var_c12880; word firstSeg_v24672; word nextJoint_v24700; word var_c55308; word var_c55340; word var_c55372; /* FirstJointNum: */ SOURCE(28561, 530) SOURCE(28649, 37) if (((* (( (ptr) run_v12836)+4) ) == 0)) { SOURCE(28676, 10) return( (word) -1); }; SOURCE(28688, 36) firstSeg_v24672 = (word) FirstTransitionInRun_P3840(run_v12836); SOURCE(28726, 365) { word limit502; var_c55308 = (* (( (ptr) run_v12836)+1) ); if (XR_ExtractField(var_c55308, 32 + (word) ( limit502 = (* (ptr) var_c55308 ), BCK(firstSeg_v24672, limit502) ), 1)) { SOURCE(28755, 22) return(firstSeg_v24672); } else { SOURCE(28779, 312) if (((* (ptr) (* (ptr) run_v12836 ) ) != (* (ptr) (* (( (ptr) run_v12836)+1) ) ))) { SOURCE(28847, 98) { word limit503; var_c55340 = (firstSeg_v24672 + 1); var_c55372 = (* (( (ptr) run_v12836)+1) ); if (XR_ExtractField(var_c55372, 32 + (word) ( limit503 = (* (ptr) var_c55372 ), BCK(var_c55340, limit503) ), 1)) { SOURCE(28880, 26) return(SGNCK((firstSeg_v24672 + 1))); } else { SOURCE(28906, 39) { word var_c0749; var_c0749 = (* (( (ptr) gf_c60492)+20) ); (void) XR_RaiseError((* (( (ptr) gf_c60492)+4)/* Problem_v3952 */ ), (word) &var_c0749); }; }; }; } else { { word var_c55404; SOURCE(28956, 41) { word idx504; nextJoint_v24700 = ( idx504 = (word) FollowingJoint_P3240(run_v12836, firstSeg_v24672), SGNCK(idx504) ); }; SOURCE(28999, 92) { word limit505; var_c55404 = (* (( (ptr) run_v12836)+1) ); if (XR_ExtractField(var_c55404, 32 + (word) ( limit505 = (* (ptr) var_c55404 ), BCK(nextJoint_v24700, limit505) ), 1)) { SOURCE(29029, 23) return(nextJoint_v24700); } else { SOURCE(29052, 39) { word var_c0751; var_c0751 = (* (( (ptr) gf_c60492)+20) ); (void) XR_RaiseError((* (( (ptr) gf_c60492)+4)/* Problem_v3952 */ ), (word) &var_c0751); }; }; }; }; }; }; }; } static word LastJointNum_P3120(run_v12940, firstJointNum_v12968) word run_v12940; word firstJointNum_v12968; { word lastNum_v13012; /* LastJointNum: */ SOURCE(29103, 330) SOURCE(29193, 37) if (( (int)firstJointNum_v12968 == (int) (word) -1)) { SOURCE(29220, 10) return( (word) -1); }; SOURCE(29232, 201) if (((* (ptr) (* (ptr) run_v12940 ) ) != (* (ptr) (* (( (ptr) run_v12940)+1) ) ))) { SOURCE(29297, 50) lastNum_v13012 = ((firstJointNum_v12968 + (* (( (ptr) run_v12940)+4) )) - 1); } else { SOURCE(29347, 86) lastNum_v13012 = IOP2( % , (int)(((firstJointNum_v12968 + (* (( (ptr) run_v12940)+4) )) - 1) + (* (ptr) (* (ptr) run_v12940 ) )), (int)(* (ptr) (* (ptr) run_v12940 ) )) ; }; SOURCE(29103, 330) return(lastNum_v13012); } static word LastSegAndJoint_P3180(traj_v13072, trajEnd_v13100) word traj_v13072; word trajEnd_v13100; { word segAndJoint_v13144; /* LastSegAndJoint: */ SOURCE(29439, 459) SOURCE(29439, 459) segAndJoint_v13144 = 0; SOURCE(29540, 31) segAndJoint_v13144 = (word) CreateEmpty_P180(traj_v13072); SOURCE(29573, 325) if (((* (ptr) traj_v13072 ) == 2)) { SOURCE(29600, 26) (* (( (ptr) segAndJoint_v13144)+4) ) = 1; SOURCE(29628, 24) (* (( (ptr) segAndJoint_v13144)+3) ) = 1; SOURCE(29654, 244) if ((trajEnd_v13100 == 0)) { SOURCE(29677, 30) { word var_c55436; var_c55436 = (* (ptr) segAndJoint_v13144 ); { word limit506; word xs507; xs507 = (word) ( limit506 = (* (ptr) var_c55436 ), BCK(0, limit506) ); (* (bPt) ((( (bPt) var_c55436)+4) + ((word) xs507 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs507 & 7)+1)); }; }; SOURCE(29709, 28) { word var_c55468; var_c55468 = (* (( (ptr) segAndJoint_v13144)+1) ); { word limit508; word xs509; xs509 = (word) ( limit508 = (* (ptr) var_c55468 ), BCK(0, limit508) ); (* (bPt) ((( (bPt) var_c55468)+4) + ((word) xs509 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs509 & 7)+1)); }; }; } else { SOURCE(29746, 154) { word hiSegment_v24744; SOURCE(29748, 70) { word idx510; hiSegment_v24744 = ( idx510 = (word) ((* (ptr) (* (ptr) segAndJoint_v13144 ) ) - 1), SGNCK(idx510) ); }; SOURCE(29820, 38) { word var_c55500; var_c55500 = (* (ptr) segAndJoint_v13144 ); { word limit511; word xs512; xs512 = (word) ( limit511 = (* (ptr) var_c55500 ), BCK(hiSegment_v24744, limit511) ); (* (bPt) ((( (bPt) var_c55500)+4) + ((word) xs512 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs512 & 7)+1)); }; }; SOURCE(29860, 38) { word var_c55532; word var_c55564; var_c55532 = (hiSegment_v24744 + 1); var_c55564 = (* (( (ptr) segAndJoint_v13144)+1) ); { word limit513; word xs514; xs514 = (word) ( limit513 = (* (ptr) var_c55564 ), BCK(var_c55532, limit513) ); (* (bPt) ((( (bPt) var_c55564)+4) + ((word) xs514 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs514 & 7)+1)); }; }; }; }; } else { SOURCE(29910, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(29439, 459) return(segAndJoint_v13144); } static word FollowingJoint_P3240(seq_v13204, index_v13232) word seq_v13204; word index_v13232; { word nextIndex_v13276; word open_v24788; word segCount_v24816; /* FollowingJoint: */ SOURCE(29921, 277) SOURCE(30009, 44) open_v24788 = (unsigned) ((* (ptr) (* (ptr) seq_v13204 ) ) != (* (ptr) (* (( (ptr) seq_v13204)+1) ) )); SOURCE(30055, 32) segCount_v24816 = (* (ptr) (* (ptr) seq_v13204 ) ); SOURCE(30089, 109) if ((0 != open_v24788)) { SOURCE(30102, 60) if ((index_v13232 == segCount_v24816)) { nextIndex_v13276 = (word) -1; } else { nextIndex_v13276 = (index_v13232 + 1); }; } else { SOURCE(30162, 36) nextIndex_v13276 = ((index_v13232 + 1) % segCount_v24816); }; SOURCE(29921, 277) return(nextIndex_v13276); } static void UnpackOnePointSequence_P3300(formal_c0786, seq_v13336) word formal_c0786; word seq_v13336; { word isACP_v13380; word segNum_v13408; word cpNum_v13436; word jointNum_v13464; word hiSegment_v24860; word hiJoint_v24888; /* UnpackOnePointSequence: */ SOURCE(30204, 476) SOURCE(30313, 33) hiSegment_v24860 = (* (ptr) (* (ptr) seq_v13336 ) ); SOURCE(30348, 29) hiJoint_v24888 = (* (ptr) (* (( (ptr) seq_v13336)+1) ) ); SOURCE(30379, 116) { register word i_v24932 = 0; register word noName_c55596; word var_c55628; noName_c55596 = hiJoint_v24888; if ((i_v24932 >= noName_c55596)) { goto lab_L100240; }; lab_L100243: ; SOURCE(30409, 86) { word limit515; var_c55628 = (* (( (ptr) seq_v13336)+1) ); if (XR_ExtractField(var_c55628, 32 + (word) ( limit515 = (* (ptr) var_c55628 ), BCK(i_v24932, limit515) ), 1)) { SOURCE(30433, 13) isACP_v13380 = 0; SOURCE(30448, 12) segNum_v13408 = 999; SOURCE(30462, 11) cpNum_v13436 = 999; SOURCE(30475, 12) jointNum_v13464 = i_v24932; SOURCE(30489, 6) goto lab_L100239; }; }; i_v24932 = (i_v24932 + 1); if ((i_v24932 < noName_c55596)) { goto lab_L100243; }; lab_L100240: ; }; SOURCE(30508, 172) { register word i_v24976 = 0; register word noName_c55660; noName_c55660 = hiSegment_v24860; if ((i_v24976 >= noName_c55660)) { goto lab_L100244; }; lab_L100247: ; SOURCE(30540, 140) { register word j_v25020 = 0; register word noName_c55724; word var_c55692; word var_c55788; { word limit516; var_c55692 = (* (( (ptr) seq_v13336)+2) ); noName_c55724 = (* (ptr) (* ((( (ptr) var_c55692)+1)+( limit516 = (* (ptr) var_c55692 ), BCK(i_v24976, limit516) )) ) ); }; if ((j_v25020 >= noName_c55724)) { goto lab_L100248; }; lab_L100251: ; SOURCE(30587, 93) { word limit518; { word var_c55756; var_c55756 = (* (( (ptr) seq_v13336)+2) ); { word limit517; var_c55788 = (* ((( (ptr) var_c55756)+1)+( limit517 = (* (ptr) var_c55756 ), BCK(i_v24976, limit517) )) ); }; }; if (XR_ExtractField(var_c55788, 32 + (word) ( limit518 = (* (ptr) var_c55788 ), BCK(j_v25020, limit518) ), 1)) { SOURCE(30621, 12) isACP_v13380 = 1; SOURCE(30635, 10) segNum_v13408 = i_v24976; SOURCE(30647, 9) cpNum_v13436 = j_v25020; SOURCE(30658, 14) jointNum_v13464 = 999; SOURCE(30674, 6) goto lab_L100239; }; }; j_v25020 = (j_v25020 + 1); if ((j_v25020 < noName_c55724)) { goto lab_L100251; }; lab_L100248: ; }; i_v24976 = (i_v24976 + 1); if ((i_v24976 < noName_c55660)) { goto lab_L100247; }; lab_L100244: ; }; SOURCE(30702, 5) (void) XR_RaiseUnnamedError(); lab_L100239: ; (* (ptr) formal_c0786 ) = isACP_v13380; (* (( (ptr) formal_c0786)+1) ) = segNum_v13408; (* (( (ptr) formal_c0786)+2) ) = cpNum_v13436; (* (( (ptr) formal_c0786)+3) ) = jointNum_v13464; return; } static word UnpackOneSegmentSequence_P3360(seq_v13524) word seq_v13524; { word segNum_v13568; word hiSegment_v25064; /* UnpackOneSegmentSequence: */ SOURCE(30713, 192) SOURCE(30794, 33) hiSegment_v25064 = (* (ptr) (* (ptr) seq_v13524 ) ); SOURCE(30829, 76) { register word i_v25108 = 0; register word noName_c55820; word var_c55852; noName_c55820 = hiSegment_v25064; if ((i_v25108 >= noName_c55820)) { goto lab_L100252; }; lab_L100255: ; SOURCE(30861, 44) { word limit519; var_c55852 = (* (ptr) seq_v13524 ); if (XR_ExtractField(var_c55852, 32 + (word) ( limit519 = (* (ptr) var_c55852 ), BCK(i_v25108, limit519) ), 1)) { SOURCE(30887, 10) segNum_v13568 = i_v25108; SOURCE(30899, 6) return(segNum_v13568); }; }; i_v25108 = (i_v25108 + 1); if ((i_v25108 < noName_c55820)) { goto lab_L100255; }; lab_L100252: ; }; SOURCE(30918, 5) (void) XR_RaiseUnnamedError(); } static void UnpackSimpleSequence_P3420(formal_c0827, slice_v13628, parts_v13656) word formal_c0827; word slice_v13628; word parts_v13656; { register ptr gf_c60524 = (ptr) &globalframe; word success_v13700; word partType_v13728; word traj_v13756; word joint_v13784; word jointNum_v13812; W2 cp_v13840; word cpNum_v13868; word seg_v13896; word segNum_v13924; word jointFound_v25152 = 0; word cpFound_v25180 = 0; word segFound_v25208 = 0; word seq_v25236; word seqTraj_v25264; word hiSegment_v25292; word hiJoint_v25320; /* UnpackSimpleSequence: */ SOURCE(30929, 1468) SOURCE(30929, 1468) success_v13700 = 0; SOURCE(30929, 1468) partType_v13728 = 0; SOURCE(30929, 1468) traj_v13756 = 0; SOURCE(30929, 1468) joint_v13784 = 0; SOURCE(30929, 1468) jointNum_v13812 = 999; SOURCE(30929, 1468) cp_v13840.f0 = (* (ptr) &fc520 ); cp_v13840.f1 = (* (ptr) &fc520 ); SOURCE(30929, 1468) cpNum_v13868 = 999; SOURCE(30929, 1468) seg_v13896 = 0; SOURCE(30929, 1468) segNum_v13924 = 999; SOURCE(31242, 30) seq_v25236 = XR_Narrow(parts_v13656, (* (( (ptr) gf_c60524)+5) )); SOURCE(31274, 38) seqTraj_v25264 = XR_Narrow((* (( (ptr) slice_v13628)+1) ), (* (( (ptr) gf_c60524)+13) )); SOURCE(31314, 33) hiSegment_v25292 = (* (ptr) (* (ptr) seq_v25236 ) ); SOURCE(31349, 29) hiJoint_v25320 = (* (ptr) (* (( (ptr) seq_v25236)+1) ) ); SOURCE(31380, 14) traj_v13756 = seqTraj_v25264; SOURCE(31396, 186) { register word i_v25364 = 0; register word noName_c55884; word var_c55916; noName_c55884 = hiJoint_v25320; if ((i_v25364 >= noName_c55884)) { goto lab_L100257; }; lab_L100260: ; SOURCE(31426, 156) { word limit521; var_c55916 = (* (( (ptr) seq_v25236)+1) ); if (XR_ExtractField(var_c55916, 32 + (word) ( limit521 = (* (ptr) var_c55916 ), BCK(i_v25364, limit521) ), 1)) { SOURCE(31450, 43) if ((0 != jointFound_v25152)) { SOURCE(31470, 15) success_v13700 = 0; SOURCE(31487, 6) goto lab_L100256; }; SOURCE(31496, 12) jointNum_v13812 = i_v25364; SOURCE(31510, 35) { word pd522; pd522 = (* (( (ptr) (* (( (ptr) gf_c60524)+204)/* var_c43500 */ ))+31) ); joint_v13784 = (word) ( *( (fPt) ((* (ptr) pd522 ))))(slice_v13628, i_v25364, pd522); }; SOURCE(31547, 17) jointFound_v25152 = 1; SOURCE(31566, 16) partType_v13728 = 1; }; }; i_v25364 = (i_v25364 + 1); if ((i_v25364 < noName_c55884)) { goto lab_L100260; }; lab_L100257: ; }; SOURCE(31595, 359) { register word i_v25408 = 0; register word noName_c55948; noName_c55948 = hiSegment_v25292; if ((i_v25408 >= noName_c55948)) { goto lab_L100261; }; lab_L100264: ; { word thisSeg_v25452; word cpCount_v25480; word var_c55980; SOURCE(31627, 48) { word pd523; pd523 = (* (( (ptr) (* (( (ptr) gf_c60524)+204)/* var_c43500 */ ))+29) ); thisSeg_v25452 = (word) ( *( (fPt) ((* (ptr) pd523 ))))(slice_v13628, i_v25408, pd523); }; SOURCE(31677, 39) { word limit524; var_c55980 = (* (( (ptr) seq_v25236)+2) ); cpCount_v25480 = (* (ptr) (* ((( (ptr) var_c55980)+1)+( limit524 = (* (ptr) var_c55980 ), BCK(i_v25408, limit524) )) ) ); }; SOURCE(31718, 236) { register word j_v25524 = 0; register word noName_c56012; word var_c56076; noName_c56012 = cpCount_v25480; if ((j_v25524 >= noName_c56012)) { goto lab_L100265; }; lab_L100268: ; SOURCE(31748, 206) { word limit526; { word var_c56044; var_c56044 = (* (( (ptr) seq_v25236)+2) ); { word limit525; var_c56076 = (* ((( (ptr) var_c56044)+1)+( limit525 = (* (ptr) var_c56044 ), BCK(i_v25408, limit525) )) ); }; }; if (XR_ExtractField(var_c56076, 32 + (word) ( limit526 = (* (ptr) var_c56076 ), BCK(j_v25524, limit526) ), 1)) { SOURCE(31782, 40) if ((0 != cpFound_v25180)) { SOURCE(31799, 15) success_v13700 = 0; SOURCE(31816, 6) goto lab_L100256; }; SOURCE(31825, 10) segNum_v13924 = i_v25408; SOURCE(31837, 13) seg_v13896 = thisSeg_v25452; SOURCE(31852, 9) cpNum_v13868 = j_v25524; SOURCE(31863, 50) { word pd527; pd527 = (* (( (ptr) (* (ptr) thisSeg_v25452 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd527 ))))((word) &cp_v13840, thisSeg_v25452, cpNum_v13868, pd527); }; SOURCE(31915, 14) cpFound_v25180 = 1; SOURCE(31931, 23) partType_v13728 = 2; }; }; j_v25524 = (j_v25524 + 1); if ((j_v25524 < noName_c56012)) { goto lab_L100268; }; lab_L100265: ; }; }; i_v25408 = (i_v25408 + 1); if ((i_v25408 < noName_c55948)) { goto lab_L100264; }; lab_L100261: ; }; SOURCE(31976, 55) if (((0 != jointFound_v25152) && (0 != cpFound_v25180))) { SOURCE(32008, 15) success_v13700 = 0; SOURCE(32025, 6) goto lab_L100256; }; SOURCE(32034, 186) { register word i_v25568 = 0; register word noName_c56108; word var_c56140; noName_c56108 = hiSegment_v25292; if ((i_v25568 >= noName_c56108)) { goto lab_L100269; }; lab_L100272: ; SOURCE(32066, 154) { word limit528; var_c56140 = (* (ptr) seq_v25236 ); if (XR_ExtractField(var_c56140, 32 + (word) ( limit528 = (* (ptr) var_c56140 ), BCK(i_v25568, limit528) ), 1)) { SOURCE(32092, 41) if ((0 != segFound_v25208)) { SOURCE(32110, 15) success_v13700 = 0; SOURCE(32127, 6) goto lab_L100256; }; SOURCE(32136, 10) segNum_v13924 = i_v25568; SOURCE(32148, 35) { word pd529; pd529 = (* (( (ptr) (* (( (ptr) gf_c60524)+204)/* var_c43500 */ ))+29) ); seg_v13896 = (word) ( *( (fPt) ((* (ptr) pd529 ))))(slice_v13628, i_v25568, pd529); }; SOURCE(32185, 15) segFound_v25208 = 1; SOURCE(32202, 18) partType_v13728 = 3; }; }; i_v25568 = (i_v25568 + 1); if ((i_v25568 < noName_c56108)) { goto lab_L100272; }; lab_L100269: ; }; SOURCE(32233, 84) if (((0 != jointFound_v25152) && (0 != segFound_v25208)) || ((0 != cpFound_v25180) && (0 != segFound_v25208))) { SOURCE(32294, 15) success_v13700 = 0; SOURCE(32311, 6) goto lab_L100256; }; SOURCE(32320, 56) if ( ( ( (0 == jointFound_v25152) ? (0 == cpFound_v25180) : 0 ) ? (0 == segFound_v25208) : 0 ) ) { SOURCE(32376, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(32383, 14) success_v13700 = 1; /* removed tail goto */ lab_L100256: ; (* (ptr) formal_c0827 ) = success_v13700; (* (( (ptr) formal_c0827)+1) ) = partType_v13728; (* (( (ptr) formal_c0827)+2) ) = traj_v13756; (* (( (ptr) formal_c0827)+3) ) = joint_v13784; (* (( (ptr) formal_c0827)+4) ) = jointNum_v13812; (* (W2Pt) (( (ptr) formal_c0827)+5) ) = cp_v13840; (* (( (ptr) formal_c0827)+7) ) = cpNum_v13868; (* (( (ptr) formal_c0827)+8) ) = seg_v13896; (* (( (ptr) formal_c0827)+9) ) = segNum_v13924; return; } static void RunsInSequence_P3480(formal_c0835, seq_v13984) word formal_c0835; word seq_v13984; { word seqGen_v14028; word runCount_v14056; /* RunsInSequence: */ SOURCE(32402, 262) SOURCE(32402, 262) seqGen_v14028 = 0; SOURCE(32502, 162) if (((* (ptr) (* (ptr) seq_v13984 ) ) != (* (ptr) (* (( (ptr) seq_v13984)+1) ) ))) { SOURCE(32568, 50) { W2 var_c56172; (void) RunsInSequenceOpen_P3540((word) &var_c56172, seq_v13984); runCount_v14056 = var_c56172.f1; seqGen_v14028 = var_c56172.f0; }; } else { SOURCE(32618, 46) { W2 var_c56204; (void) RunsInSequenceClosed_P3600((word) &var_c56204, seq_v13984); runCount_v14056 = var_c56204.f1; seqGen_v14028 = var_c56204.f0; }; }; /* removed tail goto */ (* (ptr) formal_c0835 ) = seqGen_v14028; (* (( (ptr) formal_c0835)+1) ) = runCount_v14056; return; } static void RunsInSequenceOpen_P3540(formal_c0853, seq_v14116) word formal_c0853; word seq_v14116; { register ptr gf_c60556 = (ptr) &globalframe; word seqGen_v14160; word runCount_v14188; word in_v25612 = 0; word thisSeq_v25640 = 0; word hiSegment_v25668; word hiJoint_v25696; /* RunsInSequenceOpen: */ SOURCE(32670, 732) SOURCE(32670, 732) seqGen_v14160 = 0; SOURCE(32805, 35) { word idx530; hiSegment_v25668 = ( idx530 = (word) ((* (ptr) (* (ptr) seq_v14116 ) ) - 1), SGNCK(idx530) ); }; SOURCE(32872, 28) hiJoint_v25696 = (hiSegment_v25668 + 1); SOURCE(32902, 42) seqGen_v14160 = XR_NewObject(4, (* (( (ptr) gf_c60556)+19) )); SOURCE(32946, 12) runCount_v14188 = 0; SOURCE(32960, 27) if ((0 != (word) IsEmpty_P2220(seq_v14116))) { SOURCE(32981, 6) goto lab_L100274; }; SOURCE(32989, 228) { register word i_v25740 = 0; register word noName_c56268; noName_c56268 = hiSegment_v25668; if ((i_v25740 > noName_c56268)) { goto lab_L100275; }; lab_L100278: ; SOURCE(33021, 96) { W4 var_c56300; (void) ConsiderJoint_P3960((word) &var_c56300, in_v25612, (* (ptr) seqGen_v14160 ), seq_v14116, thisSeq_v25640, runCount_v14188 , i_v25740); runCount_v14188 = var_c56300.f3; thisSeq_v25640 = var_c56300.f2; (* (ptr) seqGen_v14160 ) = var_c56300.f1; in_v25612 = var_c56300.f0; }; SOURCE(33119, 98) { W4 var_c56332; (void) ConsiderSegment_P4020((word) &var_c56332, in_v25612, (* (ptr) seqGen_v14160 ), seq_v14116, thisSeq_v25640, runCount_v14188 , i_v25740); runCount_v14188 = var_c56332.f3; thisSeq_v25640 = var_c56332.f2; (* (ptr) seqGen_v14160 ) = var_c56332.f1; in_v25612 = var_c56332.f0; }; if ((i_v25740 >= noName_c56268)) { goto lab_L100275; }; i_v25740 = (i_v25740 + 1); goto lab_L100278; lab_L100275: ; }; SOURCE(33228, 102) { W4 var_c56364; (void) ConsiderJoint_P3960((word) &var_c56364, in_v25612, (* (ptr) seqGen_v14160 ), seq_v14116, thisSeq_v25640, runCount_v14188 , hiJoint_v25696); runCount_v14188 = var_c56364.f3; thisSeq_v25640 = var_c56364.f2; (* (ptr) seqGen_v14160 ) = var_c56364.f1; in_v25612 = var_c56364.f0; }; SOURCE(33332, 70) if ((0 != in_v25612)) { SOURCE(33343, 59) { word var_c56396; { word var_c56428; var_c56428 = XR_NewObject(8, (* (( (ptr) gf_c60556)+18) )); (* (ptr) var_c56428 ) = thisSeq_v25640; var_c56396 = var_c56428; }; (* (ptr) seqGen_v14160 ) = (word) AppendToList_P3900((* (ptr) seqGen_v14160 ), var_c56396); }; }; /* removed tail goto */ lab_L100274: ; (* (ptr) formal_c0853 ) = seqGen_v14160; (* (( (ptr) formal_c0853)+1) ) = runCount_v14188; return; } static void RunsInSequenceClosed_P3600(formal_c0869, seq_v14248) word formal_c0869; word seq_v14248; { register ptr gf_c60588 = (ptr) &globalframe; word seqGen_v14292; word runCount_v14320; word segCount_v25784; word in_v25812 = 0; word thisSeq_v25840 = 0; word start_v25868; word natGen_v25896 = 0; /* RunsInSequenceClosed: */ SOURCE(33408, 741) SOURCE(33408, 741) seqGen_v14292 = 0; SOURCE(33507, 32) segCount_v25784 = (* (ptr) (* (ptr) seq_v14248 ) ); SOURCE(33613, 42) seqGen_v14292 = XR_NewObject(4, (* (( (ptr) gf_c60588)+19) )); SOURCE(33657, 12) runCount_v14320 = 0; SOURCE(33671, 37) if ((0 != (word) ControlPointsOnly_P3660(seq_v14248))) { SOURCE(33702, 6) goto lab_L100279; }; SOURCE(33710, 33) start_v25868 = (word) FirstTransitionInRun_P3840(seq_v14248); SOURCE(33745, 10) in_v25812 = 0; SOURCE(33757, 50) natGen_v25896 = (word) NATsInInterval_P4140(start_v25868, segCount_v25784, segCount_v25784); SOURCE(33809, 259) { register word i_v25940; i_v25940 = (word) NextNAT_P4200(natGen_v25896); lab_L100283: ; if (( (int)i_v25940 != (int) (word) -1)) { } else { goto lab_L100280; }; SOURCE(33872, 96) { W4 var_c56492; (void) ConsiderJoint_P3960((word) &var_c56492, in_v25812, (* (ptr) seqGen_v14292 ), seq_v14248, thisSeq_v25840, runCount_v14320 , SGNCK(i_v25940)); runCount_v14320 = var_c56492.f3; thisSeq_v25840 = var_c56492.f2; (* (ptr) seqGen_v14292 ) = var_c56492.f1; in_v25812 = var_c56492.f0; }; SOURCE(33970, 98) { W4 var_c56524; (void) ConsiderSegment_P4020((word) &var_c56524, in_v25812, (* (ptr) seqGen_v14292 ), seq_v14248, thisSeq_v25840, runCount_v14320 , SGNCK(i_v25940)); runCount_v14320 = var_c56524.f3; thisSeq_v25840 = var_c56524.f2; (* (ptr) seqGen_v14292 ) = var_c56524.f1; in_v25812 = var_c56524.f0; }; i_v25940 = (word) NextNAT_P4200(natGen_v25896); goto lab_L100283; lab_L100280: ; }; SOURCE(34079, 70) if ((0 != in_v25812)) { SOURCE(34090, 59) { word var_c56556; { word var_c56588; var_c56588 = XR_NewObject(8, (* (( (ptr) gf_c60588)+18) )); (* (ptr) var_c56588 ) = thisSeq_v25840; var_c56556 = var_c56588; }; (* (ptr) seqGen_v14292 ) = (word) AppendToList_P3900((* (ptr) seqGen_v14292 ), var_c56556); }; }; /* removed tail goto */ lab_L100279: ; (* (ptr) formal_c0869 ) = seqGen_v14292; (* (( (ptr) formal_c0869)+1) ) = runCount_v14320; return; } static word ControlPointsOnly_P3660(seq_v14380) word seq_v14380; { word var_c14424; /* ControlPointsOnly: */ SOURCE(34155, 119) SOURCE(34215, 59) { word tc531; if ( ( (seq_v14380 != 0) ? ((* (( (ptr) seq_v14380)+4) ) == 0) : 0 ) ) { tc531 = (word) (unsigned) ((* (( (ptr) seq_v14380)+3) ) == 0); } else { tc531 = (word) (unsigned) 0; }; return(tc531); }; } static word NextSequence_P3720(seqGen_v14484) word seqGen_v14484; { word seq_v14528; /* NextSequence: */ SOURCE(34280, 177) SOURCE(34280, 177) seq_v14528 = 0; SOURCE(34363, 37) if (((* (ptr) seqGen_v14484 ) == 0)) { SOURCE(34389, 11) return(0); }; SOURCE(34402, 23) seq_v14528 = (* (ptr) (* (ptr) seqGen_v14484 ) ); SOURCE(34427, 30) (* (ptr) seqGen_v14484 ) = (* (( (ptr) (* (ptr) seqGen_v14484 ))+1) ); SOURCE(34280, 177) return(seq_v14528); } static word FirstRun_P3780(seq_v14588) word seq_v14588; { word runParts_v14632; word runCount_v25984; word seqGen_v26012 = 0; /* FirstRun: */ SOURCE(34463, 218) SOURCE(34463, 218) runParts_v14632 = 0; SOURCE(34578, 40) { W2 var_c56620; (void) RunsInSequence_P3480((word) &var_c56620, seq_v14588); runCount_v25984 = var_c56620.f1; seqGen_v26012 = var_c56620.f0; }; SOURCE(34620, 61) if ((runCount_v25984 == 0)) { runParts_v14632 = 0; } else { runParts_v14632 = (word) NextSequence_P3720(seqGen_v26012); }; SOURCE(34463, 218) return(runParts_v14632); } static word FirstTransitionInRun_P3840(seq_v14692) word seq_v14692; { register ptr gf_c60620 = (ptr) &globalframe; word transitionNum_v14736; word hiSegment_v26056; /* FirstTransitionInRun: */ SOURCE(34687, 754) SOURCE(34764, 35) { word idx532; hiSegment_v26056 = ( idx532 = (word) ((* (ptr) (* (ptr) seq_v14692 ) ) - 1), SGNCK(idx532) ); }; SOURCE(34832, 609) if (((* (ptr) (* (ptr) seq_v14692 ) ) != (* (ptr) (* (( (ptr) seq_v14692)+1) ) ))) { { word var_c56748; word var_c56780; SOURCE(34899, 98) { register word i_v26100 = 0; register word noName_c56652; noName_c56652 = hiSegment_v26056; if ((i_v26100 > noName_c56652)) { goto lab_L100284; }; lab_L100287: ; { word var_c56684; word var_c56716; SOURCE(34931, 31) { word limit533; var_c56684 = (* (( (ptr) seq_v14692)+1) ); if (XR_ExtractField(var_c56684, 32 + (word) ( limit533 = (* (ptr) var_c56684 ), BCK(i_v26100, limit533) ), 1)) { SOURCE(34953, 9) return(i_v26100); }; }; SOURCE(34964, 33) { word limit534; var_c56716 = (* (ptr) seq_v14692 ); if (XR_ExtractField(var_c56716, 32 + (word) ( limit534 = (* (ptr) var_c56716 ), BCK(i_v26100, limit534) ), 1)) { SOURCE(34988, 9) return(i_v26100); }; }; }; if ((i_v26100 >= noName_c56652)) { goto lab_L100284; }; i_v26100 = (i_v26100 + 1); goto lab_L100287; lab_L100284: ; }; SOURCE(35008, 51) { word limit535; var_c56748 = (hiSegment_v26056 + 1); var_c56780 = (* (( (ptr) seq_v14692)+1) ); if (XR_ExtractField(var_c56780, 32 + (word) ( limit535 = (* (ptr) var_c56780 ), BCK(var_c56748, limit535) ), 1)) { SOURCE(35040, 19) return((hiSegment_v26056 + 1)); }; }; SOURCE(35061, 57) { word var_c0889; var_c0889 = (* (( (ptr) gf_c60620)+21) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c60620)+4)/* Problem_v3952 */ ), 0, (word) &var_c0889)); }; }; } else { SOURCE(35129, 312) { register word i_v26144 = 0; register word noName_c56812; noName_c56812 = hiSegment_v26056; if ((i_v26144 > noName_c56812)) { goto lab_L100288; }; lab_L100292: ; { word var_c56844; word var_c56876; word var_c56908; word var_c56940; word var_c56972; SOURCE(35161, 91) { word tc536; word limit537; word limit538; var_c56844 = IOP2( % , (int)((i_v26144 - 1) + (* (ptr) (* (ptr) seq_v14692 ) )), (int)(* (ptr) (* (ptr) seq_v14692 ) )) ; var_c56876 = (* (ptr) seq_v14692 ); if ( ! XR_ExtractField(var_c56876, 32 + (word) ( limit537 = (* (ptr) var_c56876 ), BCK(var_c56844, limit537) ), 1)) { var_c56908 = (* (( (ptr) seq_v14692)+1) ); tc536 = (word) XR_ExtractField(var_c56908, 32 + (word) ( limit538 = (* (ptr) var_c56908 ), BCK(i_v26144, limit538) ), 1); } else { tc536 = (word) 0; }; if (tc536) { SOURCE(35252, 15) goto lab_L100291; }; }; SOURCE(35269, 46) { word tc539; word limit540; word limit541; var_c56940 = (* (( (ptr) seq_v14692)+1) ); if ( ! XR_ExtractField(var_c56940, 32 + (word) ( limit540 = (* (ptr) var_c56940 ), BCK(i_v26144, limit540) ), 1)) { var_c56972 = (* (ptr) seq_v14692 ); tc539 = (word) XR_ExtractField(var_c56972, 32 + (word) ( limit541 = (* (ptr) var_c56972 ), BCK(i_v26144, limit541) ), 1); } else { tc539 = (word) 0; }; if (tc539) { SOURCE(35315, 15) goto lab_L100291; }; }; }; if ((i_v26144 >= noName_c56812)) { goto lab_L100288; }; i_v26144 = (i_v26144 + 1); goto lab_L100292; /* c2c skipped dead code */ lab_L100291: ; SOURCE(35353, 17) transitionNum_v14736 = i_v26144; goto lab_L100289; lab_L100288: ; SOURCE(35384, 57) { word var_c0897; var_c0897 = (* (( (ptr) gf_c60620)+21) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c60620)+4)/* Problem_v3952 */ ), 0, (word) &var_c0897)); }; lab_L100289: ; }; }; SOURCE(34687, 754) return(transitionNum_v14736); } static word AppendToList_P3900(list1_v14796, list2_v14824) word list1_v14796; word list2_v14824; { register ptr gf_c60652 = (ptr) &globalframe; word result_v14952; word pos_v26188 = 0; word newCell_v26216 = 0; /* AppendToList: */ SOURCE(35459, 381) SOURCE(35459, 381) result_v14952 = 0; SOURCE(35604, 33) if ((list1_v14796 == 0)) { SOURCE(35624, 13) return(list2_v14824); }; SOURCE(35639, 31) { word var_c57004; var_c57004 = XR_NewObject(8, (* (( (ptr) gf_c60652)+18) )); (* (ptr) var_c57004 ) = (* (ptr) list1_v14796 ); result_v14952 = var_c57004; }; SOURCE(35672, 12) pos_v26188 = result_v14952; SOURCE(35686, 126) { register word l_v26428; l_v26428 = (* (( (ptr) list1_v14796)+1) ); lab_L100296: ; if ((l_v26428 != 0)) { } else { goto lab_L100293; }; SOURCE(35749, 28) { word var_c57036; var_c57036 = XR_NewObject(8, (* (( (ptr) gf_c60652)+18) )); (* (ptr) var_c57036 ) = (* (ptr) l_v26428 ); newCell_v26216 = var_c57036; }; SOURCE(35779, 18) (* (( (ptr) pos_v26188)+1) ) = newCell_v26216; SOURCE(35799, 13) pos_v26188 = newCell_v26216; l_v26428 = (* (( (ptr) l_v26428)+1) ); goto lab_L100296; lab_L100293: ; }; SOURCE(35823, 17) (* (( (ptr) pos_v26188)+1) ) = list2_v14824; SOURCE(35459, 381) return(result_v14952); } static void ConsiderJoint_P3960(formal_c0924, in_v15096, list_v15124, seq_v15152, thisSeq_v15180, runCount_v15208, i_v15236) word formal_c0924; word in_v15096; word list_v15124; word seq_v15152; word thisSeq_v15180; word runCount_v15208; word i_v15236; { register ptr gf_c60684 = (ptr) &globalframe; word newIn_v15364; word newList_v15392; word newThisSeq_v15420; word newCount_v15448; /* ConsiderJoint: */ SOURCE(35846, 735) SOURCE(35846, 735) newList_v15392 = 0; SOURCE(35846, 735) newThisSeq_v15420 = 0; { word var_c57068; word var_c57100; word var_c57196; word var_c57260; SOURCE(36053, 10) newIn_v15364 = in_v15096; SOURCE(36065, 14) newList_v15392 = list_v15124; SOURCE(36081, 20) newThisSeq_v15420 = thisSeq_v15180; SOURCE(36103, 19) newCount_v15448 = runCount_v15208; { word tc542; word limit543; var_c57068 = (* (( (ptr) seq_v15152)+1) ); if ( ! XR_ExtractField(var_c57068, 32 + (word) ( limit543 = (* (ptr) var_c57068 ), BCK(i_v15236, limit543) ), 1)) { tc542 = (word) (0 == in_v15096); } else { tc542 = (word) 0; }; if (tc542) { } else { { word tc544; word limit545; var_c57100 = (* (( (ptr) seq_v15152)+1) ); if ( ! XR_ExtractField(var_c57100, 32 + (word) ( limit545 = (* (ptr) var_c57100 ), BCK(i_v15236, limit545) ), 1)) { tc544 = (word) (0 != in_v15096); } else { tc544 = (word) 0; }; if (tc544) { SOURCE(36207, 13) newIn_v15364 = 0; SOURCE(36222, 48) { word var_c57132; { word var_c57164; var_c57164 = XR_NewObject(8, (* (( (ptr) gf_c60684)+18) )); (* (ptr) var_c57164 ) = thisSeq_v15180; var_c57132 = var_c57164; }; newList_v15392 = (word) AppendToList_P3900(list_v15124, var_c57132); }; SOURCE(36272, 16) newThisSeq_v15420 = 0; } else { { word tc546; word limit547; var_c57196 = (* (( (ptr) seq_v15152)+1) ); if (XR_ExtractField(var_c57196, 32 + (word) ( limit547 = (* (ptr) var_c57196 ), BCK(i_v15236, limit547) ), 1)) { tc546 = (word) (0 == in_v15096); } else { tc546 = (word) 0; }; if (tc546) { SOURCE(36321, 12) newIn_v15364 = 1; SOURCE(36335, 32) newThisSeq_v15420 = (word) CreateEmptySeq_P600(seq_v15152); SOURCE(36369, 23) newCount_v15448 = (newCount_v15448 + 1); SOURCE(36394, 27) { word var_c57228; var_c57228 = (* (( (ptr) newThisSeq_v15420)+1) ); { /*1*/ word limit548; /*1*/ word xs549; /*1*/ xs549 = (word) ( /*1*/ limit548 = (* (ptr) var_c57228 ), /*1*/ BCK(i_v15236, limit548) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) var_c57228)+4) + ((word) xs549 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs549 & 7)+1)); /*1*/ }; }; SOURCE(36423, 49) (* (( (ptr) newThisSeq_v15420)+4) ) = ((* (( (ptr) newThisSeq_v15420)+4) ) + 1); } else { { word tc550; word limit551; var_c57260 = (* (( (ptr) seq_v15152)+1) ); if (XR_ExtractField(var_c57260, 32 + (word) ( /*1*/ limit551 = (* (ptr) var_c57260 ), /*1*/ BCK(i_v15236, limit551) /*1*/ ), 1)) { /*1*/ tc550 = (word) (0 != in_v15096); /*1*/ } else { /*1*/ tc550 = (word) 0; /*1*/ }; if (tc550) { SOURCE(36503, 27) /*1*/ { /*1*/ word var_c57292; /*1*/ var_c57292 = (* (( (ptr) newThisSeq_v15420)+1) ); /*1*/ { /*1*/ word limit552; /*1*/ word xs553; /*1*/ xs553 = (word) ( /*1*/ limit552 = (* (ptr) var_c57292 ), /*1*/ BCK(i_v15236, limit552) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) var_c57292)+4) + ((word) xs553 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs553 & 7)+1)); /*1*/ }; /*1*/ }; SOURCE(36532, 49) /*1*/ (* (( (ptr) newThisSeq_v15420)+4) ) = ((* (( (ptr) newThisSeq_v15420)+4) ) + 1); /*1*/ } else { SOURCE(36597, 5) /*1*/ (void) XR_RaiseUnnamedError(); /*1*/ }; }; }; }; }; }; }; }; }; /* removed tail goto */ (* (ptr) formal_c0924 ) = newIn_v15364; (* (( (ptr) formal_c0924)+1) ) = newList_v15392; (* (( (ptr) formal_c0924)+2) ) = newThisSeq_v15420; (* (( (ptr) formal_c0924)+3) ) = newCount_v15448; return; } static void ConsiderSegment_P4020(formal_c0943, in_v15592, list_v15620, seq_v15648, thisSeq_v15676, runCount_v15704, i_v15732) word formal_c0943; word in_v15592; word list_v15620; word seq_v15648; word thisSeq_v15676; word runCount_v15704; word i_v15732; { register ptr gf_c60716 = (ptr) &globalframe; word newIn_v15860; word newList_v15888; word newThisSeq_v15916; word newCount_v15944; /* ConsiderSegment: */ SOURCE(36608, 809) SOURCE(36608, 809) newList_v15888 = 0; SOURCE(36608, 809) newThisSeq_v15916 = 0; { word var_c57324; word var_c57356; word var_c57452; word var_c57516; SOURCE(36817, 10) newIn_v15860 = in_v15592; SOURCE(36829, 14) newList_v15888 = list_v15620; SOURCE(36845, 20) newThisSeq_v15916 = thisSeq_v15676; SOURCE(36867, 19) newCount_v15944 = runCount_v15704; { word tc554; word limit555; var_c57324 = (* (ptr) seq_v15648 ); if ( ! XR_ExtractField(var_c57324, 32 + (word) ( limit555 = (* (ptr) var_c57324 ), BCK(i_v15732, limit555) ), 1)) { tc554 = (word) (0 == in_v15592); } else { tc554 = (word) 0; }; if (tc554) { } else { { word tc556; word limit557; var_c57356 = (* (ptr) seq_v15648 ); if ( ! XR_ExtractField(var_c57356, 32 + (word) ( limit557 = (* (ptr) var_c57356 ), BCK(i_v15732, limit557) ), 1)) { tc556 = (word) (0 != in_v15592); } else { tc556 = (word) 0; }; if (tc556) { SOURCE(36975, 13) newIn_v15860 = 0; SOURCE(36990, 48) { word var_c57388; { word var_c57420; var_c57420 = XR_NewObject(8, (* (( (ptr) gf_c60716)+18) )); (* (ptr) var_c57420 ) = thisSeq_v15676; var_c57388 = var_c57420; }; newList_v15888 = (word) AppendToList_P3900(list_v15620, var_c57388); }; SOURCE(37040, 16) newThisSeq_v15916 = 0; } else { { word tc558; word limit559; var_c57452 = (* (ptr) seq_v15648 ); if (XR_ExtractField(var_c57452, 32 + (word) ( limit559 = (* (ptr) var_c57452 ), BCK(i_v15732, limit559) ), 1)) { tc558 = (word) (0 == in_v15592); } else { tc558 = (word) 0; }; if (tc558) { SOURCE(37091, 12) newIn_v15860 = 1; SOURCE(37105, 32) newThisSeq_v15916 = (word) CreateEmptySeq_P600(seq_v15648); SOURCE(37139, 23) newCount_v15944 = (newCount_v15944 + 1); SOURCE(37164, 29) { word var_c57484; var_c57484 = (* (ptr) newThisSeq_v15916 ); { /*1*/ word limit560; /*1*/ word xs561; /*1*/ xs561 = (word) ( /*1*/ limit560 = (* (ptr) var_c57484 ), /*1*/ BCK(i_v15732, limit560) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) var_c57484)+4) + ((word) xs561 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs561 & 7)+1)); /*1*/ }; }; SOURCE(37195, 45) (* (( (ptr) newThisSeq_v15916)+3) ) = ((* (( (ptr) newThisSeq_v15916)+3) ) + 1); SOURCE(37242, 32) (void) ControlPointsTrue_P4080(newThisSeq_v15916, i_v15732); } else { { word tc562; word limit563; var_c57516 = (* (ptr) seq_v15648 ); if (XR_ExtractField(var_c57516, 32 + (word) ( /*1*/ limit563 = (* (ptr) var_c57516 ), /*1*/ BCK(i_v15732, limit563) /*1*/ ), 1)) { /*1*/ tc562 = (word) (0 != in_v15592); /*1*/ } else { /*1*/ tc562 = (word) 0; /*1*/ }; if (tc562) { SOURCE(37307, 29) /*1*/ { /*1*/ word var_c57548; /*1*/ var_c57548 = (* (ptr) newThisSeq_v15916 ); /*1*/ { /*1*/ word limit564; /*1*/ word xs565; /*1*/ xs565 = (word) ( /*1*/ limit564 = (* (ptr) var_c57548 ), /*1*/ BCK(i_v15732, limit564) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) var_c57548)+4) + ((word) xs565 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs565 & 7)+1)); /*1*/ }; /*1*/ }; SOURCE(37338, 45) /*1*/ (* (( (ptr) newThisSeq_v15916)+3) ) = ((* (( (ptr) newThisSeq_v15916)+3) ) + 1); SOURCE(37385, 32) /*1*/ (void) ControlPointsTrue_P4080(newThisSeq_v15916, i_v15732); /*1*/ } else { SOURCE(37433, 5) /*1*/ (void) XR_RaiseUnnamedError(); /*1*/ }; }; }; }; }; }; }; }; }; /* removed tail goto */ (* (ptr) formal_c0943 ) = newIn_v15860; (* (( (ptr) formal_c0943)+1) ) = newList_v15888; (* (( (ptr) formal_c0943)+2) ) = newThisSeq_v15916; (* (( (ptr) formal_c0943)+3) ) = newCount_v15944; return; } static void ControlPointsTrue_P4080(seq_v16088, segNum_v16116) word seq_v16088; word segNum_v16116; { word cpCount_v26556; word var_c57580; /* ControlPointsTrue: */ SOURCE(37444, 263) SOURCE(37502, 44) { word limit566; var_c57580 = (* (( (ptr) seq_v16088)+2) ); cpCount_v26556 = (* (ptr) (* ((( (ptr) var_c57580)+1)+( limit566 = (* (ptr) var_c57580 ), BCK(segNum_v16116, limit566) )) ) ); }; SOURCE(37548, 159) { register word j_v26600 = 0; register word noName_c57612; word var_c57644; word var_c57676; noName_c57612 = cpCount_v26556; if ((j_v26600 >= noName_c57612)) { goto lab_L100299; }; lab_L100302: ; SOURCE(37578, 129) { word limit568; { word limit567; var_c57644 = (* (( (ptr) seq_v16088)+2) ); var_c57676 = (* ((( (ptr) var_c57644)+1)+( limit567 = (* (ptr) var_c57644 ), BCK(segNum_v16116, limit567) )) ); }; if ( ! XR_ExtractField(var_c57676, 32 + (word) ( limit568 = (* (ptr) var_c57676 ), BCK(j_v26600, limit568) ), 1)) { SOURCE(37621, 35) { word var_c57740; { word var_c57708; var_c57708 = (* (( (ptr) seq_v16088)+2) ); { word limit569; var_c57740 = (* ((( (ptr) var_c57708)+1)+( limit569 = (* (ptr) var_c57708 ), BCK(segNum_v16116, limit569) )) ); }; }; { word limit570; word xs571; xs571 = (word) ( limit570 = (* (ptr) var_c57740 ), BCK(j_v26600, limit570) ); (* (bPt) ((( (bPt) var_c57740)+4) + ((word) xs571 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs571 & 7)+1)); }; }; SOURCE(37658, 49) (* (( (ptr) seq_v16088)+5) ) = ((* (( (ptr) seq_v16088)+5) ) + 1); }; }; j_v26600 = (j_v26600 + 1); if ((j_v26600 < noName_c57612)) { goto lab_L100302; }; lab_L100299: ; }; } static word NATsInInterval_P4140(start_v16288, length_v16316, mod_v16344) word start_v16288; word length_v16316; word mod_v16344; { register ptr gf_c60748 = (ptr) &globalframe; word natGen_v16388; /* NATsInInterval: */ SOURCE(37835, 152) SOURCE(37835, 152) natGen_v16388 = 0; SOURCE(37917, 70) { word var_c57772; var_c57772 = XR_NewObject(12, (* (( (ptr) gf_c60748)+17) )); (* (ptr) var_c57772 ) = length_v16316; (* (( (ptr) var_c57772)+1) ) = start_v16288; (* (( (ptr) var_c57772)+2) ) = mod_v16344; natGen_v16388 = var_c57772; }; SOURCE(37835, 152) return(natGen_v16388); } static word NextNAT_P4200(natGen_v16448) word natGen_v16448; { word nextNAT_v16492; /* NextNAT: */ SOURCE(37993, 200) SOURCE(38057, 34) if (((* (ptr) natGen_v16448 ) == 0)) { SOURCE(38081, 10) return( (word) -1); }; SOURCE(38093, 29) { word idx572; (* (ptr) natGen_v16448 ) = ( idx572 = (word) ((* (ptr) natGen_v16448 ) - 1), SGNCK(idx572) ); }; SOURCE(38124, 21) nextNAT_v16492 = (* (( (ptr) natGen_v16448)+1) ); SOURCE(38147, 46) (* (( (ptr) natGen_v16448)+1) ) = (((* (( (ptr) natGen_v16448)+1) ) + 1) % (* (( (ptr) natGen_v16448)+2) )); SOURCE(37993, 200) return(nextNAT_v16492); } static word SegmentsInTraj_P4260(traj_v16552) word traj_v16552; { register ptr gf_c60780 = (ptr) &globalframe; word segGen_v16596; /* SegmentsInTraj: */ SOURCE(38199, 195) SOURCE(38199, 195) segGen_v16596 = 0; SOURCE(38284, 110) { word var_c57804; var_c57804 = XR_NewObject(32, (* (( (ptr) gf_c60780)+16) )); (* (ptr) var_c57804 ) = traj_v16552; (* (( (ptr) var_c57804)+1) ) = (* (( (ptr) traj_v16552)+1) ); (* (( (ptr) var_c57804)+5) ) = 1; segGen_v16596 = var_c57804; }; SOURCE(38199, 195) return(segGen_v16596); } static word WalkSegmentsInTraj_P4320(traj_v16656, walkProc_v16684) word traj_v16656; word walkProc_v16684; { register ptr gf_c60812 = (ptr) &globalframe; word aborted_v16728; word seg_v26644 = 0; /* WalkSegmentsInTraj: */ SOURCE(38400, 271) SOURCE(38400, 271) aborted_v16728 = 0; SOURCE(38526, 145) { register word i_v26688 = 0; register word noName_c57836; { word pd573; pd573 = (* (( (ptr) (* (( (ptr) gf_c60812)+204)/* var_c43500 */ ))+38) ); noName_c57836 = (word) ( *( (fPt) ((* (ptr) pd573 ))))(traj_v16656, pd573); }; if ((i_v26688 > noName_c57836)) { goto lab_L100303; }; lab_L100306: ; SOURCE(38575, 38) { word pd574; pd574 = (* (( (ptr) (* (( (ptr) gf_c60812)+204)/* var_c43500 */ ))+30) ); seg_v26644 = (word) ( *( (fPt) ((* (ptr) pd574 ))))(traj_v16656, i_v26688, pd574); }; SOURCE(38615, 32) aborted_v16728 = (word) ( *( (fPt) ((* (ptr) walkProc_v16684 ))))(traj_v16656, seg_v26644, i_v26688, walkProc_v16684); SOURCE(38649, 22) if ((0 != aborted_v16728)) { SOURCE(38665, 6) return(aborted_v16728); }; if ((i_v26688 >= noName_c57836)) { goto lab_L100303; }; i_v26688 = (i_v26688 + 1); goto lab_L100306; lab_L100303: ; }; SOURCE(38400, 271) return(aborted_v16728); } static word WalkSegmentsInSequence_P4380(traj_v16788, seq_v16816, walkProc_v16844) word traj_v16788; word seq_v16816; word walkProc_v16844; { register ptr gf_c60844 = (ptr) &globalframe; word aborted_v16888; word seg_v26732 = 0; word done_v26760 = 0; word toGo_v26788; word segCount_v26816; word index_v26844 = 0; word touched_v26872 = 0; /* WalkSegmentsInSequence: */ SOURCE(38685, 602) SOURCE(38685, 602) aborted_v16888 = 0; SOURCE(38851, 49) toGo_v26788 = ( (seq_v16816 == 0) ? 0 : (* (( (ptr) seq_v16816)+3) ) ) ; SOURCE(38902, 29) segCount_v26816 = (* (( (ptr) traj_v16788)+1) ); SOURCE(38958, 329) { register word i_v26916 = 1; register word noName_c57868; noName_c57868 = toGo_v26788; if ((i_v26916 > noName_c57868)) { goto lab_L100307; }; lab_L100310: ; { word var_c57900; SOURCE(38985, 153) lab_L100313: ; { word limit575; var_c57900 = (* (ptr) seq_v16816 ); if ( ! XR_ExtractField(var_c57900, 32 + (word) ( limit575 = (* (ptr) var_c57900 ), BCK(index_v26844, limit575) ), 1)) { } else { goto lab_L100311; }; }; SOURCE(39014, 32) index_v26844 = ((index_v26844 + 1) % segCount_v26816); SOURCE(39048, 21) touched_v26872 = (touched_v26872 + 1); SOURCE(39071, 67) if ((touched_v26872 >= segCount_v26816)) { SOURCE(39099, 39) { word var_c0983; var_c0983 = (* (( (ptr) gf_c60844)+23) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c60844)+4)/* Problem_v3952 */ ), 0, (word) &var_c0983)); }; }; goto lab_L100313; lab_L100311: ; SOURCE(39149, 42) { word pd576; pd576 = (* (( (ptr) (* (( (ptr) gf_c60844)+204)/* var_c43500 */ ))+30) ); seg_v26732 = (word) ( *( (fPt) ((* (ptr) pd576 ))))(traj_v16788, index_v26844, pd576); }; SOURCE(39193, 36) aborted_v16888 = (word) ( *( (fPt) ((* (ptr) walkProc_v16844 ))))(traj_v16788, seg_v26732, index_v26844, walkProc_v16844) ; SOURCE(39231, 22) if ((0 != aborted_v16888)) { SOURCE(39247, 6) return(aborted_v16888); }; SOURCE(39255, 32) index_v26844 = ((index_v26844 + 1) % segCount_v26816); }; if ((i_v26916 >= noName_c57868)) { goto lab_L100307; }; i_v26916 = (i_v26916 + 1); goto lab_L100310; lab_L100307: ; }; SOURCE(38685, 602) return(aborted_v16888); } static word CountSegmentsInSequence_P4440(traj_v16948, seq_v16976) word traj_v16948; word seq_v16976; { W7 var_c60876; /* declaration of count_v17020 skipped */ /* declaration of var_c57932 skipped */ /* CountSegmentsInSequence: */ SOURCE(39302, 265) { word tmpAddr577; tmpAddr577 = (word) (( (ptr) &var_c60876)+5)/* var_c57932 */ ; (* (ptr) tmpAddr577 ) = ( ((word) (fPt) AddEmUp_P9852) ); (* (( (ptr) tmpAddr577) + 1) ) = 1; }; SOURCE(39509, 9) var_c60876.f4/* count_v17020 */ = 0; SOURCE(39520, 47) { word var_c57964; var_c57964 = (word) WalkSegmentsInSequence_P4380(traj_v16948, seq_v16976, (word) (( (bPt) &var_c60876)+20)/* var_c57932 */ ) ; }; SOURCE(39302, 265) return(var_c60876.f4/* count_v17020 */ ); } static word AddEmUp_P9852(traj_v27036, seg_v27064, index_v27092, formal_c60908) word traj_v27036; word seg_v27064; word index_v27092; word formal_c60908; { word done_v27136; formal_c60908 = (formal_c60908 - 20); /* AddEmUp: */ SOURCE(39397, 107) SOURCE(39397, 107) done_v27136 = 0; SOURCE(39487, 17) (* (( (ptr) formal_c60908)+4) ) = ((* (( (ptr) formal_c60908)+4) ) + 1); SOURCE(39397, 107) return(done_v27136); } static void NextSegmentAndIndex_P4500(formal_c0999, segGen_v17080) word formal_c0999; word segGen_v17080; { register ptr gf_c60940 = (ptr) &globalframe; W2 next_v17124; word segCount_v27164; word seq_v27192; /* NextSegmentAndIndex: */ SOURCE(39573, 733) SOURCE(39573, 733) next_v17124.f0 = 0; next_v17124.f1 = 0; SOURCE(39680, 27) seq_v27192 = (* (( (ptr) segGen_v17080)+4) ); SOURCE(39709, 42) if (((* (( (ptr) segGen_v17080)+1) ) == 0)) { SOURCE(39733, 18) next_v17124.f0 = 0; next_v17124.f1 = 999; goto lab_L100314; }; SOURCE(39753, 48) { word pd578; pd578 = (* (( (ptr) (* (( (ptr) gf_c60940)+204)/* var_c43500 */ ))+38) ); segCount_v27164 = ((word) ( *( (fPt) ((* (ptr) pd578 ))))((* (ptr) (segGen_v17080) ), pd578) + 1); }; SOURCE(39803, 285) if ((0 == (* (( (ptr) segGen_v17080)+5) ))) { SOURCE(39893, 195) { word var_c58028; lab_L100317: ; { word idx579; word limit580; var_c58028 = (* (ptr) seq_v27192 ); if ( ! XR_ExtractField(var_c58028, 32 + (word) ( idx579 = (* (( (ptr) segGen_v17080)+2) ), limit580 = (* (ptr) var_c58028 ), BCK(idx579, limit580) ), 1)) { } else { goto lab_L100315; }; }; SOURCE(39929, 46) (* (( (ptr) segGen_v17080)+2) ) = (((* (( (ptr) segGen_v17080)+2) ) + 1) % segCount_v27164); SOURCE(39977, 35) (* (( (ptr) segGen_v17080)+3) ) = ((* (( (ptr) segGen_v17080)+3) ) + 1); SOURCE(40014, 74) if (((* (( (ptr) segGen_v17080)+3) ) >= segCount_v27164)) { SOURCE(40049, 39) { word var_c0998; var_c0998 = (* (( (ptr) gf_c60940)+23) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c60940)+4)/* Problem_v3952 */ ), 0, (word) &var_c0998)); }; }; goto lab_L100317; lab_L100315: ; }; }; SOURCE(40102, 61) { word pd581; pd581 = (* (( (ptr) (* (( (ptr) gf_c60940)+204)/* var_c43500 */ ))+30) ); next_v17124.f0 = (word) ( *( (fPt) ((* (ptr) pd581 ))))((* (ptr) segGen_v17080 ), (* (( (ptr) segGen_v17080)+2) ), pd581) ; }; SOURCE(40165, 25) next_v17124.f1 = (* (( (ptr) segGen_v17080)+2) ); SOURCE(40192, 46) (* (( (ptr) segGen_v17080)+2) ) = (((* (( (ptr) segGen_v17080)+2) ) + 1) % segCount_v27164); SOURCE(40240, 35) (* (( (ptr) segGen_v17080)+3) ) = ((* (( (ptr) segGen_v17080)+3) ) + 1); SOURCE(40277, 29) { word idx582; (* (( (ptr) segGen_v17080)+1) ) = ( idx582 = (word) ((* (( (ptr) segGen_v17080)+1) ) - 1), SGNCK(idx582) ); }; /* removed tail goto */ lab_L100314: ; (* (W2Pt) formal_c0999 ) = next_v17124; return; } static word SegmentsInSequence_P4560(traj_v17184, seq_v17212) word traj_v17184; word seq_v17212; { register ptr gf_c60972 = (ptr) &globalframe; word segGen_v17256; /* SegmentsInSequence: */ SOURCE(40312, 389) SOURCE(40312, 389) segGen_v17256 = 0; SOURCE(40416, 63) if ((0 != (word) IsComplete_P2280(seq_v17212))) { SOURCE(40442, 29) segGen_v17256 = (word) SegmentsInTraj_P4260(traj_v17184); SOURCE(40473, 6) return(segGen_v17256); }; SOURCE(40484, 217) { word var_c58060; var_c58060 = XR_NewObject(32, (* (( (ptr) gf_c60972)+16) )); if ((seq_v17212 == 0)) { (* (ptr) var_c58060 ) = 0; } else { (* (ptr) var_c58060 ) = traj_v17184; }; if ((seq_v17212 == 0)) { (* (( (ptr) var_c58060)+1) ) = 0; } else { (* (( (ptr) var_c58060)+1) ) = (* (( (ptr) seq_v17212)+3) ); }; (* (( (ptr) var_c58060)+4) ) = seq_v17212; segGen_v17256 = var_c58060; }; SOURCE(40312, 389) return(segGen_v17256); } static word OrderedSegmentsInSequence_P4620(traj_v17316, seq_v17344) word traj_v17316; word seq_v17344; { register ptr gf_c61004 = (ptr) &globalframe; word segGen_v17388; /* OrderedSegmentsInSequence: */ SOURCE(40707, 390) SOURCE(40707, 390) segGen_v17388 = 0; SOURCE(40818, 52) if ((0 != (word) IsComplete_P2280(seq_v17344))) { SOURCE(40842, 28) return((word) SegmentsInTraj_P4260(traj_v17316)); }; SOURCE(40872, 225) { word var_c58124; word var_c58156; if (((* (( (ptr) seq_v17344)+3) ) == 0)) { var_c58124 = 0; } else { var_c58124 = (word) FirstSegment_P2820(seq_v17344); }; var_c58156 = XR_NewObject(32, (* (( (ptr) gf_c61004)+16) )); (* (ptr) var_c58156 ) = traj_v17316; (* (( (ptr) var_c58156)+1) ) = (* (( (ptr) seq_v17344)+3) ); (* (( (ptr) var_c58156)+2) ) = var_c58124; (* (( (ptr) var_c58156)+4) ) = seq_v17344; segGen_v17388 = var_c58156; }; SOURCE(40707, 390) return(segGen_v17388); } static word NextSegment_P4680(segGen_v17448) word segGen_v17448; { register ptr gf_c61036 = (ptr) &globalframe; word next_v17492; word segCount_v27236; word seq_v27264; /* NextSegment: */ SOURCE(41103, 683) SOURCE(41103, 683) next_v17492 = 0; SOURCE(41198, 27) seq_v27264 = (* (( (ptr) segGen_v17448)+4) ); SOURCE(41227, 35) if (((* (( (ptr) segGen_v17448)+1) ) == 0)) { SOURCE(41251, 11) return(0); }; SOURCE(41264, 48) { word pd583; pd583 = (* (( (ptr) (* (( (ptr) gf_c61036)+204)/* var_c43500 */ ))+38) ); segCount_v27236 = ((word) ( *( (fPt) ((* (ptr) pd583 ))))((* (ptr) (segGen_v17448) ), pd583) + 1); }; SOURCE(41314, 285) if ((0 == (* (( (ptr) segGen_v17448)+5) ))) { SOURCE(41404, 195) { word var_c58188; lab_L100320: ; { word idx584; word limit585; var_c58188 = (* (ptr) seq_v27264 ); if ( ! XR_ExtractField(var_c58188, 32 + (word) ( idx584 = (* (( (ptr) segGen_v17448)+2) ), limit585 = (* (ptr) var_c58188 ), BCK(idx584, limit585) ), 1)) { } else { goto lab_L100318; }; }; SOURCE(41440, 46) (* (( (ptr) segGen_v17448)+2) ) = (((* (( (ptr) segGen_v17448)+2) ) + 1) % segCount_v27236); SOURCE(41488, 35) (* (( (ptr) segGen_v17448)+3) ) = ((* (( (ptr) segGen_v17448)+3) ) + 1); SOURCE(41525, 74) if (((* (( (ptr) segGen_v17448)+3) ) >= segCount_v27236)) { SOURCE(41560, 39) { word var_c01014; var_c01014 = (* (( (ptr) gf_c61036)+23) ); (void) (XR_RaiseSignal((* (( (ptr) gf_c61036)+4)/* Problem_v3952 */ ), 0, (word) &var_c01014)); }; }; goto lab_L100320; lab_L100318: ; }; }; SOURCE(41613, 57) { word pd586; pd586 = (* (( (ptr) (* (( (ptr) gf_c61036)+204)/* var_c43500 */ ))+30) ); next_v17492 = (word) ( *( (fPt) ((* (ptr) pd586 ))))((* (ptr) segGen_v17448 ), (* (( (ptr) segGen_v17448)+2) ), pd586); }; SOURCE(41672, 46) (* (( (ptr) segGen_v17448)+2) ) = (((* (( (ptr) segGen_v17448)+2) ) + 1) % segCount_v27236); SOURCE(41720, 35) (* (( (ptr) segGen_v17448)+3) ) = ((* (( (ptr) segGen_v17448)+3) ) + 1); SOURCE(41757, 29) { word idx587; (* (( (ptr) segGen_v17448)+1) ) = ( idx587 = (word) ((* (( (ptr) segGen_v17448)+1) ) - 1), SGNCK(idx587) ); }; SOURCE(41103, 683) return(next_v17492); } static word ControlPointsInSequence_P4740(traj_v17552, seq_v17580) word traj_v17552; word seq_v17580; { register ptr gf_c61068 = (ptr) &globalframe; word cpGen_v17624; /* ControlPointsInSequence: */ SOURCE(41792, 254) SOURCE(41792, 254) cpGen_v17624 = 0; SOURCE(41905, 141) { word var_c58220; var_c58220 = XR_NewObject(20, (* (( (ptr) gf_c61068)+10) )); (* (ptr) var_c58220 ) = traj_v17552; (* (( (ptr) var_c58220)+1) ) = seq_v17580; if ((seq_v17580 == 0)) { (* (( (ptr) var_c58220)+2) ) = 0; } else { (* (( (ptr) var_c58220)+2) ) = (* (( (ptr) seq_v17580)+5) ); }; cpGen_v17624 = var_c58220; }; SOURCE(41792, 254) return(cpGen_v17624); } static void WalkControlPointsInSequence_P4800(traj_v17684, seq_v17712, walkProc_v17740) word traj_v17684; word seq_v17712; word walkProc_v17740; { register ptr gf_c61100 = (ptr) &globalframe; word hiSegment_v27308; word seg_v27336 = 0; word done_v27364 = 0; /* WalkControlPointsInSequence: */ SOURCE(42052, 398) SOURCE(42155, 35) { word idx588; hiSegment_v27308 = ( idx588 = (word) ((* (ptr) (* (ptr) seq_v17712 ) ) - 1), SGNCK(idx588) ); }; SOURCE(42226, 224) { register word i_v27408 = 0; register word noName_c58252; noName_c58252 = hiSegment_v27308; if ((i_v27408 > noName_c58252)) { goto lab_L100321; }; lab_L100324: ; SOURCE(42258, 192) { register word j_v27452 = 0; register word noName_c58316; word var_c58284; word var_c58380; { word limit589; var_c58284 = (* (( (ptr) seq_v17712)+2) ); noName_c58316 = (* (ptr) (* ((( (ptr) var_c58284)+1)+( limit589 = (* (ptr) var_c58284 ), BCK(i_v27408, limit589) )) ) ); }; if ((j_v27452 >= noName_c58316)) { goto lab_L100325; }; lab_L100328: ; SOURCE(42305, 145) { word limit591; { word var_c58348; var_c58348 = (* (( (ptr) seq_v17712)+2) ); { word limit590; var_c58380 = (* ((( (ptr) var_c58348)+1)+( limit590 = (* (ptr) var_c58348 ), BCK(i_v27408, limit590) )) ); }; }; if (XR_ExtractField(var_c58380, 32 + (word) ( limit591 = (* (ptr) var_c58380 ), BCK(j_v27452, limit591) ), 1)) { SOURCE(42339, 38) { word pd592; pd592 = (* (( (ptr) (* (( (ptr) gf_c61100)+204)/* var_c43500 */ ))+30) ); seg_v27336 = (word) ( *( (fPt) ((* (ptr) pd592 ))))(traj_v17684, i_v27408, pd592); }; SOURCE(42379, 50) { W2 var_c58412; { word pd593; pd593 = (* (( (ptr) (* (ptr) seg_v27336 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd593 ))))((word) &var_c58412, seg_v27336, j_v27452, pd593); }; done_v27364 = (word) ( *( (fPt) ((* (ptr) walkProc_v17740 ))))(var_c58412, walkProc_v17740); }; SOURCE(42431, 19) if ((0 != done_v27364)) { SOURCE(42444, 6) return; }; }; }; j_v27452 = (j_v27452 + 1); if ((j_v27452 < noName_c58316)) { goto lab_L100328; }; lab_L100325: ; }; if ((i_v27408 >= noName_c58252)) { goto lab_L100321; }; i_v27408 = (i_v27408 + 1); goto lab_L100324; lab_L100321: ; }; } static void NextControlPoint_P4860(formal_c01049, cpGen_v17800) word formal_c01049; word cpGen_v17800; { register ptr gf_c61132 = (ptr) &globalframe; W3 next_v17844; /* NextControlPoint: */ SOURCE(42477, 757) SOURCE(42571, 663) if (((* (( (ptr) cpGen_v17800)+2) ) == 0)) { SOURCE(42594, 27) next_v17844.f0 = (* (ptr) &fc520 ); next_v17844.f1 = (* (ptr) &fc520 ); next_v17844.f2 = 1; goto lab_L100329; } else { SOURCE(42621, 615) { word trajParts_v27496; word seg_v27524 = 0; word segIndex_v27552; word cpIndex_v27580; word hiSegment_v27608; SOURCE(42623, 32) trajParts_v27496 = (* (( (ptr) cpGen_v17800)+1) ); SOURCE(42671, 30) segIndex_v27552 = (* (( (ptr) cpGen_v17800)+3) ); SOURCE(42703, 28) cpIndex_v27580 = (* (( (ptr) cpGen_v17800)+4) ); SOURCE(42733, 39) hiSegment_v27608 = (* (ptr) (* (ptr) trajParts_v27496 ) ); SOURCE(42774, 344) { register word i_v27652; register word noName_c58476; i_v27652 = segIndex_v27552; noName_c58476 = hiSegment_v27608; if ((i_v27652 >= noName_c58476)) { goto lab_L100330; }; lab_L100334: ; SOURCE(42813, 124) { register word j_v27696; register word noName_c58540; word var_c58508; word var_c58604; j_v27696 = cpIndex_v27580; { word limit594; var_c58508 = (* (( (ptr) trajParts_v27496)+2) ); noName_c58540 = (* (ptr) (* ((( (ptr) var_c58508)+1)+( limit594 = (* (ptr) var_c58508 ), BCK(i_v27652, limit594) )) ) ); }; if ((j_v27696 >= noName_c58540)) { goto lab_L100335; }; lab_L100338: ; SOURCE(42872, 65) { word limit596; { word var_c58572; var_c58572 = (* (( (ptr) trajParts_v27496)+2) ); { word limit595; var_c58604 = (* ((( (ptr) var_c58572)+1)+( /*1*/ limit595 = (* (ptr) var_c58572 ), /*1*/ BCK(i_v27652, limit595) /*1*/ )) ); }; }; if (XR_ExtractField(var_c58604, 32 + (word) ( limit596 = (* (ptr) var_c58604 ), BCK(j_v27696, limit596) ), 1)) { SOURCE(42912, 12) segIndex_v27552 = i_v27652; SOURCE(42926, 11) cpIndex_v27580 = j_v27696; SOURCE(42939, 10) goto lab_L100333; }; }; j_v27696 = (j_v27696 + 1); if ((j_v27696 < noName_c58540)) { goto lab_L100338; }; lab_L100335: ; }; SOURCE(42963, 11) cpIndex_v27580 = 0; i_v27652 = (i_v27652 + 1); if ((i_v27652 < noName_c58476)) { goto lab_L100334; }; goto lab_L100330; lab_L100333: ; SOURCE(42994, 51) { word pd597; pd597 = (* (( (ptr) (* (( (ptr) gf_c61132)+204)/* var_c43500 */ ))+30) ); seg_v27524 = (word) ( *( (fPt) ((* (ptr) pd597 ))))((* (ptr) cpGen_v17800 ), segIndex_v27552, pd597); }; SOURCE(43047, 52) { word pd598; pd598 = (* (( (ptr) (* (ptr) seg_v27524 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd598 ))))((word) &next_v17844, seg_v27524, cpIndex_v27580, pd598); }; SOURCE(43101, 17) next_v17844.f2 = 0; goto lab_L100331; lab_L100330: ; SOURCE(43135, 5) (void) XR_RaiseUnnamedError(); lab_L100331: ; }; SOURCE(43151, 25) (* (( (ptr) cpGen_v17800)+3) ) = segIndex_v27552; SOURCE(43178, 27) (* (( (ptr) cpGen_v17800)+4) ) = (cpIndex_v27580 + 1); SOURCE(43207, 27) { word idx599; (* (( (ptr) cpGen_v17800)+2) ) = ( idx599 = (word) ((* (( (ptr) cpGen_v17800)+2) ) - 1), SGNCK(idx599) ); }; }; }; /* removed tail goto */ lab_L100329: ; (* (W3Pt) formal_c01049 ) = next_v17844; return; } static void NextSegNumAndCPNum_P4920(formal_c01065, cpGen_v17904) word formal_c01065; word cpGen_v17904; { word segNum_v17948; word cpNum_v17976; word done_v18004; /* NextSegNumAndCPNum: */ SOURCE(43243, 654) SOURCE(43351, 546) if (((* (( (ptr) cpGen_v17904)+2) ) == 0)) { SOURCE(43374, 24) segNum_v17948 = 0; cpNum_v17976 = 0; done_v18004 = 1; goto lab_L100339; } else { SOURCE(43398, 501) { word seq_v27740; word segIndex_v27768; word cpIndex_v27796; word hiSegment_v27824; SOURCE(43400, 26) seq_v27740 = (* (( (ptr) cpGen_v17904)+1) ); SOURCE(43428, 30) segIndex_v27768 = (* (( (ptr) cpGen_v17904)+3) ); SOURCE(43460, 28) cpIndex_v27796 = (* (( (ptr) cpGen_v17904)+4) ); SOURCE(43490, 33) hiSegment_v27824 = (* (ptr) (* (ptr) seq_v27740 ) ); SOURCE(43525, 256) { register word i_v27868; register word noName_c58636; i_v27868 = segIndex_v27768; noName_c58636 = hiSegment_v27824; if ((i_v27868 >= noName_c58636)) { goto lab_L100340; }; lab_L100344: ; SOURCE(43564, 112) { register word j_v27912; register word noName_c58700; word var_c58668; word var_c58764; j_v27912 = cpIndex_v27796; { word limit600; var_c58668 = (* (( (ptr) seq_v27740)+2) ); noName_c58700 = (* (ptr) (* ((( (ptr) var_c58668)+1)+( limit600 = (* (ptr) var_c58668 ), BCK(i_v27868, limit600) )) ) ); }; if ((j_v27912 >= noName_c58700)) { goto lab_L100345; }; lab_L100348: ; SOURCE(43617, 59) { word limit602; { word var_c58732; var_c58732 = (* (( (ptr) seq_v27740)+2) ); { word limit601; var_c58764 = (* ((( (ptr) var_c58732)+1)+( /*1*/ limit601 = (* (ptr) var_c58732 ), /*1*/ BCK(i_v27868, limit601) /*1*/ )) ); }; }; if (XR_ExtractField(var_c58764, 32 + (word) ( limit602 = (* (ptr) var_c58764 ), BCK(j_v27912, limit602) ), 1)) { SOURCE(43651, 12) segIndex_v27768 = i_v27868; SOURCE(43665, 11) cpIndex_v27796 = j_v27912; SOURCE(43678, 10) goto lab_L100343; }; }; j_v27912 = (j_v27912 + 1); if ((j_v27912 < noName_c58700)) { goto lab_L100348; }; lab_L100345: ; }; SOURCE(43702, 11) cpIndex_v27796 = 0; i_v27868 = (i_v27868 + 1); if ((i_v27868 < noName_c58636)) { goto lab_L100344; }; goto lab_L100340; lab_L100343: ; SOURCE(43733, 17) segNum_v17948 = segIndex_v27768; SOURCE(43752, 15) cpNum_v17976 = cpIndex_v27796; SOURCE(43769, 12) done_v18004 = 0; goto lab_L100341; lab_L100340: ; SOURCE(43798, 5) (void) XR_RaiseUnnamedError(); lab_L100341: ; }; SOURCE(43814, 25) (* (( (ptr) cpGen_v17904)+3) ) = segIndex_v27768; SOURCE(43841, 27) (* (( (ptr) cpGen_v17904)+4) ) = (cpIndex_v27796 + 1); SOURCE(43870, 27) { word idx603; (* (( (ptr) cpGen_v17904)+2) ) = ( idx603 = (word) ((* (( (ptr) cpGen_v17904)+2) ) - 1), SGNCK(idx603) ); }; }; }; /* removed tail goto */ lab_L100339: ; (* (ptr) formal_c01065 ) = segNum_v17948; (* (( (ptr) formal_c01065)+1) ) = cpNum_v17976; (* (( (ptr) formal_c01065)+2) ) = done_v18004; return; } static word JointsInSequence_P4980(seq_v18064) word seq_v18064; { register ptr gf_c61164 = (ptr) &globalframe; word jointGen_v18108; /* JointsInSequence: */ SOURCE(43906, 299) SOURCE(43906, 299) jointGen_v18108 = 0; SOURCE(43992, 213) { word var_c58796; var_c58796 = XR_NewObject(20, (* (( (ptr) gf_c61164)+9) )); if ((seq_v18064 == 0)) { (* (( (ptr) var_c58796)+1) ) = 0; } else { (* (( (ptr) var_c58796)+1) ) = (* (( (ptr) seq_v18064)+4) ); }; (* (( (ptr) var_c58796)+3) ) = seq_v18064; jointGen_v18108 = var_c58796; }; SOURCE(43906, 299) return(jointGen_v18108); } static void WalkJointPositionsInSequence_P5040(traj_v18168, seq_v18196, walkProc_v18224) word traj_v18168; word seq_v18196; word walkProc_v18224; { register ptr gf_c61196 = (ptr) &globalframe; W2 jointPos_v27956; word done_v27984 = 0; word toGo_v28012; word hiJoint_v28040; word index_v28068 = 0; /* WalkJointPositionsInSequence: */ SOURCE(44211, 501) SOURCE(44352, 51) toGo_v28012 = ( (seq_v18196 == 0) ? 0 : (* (( (ptr) seq_v18196)+4) ) ) ; SOURCE(44405, 29) hiJoint_v28040 = (* (ptr) (* (( (ptr) seq_v18196)+1) ) ); SOURCE(44452, 260) { register word i_v28112 = 1; register word noName_c58828; noName_c58828 = toGo_v28012; if ((i_v28112 > noName_c58828)) { goto lab_L100349; }; lab_L100352: ; { word var_c58860; SOURCE(44479, 63) lab_L100355: ; { word tc604; word limit605; var_c58860 = (* (( (ptr) seq_v18196)+1) ); if ( ! XR_ExtractField(var_c58860, 32 + (word) ( limit605 = (* (ptr) var_c58860 ), BCK(index_v28068, limit605) ), 1)) { tc604 = (word) (index_v28068 <= hiJoint_v28040); } else { tc604 = (word) 0; }; if (tc604) { } else { goto lab_L100353; }; }; SOURCE(44525, 17) index_v28068 = (index_v28068 + 1); goto lab_L100355; lab_L100353: ; SOURCE(44553, 24) if ((index_v28068 > hiJoint_v28040)) { SOURCE(44577, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(44584, 48) { word pd606; pd606 = (* (( (ptr) (* (( (ptr) gf_c61196)+204)/* var_c43500 */ ))+33) ); (void) ( *( (fPt) ((* (ptr) pd606 ))))((word) &jointPos_v27956, traj_v18168, index_v28068, pd606); }; SOURCE(44634, 38) done_v27984 = (word) ( *( (fPt) ((* (ptr) walkProc_v18224 ))))(traj_v18168, jointPos_v27956, index_v28068, walkProc_v18224) ; SOURCE(44674, 19) if ((0 != done_v27984)) { SOURCE(44687, 6) return; }; SOURCE(44695, 17) index_v28068 = (index_v28068 + 1); }; if ((i_v28112 >= noName_c58828)) { goto lab_L100349; }; i_v28112 = (i_v28112 + 1); goto lab_L100352; lab_L100349: ; }; } static void WalkJointsInSequence_P5100(traj_v18284, seq_v18312, walkProc_v18340) word traj_v18284; word seq_v18312; word walkProc_v18340; { register ptr gf_c61228 = (ptr) &globalframe; W2 jointPos_v28156; word done_v28184 = 0; word toGo_v28212; word hiJoint_v28240; word index_v28268 = 0; /* WalkJointsInSequence: */ SOURCE(44727, 480) SOURCE(44860, 51) toGo_v28212 = ( (seq_v18312 == 0) ? 0 : (* (( (ptr) seq_v18312)+4) ) ) ; SOURCE(44913, 29) hiJoint_v28240 = (* (ptr) (* (( (ptr) seq_v18312)+1) ) ); SOURCE(44960, 247) { register word i_v28312 = 1; register word noName_c58892; noName_c58892 = toGo_v28212; if ((i_v28312 > noName_c58892)) { goto lab_L100356; }; lab_L100359: ; { word var_c58924; SOURCE(44987, 63) lab_L100362: ; { word tc607; word limit608; var_c58924 = (* (( (ptr) seq_v18312)+1) ); if ( ! XR_ExtractField(var_c58924, 32 + (word) ( limit608 = (* (ptr) var_c58924 ), BCK(index_v28268, limit608) ), 1)) { tc607 = (word) (index_v28268 <= hiJoint_v28240); } else { tc607 = (word) 0; }; if (tc607) { } else { goto lab_L100360; }; }; SOURCE(45033, 17) index_v28268 = (index_v28268 + 1); goto lab_L100362; lab_L100360: ; SOURCE(45061, 24) if ((index_v28268 > hiJoint_v28240)) { SOURCE(45085, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(45092, 48) { word pd609; pd609 = (* (( (ptr) (* (( (ptr) gf_c61228)+204)/* var_c43500 */ ))+33) ); (void) ( *( (fPt) ((* (ptr) pd609 ))))((word) &jointPos_v28156, traj_v18284, index_v28268, pd609); }; SOURCE(45142, 25) done_v28184 = (word) ( *( (fPt) ((* (ptr) walkProc_v18340 ))))(jointPos_v28156, walkProc_v18340); SOURCE(45169, 19) if ((0 != done_v28184)) { SOURCE(45182, 6) return; }; SOURCE(45190, 17) index_v28268 = (index_v28268 + 1); }; if ((i_v28312 >= noName_c58892)) { goto lab_L100356; }; i_v28312 = (i_v28312 + 1); goto lab_L100359; lab_L100356: ; }; } static word JointsInTraj_P5160(traj_v18400) word traj_v18400; { register ptr gf_c61260 = (ptr) &globalframe; word jointGen_v18444; /* JointsInTraj: */ SOURCE(45222, 229) SOURCE(45222, 229) jointGen_v18444 = 0; SOURCE(45304, 147) { word var_c58956; word var_c58988; { word pd610; pd610 = (* (( (ptr) (* (( (ptr) gf_c61260)+204)/* var_c43500 */ ))+40) ); var_c58956 = ((word) ( *( (fPt) ((* (ptr) pd610 ))))(traj_v18400, pd610) + 1); }; var_c58988 = XR_NewObject(20, (* (( (ptr) gf_c61260)+9) )); (* (( (ptr) var_c58988)+1) ) = var_c58956; (* (( (ptr) var_c58988)+4) ) = 1; jointGen_v18444 = var_c58988; }; SOURCE(45222, 229) return(jointGen_v18444); } static word NextJoint_P5220(jointGen_v18504) word jointGen_v18504; { word next_v18548; word seq_v28356; word index_v28384; /* NextJoint: */ SOURCE(45457, 440) SOURCE(45531, 29) seq_v28356 = (* (( (ptr) jointGen_v18504)+3) ); SOURCE(45562, 27) index_v28384 = (* (( (ptr) jointGen_v18504)+2) ); SOURCE(45591, 36) if (((* (( (ptr) jointGen_v18504)+1) ) == 0)) { SOURCE(45617, 10) return( (word) -1); }; SOURCE(45629, 202) if ((0 != (* (( (ptr) jointGen_v18504)+4) ))) { SOURCE(45660, 12) next_v18548 = index_v28384; } else { SOURCE(45681, 152) { word hiJoint_v28428; word var_c59020; SOURCE(45683, 29) hiJoint_v28428 = (* (ptr) (* (( (ptr) seq_v28356)+1) ) ); SOURCE(45714, 63) lab_L100365: ; { word tc611; word limit612; var_c59020 = (* (( (ptr) seq_v28356)+1) ); if ( ! XR_ExtractField(var_c59020, 32 + (word) ( limit612 = (* (ptr) var_c59020 ), BCK(index_v28384, limit612) ), 1)) { tc611 = (word) (index_v28384 <= hiJoint_v28428); } else { tc611 = (word) 0; }; if (tc611) { } else { goto lab_L100363; }; }; SOURCE(45760, 17) index_v28384 = (index_v28384 + 1); goto lab_L100365; lab_L100363: ; SOURCE(45788, 24) if ((index_v28384 > hiJoint_v28428)) { SOURCE(45812, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(45819, 12) next_v18548 = index_v28384; }; }; SOURCE(45836, 26) (* (( (ptr) jointGen_v18504)+2) ) = (index_v28384 + 1); SOURCE(45864, 33) { word idx613; (* (( (ptr) jointGen_v18504)+1) ) = ( idx613 = (word) ((* (( (ptr) jointGen_v18504)+1) ) - 1), SGNCK(idx613) ); }; SOURCE(45457, 440) return(next_v18548); } /* file: GGSequenceImpl, module: GGSequenceImpl, compiled at: July 11, 1993 8:16:24 pm PDT */ extern void XR_install_GGSequenceImpl() { NoName_Q10440(); } extern void XR_run_GGSequenceImpl() { XR_Start(&globalframe); }