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