/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 28, 1993 10:26:10 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerTransformationImpl, module: ImagerTransformationImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [101021328,3487538751] ImagerTransformationImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1;} W2;
typedef struct {W8 f; W2 r;} W10;
typedef W10 *W10Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
static float fc1 = 1073741823.0;
static float fc2 = 16777216.0;
static float fc3 = 1.0e-4;
static float fc4 = 2.0e-6;
#define SOURCE(p, l) /* source p, l */
static float fc22 = 90.0;
static float fc29 = 0.0;
static float fc31 = 1.0;
static float fc46 = 16.0;
static float fc48 = 17.0;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc98 = 0.5;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc115 = -1.0;
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
static float fc603 = 2.0;
static float fc620 = 0.01;
static float fc641 = 0.125;
static float fc662 = 45.0;
static float fc726 = -90.0;
static float fc745 = 0.25;
static float fc800 = 3.14159;
static float fc801 = -265.35;
static float fc802 = 33.5;
static float fc803 = 61.0;
static float fc804 = 5.0;
static float fc805 = 12.0;
static float fc806 = 6.0;
static float fc807 = 4.0;
static float fc808 = 9.0;
static float fc809 = 3.0;
static float fc810 = 808.0;
static void NoName←Q5580();
static void ImagerTransformationImpl←P0();
static void Bitch←P60();
static void CISDeg←P180();
static void Validate←P300();
static word New←P360();
static void Destroy←P420();
static word Create←P480();
static word Scale←P540();
static word Scale2←P600();
static word Rotate←P660();
static word Translate←P720();
static word SFToXY←P780();
static word XYToSF←P840();
static word Copy←P900();
static word Concat←P960();
static word PreScale←P1020();
static word PreScale2←P1080();
static word PreRotate←P1140();
static word PreTranslate←P1200();
static word PostScale←P1260();
static word PostScale2←P1320();
static word PostRotate←P1380();
static word PostTranslate←P1440();
static word TranslateTo←P1500();
static word Cat←P1560();
static word Invert←P1620();
static void ApplyPreConcat←P1680();
static void ApplyPreScale←P1740();
static void ApplyPreScale2←P1800();
static void ApplyPreRotate←P1860();
static void ApplyPreTranslate←P1920();
static void ApplySFToXY←P1980();
static void ApplyPostConcat←P2040();
static void ApplyPostScale←P2100();
static void ApplyPostScale2←P2160();
static void ApplyPostRotate←P2220();
static void ApplyPostTranslate←P2280();
static void ApplyXYToSF←P2340();
static void ApplyTranslateTo←P2400();
static void ApplyCat←P2460();
static void Apply←P4368();
static void ApplyInvert←P2520();
static void Transform←P2580();
static void TransformVec←P2640();
static void InverseTransform←P2700();
static void InverseTransformVec←P2760();
static void DRound←P2880();
static void RoundXY←P2940();
static void RoundXYVec←P3000();
static void TransformRectangle←P3060();
static void InverseTransformRectangle←P3120();
static word RestrictAbsTo←P3180();
static word EasyTransformation←P3240();
static void EasyTransformBox←P3300();
static word Singular←P3360();
static void Factor←P3420();
static word Equal←P3480();
static word WithinQuarterPixel←P3540();
static word CloseEnough←P3600();
static word CloseToTranslation←P3660();
static void SingularValues←P3720();
static word Different←P3780();
static void ShouldBeSameT←P3840();
static void ShouldBeSamePt←P3900();
static void TestTransformation←P3960();
static void SelfTest←P4020();
static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string6 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\164\000\000"};
static struct {unsigned f; char r[44];} string8 = {2752556, "\260\006\005\146\151\162\163\164\257\300\240\236\274\171\300\344\000\142\023\100\200\005\004\162\145\163\164\214\257\300\240\236\274\171\300\344\000\142\023\100\200\261\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\004\007\000"};
static struct {unsigned f; char r[4];} string10 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string11 = {917520, "transformation\000"};
static struct {unsigned f; char r[32];} string12 = {2031648, "Transformation has illegal form"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\006\005\166\220\300\317\337\236\077\100\164\000\000"};
static struct {unsigned f; char r[12];} string14 = {589833, "\006\002\050\004\037\100\160\004\003\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\277\374\326\303\300\302\136\022\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {
   word f0[167]; 
   } globalframe = {
   {0}
   };

static void NoName←Q5580()
   {
   register ptr gf←c0654 =  (ptr) &globalframe;
   word var←c34820;
   (* (( (ptr) gf←c0654)+8)/* floatHalfLastInt←v3000 */  ) = (*  (ptr) &fc1 );
   (* (( (ptr) gf←c0654)+16)/* intLimit←v4344 */  ) = (*  (ptr) &fc2 );
   (* (( (ptr) gf←c0654)+17)/* maxRelError←v4680 */  ) = (*  (ptr) &fc3 );
   (* (( (ptr) gf←c0654)+18)/* fuzz←v4876 */  ) = (*  (ptr) &fc4 );
   (* (( (ptr) gf←c0654)+160) ) = ( ((word)  (fPt) ImagerTransformationImpl←P0) );
   (* (( (ptr) gf←c0654)+158) ) = ( ((word)  (fPt) Bitch←P60) );
   (* (( (ptr) gf←c0654)+156) ) = ( ((word)  (fPt) CISDeg←P180) );
   (* (( (ptr) gf←c0654)+154) ) = ( ((word)  (fPt) Validate←P300) );
   (* (( (ptr) gf←c0654)+152) ) = ( ((word)  (fPt) New←P360) );
   (* (( (ptr) gf←c0654)+150) ) = ( ((word)  (fPt) Destroy←P420) );
   (* (( (ptr) gf←c0654)+148) ) = ( ((word)  (fPt) Create←P480) );
   (* (( (ptr) gf←c0654)+146) ) = ( ((word)  (fPt) Scale←P540) );
   (* (( (ptr) gf←c0654)+144) ) = ( ((word)  (fPt) Scale2←P600) );
   (* (( (ptr) gf←c0654)+142) ) = ( ((word)  (fPt) Rotate←P660) );
   (* (( (ptr) gf←c0654)+140) ) = ( ((word)  (fPt) Translate←P720) );
   (* (( (ptr) gf←c0654)+138) ) = ( ((word)  (fPt) SFToXY←P780) );
   (* (( (ptr) gf←c0654)+136) ) = ( ((word)  (fPt) XYToSF←P840) );
   (* (( (ptr) gf←c0654)+134) ) = ( ((word)  (fPt) Copy←P900) );
   (* (( (ptr) gf←c0654)+132) ) = ( ((word)  (fPt) Concat←P960) );
   (* (( (ptr) gf←c0654)+130) ) = ( ((word)  (fPt) PreScale←P1020) );
   (* (( (ptr) gf←c0654)+128) ) = ( ((word)  (fPt) PreScale2←P1080) );
   (* (( (ptr) gf←c0654)+126) ) = ( ((word)  (fPt) PreRotate←P1140) );
   (* (( (ptr) gf←c0654)+124) ) = ( ((word)  (fPt) PreTranslate←P1200) );
   (* (( (ptr) gf←c0654)+122) ) = ( ((word)  (fPt) PostScale←P1260) );
   (* (( (ptr) gf←c0654)+120) ) = ( ((word)  (fPt) PostScale2←P1320) );
   (* (( (ptr) gf←c0654)+118) ) = ( ((word)  (fPt) PostRotate←P1380) );
   (* (( (ptr) gf←c0654)+116) ) = ( ((word)  (fPt) PostTranslate←P1440) );
   (* (( (ptr) gf←c0654)+114) ) = ( ((word)  (fPt) TranslateTo←P1500) );
   (* (( (ptr) gf←c0654)+112) ) = ( ((word)  (fPt) Cat←P1560) );
   (* (( (ptr) gf←c0654)+110) ) = ( ((word)  (fPt) Invert←P1620) );
   (* (( (ptr) gf←c0654)+108) ) = ( ((word)  (fPt) ApplyPreConcat←P1680) );
   (* (( (ptr) gf←c0654)+106) ) = ( ((word)  (fPt) ApplyPreScale←P1740) );
   (* (( (ptr) gf←c0654)+104) ) = ( ((word)  (fPt) ApplyPreScale2←P1800) );
   (* (( (ptr) gf←c0654)+102) ) = ( ((word)  (fPt) ApplyPreRotate←P1860) );
   (* (( (ptr) gf←c0654)+100) ) = ( ((word)  (fPt) ApplyPreTranslate←P1920) );
   (* (( (ptr) gf←c0654)+98) ) = ( ((word)  (fPt) ApplySFToXY←P1980) );
   (* (( (ptr) gf←c0654)+96) ) = ( ((word)  (fPt) ApplyPostConcat←P2040) );
   (* (( (ptr) gf←c0654)+94) ) = ( ((word)  (fPt) ApplyPostScale←P2100) );
   (* (( (ptr) gf←c0654)+92) ) = ( ((word)  (fPt) ApplyPostScale2←P2160) );
   (* (( (ptr) gf←c0654)+90) ) = ( ((word)  (fPt) ApplyPostRotate←P2220) );
   (* (( (ptr) gf←c0654)+88) ) = ( ((word)  (fPt) ApplyPostTranslate←P2280) );
   (* (( (ptr) gf←c0654)+86) ) = ( ((word)  (fPt) ApplyXYToSF←P2340) );
   (* (( (ptr) gf←c0654)+84) ) = ( ((word)  (fPt) ApplyTranslateTo←P2400) );
   (* (( (ptr) gf←c0654)+82) ) = ( ((word)  (fPt) ApplyCat←P2460) );
   (* (( (ptr) gf←c0654)+80) ) = ( ((word)  (fPt) ApplyInvert←P2520) );
   (* (( (ptr) gf←c0654)+78) ) = ( ((word)  (fPt) Transform←P2580) );
   (* (( (ptr) gf←c0654)+76) ) = ( ((word)  (fPt) TransformVec←P2640) );
   (* (( (ptr) gf←c0654)+74) ) = ( ((word)  (fPt) InverseTransform←P2700) );
   (* (( (ptr) gf←c0654)+72) ) = ( ((word)  (fPt) InverseTransformVec←P2760) );
   (* (( (ptr) gf←c0654)+70) ) = ( ((word)  (fPt) DRound←P2880) );
   (* (( (ptr) gf←c0654)+68) ) = ( ((word)  (fPt) RoundXY←P2940) );
   (* (( (ptr) gf←c0654)+66) ) = ( ((word)  (fPt) RoundXYVec←P3000) );
   (* (( (ptr) gf←c0654)+64) ) = ( ((word)  (fPt) TransformRectangle←P3060) );
   (* (( (ptr) gf←c0654)+62) ) = ( ((word)  (fPt) InverseTransformRectangle←P3120) );
   (* (( (ptr) gf←c0654)+60) ) = ( ((word)  (fPt) RestrictAbsTo←P3180) );
   (* (( (ptr) gf←c0654)+58) ) = ( ((word)  (fPt) EasyTransformation←P3240) );
   (* (( (ptr) gf←c0654)+56) ) = ( ((word)  (fPt) EasyTransformBox←P3300) );
   (* (( (ptr) gf←c0654)+54) ) = ( ((word)  (fPt) Singular←P3360) );
   (* (( (ptr) gf←c0654)+52) ) = ( ((word)  (fPt) Factor←P3420) );
   (* (( (ptr) gf←c0654)+50) ) = ( ((word)  (fPt) Equal←P3480) );
   (* (( (ptr) gf←c0654)+48) ) = ( ((word)  (fPt) WithinQuarterPixel←P3540) );
   (* (( (ptr) gf←c0654)+46) ) = ( ((word)  (fPt) CloseEnough←P3600) );
   (* (( (ptr) gf←c0654)+44) ) = ( ((word)  (fPt) CloseToTranslation←P3660) );
   (* (( (ptr) gf←c0654)+42) ) = ( ((word)  (fPt) SingularValues←P3720) );
   (* (( (ptr) gf←c0654)+40) ) = ( ((word)  (fPt) Different←P3780) );
   (* (( (ptr) gf←c0654)+38) ) = ( ((word)  (fPt) ShouldBeSameT←P3840) );
   (* (( (ptr) gf←c0654)+36) ) = ( ((word)  (fPt) ShouldBeSamePt←P3900) );
   (* (( (ptr) gf←c0654)+34) ) = ( ((word)  (fPt) TestTransformation←P3960) );
   (* (( (ptr) gf←c0654)+32) ) = ( ((word)  (fPt) SelfTest←P4020) );
   (* (( (ptr) gf←c0654)+22) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0654)+23) ) = (word) XR←GetTypeIndexS((word) (&string7));
   (* (( (ptr) gf←c0654)+24) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (* (( (ptr) gf←c0654)+25) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string6);
   (*  (ptr) (( (bPt) gf←c0654)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0654)+25) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0654)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0654)+22) ), (word) &string12);
   (void) XR←DeclareGlobalFrame((word) "ImagerTransformationImpl", &globalframe, (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14)
      , (word) (( (bPt) gf←c0654)+640)/* var←c27204 */ );
   var←c34820 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string15)), 3);
   (* (( (ptr) gf←c0654)+162)/* var←c27236 */  ) = var←c34820;
   var←c34820 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string16)), 11);
   (* (( (ptr) gf←c0654)+163)/* var←c27396 */  ) = var←c34820;
   (void) XR←ImportProcS(var←c34820, 67633154);
   (void) XR←ImportProcS(var←c34820, 67372033);
   (void) XR←ImportProcS(var←c34820, 67371521);
   var←c34820 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string17)), 36);
   (* (( (ptr) gf←c0654)+164)/* var←c27428 */  ) = var←c34820;
   (void) XR←ImportProcS(var←c34820, 67372289);
   (void) XR←ImportProcS(var←c34820, 67636482);
   (void) XR←ImportProcS(var←c34820, 67372801);
   (void) XR←ImportProcS(var←c34820, 67373313);
   var←c34820 = (word) XR←ImportInterface((word) "SafeStorage", (word) XR←GetTypeIndexS((word) (&string18)), 27);
   (* (( (ptr) gf←c0654)+165)/* var←c28004 */  ) = var←c34820;
   (void) XR←ImportProcS(var←c34820, 67109376);
   var←c34820 = (word) XR←ExportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string19)), 55);
   (* (( (ptr) gf←c0654)+166)/* var←c34852 */  ) = var←c34820;
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+592)/* var←c27012 */ , 68681734, (word) "Create");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+600)/* var←c27044 */ , 262401, (word) "Destroy");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+536)/* var←c26788 */ , 67371521, (word) "Copy");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+584)/* var←c26980 */ , 67371777, (word) "Scale");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+576)/* var←c26948 */ , 67634177, (word) "Scale2");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+568)/* var←c26916 */ , 67372289, (word) "Rotate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+560)/* var←c26884 */ , 67634689, (word) "Translate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+552)/* var←c26852 */ , 67897091, (word) "SFToXY");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+544)/* var←c26820 */ , 67897347, (word) "XYToSF");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+528)/* var←c26756 */ , 67635458, (word) "Concat");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+448)/* var←c26436 */ , 68160004, (word) "Cat");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+520)/* var←c26724 */ , 67635970, (word) "PreScale");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+512)/* var←c26692 */ , 67898370, (word) "PreScale2");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+504)/* var←c26660 */ , 67636482, (word) "PreRotate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+496)/* var←c26628 */ , 67898882, (word) "PreTranslate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+488)/* var←c26596 */ , 67636994, (word) "PostScale");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+480)/* var←c26564 */ , 67899394, (word) "PostScale2");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+472)/* var←c26532 */ , 67637506, (word) "PostRotate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+464)/* var←c26500 */ , 67899906, (word) "PostTranslate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+456)/* var←c26468 */ , 67900162, (word) "TranslateTo");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+432)/* var←c26372 */ , 529410, (word) "ApplyPreConcat");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+424)/* var←c26340 */ , 529666, (word) "ApplyPreScale");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+416)/* var←c26308 */ , 792066, (word) "ApplyPreScale2");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+408)/* var←c26276 */ , 530178, (word) "ApplyPreRotate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+400)/* var←c26244 */ , 792578, (word) "ApplyPreTranslate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+392)/* var←c26212 */ , 1054980, (word) "ApplySFToXY");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+384)/* var←c26180 */ , 530946, (word) "ApplyPostConcat");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+376)/* var←c26148 */ , 531202, (word) "ApplyPostScale");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+368)/* var←c26116 */ , 793602, (word) "ApplyPostScale2");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+360)/* var←c26084 */ , 531714, (word) "ApplyPostRotate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+352)/* var←c26052 */ , 794114, (word) "ApplyPostTranslate");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+344)/* var←c26020 */ , 1056516, (word) "ApplyXYToSF");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+336)/* var←c25988 */ , 794626, (word) "ApplyTranslateTo");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+328)/* var←c25956 */ , 1319173, (word) "ApplyCat");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+320)/* var←c25924 */ , 270849, (word) "ApplyInvert");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+312)/* var←c25892 */ , 135013122, (word) "Transform");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+304)/* var←c25860 */ , 135013378, (word) "TransformVec");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+296)/* var←c25828 */ , 135013634, (word) "InverseTransform");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+288)/* var←c25796 */ , 135013890, (word) "InverseTransformVec")
   ;
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+280)/* var←c25764 */ , 134752001, (word) "DRound");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+272)/* var←c25732 */ , 135014402, (word) "RoundXY");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+264)/* var←c25700 */ , 135014658, (word) "RoundXYVec");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+256)/* var←c25668 */ , 269756930, (word) "TransformRectangle")
   ;
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+248)/* var←c25636 */ , 269757186, (word) "InverseTransformRectangle")
   ;
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+232)/* var←c25572 */ , 67382273, (word) "EasyTransformation")
   ;
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+224)/* var←c25540 */ , 270806278, (word) "EasyTransformBox");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+208)/* var←c25476 */ , 402927105, (word) "Factor");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+440)/* var←c26404 */ , 67383041, (word) "Invert");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+216)/* var←c25508 */ , 67383297, (word) "Singular");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+200)/* var←c25444 */ , 67645698, (word) "Equal");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+184)/* var←c25380 */ , 67908099, (word) "CloseEnough");
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+176)/* var←c25348 */ , 67908355, (word) "CloseToTranslation")
   ;
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+168)/* var←c25316 */ , 134493185, (word) "SingularValues");
   (void) XR←ExportVar(var←c34820, 53, (word) (( (bPt) gf←c0654)+124));
   (void) XR←ExportProcS(var←c34820, (word) (( (bPt) gf←c0654)+624)/* var←c27140 */ , 134493697, (word) "CISDeg");
   }

static void ImagerTransformationImpl←P0(formal←c084, formal←c083)
   word formal←c084;
   word formal←c083;
   {
   /* ImagerTransformationImpl: */ 
SOURCE(382, 22705)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   }

static void Bitch←P60(m←v5096)
   word m←v5096;
   {
   register ptr gf←c34884 =  (ptr) &globalframe;
   /* Bitch: */ 
SOURCE(669, 148)
SOURCE(705, 112)
   {
      word var←c27268;
      {
         word var←c27300;
         word var←c27332;
         var←c27300 = XR←NewObject(12, (* (( (ptr) gf←c34884)+24) ));
         var←c27332 = var←c27300;
         (*  (ptr) var←c27332 ) = (* (( (ptr) gf←c34884)+28) );
         (* (( (ptr) var←c27332)+1) ) = m←v5096;
         var←c27268 = var←c27300;
         };
      {
         W3 var←c090;
         var←c090.f0 = 73;
         var←c090.f1 = (* (( (ptr) gf←c34884)+29) );
         var←c090.f2 = var←c27268;
         (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c34884)+162)/* var←c27236 */  ))+4) ), (word) &var←c090);
         };
      };
   }

static void CISDeg←P180(formal←c098, degrees←v5216)
   word formal←c098;
   word degrees←v5216;
   {
   register ptr gf←c34916 =  (ptr) &globalframe;
   word var←c0676;
   word var←c0677;
   word i←v12936;
   word d←v12964;
   word cosd←v12992;
   word sind←v13020;
   /* CISDeg: */ 
SOURCE(904, 381)
   /* Return var split */ 
SOURCE(958, 33)
   {
      word pd20;
      word x21;
      word x23;
      float tf24;
      pd20 = (* (( (ptr) (* (( (ptr) gf←c34916)+163)/* var←c27396 */  ))+6) );
      i←v12936 = (word) ( *( (fPt) ((*  (ptr) pd20 ))))((
            tf24 = (
               x21 = degrees←v5216,  *(float*)&x21
               ) / (
               x23 = (*  (ptr) &fc22 ),  *(float*)&x23
               ),  *(word*)&tf24
            ), pd20);
      };
SOURCE(993, 26)
   {
      word x25;
      word x26;
      *(float*)&d←v12964 = (
         x25 = degrees←v5216,  *(float*)&x25
         ) - ((float)(int)i←v12936 * (
         x26 = (*  (ptr) &fc22 ),  *(float*)&x26
         ));
      };
SOURCE(1021, 55)
   {
      word tc27;
      word x28;
      word x30;
      word pd32;
      if (((
         x28 = d←v12964,  *(float*)&x28
         ) == (
         x30 = (*  (ptr) &fc29 ),  *(float*)&x30
         ))) {
         tc27 =  (word) (*  (ptr) &fc31 );
         }
      else {
         pd32 = (* (( (ptr) (* (( (ptr) gf←c34916)+164)/* var←c27428 */  ))+13) );
         tc27 =  (word) ( *( (fPt) ((*  (ptr) pd32 ))))(d←v12964, pd32);
         };
      cosd←v12992 = tc27;
      };
SOURCE(1078, 55)
   {
      word tc33;
      word x34;
      word x35;
      word pd36;
      if (((
         x34 = d←v12964,  *(float*)&x34
         ) == (
         x35 = (*  (ptr) &fc29 ),  *(float*)&x35
         ))) {
         tc33 =  (word) (*  (ptr) &fc29 );
         }
      else {
         pd36 = (* (( (ptr) (* (( (ptr) gf←c34916)+164)/* var←c27428 */  ))+11) );
         tc33 =  (word) ( *( (fPt) ((*  (ptr) pd36 ))))(d←v12964, pd36);
         };
      sind←v13020 = tc33;
      };
SOURCE(1135, 150)
   {
      word var←c27460;
      var←c27460 = (i←v12936 & 3);
      switch (var←c27460) {
         case 0: 
SOURCE(1176, 21)
            var←c0676 = cosd←v12992;
            var←c0677 = sind←v13020;
            /* removed tail goto */ 
            break;
         case 1: 
SOURCE(1204, 22)
            {
               word x37;
               *(float*)&var←c0676 =  - (
                  x37 = sind←v13020,  *(float*)&x37
                  );
               };
            var←c0677 = cosd←v12992;
            /* removed tail goto */ 
            break;
         case 2: 
SOURCE(1233, 23)
            {
               word x38;
               *(float*)&var←c0676 =  - (
                  x38 = cosd←v12992,  *(float*)&x38
                  );
               };
            {
               word x39;
               *(float*)&var←c0677 =  - (
                  x39 = sind←v13020,  *(float*)&x39
                  );
               };
            /* removed tail goto */ 
            break;
         case 3: 
SOURCE(1263, 22)
            var←c0676 = sind←v13020;
            {
               word x40;
               *(float*)&var←c0677 =  - (
                  x40 = cosd←v12992,  *(float*)&x40
                  );
               };
            /* removed tail goto */ 
            break;
         default: 
SOURCE(1298, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   (* (( (ptr) formal←c098)+1) ) = var←c0677;
   (*  (ptr) formal←c098 ) = var←c0676;
   return;
   }

static void Validate←P300(m←v5424)
   word m←v5424;
   {
   register ptr gf←c34948 =  (ptr) &globalframe;
   word form←v13064 = 0;
   word integerTrans←v13092 = 1;
   word tx←v13120 = 0;
   word ty←v13148 = 0;
   /* Validate: */ 
SOURCE(1425, 821)
   if (((* (( (ptr) m←v5424)+9) ) > 10)) {
SOURCE(1559, 13)
      form←v13064 = (* (( (ptr) m←v5424)+9) );
      }
   else {
      {
         word x41;
         word x42;
         word x43;
         word x44;
         if ( ( ((
            x41 = (* (( (ptr) m←v5424)+1) ),  *(float*)&x41
            ) == (
            x42 = (*  (ptr) &fc29 ),  *(float*)&x42
            )) ? ((
            x43 = (* (( (ptr) m←v5424)+3) ),  *(float*)&x43
            ) == (
            x44 = (*  (ptr) &fc29 ),  *(float*)&x44
            )) : 0 ) ) {
            {
               word var←c27620;
               word r←v24884;
               word var←c27652;
               word r←v24836;
               word var←c27684;
               word r←v24788;
               word var←c27716;
               word r←v24740;
               word var←c27748;
               word r←v24692;
               word var←c27780;
               word r←v24644;
SOURCE(1597, 8)
               form←v13064 = 1;
SOURCE(1607, 168)
               r←v24884 = (*  (ptr) m←v5424 );
SOURCE(1356, 23)
               {
                  word x45;
                  word x47;
                  word x49;
                  var←c27620 =  (unsigned) ((
                     x45 = r←v24884,  *(float*)&x45
                     ) + (
                     x47 = (*  (ptr) &fc46 ),  *(float*)&x47
                     ) == (
                     x49 = (*  (ptr) &fc48 ),  *(float*)&x49
                     ));
                  };
               if ((0 != var←c27620)) {
SOURCE(1627, 60)
                  r←v24836 = (* (( (ptr) m←v5424)+4) );
SOURCE(1356, 23)
                  {
                     word x50;
                     word x51;
                     word x52;
                     var←c27652 =  (unsigned) ((
                        x50 = r←v24836,  *(float*)&x50
                        ) + (
                        x51 = (*  (ptr) &fc46 ),  *(float*)&x51
                        ) == (
                        x52 = (*  (ptr) &fc48 ),  *(float*)&x52
                        ));
                     };
                  if ((0 != var←c27652)) {
SOURCE(1645, 14)
                     form←v13064 = 3;
                     }
                  else {
SOURCE(1659, 28)
                     {
                        word x53;
                        *(float*)&r←v24788 =  - (
                           x53 = (* (( (ptr) m←v5424)+4) ),  *(float*)&x53
                           );
                        };
SOURCE(1356, 23)
                     {
                        word x54;
                        word x55;
                        word x56;
                        var←c27684 =  (unsigned) ((
                           x54 = r←v24788,  *(float*)&x54
                           ) + (
                           x55 = (*  (ptr) &fc46 ),  *(float*)&x55
                           ) == (
                           x56 = (*  (ptr) &fc48 ),  *(float*)&x56
                           ));
                        };
                     if ((0 != var←c27684)) {
SOURCE(1678, 9)
                        form←v13064 = 4;
                        };
                     };
                  }
               else {
SOURCE(1694, 81)
                  {
                     word x57;
                     *(float*)&r←v24740 =  - (
                        x57 = (*  (ptr) m←v5424 ),  *(float*)&x57
                        );
                     };
SOURCE(1356, 23)
                  {
                     word x58;
                     word x59;
                     word x60;
                     var←c27716 =  (unsigned) ((
                        x58 = r←v24740,  *(float*)&x58
                        ) + (
                        x59 = (*  (ptr) &fc46 ),  *(float*)&x59
                        ) == (
                        x60 = (*  (ptr) &fc48 ),  *(float*)&x60
                        ));
                     };
                  if ((0 != var←c27716)) {
SOURCE(1715, 60)
                     r←v24692 = (* (( (ptr) m←v5424)+4) );
SOURCE(1356, 23)
                     {
                        word x61;
                        word x62;
                        word x63;
                        var←c27748 =  (unsigned) ((
                           x61 = r←v24692,  *(float*)&x61
                           ) + (
                           x62 = (*  (ptr) &fc46 ),  *(float*)&x62
                           ) == (
                           x63 = (*  (ptr) &fc48 ),  *(float*)&x63
                           ));
                        };
                     if ((0 != var←c27748)) {
SOURCE(1733, 14)
                        form←v13064 = 5;
                        }
                     else {
SOURCE(1747, 28)
                        {
                           word x64;
                           *(float*)&r←v24644 =  - (
/*1*/   x64 = (* (( (ptr) m←v5424)+4) ),  *(float*)&x64
/*1*/   );
                           };
SOURCE(1356, 23)
                        {
                           word x65;
                           word x66;
                           word x67;
                           var←c27780 =  (unsigned) ((
/*1*/   x65 = r←v24644,  *(float*)&x65
/*1*/   ) + (
/*1*/   x66 = (*  (ptr) &fc46 ),  *(float*)&x66
/*1*/   ) == (
/*1*/   x67 = (*  (ptr) &fc48 ),  *(float*)&x67
/*1*/   ));
                           };
                        if ((0 != var←c27780)) {
SOURCE(1766, 9)
                           form←v13064 = 6;
                           };
                        };
                     };
                  };
               };
            }
         else {
            {
               word x68;
               word x69;
               word x70;
               word x71;
               if ( ( ((
                  x68 = (*  (ptr) m←v5424 ),  *(float*)&x68
                  ) == (
                  x69 = (*  (ptr) &fc29 ),  *(float*)&x69
                  )) ? ((
                  x70 = (* (( (ptr) m←v5424)+4) ),  *(float*)&x70
                  ) == (
                  x71 = (*  (ptr) &fc29 ),  *(float*)&x71
                  )) : 0 ) ) {
                  {
                     word var←c27812;
                     word r←v24596;
                     word var←c27844;
                     word r←v24548;
                     word var←c27876;
                     word r←v24500;
                     word var←c27908;
                     word r←v24452;
                     word var←c27940;
                     word r←v24404;
                     word var←c27972;
                     word r←v24356;
SOURCE(1804, 8)
                     form←v13064 = 2;
SOURCE(1814, 169)
                     r←v24596 = (* (( (ptr) m←v5424)+1) );
SOURCE(1356, 23)
                     {
                        word x72;
                        word x73;
                        word x74;
                        var←c27812 =  (unsigned) ((
                           x72 = r←v24596,  *(float*)&x72
                           ) + (
                           x73 = (*  (ptr) &fc46 ),  *(float*)&x73
                           ) == (
                           x74 = (*  (ptr) &fc48 ),  *(float*)&x74
                           ));
                        };
                     if ((0 != var←c27812)) {
SOURCE(1834, 60)
                        r←v24548 = (* (( (ptr) m←v5424)+3) );
SOURCE(1356, 23)
                        {
                           word x75;
                           word x76;
                           word x77;
                           var←c27844 =  (unsigned) ((
/*1*/   x75 = r←v24548,  *(float*)&x75
/*1*/   ) + (
/*1*/   x76 = (*  (ptr) &fc46 ),  *(float*)&x76
/*1*/   ) == (
/*1*/   x77 = (*  (ptr) &fc48 ),  *(float*)&x77
/*1*/   ));
                           };
                        if ((0 != var←c27844)) {
SOURCE(1852, 14)
                           form←v13064 = 7;
                           }
                        else {
SOURCE(1866, 28)
                           {
/*1*/   word x78;
/*1*/   *(float*)&r←v24500 =  - (
/*1*/      x78 = (* (( (ptr) m←v5424)+3) ),  *(float*)&x78
/*1*/      );
/*1*/   };
SOURCE(1356, 23)
                           {
/*1*/   word x79;
/*1*/   word x80;
/*1*/   word x81;
/*1*/   var←c27876 =  (unsigned) ((
/*1*/      x79 = r←v24500,  *(float*)&x79
/*1*/      ) + (
/*1*/      x80 = (*  (ptr) &fc46 ),  *(float*)&x80
/*1*/      ) == (
/*1*/      x81 = (*  (ptr) &fc48 ),  *(float*)&x81
/*1*/      ));
/*1*/   };
                           if ((0 != var←c27876)) {
SOURCE(1885, 9)
/*1*/   form←v13064 = 8;
/*1*/   };
                           };
                        }
                     else {
SOURCE(1901, 82)
                        {
                           word x82;
                           *(float*)&r←v24452 =  - (
/*1*/   x82 = (* (( (ptr) m←v5424)+1) ),  *(float*)&x82
/*1*/   );
                           };
SOURCE(1356, 23)
                        {
                           word x83;
                           word x84;
                           word x85;
                           var←c27908 =  (unsigned) ((
/*1*/   x83 = r←v24452,  *(float*)&x83
/*1*/   ) + (
/*1*/   x84 = (*  (ptr) &fc46 ),  *(float*)&x84
/*1*/   ) == (
/*1*/   x85 = (*  (ptr) &fc48 ),  *(float*)&x85
/*1*/   ));
                           };
                        if ((0 != var←c27908)) {
SOURCE(1922, 61)
                           r←v24404 = (* (( (ptr) m←v5424)+3) );
SOURCE(1356, 23)
                           {
/*1*/   word x86;
/*1*/   word x87;
/*1*/   word x88;
/*1*/   var←c27940 =  (unsigned) ((
/*1*/      x86 = r←v24404,  *(float*)&x86
/*1*/      ) + (
/*1*/      x87 = (*  (ptr) &fc46 ),  *(float*)&x87
/*1*/      ) == (
/*1*/      x88 = (*  (ptr) &fc48 ),  *(float*)&x88
/*1*/      ));
/*1*/   };
                           if ((0 != var←c27940)) {
SOURCE(1940, 14)
/*1*/   form←v13064 = 9;
/*1*/   }
                           else {
SOURCE(1954, 29)
/*1*/   {
/*1*/      word x89;
/*1*/      *(float*)&r←v24356 =  - (
/*1*/         x89 = (* (( (ptr) m←v5424)+3) ),  *(float*)&x89
/*1*/         );
/*1*/      };
SOURCE(1356, 23)
/*1*/   {
/*1*/      word x90;
/*1*/      word x91;
/*1*/      word x92;
/*1*/      var←c27972 =  (unsigned) ((
/*1*/         x90 = r←v24356,  *(float*)&x90
/*1*/         ) + (
/*1*/         x91 = (*  (ptr) &fc46 ),  *(float*)&x91
/*1*/         ) == (
/*1*/         x92 = (*  (ptr) &fc48 ),  *(float*)&x92
/*1*/         ));
/*1*/      };
/*1*/   if ((0 != var←c27972)) {
SOURCE(1973, 10)
/*1*/      form←v13064 = 10;
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(2006, 85)
   {
      float tf93;
      word x94;
      word x95;
      if ((FABS((
            x94 = (* (( (ptr) m←v5424)+2) ),  *(float*)&x94
            ), tf93) <= (
         x95 = (* (( (ptr) gf←c34948)+8)/* floatHalfLastInt←v3000 */  ),  *(float*)&x95
         ))) {
SOURCE(2041, 30)
         {
            word pd96;
            word x97;
            word x99;
            float tf100;
            pd96 = (* (( (ptr) (* (( (ptr) gf←c34948)+163)/* var←c27396 */  ))+8) );
            tx←v13120 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))((
                  tf100 = (
                     x97 = (* (( (ptr) m←v5424)+2) ),  *(float*)&x97
                     ) + (
                     x99 = (*  (ptr) &fc98 ),  *(float*)&x99
                     ),  *(word*)&tf100
                  ), pd96);
            };
         }
      else {
SOURCE(2071, 20)
         integerTrans←v13092 = 0;
         };
      };
SOURCE(2093, 85)
   {
      float tf101;
      word x102;
      word x103;
      if ((FABS((
            x102 = (* (( (ptr) m←v5424)+5) ),  *(float*)&x102
            ), tf101) <= (
         x103 = (* (( (ptr) gf←c34948)+8)/* floatHalfLastInt←v3000 */  ),  *(float*)&x103
         ))) {
SOURCE(2128, 30)
         {
            word pd104;
            word x105;
            word x106;
            float tf107;
            pd104 = (* (( (ptr) (* (( (ptr) gf←c34948)+163)/* var←c27396 */  ))+8) );
            ty←v13148 = (word) ( *( (fPt) ((*  (ptr) pd104 ))))((
                  tf107 = (
                     x105 = (* (( (ptr) m←v5424)+5) ),  *(float*)&x105
                     ) + (
                     x106 = (*  (ptr) &fc98 ),  *(float*)&x106
                     ),  *(word*)&tf107
                  ), pd104);
            };
         }
      else {
SOURCE(2158, 20)
         integerTrans←v13092 = 0;
         };
      };
SOURCE(2180, 13)
   (* (( (ptr) m←v5424)+9) ) = form←v13064;
SOURCE(2195, 9)
   (* (( (ptr) m←v5424)+6) ) = tx←v13120;
SOURCE(2206, 9)
   (* (( (ptr) m←v5424)+7) ) = ty←v13148;
SOURCE(2217, 29)
   (* (( (ptr) m←v5424)+8) ) = integerTrans←v13092;
   }

static word New←P360(rep←v5520)
   W10 rep←v5520;
   {
   register ptr gf←c34980 =  (ptr) &globalframe;
   word var←c5564;
   word m←v13192 = 0;
   /* New: */ 
SOURCE(2384, 299)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c34980)+16)/* LOCK←v2748 */ ));
SOURCE(2479, 180)
   if (((* (( (ptr) gf←c34980)+9)/* nScratch←v3084 */  ) == 0) || (0 != (* (( (ptr) gf←c34980)+15)/* alwaysAlloc←v3140 */  ))) {
SOURCE(2523, 59)
SOURCE(2525, 57)
      {
         word var←c28036;
         {
            word pd108;
            pd108 = (* (( (ptr) (* (( (ptr) gf←c34980)+165)/* var←c28004 */  ))+6) );
            var←c28036 = (word) ( *( (fPt) ((*  (ptr) pd108 ))))(pd108);
            };
         {
            word pd109;
            pd109 = (*  (ptr) var←c28036 );
            m←v13192 = (word) ( *( (fPt) ((*  (ptr) pd109 ))))(var←c28036, 40, (* (( (ptr) gf←c34980)+23) ), pd109);
            };
         };
      }
   else {
SOURCE(2590, 21)
      {
         word idx110;
         (* (( (ptr) gf←c34980)+9)/* nScratch←v3084 */  ) = (
            idx110 = (word) ((* (( (ptr) gf←c34980)+9)/* nScratch←v3084 */  ) - 1),
            SGNCK(idx110)
            );
         };
SOURCE(2613, 21)
      {
         word idx111;
         m←v13192 = (* ((( (ptr) gf←c34980)+10)/* scratch←v3112 */ +(
               idx111 = (* (( (ptr) gf←c34980)+9)/* nScratch←v3084 */  ),
               BCK(idx111, 5)
               )) );
         };
SOURCE(2636, 23)
      {
         word idx112;
         (* ((( (ptr) gf←c34980)+10)/* scratch←v3112 */ +(
               idx112 = (* (( (ptr) gf←c34980)+9)/* nScratch←v3084 */  ),
               BCK(idx112, 5)
               )) ) = 0;
         };
      };
SOURCE(2662, 8)
   (*  (W10Pt) m←v13192 ) = rep←v5520;
SOURCE(2672, 11)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c34980)+16)/* LOCK←v2748 */ ));
   return(m←v13192);
   }

static void Destroy←P420(m←v5640)
   word m←v5640;
   {
   register ptr gf←c35012 =  (ptr) &globalframe;
   word var←c28100;
   word var←c28132;
   word var←c28196;
   /* Destroy: */ 
SOURCE(2727, 467)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c35012)+16)/* LOCK←v2748 */ ));
SOURCE(2778, 58)
   if ((m←v5640 == 0)) {
SOURCE(2794, 42)
      var←c28100 = (word) (( (bPt) gf←c35012)+120);
      (void) (XR←MonitorExit((word) (( (bPt) gf←c35012)+16)/* LOCK←v2748 */ ));
      goto lab←L100013;
      };
SOURCE(2838, 69)
   if (((* (( (ptr) m←v5640)+9) ) == 2147483647)) {
SOURCE(2865, 42)
      var←c28132 = (word) (( (bPt) gf←c35012)+120);
      (void) (XR←MonitorExit((word) (( (bPt) gf←c35012)+16)/* LOCK←v2748 */ ));
      goto lab←L100014;
      };
SOURCE(2909, 96)
   {
      register word i←v13236 = 0;
      register word noName←c28164;
      noName←c28164 = (* (( (ptr) gf←c35012)+9)/* nScratch←v3084 */  );
      if ((i←v13236 >= noName←c28164)) {
         goto lab←L100015;
         };
      lab←L100018: ;
SOURCE(2940, 65)
      if ((m←v5640 == (* ((( (ptr) gf←c35012)+10)/* scratch←v3112 */ +BCK(i←v13236, 5)) ))) {
SOURCE(2963, 42)
         var←c28196 = (word) (( (bPt) gf←c35012)+120);
         (void) (XR←MonitorExit((word) (( (bPt) gf←c35012)+16)/* LOCK←v2748 */ ));
         goto lab←L100019;
         };
      i←v13236 = (i←v13236 + 1);
      if ((i←v13236 < noName←c28164)) {
         goto lab←L100018;
         };
      lab←L100015: ;
      };
SOURCE(3016, 51)
   (* (( (ptr) m←v5640)+5) ) = 2139095042;
   (* (( (ptr) m←v5640)+4) ) = 2139095042;
   (* (( (ptr) m←v5640)+3) ) = 2139095042;
   (* (( (ptr) m←v5640)+2) ) = 2139095042;
   (* (( (ptr) m←v5640)+1) ) = 2139095042;
   (*  (ptr) m←v5640 ) = 2139095042;
SOURCE(3069, 18)
   (* (( (ptr) m←v5640)+9) ) = 2147483647;
SOURCE(3089, 22)
   (* (( (ptr) m←v5640)+8) ) = 0;
SOURCE(3114, 80)
   if (((* (( (ptr) gf←c35012)+9)/* nScratch←v3084 */  ) < 5)) {
SOURCE(3147, 21)
      {
         word idx113;
         (* ((( (ptr) gf←c35012)+10)/* scratch←v3112 */ +(
               idx113 = (* (( (ptr) gf←c35012)+9)/* nScratch←v3084 */  ),
               BCK(idx113, 5)
               )) ) = m←v5640;
         };
SOURCE(3170, 24)
      (* (( (ptr) gf←c35012)+9)/* nScratch←v3084 */  ) = ((* (( (ptr) gf←c35012)+9)/* nScratch←v3084 */  ) + 1);
      };
SOURCE(2727, 467)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c35012)+16)/* LOCK←v2748 */ ));
   return;
   /* c2c skipped dead code */ 
   lab←L100013: ;
SOURCE(2794, 42)
   (void) XR←RaiseError(var←c28100, 0);
   lab←L100014: ;
SOURCE(2865, 42)
   (void) XR←RaiseError(var←c28132, 0);
   lab←L100019: ;
SOURCE(2963, 42)
   (void) XR←RaiseError(var←c28196, 0);
   }

static word Create←P480(a←v5700, b←v5728, c←v5756, d←v5784, e←v5812, f←v5840)
   word a←v5700;
   word b←v5728;
   word c←v5756;
   word d←v5784;
   word e←v5812;
   word f←v5840;
   {
   word var←c5884;
   word new←v13280;
   /* Create: */ 
SOURCE(3201, 165)
SOURCE(3275, 63)
   {
      W10 var←c28228;
      (*  (ptr) &var←c28228 ) = a←v5700;
      (* (( (ptr) &var←c28228)+1) ) = b←v5728;
      (* (( (ptr) &var←c28228)+2) ) = c←v5756;
      (* (( (ptr) &var←c28228)+3) ) = d←v5784;
      (* (( (ptr) &var←c28228)+4) ) = e←v5812;
      (* (( (ptr) &var←c28228)+5) ) = f←v5840;
      (* (( (ptr) &var←c28228)+6) ) = 0;
      (* (( (ptr) &var←c28228)+7) ) = 0;
      (* (( (ptr) &var←c28228)+8) ) = 0;
      (* (( (ptr) &var←c28228)+9) ) = 0;
      new←v13280 = (word) New←P360(var←c28228);
      };
SOURCE(3340, 13)
   (void) Validate←P300(new←v13280);
SOURCE(3355, 11)
   return(new←v13280);
   }

static word Scale←P540(s←v5944)
   word s←v5944;
   {
   word var←c5988;
   word new←v13324;
   /* Scale: */ 
SOURCE(3372, 149)
SOURCE(3430, 63)
   {
      W10 var←c28260;
      (*  (ptr) &var←c28260 ) = s←v5944;
      (* (( (ptr) &var←c28260)+1) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28260)+2) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28260)+3) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28260)+4) ) = s←v5944;
      (* (( (ptr) &var←c28260)+5) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28260)+6) ) = 0;
      (* (( (ptr) &var←c28260)+7) ) = 0;
      (* (( (ptr) &var←c28260)+8) ) = 0;
      (* (( (ptr) &var←c28260)+9) ) = 0;
      new←v13324 = (word) New←P360(var←c28260);
      };
SOURCE(3495, 13)
   (void) Validate←P300(new←v13324);
SOURCE(3510, 11)
   return(new←v13324);
   }

static word Scale2←P600(s←v6048)
   W2 s←v6048;
   {
   word var←c6092;
   word new←v13368;
   /* Scale2: */ 
SOURCE(3527, 153)
SOURCE(3585, 67)
   {
      W10 var←c28292;
      (*  (ptr) &var←c28292 ) = s←v6048.f0;
      (* (( (ptr) &var←c28292)+1) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28292)+2) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28292)+3) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28292)+4) ) = s←v6048.f1;
      (* (( (ptr) &var←c28292)+5) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28292)+6) ) = 0;
      (* (( (ptr) &var←c28292)+7) ) = 0;
      (* (( (ptr) &var←c28292)+8) ) = 0;
      (* (( (ptr) &var←c28292)+9) ) = 0;
      new←v13368 = (word) New←P360(var←c28292);
      };
SOURCE(3654, 13)
   (void) Validate←P300(new←v13368);
SOURCE(3669, 11)
   return(new←v13368);
   }

static word Rotate←P660(r←v6152)
   word r←v6152;
   {
   word var←c6196;
   W2 cis←v13412;
   word new←v13440;
   /* Rotate: */ 
SOURCE(3686, 189)
SOURCE(3745, 20)
   (void) CISDeg←P180((word) &cis←v13412, r←v6152);
SOURCE(3767, 80)
   {
      W10 var←c28324;
      (*  (ptr) &var←c28324 ) = cis←v13412.f0;
      {
         word x114;
         *(float*)(( (ptr) &var←c28324)+1) =  - (
            x114 = cis←v13412.f1,  *(float*)&x114
            );
         };
      (* (( (ptr) &var←c28324)+2) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28324)+3) ) = cis←v13412.f1;
      (* (( (ptr) &var←c28324)+4) ) = cis←v13412.f0;
      (* (( (ptr) &var←c28324)+5) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28324)+6) ) = 0;
      (* (( (ptr) &var←c28324)+7) ) = 0;
      (* (( (ptr) &var←c28324)+8) ) = 0;
      (* (( (ptr) &var←c28324)+9) ) = 0;
      new←v13440 = (word) New←P360(var←c28324);
      };
SOURCE(3849, 13)
   (void) Validate←P300(new←v13440);
SOURCE(3864, 11)
   return(new←v13440);
   }

static word Translate←P720(t←v6256)
   W2 t←v6256;
   {
   word var←c6300;
   word new←v13484;
   /* Translate: */ 
SOURCE(3881, 156)
SOURCE(3942, 67)
   {
      W10 var←c28356;
      (*  (ptr) &var←c28356 ) = (*  (ptr) &fc31 );
      (* (( (ptr) &var←c28356)+1) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28356)+2) ) = t←v6256.f0;
      (* (( (ptr) &var←c28356)+3) ) = (*  (ptr) &fc29 );
      (* (( (ptr) &var←c28356)+4) ) = (*  (ptr) &fc31 );
      (* (( (ptr) &var←c28356)+5) ) = t←v6256.f1;
      (* (( (ptr) &var←c28356)+6) ) = 0;
      (* (( (ptr) &var←c28356)+7) ) = 0;
      (* (( (ptr) &var←c28356)+8) ) = 0;
      (* (( (ptr) &var←c28356)+9) ) = 0;
      new←v13484 = (word) New←P360(var←c28356);
      };
SOURCE(4011, 13)
   (void) Validate←P300(new←v13484);
SOURCE(4026, 11)
   return(new←v13484);
   }

static word SFToXY←P780(scanMode←v6360, sSize←v6388, fSize←v6416)
   word scanMode←v6360;
   word sSize←v6388;
   word fSize←v6416;
   {
   word var←c6460;
   word a←v13528;
   word b←v13556;
   word d←v13584;
   word e←v13612;
   word tX←v13640;
   word tY←v13668;
   /* SFToXY: */ 
SOURCE(4044, 523)
SOURCE(4133, 78)
   {
      word var←c28388;
      var←c28388 =  (unsigned) (((unsigned)scanMode←v6360 << 28) >> 30);
      if ((var←c28388 == 1)) {
         a←v13528 = (*  (ptr) &fc31 );
         }
      else {
         if ((var←c28388 == 0)) {
            a←v13528 = (*  (ptr) &fc115 );
            }
         else {
            a←v13528 = (*  (ptr) &fc29 );
            };
         };
      };
SOURCE(4213, 78)
   {
      word var←c28420;
      var←c28420 =  (unsigned) (scanMode←v6360 & 3);
      if ((var←c28420 == 1)) {
         b←v13556 = (*  (ptr) &fc31 );
         }
      else {
         if ((var←c28420 == 0)) {
            b←v13556 = (*  (ptr) &fc115 );
            }
         else {
            b←v13556 = (*  (ptr) &fc29 );
            };
         };
      };
SOURCE(4293, 75)
   {
      word var←c28452;
      var←c28452 =  (unsigned) (((unsigned)scanMode←v6360 << 28) >> 30);
      if ((var←c28452 == 2)) {
         d←v13584 = (*  (ptr) &fc31 );
         }
      else {
         if ((var←c28452 == 3)) {
            d←v13584 = (*  (ptr) &fc115 );
            }
         else {
            d←v13584 = (*  (ptr) &fc29 );
            };
         };
      };
SOURCE(4370, 75)
   {
      word var←c28484;
      var←c28484 =  (unsigned) (scanMode←v6360 & 3);
      if ((var←c28484 == 2)) {
         e←v13612 = (*  (ptr) &fc31 );
         }
      else {
         if ((var←c28484 == 3)) {
            e←v13612 = (*  (ptr) &fc115 );
            }
         else {
            e←v13612 = (*  (ptr) &fc29 );
            };
         };
      };
SOURCE(4447, 41)
   {
      word x116;
      word x117;
      float tf118;
      float tf119;
      word x120;
      float tf121;
      tX←v13640 = (
         tf121 = FMAX(( - (((
               x116 = a←v13528,  *(float*)&x116
               ) * (float)(int)sSize←v6388) + ((
               x117 = b←v13556,  *(float*)&x117
               ) * (float)(int)fSize←v6416))), (
               x120 = (*  (ptr) &fc29 ),  *(float*)&x120
               ), tf118, tf119),  *(word*)&tf121
         );
      };
SOURCE(4490, 41)
   {
      word x122;
      word x123;
      float tf124;
      float tf125;
      word x126;
      float tf127;
      tY←v13668 = (
         tf127 = FMAX(( - (((
               x122 = d←v13584,  *(float*)&x122
               ) * (float)(int)sSize←v6388) + ((
               x123 = e←v13612,  *(float*)&x123
               ) * (float)(int)fSize←v6416))), (
               x126 = (*  (ptr) &fc29 ),  *(float*)&x126
               ), tf124, tf125),  *(word*)&tf127
         );
      };
SOURCE(4533, 34)
   return((word) Create←P480(a←v13528, b←v13556, tX←v13640, d←v13584, e←v13612, tY←v13668));
   }

static word XYToSF←P840(scanMode←v6520, sSize←v6548, fSize←v6576)
   word scanMode←v6520;
   word sSize←v6548;
   word fSize←v6576;
   {
   word var←c6620;
   word m←v13712;
   /* XYToSF: */ 
SOURCE(4572, 166)
SOURCE(4661, 50)
   m←v13712 = (word) SFToXY←P780(scanMode←v6520, sSize←v6548, fSize←v6576);
SOURCE(4713, 14)
   (void) ApplyInvert←P2520(m←v13712);
SOURCE(4729, 9)
   return(m←v13712);
   }

static word Copy←P900(m←v6680)
   word m←v6680;
   {
   word var←c6724;
   /* Copy: */ 
SOURCE(4745, 152)
SOURCE(4812, 31)
   if ((m←v6680 == 0)) {
SOURCE(4826, 17)
      return((word) Scale←P540((*  (ptr) (&fc31) )));
      };
SOURCE(4845, 35)
   if (((* (( (ptr) m←v6680)+9) ) == 2147483647)) {
SOURCE(4872, 8)
      (void) Bitch←P60(m←v6680);
      };
SOURCE(4882, 15)
   return((word) New←P360((*  (W10Pt) (m←v6680) )));
   }

static word Concat←P960(m←v6784, n←v6812)
   word m←v6784;
   word n←v6812;
   {
   word var←c6856;
   word new←v13756;
   /* Concat: */ 
SOURCE(4903, 139)
SOURCE(4975, 29)
   new←v13756 = (word) Copy←P900(m←v6784);
SOURCE(5006, 23)
   (void) ApplyPostConcat←P2040(new←v13756, n←v6812);
SOURCE(5031, 11)
   return(new←v13756);
   }

static word PreScale←P1020(m←v6916, s←v6944)
   word m←v6916;
   word s←v6944;
   {
   word var←c6988;
   word new←v13800;
   /* PreScale: */ 
SOURCE(5048, 145)
SOURCE(5128, 29)
   new←v13800 = (word) Copy←P900(m←v6916);
SOURCE(5159, 21)
   (void) ApplyPreScale←P1740(new←v13800, s←v6944);
SOURCE(5182, 11)
   return(new←v13800);
   }

static word PreScale2←P1080(m←v7048, s←v7076)
   word m←v7048;
   W2 s←v7076;
   {
   word var←c7120;
   word new←v13844;
   /* PreScale2: */ 
SOURCE(5199, 146)
SOURCE(5279, 29)
   new←v13844 = (word) Copy←P900(m←v7048);
SOURCE(5310, 22)
   (void) ApplyPreScale2←P1800(new←v13844, s←v7076);
SOURCE(5334, 11)
   return(new←v13844);
   }

static word PreRotate←P1140(m←v7180, r←v7208)
   word m←v7180;
   word r←v7208;
   {
   word var←c7252;
   word new←v13888;
   /* PreRotate: */ 
SOURCE(5351, 147)
SOURCE(5432, 29)
   new←v13888 = (word) Copy←P900(m←v7180);
SOURCE(5463, 22)
   (void) ApplyPreRotate←P1860(new←v13888, r←v7208);
SOURCE(5487, 11)
   return(new←v13888);
   }

static word PreTranslate←P1200(m←v7312, t←v7340)
   word m←v7312;
   W2 t←v7340;
   {
   word var←c7384;
   word new←v13932;
   /* PreTranslate: */ 
SOURCE(5504, 152)
SOURCE(5587, 29)
   new←v13932 = (word) Copy←P900(m←v7312);
SOURCE(5618, 25)
   (void) ApplyPreTranslate←P1920(new←v13932, t←v7340);
SOURCE(5645, 11)
   return(new←v13932);
   }

static word PostScale←P1260(m←v7444, s←v7472)
   word m←v7444;
   word s←v7472;
   {
   word var←c7516;
   word new←v13976;
   /* PostScale: */ 
SOURCE(5662, 147)
SOURCE(5743, 29)
   new←v13976 = (word) Copy←P900(m←v7444);
SOURCE(5774, 22)
   (void) ApplyPostScale←P2100(new←v13976, s←v7472);
SOURCE(5798, 11)
   return(new←v13976);
   }

static word PostScale2←P1320(m←v7576, s←v7604)
   word m←v7576;
   W2 s←v7604;
   {
   word var←c7648;
   word new←v14020;
   /* PostScale2: */ 
SOURCE(5815, 148)
SOURCE(5896, 29)
   new←v14020 = (word) Copy←P900(m←v7576);
SOURCE(5927, 23)
   (void) ApplyPostScale2←P2160(new←v14020, s←v7604);
SOURCE(5952, 11)
   return(new←v14020);
   }

static word PostRotate←P1380(m←v7708, r←v7736)
   word m←v7708;
   word r←v7736;
   {
   word var←c7780;
   word new←v14064;
   /* PostRotate: */ 
SOURCE(5969, 149)
SOURCE(6051, 29)
   new←v14064 = (word) Copy←P900(m←v7708);
SOURCE(6082, 23)
   (void) ApplyPostRotate←P2220(new←v14064, r←v7736);
SOURCE(6107, 11)
   return(new←v14064);
   }

static word PostTranslate←P1440(m←v7840, t←v7868)
   word m←v7840;
   W2 t←v7868;
   {
   word var←c7912;
   word new←v14108;
   /* PostTranslate: */ 
SOURCE(6124, 154)
SOURCE(6208, 29)
   new←v14108 = (word) Copy←P900(m←v7840);
SOURCE(6239, 26)
   (void) ApplyPostTranslate←P2280(new←v14108, t←v7868);
SOURCE(6267, 11)
   return(new←v14108);
   }

static word TranslateTo←P1500(m←v7972, t←v8000)
   word m←v7972;
   W2 t←v8000;
   {
   word var←c8044;
   word new←v14152;
   /* TranslateTo: */ 
SOURCE(6284, 150)
SOURCE(6366, 29)
   new←v14152 = (word) Copy←P900(m←v7972);
SOURCE(6397, 24)
   (void) ApplyTranslateTo←P2400(new←v14152, t←v8000);
SOURCE(6423, 11)
   return(new←v14152);
   }

static word Cat←P1560(m1←v8104, m2←v8132, m3←v8160, m4←v8188)
   word m1←v8104;
   word m2←v8132;
   word m3←v8160;
   word m4←v8188;
   {
   register ptr gf←c35044 =  (ptr) &globalframe;
   word var←c8232;
   word new←v14196;
   /* Cat: */ 
SOURCE(6440, 173)
SOURCE(6525, 44)
   new←v14196 = XR←NewObject(40, (* (( (ptr) gf←c35044)+23) ));
SOURCE(6571, 29)
   (void) ApplyCat←P2460(new←v14196, m1←v8104, m2←v8132, m3←v8160, m4←v8188);
SOURCE(6602, 11)
   return(new←v14196);
   }

static word Invert←P1620(m←v8292)
   word m←v8292;
   {
   word var←c8336;
   word new←v14240;
   /* Invert: */ 
SOURCE(6619, 129)
SOURCE(6688, 29)
   new←v14240 = (word) Copy←P900(m←v8292);
SOURCE(6719, 16)
   (void) ApplyInvert←P2520(new←v14240);
SOURCE(6737, 11)
   return(new←v14240);
   }

static void ApplyPreConcat←P1680(m←v8396, p←v8424)
   word m←v8396;
   word p←v8424;
   {
   W10 old←v14284;
   /* ApplyPreConcat: */ 
SOURCE(6755, 321)
SOURCE(6810, 27)
   old←v14284 = (*  (W10Pt) m←v8396 );
SOURCE(6839, 20)
   if ((p←v8424 == 0)) {
SOURCE(6853, 6)
      return;
      };
SOURCE(6861, 12)
SOURCE(870, 28)
   if (((* (( (ptr) p←v8424)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(p←v8424);
      };
SOURCE(6875, 27)
   {
      word x128;
      word x129;
      word x130;
      word x131;
      *(float*)m←v8396 = ((
         x128 = (*  (ptr) p←v8424 ),  *(float*)&x128
         ) * (
         x129 = (*  (ptr) &old←v14284 ),  *(float*)&x129
         )) + ((
         x130 = (* (( (ptr) p←v8424)+3) ),  *(float*)&x130
         ) * (
         x131 = (* (( (ptr) &old←v14284)+1) ),  *(float*)&x131
         ));
      };
SOURCE(6904, 27)
   {
      word x132;
      word x133;
      word x134;
      word x135;
      *(float*)(( (ptr) m←v8396)+3) = ((
         x132 = (*  (ptr) p←v8424 ),  *(float*)&x132
         ) * (
         x133 = (* (( (ptr) &old←v14284)+3) ),  *(float*)&x133
         )) + ((
         x134 = (* (( (ptr) p←v8424)+3) ),  *(float*)&x134
         ) * (
         x135 = (* (( (ptr) &old←v14284)+4) ),  *(float*)&x135
         ));
      };
SOURCE(6933, 27)
   {
      word x136;
      word x137;
      word x138;
      word x139;
      *(float*)(( (ptr) m←v8396)+1) = ((
         x136 = (* (( (ptr) p←v8424)+1) ),  *(float*)&x136
         ) * (
         x137 = (*  (ptr) &old←v14284 ),  *(float*)&x137
         )) + ((
         x138 = (* (( (ptr) p←v8424)+4) ),  *(float*)&x138
         ) * (
         x139 = (* (( (ptr) &old←v14284)+1) ),  *(float*)&x139
         ));
      };
SOURCE(6962, 27)
   {
      word x140;
      word x141;
      word x142;
      word x143;
      *(float*)(( (ptr) m←v8396)+4) = ((
         x140 = (* (( (ptr) p←v8424)+1) ),  *(float*)&x140
         ) * (
         x141 = (* (( (ptr) &old←v14284)+3) ),  *(float*)&x141
         )) + ((
         x142 = (* (( (ptr) p←v8424)+4) ),  *(float*)&x142
         ) * (
         x143 = (* (( (ptr) &old←v14284)+4) ),  *(float*)&x143
         ));
      };
SOURCE(6991, 35)
   {
      word x144;
      word x145;
      word x146;
      word x147;
      word x148;
      *(float*)(( (ptr) m←v8396)+2) = (((
         x144 = (* (( (ptr) p←v8424)+2) ),  *(float*)&x144
         ) * (
         x145 = (*  (ptr) &old←v14284 ),  *(float*)&x145
         )) + ((
         x146 = (* (( (ptr) p←v8424)+5) ),  *(float*)&x146
         ) * (
         x147 = (* (( (ptr) &old←v14284)+1) ),  *(float*)&x147
         ))) + (
         x148 = (* (( (ptr) &old←v14284)+2) ),  *(float*)&x148
         );
      };
SOURCE(7028, 35)
   {
      word x149;
      word x150;
      word x151;
      word x152;
      word x153;
      *(float*)(( (ptr) m←v8396)+5) = (((
         x149 = (* (( (ptr) p←v8424)+2) ),  *(float*)&x149
         ) * (
         x150 = (* (( (ptr) &old←v14284)+3) ),  *(float*)&x150
         )) + ((
         x151 = (* (( (ptr) p←v8424)+5) ),  *(float*)&x151
         ) * (
         x152 = (* (( (ptr) &old←v14284)+4) ),  *(float*)&x152
         ))) + (
         x153 = (* (( (ptr) &old←v14284)+5) ),  *(float*)&x153
         );
      };
SOURCE(7065, 11)
   (void) Validate←P300(m←v8396);
   }

static void ApplyPreScale←P1740(m←v8484, s←v8512)
   word m←v8484;
   word s←v8512;
   {
   W10 old←v14328;
   /* ApplyPreScale: */ 
SOURCE(7082, 162)
SOURCE(7142, 27)
   old←v14328 = (*  (W10Pt) m←v8484 );
SOURCE(7171, 13)
   {
      word x154;
      word x155;
      *(float*)m←v8484 = (
         x154 = s←v8512,  *(float*)&x154
         ) * (
         x155 = (*  (ptr) &old←v14328 ),  *(float*)&x155
         );
      };
SOURCE(7187, 13)
   {
      word x156;
      word x157;
      *(float*)(( (ptr) m←v8484)+3) = (
         x156 = s←v8512,  *(float*)&x156
         ) * (
         x157 = (* (( (ptr) &old←v14328)+3) ),  *(float*)&x157
         );
      };
SOURCE(7202, 13)
   {
      word x158;
      word x159;
      *(float*)(( (ptr) m←v8484)+1) = (
         x158 = s←v8512,  *(float*)&x158
         ) * (
         x159 = (* (( (ptr) &old←v14328)+1) ),  *(float*)&x159
         );
      };
SOURCE(7218, 13)
   {
      word x160;
      word x161;
      *(float*)(( (ptr) m←v8484)+4) = (
         x160 = s←v8512,  *(float*)&x160
         ) * (
         x161 = (* (( (ptr) &old←v14328)+4) ),  *(float*)&x161
         );
      };
SOURCE(7233, 11)
   (void) Validate←P300(m←v8484);
   }

static void ApplyPreScale2←P1800(m←v8572, s←v8600)
   word m←v8572;
   W2 s←v8600;
   {
   W10 old←v14372;
   /* ApplyPreScale2: */ 
SOURCE(7250, 170)
SOURCE(7310, 27)
   old←v14372 = (*  (W10Pt) m←v8572 );
SOURCE(7339, 15)
   {
      word x162;
      word x163;
      *(float*)m←v8572 = (
         x162 = s←v8600.f0,  *(float*)&x162
         ) * (
         x163 = (*  (ptr) &old←v14372 ),  *(float*)&x163
         );
      };
SOURCE(7357, 15)
   {
      word x164;
      word x165;
      *(float*)(( (ptr) m←v8572)+3) = (
         x164 = s←v8600.f0,  *(float*)&x164
         ) * (
         x165 = (* (( (ptr) &old←v14372)+3) ),  *(float*)&x165
         );
      };
SOURCE(7374, 15)
   {
      word x166;
      word x167;
      *(float*)(( (ptr) m←v8572)+1) = (
         x166 = s←v8600.f1,  *(float*)&x166
         ) * (
         x167 = (* (( (ptr) &old←v14372)+1) ),  *(float*)&x167
         );
      };
SOURCE(7392, 15)
   {
      word x168;
      word x169;
      *(float*)(( (ptr) m←v8572)+4) = (
         x168 = s←v8600.f1,  *(float*)&x168
         ) * (
         x169 = (* (( (ptr) &old←v14372)+4) ),  *(float*)&x169
         );
      };
SOURCE(7409, 11)
   (void) Validate←P300(m←v8572);
   }

static void ApplyPreRotate←P1860(m←v8660, r←v8688)
   word m←v8660;
   word r←v8688;
   {
   W10 old←v14416;
   W2 cis←v14444;
   /* ApplyPreRotate: */ 
SOURCE(7426, 255)
SOURCE(7487, 27)
   old←v14416 = (*  (W10Pt) m←v8660 );
SOURCE(7516, 20)
   (void) CISDeg←P180((word) &cis←v14444, r←v8688);
SOURCE(7538, 31)
   {
      word x170;
      word x171;
      word x172;
      word x173;
      *(float*)m←v8660 = ((
         x170 = cis←v14444.f0,  *(float*)&x170
         ) * (
         x171 = (*  (ptr) &old←v14416 ),  *(float*)&x171
         )) + ((
         x172 = cis←v14444.f1,  *(float*)&x172
         ) * (
         x173 = (* (( (ptr) &old←v14416)+1) ),  *(float*)&x173
         ));
      };
SOURCE(7571, 31)
   {
      word x174;
      word x175;
      word x176;
      word x177;
      *(float*)(( (ptr) m←v8660)+3) = ((
         x174 = cis←v14444.f0,  *(float*)&x174
         ) * (
         x175 = (* (( (ptr) &old←v14416)+3) ),  *(float*)&x175
         )) + ((
         x176 = cis←v14444.f1,  *(float*)&x176
         ) * (
         x177 = (* (( (ptr) &old←v14416)+4) ),  *(float*)&x177
         ));
      };
SOURCE(7604, 31)
   {
      word x178;
      word x179;
      word x180;
      word x181;
      *(float*)(( (ptr) m←v8660)+1) = ((
         x178 = cis←v14444.f0,  *(float*)&x178
         ) * (
         x179 = (* (( (ptr) &old←v14416)+1) ),  *(float*)&x179
         )) - ((
         x180 = cis←v14444.f1,  *(float*)&x180
         ) * (
         x181 = (*  (ptr) &old←v14416 ),  *(float*)&x181
         ));
      };
SOURCE(7637, 31)
   {
      word x182;
      word x183;
      word x184;
      word x185;
      *(float*)(( (ptr) m←v8660)+4) = ((
         x182 = cis←v14444.f0,  *(float*)&x182
         ) * (
         x183 = (* (( (ptr) &old←v14416)+4) ),  *(float*)&x183
         )) - ((
         x184 = cis←v14444.f1,  *(float*)&x184
         ) * (
         x185 = (* (( (ptr) &old←v14416)+3) ),  *(float*)&x185
         ));
      };
SOURCE(7670, 11)
   (void) Validate←P300(m←v8660);
   }

static void ApplyPreTranslate←P1920(m←v8748, t←v8776)
   word m←v8748;
   W2 t←v8776;
   {
   W10 old←v14488;
   /* ApplyPreTranslate: */ 
SOURCE(7687, 177)
SOURCE(7750, 27)
   old←v14488 = (*  (W10Pt) m←v8748 );
SOURCE(7779, 35)
   {
      word x186;
      word x187;
      word x188;
      word x189;
      word x190;
      *(float*)(( (ptr) m←v8748)+2) = (((
         x186 = t←v8776.f0,  *(float*)&x186
         ) * (
         x187 = (*  (ptr) &old←v14488 ),  *(float*)&x187
         )) + ((
         x188 = t←v8776.f1,  *(float*)&x188
         ) * (
         x189 = (* (( (ptr) &old←v14488)+1) ),  *(float*)&x189
         ))) + (
         x190 = (* (( (ptr) &old←v14488)+2) ),  *(float*)&x190
         );
      };
SOURCE(7816, 35)
   {
      word x191;
      word x192;
      word x193;
      word x194;
      word x195;
      *(float*)(( (ptr) m←v8748)+5) = (((
         x191 = t←v8776.f0,  *(float*)&x191
         ) * (
         x192 = (* (( (ptr) &old←v14488)+3) ),  *(float*)&x192
         )) + ((
         x193 = t←v8776.f1,  *(float*)&x193
         ) * (
         x194 = (* (( (ptr) &old←v14488)+4) ),  *(float*)&x194
         ))) + (
         x195 = (* (( (ptr) &old←v14488)+5) ),  *(float*)&x195
         );
      };
SOURCE(7853, 11)
   (void) Validate←P300(m←v8748);
   }

static void ApplySFToXY←P1980(m←v8836, scanMode←v8864, sSize←v8892, fSize←v8920)
   word m←v8836;
   word scanMode←v8864;
   word sSize←v8892;
   word fSize←v8920;
   {
   W10 old←v14532;
   word c←v14700;
   word f←v14728;
   /* ApplySFToXY: */ 
SOURCE(7870, 777)
SOURCE(7958, 27)
   old←v14532 = (*  (W10Pt) m←v8836 );
SOURCE(8374, 42)
   {
      word var←c28644;
      word r←v24932;
      word var←c28708;
      word r←v24980;
      {
         float tf196;
         r←v24932 = (
            tf196 = (float)(int)sSize←v8892,  *(word*)&tf196
            );
         };
SOURCE(8040, 73)
      {
         word var←c28676;
         var←c28676 =  (unsigned) (((unsigned)scanMode←v8864 << 28) >> 30);
         {
            word x197;
            if ((var←c28676 == 1)) {
               var←c28644 = r←v24932;
               }
            else {
               if ((var←c28676 == 0)) {
                  *(float*)&var←c28644 =  - (
                     x197 = r←v24932,  *(float*)&x197
                     );
                  }
               else {
                  var←c28644 = (*  (ptr) &fc29 );
                  };
               };
            };
         };
      {
         float tf198;
         r←v24980 = (
            tf198 = (float)(int)fSize←v8920,  *(word*)&tf198
            );
         };
SOURCE(8128, 73)
      {
         word var←c28740;
         var←c28740 =  (unsigned) (scanMode←v8864 & 3);
         {
            word x199;
            if ((var←c28740 == 1)) {
               var←c28708 = r←v24980;
               }
            else {
               if ((var←c28740 == 0)) {
                  *(float*)&var←c28708 =  - (
                     x199 = r←v24980,  *(float*)&x199
                     );
                  }
               else {
                  var←c28708 = (*  (ptr) &fc29 );
                  };
               };
            };
         };
      {
         word x200;
         word x201;
         float tf202;
         float tf203;
         word x204;
         float tf205;
         c←v14700 = (
            tf205 = FMAX(( - ((
                  x200 = var←c28644,  *(float*)&x200
                  ) + (
                  x201 = var←c28708,  *(float*)&x201
                  ))), (
                  x204 = (*  (ptr) &fc29 ),  *(float*)&x204
                  ), tf202, tf203),  *(word*)&tf205
            );
         };
      };
SOURCE(8418, 42)
   {
      word var←c28772;
      word r←v25028;
      word var←c28836;
      word r←v25076;
      {
         float tf206;
         r←v25028 = (
            tf206 = (float)(int)sSize←v8892,  *(word*)&tf206
            );
         };
SOURCE(8216, 70)
      {
         word var←c28804;
         var←c28804 =  (unsigned) (((unsigned)scanMode←v8864 << 28) >> 30);
         {
            word x207;
            if ((var←c28804 == 2)) {
               var←c28772 = r←v25028;
               }
            else {
               if ((var←c28804 == 3)) {
                  *(float*)&var←c28772 =  - (
                     x207 = r←v25028,  *(float*)&x207
                     );
                  }
               else {
                  var←c28772 = (*  (ptr) &fc29 );
                  };
               };
            };
         };
      {
         float tf208;
         r←v25076 = (
            tf208 = (float)(int)fSize←v8920,  *(word*)&tf208
            );
         };
SOURCE(8301, 70)
      {
         word var←c28868;
         var←c28868 =  (unsigned) (scanMode←v8864 & 3);
         {
            word x209;
            if ((var←c28868 == 2)) {
               var←c28836 = r←v25076;
               }
            else {
               if ((var←c28868 == 3)) {
                  *(float*)&var←c28836 =  - (
                     x209 = r←v25076,  *(float*)&x209
                     );
                  }
               else {
                  var←c28836 = (*  (ptr) &fc29 );
                  };
               };
            };
         };
      {
         word x210;
         word x211;
         float tf212;
         float tf213;
         word x214;
         float tf215;
         f←v14728 = (
            tf215 = FMAX(( - ((
                  x210 = var←c28772,  *(float*)&x210
                  ) + (
                  x211 = var←c28836,  *(float*)&x211
                  ))), (
                  x214 = (*  (ptr) &fc29 ),  *(float*)&x214
                  ), tf212, tf213),  *(word*)&tf215
            );
         };
      };
SOURCE(8462, 25)
   {
      word var←c28900;
      word var←c0667;
      word var←c28932;
      var←c28900 =  (unsigned) (((unsigned)scanMode←v8864 << 28) >> 30);
      {
         word x216;
         float tf217;
         var←c0667 =  ( (var←c28900 == 1) ? (*  (ptr) &old←v14532 ) :  ( (var←c28900 == 0) ? (
            tf217 =  - (
               x216 = (*  (ptr) &old←v14532 ),  *(float*)&x216
               ),  *(word*)&tf217
            ) : (*  (ptr) &fc29 ) )  ) ;
         };
      var←c28932 =  (unsigned) (((unsigned)scanMode←v8864 << 28) >> 30);
      {
         word x218;
         word x219;
         float tf220;
         word x221;
         *(float*)m←v8836 = (
            x218 = var←c0667,  *(float*)&x218
            ) + (
            x221 =  ( (var←c28932 == 2) ? (* (( (ptr) &old←v14532)+1) ) :  ( (var←c28932 == 3) ? (
               tf220 =  - (
                  x219 = (* (( (ptr) &old←v14532)+1) ),  *(float*)&x219
                  ),  *(word*)&tf220
               ) : (*  (ptr) &fc29 ) )  ) ,  *(float*)&x221
            );
         };
      };
SOURCE(8489, 25)
   {
      word var←c28964;
      word var←c0668;
      word var←c28996;
      var←c28964 =  (unsigned) (scanMode←v8864 & 3);
      {
         word x222;
         float tf223;
         var←c0668 =  ( (var←c28964 == 1) ? (*  (ptr) &old←v14532 ) :  ( (var←c28964 == 0) ? (
            tf223 =  - (
               x222 = (*  (ptr) &old←v14532 ),  *(float*)&x222
               ),  *(word*)&tf223
            ) : (*  (ptr) &fc29 ) )  ) ;
         };
      var←c28996 =  (unsigned) (scanMode←v8864 & 3);
      {
         word x224;
         word x225;
         float tf226;
         word x227;
         *(float*)(( (ptr) m←v8836)+1) = (
            x224 = var←c0668,  *(float*)&x224
            ) + (
            x227 =  ( (var←c28996 == 2) ? (* (( (ptr) &old←v14532)+1) ) :  ( (var←c28996 == 3) ? (
               tf226 =  - (
                  x225 = (* (( (ptr) &old←v14532)+1) ),  *(float*)&x225
                  ),  *(word*)&tf226
               ) : (*  (ptr) &fc29 ) )  ) ,  *(float*)&x227
            );
         };
      };
SOURCE(8516, 31)
   {
      word x228;
      word x229;
      word x230;
      word x231;
      word x232;
      *(float*)(( (ptr) m←v8836)+2) = (((
         x228 = c←v14700,  *(float*)&x228
         ) * (
         x229 = (*  (ptr) &old←v14532 ),  *(float*)&x229
         )) + ((
         x230 = f←v14728,  *(float*)&x230
         ) * (
         x231 = (* (( (ptr) &old←v14532)+1) ),  *(float*)&x231
         ))) + (
         x232 = (* (( (ptr) &old←v14532)+2) ),  *(float*)&x232
         );
      };
SOURCE(8549, 25)
   {
      word var←c29028;
      word var←c0669;
      word var←c29060;
      var←c29028 =  (unsigned) (((unsigned)scanMode←v8864 << 28) >> 30);
      {
         word x233;
         float tf234;
         var←c0669 =  ( (var←c29028 == 1) ? (* (( (ptr) &old←v14532)+3) ) :  ( (var←c29028 == 0) ? (
            tf234 =  - (
               x233 = (* (( (ptr) &old←v14532)+3) ),  *(float*)&x233
               ),  *(word*)&tf234
            ) : (*  (ptr) &fc29 ) )  ) ;
         };
      var←c29060 =  (unsigned) (((unsigned)scanMode←v8864 << 28) >> 30);
      {
         word x235;
         word x236;
         float tf237;
         word x238;
         *(float*)(( (ptr) m←v8836)+3) = (
            x235 = var←c0669,  *(float*)&x235
            ) + (
            x238 =  ( (var←c29060 == 2) ? (* (( (ptr) &old←v14532)+4) ) :  ( (var←c29060 == 3) ? (
               tf237 =  - (
                  x236 = (* (( (ptr) &old←v14532)+4) ),  *(float*)&x236
                  ),  *(word*)&tf237
               ) : (*  (ptr) &fc29 ) )  ) ,  *(float*)&x238
            );
         };
      };
SOURCE(8576, 25)
   {
      word var←c29092;
      word var←c0670;
      word var←c29124;
      var←c29092 =  (unsigned) (scanMode←v8864 & 3);
      {
         word x239;
         float tf240;
         var←c0670 =  ( (var←c29092 == 1) ? (* (( (ptr) &old←v14532)+3) ) :  ( (var←c29092 == 0) ? (
            tf240 =  - (
               x239 = (* (( (ptr) &old←v14532)+3) ),  *(float*)&x239
               ),  *(word*)&tf240
            ) : (*  (ptr) &fc29 ) )  ) ;
         };
      var←c29124 =  (unsigned) (scanMode←v8864 & 3);
      {
         word x241;
         word x242;
         float tf243;
         word x244;
         *(float*)(( (ptr) m←v8836)+4) = (
            x241 = var←c0670,  *(float*)&x241
            ) + (
            x244 =  ( (var←c29124 == 2) ? (* (( (ptr) &old←v14532)+4) ) :  ( (var←c29124 == 3) ? (
               tf243 =  - (
                  x242 = (* (( (ptr) &old←v14532)+4) ),  *(float*)&x242
                  ),  *(word*)&tf243
               ) : (*  (ptr) &fc29 ) )  ) ,  *(float*)&x244
            );
         };
      };
SOURCE(8603, 31)
   {
      word x245;
      word x246;
      word x247;
      word x248;
      word x249;
      *(float*)(( (ptr) m←v8836)+5) = (((
         x245 = c←v14700,  *(float*)&x245
         ) * (
         x246 = (* (( (ptr) &old←v14532)+3) ),  *(float*)&x246
         )) + ((
         x247 = f←v14728,  *(float*)&x247
         ) * (
         x248 = (* (( (ptr) &old←v14532)+4) ),  *(float*)&x248
         ))) + (
         x249 = (* (( (ptr) &old←v14532)+5) ),  *(float*)&x249
         );
      };
SOURCE(8636, 11)
   (void) Validate←P300(m←v8836);
   }

static void ApplyPostConcat←P2040(m←v8980, p←v9008)
   word m←v8980;
   word p←v9008;
   {
   W10 old←v14876;
   /* ApplyPostConcat: */ 
SOURCE(8653, 335)
SOURCE(8709, 27)
   old←v14876 = (*  (W10Pt) m←v8980 );
SOURCE(8738, 20)
   if ((p←v9008 == 0)) {
SOURCE(8752, 6)
      return;
      };
SOURCE(8760, 12)
SOURCE(870, 28)
   if (((* (( (ptr) m←v8980)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(m←v8980);
      };
SOURCE(8774, 15)
   (* (( (ptr) m←v8980)+9) ) = (* (( (ptr) p←v9008)+9) );
SOURCE(8791, 27)
   {
      word x250;
      word x251;
      word x252;
      word x253;
      *(float*)m←v8980 = ((
         x250 = (*  (ptr) &old←v14876 ),  *(float*)&x250
         ) * (
         x251 = (*  (ptr) p←v9008 ),  *(float*)&x251
         )) + ((
         x252 = (* (( (ptr) &old←v14876)+3) ),  *(float*)&x252
         ) * (
         x253 = (* (( (ptr) p←v9008)+1) ),  *(float*)&x253
         ));
      };
SOURCE(8820, 27)
   {
      word x254;
      word x255;
      word x256;
      word x257;
      *(float*)(( (ptr) m←v8980)+3) = ((
         x254 = (*  (ptr) &old←v14876 ),  *(float*)&x254
         ) * (
         x255 = (* (( (ptr) p←v9008)+3) ),  *(float*)&x255
         )) + ((
         x256 = (* (( (ptr) &old←v14876)+3) ),  *(float*)&x256
         ) * (
         x257 = (* (( (ptr) p←v9008)+4) ),  *(float*)&x257
         ));
      };
SOURCE(8849, 27)
   {
      word x258;
      word x259;
      word x260;
      word x261;
      *(float*)(( (ptr) m←v8980)+1) = ((
         x258 = (* (( (ptr) &old←v14876)+1) ),  *(float*)&x258
         ) * (
         x259 = (*  (ptr) p←v9008 ),  *(float*)&x259
         )) + ((
         x260 = (* (( (ptr) &old←v14876)+4) ),  *(float*)&x260
         ) * (
         x261 = (* (( (ptr) p←v9008)+1) ),  *(float*)&x261
         ));
      };
SOURCE(8878, 27)
   {
      word x262;
      word x263;
      word x264;
      word x265;
      *(float*)(( (ptr) m←v8980)+4) = ((
         x262 = (* (( (ptr) &old←v14876)+1) ),  *(float*)&x262
         ) * (
         x263 = (* (( (ptr) p←v9008)+3) ),  *(float*)&x263
         )) + ((
         x264 = (* (( (ptr) &old←v14876)+4) ),  *(float*)&x264
         ) * (
         x265 = (* (( (ptr) p←v9008)+4) ),  *(float*)&x265
         ));
      };
SOURCE(8907, 33)
   {
      word x266;
      word x267;
      word x268;
      word x269;
      word x270;
      *(float*)(( (ptr) m←v8980)+2) = (((
         x266 = (* (( (ptr) &old←v14876)+2) ),  *(float*)&x266
         ) * (
         x267 = (*  (ptr) p←v9008 ),  *(float*)&x267
         )) + ((
         x268 = (* (( (ptr) &old←v14876)+5) ),  *(float*)&x268
         ) * (
         x269 = (* (( (ptr) p←v9008)+1) ),  *(float*)&x269
         ))) + (
         x270 = (* (( (ptr) p←v9008)+2) ),  *(float*)&x270
         );
      };
SOURCE(8942, 33)
   {
      word x271;
      word x272;
      word x273;
      word x274;
      word x275;
      *(float*)(( (ptr) m←v8980)+5) = (((
         x271 = (* (( (ptr) &old←v14876)+2) ),  *(float*)&x271
         ) * (
         x272 = (* (( (ptr) p←v9008)+3) ),  *(float*)&x272
         )) + ((
         x273 = (* (( (ptr) &old←v14876)+5) ),  *(float*)&x273
         ) * (
         x274 = (* (( (ptr) p←v9008)+4) ),  *(float*)&x274
         ))) + (
         x275 = (* (( (ptr) p←v9008)+5) ),  *(float*)&x275
         );
      };
SOURCE(8977, 11)
   (void) Validate←P300(m←v8980);
   }

static void ApplyPostScale←P2100(m←v9068, s←v9096)
   word m←v9068;
   word s←v9096;
   {
   W10 old←v14920;
   /* ApplyPostScale: */ 
SOURCE(8994, 208)
SOURCE(9055, 27)
   old←v14920 = (*  (W10Pt) m←v9068 );
SOURCE(9084, 12)
SOURCE(870, 28)
   if (((* (( (ptr) m←v9068)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(m←v9068);
      };
SOURCE(9098, 13)
   {
      word x276;
      word x277;
      *(float*)m←v9068 = (
         x276 = (*  (ptr) &old←v14920 ),  *(float*)&x276
         ) * (
         x277 = s←v9096,  *(float*)&x277
         );
      };
SOURCE(9114, 13)
   {
      word x278;
      word x279;
      *(float*)(( (ptr) m←v9068)+3) = (
         x278 = (* (( (ptr) &old←v14920)+3) ),  *(float*)&x278
         ) * (
         x279 = s←v9096,  *(float*)&x279
         );
      };
SOURCE(9129, 13)
   {
      word x280;
      word x281;
      *(float*)(( (ptr) m←v9068)+1) = (
         x280 = (* (( (ptr) &old←v14920)+1) ),  *(float*)&x280
         ) * (
         x281 = s←v9096,  *(float*)&x281
         );
      };
SOURCE(9145, 13)
   {
      word x282;
      word x283;
      *(float*)(( (ptr) m←v9068)+4) = (
         x282 = (* (( (ptr) &old←v14920)+4) ),  *(float*)&x282
         ) * (
         x283 = s←v9096,  *(float*)&x283
         );
      };
SOURCE(9160, 13)
   {
      word x284;
      word x285;
      *(float*)(( (ptr) m←v9068)+2) = (
         x284 = (* (( (ptr) &old←v14920)+2) ),  *(float*)&x284
         ) * (
         x285 = s←v9096,  *(float*)&x285
         );
      };
SOURCE(9176, 13)
   {
      word x286;
      word x287;
      *(float*)(( (ptr) m←v9068)+5) = (
         x286 = (* (( (ptr) &old←v14920)+5) ),  *(float*)&x286
         ) * (
         x287 = s←v9096,  *(float*)&x287
         );
      };
SOURCE(9191, 11)
   (void) Validate←P300(m←v9068);
   }

static void ApplyPostScale2←P2160(m←v9156, s←v9184)
   word m←v9156;
   W2 s←v9184;
   {
   W10 old←v14964;
   /* ApplyPostScale2: */ 
SOURCE(9208, 220)
SOURCE(9269, 27)
   old←v14964 = (*  (W10Pt) m←v9156 );
SOURCE(9298, 12)
SOURCE(870, 28)
   if (((* (( (ptr) m←v9156)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(m←v9156);
      };
SOURCE(9312, 15)
   {
      word x288;
      word x289;
      *(float*)m←v9156 = (
         x288 = (*  (ptr) &old←v14964 ),  *(float*)&x288
         ) * (
         x289 = s←v9184.f0,  *(float*)&x289
         );
      };
SOURCE(9330, 15)
   {
      word x290;
      word x291;
      *(float*)(( (ptr) m←v9156)+3) = (
         x290 = (* (( (ptr) &old←v14964)+3) ),  *(float*)&x290
         ) * (
         x291 = s←v9184.f1,  *(float*)&x291
         );
      };
SOURCE(9347, 15)
   {
      word x292;
      word x293;
      *(float*)(( (ptr) m←v9156)+1) = (
         x292 = (* (( (ptr) &old←v14964)+1) ),  *(float*)&x292
         ) * (
         x293 = s←v9184.f0,  *(float*)&x293
         );
      };
SOURCE(9365, 15)
   {
      word x294;
      word x295;
      *(float*)(( (ptr) m←v9156)+4) = (
         x294 = (* (( (ptr) &old←v14964)+4) ),  *(float*)&x294
         ) * (
         x295 = s←v9184.f1,  *(float*)&x295
         );
      };
SOURCE(9382, 15)
   {
      word x296;
      word x297;
      *(float*)(( (ptr) m←v9156)+2) = (
         x296 = (* (( (ptr) &old←v14964)+2) ),  *(float*)&x296
         ) * (
         x297 = s←v9184.f0,  *(float*)&x297
         );
      };
SOURCE(9400, 15)
   {
      word x298;
      word x299;
      *(float*)(( (ptr) m←v9156)+5) = (
         x298 = (* (( (ptr) &old←v14964)+5) ),  *(float*)&x298
         ) * (
         x299 = s←v9184.f1,  *(float*)&x299
         );
      };
SOURCE(9417, 11)
   (void) Validate←P300(m←v9156);
   }

static void ApplyPostRotate←P2220(m←v9244, r←v9272)
   word m←v9244;
   word r←v9272;
   {
   W10 old←v15008;
   W2 cis←v15036;
   /* ApplyPostRotate: */ 
SOURCE(9434, 336)
SOURCE(9496, 27)
   old←v15008 = (*  (W10Pt) m←v9244 );
SOURCE(9525, 20)
   (void) CISDeg←P180((word) &cis←v15036, r←v9272);
SOURCE(9547, 12)
SOURCE(870, 28)
   if (((* (( (ptr) m←v9244)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(m←v9244);
      };
SOURCE(9561, 31)
   {
      word x300;
      word x301;
      word x302;
      word x303;
      *(float*)m←v9244 = ((
         x300 = (*  (ptr) &old←v15008 ),  *(float*)&x300
         ) * (
         x301 = cis←v15036.f0,  *(float*)&x301
         )) - ((
         x302 = (* (( (ptr) &old←v15008)+3) ),  *(float*)&x302
         ) * (
         x303 = cis←v15036.f1,  *(float*)&x303
         ));
      };
SOURCE(9594, 31)
   {
      word x304;
      word x305;
      word x306;
      word x307;
      *(float*)(( (ptr) m←v9244)+3) = ((
         x304 = (*  (ptr) &old←v15008 ),  *(float*)&x304
         ) * (
         x305 = cis←v15036.f1,  *(float*)&x305
         )) + ((
         x306 = (* (( (ptr) &old←v15008)+3) ),  *(float*)&x306
         ) * (
         x307 = cis←v15036.f0,  *(float*)&x307
         ));
      };
SOURCE(9627, 31)
   {
      word x308;
      word x309;
      word x310;
      word x311;
      *(float*)(( (ptr) m←v9244)+1) = ((
         x308 = (* (( (ptr) &old←v15008)+1) ),  *(float*)&x308
         ) * (
         x309 = cis←v15036.f0,  *(float*)&x309
         )) - ((
         x310 = (* (( (ptr) &old←v15008)+4) ),  *(float*)&x310
         ) * (
         x311 = cis←v15036.f1,  *(float*)&x311
         ));
      };
SOURCE(9660, 31)
   {
      word x312;
      word x313;
      word x314;
      word x315;
      *(float*)(( (ptr) m←v9244)+4) = ((
         x312 = (* (( (ptr) &old←v15008)+1) ),  *(float*)&x312
         ) * (
         x313 = cis←v15036.f1,  *(float*)&x313
         )) + ((
         x314 = (* (( (ptr) &old←v15008)+4) ),  *(float*)&x314
         ) * (
         x315 = cis←v15036.f0,  *(float*)&x315
         ));
      };
SOURCE(9693, 31)
   {
      word x316;
      word x317;
      word x318;
      word x319;
      *(float*)(( (ptr) m←v9244)+2) = ((
         x316 = (* (( (ptr) &old←v15008)+2) ),  *(float*)&x316
         ) * (
         x317 = cis←v15036.f0,  *(float*)&x317
         )) - ((
         x318 = (* (( (ptr) &old←v15008)+5) ),  *(float*)&x318
         ) * (
         x319 = cis←v15036.f1,  *(float*)&x319
         ));
      };
SOURCE(9726, 31)
   {
      word x320;
      word x321;
      word x322;
      word x323;
      *(float*)(( (ptr) m←v9244)+5) = ((
         x320 = (* (( (ptr) &old←v15008)+2) ),  *(float*)&x320
         ) * (
         x321 = cis←v15036.f1,  *(float*)&x321
         )) + ((
         x322 = (* (( (ptr) &old←v15008)+5) ),  *(float*)&x322
         ) * (
         x323 = cis←v15036.f0,  *(float*)&x323
         ));
      };
SOURCE(9759, 11)
   (void) Validate←P300(m←v9244);
   }

static void ApplyPostTranslate←P2280(m←v9332, t←v9360)
   word m←v9332;
   W2 t←v9360;
   {
   W10 old←v15080;
   /* ApplyPostTranslate: */ 
SOURCE(9776, 153)
SOURCE(9840, 27)
   old←v15080 = (*  (W10Pt) m←v9332 );
SOURCE(9869, 12)
SOURCE(870, 28)
   if (((* (( (ptr) m←v9332)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(m←v9332);
      };
SOURCE(9883, 15)
   {
      word x324;
      word x325;
      *(float*)(( (ptr) m←v9332)+2) = (
         x324 = (* (( (ptr) &old←v15080)+2) ),  *(float*)&x324
         ) + (
         x325 = t←v9360.f0,  *(float*)&x325
         );
      };
SOURCE(9901, 15)
   {
      word x326;
      word x327;
      *(float*)(( (ptr) m←v9332)+5) = (
         x326 = (* (( (ptr) &old←v15080)+5) ),  *(float*)&x326
         ) + (
         x327 = t←v9360.f1,  *(float*)&x327
         );
      };
SOURCE(9918, 11)
   (void) Validate←P300(m←v9332);
   }

static void ApplyXYToSF←P2340(m←v9420, scanMode←v9448, sSize←v9476, fSize←v9504)
   word m←v9420;
   word scanMode←v9448;
   word sSize←v9476;
   word fSize←v9504;
   {
   word post←v15124;
   /* ApplyXYToSF: */ 
SOURCE(9935, 182)
SOURCE(10023, 53)
   post←v15124 = (word) XYToSF←P840(scanMode←v9448, sSize←v9476, fSize←v9504);
SOURCE(10078, 24)
   (void) ApplyPostConcat←P2040(m←v9420, post←v15124);
SOURCE(10104, 13)
   (void) Destroy←P420(post←v15124);
   }

static void ApplyTranslateTo←P2400(m←v9564, t←v9592)
   word m←v9564;
   W2 t←v9592;
   {
   register ptr gf←c35076 =  (ptr) &globalframe;
   word integerTrans←v15168 = 1;
   word tx←v15196 = 0;
   word ty←v15224 = 0;
   /* ApplyTranslateTo: */ 
SOURCE(10123, 371)
SOURCE(10233, 12)
SOURCE(870, 28)
   if (((* (( (ptr) m←v9564)+9) ) > 10)) {
SOURCE(890, 8)
      (void) Bitch←P60(m←v9564);
      };
SOURCE(10247, 9)
   (* (( (ptr) m←v9564)+2) ) = t←v9592.f0;
SOURCE(10258, 9)
   (* (( (ptr) m←v9564)+5) ) = t←v9592.f1;
SOURCE(10269, 85)
   {
      float tf328;
      word x329;
      word x330;
      if ((FABS((
            x329 = (* (( (ptr) m←v9564)+2) ),  *(float*)&x329
            ), tf328) <= (
         x330 = (* (( (ptr) gf←c35076)+8)/* floatHalfLastInt←v3000 */  ),  *(float*)&x330
         ))) {
SOURCE(10304, 30)
         {
            word pd331;
            word x332;
            word x333;
            float tf334;
            pd331 = (* (( (ptr) (* (( (ptr) gf←c35076)+163)/* var←c27396 */  ))+8) );
            tx←v15196 = (word) ( *( (fPt) ((*  (ptr) pd331 ))))((
                  tf334 = (
                     x332 = (* (( (ptr) m←v9564)+2) ),  *(float*)&x332
                     ) + (
                     x333 = (*  (ptr) &fc98 ),  *(float*)&x333
                     ),  *(word*)&tf334
                  ), pd331);
            };
         }
      else {
SOURCE(10334, 20)
         integerTrans←v15168 = 0;
         };
      };
SOURCE(10356, 85)
   {
      float tf335;
      word x336;
      word x337;
      if ((FABS((
            x336 = (* (( (ptr) m←v9564)+5) ),  *(float*)&x336
            ), tf335) <= (
         x337 = (* (( (ptr) gf←c35076)+8)/* floatHalfLastInt←v3000 */  ),  *(float*)&x337
         ))) {
SOURCE(10391, 30)
         {
            word pd338;
            word x339;
            word x340;
            float tf341;
            pd338 = (* (( (ptr) (* (( (ptr) gf←c35076)+163)/* var←c27396 */  ))+8) );
            ty←v15224 = (word) ( *( (fPt) ((*  (ptr) pd338 ))))((
                  tf341 = (
                     x339 = (* (( (ptr) m←v9564)+5) ),  *(float*)&x339
                     ) + (
                     x340 = (*  (ptr) &fc98 ),  *(float*)&x340
                     ),  *(word*)&tf341
                  ), pd338);
            };
         }
      else {
SOURCE(10421, 20)
         integerTrans←v15168 = 0;
         };
      };
SOURCE(10443, 9)
   (* (( (ptr) m←v9564)+6) ) = tx←v15196;
SOURCE(10454, 9)
   (* (( (ptr) m←v9564)+7) ) = ty←v15224;
SOURCE(10465, 29)
   (* (( (ptr) m←v9564)+8) ) = integerTrans←v15168;
   }

static void ApplyCat←P2460(formal←c0675, m1←v9680, m2←v9708, m3←v9736, m4←v9764)
   word formal←c0675;
   word m1←v9680;
   word m2←v9708;
   word m3←v9736;
   word m4←v9764;
   {
   W8 var←c35108;
   /* declaration of m←v9652 skipped */ 
   /* declaration of var←c29156 skipped */ 
   /* declaration of count←v15268 skipped */ 
   var←c35108.f4/* m←v9652 */  = formal←c0675;
   /* ApplyCat: */ 
SOURCE(10500, 385)
   {
      word tmpAddr342;
      tmpAddr342 = (word) (( (ptr) &var←c35108)+5)/* var←c29156 */ ;
      (*  (ptr) tmpAddr342 ) = ( ((word)  (fPt) Apply←P4368) );
      (* (( (ptr) tmpAddr342) + 1) ) = 1;
      };
SOURCE(10584, 14)
   var←c35108.f7/* count←v15268 */  = 0;
SOURCE(10708, 24)
   if ((m1←v9680 != 0)) {
SOURCE(10723, 9)
      (void) Apply←P4368(m1←v9680, (word) (( (bPt) &var←c35108)+20)/* var←c29156 */ );
      };
SOURCE(10734, 24)
   if ((m2←v9708 != 0)) {
SOURCE(10749, 9)
      (void) Apply←P4368(m2←v9708, (word) (( (bPt) &var←c35108)+20)/* var←c29156 */ );
      };
SOURCE(10760, 24)
   if ((m3←v9736 != 0)) {
SOURCE(10775, 9)
      (void) Apply←P4368(m3←v9736, (word) (( (bPt) &var←c35108)+20)/* var←c29156 */ );
      };
SOURCE(10786, 24)
   if ((m4←v9764 != 0)) {
SOURCE(10801, 9)
      (void) Apply←P4368(m4←v9764, (word) (( (bPt) &var←c35108)+20)/* var←c29156 */ );
      };
SOURCE(10812, 73)
   if ((var←c35108.f7/* count←v15268 */  == 0)) {
SOURCE(10830, 41)
      (*  (ptr) var←c35108.f4/* m←v9652 */  ) = (*  (ptr) &fc31 );
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+1) ) = (*  (ptr) &fc29 );
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+2) ) = (*  (ptr) &fc29 );
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+3) ) = (*  (ptr) &fc29 );
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+4) ) = (*  (ptr) &fc31 );
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+5) ) = (*  (ptr) &fc29 );
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+6) ) = 0;
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+7) ) = 0;
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+8) ) = 0;
      (* (( (ptr) var←c35108.f4/* m←v9652 */ )+9) ) = 0;
SOURCE(10873, 12)
      (void) Validate←P300(var←c35108.f4/* m←v9652 */ );
      };
   }

static void Apply←P4368(p←v15372, formal←c35140)
   word p←v15372;
   word formal←c35140;
   {
   formal←c35140 = (formal←c35140 - 20);
   /* Apply: */ 
SOURCE(10600, 103)
SOURCE(10636, 50)
   if (((* (( (ptr) formal←c35140)+7) ) == 0)) {
SOURCE(10652, 13)
      (*  (W10Pt) (* (( (ptr) formal←c35140)+4) ) ) = (*  (W10Pt) p←v15372 );
      }
   else {
SOURCE(10665, 21)
      (void) ApplyPostConcat←P2040((* (( (ptr) formal←c35140)+4) ), p←v15372);
      };
SOURCE(10688, 15)
   (* (( (ptr) formal←c35140)+7) ) = ((* (( (ptr) formal←c35140)+7) ) + 1);
   }

static void ApplyInvert←P2520(m←v9824)
   word m←v9824;
   {
   W10 old←v15400;
   word det←v15428;
   /* ApplyInvert: */ 
SOURCE(10893, 278)
SOURCE(10942, 27)
   old←v15400 = (*  (W10Pt) m←v9824 );
SOURCE(10971, 37)
   {
      word x343;
      word x344;
      word x345;
      word x346;
      *(float*)&det←v15428 = ((
         x343 = (*  (ptr) &old←v15400 ),  *(float*)&x343
         ) * (
         x344 = (* (( (ptr) &old←v15400)+4) ),  *(float*)&x344
         )) - ((
         x345 = (* (( (ptr) &old←v15400)+3) ),  *(float*)&x345
         ) * (
         x346 = (* (( (ptr) &old←v15400)+1) ),  *(float*)&x346
         ));
      };
SOURCE(11010, 15)
   {
      word x347;
      word x348;
      *(float*)m←v9824 = (
         x347 = (* (( (ptr) &old←v15400)+4) ),  *(float*)&x347
         ) / (
         x348 = det←v15428,  *(float*)&x348
         );
      };
SOURCE(11028, 16)
   {
      word x349;
      word x350;
      *(float*)(( (ptr) m←v9824)+3) = ( - (
         x349 = (* (( (ptr) &old←v15400)+3) ),  *(float*)&x349
         )) / (
         x350 = det←v15428,  *(float*)&x350
         );
      };
SOURCE(11046, 16)
   {
      word x351;
      word x352;
      *(float*)(( (ptr) m←v9824)+1) = ( - (
         x351 = (* (( (ptr) &old←v15400)+1) ),  *(float*)&x351
         )) / (
         x352 = det←v15428,  *(float*)&x352
         );
      };
SOURCE(11065, 15)
   {
      word x353;
      word x354;
      *(float*)(( (ptr) m←v9824)+4) = (
         x353 = (*  (ptr) &old←v15400 ),  *(float*)&x353
         ) / (
         x354 = det←v15428,  *(float*)&x354
         );
      };
SOURCE(11082, 37)
   {
      word x355;
      word x356;
      word x357;
      word x358;
      word x359;
      *(float*)(( (ptr) m←v9824)+2) = (((
         x355 = (* (( (ptr) &old←v15400)+1) ),  *(float*)&x355
         ) * (
         x356 = (* (( (ptr) &old←v15400)+5) ),  *(float*)&x356
         )) - ((
         x357 = (* (( (ptr) &old←v15400)+4) ),  *(float*)&x357
         ) * (
         x358 = (* (( (ptr) &old←v15400)+2) ),  *(float*)&x358
         ))) / (
         x359 = det←v15428,  *(float*)&x359
         );
      };
SOURCE(11121, 37)
   {
      word x360;
      word x361;
      word x362;
      word x363;
      word x364;
      *(float*)(( (ptr) m←v9824)+5) = (((
         x360 = (* (( (ptr) &old←v15400)+3) ),  *(float*)&x360
         ) * (
         x361 = (* (( (ptr) &old←v15400)+2) ),  *(float*)&x361
         )) - ((
         x362 = (*  (ptr) &old←v15400 ),  *(float*)&x362
         ) * (
         x363 = (* (( (ptr) &old←v15400)+5) ),  *(float*)&x363
         ))) / (
         x364 = det←v15428,  *(float*)&x364
         );
      };
SOURCE(11160, 11)
   (void) Validate←P300(m←v9824);
   }

static void Transform←P2580(formal←c0343, m←v9884, v←v9912)
   word formal←c0343;
   word m←v9884;
   W2 v←v9912;
   {
   W2 var←c9956;
   /* Transform: */ 
SOURCE(11178, 590)
SOURCE(11247, 23)
   if ((m←v9884 == 0)) {
SOURCE(11261, 9)
      var←c9956 = v←v9912;
      goto lab←L100025;
      };
SOURCE(11272, 496)
   {
      word var←c29188;
      var←c29188 = (* (( (ptr) m←v9884)+9) );
      switch (var←c29188) {
         case 0: 
SOURCE(11296, 58)
            {
               word x365;
               word x366;
               word x367;
               word x368;
               word x369;
               *(float*)&var←c9956.f0 = (((
                  x365 = v←v9912.f0,  *(float*)&x365
                  ) * (
                  x366 = (*  (ptr) m←v9884 ),  *(float*)&x366
                  )) + ((
                  x367 = v←v9912.f1,  *(float*)&x367
                  ) * (
                  x368 = (* (( (ptr) m←v9884)+1) ),  *(float*)&x368
                  ))) + (
                  x369 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x369
                  );
               };
            {
               word x370;
               word x371;
               word x372;
               word x373;
               word x374;
               *(float*)&var←c9956.f1 = (((
                  x370 = v←v9912.f0,  *(float*)&x370
                  ) * (
                  x371 = (* (( (ptr) m←v9884)+3) ),  *(float*)&x371
                  )) + ((
                  x372 = v←v9912.f1,  *(float*)&x372
                  ) * (
                  x373 = (* (( (ptr) m←v9884)+4) ),  *(float*)&x373
                  ))) + (
                  x374 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x374
                  );
               };
            /* removed tail goto */ 
            break;
         case 1: 
SOURCE(11361, 38)
            {
               word x375;
               word x376;
               word x377;
               *(float*)&var←c9956.f0 = ((
                  x375 = v←v9912.f0,  *(float*)&x375
                  ) * (
                  x376 = (*  (ptr) m←v9884 ),  *(float*)&x376
                  )) + (
                  x377 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x377
                  );
               };
            {
               word x378;
               word x379;
               word x380;
               *(float*)&var←c9956.f1 = ((
                  x378 = v←v9912.f1,  *(float*)&x378
                  ) * (
                  x379 = (* (( (ptr) m←v9884)+4) ),  *(float*)&x379
                  )) + (
                  x380 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x380
                  );
               };
            /* removed tail goto */ 
            break;
         case 2: 
SOURCE(11406, 38)
            {
               word x381;
               word x382;
               word x383;
               *(float*)&var←c9956.f0 = ((
                  x381 = v←v9912.f1,  *(float*)&x381
                  ) * (
                  x382 = (* (( (ptr) m←v9884)+1) ),  *(float*)&x382
                  )) + (
                  x383 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x383
                  );
               };
            {
               word x384;
               word x385;
               word x386;
               *(float*)&var←c9956.f1 = ((
                  x384 = v←v9912.f0,  *(float*)&x384
                  ) * (
                  x385 = (* (( (ptr) m←v9884)+3) ),  *(float*)&x385
                  )) + (
                  x386 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x386
                  );
               };
            /* removed tail goto */ 
            break;
         case 3: 
SOURCE(11451, 30)
            {
               word x387;
               word x388;
               *(float*)&var←c9956.f0 = (
                  x387 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x387
                  ) + (
                  x388 = v←v9912.f0,  *(float*)&x388
                  );
               };
            {
               word x389;
               word x390;
               *(float*)&var←c9956.f1 = (
                  x389 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x389
                  ) + (
                  x390 = v←v9912.f1,  *(float*)&x390
                  );
               };
            /* removed tail goto */ 
            break;
         case 4: 
SOURCE(11488, 30)
            {
               word x391;
               word x392;
               *(float*)&var←c9956.f0 = (
                  x391 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x391
                  ) + (
                  x392 = v←v9912.f0,  *(float*)&x392
                  );
               };
            {
               word x393;
               word x394;
               *(float*)&var←c9956.f1 = (
                  x393 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x393
                  ) - (
                  x394 = v←v9912.f1,  *(float*)&x394
                  );
               };
            /* removed tail goto */ 
            break;
         case 5: 
SOURCE(11525, 30)
            {
               word x395;
               word x396;
               *(float*)&var←c9956.f0 = (
                  x395 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x395
                  ) - (
                  x396 = v←v9912.f0,  *(float*)&x396
                  );
               };
            {
               word x397;
               word x398;
               *(float*)&var←c9956.f1 = (
                  x397 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x397
                  ) + (
                  x398 = v←v9912.f1,  *(float*)&x398
                  );
               };
            /* removed tail goto */ 
            break;
         case 6: 
SOURCE(11562, 30)
            {
               word x399;
               word x400;
               *(float*)&var←c9956.f0 = (
                  x399 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x399
                  ) - (
                  x400 = v←v9912.f0,  *(float*)&x400
                  );
               };
            {
               word x401;
               word x402;
               *(float*)&var←c9956.f1 = (
                  x401 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x401
                  ) - (
                  x402 = v←v9912.f1,  *(float*)&x402
                  );
               };
            /* removed tail goto */ 
            break;
         case 7: 
SOURCE(11599, 30)
            {
               word x403;
               word x404;
               *(float*)&var←c9956.f0 = (
                  x403 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x403
                  ) + (
                  x404 = v←v9912.f1,  *(float*)&x404
                  );
               };
            {
               word x405;
               word x406;
               *(float*)&var←c9956.f1 = (
                  x405 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x405
                  ) + (
                  x406 = v←v9912.f0,  *(float*)&x406
                  );
               };
            /* removed tail goto */ 
            break;
         case 8: 
SOURCE(11636, 30)
            {
               word x407;
               word x408;
               *(float*)&var←c9956.f0 = (
                  x407 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x407
                  ) + (
                  x408 = v←v9912.f1,  *(float*)&x408
                  );
               };
            {
               word x409;
               word x410;
               *(float*)&var←c9956.f1 = (
                  x409 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x409
                  ) - (
                  x410 = v←v9912.f0,  *(float*)&x410
                  );
               };
            /* removed tail goto */ 
            break;
         case 9: 
SOURCE(11673, 30)
            {
               word x411;
               word x412;
               *(float*)&var←c9956.f0 = (
                  x411 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x411
                  ) - (
                  x412 = v←v9912.f1,  *(float*)&x412
                  );
               };
            {
               word x413;
               word x414;
               *(float*)&var←c9956.f1 = (
                  x413 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x413
                  ) + (
                  x414 = v←v9912.f0,  *(float*)&x414
                  );
               };
            /* removed tail goto */ 
            break;
         case 10: 
SOURCE(11711, 30)
            {
               word x415;
               word x416;
               *(float*)&var←c9956.f0 = (
                  x415 = (* (( (ptr) m←v9884)+2) ),  *(float*)&x415
                  ) - (
                  x416 = v←v9912.f1,  *(float*)&x416
                  );
               };
            {
               word x417;
               word x418;
               *(float*)&var←c9956.f1 = (
                  x417 = (* (( (ptr) m←v9884)+5) ),  *(float*)&x417
                  ) - (
                  x418 = v←v9912.f0,  *(float*)&x418
                  );
               };
            /* removed tail goto */ 
            break;
         default: 
SOURCE(11756, 12)
SOURCE(870, 28)
            if (((* (( (ptr) m←v9884)+9) ) > 10)) {
SOURCE(890, 8)
               (void) Bitch←P60(m←v9884);
               };
SOURCE(11770, 6)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   lab←L100025: ;
   (*  (W2Pt) formal←c0343 ) = var←c9956;
   return;
   }

static void TransformVec←P2640(formal←c0354, m←v10016, v←v10044)
   word formal←c0354;
   word m←v10016;
   W2 v←v10044;
   {
   W2 var←c10088;
   /* TransformVec: */ 
SOURCE(11782, 709)
SOURCE(11854, 23)
   if ((m←v10016 == 0)) {
SOURCE(11868, 9)
      var←c10088 = v←v10044;
      goto lab←L100026;
      };
SOURCE(11879, 612)
   {
      word var←c29924;
      var←c29924 = (* (( (ptr) m←v10016)+9) );
      switch (var←c29924) {
         case 0: 
SOURCE(11903, 46)
            {
               word x419;
               word x420;
               word x421;
               word x422;
               *(float*)&var←c10088.f0 = ((
                  x419 = v←v10044.f0,  *(float*)&x419
                  ) * (
                  x420 = (*  (ptr) m←v10016 ),  *(float*)&x420
                  )) + ((
                  x421 = v←v10044.f1,  *(float*)&x421
                  ) * (
                  x422 = (* (( (ptr) m←v10016)+1) ),  *(float*)&x422
                  ));
               };
            {
               word x423;
               word x424;
               word x425;
               word x426;
               *(float*)&var←c10088.f1 = ((
                  x423 = v←v10044.f0,  *(float*)&x423
                  ) * (
                  x424 = (* (( (ptr) m←v10016)+3) ),  *(float*)&x424
                  )) + ((
                  x425 = v←v10044.f1,  *(float*)&x425
                  ) * (
                  x426 = (* (( (ptr) m←v10016)+4) ),  *(float*)&x426
                  ));
               };
            /* removed tail goto */ 
            break;
         case 1: 
SOURCE(11956, 26)
            {
               word x427;
               word x428;
               *(float*)&var←c10088.f0 = (
                  x427 = v←v10044.f0,  *(float*)&x427
                  ) * (
                  x428 = (*  (ptr) m←v10016 ),  *(float*)&x428
                  );
               };
            {
               word x429;
               word x430;
               *(float*)&var←c10088.f1 = (
                  x429 = v←v10044.f1,  *(float*)&x429
                  ) * (
                  x430 = (* (( (ptr) m←v10016)+4) ),  *(float*)&x430
                  );
               };
            /* removed tail goto */ 
            break;
         case 2: 
SOURCE(12001, 26)
            {
               word x431;
               word x432;
               *(float*)&var←c10088.f0 = (
                  x431 = v←v10044.f1,  *(float*)&x431
                  ) * (
                  x432 = (* (( (ptr) m←v10016)+1) ),  *(float*)&x432
                  );
               };
            {
               word x433;
               word x434;
               *(float*)&var←c10088.f1 = (
                  x433 = v←v10044.f0,  *(float*)&x433
                  ) * (
                  x434 = (* (( (ptr) m←v10016)+3) ),  *(float*)&x434
                  );
               };
            /* removed tail goto */ 
            break;
         case 3: 
SOURCE(12046, 22)
            var←c10088.f0 = v←v10044.f0;
            var←c10088.f1 = v←v10044.f1;
            /* removed tail goto */ 
            break;
         case 4: 
SOURCE(12099, 22)
            var←c10088.f0 = v←v10044.f0;
            {
               word x435;
               *(float*)&var←c10088.f1 =  - (
                  x435 = v←v10044.f1,  *(float*)&x435
                  );
               };
            /* removed tail goto */ 
            break;
         case 5: 
SOURCE(12152, 22)
            {
               word x436;
               *(float*)&var←c10088.f0 =  - (
                  x436 = v←v10044.f0,  *(float*)&x436
                  );
               };
            var←c10088.f1 = v←v10044.f1;
            /* removed tail goto */ 
            break;
         case 6: 
SOURCE(12205, 22)
            {
               word x437;
               *(float*)&var←c10088.f0 =  - (
                  x437 = v←v10044.f0,  *(float*)&x437
                  );
               };
            {
               word x438;
               *(float*)&var←c10088.f1 =  - (
                  x438 = v←v10044.f1,  *(float*)&x438
                  );
               };
            /* removed tail goto */ 
            break;
         case 7: 
SOURCE(12258, 22)
            var←c10088.f0 = v←v10044.f1;
            var←c10088.f1 = v←v10044.f0;
            /* removed tail goto */ 
            break;
         case 8: 
SOURCE(12311, 22)
            var←c10088.f0 = v←v10044.f1;
            {
               word x439;
               *(float*)&var←c10088.f1 =  - (
                  x439 = v←v10044.f0,  *(float*)&x439
                  );
               };
            /* removed tail goto */ 
            break;
         case 9: 
SOURCE(12364, 22)
            {
               word x440;
               *(float*)&var←c10088.f0 =  - (
                  x440 = v←v10044.f1,  *(float*)&x440
                  );
               };
            var←c10088.f1 = v←v10044.f0;
            /* removed tail goto */ 
            break;
         case 10: 
SOURCE(12418, 22)
            {
               word x441;
               *(float*)&var←c10088.f0 =  - (
                  x441 = v←v10044.f1,  *(float*)&x441
                  );
               };
            {
               word x442;
               *(float*)&var←c10088.f1 =  - (
                  x442 = v←v10044.f0,  *(float*)&x442
                  );
               };
            /* removed tail goto */ 
            break;
         default: 
SOURCE(12479, 12)
SOURCE(870, 28)
            if (((* (( (ptr) m←v10016)+9) ) > 10)) {
SOURCE(890, 8)
               (void) Bitch←P60(m←v10016);
               };
SOURCE(12493, 6)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   lab←L100026: ;
   (*  (W2Pt) formal←c0354 ) = var←c10088;
   return;
   }

static void InverseTransform←P2700(formal←c0361, m←v10148, v←v10176)
   word formal←c0361;
   word m←v10148;
   W2 v←v10176;
   {
   W2 var←c10220;
   /* InverseTransform: */ 
SOURCE(12506, 155)
SOURCE(12582, 23)
   if ((m←v10148 == 0)) {
SOURCE(12596, 9)
      var←c10220 = v←v10176;
      goto lab←L100027;
      };
SOURCE(12607, 54)
   {
      W2 var←c30468;
      {
         W2 var←c0360;
         {
            W2 var←c30436;
            {
               word x443;
               word x444;
               *(float*)&var←c30436.f0 = (
                  x443 = v←v10176.f0,  *(float*)&x443
                  ) - (
                  x444 = (* (( (ptr) m←v10148)+2) ),  *(float*)&x444
                  );
               };
            {
               word x445;
               word x446;
               *(float*)&var←c30436.f1 = (
                  x445 = v←v10176.f1,  *(float*)&x445
                  ) - (
                  x446 = (* (( (ptr) m←v10148)+5) ),  *(float*)&x446
                  );
               };
            (void) InverseTransformVec←P2760((word) &var←c0360, m←v10148, var←c30436);
            };
         var←c30468 = var←c0360;
         };
      var←c10220 = var←c30468;
      /* removed tail goto */ 
      };
   lab←L100027: ;
   (*  (W2Pt) formal←c0361 ) = var←c10220;
   return;
   }

static void InverseTransformVec←P2760(formal←c0373, m←v10280, v←v10308)
   word formal←c0373;
   word m←v10280;
   W2 v←v10308;
   {
   W2 var←c10352;
   /* InverseTransformVec: */ 
SOURCE(12667, 751)
SOURCE(12746, 23)
   if ((m←v10280 == 0)) {
SOURCE(12760, 9)
      var←c10352 = v←v10308;
      goto lab←L100028;
      };
SOURCE(12771, 647)
   {
      word var←c30500;
      var←c30500 = (* (( (ptr) m←v10280)+9) );
      switch (var←c30500) {
         case 0: 
SOURCE(12795, 80)
            {
               word D←v15472;
SOURCE(12797, 25)
               {
                  word x447;
                  word x448;
                  word x449;
                  word x450;
                  *(float*)&D←v15472 = ((
                     x447 = (*  (ptr) m←v10280 ),  *(float*)&x447
                     ) * (
                     x448 = (* (( (ptr) m←v10280)+4) ),  *(float*)&x448
                     )) - ((
                     x449 = (* (( (ptr) m←v10280)+1) ),  *(float*)&x449
                     ) * (
                     x450 = (* (( (ptr) m←v10280)+3) ),  *(float*)&x450
                     ));
                  };
SOURCE(12824, 51)
               {
                  word x451;
                  word x452;
                  word x453;
                  word x454;
                  word x455;
                  *(float*)&var←c10352.f0 = (((
                     x451 = v←v10308.f0,  *(float*)&x451
                     ) * (
                     x452 = (* (( (ptr) m←v10280)+4) ),  *(float*)&x452
                     )) - ((
                     x453 = v←v10308.f1,  *(float*)&x453
                     ) * (
                     x454 = (* (( (ptr) m←v10280)+1) ),  *(float*)&x454
                     ))) / (
                     x455 = D←v15472,  *(float*)&x455
                     );
                  };
               {
                  word x456;
                  word x457;
                  word x458;
                  word x459;
                  word x460;
                  *(float*)&var←c10352.f1 = (((
                     x456 = v←v10308.f1,  *(float*)&x456
                     ) * (
                     x457 = (*  (ptr) m←v10280 ),  *(float*)&x457
                     )) - ((
                     x458 = v←v10308.f0,  *(float*)&x458
                     ) * (
                     x459 = (* (( (ptr) m←v10280)+3) ),  *(float*)&x459
                     ))) / (
                     x460 = D←v15472,  *(float*)&x460
                     );
                  };
               /* removed tail goto */ 
               };
            break;
         case 1: 
SOURCE(12883, 26)
            {
               word x461;
               word x462;
               *(float*)&var←c10352.f0 = (
                  x461 = v←v10308.f0,  *(float*)&x461
                  ) / (
                  x462 = (*  (ptr) m←v10280 ),  *(float*)&x462
                  );
               };
            {
               word x463;
               word x464;
               *(float*)&var←c10352.f1 = (
                  x463 = v←v10308.f1,  *(float*)&x463
                  ) / (
                  x464 = (* (( (ptr) m←v10280)+4) ),  *(float*)&x464
                  );
               };
            /* removed tail goto */ 
            break;
         case 2: 
SOURCE(12928, 26)
            {
               word x465;
               word x466;
               *(float*)&var←c10352.f0 = (
                  x465 = v←v10308.f1,  *(float*)&x465
                  ) / (
                  x466 = (* (( (ptr) m←v10280)+3) ),  *(float*)&x466
                  );
               };
            {
               word x467;
               word x468;
               *(float*)&var←c10352.f1 = (
                  x467 = v←v10308.f0,  *(float*)&x467
                  ) / (
                  x468 = (* (( (ptr) m←v10280)+1) ),  *(float*)&x468
                  );
               };
            /* removed tail goto */ 
            break;
         case 3: 
SOURCE(12973, 22)
            var←c10352.f0 = v←v10308.f0;
            var←c10352.f1 = v←v10308.f1;
            /* removed tail goto */ 
            break;
         case 4: 
SOURCE(13026, 22)
            var←c10352.f0 = v←v10308.f0;
            {
               word x469;
               *(float*)&var←c10352.f1 =  - (
                  x469 = v←v10308.f1,  *(float*)&x469
                  );
               };
            /* removed tail goto */ 
            break;
         case 5: 
SOURCE(13079, 22)
            {
               word x470;
               *(float*)&var←c10352.f0 =  - (
                  x470 = v←v10308.f0,  *(float*)&x470
                  );
               };
            var←c10352.f1 = v←v10308.f1;
            /* removed tail goto */ 
            break;
         case 6: 
SOURCE(13132, 22)
            {
               word x471;
               *(float*)&var←c10352.f0 =  - (
                  x471 = v←v10308.f0,  *(float*)&x471
                  );
               };
            {
               word x472;
               *(float*)&var←c10352.f1 =  - (
                  x472 = v←v10308.f1,  *(float*)&x472
                  );
               };
            /* removed tail goto */ 
            break;
         case 7: 
SOURCE(13185, 22)
            var←c10352.f0 = v←v10308.f1;
            var←c10352.f1 = v←v10308.f0;
            /* removed tail goto */ 
            break;
         case 8: 
SOURCE(13238, 22)
            {
               word x473;
               *(float*)&var←c10352.f0 =  - (
                  x473 = v←v10308.f1,  *(float*)&x473
                  );
               };
            var←c10352.f1 = v←v10308.f0;
            /* removed tail goto */ 
            break;
         case 9: 
SOURCE(13291, 22)
            var←c10352.f0 = v←v10308.f1;
            {
               word x474;
               *(float*)&var←c10352.f1 =  - (
                  x474 = v←v10308.f0,  *(float*)&x474
                  );
               };
            /* removed tail goto */ 
            break;
         case 10: 
SOURCE(13345, 22)
            {
               word x475;
               *(float*)&var←c10352.f0 =  - (
                  x475 = v←v10308.f1,  *(float*)&x475
                  );
               };
            {
               word x476;
               *(float*)&var←c10352.f1 =  - (
                  x476 = v←v10308.f0,  *(float*)&x476
                  );
               };
            /* removed tail goto */ 
            break;
         default: 
SOURCE(13406, 12)
SOURCE(870, 28)
            if (((* (( (ptr) m←v10280)+9) ) > 10)) {
SOURCE(890, 8)
               (void) Bitch←P60(m←v10280);
               };
SOURCE(13420, 6)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   lab←L100028: ;
   (*  (W2Pt) formal←c0373 ) = var←c10352;
   return;
   }

static void DRound←P2880(formal←c0378, v←v10516)
   word formal←c0378;
   W2 v←v10516;
   {
   register ptr gf←c35172 =  (ptr) &globalframe;
   W2 var←c10560;
   /* DRound: */ 
SOURCE(13591, 92)
SOURCE(13638, 45)
   {
      W2 var←c31012;
      {
         W2 var←c30980;
         {
            float tf477;
            word x478;
            word x479;
            word pd480;
            word x481;
            word x482;
            float tf483;
            float tf484;
            if ((FABS((
                  x478 = v←v10516.f0,  *(float*)&x478
                  ), tf477) < (
               x479 = (* (( (ptr) gf←c35172)+16)/* intLimit←v4344 */  ),  *(float*)&x479
               ))) {
               pd480 = (* (( (ptr) (* (( (ptr) gf←c35172)+163)/* var←c27396 */  ))+8) );
               var←c30980.f0 = (
                  tf484 = (float)(int)(word) ( *( (fPt) ((*  (ptr) pd480 ))))((
                        tf483 = (
                           x481 = v←v10516.f0,  *(float*)&x481
                           ) + (
                           x482 = (*  (ptr) &fc98 ),  *(float*)&x482
                           ),  *(word*)&tf483
                        ), pd480),  *(word*)&tf484
                  );
               }
            else {
               var←c30980.f0 = v←v10516.f0;
               };
            };
         {
            float tf485;
            word x486;
            word x487;
            word pd488;
            word x489;
            word x490;
            float tf491;
            float tf492;
            if ((FABS((
                  x486 = v←v10516.f1,  *(float*)&x486
                  ), tf485) < (
               x487 = (* (( (ptr) gf←c35172)+16)/* intLimit←v4344 */  ),  *(float*)&x487
               ))) {
               pd488 = (* (( (ptr) (* (( (ptr) gf←c35172)+163)/* var←c27396 */  ))+8) );
               var←c30980.f1 = (
                  tf492 = (float)(int)(word) ( *( (fPt) ((*  (ptr) pd488 ))))((
                        tf491 = (
                           x489 = v←v10516.f1,  *(float*)&x489
                           ) + (
                           x490 = (*  (ptr) &fc98 ),  *(float*)&x490
                           ),  *(word*)&tf491
                        ), pd488),  *(word*)&tf492
                  );
               }
            else {
               var←c30980.f1 = v←v10516.f1;
               };
            };
         var←c31012 = var←c30980;
         };
      var←c10560 = var←c31012;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c0378 ) = var←c10560;
   return;
   }

static void RoundXY←P2940(formal←c0388, m←v10620, v←v10648)
   word formal←c0388;
   word m←v10620;
   W2 v←v10648;
   {
   W2 var←c10692;
   /* RoundXY: */ 
SOURCE(13687, 119)
SOURCE(13754, 52)
   {
      W2 var←c31140;
      {
         W2 var←c31076;
         {
            W2 var←c31108;
            (void) Transform←P2580((word) &var←c31108, m←v10620, v←v10648);
            {
               W2 var←c0386;
               (void) DRound←P2880((word) &var←c0386, var←c31108);
               var←c31076 = var←c0386;
               };
            };
         {
            W2 var←c0387;
            (void) InverseTransform←P2700((word) &var←c0387, m←v10620, var←c31076);
            var←c31140 = var←c0387;
            };
         };
      var←c10692 = var←c31140;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c0388 ) = var←c10692;
   return;
   }

static void RoundXYVec←P3000(formal←c0398, m←v10752, v←v10780)
   word formal←c0398;
   word m←v10752;
   W2 v←v10780;
   {
   W2 var←c10824;
   /* RoundXYVec: */ 
SOURCE(13812, 128)
SOURCE(13882, 58)
   {
      W2 var←c31268;
      {
         W2 var←c31204;
         {
            W2 var←c31236;
            (void) TransformVec←P2640((word) &var←c31236, m←v10752, v←v10780);
            {
               W2 var←c0396;
               (void) DRound←P2880((word) &var←c0396, var←c31236);
               var←c31204 = var←c0396;
               };
            };
         {
            W2 var←c0397;
            (void) InverseTransformVec←P2760((word) &var←c0397, m←v10752, var←c31204);
            var←c31268 = var←c0397;
            };
         };
      var←c10824 = var←c31268;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c0398 ) = var←c10824;
   return;
   }

static void TransformRectangle←P3060(formal←c0428, m←v10884, r←v10912)
   word formal←c0428;
   word m←v10884;
   W4 r←v10912;
   {
   W4 var←c10956;
   /* TransformRectangle: */ 
SOURCE(13947, 1122)
SOURCE(14038, 23)
   if ((m←v10884 == 0)) {
SOURCE(14052, 9)
      var←c10956 = r←v10912;
      goto lab←L100032;
      };
SOURCE(14063, 1006)
   if (((* (( (ptr) m←v10884)+9) ) == 0)) {
SOURCE(14080, 664)
      {
         W2 p0←v15516;
         W2 p1←v15544;
         W2 p2←v15572;
         W2 p3←v15600;
         word xmin←v15628;
         word xmax←v15656;
         word ymin←v15684;
         word ymax←v15712;
SOURCE(14082, 34)
         {
            W2 var←c0404;
            {
               W2 var←c31300;
               var←c31300.f0 = r←v10912.f0;
               var←c31300.f1 = r←v10912.f1;
               (void) Transform←P2580((word) &var←c0404, m←v10884, var←c31300);
               };
            p0←v15516 = var←c0404;
            };
SOURCE(14118, 38)
         {
            W2 var←c0407;
            {
               W2 var←c31332;
               {
                  word x493;
                  word x494;
                  *(float*)&var←c31332.f0 = (
                     x493 = r←v10912.f0,  *(float*)&x493
                     ) + (
                     x494 = r←v10912.f2,  *(float*)&x494
                     );
                  };
               var←c31332.f1 = r←v10912.f1;
               (void) Transform←P2580((word) &var←c0407, m←v10884, var←c31332);
               };
            p1←v15544 = var←c0407;
            };
SOURCE(14158, 42)
         {
            W2 var←c0410;
            {
               W2 var←c31364;
               {
                  word x495;
                  word x496;
                  *(float*)&var←c31364.f0 = (
                     x495 = r←v10912.f0,  *(float*)&x495
                     ) + (
                     x496 = r←v10912.f2,  *(float*)&x496
                     );
                  };
               {
                  word x497;
                  word x498;
                  *(float*)&var←c31364.f1 = (
                     x497 = r←v10912.f1,  *(float*)&x497
                     ) + (
                     x498 = r←v10912.f3,  *(float*)&x498
                     );
                  };
               (void) Transform←P2580((word) &var←c0410, m←v10884, var←c31364);
               };
            p2←v15572 = var←c0410;
            };
SOURCE(14202, 38)
         {
            W2 var←c0413;
            {
               W2 var←c31396;
               var←c31396.f0 = r←v10912.f0;
               {
                  word x499;
                  word x500;
                  *(float*)&var←c31396.f1 = (
                     x499 = r←v10912.f1,  *(float*)&x499
                     ) + (
                     x500 = r←v10912.f3,  *(float*)&x500
                     );
                  };
               (void) Transform←P2580((word) &var←c0413, m←v10884, var←c31396);
               };
            p3←v15600 = var←c0413;
            };
SOURCE(14242, 23)
         xmin←v15628 = p0←v15516.f0;
         xmax←v15656 = xmin←v15628;
SOURCE(14267, 23)
         ymin←v15684 = p0←v15516.f1;
         ymax←v15712 = ymin←v15684;
SOURCE(14292, 64)
         {
            word x501;
            word x502;
            if (((
               x501 = p1←v15544.f0,  *(float*)&x501
               ) < (
               x502 = xmin←v15628,  *(float*)&x502
               ))) {
SOURCE(14310, 17)
               xmin←v15628 = p1←v15544.f0;
               }
            else {
SOURCE(14327, 29)
               {
                  word x503;
                  word x504;
                  if (((
                     x503 = p1←v15544.f0,  *(float*)&x503
                     ) > (
                     x504 = xmax←v15656,  *(float*)&x504
                     ))) {
SOURCE(14345, 11)
                     xmax←v15656 = p1←v15544.f0;
                     };
                  };
               };
            };
SOURCE(14358, 64)
         {
            word x505;
            word x506;
            if (((
               x505 = p1←v15544.f1,  *(float*)&x505
               ) < (
               x506 = ymin←v15684,  *(float*)&x506
               ))) {
SOURCE(14376, 17)
               ymin←v15684 = p1←v15544.f1;
               }
            else {
SOURCE(14393, 29)
               {
                  word x507;
                  word x508;
                  if (((
                     x507 = p1←v15544.f1,  *(float*)&x507
                     ) > (
                     x508 = ymax←v15712,  *(float*)&x508
                     ))) {
SOURCE(14411, 11)
                     ymax←v15712 = p1←v15544.f1;
                     };
                  };
               };
            };
SOURCE(14424, 64)
         {
            word x509;
            word x510;
            if (((
               x509 = p2←v15572.f0,  *(float*)&x509
               ) < (
               x510 = xmin←v15628,  *(float*)&x510
               ))) {
SOURCE(14442, 17)
               xmin←v15628 = p2←v15572.f0;
               }
            else {
SOURCE(14459, 29)
               {
                  word x511;
                  word x512;
                  if (((
                     x511 = p2←v15572.f0,  *(float*)&x511
                     ) > (
                     x512 = xmax←v15656,  *(float*)&x512
                     ))) {
SOURCE(14477, 11)
                     xmax←v15656 = p2←v15572.f0;
                     };
                  };
               };
            };
SOURCE(14490, 64)
         {
            word x513;
            word x514;
            if (((
               x513 = p2←v15572.f1,  *(float*)&x513
               ) < (
               x514 = ymin←v15684,  *(float*)&x514
               ))) {
SOURCE(14508, 17)
               ymin←v15684 = p2←v15572.f1;
               }
            else {
SOURCE(14525, 29)
               {
                  word x515;
                  word x516;
                  if (((
                     x515 = p2←v15572.f1,  *(float*)&x515
                     ) > (
                     x516 = ymax←v15712,  *(float*)&x516
                     ))) {
SOURCE(14543, 11)
                     ymax←v15712 = p2←v15572.f1;
                     };
                  };
               };
            };
SOURCE(14556, 64)
         {
            word x517;
            word x518;
            if (((
               x517 = p3←v15600.f0,  *(float*)&x517
               ) < (
               x518 = xmin←v15628,  *(float*)&x518
               ))) {
SOURCE(14574, 17)
               xmin←v15628 = p3←v15600.f0;
               }
            else {
SOURCE(14591, 29)
               {
                  word x519;
                  word x520;
                  if (((
                     x519 = p3←v15600.f0,  *(float*)&x519
                     ) > (
                     x520 = xmax←v15656,  *(float*)&x520
                     ))) {
SOURCE(14609, 11)
                     xmax←v15656 = p3←v15600.f0;
                     };
                  };
               };
            };
SOURCE(14622, 64)
         {
            word x521;
            word x522;
            if (((
               x521 = p3←v15600.f1,  *(float*)&x521
               ) < (
               x522 = ymin←v15684,  *(float*)&x522
               ))) {
SOURCE(14640, 17)
               ymin←v15684 = p3←v15600.f1;
               }
            else {
SOURCE(14657, 29)
               {
                  word x523;
                  word x524;
                  if (((
                     x523 = p3←v15600.f1,  *(float*)&x523
                     ) > (
                     x524 = ymax←v15712,  *(float*)&x524
                     ))) {
SOURCE(14675, 11)
                     ymax←v15712 = p3←v15600.f1;
                     };
                  };
               };
            };
SOURCE(14688, 54)
         var←c10956.f0 = xmin←v15628;
         var←c10956.f1 = ymin←v15684;
         {
            word x525;
            word x526;
            *(float*)&var←c10956.f2 = (
               x525 = xmax←v15656,  *(float*)&x525
               ) - (
               x526 = xmin←v15628,  *(float*)&x526
               );
            };
         {
            word x527;
            word x528;
            *(float*)&var←c10956.f3 = (
               x527 = ymax←v15712,  *(float*)&x527
               ) - (
               x528 = ymin←v15684,  *(float*)&x528
               );
            };
         /* removed tail goto */ 
         };
      }
   else {
SOURCE(14751, 320)
      {
         W2 p0←v15756;
         W2 p2←v15784;
         word xmin←v15812;
         word xmax←v15840;
         word ymin←v15868;
         word ymax←v15896;
SOURCE(14753, 34)
         {
            W2 var←c0420;
            {
               W2 var←c31460;
               var←c31460.f0 = r←v10912.f0;
               var←c31460.f1 = r←v10912.f1;
               (void) Transform←P2580((word) &var←c0420, m←v10884, var←c31460);
               };
            p0←v15756 = var←c0420;
            };
SOURCE(14789, 42)
         {
            W2 var←c0423;
            {
               W2 var←c31492;
               {
                  word x529;
                  word x530;
                  *(float*)&var←c31492.f0 = (
                     x529 = r←v10912.f0,  *(float*)&x529
                     ) + (
                     x530 = r←v10912.f2,  *(float*)&x530
                     );
                  };
               {
                  word x531;
                  word x532;
                  *(float*)&var←c31492.f1 = (
                     x531 = r←v10912.f1,  *(float*)&x531
                     ) + (
                     x532 = r←v10912.f3,  *(float*)&x532
                     );
                  };
               (void) Transform←P2580((word) &var←c0423, m←v10884, var←c31492);
               };
            p2←v15784 = var←c0423;
            };
SOURCE(14833, 23)
         xmin←v15812 = p0←v15756.f0;
         xmax←v15840 = xmin←v15812;
SOURCE(14858, 23)
         ymin←v15868 = p0←v15756.f1;
         ymax←v15896 = ymin←v15868;
SOURCE(14883, 64)
         {
            word x533;
            word x534;
            if (((
               x533 = p2←v15784.f0,  *(float*)&x533
               ) < (
               x534 = xmin←v15812,  *(float*)&x534
               ))) {
SOURCE(14901, 17)
               xmin←v15812 = p2←v15784.f0;
               }
            else {
SOURCE(14918, 29)
               {
                  word x535;
                  word x536;
                  if (((
                     x535 = p2←v15784.f0,  *(float*)&x535
                     ) > (
                     x536 = xmax←v15840,  *(float*)&x536
                     ))) {
SOURCE(14936, 11)
                     xmax←v15840 = p2←v15784.f0;
                     };
                  };
               };
            };
SOURCE(14949, 64)
         {
            word x537;
            word x538;
            if (((
               x537 = p2←v15784.f1,  *(float*)&x537
               ) < (
               x538 = ymin←v15868,  *(float*)&x538
               ))) {
SOURCE(14967, 17)
               ymin←v15868 = p2←v15784.f1;
               }
            else {
SOURCE(14984, 29)
               {
                  word x539;
                  word x540;
                  if (((
                     x539 = p2←v15784.f1,  *(float*)&x539
                     ) > (
                     x540 = ymax←v15896,  *(float*)&x540
                     ))) {
SOURCE(15002, 11)
                     ymax←v15896 = p2←v15784.f1;
                     };
                  };
               };
            };
SOURCE(15015, 54)
         var←c10956.f0 = xmin←v15812;
         var←c10956.f1 = ymin←v15868;
         {
            word x541;
            word x542;
            *(float*)&var←c10956.f2 = (
               x541 = xmax←v15840,  *(float*)&x541
               ) - (
               x542 = xmin←v15812,  *(float*)&x542
               );
            };
         {
            word x543;
            word x544;
            *(float*)&var←c10956.f3 = (
               x543 = ymax←v15896,  *(float*)&x543
               ) - (
               x544 = ymin←v15868,  *(float*)&x544
               );
            };
         /* removed tail goto */ 
         };
      };
   lab←L100032: ;
   (*  (W4Pt) formal←c0428 ) = var←c10956;
   return;
   }

static void InverseTransformRectangle←P3120(formal←c0459, m←v11016, r←v11044)
   word formal←c0459;
   word m←v11016;
   W4 r←v11044;
   {
   W4 var←c11088;
   /* InverseTransformRectangle: */ 
SOURCE(15078, 1213)
SOURCE(15176, 23)
   if ((m←v11016 == 0)) {
SOURCE(15190, 9)
      var←c11088 = r←v11044;
      goto lab←L100033;
      };
SOURCE(15201, 1090)
   {
      word var←c31556;
      var←c31556 = (* (( (ptr) m←v11016)+9) );
      if ((var←c31556 == 0)) {
SOURCE(15225, 692)
         {
            W2 p0←v15940;
            W2 p1←v15968;
            W2 p2←v15996;
            W2 p3←v16024;
            word xmin←v16052;
            word xmax←v16080;
            word ymin←v16108;
            word ymax←v16136;
SOURCE(15227, 41)
            {
               W2 var←c0435;
               {
                  W2 var←c31588;
                  var←c31588.f0 = r←v11044.f0;
                  var←c31588.f1 = r←v11044.f1;
                  (void) InverseTransform←P2700((word) &var←c0435, m←v11016, var←c31588);
                  };
               p0←v15940 = var←c0435;
               };
SOURCE(15270, 45)
            {
               W2 var←c0438;
               {
                  W2 var←c31620;
                  {
                     word x545;
                     word x546;
                     *(float*)&var←c31620.f0 = (
                        x545 = r←v11044.f0,  *(float*)&x545
                        ) + (
                        x546 = r←v11044.f2,  *(float*)&x546
                        );
                     };
                  var←c31620.f1 = r←v11044.f1;
                  (void) InverseTransform←P2700((word) &var←c0438, m←v11016, var←c31620);
                  };
               p1←v15968 = var←c0438;
               };
SOURCE(15317, 49)
            {
               W2 var←c0441;
               {
                  W2 var←c31652;
                  {
                     word x547;
                     word x548;
                     *(float*)&var←c31652.f0 = (
                        x547 = r←v11044.f0,  *(float*)&x547
                        ) + (
                        x548 = r←v11044.f2,  *(float*)&x548
                        );
                     };
                  {
                     word x549;
                     word x550;
                     *(float*)&var←c31652.f1 = (
                        x549 = r←v11044.f1,  *(float*)&x549
                        ) + (
                        x550 = r←v11044.f3,  *(float*)&x550
                        );
                     };
                  (void) InverseTransform←P2700((word) &var←c0441, m←v11016, var←c31652);
                  };
               p2←v15996 = var←c0441;
               };
SOURCE(15368, 45)
            {
               W2 var←c0444;
               {
                  W2 var←c31684;
                  var←c31684.f0 = r←v11044.f0;
                  {
                     word x551;
                     word x552;
                     *(float*)&var←c31684.f1 = (
                        x551 = r←v11044.f1,  *(float*)&x551
                        ) + (
                        x552 = r←v11044.f3,  *(float*)&x552
                        );
                     };
                  (void) InverseTransform←P2700((word) &var←c0444, m←v11016, var←c31684);
                  };
               p3←v16024 = var←c0444;
               };
SOURCE(15415, 23)
            xmin←v16052 = p0←v15940.f0;
            xmax←v16080 = xmin←v16052;
SOURCE(15440, 23)
            ymin←v16108 = p0←v15940.f1;
            ymax←v16136 = ymin←v16108;
SOURCE(15465, 64)
            {
               word x553;
               word x554;
               if (((
                  x553 = p1←v15968.f0,  *(float*)&x553
                  ) < (
                  x554 = xmin←v16052,  *(float*)&x554
                  ))) {
SOURCE(15483, 17)
                  xmin←v16052 = p1←v15968.f0;
                  }
               else {
SOURCE(15500, 29)
                  {
                     word x555;
                     word x556;
                     if (((
                        x555 = p1←v15968.f0,  *(float*)&x555
                        ) > (
                        x556 = xmax←v16080,  *(float*)&x556
                        ))) {
SOURCE(15518, 11)
                        xmax←v16080 = p1←v15968.f0;
                        };
                     };
                  };
               };
SOURCE(15531, 64)
            {
               word x557;
               word x558;
               if (((
                  x557 = p1←v15968.f1,  *(float*)&x557
                  ) < (
                  x558 = ymin←v16108,  *(float*)&x558
                  ))) {
SOURCE(15549, 17)
                  ymin←v16108 = p1←v15968.f1;
                  }
               else {
SOURCE(15566, 29)
                  {
                     word x559;
                     word x560;
                     if (((
                        x559 = p1←v15968.f1,  *(float*)&x559
                        ) > (
                        x560 = ymax←v16136,  *(float*)&x560
                        ))) {
SOURCE(15584, 11)
                        ymax←v16136 = p1←v15968.f1;
                        };
                     };
                  };
               };
SOURCE(15597, 64)
            {
               word x561;
               word x562;
               if (((
                  x561 = p2←v15996.f0,  *(float*)&x561
                  ) < (
                  x562 = xmin←v16052,  *(float*)&x562
                  ))) {
SOURCE(15615, 17)
                  xmin←v16052 = p2←v15996.f0;
                  }
               else {
SOURCE(15632, 29)
                  {
                     word x563;
                     word x564;
                     if (((
                        x563 = p2←v15996.f0,  *(float*)&x563
                        ) > (
                        x564 = xmax←v16080,  *(float*)&x564
                        ))) {
SOURCE(15650, 11)
                        xmax←v16080 = p2←v15996.f0;
                        };
                     };
                  };
               };
SOURCE(15663, 64)
            {
               word x565;
               word x566;
               if (((
                  x565 = p2←v15996.f1,  *(float*)&x565
                  ) < (
                  x566 = ymin←v16108,  *(float*)&x566
                  ))) {
SOURCE(15681, 17)
                  ymin←v16108 = p2←v15996.f1;
                  }
               else {
SOURCE(15698, 29)
                  {
                     word x567;
                     word x568;
                     if (((
                        x567 = p2←v15996.f1,  *(float*)&x567
                        ) > (
                        x568 = ymax←v16136,  *(float*)&x568
                        ))) {
SOURCE(15716, 11)
                        ymax←v16136 = p2←v15996.f1;
                        };
                     };
                  };
               };
SOURCE(15729, 64)
            {
               word x569;
               word x570;
               if (((
                  x569 = p3←v16024.f0,  *(float*)&x569
                  ) < (
                  x570 = xmin←v16052,  *(float*)&x570
                  ))) {
SOURCE(15747, 17)
                  xmin←v16052 = p3←v16024.f0;
                  }
               else {
SOURCE(15764, 29)
                  {
                     word x571;
                     word x572;
                     if (((
                        x571 = p3←v16024.f0,  *(float*)&x571
                        ) > (
                        x572 = xmax←v16080,  *(float*)&x572
                        ))) {
SOURCE(15782, 11)
                        xmax←v16080 = p3←v16024.f0;
                        };
                     };
                  };
               };
SOURCE(15795, 64)
            {
               word x573;
               word x574;
               if (((
                  x573 = p3←v16024.f1,  *(float*)&x573
                  ) < (
                  x574 = ymin←v16108,  *(float*)&x574
                  ))) {
SOURCE(15813, 17)
                  ymin←v16108 = p3←v16024.f1;
                  }
               else {
SOURCE(15830, 29)
                  {
                     word x575;
                     word x576;
                     if (((
                        x575 = p3←v16024.f1,  *(float*)&x575
                        ) > (
                        x576 = ymax←v16136,  *(float*)&x576
                        ))) {
SOURCE(15848, 11)
                        ymax←v16136 = p3←v16024.f1;
                        };
                     };
                  };
               };
SOURCE(15861, 54)
            var←c11088.f0 = xmin←v16052;
            var←c11088.f1 = ymin←v16108;
            {
               word x577;
               word x578;
               *(float*)&var←c11088.f2 = (
                  x577 = xmax←v16080,  *(float*)&x577
                  ) - (
                  x578 = xmin←v16052,  *(float*)&x578
                  );
               };
            {
               word x579;
               word x580;
               *(float*)&var←c11088.f3 = (
                  x579 = ymax←v16136,  *(float*)&x579
                  ) - (
                  x580 = ymin←v16108,  *(float*)&x580
                  );
               };
            /* removed tail goto */ 
            };
         }
      else {
         if ((var←c31556 <= 10)) {
SOURCE(15929, 334)
            {
               W2 p0←v16180;
               W2 p2←v16208;
               word xmin←v16236;
               word xmax←v16264;
               word ymin←v16292;
               word ymax←v16320;
SOURCE(15931, 41)
               {
                  W2 var←c0451;
                  {
                     W2 var←c31748;
                     var←c31748.f0 = r←v11044.f0;
                     var←c31748.f1 = r←v11044.f1;
                     (void) InverseTransform←P2700((word) &var←c0451, m←v11016, var←c31748);
                     };
                  p0←v16180 = var←c0451;
                  };
SOURCE(15974, 49)
               {
                  W2 var←c0454;
                  {
                     W2 var←c31780;
                     {
                        word x581;
                        word x582;
                        *(float*)&var←c31780.f0 = (
                           x581 = r←v11044.f0,  *(float*)&x581
                           ) + (
                           x582 = r←v11044.f2,  *(float*)&x582
                           );
                        };
                     {
                        word x583;
                        word x584;
                        *(float*)&var←c31780.f1 = (
                           x583 = r←v11044.f1,  *(float*)&x583
                           ) + (
                           x584 = r←v11044.f3,  *(float*)&x584
                           );
                        };
                     (void) InverseTransform←P2700((word) &var←c0454, m←v11016, var←c31780);
                     };
                  p2←v16208 = var←c0454;
                  };
SOURCE(16025, 23)
               xmin←v16236 = p0←v16180.f0;
               xmax←v16264 = xmin←v16236;
SOURCE(16050, 23)
               ymin←v16292 = p0←v16180.f1;
               ymax←v16320 = ymin←v16292;
SOURCE(16075, 64)
               {
                  word x585;
                  word x586;
                  if (((
                     x585 = p2←v16208.f0,  *(float*)&x585
                     ) < (
                     x586 = xmin←v16236,  *(float*)&x586
                     ))) {
SOURCE(16093, 17)
                     xmin←v16236 = p2←v16208.f0;
                     }
                  else {
SOURCE(16110, 29)
                     {
                        word x587;
                        word x588;
                        if (((
                           x587 = p2←v16208.f0,  *(float*)&x587
                           ) > (
                           x588 = xmax←v16264,  *(float*)&x588
                           ))) {
SOURCE(16128, 11)
                           xmax←v16264 = p2←v16208.f0;
                           };
                        };
                     };
                  };
SOURCE(16141, 64)
               {
                  word x589;
                  word x590;
                  if (((
                     x589 = p2←v16208.f1,  *(float*)&x589
                     ) < (
                     x590 = ymin←v16292,  *(float*)&x590
                     ))) {
SOURCE(16159, 17)
                     ymin←v16292 = p2←v16208.f1;
                     }
                  else {
SOURCE(16176, 29)
                     {
                        word x591;
                        word x592;
                        if (((
                           x591 = p2←v16208.f1,  *(float*)&x591
                           ) > (
                           x592 = ymax←v16320,  *(float*)&x592
                           ))) {
SOURCE(16194, 11)
                           ymax←v16320 = p2←v16208.f1;
                           };
                        };
                     };
                  };
SOURCE(16207, 54)
               var←c11088.f0 = xmin←v16236;
               var←c11088.f1 = ymin←v16292;
               {
                  word x593;
                  word x594;
                  *(float*)&var←c11088.f2 = (
                     x593 = xmax←v16264,  *(float*)&x593
                     ) - (
                     x594 = xmin←v16236,  *(float*)&x594
                     );
                  };
               {
                  word x595;
                  word x596;
                  *(float*)&var←c11088.f3 = (
                     x595 = ymax←v16320,  *(float*)&x595
                     ) - (
                     x596 = ymin←v16292,  *(float*)&x596
                     );
                  };
               /* removed tail goto */ 
               };
            }
         else {
SOURCE(16279, 12)
SOURCE(870, 28)
            if (((* (( (ptr) m←v11016)+9) ) > 10)) {
SOURCE(890, 8)
               (void) Bitch←P60(m←v11016);
               };
SOURCE(16293, 6)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   lab←L100033: ;
   (*  (W4Pt) formal←c0459 ) = var←c11088;
   return;
   }

static word RestrictAbsTo←P3180(limit←v11148, real←v11176)
   word limit←v11148;
   word real←v11176;
   {
   word var←c11220;
   /* RestrictAbsTo: */ 
SOURCE(16306, 206)
SOURCE(16371, 18)
   {
      float tf597;
      word x598;
      float tf599;
      limit←v11148 = (
         tf599 = FABS((
               x598 = limit←v11148,  *(float*)&x598
               ), tf597),  *(word*)&tf599
         );
      };
SOURCE(16391, 52)
   lab←L100036: ;
   {
      word x600;
      word x601;
      if (((
         x600 = real←v11176,  *(float*)&x600
         ) <  - (
         x601 = limit←v11148,  *(float*)&x601
         ))) {
         }
      else {
         goto lab←L100034;
         };
      };
SOURCE(16414, 29)
   {
      word x602;
      word x604;
      word x605;
      *(float*)&real←v11176 = (
         x602 = real←v11176,  *(float*)&x602
         ) + ((
         x604 = (*  (ptr) &fc603 ),  *(float*)&x604
         ) * (
         x605 = limit←v11148,  *(float*)&x605
         ));
      };
   goto lab←L100036;
   lab←L100034: ;
SOURCE(16445, 52)
   lab←L100039: ;
   {
      word x606;
      word x607;
      if (((
         x606 = real←v11176,  *(float*)&x606
         ) >= (
         x607 = limit←v11148,  *(float*)&x607
         ))) {
         }
      else {
         goto lab←L100037;
         };
      };
SOURCE(16468, 29)
   {
      word x608;
      word x609;
      word x610;
      *(float*)&real←v11176 = (
         x608 = real←v11176,  *(float*)&x608
         ) - ((
         x609 = (*  (ptr) &fc603 ),  *(float*)&x609
         ) * (
         x610 = limit←v11148,  *(float*)&x610
         ));
      };
   goto lab←L100039;
   lab←L100037: ;
SOURCE(16499, 13)
   return(real←v11176);
   }

static word EasyTransformation←P3240(m←v11280)
   word m←v11280;
   {
   word var←c11324;
   /* EasyTransformation: */ 
SOURCE(16516, 108)
SOURCE(16587, 37)
   {
      word tc611;
      if (((* (( (ptr) m←v11280)+9) ) >= 3)) {
         tc611 =  (word)  (unsigned) (0 != (* (( (ptr) m←v11280)+8) ));
         }
      else {
         tc611 =  (word)  (unsigned) 0;
         };
      return(tc611);
      };
   }

static void EasyTransformBox←P3300(formal←c0491, m←v11384, x←v11412, y←v11440, w←v11468, h←v11496, clip←v11524)
   word formal←c0491;
   word m←v11384;
   word x←v11412;
   word y←v11440;
   word w←v11468;
   word h←v11496;
   W4 clip←v11524;
   {
   W4 var←c11568;
   word assert←v16364;
   word x0←v16392;
   word y0←v16420;
   word x1←v16448;
   word y1←v16476;
   word ts←v16504;
   word tf←v16532;
   word s0←v16560;
   word s1←v16588;
   word f0←v16616;
   word f1←v16644;
   W4 box←v16672;
   /* EasyTransformBox: */ 
SOURCE(16628, 1337)
SOURCE(16735, 55)
   {
      word idx612;
      assert←v16364 = (
         idx612 = (word) ( (unsigned)  ( ((* (( (ptr) m←v11384)+9) ) >= 3) ? (0 != (* (( (ptr) m←v11384)+8) )) : 0 )  - 1),
         BCK(idx612, 1)
         );
      };
SOURCE(16792, 16)
   x0←v16392 = x←v11412;
SOURCE(16810, 16)
   y0←v16420 = y←v11440;
SOURCE(16828, 19)
   x1←v16448 = (x0←v16392 + w←v11468);
SOURCE(16849, 19)
   y1←v16476 = (y0←v16420 + h←v11496);
SOURCE(16870, 19)
   ts←v16504 = (* (( (ptr) m←v11384)+6) );
SOURCE(16891, 19)
   tf←v16532 = (* (( (ptr) m←v11384)+7) );
SOURCE(16933, 18)
   box←v16672 = clip←v11524;
SOURCE(16953, 544)
   {
      word var←c31844;
      var←c31844 = (* (( (ptr) m←v11384)+9) );
      switch (var←c31844) {
         case 3: 
SOURCE(16980, 12)
            s0←v16560 = (ts←v16504 + x0←v16392);
SOURCE(16994, 12)
            s1←v16588 = (ts←v16504 + x1←v16448);
SOURCE(17008, 12)
            f0←v16616 = (tf←v16532 + y0←v16420);
SOURCE(17022, 13)
            f1←v16644 = (tf←v16532 + y1←v16476);
            break;
         case 4: 
SOURCE(17046, 12)
            s0←v16560 = (ts←v16504 + x0←v16392);
SOURCE(17060, 12)
            s1←v16588 = (ts←v16504 + x1←v16448);
SOURCE(17074, 12)
            f0←v16616 = (tf←v16532 - y0←v16420);
SOURCE(17088, 13)
            f1←v16644 = (tf←v16532 - y1←v16476);
            break;
         case 5: 
SOURCE(17112, 12)
            s0←v16560 = (ts←v16504 - x0←v16392);
SOURCE(17126, 12)
            s1←v16588 = (ts←v16504 - x1←v16448);
SOURCE(17140, 12)
            f0←v16616 = (tf←v16532 + y0←v16420);
SOURCE(17154, 13)
            f1←v16644 = (tf←v16532 + y1←v16476);
            break;
         case 6: 
SOURCE(17178, 12)
            s0←v16560 = (ts←v16504 - x0←v16392);
SOURCE(17192, 12)
            s1←v16588 = (ts←v16504 - x1←v16448);
SOURCE(17206, 12)
            f0←v16616 = (tf←v16532 - y0←v16420);
SOURCE(17220, 13)
            f1←v16644 = (tf←v16532 - y1←v16476);
            break;
         case 7: 
SOURCE(17244, 12)
            s0←v16560 = (ts←v16504 + y0←v16420);
SOURCE(17258, 12)
            s1←v16588 = (ts←v16504 + y1←v16476);
SOURCE(17272, 12)
            f0←v16616 = (tf←v16532 + x0←v16392);
SOURCE(17286, 13)
            f1←v16644 = (tf←v16532 + x1←v16448);
            break;
         case 8: 
SOURCE(17310, 12)
            s0←v16560 = (ts←v16504 + y0←v16420);
SOURCE(17324, 12)
            s1←v16588 = (ts←v16504 + y1←v16476);
SOURCE(17338, 12)
            f0←v16616 = (tf←v16532 - x0←v16392);
SOURCE(17352, 13)
            f1←v16644 = (tf←v16532 - x1←v16448);
            break;
         case 9: 
SOURCE(17376, 12)
            s0←v16560 = (ts←v16504 - y0←v16420);
SOURCE(17390, 12)
            s1←v16588 = (ts←v16504 - y1←v16476);
SOURCE(17404, 12)
            f0←v16616 = (tf←v16532 + x0←v16392);
SOURCE(17418, 13)
            f1←v16644 = (tf←v16532 + x1←v16448);
            break;
         case 10: 
SOURCE(17442, 12)
            s0←v16560 = (ts←v16504 - y0←v16420);
SOURCE(17456, 12)
            s1←v16588 = (ts←v16504 - y1←v16476);
SOURCE(17470, 12)
            f0←v16616 = (tf←v16532 - x0←v16392);
SOURCE(17484, 13)
            f1←v16644 = (tf←v16532 - x1←v16448);
            break;
         default: 
SOURCE(17511, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
SOURCE(17518, 49)
   if (( (int)s0←v16560 >  (int)s1←v16588)) {
SOURCE(17534, 33)
      {
         word s2←v16736;
SOURCE(17536, 12)
         s2←v16736 = s0←v16560;
SOURCE(17550, 7)
         s0←v16560 = s1←v16588;
SOURCE(17559, 8)
         s1←v16588 = s2←v16736;
         };
      };
SOURCE(17570, 49)
   if (( (int)f0←v16616 >  (int)f1←v16644)) {
SOURCE(17586, 33)
      {
         word f2←v16780;
SOURCE(17588, 12)
         f2←v16780 = f0←v16616;
SOURCE(17602, 7)
         f0←v16616 = f1←v16644;
SOURCE(17611, 8)
         f1←v16644 = f2←v16780;
         };
      };
SOURCE(17622, 42)
   if (( (int)s0←v16560 >  (int)box←v16672.f2)) {
SOURCE(17645, 19)
      {
         word var←c31876;
         var←c31876 = box←v16672.f2;
         s1←v16588 = var←c31876;
         s0←v16560 = var←c31876;
         };
      };
SOURCE(17666, 42)
   if (( (int)s1←v16588 <  (int)box←v16672.f0)) {
SOURCE(17689, 19)
      {
         word var←c31908;
         var←c31908 = box←v16672.f0;
         s1←v16588 = var←c31908;
         s0←v16560 = var←c31908;
         };
      };
SOURCE(17710, 42)
   if (( (int)f0←v16616 >  (int)box←v16672.f3)) {
SOURCE(17733, 19)
      {
         word var←c31940;
         var←c31940 = box←v16672.f3;
         f1←v16644 = var←c31940;
         f0←v16616 = var←c31940;
         };
      };
SOURCE(17754, 42)
   if (( (int)f1←v16644 <  (int)box←v16672.f1)) {
SOURCE(17777, 19)
      {
         word var←c31972;
         var←c31972 = box←v16672.f1;
         f1←v16644 = var←c31972;
         f0←v16616 = var←c31972;
         };
      };
SOURCE(17798, 37)
   if (( (int)s0←v16560 >  (int)box←v16672.f0)) {
SOURCE(17821, 14)
      box←v16672.f0 = s0←v16560;
      };
SOURCE(17837, 37)
   if (( (int)s1←v16588 <  (int)box←v16672.f2)) {
SOURCE(17860, 14)
      box←v16672.f2 = s1←v16588;
      };
SOURCE(17876, 37)
   if (( (int)f0←v16616 >  (int)box←v16672.f1)) {
SOURCE(17899, 14)
      box←v16672.f1 = f0←v16616;
      };
SOURCE(17915, 37)
   if (( (int)f1←v16644 <  (int)box←v16672.f3)) {
SOURCE(17938, 14)
      box←v16672.f3 = f1←v16644;
      };
SOURCE(17954, 11)
   var←c11568 = box←v16672;
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0491 ) = var←c11568;
   return;
   }

static word Singular←P3360(m←v11628)
   word m←v11628;
   {
   word var←c11672;
   word det←v16824;
   /* Singular: */ 
SOURCE(17971, 279)
SOURCE(18032, 34)
   {
      float tf613;
      word x614;
      word x615;
      word x616;
      word x617;
      float tf618;
      det←v16824 = (
         tf618 = FABS((((
               x614 = (*  (ptr) m←v11628 ),  *(float*)&x614
               ) * (
               x615 = (* (( (ptr) m←v11628)+4) ),  *(float*)&x615
               )) - ((
               x616 = (* (( (ptr) m←v11628)+3) ),  *(float*)&x616
               ) * (
               x617 = (* (( (ptr) m←v11628)+1) ),  *(float*)&x617
               ))), tf613),  *(word*)&tf618
         );
      };
SOURCE(18096, 34)
   {
      word x619;
      word x621;
      if (((
         x619 = det←v16824,  *(float*)&x619
         ) >= (
         x621 = (*  (ptr) &fc620 ),  *(float*)&x621
         ))) {
SOURCE(18116, 14)
         return(0);
         };
      };
SOURCE(18132, 29)
   {
      word x622;
      word x623;
      if (((
         x622 = det←v16824,  *(float*)&x622
         ) == (
         x623 = (*  (ptr) &fc29 ),  *(float*)&x623
         ))) {
SOURCE(18148, 13)
         return(1);
         };
      };
SOURCE(18163, 87)
   {
      float tf624;
      word x625;
      float tf626;
      float tf627;
      float tf628;
      word x629;
      float tf630;
      float tf631;
      float tf632;
      float tf633;
      word x634;
      float tf635;
      float tf636;
      float tf637;
      float tf638;
      word x639;
      word x640;
      word x642;
      word x643;
      tf630 = FMAX(FABS((
               x625 = (*  (ptr) m←v11628 ),  *(float*)&x625
               ), tf624), FABS((
               x629 = (* (( (ptr) m←v11628)+1) ),  *(float*)&x629
               ), tf628), tf626, tf627);
      tf635 = FMAX(tf630, FABS((
               x634 = (* (( (ptr) m←v11628)+3) ),  *(float*)&x634
               ), tf633), tf631, tf632);
      return( (unsigned) (FMAX(tf635, FABS((
               x639 = (* (( (ptr) m←v11628)+4) ),  *(float*)&x639
               ), tf638), tf636, tf637) >= ((
         x640 = 2139095039,  *(float*)&x640
         ) * (
         x642 = (*  (ptr) &fc641 ),  *(float*)&x642
         )) * (
         x643 = det←v16824,  *(float*)&x643
         )));
      };
   }

static void Factor←P3420(formal←c0539, m←v11792)
   word formal←c0539;
   word m←v11792;
   {
   register ptr gf←c35204 =  (ptr) &globalframe;
   W6 var←c11836;
   /* Factor: */ 
SOURCE(18340, 1716)
SOURCE(18417, 58)
   if ((m←v11792 == 0)) {
SOURCE(18431, 44)
      var←c11836.f0 = (*  (ptr) &fc29 );
      var←c11836.f1 = (*  (ptr) &fc31 );
      var←c11836.f2 = (*  (ptr) &fc31 );
      var←c11836.f3 = (*  (ptr) &fc29 );
      var←c11836.f4 = (*  (ptr) &fc29 );
      var←c11836.f5 = (*  (ptr) &fc29 );
      goto lab←L100041;
      };
SOURCE(18477, 1579)
   {
      word var←c32036;
      var←c32036 = (* (( (ptr) m←v11792)+9) );
      switch (var←c32036) {
         case 0: 
SOURCE(18501, 873)
            {
               W10 t←v16868;
               word theta←v16896;
               word cosTheta←v16924;
               word sinTheta←v16952;
               word aa←v16980;
               word bb←v17008;
               word dd←v17036;
               word ee←v17064;
               word phi←v17092;
               word cosPhi←v17120;
               word sinPhi←v17148;
               word a←v17176;
               word b←v17204;
               word d←v17232;
               word e←v17260;
               word mag←v17288;
SOURCE(18503, 25)
               t←v16868 = (*  (W10Pt) m←v11792 );
SOURCE(18530, 110)
               {
                  word var←c32068;
                  {
                     word x644;
                     word pd645;
                     word x646;
                     word x647;
                     word x648;
                     word x649;
                     word x650;
                     float tf651;
                     word x652;
                     word x653;
                     word x654;
                     word x655;
                     word x656;
                     word x657;
                     word x658;
                     word x659;
                     float tf660;
                     word x661;
                     pd645 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+17) );
                     *(float*)&var←c32068 = (
                        x644 = (*  (ptr) &fc98 ),  *(float*)&x644
                        ) * (
                        x661 = (word) ( *( (fPt) ((*  (ptr) pd645 ))))((
/*1*/   tf651 = (
/*1*/      x646 = (*  (ptr) &fc603 ),  *(float*)&x646
/*1*/      ) * (((
/*1*/      x647 = (*  (ptr) &t←v16868 ),  *(float*)&x647
/*1*/      ) * (
/*1*/      x648 = (* (( (ptr) &t←v16868)+1) ),  *(float*)&x648
/*1*/      )) + ((
/*1*/      x649 = (* (( (ptr) &t←v16868)+3) ),  *(float*)&x649
/*1*/      ) * (
/*1*/      x650 = (* (( (ptr) &t←v16868)+4) ),  *(float*)&x650
/*1*/      ))),  *(word*)&tf651
/*1*/   ), (
/*1*/   tf660 = ((((
/*1*/      x652 = (*  (ptr) &t←v16868 ),  *(float*)&x652
/*1*/      ) * (
/*1*/      x653 = (*  (ptr) &t←v16868 ),  *(float*)&x653
/*1*/      )) - ((
/*1*/      x654 = (* (( (ptr) &t←v16868)+1) ),  *(float*)&x654
/*1*/      ) * (
/*1*/      x655 = (* (( (ptr) &t←v16868)+1) ),  *(float*)&x655
/*1*/      ))) + ((
/*1*/      x656 = (* (( (ptr) &t←v16868)+3) ),  *(float*)&x656
/*1*/      ) * (
/*1*/      x657 = (* (( (ptr) &t←v16868)+3) ),  *(float*)&x657
/*1*/      ))) - ((
/*1*/      x658 = (* (( (ptr) &t←v16868)+4) ),  *(float*)&x658
/*1*/      ) * (
/*1*/      x659 = (* (( (ptr) &t←v16868)+4) ),  *(float*)&x659
/*1*/      )),  *(word*)&tf660
/*1*/   ), pd645),  *(float*)&x661
                        );
                     };
                  theta←v16896 = (word) RestrictAbsTo←P3180((*  (ptr) &fc662 ), var←c32068);
                  };
SOURCE(18642, 38)
               {
                  word pd663;
                  pd663 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+13) );
                  cosTheta←v16924 = (word) ( *( (fPt) ((*  (ptr) pd663 ))))(theta←v16896, pd663);
                  };
SOURCE(18682, 38)
               {
                  word pd664;
                  pd664 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+11) );
                  sinTheta←v16952 = (word) ( *( (fPt) ((*  (ptr) pd664 ))))(theta←v16896, pd664);
                  };
SOURCE(18722, 39)
               {
                  word x665;
                  word x666;
                  word x667;
                  word x668;
                  *(float*)&aa←v16980 = ((
                     x665 = cosTheta←v16924,  *(float*)&x665
                     ) * (
                     x666 = (*  (ptr) &t←v16868 ),  *(float*)&x666
                     )) + ((
                     x667 = sinTheta←v16952,  *(float*)&x667
                     ) * (
                     x668 = (* (( (ptr) &t←v16868)+1) ),  *(float*)&x668
                     ));
                  };
SOURCE(18763, 39)
               {
                  word x669;
                  word x670;
                  word x671;
                  word x672;
                  *(float*)&bb←v17008 = (( - (
                     x669 = sinTheta←v16952,  *(float*)&x669
                     )) * (
                     x670 = (*  (ptr) &t←v16868 ),  *(float*)&x670
                     )) + ((
                     x671 = cosTheta←v16924,  *(float*)&x671
                     ) * (
                     x672 = (* (( (ptr) &t←v16868)+1) ),  *(float*)&x672
                     ));
                  };
SOURCE(18804, 39)
               {
                  word x673;
                  word x674;
                  word x675;
                  word x676;
                  *(float*)&dd←v17036 = ((
                     x673 = cosTheta←v16924,  *(float*)&x673
                     ) * (
                     x674 = (* (( (ptr) &t←v16868)+3) ),  *(float*)&x674
                     )) + ((
                     x675 = sinTheta←v16952,  *(float*)&x675
                     ) * (
                     x676 = (* (( (ptr) &t←v16868)+4) ),  *(float*)&x676
                     ));
                  };
SOURCE(18845, 39)
               {
                  word x677;
                  word x678;
                  word x679;
                  word x680;
                  *(float*)&ee←v17064 = (( - (
                     x677 = sinTheta←v16952,  *(float*)&x677
                     )) * (
                     x678 = (* (( (ptr) &t←v16868)+3) ),  *(float*)&x678
                     )) + ((
                     x679 = cosTheta←v16924,  *(float*)&x679
                     ) * (
                     x680 = (* (( (ptr) &t←v16868)+4) ),  *(float*)&x680
                     ));
                  };
SOURCE(18886, 112)
               {
                  word var←c32100;
                  {
                     float tf681;
                     word x682;
                     float tf683;
                     word x684;
                     word pd685;
                     word x686;
                     float tf687;
                     word pd688;
                     if ((FABS((
                           x682 = aa←v16980,  *(float*)&x682
                           ), tf681) > FABS((
                           x684 = ee←v17064,  *(float*)&x684
                           ), tf683))) {
                        pd685 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+17) );
                        var←c32100 = (word) ( *( (fPt) ((*  (ptr) pd685 ))))((
/*1*/   tf687 =  - (
/*1*/      x686 = dd←v17036,  *(float*)&x686
/*1*/      ),  *(word*)&tf687
/*1*/   ), aa←v16980, pd685);
                        }
                     else {
                        pd688 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+17) );
                        var←c32100 = (word) ( *( (fPt) ((*  (ptr) pd688 ))))(bb←v17008, ee←v17064, pd688);
                        };
                     };
                  phi←v17092 = (word) RestrictAbsTo←P3180((*  (ptr) &fc22 ), var←c32100);
                  };
SOURCE(19000, 34)
               {
                  word pd689;
                  pd689 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+13) );
                  cosPhi←v17120 = (word) ( *( (fPt) ((*  (ptr) pd689 ))))(phi←v17092, pd689);
                  };
SOURCE(19036, 34)
               {
                  word pd690;
                  pd690 = (* (( (ptr) (* (( (ptr) gf←c35204)+164)/* var←c27428 */  ))+11) );
                  sinPhi←v17148 = (word) ( *( (fPt) ((*  (ptr) pd690 ))))(phi←v17092, pd690);
                  };
SOURCE(19072, 32)
               {
                  word x691;
                  word x692;
                  word x693;
                  word x694;
                  *(float*)&a←v17176 = ((
                     x691 = aa←v16980,  *(float*)&x691
                     ) * (
                     x692 = cosPhi←v17120,  *(float*)&x692
                     )) - ((
                     x693 = dd←v17036,  *(float*)&x693
                     ) * (
                     x694 = sinPhi←v17148,  *(float*)&x694
                     ));
                  };
SOURCE(19106, 32)
               {
                  word x695;
                  word x696;
                  word x697;
                  word x698;
                  *(float*)&b←v17204 = ((
                     x695 = bb←v17008,  *(float*)&x695
                     ) * (
                     x696 = cosPhi←v17120,  *(float*)&x696
                     )) - ((
                     x697 = ee←v17064,  *(float*)&x697
                     ) * (
                     x698 = sinPhi←v17148,  *(float*)&x698
                     ));
                  };
SOURCE(19140, 31)
               {
                  word x699;
                  word x700;
                  word x701;
                  word x702;
                  *(float*)&d←v17232 = ((
                     x699 = aa←v16980,  *(float*)&x699
                     ) * (
                     x700 = sinPhi←v17148,  *(float*)&x700
                     )) + ((
                     x701 = dd←v17036,  *(float*)&x701
                     ) * (
                     x702 = cosPhi←v17120,  *(float*)&x702
                     ));
                  };
SOURCE(19173, 31)
               {
                  word x703;
                  word x704;
                  word x705;
                  word x706;
                  *(float*)&e←v17260 = ((
                     x703 = bb←v17008,  *(float*)&x703
                     ) * (
                     x704 = sinPhi←v17148,  *(float*)&x704
                     )) + ((
                     x705 = ee←v17064,  *(float*)&x705
                     ) * (
                     x706 = cosPhi←v17120,  *(float*)&x706
                     ));
                  };
SOURCE(19206, 25)
               {
                  float tf707;
                  word x708;
                  float tf709;
                  word x710;
                  *(float*)&mag←v17288 = FABS((
                        x708 = a←v17176,  *(float*)&x708
                        ), tf707) + FABS((
                        x710 = d←v17232,  *(float*)&x710
                        ), tf709);
                  };
SOURCE(19233, 82)
               {
                  float tf711;
                  word x712;
                  float tf713;
                  word x714;
                  word x715;
                  word x716;
                  if ((FABS((
                        x712 = b←v17204,  *(float*)&x712
                        ), tf711) + FABS((
                        x714 = d←v17232,  *(float*)&x714
                        ), tf713) > (
                     x715 = (* (( (ptr) gf←c35204)+17)/* maxRelError←v4680 */  ),  *(float*)&x715
                     ) * (
                     x716 = mag←v17288,  *(float*)&x716
                     ))) {
SOURCE(19273, 42)
                     {
                        word var←c0516;
                        {
                           float tf717;
                           word x718;
                           float tf719;
                           word x720;
                           *(float*)&var←c0516 = FABS((
/*1*/      x718 = b←v17204,  *(float*)&x718
/*1*/      ), tf717) + FABS((
/*1*/      x720 = d←v17232,  *(float*)&x720
/*1*/      ), tf719);
                           };
                        (void) (XR←RaiseSignal((word) (( (bPt) gf←c35204)+124), 0, (word) &var←c0516));
                        };
                     };
                  };
SOURCE(19317, 57)
               {
                  word x721;
                  *(float*)&var←c11836.f0 =  - (
                     x721 = theta←v16896,  *(float*)&x721
                     );
                  };
               var←c11836.f1 = a←v17176;
               var←c11836.f2 = e←v17260;
               {
                  word x722;
                  *(float*)&var←c11836.f3 =  - (
                     x722 = phi←v17092,  *(float*)&x722
                     );
                  };
               var←c11836.f4 = (* (( (ptr) &t←v16868)+2) );
               var←c11836.f5 = (* (( (ptr) &t←v16868)+5) );
               /* removed tail goto */ 
               };
            break;
         case 1: 
SOURCE(19382, 52)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) m←v11792 );
            var←c11836.f2 = (* (( (ptr) m←v11792)+4) );
            var←c11836.f3 = (*  (ptr) &fc29 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 2: 
SOURCE(19443, 131)
            {
               word x723;
               word x724;
               if (((
                  x723 = (* (( (ptr) m←v11792)+1) ),  *(float*)&x723
                  ) > (
                  x724 = (*  (ptr) &fc29 ),  *(float*)&x724
                  ))) {
SOURCE(19459, 61)
                  var←c11836.f0 = (*  (ptr) &fc29 );
                  {
                     word x725;
                     *(float*)&var←c11836.f1 =  - (
                        x725 = (* (( (ptr) m←v11792)+3) ),  *(float*)&x725
                        );
                     };
                  var←c11836.f2 = (* (( (ptr) m←v11792)+1) );
                  var←c11836.f3 = (*  (ptr) &fc726 );
                  var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
                  var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
                  /* removed tail goto */ 
                  }
               else {
SOURCE(19520, 54)
                  var←c11836.f0 = (*  (ptr) &fc29 );
                  var←c11836.f1 = (* (( (ptr) m←v11792)+3) );
                  {
                     word x727;
                     *(float*)&var←c11836.f2 =  - (
                        x727 = (* (( (ptr) m←v11792)+1) ),  *(float*)&x727
                        );
                     };
                  var←c11836.f3 = (*  (ptr) &fc22 );
                  var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
                  var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
                  /* removed tail goto */ 
                  };
               };
            break;
         case 3: 
SOURCE(19584, 48)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc31 );
            var←c11836.f2 = (*  (ptr) &fc31 );
            var←c11836.f3 = (*  (ptr) &fc29 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 4: 
SOURCE(19639, 49)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc31 );
            var←c11836.f2 = (*  (ptr) &fc115 );
            var←c11836.f3 = (*  (ptr) &fc29 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 5: 
SOURCE(19695, 49)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc115 );
            var←c11836.f2 = (*  (ptr) &fc31 );
            var←c11836.f3 = (*  (ptr) &fc29 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 6: 
SOURCE(19751, 50)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc115 );
            var←c11836.f2 = (*  (ptr) &fc115 );
            var←c11836.f3 = (*  (ptr) &fc29 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 7: 
SOURCE(19808, 50)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc31 );
            var←c11836.f2 = (*  (ptr) &fc115 );
            var←c11836.f3 = (*  (ptr) &fc22 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 8: 
SOURCE(19865, 50)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc31 );
            var←c11836.f2 = (*  (ptr) &fc31 );
            var←c11836.f3 = (*  (ptr) &fc726 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 9: 
SOURCE(19922, 49)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc31 );
            var←c11836.f2 = (*  (ptr) &fc31 );
            var←c11836.f3 = (*  (ptr) &fc22 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         case 10: 
SOURCE(19979, 50)
            var←c11836.f0 = (*  (ptr) &fc29 );
            var←c11836.f1 = (*  (ptr) &fc115 );
            var←c11836.f2 = (*  (ptr) &fc31 );
            var←c11836.f3 = (*  (ptr) &fc22 );
            var←c11836.f4 = (* (( (ptr) m←v11792)+2) );
            var←c11836.f5 = (* (( (ptr) m←v11792)+5) );
            /* removed tail goto */ 
            break;
         default: 
SOURCE(20044, 12)
SOURCE(870, 28)
            if (((* (( (ptr) m←v11792)+9) ) > 10)) {
SOURCE(890, 8)
               (void) Bitch←P60(m←v11792);
               };
SOURCE(20058, 6)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
   lab←L100041: ;
   (*  (W6Pt) formal←c0539 ) = var←c11836;
   return;
   }

static word Equal←P3480(s←v11896, t←v11924)
   word s←v11896;
   word t←v11924;
   {
   word var←c11968;
   /* Equal: */ 
SOURCE(20072, 137)
SOURCE(20133, 76)
   {
      word tc728;
      word x729;
      word x730;
      word x731;
      word x732;
      word x733;
      word x734;
      word x735;
      word x736;
      word x737;
      word x738;
      word x739;
      word x740;
      if ( (  (  (  ( ((
         x729 = (*  (ptr) s←v11896 ),  *(float*)&x729
         ) == (
         x730 = (*  (ptr) t←v11924 ),  *(float*)&x730
         )) ? ((
         x731 = (* (( (ptr) s←v11896)+1) ),  *(float*)&x731
         ) == (
         x732 = (* (( (ptr) t←v11924)+1) ),  *(float*)&x732
         )) : 0 )  ? ((
         x733 = (* (( (ptr) s←v11896)+2) ),  *(float*)&x733
         ) == (
         x734 = (* (( (ptr) t←v11924)+2) ),  *(float*)&x734
         )) : 0 )  ? ((
         x735 = (* (( (ptr) s←v11896)+3) ),  *(float*)&x735
         ) == (
         x736 = (* (( (ptr) t←v11924)+3) ),  *(float*)&x736
         )) : 0 )  ? ((
         x737 = (* (( (ptr) s←v11896)+4) ),  *(float*)&x737
         ) == (
         x738 = (* (( (ptr) t←v11924)+4) ),  *(float*)&x738
         )) : 0 ) ) {
         tc728 =  (word)  (unsigned) ((
            x739 = (* (( (ptr) s←v11896)+5) ),  *(float*)&x739
            ) == (
            x740 = (* (( (ptr) t←v11924)+5) ),  *(float*)&x740
            ));
         }
      else {
         tc728 =  (word)  (unsigned) 0;
         };
      return(tc728);
      };
   }

static word WithinQuarterPixel←P3540(p←v12028, q←v12056)
   W2 p←v12028;
   W2 q←v12056;
   {
   word var←c12100;
   /* WithinQuarterPixel: */ 
SOURCE(20216, 111)
SOURCE(20272, 55)
   {
      word tc741;
      float tf742;
      word x743;
      word x744;
      word x746;
      float tf747;
      word x748;
      word x749;
      word x750;
      if ((FABS(((
            x743 = p←v12028.f0,  *(float*)&x743
            ) - (
            x744 = q←v12056.f0,  *(float*)&x744
            )), tf742) <= (
         x746 = (*  (ptr) &fc745 ),  *(float*)&x746
         ))) {
         tc741 =  (word)  (unsigned) (FABS(((
               x748 = p←v12028.f1,  *(float*)&x748
               ) - (
               x749 = q←v12056.f1,  *(float*)&x749
               )), tf747) <= (
            x750 = (*  (ptr) &fc745 ),  *(float*)&x750
            ));
         }
      else {
         tc741 =  (word)  (unsigned) 0;
         };
      return(tc741);
      };
   }

static word CloseEnough←P3600(s←v12160, t←v12188, range←v12216)
   word s←v12160;
   word t←v12188;
   word range←v12216;
   {
   word var←c12260;
   W2 p00←v17332;
   W2 p10←v17360;
   W2 p01←v17388;
   /* CloseEnough: */ 
SOURCE(20331, 373)
SOURCE(20411, 52)
   {
      W2 var←c32868;
      {
         W2 var←c0553;
         {
            W2 var←c32900;
            var←c32900.f0 = (*  (ptr) &fc29 );
            var←c32900.f1 = (*  (ptr) &fc29 );
            (void) InverseTransform←P2700((word) &var←c0553, t←v12188, var←c32900);
            };
         var←c32868 = var←c0553;
         };
      {
         W2 var←c0554;
         (void) Transform←P2580((word) &var←c0554, s←v12160, var←c32868);
         p00←v17332 = var←c0554;
         };
      };
SOURCE(20465, 56)
   {
      W2 var←c32932;
      {
         W2 var←c0558;
         {
            W2 var←c32964;
            var←c32964.f0 = range←v12216;
            var←c32964.f1 = (*  (ptr) &fc29 );
            (void) InverseTransform←P2700((word) &var←c0558, t←v12188, var←c32964);
            };
         var←c32932 = var←c0558;
         };
      {
         W2 var←c0559;
         (void) Transform←P2580((word) &var←c0559, s←v12160, var←c32932);
         p10←v17360 = var←c0559;
         };
      };
SOURCE(20523, 56)
   {
      W2 var←c32996;
      {
         W2 var←c0563;
         {
            W2 var←c33028;
            var←c33028.f0 = (*  (ptr) &fc29 );
            var←c33028.f1 = range←v12216;
            (void) InverseTransform←P2700((word) &var←c0563, t←v12188, var←c33028);
            };
         var←c32996 = var←c0563;
         };
      {
         W2 var←c0564;
         (void) Transform←P2580((word) &var←c0564, s←v12160, var←c32996);
         p01←v17388 = var←c0564;
         };
      };
SOURCE(20581, 123)
   {
      word var←c0671;
      W2 var←c33092;
      W2 var←c33124;
      {
         word tc751;
         var←c33092.f0 = (*  (ptr) &fc29 );
         var←c33092.f1 = (*  (ptr) &fc29 );
         if ((0 != (word) WithinQuarterPixel←P3540(p00←v17332, var←c33092))) {
            var←c33124.f0 = range←v12216;
            var←c33124.f1 = (*  (ptr) &fc29 );
            tc751 =  (word) (0 != (word) WithinQuarterPixel←P3540(p10←v17360, var←c33124));
            }
         else {
            tc751 =  (word) 0;
            };
         if (tc751) {
            {
               W2 var←c33156;
               var←c33156.f0 = (*  (ptr) &fc29 );
               var←c33156.f1 = range←v12216;
               var←c0671 =  (unsigned) (0 != (word) WithinQuarterPixel←P3540(p01←v17388, var←c33156));
               };
            }
         else {
            var←c0671 =  (unsigned) 0;
            };
         };
      return(var←c0671);
      };
   }

static word CloseToTranslation←P3660(s←v12320, t←v12348, range←v12376)
   word s←v12320;
   word t←v12348;
   word range←v12376;
   {
   word var←c12420;
   W2 p10←v17432;
   W2 p01←v17460;
   /* CloseToTranslation: */ 
SOURCE(20708, 302)
SOURCE(20795, 62)
   {
      W2 var←c33188;
      {
         W2 var←c0575;
         {
            W2 var←c33220;
            var←c33220.f0 = range←v12376;
            var←c33220.f1 = (*  (ptr) &fc29 );
            (void) InverseTransformVec←P2760((word) &var←c0575, t←v12348, var←c33220);
            };
         var←c33188 = var←c0575;
         };
      {
         W2 var←c0576;
         (void) TransformVec←P2640((word) &var←c0576, s←v12320, var←c33188);
         p10←v17432 = var←c0576;
         };
      };
SOURCE(20859, 62)
   {
      W2 var←c33252;
      {
         W2 var←c0580;
         {
            W2 var←c33284;
            var←c33284.f0 = (*  (ptr) &fc29 );
            var←c33284.f1 = range←v12376;
            (void) InverseTransformVec←P2760((word) &var←c0580, t←v12348, var←c33284);
            };
         var←c33252 = var←c0580;
         };
      {
         W2 var←c0581;
         (void) TransformVec←P2640((word) &var←c0581, s←v12320, var←c33252);
         p01←v17460 = var←c0581;
         };
      };
SOURCE(20923, 87)
   {
      word var←c0672;
      W2 var←c33348;
      var←c33348.f0 = range←v12376;
      var←c33348.f1 = (*  (ptr) &fc29 );
      if ((0 != (word) WithinQuarterPixel←P3540(p10←v17432, var←c33348))) {
         {
            W2 var←c33380;
            var←c33380.f0 = (*  (ptr) &fc29 );
            var←c33380.f1 = range←v12376;
            var←c0672 =  (unsigned) (0 != (word) WithinQuarterPixel←P3540(p01←v17460, var←c33380));
            };
         }
      else {
         var←c0672 =  (unsigned) 0;
         };
      return(var←c0672);
      };
   }

static void SingularValues←P3720(formal←c0595, m←v12480)
   word formal←c0595;
   word m←v12480;
   {
   register ptr gf←c35236 =  (ptr) &globalframe;
   W2 var←c12524;
   word t1←v17504;
   word t2←v17532;
   word t3←v17560;
   word t4←v17588;
   word s←v17616;
   word x←v17644;
   word y←v17672;
   /* SingularValues: */ 
SOURCE(21014, 344)
SOURCE(21080, 28)
   {
      word x752;
      word x753;
      word x754;
      word x755;
      *(float*)&t1←v17504 = ((
         x752 = (*  (ptr) m←v12480 ),  *(float*)&x752
         ) * (
         x753 = (*  (ptr) m←v12480 ),  *(float*)&x753
         )) + ((
         x754 = (* (( (ptr) m←v12480)+3) ),  *(float*)&x754
         ) * (
         x755 = (* (( (ptr) m←v12480)+3) ),  *(float*)&x755
         ));
      };
SOURCE(21110, 28)
   {
      word x756;
      word x757;
      word x758;
      word x759;
      *(float*)&t2←v17532 = ((
         x756 = (* (( (ptr) m←v12480)+1) ),  *(float*)&x756
         ) * (
         x757 = (* (( (ptr) m←v12480)+1) ),  *(float*)&x757
         )) + ((
         x758 = (* (( (ptr) m←v12480)+4) ),  *(float*)&x758
         ) * (
         x759 = (* (( (ptr) m←v12480)+4) ),  *(float*)&x759
         ));
      };
SOURCE(21140, 18)
   {
      word x760;
      word x761;
      *(float*)&t3←v17560 = (
         x760 = t1←v17504,  *(float*)&x760
         ) - (
         x761 = t2←v17532,  *(float*)&x761
         );
      };
SOURCE(21160, 44)
   {
      word pd762;
      word x763;
      word x764;
      word x765;
      word x766;
      float tf767;
      pd762 = (* (( (ptr) (* (( (ptr) gf←c35236)+163)/* var←c27396 */  ))+4) );
      t4←v17588 = (word) ( *( (fPt) ((*  (ptr) pd762 ))))((
            tf767 = ((
               x763 = (*  (ptr) m←v12480 ),  *(float*)&x763
               ) * (
               x764 = (* (( (ptr) m←v12480)+1) ),  *(float*)&x764
               )) + ((
               x765 = (* (( (ptr) m←v12480)+3) ),  *(float*)&x765
               ) * (
               x766 = (* (( (ptr) m←v12480)+4) ),  *(float*)&x766
               )),  *(word*)&tf767
            ), 1, pd762);
      };
SOURCE(21206, 35)
   {
      word pd768;
      word x769;
      word x770;
      word x771;
      word x772;
      float tf773;
      pd768 = (* (( (ptr) (* (( (ptr) gf←c35236)+164)/* var←c27428 */  ))+9) );
      s←v17616 = (word) ( *( (fPt) ((*  (ptr) pd768 ))))((
            tf773 = ((
               x769 = t3←v17560,  *(float*)&x769
               ) * (
               x770 = t3←v17560,  *(float*)&x770
               )) + ((
               x771 = t4←v17588,  *(float*)&x771
               ) * (
               x772 = t4←v17588,  *(float*)&x772
               )),  *(word*)&tf773
            ), pd768);
      };
SOURCE(21243, 48)
   {
      word var←c33412;
      {
         word pd774;
         word x775;
         word x776;
         word x777;
         float tf778;
         pd774 = (* (( (ptr) (* (( (ptr) gf←c35236)+163)/* var←c27396 */  ))+4) );
         var←c33412 = (word) ( *( (fPt) ((*  (ptr) pd774 ))))((
               tf778 = ((
                  x775 = t1←v17504,  *(float*)&x775
                  ) + (
                  x776 = t2←v17532,  *(float*)&x776
                  )) + (
                  x777 = s←v17616,  *(float*)&x777
                  ),  *(word*)&tf778
               ),  (word) -1, pd774);
         };
      {
         word pd779;
         pd779 = (* (( (ptr) (* (( (ptr) gf←c35236)+164)/* var←c27428 */  ))+9) );
         x←v17644 = (word) ( *( (fPt) ((*  (ptr) pd779 ))))(var←c33412, pd779);
         };
      };
SOURCE(21293, 48)
   {
      word var←c33444;
      {
         word pd780;
         word x781;
         word x782;
         word x783;
         float tf784;
         pd780 = (* (( (ptr) (* (( (ptr) gf←c35236)+163)/* var←c27396 */  ))+4) );
         var←c33444 = (word) ( *( (fPt) ((*  (ptr) pd780 ))))((
               tf784 = ((
                  x781 = t1←v17504,  *(float*)&x781
                  ) + (
                  x782 = t2←v17532,  *(float*)&x782
                  )) - (
                  x783 = s←v17616,  *(float*)&x783
                  ),  *(word*)&tf784
               ),  (word) -1, pd780);
         };
      {
         word pd785;
         pd785 = (* (( (ptr) (* (( (ptr) gf←c35236)+164)/* var←c27428 */  ))+9) );
         y←v17672 = (word) ( *( (fPt) ((*  (ptr) pd785 ))))(var←c33444, pd785);
         };
      };
SOURCE(21343, 15)
   var←c12524.f0 = x←v17644;
   var←c12524.f1 = y←v17672;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0595 ) = var←c12524;
   return;
   }

static word Different←P3780(a←v12584, b←v12612)
   word a←v12584;
   word b←v12612;
   {
   register ptr gf←c35268 =  (ptr) &globalframe;
   word var←c12656;
   /* Different: */ 
SOURCE(21384, 134)
SOURCE(21432, 38)
   {
      float tf786;
      word x787;
      word x788;
      word x789;
      if ((FABS(((
            x787 = a←v12584,  *(float*)&x787
            ) - (
            x788 = b←v12612,  *(float*)&x788
            )), tf786) < (
         x789 = (* (( (ptr) gf←c35268)+18)/* fuzz←v4876 */  ),  *(float*)&x789
         ))) {
SOURCE(21456, 14)
         return(0);
         };
      };
SOURCE(21472, 46)
   {
      float tf790;
      word x791;
      word x792;
      float tf793;
      word x794;
      float tf795;
      float tf796;
      float tf797;
      word x798;
      word x799;
      return( (unsigned) (FABS(((
            x791 = a←v12584,  *(float*)&x791
            ) - (
            x792 = b←v12612,  *(float*)&x792
            )), tf790) / FMAX(FABS((
               x794 = a←v12584,  *(float*)&x794
               ), tf793), FABS((
               x798 = b←v12612,  *(float*)&x798
               ), tf797), tf795, tf796) > (
         x799 = (* (( (ptr) gf←c35268)+18)/* fuzz←v4876 */  ),  *(float*)&x799
         )));
      };
   }

static void ShouldBeSameT←P3840(s←v12716, t←v12744)
   word s←v12716;
   word t←v12744;
   {
   /* ShouldBeSameT: */ 
SOURCE(21523, 250)
SOURCE(21570, 28)
   if ((0 != (word) Different←P3780((*  (ptr) s←v12716 ), (*  (ptr) t←v12744 )))) {
SOURCE(21598, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(21605, 28)
   if ((0 != (word) Different←P3780((* (( (ptr) s←v12716)+1) ), (* (( (ptr) t←v12744)+1) )))) {
SOURCE(21633, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(21640, 28)
   if ((0 != (word) Different←P3780((* (( (ptr) s←v12716)+2) ), (* (( (ptr) t←v12744)+2) )))) {
SOURCE(21668, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(21675, 28)
   if ((0 != (word) Different←P3780((* (( (ptr) s←v12716)+3) ), (* (( (ptr) t←v12744)+3) )))) {
SOURCE(21703, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(21710, 28)
   if ((0 != (word) Different←P3780((* (( (ptr) s←v12716)+4) ), (* (( (ptr) t←v12744)+4) )))) {
SOURCE(21738, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(21745, 28)
   if ((0 != (word) Different←P3780((* (( (ptr) s←v12716)+5) ), (* (( (ptr) t←v12744)+5) )))) {
SOURCE(21773, 5)
      (void) XR←RaiseUnnamedError();
      };
   }

static void ShouldBeSamePt←P3900(p←v12804, q←v12832)
   W2 p←v12804;
   W2 q←v12832;
   {
   /* ShouldBeSamePt: */ 
SOURCE(21783, 100)
SOURCE(21820, 28)
   if ((0 != (word) Different←P3780(p←v12804.f0, q←v12832.f0))) {
SOURCE(21848, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(21855, 28)
   if ((0 != (word) Different←P3780(p←v12804.f1, q←v12832.f1))) {
SOURCE(21883, 5)
      (void) XR←RaiseUnnamedError();
      };
   }

static void TestTransformation←P3960(r←v12892)
   word r←v12892;
   {
   W2 p←v17716;
   /* TestTransformation: */ 
SOURCE(21894, 475)
SOURCE(21943, 27)
   p←v17716.f0 = (*  (ptr) &fc800 );
   p←v17716.f1 = (*  (ptr) &fc801 );
SOURCE(21972, 58)
   {
      word var←c33540;
      word var←c33572;
      var←c33540 = (word) PreTranslate←P1200(r←v12892, p←v17716);
      {
         word var←c33604;
         var←c33604 = (word) Translate←P720(p←v17716);
         var←c33572 = (word) Concat←P960(var←c33604, r←v12892);
         };
      (void) ShouldBeSameT←P3840(var←c33540, var←c33572);
      };
SOURCE(22032, 46)
   {
      word var←c33636;
      word var←c33668;
      var←c33636 = (word) Rotate←P660((*  (ptr) (&fc29) ));
      {
         word var←c33700;
         var←c33700 = (word) Invert←P1620(r←v12892);
         var←c33668 = (word) Concat←P960(r←v12892, var←c33700);
         };
      (void) ShouldBeSameT←P3840(var←c33636, var←c33668);
      };
SOURCE(22080, 63)
   {
      W2 var←c33732;
      W2 var←c33764;
      (void) InverseTransform←P2700((word) &var←c33732, r←v12892, p←v17716);
      {
         word var←c33796;
         var←c33796 = (word) Invert←P1620(r←v12892);
         (void) Transform←P2580((word) &var←c33764, var←c33796, p←v17716);
         };
      (void) ShouldBeSamePt←P3900(var←c33732, var←c33764);
      };
SOURCE(22145, 69)
   {
      W2 var←c33828;
      W2 var←c33860;
      (void) InverseTransformVec←P2760((word) &var←c33828, r←v12892, p←v17716);
      {
         word var←c33892;
         var←c33892 = (word) Invert←P1620(r←v12892);
         (void) TransformVec←P2640((word) &var←c33860, var←c33892, p←v17716);
         };
      (void) ShouldBeSamePt←P3900(var←c33828, var←c33860);
      };
SOURCE(22216, 82)
   {
      W2 var←c33924;
      W2 var←c33988;
      {
         W2 var←c33956;
         (void) TransformVec←P2640((word) &var←c33956, r←v12892, p←v17716);
         {
            W2 var←c0624;
            (void) TransformVec←P2640((word) &var←c0624, r←v12892, var←c33956);
            var←c33924 = var←c0624;
            };
         };
      {
         word var←c34020;
         var←c34020 = (word) Concat←P960(r←v12892, r←v12892);
         (void) TransformVec←P2640((word) &var←c33988, var←c34020, p←v17716);
         };
      (void) ShouldBeSamePt←P3900(var←c33924, var←c33988);
      };
SOURCE(22300, 69)
   {
      W2 var←c34052;
      W2 var←c34084;
      (void) SingularValues←P3720((word) &var←c34052, r←v12892);
      {
         word var←c34116;
         var←c34116 = (word) PreRotate←P1140(r←v12892, (*  (ptr) &fc802 ));
         (void) SingularValues←P3720((word) &var←c34084, var←c34116);
         };
      (void) ShouldBeSamePt←P3900(var←c34052, var←c34084);
      };
   }

static void SelfTest←P4020()
   {
   /* SelfTest: */ 
SOURCE(22375, 712)
SOURCE(22394, 57)
   {
      word var←c34148;
      word var←c34180;
      var←c34148 = (word) Rotate←P660((*  (ptr) (&fc22) ));
      {
         word var←c34212;
         word var←c34244;
         var←c34212 = (word) Rotate←P660((*  (ptr) (&fc662) ));
         var←c34244 = (word) Rotate←P660((*  (ptr) (&fc662) ));
         var←c34180 = (word) Concat←P960(var←c34212, var←c34244);
         };
      (void) ShouldBeSameT←P3840(var←c34148, var←c34180);
      };
SOURCE(22453, 72)
   {
      word var←c34276;
      {
         word var←c34308;
         {
            word var←c34340;
            var←c34340 = (word) Rotate←P660((*  (ptr) (&fc803) ));
            {
               W2 var←c34372;
               var←c34372.f0 = (*  (ptr) &fc31 );
               var←c34372.f1 = (*  (ptr) &fc804 );
               var←c34308 = (word) PreScale2←P1080(var←c34340, var←c34372);
               };
            };
         {
            W2 var←c34404;
            var←c34404.f0 = (*  (ptr) &fc805 );
            var←c34404.f1 = (*  (ptr) &fc806 );
            var←c34276 = (word) PreTranslate←P1200(var←c34308, var←c34404);
            };
         };
      (void) TestTransformation←P3960(var←c34276);
      };
SOURCE(22527, 44)
   {
      word var←c34436;
      var←c34436 = (word) Create←P480((*  (ptr) &fc31 ), (*  (ptr) &fc603 ), (*  (ptr) &fc807 ), (*  (ptr) &fc808 ), (*  (ptr) &fc809 ), (*  (ptr) &fc31 ))
      ;
      (void) TestTransformation←P3960(var←c34436);
      };
SOURCE(22573, 44)
   {
      word var←c34468;
      var←c34468 = (word) Create←P480((*  (ptr) &fc809 ), (*  (ptr) &fc31 ), (*  (ptr) &fc807 ), (*  (ptr) &fc31 ), (*  (ptr) &fc804 ), (*  (ptr) &fc808 ))
      ;
      (void) TestTransformation←P3960(var←c34468);
      };
SOURCE(22619, 44)
   {
      word var←c34500;
      var←c34500 = (word) Create←P480((*  (ptr) &fc603 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc603 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34500);
      };
SOURCE(22665, 44)
   {
      word var←c34532;
      var←c34532 = (word) Create←P480((*  (ptr) &fc29 ), (*  (ptr) &fc809 ), (*  (ptr) &fc29 ), (*  (ptr) &fc807 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34532);
      };
SOURCE(22711, 44)
   {
      word var←c34564;
      var←c34564 = (word) Create←P480((*  (ptr) &fc31 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc31 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34564);
      };
SOURCE(22757, 47)
   {
      word var←c34596;
      var←c34596 = (word) Create←P480((*  (ptr) &fc31 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc115 ), (*  (ptr) &fc810 ))
      ;
      (void) TestTransformation←P3960(var←c34596);
      };
SOURCE(22806, 45)
   {
      word var←c34628;
      var←c34628 = (word) Create←P480((*  (ptr) &fc115 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc31 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34628);
      };
SOURCE(22853, 46)
   {
      word var←c34660;
      var←c34660 = (word) Create←P480((*  (ptr) &fc115 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ), (*  (ptr) &fc115 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34660);
      };
SOURCE(22901, 44)
   {
      word var←c34692;
      var←c34692 = (word) Create←P480((*  (ptr) &fc29 ), (*  (ptr) &fc31 ), (*  (ptr) &fc29 ), (*  (ptr) &fc31 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34692);
      };
SOURCE(22947, 45)
   {
      word var←c34724;
      var←c34724 = (word) Create←P480((*  (ptr) &fc29 ), (*  (ptr) &fc31 ), (*  (ptr) &fc29 ), (*  (ptr) &fc115 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34724);
      };
SOURCE(22994, 45)
   {
      word var←c34756;
      var←c34756 = (word) Create←P480((*  (ptr) &fc29 ), (*  (ptr) &fc115 ), (*  (ptr) &fc29 ), (*  (ptr) &fc31 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34756);
      };
SOURCE(23041, 46)
   {
      word var←c34788;
      var←c34788 = (word) Create←P480((*  (ptr) &fc29 ), (*  (ptr) &fc115 ), (*  (ptr) &fc29 ), (*  (ptr) &fc115 ), (*  (ptr) &fc29 ), (*  (ptr) &fc29 ))
      ;
      (void) TestTransformation←P3960(var←c34788);
      };
   }

/* file: ImagerTransformationImpl, module: ImagerTransformationImpl, compiled at: July 28, 1993 10:26:08 am PDT */ 
extern void XR←install←ImagerTransformationImpl() {
   NoName←Q5580();
   }
extern void XR←run←ImagerTransformationImpl() { XR←Start(&globalframe); }