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