/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 28, 1993 10:21:02 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerPathImpl, module: ImagerPathImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1072818729,1484159532] ImagerPathImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2;} W3;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W8 r;} W24;
typedef W2 *W2Pt;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W16 f; W2 r;} W18;
typedef struct {W16 f; W16 r;} W32;
typedef struct {W16 f; word r;} W17;
typedef struct {W32 f; W17 r;} W49;
typedef struct {W32 f; W8 r;} W40;
typedef W40 *W40Pt;
#define SOURCE(p, l) /* source p, l */
static float fc18 = 0.0;
static float fc21 = 1.0;
static float fc24 = 0.4641;
static float fc27 = 0.533;
static float fc29 = 1.333333;
static float fc50 = 0.5;
#define FMIN(x, y, tx, ty)  ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
static float fc82 = 2.0;
static float fc90 = 0.99999;
static float fc122 = -1.0;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc203 = 0.000005;
static float fc214 = 4.0E+6;
static float fc268 = 360.0;
static float fc300 = 0.75;
static float fc303 = 0.25;
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q3984();
static void ImagerPathImpl←P0();
static void ConicToCurves←P60();
static void ArcToConics←P120();
static void Transform←P360();
static void TransformMoveTo←P1932();
static void TransformLineTo←P1992();
static void TransformCurveTo←P2052();
static void TransformConicTo←P2112();
static void TransformArcTo←P2172();
static void LastPoint←P420();
static word MoveTo←P480();
static word LineTo←P540();
static word LineToX←P600();
static word LineToY←P660();
static word CurveTo←P720();
static word ConicTo←P780();
static word ArcTo←P840();
static void MapTrajectory←P900();
static void Map←P2232();
static void MapTrajectoryBackward←P960();
static void MapTrajectoryList←P1020();
static void MapOutline←P1080();
static void TrajectoriesFromPath←P1140();
static void move←P3108();
static void line←P3168();
static void curve←P3228();
static void conic←P3288();
static void arc←P3348();
static void close←P3408();
static word TrajectoryListFromPath←P1200();
static void action←P3468();
static word OutlineFromPath←P1260();
static void action←P3528();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\340\000\000"};
static struct {unsigned f; char r[48];} string4 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\354\147\236\353\300\316\347\225\106\100\340\005\004\162\145\163\164\214\216\257\300\354\147\236\353\300\316\347\225\106\100\340\261\000\000\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\102\060\000\000"};
static struct {unsigned f; char r[12];} string7 = {524296, "\011\000\004\040\040\000\010\001\000\000\000"};
static struct {unsigned f; char r[56];} string8 = {3407928, "The ratio r in conic specification must be in [0..1]\000\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300?\361\352)\300Xvz,@t\000\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\003\017\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\150\000\000"};
static struct {
   word f0[16]; word f16; word f17; word f18; 
   word f19; word f20; word f21; word f22; 
   word f23; word f24; word f25; word f26; 
   word f27; word f28; word f29; word f30; 
   word f31; word f32; word f33; word f34; 
   word f35; word f36; word f37; word f38; 
   word f39; word f40; word f41; word f42; 
   word f43; word f44; word f45; word f46; 
   word f47; word f48; word f49; word f50; 
   word f51; word f52; word f53[7]; 
   } globalframe = {
   {0}, (word) OutlineFromPath←P1260, 0, (word) TrajectoryListFromPath←P1200, 
   0, (word) TrajectoriesFromPath←P1140, 0, (word) MapOutline←P1080, 
   0, (word) MapTrajectoryList←P1020, 0, (word) MapTrajectoryBackward←P960, 
   0, (word) MapTrajectory←P900, 0, (word) ArcTo←P840, 
   0, (word) ConicTo←P780, 0, (word) CurveTo←P720, 
   0, (word) LineToY←P660, 0, (word) LineToX←P600, 
   0, (word) LineTo←P540, 0, (word) MoveTo←P480, 
   0, (word) LastPoint←P420, 0, (word) Transform←P360, 
   0, (word) ArcToConics←P120, 0, (word) ConicToCurves←P60, 
   0, (word) ImagerPathImpl←P0, {0}
   };

static void NoName←Q3984()
   {
   register ptr gf←c0301 =  (ptr) &globalframe;
   word var←c23748;
   (* (( (ptr) gf←c0301)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0301)+7) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
   (* (( (ptr) gf←c0301)+13) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0301)+14) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (*  (ptr) (( (bPt) gf←c0301)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0301)+5) ), (word) &string8);
   (void) XR←DeclareGlobalFrame((word) "ImagerPathImpl", &globalframe, (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10)
      , (word) (( (bPt) gf←c0301)+208)/* var←c20484 */ );
   var←c23748 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string11)), 84);
   (* (( (ptr) gf←c0301)+54)/* var←c20516 */  ) = var←c23748;
   var←c23748 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string12)), 55);
   (* (( (ptr) gf←c0301)+57)/* var←c22276 */  ) = var←c23748;
   (void) XR←ImportProcS(var←c23748, 135013122);
   var←c23748 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string13)), 11);
   (* (( (ptr) gf←c0301)+58)/* var←c23780 */  ) = var←c23748;
   (void) XR←ImportProcS(var←c23748, 67633154);
   var←c23748 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string14)), 36);
   (* (( (ptr) gf←c0301)+55)/* var←c20772 */  ) = var←c23748;
   (void) XR←ImportProcS(var←c23748, 67372801);
   (void) XR←ImportProcS(var←c23748, 67373313);
   (void) XR←ImportProcS(var←c23748, 67636482);
   (void) XR←ImportProcS(var←c23748, 67372289);
   var←c23748 = (word) XR←ImportInterface((word) "Vector2", (word) XR←GetTypeIndexS((word) (&string15)), 22);
   (* (( (ptr) gf←c0301)+56)/* var←c20932 */  ) = var←c23748;
   (void) XR←ImportProcS(var←c23748, 67637761);
   (void) XR←ImportProcS(var←c23748, 68161026);
   (void) XR←ImportProcS(var←c23748, 68161538);
   (void) XR←ImportProcS(var←c23748, 135266818);
   (void) XR←ImportProcS(var←c23748, 135266306);
   var←c23748 = (word) XR←ExportInterface((word) "ImagerPath", (word) XR←GetTypeIndexS((word) (&string16)), 18);
   (* (( (ptr) gf←c0301)+59)/* var←c23812 */  ) = var←c23748;
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+200)/* var←c20452 */ , 2097157, (word) "ConicToCurves");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+192)/* var←c20420 */ , 1835268, (word) "ArcToConics");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+184)/* var←c20388 */ , 2097672, (word) "Transform");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+176)/* var←c20356 */ , 134480641, (word) "LastPoint");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+168)/* var←c20324 */ , 67634177, (word) "MoveTo");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+160)/* var←c20292 */ , 67896578, (word) "LineTo");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+152)/* var←c20260 */ , 67634690, (word) "LineToX");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+144)/* var←c20228 */ , 67634946, (word) "LineToY");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+136)/* var←c20196 */ , 68945924, (word) "CurveTo");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+128)/* var←c20164 */ , 68684036, (word) "ConicTo");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+120)/* var←c20132 */ , 68422147, (word) "ArcTo");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+112)/* var←c20100 */ , 1575686, (word) "MapTrajectory");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+104)/* var←c20068 */ , 1575942, (word) "MapTrajectoryBackward")
   ;
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+96)/* var←c20036 */ , 1576198, (word) "MapTrajectoryList");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+88)/* var←c20004 */ , 1576454, (word) "MapOutline");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+80)/* var←c19972 */ , 790275, (word) "TrajectoriesFromPath");
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+72)/* var←c19940 */ , 67637250, (word) "TrajectoryListFromPath")
   ;
   (void) XR←ExportProcS(var←c23748, (word) (( (bPt) gf←c0301)+64)/* var←c19908 */ , 67899651, (word) "OutlineFromPath");
   }

static void ImagerPathImpl←P0(formal←c030, formal←c029)
   word formal←c030;
   word formal←c029;
   {
   /* ImagerPathImpl: */ 
   }

static void ConicToCurves←P60(p0←v3472, p1←v3500, p2←v3528, r←v3556, curveTo←v3584)
   W2 p0←v3472;
   W2 p1←v3500;
   W2 p2←v3528;
   word r←v3556;
   word curveTo←v3584;
   {
   register ptr gf←c23844 =  (ptr) &globalframe;
   /* ConicToCurves: */ 
SOURCE(656, 861)
SOURCE(736, 141)
   {
      word x17;
      word x19;
      word x20;
      word x22;
      if ((( (unsigned) (((unsigned)r←v3556 << 1) >> 24) == 255) || ((
         x17 = r←v3556,  *(float*)&x17
         ) < (
         x19 = (*  (ptr) &fc18 ),  *(float*)&x19
         ))) || ((
         x20 = r←v3556,  *(float*)&x20
         ) > (
         x22 = (*  (ptr) &fc21 ),  *(float*)&x22
         ))) {
SOURCE(792, 85)
         {
            W3 var←c037;
            var←c037.f0 = 1;
            var←c037.f1 = (* (( (ptr) gf←c23844)+15) );
            var←c037.f2 = 0;
            (void) XR←RaiseError((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c23844)+54)/* var←c20516 */  ))+6) ) ), (word) &var←c037);
            };
         };
      };
SOURCE(879, 638)
   {
      word x23;
      word x25;
      word x26;
      word x28;
      if ( ( ((
         x23 = r←v3556,  *(float*)&x23
         ) >= (
         x25 = (*  (ptr) &fc24 ),  *(float*)&x25
         )) ? ((
         x26 = r←v3556,  *(float*)&x26
         ) <= (
         x28 = (*  (ptr) &fc27 ),  *(float*)&x28
         )) : 0 ) ) {
SOURCE(1011, 155)
         {
            word f←v6804;
            W2 p01←v6832;
            W2 p21←v6860;
SOURCE(1013, 22)
            {
               word x30;
               word x31;
               *(float*)&f←v6804 = (
                  x30 = (*  (ptr) &fc29 ),  *(float*)&x30
                  ) * (
                  x31 = r←v3556,  *(float*)&x31
                  );
               };
SOURCE(1037, 51)
            {
               word x32;
               word x33;
               word x34;
               word x35;
               *(float*)&p01←v6832.f0 = (
                  x32 = p0←v3472.f0,  *(float*)&x32
                  ) + ((
                  x33 = f←v6804,  *(float*)&x33
                  ) * ((
                  x34 = p1←v3500.f0,  *(float*)&x34
                  ) - (
                  x35 = p0←v3472.f0,  *(float*)&x35
                  )));
               };
            {
               word x36;
               word x37;
               word x38;
               word x39;
               *(float*)&p01←v6832.f1 = (
                  x36 = p0←v3472.f1,  *(float*)&x36
                  ) + ((
                  x37 = f←v6804,  *(float*)&x37
                  ) * ((
                  x38 = p1←v3500.f1,  *(float*)&x38
                  ) - (
                  x39 = p0←v3472.f1,  *(float*)&x39
                  )));
               };
SOURCE(1090, 51)
            {
               word x40;
               word x41;
               word x42;
               word x43;
               *(float*)&p21←v6860.f0 = (
                  x40 = p2←v3528.f0,  *(float*)&x40
                  ) + ((
                  x41 = f←v6804,  *(float*)&x41
                  ) * ((
                  x42 = p1←v3500.f0,  *(float*)&x42
                  ) - (
                  x43 = p2←v3528.f0,  *(float*)&x43
                  )));
               };
            {
               word x44;
               word x45;
               word x46;
               word x47;
               *(float*)&p21←v6860.f1 = (
                  x44 = p2←v3528.f1,  *(float*)&x44
                  ) + ((
                  x45 = f←v6804,  *(float*)&x45
                  ) * ((
                  x46 = p1←v3500.f1,  *(float*)&x46
                  ) - (
                  x47 = p2←v3528.f1,  *(float*)&x47
                  )));
               };
SOURCE(1143, 21)
            (void) ( *( (fPt) ((*  (ptr) curveTo←v3584 ))))(p01←v6832, p21←v6860, p2←v3528, curveTo←v3584);
            };
         }
      else {
SOURCE(1173, 346)
         {
            W2 m←v6904;
            W2 p←v6932;
            W2 p01←v6960;
            W2 p21←v6988;
            word rNew←v7016;
SOURCE(1175, 43)
            {
               word x48;
               word x49;
               word x51;
               *(float*)&m←v6904.f0 = ((
                  x48 = p0←v3472.f0,  *(float*)&x48
                  ) + (
                  x49 = p2←v3528.f0,  *(float*)&x49
                  )) * (
                  x51 = (*  (ptr) &fc50 ),  *(float*)&x51
                  );
               };
            {
               word x52;
               word x53;
               word x54;
               *(float*)&m←v6904.f1 = ((
                  x52 = p0←v3472.f1,  *(float*)&x52
                  ) + (
                  x53 = p2←v3528.f1,  *(float*)&x53
                  )) * (
                  x54 = (*  (ptr) &fc50 ),  *(float*)&x54
                  );
               };
SOURCE(1220, 45)
            {
               word x55;
               word x56;
               word x57;
               word x58;
               *(float*)&p←v6932.f0 = (
                  x55 = m←v6904.f0,  *(float*)&x55
                  ) + ((
                  x56 = r←v3556,  *(float*)&x56
                  ) * ((
                  x57 = p1←v3500.f0,  *(float*)&x57
                  ) - (
                  x58 = m←v6904.f0,  *(float*)&x58
                  )));
               };
            {
               word x59;
               word x60;
               word x61;
               word x62;
               *(float*)&p←v6932.f1 = (
                  x59 = m←v6904.f1,  *(float*)&x59
                  ) + ((
                  x60 = r←v3556,  *(float*)&x60
                  ) * ((
                  x61 = p1←v3500.f1,  *(float*)&x61
                  ) - (
                  x62 = m←v6904.f1,  *(float*)&x62
                  )));
               };
SOURCE(1267, 51)
            {
               word x63;
               word x64;
               word x65;
               word x66;
               *(float*)&p01←v6960.f0 = (
                  x63 = p0←v3472.f0,  *(float*)&x63
                  ) + ((
                  x64 = r←v3556,  *(float*)&x64
                  ) * ((
                  x65 = p1←v3500.f0,  *(float*)&x65
                  ) - (
                  x66 = p0←v3472.f0,  *(float*)&x66
                  )));
               };
            {
               word x67;
               word x68;
               word x69;
               word x70;
               *(float*)&p01←v6960.f1 = (
                  x67 = p0←v3472.f1,  *(float*)&x67
                  ) + ((
                  x68 = r←v3556,  *(float*)&x68
                  ) * ((
                  x69 = p1←v3500.f1,  *(float*)&x69
                  ) - (
                  x70 = p0←v3472.f1,  *(float*)&x70
                  )));
               };
SOURCE(1320, 51)
            {
               word x71;
               word x72;
               word x73;
               word x74;
               *(float*)&p21←v6988.f0 = (
                  x71 = p2←v3528.f0,  *(float*)&x71
                  ) + ((
                  x72 = r←v3556,  *(float*)&x72
                  ) * ((
                  x73 = p1←v3500.f0,  *(float*)&x73
                  ) - (
                  x74 = p2←v3528.f0,  *(float*)&x74
                  )));
               };
            {
               word x75;
               word x76;
               word x77;
               word x78;
               *(float*)&p21←v6988.f1 = (
                  x75 = p2←v3528.f1,  *(float*)&x75
                  ) + ((
                  x76 = r←v3556,  *(float*)&x76
                  ) * ((
                  x77 = p1←v3500.f1,  *(float*)&x77
                  ) - (
                  x78 = p2←v3528.f1,  *(float*)&x78
                  )));
               };
SOURCE(1373, 60)
            {
               word x79;
               word x80;
               word pd81;
               word x83;
               word x84;
               word x85;
               float tf86;
               word x87;
               float tf88;
               float tf89;
               word x91;
               float tf92;
               pd81 = (* (( (ptr) (* (( (ptr) gf←c23844)+55)/* var←c20772 */  ))+9) );
               rNew←v7016 = (
                  tf92 = FMIN(((
                        x79 = (*  (ptr) &fc21 ),  *(float*)&x79
                        ) / ((
                        x80 = (*  (ptr) &fc21 ),  *(float*)&x80
                        ) + (
                        x87 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))((
/*1*/   tf86 = (
/*1*/      x83 = (*  (ptr) &fc82 ),  *(float*)&x83
/*1*/      ) * ((
/*1*/      x84 = (*  (ptr) &fc21 ),  *(float*)&x84
/*1*/      ) - (
/*1*/      x85 = r←v3556,  *(float*)&x85
/*1*/      )),  *(word*)&tf86
/*1*/   ), pd81),  *(float*)&x87
                        ))), (
                        x91 = (*  (ptr) &fc90 ),  *(float*)&x91
                        ), tf88, tf89),  *(word*)&tf92
                  );
               };
SOURCE(1435, 40)
            (void) ConicToCurves←P60(p0←v3472, p01←v6960, p←v6932, rNew←v7016, curveTo←v3584);
SOURCE(1477, 40)
            (void) ConicToCurves←P60(p←v6932, p21←v6988, p2←v3528, rNew←v7016, curveTo←v3584);
            };
         };
      };
   }

static void ArcToConics←P120(p0←v3644, p1←v3672, p2←v3700, conicTo←v3728)
   W2 p0←v3644;
   W2 p1←v3672;
   W2 p2←v3700;
   word conicTo←v3728;
   {
   register ptr gf←c23876 =  (ptr) &globalframe;
   /* ArcToConics: */ 
SOURCE(1526, 2691)
SOURCE(1690, 2527)
   {
      word x93;
      word x94;
      word x95;
      word x96;
      if ( ( ((
         x93 = p0←v3644.f0,  *(float*)&x93
         ) == (
         x94 = p2←v3700.f0,  *(float*)&x94
         )) ? ((
         x95 = p0←v3644.f1,  *(float*)&x95
         ) == (
         x96 = p2←v3700.f1,  *(float*)&x96
         )) : 0 ) ) {
SOURCE(1730, 368)
         {
            W2 c←v7236;
            W2 v←v7264;
            W2 p←v7292;
            word r←v7320;
SOURCE(1732, 43)
            {
               word x97;
               word x98;
               word x99;
               *(float*)&c←v7236.f0 = ((
                  x97 = p0←v3644.f0,  *(float*)&x97
                  ) + (
                  x98 = p1←v3672.f0,  *(float*)&x98
                  )) * (
                  x99 = (*  (ptr) &fc50 ),  *(float*)&x99
                  );
               };
            {
               word x100;
               word x101;
               word x102;
               *(float*)&c←v7236.f1 = ((
                  x100 = p0←v3644.f1,  *(float*)&x100
                  ) + (
                  x101 = p1←v3672.f1,  *(float*)&x101
                  )) * (
                  x102 = (*  (ptr) &fc50 ),  *(float*)&x102
                  );
               };
SOURCE(1801, 29)
            {
               word x103;
               word x104;
               *(float*)&v←v7264.f0 = (
                  x103 = p0←v3644.f0,  *(float*)&x103
                  ) - (
                  x104 = c←v7236.f0,  *(float*)&x104
                  );
               };
            {
               word x105;
               word x106;
               *(float*)&v←v7264.f1 = (
                  x105 = p0←v3644.f1,  *(float*)&x105
                  ) - (
                  x106 = c←v7236.f1,  *(float*)&x106
                  );
               };
SOURCE(1860, 20)
            {
               word x107;
               *(float*)&p←v7292.f0 =  - (
                  x107 = v←v7264.f1,  *(float*)&x107
                  );
               };
            p←v7292.f1 = v←v7264.f0;
SOURCE(1910, 31)
            {
               word pd108;
               word x109;
               word x110;
               pd108 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+9) );
               *(float*)&r←v7320 = (
                  x109 = (word) ( *( (fPt) ((*  (ptr) pd108 ))))((*  (ptr) (&fc82) ), pd108),  *(float*)&x109
                  ) - (
                  x110 = (*  (ptr) &fc21 ),  *(float*)&x110
                  );
               };
SOURCE(1978, 31)
            {
               W2 var←c20900;
               W2 var←c20964;
               {
                  word pd111;
                  pd111 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+4) );
                  (void) ( *( (fPt) ((*  (ptr) pd111 ))))((word) &var←c20900, p0←v3644, p←v7292, pd111);
                  };
               {
                  word pd112;
                  pd112 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+4) );
                  (void) ( *( (fPt) ((*  (ptr) pd112 ))))((word) &var←c20964, c←v7236, p←v7292, pd112);
                  };
               (void) ( *( (fPt) ((*  (ptr) conicTo←v3728 ))))(var←c20900, var←c20964, r←v7320, conicTo←v3728);
               };
SOURCE(2011, 25)
            {
               W2 var←c20996;
               {
                  word pd113;
                  pd113 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+4) );
                  (void) ( *( (fPt) ((*  (ptr) pd113 ))))((word) &var←c20996, p1←v3672, p←v7292, pd113);
                  };
               (void) ( *( (fPt) ((*  (ptr) conicTo←v3728 ))))(var←c20996, p1←v3672, r←v7320, conicTo←v3728);
               };
SOURCE(2038, 31)
            {
               W2 var←c21028;
               W2 var←c21060;
               {
                  word pd114;
                  pd114 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd114 ))))((word) &var←c21028, p1←v3672, p←v7292, pd114);
                  };
               {
                  word pd115;
                  pd115 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd115 ))))((word) &var←c21060, c←v7236, p←v7292, pd115);
                  };
               (void) ( *( (fPt) ((*  (ptr) conicTo←v3728 ))))(var←c21028, var←c21060, r←v7320, conicTo←v3728);
               };
SOURCE(2071, 25)
            {
               W2 var←c21092;
               {
                  word pd116;
                  pd116 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd116 ))))((word) &var←c21092, p2←v3700, p←v7292, pd116);
                  };
               (void) ( *( (fPt) ((*  (ptr) conicTo←v3728 ))))(var←c21092, p2←v3700, r←v7320, conicTo←v3728);
               };
            };
         }
      else {
SOURCE(2105, 2123)
         {
            word sgn←v7364;
            W2 var←c21124;
            W2 var←c21156;
            word distProd←v7392;
SOURCE(2107, 68)
            {
               word pd119;
               word x120;
               word x121;
               {
                  word pd117;
                  pd117 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd117 ))))((word) &var←c21124, p1←v3672, p0←v3644, pd117);
                  };
               {
                  word pd118;
                  pd118 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd118 ))))((word) &var←c21156, p2←v3700, p0←v3644, pd118);
                  };
               pd119 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+20) );
               if (((
                  x120 = (word) ( *( (fPt) ((*  (ptr) pd119 ))))(var←c21124, var←c21156, pd119),  *(float*)&x120
                  ) >= (
                  x121 = (*  (ptr) &fc18 ),  *(float*)&x121
                  ))) {
                  sgn←v7364 = (*  (ptr) &fc21 );
                  }
               else {
                  sgn←v7364 = (*  (ptr) &fc122 );
                  };
               };
SOURCE(2177, 60)
            {
               word var←c21188;
               {
                  W2 var←c21220;
                  word var←c0332;
                  W2 var←c21252;
                  {
                     word pd123;
                     pd123 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd123 ))))((word) &var←c21220, p0←v3644, p1←v3672, pd123);
                     };
                  {
                     word pd124;
                     pd124 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+22) );
                     var←c0332 = (word) ( *( (fPt) ((*  (ptr) pd124 ))))(var←c21220, pd124);
                     };
                  {
                     word pd125;
                     pd125 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd125 ))))((word) &var←c21252, p2←v3700, p1←v3672, pd125);
                     };
                  {
                     word x126;
                     word pd127;
                     word x128;
                     pd127 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+22) );
                     *(float*)&var←c21188 = (
                        x126 = var←c0332,  *(float*)&x126
                        ) * (
                        x128 = (word) ( *( (fPt) ((*  (ptr) pd127 ))))(var←c21252, pd127),  *(float*)&x128
                        );
                     };
                  };
               {
                  word pd129;
                  pd129 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+9) );
                  distProd←v7392 = (word) ( *( (fPt) ((*  (ptr) pd129 ))))(var←c21188, pd129);
                  };
               };
SOURCE(2239, 1978)
            {
               word x130;
               word x131;
               if (((
                  x130 = distProd←v7392,  *(float*)&x130
                  ) == (
                  x131 = (*  (ptr) &fc18 ),  *(float*)&x131
                  ))) {
SOURCE(2263, 18)
                  (void) ( *( (fPt) ((*  (ptr) conicTo←v3728 ))))(p1←v3672, p2←v3700, (*  (ptr) &fc50 ), conicTo←v3728);
                  }
               else {
SOURCE(2290, 1935)
                  {
                     word dot←v7436;
                     word cos←v7464;
SOURCE(2292, 39)
                     {
                        W2 var←c21284;
                        W2 var←c21316;
                        {
                           word pd132;
                           pd132 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                           (void) ( *( (fPt) ((*  (ptr) pd132 ))))((word) &var←c21284, p0←v3644, p1←v3672, pd132);
                           };
                        {
                           word pd133;
                           pd133 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
                           (void) ( *( (fPt) ((*  (ptr) pd133 ))))((word) &var←c21316, p2←v3700, p1←v3672, pd133);
                           };
                        {
                           word pd134;
                           pd134 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+18) );
                           dot←v7436 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))(var←c21284, var←c21316, pd134);
                           };
                        };
SOURCE(2333, 25)
                     {
                        word x135;
                        word x136;
                        *(float*)&cos←v7464 = ( - (
                           x135 = dot←v7436,  *(float*)&x135
                           )) / (
                           x136 = distProd←v7392,  *(float*)&x136
                           );
                        };
SOURCE(2360, 1857)
                     {
                        word x137;
                        word x138;
                        if (((
                           x137 = cos←v7464,  *(float*)&x137
                           ) >= (
                           x138 = (*  (ptr) &fc50 ),  *(float*)&x138
                           ))) {
SOURCE(2378, 189)
                           {
/*1*/   word tan←v7508;
/*1*/   W2 m←v7536;
/*1*/   W2 p←v7564;
/*1*/   word r←v7592;
SOURCE(2380, 45)
/*1*/   {
/*1*/      W2 var←c21348;
/*1*/      W2 var←c21380;
/*1*/      word var←c0333;
/*1*/      {
/*1*/         word pd139;
/*1*/         pd139 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
/*1*/         (void) ( *( (fPt) ((*  (ptr) pd139 ))))((word) &var←c21348, p0←v3644, p1←v3672, pd139);
/*1*/         };
/*1*/      {
/*1*/         word pd140;
/*1*/         pd140 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
/*1*/         (void) ( *( (fPt) ((*  (ptr) pd140 ))))((word) &var←c21380, p2←v3700, p1←v3672, pd140);
/*1*/         };
/*1*/      {
/*1*/         word pd141;
/*1*/         pd141 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+20) );
/*1*/         var←c0333 = (word) ( *( (fPt) ((*  (ptr) pd141 ))))(var←c21348, var←c21380, pd141);
/*1*/         };
/*1*/      {
/*1*/         word x142;
/*1*/         word x143;
/*1*/         *(float*)&tan←v7508 = (
/*1*/            x142 = var←c0333,  *(float*)&x142
/*1*/            ) / (
/*1*/            x143 = dot←v7436,  *(float*)&x143
/*1*/            );
/*1*/         };
/*1*/      };
SOURCE(2427, 43)
/*1*/   {
/*1*/      word x144;
/*1*/      word x145;
/*1*/      word x146;
/*1*/      *(float*)&m←v7536.f0 = ((
/*1*/         x144 = p0←v3644.f0,  *(float*)&x144
/*1*/         ) + (
/*1*/         x145 = p2←v3700.f0,  *(float*)&x145
/*1*/         )) * (
/*1*/         x146 = (*  (ptr) &fc50 ),  *(float*)&x146
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x147;
/*1*/      word x148;
/*1*/      word x149;
/*1*/      *(float*)&m←v7536.f1 = ((
/*1*/         x147 = p0←v3644.f1,  *(float*)&x147
/*1*/         ) + (
/*1*/         x148 = p2←v3700.f1,  *(float*)&x148
/*1*/         )) * (
/*1*/         x149 = (*  (ptr) &fc50 ),  *(float*)&x149
/*1*/         );
/*1*/      };
SOURCE(2472, 49)
/*1*/   {
/*1*/      word x150;
/*1*/      word x151;
/*1*/      word x152;
/*1*/      word x153;
/*1*/      *(float*)&p←v7564.f0 = ((
/*1*/         x150 = tan←v7508,  *(float*)&x150
/*1*/         ) * ((
/*1*/         x151 = m←v7536.f1,  *(float*)&x151
/*1*/         ) - (
/*1*/         x152 = p0←v3644.f1,  *(float*)&x152
/*1*/         ))) + (
/*1*/         x153 = m←v7536.f0,  *(float*)&x153
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x154;
/*1*/      word x155;
/*1*/      word x156;
/*1*/      word x157;
/*1*/      *(float*)&p←v7564.f1 = ((
/*1*/         x154 = tan←v7508,  *(float*)&x154
/*1*/         ) * ((
/*1*/         x155 = p0←v3644.f0,  *(float*)&x155
/*1*/         ) - (
/*1*/         x156 = m←v7536.f0,  *(float*)&x156
/*1*/         ))) + (
/*1*/         x157 = m←v7536.f1,  *(float*)&x157
/*1*/         );
/*1*/      };
SOURCE(2523, 23)
/*1*/   {
/*1*/      word x158;
/*1*/      word x159;
/*1*/      word x160;
/*1*/      *(float*)&r←v7592 = (
/*1*/         x158 = cos←v7464,  *(float*)&x158
/*1*/         ) / ((
/*1*/         x159 = (*  (ptr) &fc21 ),  *(float*)&x159
/*1*/         ) + (
/*1*/         x160 = cos←v7464,  *(float*)&x160
/*1*/         ));
/*1*/      };
SOURCE(2548, 17)
/*1*/   (void) ( *( (fPt) ((*  (ptr) conicTo←v3728 ))))(p←v7564, p2←v3700, r←v7592, conicTo←v3728);
/*1*/   };
                           }
                        else {
SOURCE(2574, 1648)
                           {
/*1*/   W2 m1←v7636;
/*1*/   W2 v1←v7664;
/*1*/   word a1←v7692;
/*1*/   word b1←v7720;
/*1*/   word c1←v7748;
/*1*/   W2 m2←v7776;
/*1*/   W2 v2←v7804;
/*1*/   word a2←v7832;
/*1*/   word b2←v7860;
/*1*/   word c2←v7888;
/*1*/   word det←v7916;
/*1*/   W2 center←v7972;
/*1*/   word theta0←v8000;
/*1*/   word theta1←v8028;
/*1*/   word theta2←v8056;
SOURCE(2576, 44)
/*1*/   {
/*1*/      word x161;
/*1*/      word x162;
/*1*/      word x163;
/*1*/      *(float*)&m1←v7636.f0 = ((
/*1*/         x161 = p0←v3644.f0,  *(float*)&x161
/*1*/         ) + (
/*1*/         x162 = p1←v3672.f0,  *(float*)&x162
/*1*/         )) * (
/*1*/         x163 = (*  (ptr) &fc50 ),  *(float*)&x163
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x164;
/*1*/      word x165;
/*1*/      word x166;
/*1*/      *(float*)&m1←v7636.f1 = ((
/*1*/         x164 = p0←v3644.f1,  *(float*)&x164
/*1*/         ) + (
/*1*/         x165 = p1←v3672.f1,  *(float*)&x165
/*1*/         )) * (
/*1*/         x166 = (*  (ptr) &fc50 ),  *(float*)&x166
/*1*/         );
/*1*/      };
SOURCE(2659, 32)
/*1*/   {
/*1*/      word x167;
/*1*/      word x168;
/*1*/      *(float*)&v1←v7664.f0 = (
/*1*/         x167 = m1←v7636.f1,  *(float*)&x167
/*1*/         ) - (
/*1*/         x168 = p0←v3644.f1,  *(float*)&x168
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x169;
/*1*/      word x170;
/*1*/      *(float*)&v1←v7664.f1 = (
/*1*/         x169 = p0←v3644.f0,  *(float*)&x169
/*1*/         ) - (
/*1*/         x170 = m1←v7636.f0,  *(float*)&x170
/*1*/         );
/*1*/      };
SOURCE(2739, 15)
/*1*/   a1←v7692 = v1←v7664.f1;
SOURCE(2756, 16)
/*1*/   {
/*1*/      word x171;
/*1*/      *(float*)&b1←v7720 =  - (
/*1*/         x171 = v1←v7664.f0,  *(float*)&x171
/*1*/         );
/*1*/      };
SOURCE(2774, 26)
/*1*/   {
/*1*/      word x172;
/*1*/      word x173;
/*1*/      word x174;
/*1*/      word x175;
/*1*/      *(float*)&c1←v7748 = ((
/*1*/         x172 = a1←v7692,  *(float*)&x172
/*1*/         ) * (
/*1*/         x173 = m1←v7636.f0,  *(float*)&x173
/*1*/         )) + ((
/*1*/         x174 = b1←v7720,  *(float*)&x174
/*1*/         ) * (
/*1*/         x175 = m1←v7636.f1,  *(float*)&x175
/*1*/         ));
/*1*/      };
SOURCE(2802, 44)
/*1*/   {
/*1*/      word x176;
/*1*/      word x177;
/*1*/      word x178;
/*1*/      *(float*)&m2←v7776.f0 = ((
/*1*/         x176 = p0←v3644.f0,  *(float*)&x176
/*1*/         ) + (
/*1*/         x177 = p2←v3700.f0,  *(float*)&x177
/*1*/         )) * (
/*1*/         x178 = (*  (ptr) &fc50 ),  *(float*)&x178
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x179;
/*1*/      word x180;
/*1*/      word x181;
/*1*/      *(float*)&m2←v7776.f1 = ((
/*1*/         x179 = p0←v3644.f1,  *(float*)&x179
/*1*/         ) + (
/*1*/         x180 = p2←v3700.f1,  *(float*)&x180
/*1*/         )) * (
/*1*/         x181 = (*  (ptr) &fc50 ),  *(float*)&x181
/*1*/         );
/*1*/      };
SOURCE(2848, 32)
/*1*/   {
/*1*/      word x182;
/*1*/      word x183;
/*1*/      *(float*)&v2←v7804.f0 = (
/*1*/         x182 = m2←v7776.f1,  *(float*)&x182
/*1*/         ) - (
/*1*/         x183 = p0←v3644.f1,  *(float*)&x183
/*1*/         );
/*1*/      };
/*1*/   {
/*1*/      word x184;
/*1*/      word x185;
/*1*/      *(float*)&v2←v7804.f1 = (
/*1*/         x184 = p0←v3644.f0,  *(float*)&x184
/*1*/         ) - (
/*1*/         x185 = m2←v7776.f0,  *(float*)&x185
/*1*/         );
/*1*/      };
SOURCE(2882, 15)
/*1*/   a2←v7832 = v2←v7804.f1;
SOURCE(2899, 16)
/*1*/   {
/*1*/      word x186;
/*1*/      *(float*)&b2←v7860 =  - (
/*1*/         x186 = v2←v7804.f0,  *(float*)&x186
/*1*/         );
/*1*/      };
SOURCE(2917, 26)
/*1*/   {
/*1*/      word x187;
/*1*/      word x188;
/*1*/      word x189;
/*1*/      word x190;
/*1*/      *(float*)&c2←v7888 = ((
/*1*/         x187 = a2←v7832,  *(float*)&x187
/*1*/         ) * (
/*1*/         x188 = m2←v7776.f0,  *(float*)&x188
/*1*/         )) + ((
/*1*/         x189 = b2←v7860,  *(float*)&x189
/*1*/         ) * (
/*1*/         x190 = m2←v7776.f1,  *(float*)&x190
/*1*/         ));
/*1*/      };
SOURCE(2945, 23)
/*1*/   {
/*1*/      word x191;
/*1*/      word x192;
/*1*/      word x193;
/*1*/      word x194;
/*1*/      *(float*)&det←v7916 = ((
/*1*/         x191 = a1←v7692,  *(float*)&x191
/*1*/         ) * (
/*1*/         x192 = b2←v7860,  *(float*)&x192
/*1*/         )) - ((
/*1*/         x193 = a2←v7832,  *(float*)&x193
/*1*/         ) * (
/*1*/         x194 = b1←v7720,  *(float*)&x194
/*1*/         ));
/*1*/      };
SOURCE(3357, 22)
SOURCE(3008, 344)
/*1*/   {
/*1*/      word x195;
/*1*/      word x196;
/*1*/      float tf198;
/*1*/      word x199;
/*1*/      float tf200;
/*1*/      word x201;
/*1*/      word x202;
/*1*/      word x204;
/*1*/      if (((
/*1*/         x195 = det←v7916,  *(float*)&x195
/*1*/         ) == (
/*1*/         x196 = (*  (ptr) &fc18 ),  *(float*)&x196
/*1*/         ))) { goto then0197;};
/*1*/      if ((FABS((
/*1*/            x199 = det←v7916,  *(float*)&x199
/*1*/            ), tf198) < FABS(((
/*1*/            x201 = a1←v7692,  *(float*)&x201
/*1*/            ) * (
/*1*/            x202 = b2←v7860,  *(float*)&x202
/*1*/            )), tf200) * (
/*1*/         x204 = (*  (ptr) &fc203 ),  *(float*)&x204
/*1*/         ))) {
/*1*/         then0197: ;
/*1*/         {
/*1*/            W2 v←v8364;
/*1*/            word m←v8392;
/*1*/            W2 var←c21636;
/*1*/            word var←c0334;
/*1*/            {
/*1*/               word pd205;
/*1*/               pd205 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+4) );
/*1*/               (void) ( *( (fPt) ((*  (ptr) pd205 ))))((word) &v←v8364, v1←v7664, v2←v7804, pd205);
/*1*/               };
SOURCE(3091, 59)
/*1*/            {
/*1*/               word x208;
/*1*/               word x209;
/*1*/               word x210;
/*1*/               word x211;
/*1*/               word x212;
/*1*/               {
/*1*/                  word pd206;
/*1*/                  pd206 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
/*1*/                  (void) ( *( (fPt) ((*  (ptr) pd206 ))))((word) &var←c21636, v1←v7664, v2←v7804, pd206);
/*1*/                  };
/*1*/               {
/*1*/                  word pd207;
/*1*/                  pd207 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+22) );
/*1*/                  var←c0334 = (word) ( *( (fPt) ((*  (ptr) pd207 ))))(var←c21636, pd207);
/*1*/                  };
/*1*/               if (((
/*1*/                  x208 = var←c0334,  *(float*)&x208
/*1*/                  ) > ((
/*1*/                  x209 = v←v8364.f0,  *(float*)&x209
/*1*/                  ) * (
/*1*/                  x210 = v←v8364.f0,  *(float*)&x210
/*1*/                  )) + ((
/*1*/                  x211 = v←v8364.f1,  *(float*)&x211
/*1*/                  ) * (
/*1*/                  x212 = v←v8364.f1,  *(float*)&x212
/*1*/                  )))) {
SOURCE(3135, 15)
/*1*/                  {
/*1*/                     word pd213;
/*1*/                     pd213 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
/*1*/                     (void) ( *( (fPt) ((*  (ptr) pd213 ))))((word) &v←v8364, v1←v7664, v2←v7804, pd213);
/*1*/                     };
/*1*/                  };
/*1*/               };
SOURCE(3200, 42)
/*1*/            {
/*1*/               word x215;
/*1*/               word pd216;
/*1*/               word x217;
/*1*/               word x218;
/*1*/               word x219;
/*1*/               word x220;
/*1*/               float tf221;
/*1*/               word x222;
/*1*/               pd216 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+9) );
/*1*/               *(float*)&m←v8392 = (
/*1*/                  x215 = (*  (ptr) &fc214 ),  *(float*)&x215
/*1*/                  ) / (
/*1*/                  x222 = (word) ( *( (fPt) ((*  (ptr) pd216 ))))((
/*1*/                        tf221 = ((
/*1*/                           x217 = v←v8364.f0,  *(float*)&x217
/*1*/                           ) * (
/*1*/                           x218 = v←v8364.f0,  *(float*)&x218
/*1*/                           )) + ((
/*1*/                           x219 = v←v8364.f1,  *(float*)&x219
/*1*/                           ) * (
/*1*/                           x220 = v←v8364.f1,  *(float*)&x220
/*1*/                           )),  *(word*)&tf221
/*1*/                        ), pd216),  *(float*)&x222
/*1*/                  );
/*1*/               };
SOURCE(3244, 27)
/*1*/            {
/*1*/               word x223;
/*1*/               word x224;
/*1*/               word x225;
/*1*/               *(float*)&p1←v3672.f0 = ((
/*1*/                  x223 = (*  (ptr) &fc82 ),  *(float*)&x223
/*1*/                  ) * (
/*1*/                  x224 = m←v8392,  *(float*)&x224
/*1*/                  )) * (
/*1*/                  x225 = v←v8364.f0,  *(float*)&x225
/*1*/                  );
/*1*/               };
/*1*/            {
/*1*/               word x226;
/*1*/               word x227;
/*1*/               word x228;
/*1*/               *(float*)&p1←v3672.f1 = ((
/*1*/                  x226 = (*  (ptr) &fc82 ),  *(float*)&x226
/*1*/                  ) * (
/*1*/                  x227 = m←v8392,  *(float*)&x227
/*1*/                  )) * (
/*1*/                  x228 = v←v8364.f1,  *(float*)&x228
/*1*/                  );
/*1*/               };
SOURCE(3273, 23)
/*1*/            {
/*1*/               word x229;
/*1*/               word x230;
/*1*/               *(float*)&center←v7972.f0 = (
/*1*/                  x229 = m←v8392,  *(float*)&x229
/*1*/                  ) * (
/*1*/                  x230 = v←v8364.f0,  *(float*)&x230
/*1*/                  );
/*1*/               };
/*1*/            {
/*1*/               word x231;
/*1*/               word x232;
/*1*/               *(float*)&center←v7972.f1 = (
/*1*/                  x231 = m←v8392,  *(float*)&x231
/*1*/                  ) * (
/*1*/                  x232 = v←v8364.f1,  *(float*)&x232
/*1*/                  );
/*1*/               };
/*1*/            };
/*1*/         }
/*1*/      else {
SOURCE(3305, 47)
/*1*/         {
/*1*/            word x233;
/*1*/            word x234;
/*1*/            word x235;
/*1*/            word x236;
/*1*/            word x237;
/*1*/            *(float*)&center←v7972.f0 = (((
/*1*/               x233 = c1←v7748,  *(float*)&x233
/*1*/               ) * (
/*1*/               x234 = b2←v7860,  *(float*)&x234
/*1*/               )) - ((
/*1*/               x235 = c2←v7888,  *(float*)&x235
/*1*/               ) * (
/*1*/               x236 = b1←v7720,  *(float*)&x236
/*1*/               ))) / (
/*1*/               x237 = det←v7916,  *(float*)&x237
/*1*/               );
/*1*/            };
/*1*/         {
/*1*/            word x238;
/*1*/            word x239;
/*1*/            word x240;
/*1*/            word x241;
/*1*/            word x242;
/*1*/            *(float*)&center←v7972.f1 = (((
/*1*/               x238 = a1←v7692,  *(float*)&x238
/*1*/               ) * (
/*1*/               x239 = c2←v7888,  *(float*)&x239
/*1*/               )) - ((
/*1*/               x240 = a2←v7832,  *(float*)&x240
/*1*/               ) * (
/*1*/               x241 = c1←v7748,  *(float*)&x241
/*1*/               ))) / (
/*1*/               x242 = det←v7916,  *(float*)&x242
/*1*/               );
/*1*/            };
/*1*/         };
/*1*/      };
SOURCE(3381, 62)
/*1*/   {
/*1*/      word pd243;
/*1*/      word x244;
/*1*/      word x245;
/*1*/      float tf246;
/*1*/      word x247;
/*1*/      word x248;
/*1*/      float tf249;
/*1*/      pd243 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+17) );
/*1*/      theta0←v8000 = (word) ( *( (fPt) ((*  (ptr) pd243 ))))((
/*1*/            tf246 = (
/*1*/               x244 = p0←v3644.f1,  *(float*)&x244
/*1*/               ) - (
/*1*/               x245 = center←v7972.f1,  *(float*)&x245
/*1*/               ),  *(word*)&tf246
/*1*/            ), (
/*1*/            tf249 = (
/*1*/               x247 = p0←v3644.f0,  *(float*)&x247
/*1*/               ) - (
/*1*/               x248 = center←v7972.f0,  *(float*)&x248
/*1*/               ),  *(word*)&tf249
/*1*/            ), pd243);
/*1*/      };
SOURCE(3445, 62)
/*1*/   {
/*1*/      word pd250;
/*1*/      word x251;
/*1*/      word x252;
/*1*/      float tf253;
/*1*/      word x254;
/*1*/      word x255;
/*1*/      float tf256;
/*1*/      pd250 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+17) );
/*1*/      theta1←v8028 = (word) ( *( (fPt) ((*  (ptr) pd250 ))))((
/*1*/            tf253 = (
/*1*/               x251 = p1←v3672.f1,  *(float*)&x251
/*1*/               ) - (
/*1*/               x252 = center←v7972.f1,  *(float*)&x252
/*1*/               ),  *(word*)&tf253
/*1*/            ), (
/*1*/            tf256 = (
/*1*/               x254 = p1←v3672.f0,  *(float*)&x254
/*1*/               ) - (
/*1*/               x255 = center←v7972.f0,  *(float*)&x255
/*1*/               ),  *(word*)&tf256
/*1*/            ), pd250);
/*1*/      };
SOURCE(3509, 62)
/*1*/   {
/*1*/      word pd257;
/*1*/      word x258;
/*1*/      word x259;
/*1*/      float tf260;
/*1*/      word x261;
/*1*/      word x262;
/*1*/      float tf263;
/*1*/      pd257 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+17) );
/*1*/      theta2←v8056 = (word) ( *( (fPt) ((*  (ptr) pd257 ))))((
/*1*/            tf260 = (
/*1*/               x258 = p2←v3700.f1,  *(float*)&x258
/*1*/               ) - (
/*1*/               x259 = center←v7972.f1,  *(float*)&x259
/*1*/               ),  *(word*)&tf260
/*1*/            ), (
/*1*/            tf263 = (
/*1*/               x261 = p2←v3700.f0,  *(float*)&x261
/*1*/               ) - (
/*1*/               x262 = center←v7972.f0,  *(float*)&x262
/*1*/               ),  *(word*)&tf263
/*1*/            ), pd257);
/*1*/      };
SOURCE(3573, 58)
/*1*/   lab←L100003: ;
/*1*/   {
/*1*/      word x264;
/*1*/      word x265;
/*1*/      word x266;
/*1*/      if (((
/*1*/         x264 = theta1←v8028,  *(float*)&x264
/*1*/         ) - (
/*1*/         x265 = theta0←v8000,  *(float*)&x265
/*1*/         ) < (
/*1*/         x266 = (*  (ptr) &fc18 ),  *(float*)&x266
/*1*/         ))) {
/*1*/         }
/*1*/      else {
/*1*/         goto lab←L100001;
/*1*/         };
/*1*/      };
SOURCE(3602, 29)
/*1*/   {
/*1*/      word x267;
/*1*/      word x269;
/*1*/      *(float*)&theta1←v8028 = (
/*1*/         x267 = theta1←v8028,  *(float*)&x267
/*1*/         ) + (
/*1*/         x269 = (*  (ptr) &fc268 ),  *(float*)&x269
/*1*/         );
/*1*/      };
/*1*/   goto lab←L100003;
/*1*/   lab←L100001: ;
SOURCE(3633, 58)
/*1*/   lab←L100006: ;
/*1*/   {
/*1*/      word x270;
/*1*/      word x271;
/*1*/      word x272;
/*1*/      if (((
/*1*/         x270 = theta2←v8056,  *(float*)&x270
/*1*/         ) - (
/*1*/         x271 = theta0←v8000,  *(float*)&x271
/*1*/         ) < (
/*1*/         x272 = (*  (ptr) &fc18 ),  *(float*)&x272
/*1*/         ))) {
/*1*/         }
/*1*/      else {
/*1*/         goto lab←L100004;
/*1*/         };
/*1*/      };
SOURCE(3662, 29)
/*1*/   {
/*1*/      word x273;
/*1*/      word x274;
/*1*/      *(float*)&theta2←v8056 = (
/*1*/         x273 = theta2←v8056,  *(float*)&x273
/*1*/         ) + (
/*1*/         x274 = (*  (ptr) &fc268 ),  *(float*)&x274
/*1*/         );
/*1*/      };
/*1*/   goto lab←L100006;
/*1*/   lab←L100004: ;
SOURCE(3693, 69)
/*1*/   {
/*1*/      word x275;
/*1*/      word x276;
/*1*/      if (((
/*1*/         x275 = theta2←v8056,  *(float*)&x275
/*1*/         ) < (
/*1*/         x276 = theta1←v8028,  *(float*)&x276
/*1*/         ))) {
SOURCE(3718, 21)
/*1*/         {
/*1*/            word x277;
/*1*/            word x278;
/*1*/            *(float*)&theta1←v8028 = (
/*1*/               x277 = theta1←v8028,  *(float*)&x277
/*1*/               ) - (
/*1*/               x278 = (*  (ptr) &fc268 ),  *(float*)&x278
/*1*/               );
/*1*/            };
SOURCE(3741, 21)
/*1*/         {
/*1*/            word x279;
/*1*/            word x280;
/*1*/            *(float*)&theta2←v8056 = (
/*1*/               x279 = theta2←v8056,  *(float*)&x279
/*1*/               ) - (
/*1*/               x280 = (*  (ptr) &fc268 ),  *(float*)&x280
/*1*/               );
/*1*/            };
/*1*/         };
/*1*/      };
SOURCE(3765, 452)
/*1*/   {
/*1*/      word x281;
/*1*/      word x282;
/*1*/      word x283;
/*1*/      word x284;
/*1*/      word x285;
/*1*/      if ((((
/*1*/         x281 = theta1←v8028,  *(float*)&x281
/*1*/         ) - (
/*1*/         x282 = theta0←v8000,  *(float*)&x282
/*1*/         )) * ((
/*1*/         x283 = theta2←v8056,  *(float*)&x283
/*1*/         ) - (
/*1*/         x284 = theta0←v8000,  *(float*)&x284
/*1*/         )) < (
/*1*/         x285 = (*  (ptr) &fc18 ),  *(float*)&x285
/*1*/         ))) {
SOURCE(3814, 11)
/*1*/         (void) XR←RaiseUnnamedError();
/*1*/         }
/*1*/      else {
SOURCE(3825, 394)
/*1*/         {
/*1*/            word radius←v8160;
/*1*/            W2 pMid←v8216;
SOURCE(3827, 48)
/*1*/            {
/*1*/               word var←c21732;
/*1*/               {
/*1*/                  W2 var←c21764;
/*1*/                  {
/*1*/                     word pd286;
/*1*/                     pd286 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+6) );
/*1*/                     (void) ( *( (fPt) ((*  (ptr) pd286 ))))((word) &var←c21764, center←v7972, p0←v3644, pd286);
/*1*/                     };
/*1*/                  {
/*1*/                     word pd287;
/*1*/                     pd287 = (* (( (ptr) (* (( (ptr) gf←c23876)+56)/* var←c20932 */  ))+22) );
/*1*/                     var←c21732 = (word) ( *( (fPt) ((*  (ptr) pd287 ))))(var←c21764, pd287);
/*1*/                     };
/*1*/                  };
/*1*/               {
/*1*/                  word pd288;
/*1*/                  pd288 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+9) );
/*1*/                  radius←v8160 = (word) ( *( (fPt) ((*  (ptr) pd288 ))))(var←c21732, pd288);
/*1*/                  };
/*1*/               };
SOURCE(4027, 46)
/*1*/            {
/*1*/               word theta←v19764;
/*1*/               {
/*1*/                  word x289;
/*1*/                  word x290;
/*1*/                  word x291;
/*1*/                  *(float*)&theta←v19764 = ((
/*1*/                     x289 = theta0←v8000,  *(float*)&x289
/*1*/                     ) + (
/*1*/                     x290 = theta2←v8056,  *(float*)&x290
/*1*/                     )) * (
/*1*/                     x291 = (*  (ptr) &fc50 ),  *(float*)&x291
/*1*/                     );
/*1*/                  };
SOURCE(3936, 88)
/*1*/               {
/*1*/                  W2 var←c21828;
/*1*/                  {
/*1*/                     word x292;
/*1*/                     word x293;
/*1*/                     word pd294;
/*1*/                     word x295;
/*1*/                     pd294 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+13) );
/*1*/                     *(float*)&var←c21828.f0 = (
/*1*/                        x292 = center←v7972.f0,  *(float*)&x292
/*1*/                        ) + ((
/*1*/                        x293 = radius←v8160,  *(float*)&x293
/*1*/                        ) * (
/*1*/                        x295 = (word) ( *( (fPt) ((*  (ptr) pd294 ))))(theta←v19764, pd294),  *(float*)&x295
/*1*/                        ));
/*1*/                     };
/*1*/                  {
/*1*/                     word x296;
/*1*/                     word x297;
/*1*/                     word pd298;
/*1*/                     word x299;
/*1*/                     pd298 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+11) );
/*1*/                     *(float*)&var←c21828.f1 = (
/*1*/                        x296 = center←v7972.f1,  *(float*)&x296
/*1*/                        ) + ((
/*1*/                        x297 = radius←v8160,  *(float*)&x297
/*1*/                        ) * (
/*1*/                        x299 = (word) ( *( (fPt) ((*  (ptr) pd298 ))))(theta←v19764, pd298),  *(float*)&x299
/*1*/                        ));
/*1*/                     };
/*1*/                  pMid←v8216 = var←c21828;
/*1*/                  };
/*1*/               };
SOURCE(4075, 70)
/*1*/            {
/*1*/               W2 var←c21860;
/*1*/               {
/*1*/                  W2 var←c21892;
/*1*/                  word theta←v19716;
/*1*/                  {
/*1*/                     word x301;
/*1*/                     word x302;
/*1*/                     word x304;
/*1*/                     word x305;
/*1*/                     *(float*)&theta←v19716 = ((
/*1*/                        x301 = (*  (ptr) &fc300 ),  *(float*)&x301
/*1*/                        ) * (
/*1*/                        x302 = theta0←v8000,  *(float*)&x302
/*1*/                        )) + ((
/*1*/                        x304 = (*  (ptr) &fc303 ),  *(float*)&x304
/*1*/                        ) * (
/*1*/                        x305 = theta2←v8056,  *(float*)&x305
/*1*/                        ));
/*1*/                     };
SOURCE(3936, 88)
/*1*/                  {
/*1*/                     W2 var←c21924;
/*1*/                     {
/*1*/                        word x306;
/*1*/                        word x307;
/*1*/                        word pd308;
/*1*/                        word x309;
/*1*/                        pd308 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+13) );
/*1*/                        *(float*)&var←c21924.f0 = (
/*1*/                           x306 = center←v7972.f0,  *(float*)&x306
/*1*/                           ) + ((
/*1*/                           x307 = radius←v8160,  *(float*)&x307
/*1*/                           ) * (
/*1*/                           x309 = (word) ( *( (fPt) ((*  (ptr) pd308 ))))(theta←v19716, pd308),  *(float*)&x309
/*1*/                           ));
/*1*/                        };
/*1*/                     {
/*1*/                        word x310;
/*1*/                        word x311;
/*1*/                        word pd312;
/*1*/                        word x313;
/*1*/                        pd312 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+11) );
/*1*/                        *(float*)&var←c21924.f1 = (
/*1*/                           x310 = center←v7972.f1,  *(float*)&x310
/*1*/                           ) + ((
/*1*/                           x311 = radius←v8160,  *(float*)&x311
/*1*/                           ) * (
/*1*/                           x313 = (word) ( *( (fPt) ((*  (ptr) pd312 ))))(theta←v19716, pd312),  *(float*)&x313
/*1*/                           ));
/*1*/                        };
/*1*/                     var←c21892 = var←c21924;
/*1*/                     };
/*1*/                  var←c21860 = var←c21892;
/*1*/                  };
/*1*/               (void) ArcToConics←P120(p0←v3644, var←c21860, pMid←v8216, conicTo←v3728);
/*1*/               };
SOURCE(4147, 70)
/*1*/            {
/*1*/               W2 var←c21956;
/*1*/               {
/*1*/                  W2 var←c21988;
/*1*/                  word theta←v19668;
/*1*/                  {
/*1*/                     word x314;
/*1*/                     word x315;
/*1*/                     word x316;
/*1*/                     word x317;
/*1*/                     *(float*)&theta←v19668 = ((
/*1*/                        x314 = (*  (ptr) &fc303 ),  *(float*)&x314
/*1*/                        ) * (
/*1*/                        x315 = theta0←v8000,  *(float*)&x315
/*1*/                        )) + ((
/*1*/                        x316 = (*  (ptr) &fc300 ),  *(float*)&x316
/*1*/                        ) * (
/*1*/                        x317 = theta2←v8056,  *(float*)&x317
/*1*/                        ));
/*1*/                     };
SOURCE(3936, 88)
/*1*/                  {
/*1*/                     W2 var←c22020;
/*1*/                     {
/*1*/                        word x318;
/*1*/                        word x319;
/*1*/                        word pd320;
/*1*/                        word x321;
/*1*/                        pd320 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+13) );
/*1*/                        *(float*)&var←c22020.f0 = (
/*1*/                           x318 = center←v7972.f0,  *(float*)&x318
/*1*/                           ) + ((
/*1*/                           x319 = radius←v8160,  *(float*)&x319
/*1*/                           ) * (
/*1*/                           x321 = (word) ( *( (fPt) ((*  (ptr) pd320 ))))(theta←v19668, pd320),  *(float*)&x321
/*1*/                           ));
/*1*/                        };
/*1*/                     {
/*1*/                        word x322;
/*1*/                        word x323;
/*1*/                        word pd324;
/*1*/                        word x325;
/*1*/                        pd324 = (* (( (ptr) (* (( (ptr) gf←c23876)+55)/* var←c20772 */  ))+11) );
/*1*/                        *(float*)&var←c22020.f1 = (
/*1*/                           x322 = center←v7972.f1,  *(float*)&x322
/*1*/                           ) + ((
/*1*/                           x323 = radius←v8160,  *(float*)&x323
/*1*/                           ) * (
/*1*/                           x325 = (word) ( *( (fPt) ((*  (ptr) pd324 ))))(theta←v19668, pd324),  *(float*)&x325
/*1*/                           ));
/*1*/                        };
/*1*/                     var←c21988 = var←c22020;
/*1*/                     };
/*1*/                  var←c21956 = var←c21988;
/*1*/                  };
/*1*/               (void) ArcToConics←P120(pMid←v8216, var←c21956, p2←v3700, conicTo←v3728);
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   }

static void Transform←P360(path←v4156, formal←c0345, formal←c0346, formal←c0347, formal←c0348, formal←c0349, formal←c0350, formal←c0351)
   word path←v4156;
   word formal←c0345;
   word formal←c0346;
   word formal←c0347;
   word formal←c0348;
   word formal←c0349;
   word formal←c0350;
   word formal←c0351;
   {
   W24 var←c23908;
   /* declaration of m←v4184 skipped */ 
   /* declaration of moveTo←v4212 skipped */ 
   /* declaration of lineTo←v4240 skipped */ 
   /* declaration of curveTo←v4268 skipped */ 
   /* declaration of conicTo←v4296 skipped */ 
   /* declaration of arcTo←v4324 skipped */ 
   /* declaration of close←v4352 skipped */ 
   /* declaration of var←c22052 skipped */ 
   /* declaration of var←c22084 skipped */ 
   /* declaration of var←c22116 skipped */ 
   /* declaration of var←c22148 skipped */ 
   /* declaration of var←c22180 skipped */ 
   /* declaration of first←v8420 skipped */ 
   /* declaration of p0←v8448 skipped */ 
   (* (( (ptr) &var←c23908)+4)/* m←v4184 */  ) = formal←c0345;
   (* (( (ptr) &var←c23908)+5)/* moveTo←v4212 */  ) = formal←c0346;
   (* (( (ptr) &var←c23908)+6)/* lineTo←v4240 */  ) = formal←c0347;
   (* (( (ptr) &var←c23908)+7)/* curveTo←v4268 */  ) = formal←c0348;
   (* (( (ptr) &var←c23908)+8)/* conicTo←v4296 */  ) = formal←c0349;
   (* (( (ptr) &var←c23908)+9)/* arcTo←v4324 */  ) = formal←c0350;
   (* (( (ptr) &var←c23908)+10)/* close←v4352 */  ) = formal←c0351;
   /* Transform: */ 
SOURCE(4484, 1512)
   {
      word tmpAddr326;
      tmpAddr326 = (word) (( (ptr) &var←c23908)+11)/* var←c22052 */ ;
      (*  (ptr) tmpAddr326 ) = ( ((word)  (fPt) TransformArcTo←P2172) );
      (* (( (ptr) tmpAddr326) + 1) ) = 1;
      };
   {
      word tmpAddr327;
      tmpAddr327 = (word) (( (ptr) &var←c23908)+13)/* var←c22084 */ ;
      (*  (ptr) tmpAddr327 ) = ( ((word)  (fPt) TransformConicTo←P2112) );
      (* (( (ptr) tmpAddr327) + 1) ) = 1;
      };
   {
      word tmpAddr328;
      tmpAddr328 = (word) (( (ptr) &var←c23908)+15)/* var←c22116 */ ;
      (*  (ptr) tmpAddr328 ) = ( ((word)  (fPt) TransformCurveTo←P2052) );
      (* (( (ptr) tmpAddr328) + 1) ) = 1;
      };
   {
      word tmpAddr329;
      tmpAddr329 = (word) (( (ptr) &var←c23908)+17)/* var←c22148 */ ;
      (*  (ptr) tmpAddr329 ) = ( ((word)  (fPt) TransformLineTo←P1992) );
      (* (( (ptr) tmpAddr329) + 1) ) = 1;
      };
   {
      word tmpAddr330;
      tmpAddr330 = (word) (( (ptr) &var←c23908)+19)/* var←c22180 */ ;
      (*  (ptr) tmpAddr330 ) = ( ((word)  (fPt) TransformMoveTo←P1932) );
      (* (( (ptr) tmpAddr330) + 1) ) = 1;
      };
SOURCE(4692, 18)
   (* (( (ptr) &var←c23908)+21)/* first←v8420 */  ) = 1;
SOURCE(4712, 16)
   (* (( (ptr) &var←c23908)+22) ) = (*  (ptr) &fc18 );
   (* (( (ptr) &var←c23908)+23) ) = (*  (ptr) &fc18 );
SOURCE(5811, 131)
   (void) ( *( (fPt) ((*  (ptr) path←v4156 ))))((word) (( (bPt) &var←c23908)+76)/* var←c22180 */ , (word) (( (bPt) &var←c23908)+68)
      /* var←c22148 */ , (word) (( (bPt) &var←c23908)+60)/* var←c22116 */ , (word) (( (bPt) &var←c23908)+52)/* var←c22084 */ , (word) (
         ( (bPt) &var←c23908)+44)/* var←c22052 */ , path←v4156);
SOURCE(5944, 52)
   if ((0 != (* (( (ptr) &var←c23908)+21)/* first←v8420 */  ))) {
      }
   else {
SOURCE(5970, 26)
      if (((* (( (ptr) &var←c23908)+10)/* close←v4352 */  ) != 0)) {
SOURCE(5988, 8)
         {
            word pd331;
            pd331 = (* (( (ptr) &var←c23908)+10)/* close←v4352 */  );
            (void) ( *( (fPt) ((*  (ptr) pd331 ))))(pd331);
            };
         };
      };
   }

static void TransformMoveTo←P1932(p←v8664, formal←c23972)
   W2 p←v8664;
   word formal←c23972;
   {
   register ptr gf←c23940 =  (ptr) &globalframe;
   formal←c23972 = (formal←c23972 - 76);
   /* TransformMoveTo: */ 
SOURCE(4772, 158)
SOURCE(4807, 61)
   if ((0 != (* (( (ptr) formal←c23972)+21) ))) {
SOURCE(4821, 19)
      (* (( (ptr) formal←c23972)+21) ) = 0;
      }
   else {
SOURCE(4842, 26)
      if (((* (( (ptr) formal←c23972)+10) ) != 0)) {
SOURCE(4860, 8)
         {
            word pd332;
            pd332 = (* (( (ptr) formal←c23972)+10) );
            (void) ( *( (fPt) ((*  (ptr) pd332 ))))(pd332);
            };
         };
      };
SOURCE(4871, 51)
   if (((* (( (ptr) formal←c23972)+4) ) == 0)) {
SOURCE(4885, 15)
      {
         word pd333;
         pd333 = (* (( (ptr) formal←c23972)+5) );
         (void) ( *( (fPt) ((*  (ptr) pd333 ))))(p←v8664, pd333);
         };
      }
   else {
SOURCE(4900, 22)
      {
         W2 var←c22244;
         {
            word pd334;
            pd334 = (* (( (ptr) (* (( (ptr) gf←c23940)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd334 ))))((word) &var←c22244, (* (( (ptr) formal←c23972)+4) ), p←v8664, pd334);
            };
         {
            word pd335;
            pd335 = (* (( (ptr) formal←c23972)+5) );
            (void) ( *( (fPt) ((*  (ptr) pd335 ))))(var←c22244, pd335);
            };
         };
      };
SOURCE(4924, 6)
   (*  (W2Pt) (( (ptr) formal←c23972)+22) ) = p←v8664;
   }

static void TransformLineTo←P1992(p1←v8724, formal←c24036)
   W2 p1←v8724;
   word formal←c24036;
   {
   register ptr gf←c24004 =  (ptr) &globalframe;
   formal←c24036 = (formal←c24036 - 68);
   /* TransformLineTo: */ 
SOURCE(4935, 133)
SOURCE(4971, 33)
   if ((0 != (* (( (ptr) formal←c24036)+21) ))) {
SOURCE(4985, 19)
      (void) TransformMoveTo←P1932((*  (W2Pt) (( (ptr) formal←c24036)+22) ), (word) (( (bPt) formal←c24036)+76));
      };
SOURCE(5006, 53)
   if (((* (( (ptr) formal←c24036)+4) ) == 0)) {
SOURCE(5020, 16)
      {
         word pd336;
         pd336 = (* (( (ptr) formal←c24036)+6) );
         (void) ( *( (fPt) ((*  (ptr) pd336 ))))(p1←v8724, pd336);
         };
      }
   else {
SOURCE(5036, 23)
      {
         W2 var←c22308;
         {
            word pd337;
            pd337 = (* (( (ptr) (* (( (ptr) gf←c24004)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd337 ))))((word) &var←c22308, (* (( (ptr) formal←c24036)+4) ), p1←v8724, pd337);
            };
         {
            word pd338;
            pd338 = (* (( (ptr) formal←c24036)+6) );
            (void) ( *( (fPt) ((*  (ptr) pd338 ))))(var←c22308, pd338);
            };
         };
      };
SOURCE(5061, 7)
   (*  (W2Pt) (( (ptr) formal←c24036)+22) ) = p1←v8724;
   }

static void TransformCurveTo←P2052(p1←v8784, p2←v8812, p3←v8840, formal←c24100)
   W2 p1←v8784;
   W2 p2←v8812;
   W2 p3←v8840;
   word formal←c24100;
   {
   register ptr gf←c24068 =  (ptr) &globalframe;
   formal←c24100 = (formal←c24100 - 60);
   /* TransformCurveTo: */ 
SOURCE(5073, 186)
SOURCE(5118, 33)
   if ((0 != (* (( (ptr) formal←c24100)+21) ))) {
SOURCE(5132, 19)
      (void) TransformMoveTo←P1932((*  (W2Pt) (( (ptr) formal←c24100)+22) ), (word) (( (bPt) formal←c24100)+76));
      };
SOURCE(5153, 97)
   if (((* (( (ptr) formal←c24100)+4) ) == 0)) {
SOURCE(5167, 25)
      {
         word pd339;
         pd339 = (* (( (ptr) formal←c24100)+7) );
         (void) ( *( (fPt) ((*  (ptr) pd339 ))))(p1←v8784, p2←v8812, p3←v8840, pd339);
         };
      }
   else {
SOURCE(5192, 58)
      {
         W2 var←c22340;
         W2 var←c22372;
         W2 var←c22404;
         {
            word pd340;
            pd340 = (* (( (ptr) (* (( (ptr) gf←c24068)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd340 ))))((word) &var←c22340, (* (( (ptr) formal←c24100)+4) ), p1←v8784, pd340);
            };
         {
            word pd341;
            pd341 = (* (( (ptr) (* (( (ptr) gf←c24068)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd341 ))))((word) &var←c22372, (* (( (ptr) formal←c24100)+4) ), p2←v8812, pd341);
            };
         {
            word pd342;
            pd342 = (* (( (ptr) (* (( (ptr) gf←c24068)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd342 ))))((word) &var←c22404, (* (( (ptr) formal←c24100)+4) ), p3←v8840, pd342);
            };
         {
            word pd343;
            pd343 = (* (( (ptr) formal←c24100)+7) );
            (void) ( *( (fPt) ((*  (ptr) pd343 ))))(var←c22340, var←c22372, var←c22404, pd343);
            };
         };
      };
SOURCE(5252, 7)
   (*  (W2Pt) (( (ptr) formal←c24100)+22) ) = p3←v8840;
   }

static void TransformConicTo←P2112(p1←v8900, p2←v8928, r←v8956, formal←c24164)
   W2 p1←v8900;
   W2 p2←v8928;
   word r←v8956;
   word formal←c24164;
   {
   register ptr gf←c24132 =  (ptr) &globalframe;
   formal←c24164 = (formal←c24164 - 52);
   /* TransformConicTo: */ 
SOURCE(5264, 275)
SOURCE(5312, 227)
SOURCE(5314, 20)
   if (((* (( (ptr) formal←c24164)+8) ) == 0)) {
SOURCE(5334, 11)
      goto lab←L100010;
      };
SOURCE(5347, 33)
   if ((0 != (* (( (ptr) formal←c24164)+21) ))) {
SOURCE(5361, 19)
      (void) TransformMoveTo←P1932((*  (W2Pt) (( (ptr) formal←c24164)+22) ), (word) (( (bPt) formal←c24164)+76));
      };
SOURCE(5382, 82)
   if (((* (( (ptr) formal←c24164)+4) ) == 0)) {
SOURCE(5396, 24)
      {
         word pd344;
         pd344 = (* (( (ptr) formal←c24164)+8) );
         (void) ( *( (fPt) ((*  (ptr) pd344 ))))(p1←v8900, p2←v8928, r←v8956, pd344);
         };
      }
   else {
SOURCE(5420, 44)
      {
         W2 var←c22436;
         W2 var←c22468;
         {
            word pd345;
            pd345 = (* (( (ptr) (* (( (ptr) gf←c24132)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd345 ))))((word) &var←c22436, (* (( (ptr) formal←c24164)+4) ), p1←v8900, pd345);
            };
         {
            word pd346;
            pd346 = (* (( (ptr) (* (( (ptr) gf←c24132)+57)/* var←c22276 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd346 ))))((word) &var←c22468, (* (( (ptr) formal←c24164)+4) ), p2←v8928, pd346);
            };
         {
            word pd347;
            pd347 = (* (( (ptr) formal←c24164)+8) );
            (void) ( *( (fPt) ((*  (ptr) pd347 ))))(var←c22436, var←c22468, r←v8956, pd347);
            };
         };
      };
SOURCE(5466, 7)
   (*  (W2Pt) (( (ptr) formal←c24164)+22) ) = p2←v8928;
   goto lab←L100011;
   lab←L100010: ;
SOURCE(5491, 46)
   (void) ConicToCurves←P60((*  (W2Pt) (( (ptr) formal←c24164)+22) ), p1←v8900, p2←v8928, r←v8956, (word) (( (bPt) formal←c24164)+60)
      );
   lab←L100011: ;
   }

static void TransformArcTo←P2172(p1←v9016, p2←v9044, formal←c24196)
   W2 p1←v9016;
   W2 p2←v9044;
   word formal←c24196;
   {
   formal←c24196 = (formal←c24196 - 44);
   /* TransformArcTo: */ 
SOURCE(5542, 266)
SOURCE(5579, 229)
SOURCE(5581, 18)
   if (((* (( (ptr) formal←c24196)+9) ) == 0)) {
SOURCE(5599, 11)
      goto lab←L100012;
      };
SOURCE(5612, 14)
   if (((* (( (ptr) formal←c24196)+4) ) != 0)) {
SOURCE(5626, 11)
      goto lab←L100012;
      };
SOURCE(5690, 33)
   if ((0 != (* (( (ptr) formal←c24196)+21) ))) {
SOURCE(5704, 19)
      (void) TransformMoveTo←P1932((*  (W2Pt) (( (ptr) formal←c24196)+22) ), (word) (( (bPt) formal←c24196)+76));
      };
SOURCE(5725, 13)
   {
      word pd348;
      pd348 = (* (( (ptr) formal←c24196)+9) );
      (void) ( *( (fPt) ((*  (ptr) pd348 ))))(p1←v9016, p2←v9044, pd348);
      };
SOURCE(5740, 7)
   (*  (W2Pt) (( (ptr) formal←c24196)+22) ) = p2←v9044;
   goto lab←L100013;
   lab←L100012: ;
SOURCE(5765, 41)
   (void) ArcToConics←P120((*  (W2Pt) (( (ptr) formal←c24196)+22) ), p1←v9016, p2←v9044, (word) (( (bPt) formal←c24196)+52))
   ;
   lab←L100013: ;
   }

static void LastPoint←P420(formal←c0169, t←v4428)
   word formal←c0169;
   word t←v4428;
   {
   W2 var←c4472;
   /* LastPoint: */ 
SOURCE(6004, 69)
SOURCE(6061, 12)
   var←c4472 = (*  (W2Pt) (( (ptr) t←v4428)+2) );
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0169 ) = var←c4472;
   return;
   }

static word MoveTo←P480(p←v4532)
   W2 p←v4532;
   {
   register ptr gf←c24228 =  (ptr) &globalframe;
   word var←c4576;
   /* MoveTo: */ 
SOURCE(6078, 136)
SOURCE(6132, 82)
   {
      word var←c22564;
      var←c22564 = XR←NewObject(20, (* (( (ptr) gf←c24228)+7) ));
      (* (( (ptr) var←c22564)+1) ) = 1;
      (*  (W2Pt) (( (ptr) var←c22564)+2) ) = p←v4532;
      return(var←c22564);
      };
   }

static word LineTo←P540(t←v4636, p1←v4664)
   word t←v4636;
   W2 p1←v4664;
   {
   register ptr gf←c24260 =  (ptr) &globalframe;
   word var←c4708;
   /* LineTo: */ 
SOURCE(6219, 160)
SOURCE(6289, 90)
   {
      word var←c22628;
      var←c22628 = XR←NewObject(20, (* (( (ptr) gf←c24260)+7) ));
      (*  (ptr) var←c22628 ) = t←v4636;
      (* (( (ptr) var←c22628)+1) ) = ((* (( (ptr) t←v4636)+1) ) + 1);
      (*  (W2Pt) (( (ptr) var←c22628)+2) ) = p1←v4664;
      (* (( (ptr) var←c22628)+4) ) = 1;
      return(var←c22628);
      };
   }

static word LineToX←P600(t←v4768, x←v4796)
   word t←v4768;
   word x←v4796;
   {
   register ptr gf←c24292 =  (ptr) &globalframe;
   word var←c4840;
   /* LineToX: */ 
SOURCE(6384, 170)
SOURCE(6455, 99)
   {
      word var←c22692;
      var←c22692 = XR←NewObject(20, (* (( (ptr) gf←c24292)+7) ));
      (*  (ptr) var←c22692 ) = t←v4768;
      (* (( (ptr) var←c22692)+1) ) = ((* (( (ptr) t←v4768)+1) ) + 1);
      (* (( (ptr) var←c22692)+2) ) = x←v4796;
      (* (( (ptr) var←c22692)+3) ) = (* (( (ptr) t←v4768)+3) );
      (* (( (ptr) var←c22692)+4) ) = 1;
      return(var←c22692);
      };
   }

static word LineToY←P660(t←v4900, y←v4928)
   word t←v4900;
   word y←v4928;
   {
   register ptr gf←c24324 =  (ptr) &globalframe;
   word var←c4972;
   /* LineToY: */ 
SOURCE(6559, 170)
SOURCE(6630, 99)
   {
      word var←c22756;
      var←c22756 = XR←NewObject(20, (* (( (ptr) gf←c24324)+7) ));
      (*  (ptr) var←c22756 ) = t←v4900;
      (* (( (ptr) var←c22756)+1) ) = ((* (( (ptr) t←v4900)+1) ) + 1);
      (* (( (ptr) var←c22756)+2) ) = (* (( (ptr) t←v4900)+2) );
      (* (( (ptr) var←c22756)+3) ) = y←v4928;
      (* (( (ptr) var←c22756)+4) ) = 1;
      return(var←c22756);
      };
   }

static word CurveTo←P720(t←v5032, p1←v5060, p2←v5088, p3←v5116)
   word t←v5032;
   W2 p1←v5060;
   W2 p2←v5088;
   W2 p3←v5116;
   {
   register ptr gf←c24356 =  (ptr) &globalframe;
   word var←c5160;
   /* CurveTo: */ 
SOURCE(6734, 177)
SOURCE(6813, 98)
   {
      word var←c22820;
      var←c22820 = XR←NewObject(36, (* (( (ptr) gf←c24356)+7) ));
      (*  (ptr) var←c22820 ) = t←v5032;
      (* (( (ptr) var←c22820)+1) ) = ((* (( (ptr) t←v5032)+1) ) + 1);
      (*  (W2Pt) (( (ptr) var←c22820)+2) ) = p3←v5116;
      (* (( (ptr) var←c22820)+4) ) = 2;
      (*  (W2Pt) (( (ptr) var←c22820)+5) ) = p1←v5060;
      (*  (W2Pt) (( (ptr) var←c22820)+7) ) = p2←v5088;
      return(var←c22820);
      };
   }

static word ConicTo←P780(t←v5220, p1←v5248, p2←v5276, r←v5304)
   word t←v5220;
   W2 p1←v5248;
   W2 p2←v5276;
   word r←v5304;
   {
   register ptr gf←c24388 =  (ptr) &globalframe;
   word var←c5348;
   /* ConicTo: */ 
SOURCE(6917, 181)
SOURCE(7001, 97)
   {
      word var←c22884;
      var←c22884 = XR←NewObject(32, (* (( (ptr) gf←c24388)+7) ));
      (*  (ptr) var←c22884 ) = t←v5220;
      (* (( (ptr) var←c22884)+1) ) = ((* (( (ptr) t←v5220)+1) ) + 1);
      (*  (W2Pt) (( (ptr) var←c22884)+2) ) = p2←v5276;
      (* (( (ptr) var←c22884)+4) ) = 3;
      (*  (W2Pt) (( (ptr) var←c22884)+5) ) = p1←v5248;
      (* (( (ptr) var←c22884)+7) ) = r←v5304;
      return(var←c22884);
      };
   }

static word ArcTo←P840(t←v5408, p1←v5436, p2←v5464)
   word t←v5408;
   W2 p1←v5436;
   W2 p2←v5464;
   {
   register ptr gf←c24420 =  (ptr) &globalframe;
   word var←c5508;
   /* ArcTo: */ 
SOURCE(7104, 163)
SOURCE(7177, 90)
   {
      word var←c22948;
      var←c22948 = XR←NewObject(28, (* (( (ptr) gf←c24420)+7) ));
      (*  (ptr) var←c22948 ) = t←v5408;
      (* (( (ptr) var←c22948)+1) ) = ((* (( (ptr) t←v5408)+1) ) + 1);
      (*  (W2Pt) (( (ptr) var←c22948)+2) ) = p2←v5464;
      (* (( (ptr) var←c22948)+4) ) = 4;
      (*  (W2Pt) (( (ptr) var←c22948)+5) ) = p1←v5436;
      return(var←c22948);
      };
   }

static void MapTrajectory←P900(trajectory←v5568, formal←c0352, formal←c0353, formal←c0354, formal←c0355, formal←c0356)
   word trajectory←v5568;
   word formal←c0352;
   word formal←c0353;
   word formal←c0354;
   word formal←c0355;
   word formal←c0356;
   {
   W11 var←c24452;
   /* declaration of moveTo←v5596 skipped */ 
   /* declaration of lineTo←v5624 skipped */ 
   /* declaration of curveTo←v5652 skipped */ 
   /* declaration of conicTo←v5680 skipped */ 
   /* declaration of arcTo←v5708 skipped */ 
   /* declaration of var←c22980 skipped */ 
   (* (( (ptr) &var←c24452)+4)/* moveTo←v5596 */  ) = formal←c0352;
   (* (( (ptr) &var←c24452)+5)/* lineTo←v5624 */  ) = formal←c0353;
   (* (( (ptr) &var←c24452)+6)/* curveTo←v5652 */  ) = formal←c0354;
   (* (( (ptr) &var←c24452)+7)/* conicTo←v5680 */  ) = formal←c0355;
   (* (( (ptr) &var←c24452)+8)/* arcTo←v5708 */  ) = formal←c0356;
   /* MapTrajectory: */ 
SOURCE(7274, 984)
   {
      word tmpAddr349;
      tmpAddr349 = (word) (( (ptr) &var←c24452)+9)/* var←c22980 */ ;
      (*  (ptr) tmpAddr349 ) = ( ((word)  (fPt) Map←P2232) );
      (* (( (ptr) tmpAddr349) + 1) ) = 1;
      };
SOURCE(8224, 34)
   (void) Map←P2232(trajectory←v5568, (* (( (ptr) trajectory←v5568)+1) ), (word) (( (bPt) &var←c24452)+36)/* var←c22980 */ )
   ;
   }

static void Map←P2232(trajectory←v9148, length←v9176, formal←c24484)
   word trajectory←v9148;
   word length←v9176;
   word formal←c24484;
   {
   W16 array←v9232;
   word size←v9260;
   word n←v9288;
   word rem←v9316;
   word t←v9344;
   formal←c24484 = (formal←c24484 - 36);
   /* Map: */ 
SOURCE(7432, 741)
SOURCE(7499, 34)
   XR←FillWords(&array←v9232, 16, 0);
SOURCE(7535, 28)
   size←v9260 = (MIN((int)(word), length←v9176, 16));
SOURCE(7565, 47)
   n←v9288 =  ( ( (int)length←v9176 >  (int)size←v9260) ? IOP2( / ,  (int)length←v9176,  (int)size←v9260) : 1 ) ;
SOURCE(7614, 24)
   rem←v9316 = (length←v9176 - IOP2( * ,  (int)n←v9288,  (int)size←v9260));
SOURCE(7640, 26)
   t←v9344 = trajectory←v9148;
SOURCE(7668, 76)
   {
      register word i←v9424 = 0;
      if ((i←v9424 >= size←v9260)) {
         goto lab←L100015;
         };
      lab←L100018: ;
SOURCE(7694, 12)
      (* (( (ptr) &array←v9232)+BCK(i←v9424, 16)) ) = t←v9344;
SOURCE(7708, 36)
      {
         register word noName←c23044 = 0;
         if (( (int)noName←c23044 >=  (int)n←v9288)) {
            goto lab←L100019;
            };
         lab←L100022: ;
SOURCE(7726, 18)
         t←v9344 = (*  (ptr) t←v9344 );
         noName←c23044 = (noName←c23044 + 1);
         if (( (int)noName←c23044 <  (int)n←v9288)) {
            goto lab←L100022;
            };
         lab←L100019: ;
         };
      i←v9424 = (i←v9424 + 1);
      if ((i←v9424 < size←v9260)) {
         goto lab←L100018;
         };
      lab←L100015: ;
      };
SOURCE(7755, 25)
   if (( (int)rem←v9316 >  (int)0)) {
SOURCE(7769, 11)
      (void) Map←P2232(t←v9344, rem←v9316, (word) (( (bPt) formal←c24484)+36));
      };
SOURCE(7782, 391)
   if (( (int)n←v9288 >  (int)1)) {
SOURCE(7794, 67)
      {
         register word i←v9468;
         i←v9468 = size←v9260;
         if ((0 >= i←v9468)) {
            goto lab←L100023;
            };
         i←v9468 = (i←v9468 - 1);
         lab←L100026: ;
SOURCE(7831, 30)
         (void) Map←P2232((* (( (ptr) &array←v9232)+BCK(i←v9468, 16)) ), n←v9288, (word) (( (bPt) formal←c24484)+36));
         if ((0 >= i←v9468)) {
            goto lab←L100023;
            };
         i←v9468 = (i←v9468 - 1);
         goto lab←L100026;
         lab←L100023: ;
         };
      }
   else {
SOURCE(7861, 312)
      {
         register word i←v9512;
         i←v9512 = size←v9260;
         if ((0 >= i←v9512)) {
            goto lab←L100027;
            };
         i←v9512 = (i←v9512 - 1);
         lab←L100030: ;
SOURCE(7898, 275)
         {
            word var←c23076;
            var←c23076 = (* (( (ptr) &array←v9232)+BCK(i←v9512, 16)) );
            if ((var←c23076 == 0)) {
               goto lab←L100031;
               };
            {
               word var←c23108;
               var←c23108 = (* (( (ptr) var←c23076)+4) );
               switch (var←c23108) {
                  case 0: 
                     {
                        word t←v9556;
                        t←v9556 = var←c23076;
SOURCE(7954, 12)
                        {
                           word pd350;
                           pd350 = (* (( (ptr) formal←c24484)+4) );
                           (void) ( *( (fPt) ((*  (ptr) pd350 ))))((*  (W2Pt) ((( (ptr) t←v9556)+2)) ), pd350);
                           };
                        };
                     break;
                  case 1: 
                     {
                        word t←v9612;
                        t←v9612 = var←c23076;
SOURCE(7998, 12)
                        {
                           word pd351;
                           pd351 = (* (( (ptr) formal←c24484)+5) );
                           (void) ( *( (fPt) ((*  (ptr) pd351 ))))((*  (W2Pt) ((( (ptr) t←v9612)+2)) ), pd351);
                           };
                        };
                     break;
                  case 2: 
                     {
                        word t←v9668;
                        t←v9668 = var←c23076;
SOURCE(8043, 25)
                        {
                           word pd352;
                           pd352 = (* (( (ptr) formal←c24484)+6) );
                           (void) ( *( (fPt) ((*  (ptr) pd352 ))))((*  (W2Pt) (( (ptr) t←v9668)+5) ), (*  (W2Pt) (( (ptr) t←v9668)+7) ), (*  (W2Pt) (
/*1*/      ( (ptr) t←v9668)+2) ), pd352);
                           };
                        };
                     break;
                  case 3: 
                     {
                        word t←v9724;
                        t←v9724 = var←c23076;
SOURCE(8101, 24)
                        {
                           word pd353;
                           pd353 = (* (( (ptr) formal←c24484)+7) );
                           (void) ( *( (fPt) ((*  (ptr) pd353 ))))((*  (W2Pt) (( (ptr) t←v9724)+5) ), (*  (W2Pt) (( (ptr) t←v9724)+2) ), (* (( (ptr) t←v9724)+7)
/*1*/    ), pd353);
                           };
                        };
                     break;
                  case 4: 
                     {
                        word t←v9780;
                        t←v9780 = var←c23076;
SOURCE(8156, 17)
                        {
                           word pd354;
                           pd354 = (* (( (ptr) formal←c24484)+8) );
                           (void) ( *( (fPt) ((*  (ptr) pd354 ))))((*  (W2Pt) (( (ptr) t←v9780)+5) ), (*  (W2Pt) (( (ptr) t←v9780)+2) ), pd354);
                           };
                        };
                     break;
                  default: 
                     lab←L100031: ;
SOURCE(8186, 5)
                     (void) XR←RaiseUnnamedError();
                     break;
                  };
               };
            };
         if ((0 >= i←v9512)) {
            goto lab←L100027;
            };
         i←v9512 = (i←v9512 - 1);
         goto lab←L100030;
         lab←L100027: ;
         };
      };
   }

static void MapTrajectoryBackward←P960(trajectory←v5768, moveTo←v5796, lineTo←v5824, curveTo←v5852, conicTo←v5880, arcTo←v5908)
   word trajectory←v5768;
   word moveTo←v5796;
   word lineTo←v5824;
   word curveTo←v5852;
   word conicTo←v5880;
   word arcTo←v5908;
   {
   /* MapTrajectoryBackward: */ 
SOURCE(8264, 552)
SOURCE(8430, 21)
   (void) ( *( (fPt) ((*  (ptr) moveTo←v5796 ))))((*  (W2Pt) ((( (ptr) trajectory←v5768)+2)) ), moveTo←v5796);
SOURCE(8453, 363)
   {
      register word t←v9836;
      t←v9836 = trajectory←v5768;
      lab←L100035: ;
      if (((*  (ptr) t←v9836 ) != 0)) {
         }
      else {
         goto lab←L100032;
         };
      {
         W2 p0←v9880;
SOURCE(8512, 19)
         p0←v9880 = (*  (W2Pt) (( (ptr) (*  (ptr) t←v9836 ))+2) );
SOURCE(8533, 283)
         {
            word var←c23140;
            var←c23140 = t←v9836;
            if ((var←c23140 == 0)) {
               goto lab←L100036;
               };
            {
               word var←c23172;
               var←c23172 = (* (( (ptr) var←c23140)+4) );
               switch (var←c23172) {
                  case 0: 
                     {
                        word t←v9924;
                        t←v9924 = var←c23140;
SOURCE(8582, 5)
                        (void) XR←RaiseUnnamedError();
                        };
                     break;
                  case 1: 
                     {
                        word t←v9980;
                        t←v9980 = var←c23140;
SOURCE(8649, 10)
                        (void) ( *( (fPt) ((*  (ptr) lineTo←v5824 ))))(p0←v9880, lineTo←v5824);
                        };
                     break;
                  case 2: 
                     {
                        word t←v10036;
                        t←v10036 = var←c23140;
SOURCE(8692, 23)
                        (void) ( *( (fPt) ((*  (ptr) curveTo←v5852 ))))((*  (W2Pt) (( (ptr) t←v10036)+7) ), (*  (W2Pt) (( (ptr) t←v10036)+5) ), p0←v9880, curveTo←v5852)
                        ;
                        };
                     break;
                  case 3: 
                     {
                        word t←v10092;
                        t←v10092 = var←c23140;
SOURCE(8748, 22)
                        (void) ( *( (fPt) ((*  (ptr) conicTo←v5880 ))))((*  (W2Pt) (( (ptr) t←v10092)+5) ), p0←v9880, (* (( (ptr) t←v10092)+7) ), conicTo←v5880)
                        ;
                        };
                     break;
                  case 4: 
                     {
                        word t←v10148;
                        t←v10148 = var←c23140;
SOURCE(8801, 15)
                        (void) ( *( (fPt) ((*  (ptr) arcTo←v5908 ))))((*  (W2Pt) (( (ptr) t←v10148)+5) ), p0←v9880, arcTo←v5908);
                        };
                     break;
                  default: 
                     lab←L100036: ;
SOURCE(8829, 5)
                     (void) XR←RaiseUnnamedError();
                     break;
                  };
               };
            };
         };
      t←v9836 = (*  (ptr) t←v9836 );
      goto lab←L100035;
      lab←L100032: ;
      };
   }

static void MapTrajectoryList←P1020(trajectoryList←v5968, moveTo←v5996, lineTo←v6024, curveTo←v6052, conicTo←v6080, arcTo←v6108)
   word trajectoryList←v5968;
   word moveTo←v5996;
   word lineTo←v6024;
   word curveTo←v6052;
   word conicTo←v6080;
   word arcTo←v6108;
   {
   /* MapTrajectoryList: */ 
SOURCE(8868, 307)
SOURCE(9038, 137)
   {
      register word list←v10204;
      list←v10204 = trajectoryList←v5968;
      lab←L100040: ;
      if ((list←v10204 != 0)) {
         }
      else {
         goto lab←L100037;
         };
SOURCE(9109, 66)
      (void) MapTrajectory←P900((*  (ptr) list←v10204 ), moveTo←v5996, lineTo←v6024, curveTo←v6052, conicTo←v6080, arcTo←v6108)
      ;
      list←v10204 = (* (( (ptr) list←v10204)+1) );
      goto lab←L100040;
      lab←L100037: ;
      };
   }

static void MapOutline←P1080(outline←v6168, moveTo←v6196, lineTo←v6224, curveTo←v6252, conicTo←v6280, arcTo←v6308)
   word outline←v6168;
   word moveTo←v6196;
   word lineTo←v6224;
   word curveTo←v6252;
   word conicTo←v6280;
   word arcTo←v6308;
   {
   /* MapOutline: */ 
SOURCE(9190, 250)
SOURCE(9339, 101)
   {
      register word i←v10248 = 0;
      register word noName←c23204;
      noName←c23204 = (* (( (ptr) outline←v6168)+1) );
      if ((i←v10248 >= noName←c23204)) {
         goto lab←L100041;
         };
      lab←L100044: ;
SOURCE(9374, 66)
      {
         word limit355;
         (void) MapTrajectory←P900((* ((( (ptr) outline←v6168)+2)+(
                  limit355 = (* (( (ptr) outline←v6168)+1) ),
                  BCK(i←v10248, limit355)
                  )) ), moveTo←v6196, lineTo←v6224, curveTo←v6252, conicTo←v6280, arcTo←v6308);
         };
      i←v10248 = (i←v10248 + 1);
      if ((i←v10248 < noName←c23204)) {
         goto lab←L100044;
         };
      lab←L100041: ;
      };
   }

static void TrajectoriesFromPath←P1140(path←v6368, m←v6396, formal←c0357)
   word path←v6368;
   word m←v6396;
   word formal←c0357;
   {
   W18 var←c24516;
   /* declaration of action←v6424 skipped */ 
   /* declaration of var←c23236 skipped */ 
   /* declaration of var←c23268 skipped */ 
   /* declaration of var←c23300 skipped */ 
   /* declaration of var←c23332 skipped */ 
   /* declaration of var←c23364 skipped */ 
   /* declaration of var←c23396 skipped */ 
   /* declaration of t←v10292 skipped */ 
   (* (( (ptr) &var←c24516)+4)/* action←v6424 */  ) = formal←c0357;
   /* TrajectoriesFromPath: */ 
SOURCE(9455, 484)
   {
      word tmpAddr356;
      tmpAddr356 = (word) (( (ptr) &var←c24516)+5)/* var←c23236 */ ;
      (*  (ptr) tmpAddr356 ) = ( ((word)  (fPt) close←P3408) );
      (* (( (ptr) tmpAddr356) + 1) ) = 1;
      };
   {
      word tmpAddr357;
      tmpAddr357 = (word) (( (ptr) &var←c24516)+7)/* var←c23268 */ ;
      (*  (ptr) tmpAddr357 ) = ( ((word)  (fPt) arc←P3348) );
      (* (( (ptr) tmpAddr357) + 1) ) = 1;
      };
   {
      word tmpAddr358;
      tmpAddr358 = (word) (( (ptr) &var←c24516)+9)/* var←c23300 */ ;
      (*  (ptr) tmpAddr358 ) = ( ((word)  (fPt) conic←P3288) );
      (* (( (ptr) tmpAddr358) + 1) ) = 1;
      };
   {
      word tmpAddr359;
      tmpAddr359 = (word) (( (ptr) &var←c24516)+11)/* var←c23332 */ ;
      (*  (ptr) tmpAddr359 ) = ( ((word)  (fPt) curve←P3228) );
      (* (( (ptr) tmpAddr359) + 1) ) = 1;
      };
   {
      word tmpAddr360;
      tmpAddr360 = (word) (( (ptr) &var←c24516)+13)/* var←c23364 */ ;
      (*  (ptr) tmpAddr360 ) = ( ((word)  (fPt) line←P3168) );
      (* (( (ptr) tmpAddr360) + 1) ) = 1;
      };
   {
      word tmpAddr361;
      tmpAddr361 = (word) (( (ptr) &var←c24516)+15)/* var←c23396 */ ;
      (*  (ptr) tmpAddr361 ) = ( ((word)  (fPt) move←P3108) );
      (* (( (ptr) tmpAddr361) + 1) ) = 1;
      };
SOURCE(9562, 19)
   (* (( (ptr) &var←c24516)+17)/* t←v10292 */  ) = 0;
SOURCE(9883, 56)
   (void) Transform←P360(path←v6368, m←v6396, (word) (( (bPt) &var←c24516)+60)/* var←c23396 */ , (word) (( (bPt) &var←c24516)+52)
      /* var←c23364 */ , (word) (( (bPt) &var←c24516)+44)/* var←c23332 */ , (word) (( (bPt) &var←c24516)+36)/* var←c23300 */ 
      , (word) (( (bPt) &var←c24516)+28)/* var←c23268 */ , (word) (( (bPt) &var←c24516)+20)/* var←c23236 */ );
   }

static void move←P3108(p←v10536, formal←c24548)
   W2 p←v10536;
   word formal←c24548;
   {
   formal←c24548 = (formal←c24548 - 60);
   /* move: */ 
SOURCE(9583, 38)
SOURCE(9607, 14)
   (* (( (ptr) formal←c24548)+17) ) = (word) MoveTo←P480(p←v10536);
   }

static void line←P3168(p1←v10596, formal←c24580)
   W2 p1←v10596;
   word formal←c24580;
   {
   formal←c24580 = (formal←c24580 - 52);
   /* line: */ 
SOURCE(9624, 43)
SOURCE(9649, 18)
   (* (( (ptr) formal←c24580)+17) ) = (word) LineTo←P540((* (( (ptr) formal←c24580)+17) ), p1←v10596);
   }

static void curve←P3228(p1←v10656, p2←v10684, p3←v10712, formal←c24612)
   W2 p1←v10656;
   W2 p2←v10684;
   W2 p3←v10712;
   word formal←c24612;
   {
   formal←c24612 = (formal←c24612 - 44);
   /* curve: */ 
SOURCE(9670, 61)
SOURCE(9704, 27)
   (* (( (ptr) formal←c24612)+17) ) = (word) CurveTo←P720((* (( (ptr) formal←c24612)+17) ), p1←v10656, p2←v10684, p3←v10712)
   ;
   }

static void conic←P3288(p1←v10772, p2←v10800, r←v10828, formal←c24644)
   W2 p1←v10772;
   W2 p2←v10800;
   word r←v10828;
   word formal←c24644;
   {
   formal←c24644 = (formal←c24644 - 36);
   /* conic: */ 
SOURCE(9734, 65)
SOURCE(9773, 26)
   (* (( (ptr) formal←c24644)+17) ) = (word) ConicTo←P780((* (( (ptr) formal←c24644)+17) ), p1←v10772, p2←v10800, r←v10828);
   }

static void arc←P3348(p1←v10888, p2←v10916, formal←c24676)
   W2 p1←v10888;
   W2 p2←v10916;
   word formal←c24676;
   {
   formal←c24676 = (formal←c24676 - 28);
   /* arc: */ 
SOURCE(9802, 49)
SOURCE(9830, 21)
   (* (( (ptr) formal←c24676)+17) ) = (word) ArcTo←P840((* (( (ptr) formal←c24676)+17) ), p1←v10888, p2←v10916);
   }

static void close←P3408(formal←c24708)
   word formal←c24708;
   {
   formal←c24708 = (formal←c24708 - 20);
   /* close: */ 
SOURCE(9854, 26)
SOURCE(9870, 10)
   {
      word pd362;
      pd362 = (* (( (ptr) formal←c24708)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd362 ))))((* ((( (ptr) formal←c24708)+17)) ), pd362);
      };
   }

static word TrajectoryListFromPath←P1200(path←v6544, m←v6572)
   word path←v6544;
   word m←v6572;
   {
   W8 var←c24740;
   /* declaration of list←v6616 skipped */ 
   /* declaration of var←c23428 skipped */ 
   /* declaration of tail←v10960 skipped */ 
   /* TrajectoryListFromPath: */ 
SOURCE(9945, 318)
   {
      word tmpAddr363;
      tmpAddr363 = (word) (( (ptr) &var←c24740)+5)/* var←c23428 */ ;
      (*  (ptr) tmpAddr363 ) = ( ((word)  (fPt) action←P3468) );
      (* (( (ptr) tmpAddr363) + 1) ) = 1;
      };
SOURCE(9945, 318)
   var←c24740.f4/* list←v6616 */  = 0;
SOURCE(10064, 26)
   var←c24740.f7/* tail←v10960 */  = 0;
SOURCE(10226, 37)
   (void) TrajectoriesFromPath←P1140(path←v6544, m←v6572, (word) (( (bPt) &var←c24740)+20)/* var←c23428 */ );
SOURCE(9945, 318)
   return(var←c24740.f4/* list←v6616 */ );
   }

static void action←P3468(t←v11064, formal←c24804)
   word t←v11064;
   word formal←c24804;
   {
   register ptr gf←c24772 =  (ptr) &globalframe;
   word new←v11092;
   formal←c24804 = (formal←c24804 - 20);
   /* action: */ 
SOURCE(10092, 129)
SOURCE(10125, 34)
   new←v11092 = XR←NewObject(8, (* (( (ptr) gf←c24772)+13) ));
   (*  (ptr) new←v11092 ) = t←v11064;
SOURCE(10161, 48)
   if (((* (( (ptr) formal←c24804)+7) ) == 0)) {
SOURCE(10178, 16)
      (* (( (ptr) formal←c24804)+4) ) = new←v11092;
      }
   else {
SOURCE(10194, 15)
      (* (( (ptr) (* (( (ptr) formal←c24804)+7) ))+1) ) = new←v11092;
      };
SOURCE(10211, 10)
   (* (( (ptr) formal←c24804)+7) ) = new←v11092;
   }

static word OutlineFromPath←P1260(path←v6676, oddWrap←v6704, m←v6732)
   word path←v6676;
   word oddWrap←v6704;
   word m←v6732;
   {
   W49 var←c24836;
   register ptr gf←c24868 =  (ptr) &globalframe;
   word outline←v6776;
   /* declaration of var←c23492 skipped */ 
   /* declaration of head←v11136 skipped */ 
   /* declaration of tail←v11164 skipped */ 
   /* declaration of size←v11192 skipped */ 
   /* declaration of front←v11248 skipped */ 
   /* OutlineFromPath: */ 
SOURCE(10269, 801)
   {
      word tmpAddr364;
      tmpAddr364 = (word) (( (ptr) &var←c24836)+4)/* var←c23492 */ ;
      (*  (ptr) tmpAddr364 ) = ( ((word)  (fPt) action←P3528) );
      (* (( (ptr) tmpAddr364) + 1) ) = 1;
      };
SOURCE(10269, 801)
   outline←v6776 = 0;
SOURCE(10400, 6)
   (* (( (ptr) &var←c24836)+6)/* head←v11136 */  ) = 0;
SOURCE(10432, 6)
   (* (( (ptr) &var←c24836)+7)/* tail←v11164 */  ) = 0;
SOURCE(10464, 13)
   (* (( (ptr) &var←c24836)+8)/* size←v11192 */  ) = 0;
SOURCE(10680, 52)
   XR←FillWords(&(* (W40Pt) ((( (ptr) &var←c24836)+9)/* front←v11248 */ )), 40, 0);
SOURCE(10755, 37)
   (void) TrajectoriesFromPath←P1140(path←v6676, m←v6732, (word) (( (bPt) &var←c24836)+16)/* var←c23492 */ );
SOURCE(10794, 31)
   {
      word var←c23556;
      word var←c23588;
      word var←c23620;
      {
         word idx365;
         var←c23556 = (
            idx365 = (* (( (ptr) &var←c24836)+8)/* size←v11192 */  ),
            BCK(idx365, 67108863)
            );
         };
      var←c23588 = ((word) var←c23556 << 2);
      var←c23620 = XR←NewObject((8 + var←c23588), (* (( (ptr) gf←c24868)+14) ));
      (* (( (ptr) var←c23620)+1) ) = var←c23556;
      outline←v6776 = var←c23620;
      };
SOURCE(10827, 25)
   (*  (ptr) outline←v6776 ) = oddWrap←v6704;
SOURCE(10854, 27)
   {
      word x366;
      (* (( (ptr) &var←c24836)+8)/* size←v11192 */  ) = (x366 = (* (( (ptr) &var←c24836)+8)/* size←v11192 */  ),
         MIN( (unsigned) , x366, 40));
      };
SOURCE(10883, 56)
   {
      register word i←v11584 = 0;
      register word noName←c23652;
      noName←c23652 = (* (( (ptr) &var←c24836)+8)/* size←v11192 */  );
      if ((i←v11584 >= noName←c23652)) {
         goto lab←L100045;
         };
      lab←L100048: ;
SOURCE(10910, 29)
      {
         word limit367;
         (* ((( (ptr) outline←v6776)+2)+(
               limit367 = (* (( (ptr) outline←v6776)+1) ),
               BCK(i←v11584, limit367)
               )) ) = (* ((( (ptr) &var←c24836)+9)/* front←v11248 */ +BCK(i←v11584, 40)) );
         };
      i←v11584 = (i←v11584 + 1);
      if ((i←v11584 < noName←c23652)) {
         goto lab←L100048;
         };
      lab←L100045: ;
      };
SOURCE(10941, 129)
   lab←L100051: ;
   if (((* (( (ptr) &var←c24836)+6)/* head←v11136 */  ) != 0)) {
      }
   else {
      goto lab←L100049;
      };
SOURCE(10961, 16)
   (* (( (ptr) &var←c24836)+7)/* tail←v11164 */  ) = (* (( (ptr) (* (( (ptr) &var←c24836)+6)/* head←v11136 */  ))+1) );
SOURCE(10979, 15)
   (* (( (ptr) (* (( (ptr) &var←c24836)+6)/* head←v11136 */  ))+1) ) = 0;
SOURCE(10996, 26)
   {
      word idx368;
      word limit369;
      (* ((( (ptr) outline←v6776)+2)+(
            idx368 = (* (( (ptr) &var←c24836)+8)/* size←v11192 */  ),
            limit369 = (* (( (ptr) outline←v6776)+1) ),
            BCK(idx368, limit369)
            )) ) = (*  (ptr) (* (( (ptr) &var←c24836)+6)/* head←v11136 */  ) );
      };
SOURCE(11024, 16)
   (*  (ptr) (* (( (ptr) &var←c24836)+6)/* head←v11136 */  ) ) = 0;
SOURCE(11042, 15)
   (* (( (ptr) &var←c24836)+8)/* size←v11192 */  ) = ((* (( (ptr) &var←c24836)+8)/* size←v11192 */  ) + 1);
SOURCE(11059, 11)
   (* (( (ptr) &var←c24836)+6)/* head←v11136 */  ) = (* (( (ptr) &var←c24836)+7)/* tail←v11164 */  );
   goto lab←L100051;
   lab←L100049: ;
SOURCE(10269, 801)
   return(outline←v6776);
   }

static void action←P3528(t←v11520, formal←c24932)
   word t←v11520;
   word formal←c24932;
   {
   register ptr gf←c24900 =  (ptr) &globalframe;
   formal←c24932 = (formal←c24932 - 16);
   /* action: */ 
SOURCE(10479, 196)
SOURCE(10512, 145)
   if (((* (( (ptr) formal←c24932)+8) ) < 40)) {
SOURCE(10537, 21)
      {
         word idx370;
         (* ((( (ptr) formal←c24932)+9)+(
               idx370 = (* (( (ptr) formal←c24932)+8) ),
               BCK(idx370, 40)
               )) ) = t←v11520;
         };
      }
   else {
SOURCE(10558, 101)
      {
         word new←v11628;
SOURCE(10560, 5)
         new←v11628 = XR←NewObject(8, (* (( (ptr) gf←c24900)+13) ));
         {
            word var←c23716;
            var←c23716 = new←v11628;
            (*  (ptr) var←c23716 ) = t←v11520;
            };
SOURCE(10595, 50)
         if (((* (( (ptr) formal←c24932)+7) ) == 0)) {
SOURCE(10614, 16)
            (* (( (ptr) formal←c24932)+6) ) = new←v11628;
            }
         else {
SOURCE(10630, 15)
            (* (( (ptr) (* (( (ptr) formal←c24932)+7) ))+1) ) = new←v11628;
            };
SOURCE(10647, 10)
         (* (( (ptr) formal←c24932)+7) ) = new←v11628;
         };
      };
SOURCE(10662, 13)
   (* (( (ptr) formal←c24932)+8) ) = ((* (( (ptr) formal←c24932)+8) ) + 1);
   }

/* file: ImagerPathImpl, module: ImagerPathImpl, compiled at: July 28, 1993 10:21:02 am PDT */ 
extern void XR←install←ImagerPathImpl() {
   NoName←Q3984();
   }
extern void XR←run←ImagerPathImpl() { XR←Start(&globalframe); }