/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 28, 1993 10:17:46 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerFDBuildImpl, module: ImagerFDBuildImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2751379270,2423337292] ImagerFDBuildImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1;} W2;
typedef struct {W16 f; W2 r;} W18;
typedef W12 *W12Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W16 f; W4 r;} W20;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef W4 *W4Pt;
typedef struct {W16 f; W12 r;} W28;
typedef struct {word f0, f1, f2, f3, f4;} W5;
static float fc1 = 0.02;
#define SOURCE(p, l) /* source p, l */
static float fc52 = 1.0;
static float fc54 = 10000.0;
static float fc58 = 0.5;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc82 = 0.0;
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
static float fc133 = -10000.0;
#define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
#define INEG(x) ( (word) ( - ((int) (word) (x)) ) )
static void NoName←Q9564();
static void ImagerFDBuildImpl←P0();
static word CompareReal←P60();
static word Create←P120();
static void Insert←P180();
static void Inner←P3540();
static word FetchList←P240();
static void StoreList←P300();
static word RealAssocCompare←P360();
static void CountReal←P420();
static void Inner←P3600();
static word FindCommonReals←P480();
static word EachEntry←P3708();
static word RealAssocOrderCompare←P3816();
static word CloseEnough←P3876();
static word GetRealCode←P540();
static word BuildSetArrayTable←P600();
static word EachChar←P4176();
static word Compatible←P660();
static void ForEachRun←P720();
static word CommonItemsFromSetArrayTable←P780();
static void UpdateTypefaceTab←P4524();
static void EachRun←P4584();
static word StuffTypefaceIndex←P4644();
static word GetTypefaceIndex←P840();
static word GetPlacementCode←P900();
static word FDTypefaceDataFromCanonicalizedFDTable←P960();
static word StuffCharInfoRunSeq←P4896();
static void EachRun←P4956();
static void NoteCharInfoRun←P5604();
static void CharInfoFromCD←P5016();
static word RawHash←P1020();
static word CharacterDescriptionHash←P1080();
static word CharacterDescriptionEqual←P1140();
static word CharacterDescriptionsHash←P1200();
static word CharacterDescriptionsEqual←P1260();
static word TransformationHash←P1320();
static word TransformationEqual←P1380();
static word CharInfoRunHash←P1440();
static word CharInfoRunEqual←P1500();
static void MapCharacterDescriptions←P1560();
static word EachPair←P6048();
static word NonNilT←P1620();
static void Canonicalize←P1680();
static word CanonicalizeTypefaceCell←P6156();
static void UpdateTF←P6684();
static word CanonicalizeTransformation←P6216();
static void UpdateTransformation←P6792();
static word CanonicalizeCharacterDescription←P6276();
static void UpdateCD←P6852();
static word CanonicalizeCharacterDescriptions←P6336();
static void UpdateCDS←P6912();
static word TransformationIndex←P6396();
static word CDsInOrder←P6456();
static word SortCharacterDescriptions←P6516();
static word CanonicalizeEachCharacterDescriptionList←P6576();
static word SortTransformations←P1740();
static word SortedInsert←P7404();
static void Debug←P1800();
static word NoName←Q9624();
static word FactoredCompare←P1860();
static word Read←P1920();
static word FDTableFromFDTypefaceData←P1980();
static void Write←P2040();
static void WriteFDTypefaceData←P2100();
static void WriteFDTypefaceDataToStream←P2160();
static void PutExtents←P2220();
static void PutRealSeq←P2280();
static void PutTransformationSeq←P2340();
static void PutTransformation←P2400();
static void PutTypefaceCellSeq←P2460();
static void PutCharInfoRunSeq←P2520();
static void PutTypefaceCell←P2580();
static void PutOverflowCharInfoSeq←P2640();
static void PutVerboseCharInfo←P2700();
static void PutVEC←P2760();
static void PutPropList←P2820();
static void PutCharInfoRun←P2880();
static void PutCharRuns←P2940();
static void PutCARD32←P3120();
static void PutBYTE←P3180();
static void PutCount←P3240();
static void PutIdentifier←P3300();
static void PutInteger←P3360();
static void PutREAL←P3480();
static void NoName←Q9684();
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\102\124\000\000"};
static struct {unsigned f; char r[4];} string3 = {131074, "\003\006\000"};
static struct {unsigned f; char r[28];} string4 = {1769500, "\205\210\241\000\100\377\216\205\210\241\000\100\377\216\257\300\142\157\367\061\300\243\052\073\037\100\164"};
static struct {unsigned f; char r[8];} string5 = {393222, "\010\000\004A\000\001\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\214\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\007\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\164\000\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\200\000\000"};
static struct {unsigned f; char r[4];} string11 = {196611, "\004L\003"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\100\354\000\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\003\002\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\101\004\000\000"};
static struct {unsigned f; char r[20];} string15 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\200\000\000"};
static struct {unsigned f; char r[24];} string17 = {1310744, "\205\210\241\000\100\377\216\257\300\142\157\367\061\300\243\052\073\037\100\164\000\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\101\210\000\000"};
static struct {unsigned f; char r[4];} string19 = {196611, "\004A\377"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\324\000\000"};
static struct {unsigned f; char r[12];} string21 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"};
static struct {unsigned f; char r[4];} string22 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\340\000\000"};
static struct {unsigned f; char r[4];} string24 = {131074, "\004\013\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\164\000\000"};
static struct {unsigned f; char r[36];} string26 = {2228258, "\006\015\020\001\024\001\030\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\070\001\074\001\100\100\010\000\004\101\000\001\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\260\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\214\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\101\050\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\274\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\230\000\000"};
static struct {unsigned f; char r[4];} string32 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\101\064\000\000"};
static struct {unsigned f; char r[48];} string34 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\107\202\306\250\300\217\000\064\076\101\064\005\004\162\145\163\164\214\216\257\300\107\202\306\250\300\217\000\064\076\101\064\261\000\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\164\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\110\014\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\102\140\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\243\376\267\106\300\220\161\061\114\100\164\000\000"};
static struct {unsigned f; char r[4];} string39 = {196611, "\004@\300"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\107\202\306\250\300\217\000\064\076\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\223\215\300\016\300\070\141\304\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\142\157\367\061\300\243\052\073\037\100\150\000\000"};
static struct {
word f0[166];
} globalframe = {
{0}
};
static void NoName←Q9564()
{
register ptr gf←c0697 = (ptr) &globalframe;
word var←c49880;
(* (( (ptr) gf←c0697)+4)/* extentTolerance←v3280 */ ) = (* (ptr) &fc1 );
(* (( (ptr) gf←c0697)+152) ) = ( ((word) (fPt) ImagerFDBuildImpl←P0) );
(* (( (ptr) gf←c0697)+150) ) = ( ((word) (fPt) CompareReal←P60) );
(* (( (ptr) gf←c0697)+148) ) = ( ((word) (fPt) Create←P120) );
(* (( (ptr) gf←c0697)+146) ) = ( ((word) (fPt) Insert←P180) );
(* (( (ptr) gf←c0697)+144) ) = ( ((word) (fPt) FetchList←P240) );
(* (( (ptr) gf←c0697)+142) ) = ( ((word) (fPt) StoreList←P300) );
(* (( (ptr) gf←c0697)+140) ) = ( ((word) (fPt) RealAssocCompare←P360) );
(* (( (ptr) gf←c0697)+138) ) = ( ((word) (fPt) CountReal←P420) );
(* (( (ptr) gf←c0697)+136) ) = ( ((word) (fPt) FindCommonReals←P480) );
(* (( (ptr) gf←c0697)+134) ) = ( ((word) (fPt) GetRealCode←P540) );
(* (( (ptr) gf←c0697)+132) ) = ( ((word) (fPt) BuildSetArrayTable←P600) );
(* (( (ptr) gf←c0697)+130) ) = ( ((word) (fPt) Compatible←P660) );
(* (( (ptr) gf←c0697)+128) ) = ( ((word) (fPt) ForEachRun←P720) );
(* (( (ptr) gf←c0697)+126) ) = ( ((word) (fPt) CommonItemsFromSetArrayTable←P780) );
(* (( (ptr) gf←c0697)+124) ) = ( ((word) (fPt) GetTypefaceIndex←P840) );
(* (( (ptr) gf←c0697)+122) ) = ( ((word) (fPt) GetPlacementCode←P900) );
(* (( (ptr) gf←c0697)+120) ) = ( ((word) (fPt) FDTypefaceDataFromCanonicalizedFDTable←P960) );
(* (( (ptr) gf←c0697)+118) ) = ( ((word) (fPt) RawHash←P1020) );
(* (( (ptr) gf←c0697)+116) ) = ( ((word) (fPt) CharacterDescriptionHash←P1080) );
(* (( (ptr) gf←c0697)+114) ) = ( ((word) (fPt) CharacterDescriptionEqual←P1140) );
(* (( (ptr) gf←c0697)+112) ) = ( ((word) (fPt) CharacterDescriptionsHash←P1200) );
(* (( (ptr) gf←c0697)+110) ) = ( ((word) (fPt) CharacterDescriptionsEqual←P1260) );
(* (( (ptr) gf←c0697)+108) ) = ( ((word) (fPt) TransformationHash←P1320) );
(* (( (ptr) gf←c0697)+106) ) = ( ((word) (fPt) TransformationEqual←P1380) );
(* (( (ptr) gf←c0697)+104) ) = ( ((word) (fPt) CharInfoRunHash←P1440) );
(* (( (ptr) gf←c0697)+102) ) = ( ((word) (fPt) CharInfoRunEqual←P1500) );
(* (( (ptr) gf←c0697)+100) ) = ( ((word) (fPt) MapCharacterDescriptions←P1560) );
(* (( (ptr) gf←c0697)+98) ) = ( ((word) (fPt) NonNilT←P1620) );
(* (( (ptr) gf←c0697)+96) ) = ( ((word) (fPt) Canonicalize←P1680) );
(* (( (ptr) gf←c0697)+94) ) = ( ((word) (fPt) SortTransformations←P1740) );
(* (( (ptr) gf←c0697)+92) ) = ( ((word) (fPt) Debug←P1800) );
(* (( (ptr) gf←c0697)+90) ) = ( ((word) (fPt) FactoredCompare←P1860) );
(* (( (ptr) gf←c0697)+88) ) = ( ((word) (fPt) Read←P1920) );
(* (( (ptr) gf←c0697)+86) ) = ( ((word) (fPt) FDTableFromFDTypefaceData←P1980) );
(* (( (ptr) gf←c0697)+84) ) = ( ((word) (fPt) Write←P2040) );
(* (( (ptr) gf←c0697)+82) ) = ( ((word) (fPt) WriteFDTypefaceData←P2100) );
(* (( (ptr) gf←c0697)+80) ) = ( ((word) (fPt) WriteFDTypefaceDataToStream←P2160) );
(* (( (ptr) gf←c0697)+78) ) = ( ((word) (fPt) PutExtents←P2220) );
(* (( (ptr) gf←c0697)+76) ) = ( ((word) (fPt) PutRealSeq←P2280) );
(* (( (ptr) gf←c0697)+74) ) = ( ((word) (fPt) PutTransformationSeq←P2340) );
(* (( (ptr) gf←c0697)+72) ) = ( ((word) (fPt) PutTransformation←P2400) );
(* (( (ptr) gf←c0697)+70) ) = ( ((word) (fPt) PutTypefaceCellSeq←P2460) );
(* (( (ptr) gf←c0697)+68) ) = ( ((word) (fPt) PutCharInfoRunSeq←P2520) );
(* (( (ptr) gf←c0697)+66) ) = ( ((word) (fPt) PutTypefaceCell←P2580) );
(* (( (ptr) gf←c0697)+64) ) = ( ((word) (fPt) PutOverflowCharInfoSeq←P2640) );
(* (( (ptr) gf←c0697)+62) ) = ( ((word) (fPt) PutVerboseCharInfo←P2700) );
(* (( (ptr) gf←c0697)+60) ) = ( ((word) (fPt) PutVEC←P2760) );
(* (( (ptr) gf←c0697)+58) ) = ( ((word) (fPt) PutPropList←P2820) );
(* (( (ptr) gf←c0697)+56) ) = ( ((word) (fPt) PutCharInfoRun←P2880) );
(* (( (ptr) gf←c0697)+54) ) = ( ((word) (fPt) PutCharRuns←P2940) );
(* (( (ptr) gf←c0697)+52) ) = ( ((word) (fPt) PutCARD32←P3120) );
(* (( (ptr) gf←c0697)+50) ) = ( ((word) (fPt) PutBYTE←P3180) );
(* (( (ptr) gf←c0697)+48) ) = ( ((word) (fPt) PutCount←P3240) );
(* (( (ptr) gf←c0697)+46) ) = ( ((word) (fPt) PutIdentifier←P3300) );
(* (( (ptr) gf←c0697)+44) ) = ( ((word) (fPt) PutInteger←P3360) );
(* (( (ptr) gf←c0697)+42) ) = ( ((word) (fPt) PutREAL←P3480) );
(* (( (ptr) gf←c0697)+9) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
(* (( (ptr) gf←c0697)+11) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0697)+13) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0697)+16) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
(* (( (ptr) gf←c0697)+17) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0697)+18) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
(* (( (ptr) gf←c0697)+19) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string9);
(* (( (ptr) gf←c0697)+20) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string9);
(* (( (ptr) gf←c0697)+21) ) = (word) XR←GetTypeIndexS((word) (&string16));
(* (( (ptr) gf←c0697)+23) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string5);
(* (( (ptr) gf←c0697)+24) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19);
(* (( (ptr) gf←c0697)+25) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21);
(* (( (ptr) gf←c0697)+26) ) = (word) XR←GetTypeIndexS((word) (&string22));
(* (( (ptr) gf←c0697)+27) ) = (word) XR←GetTypeIndex((word) &string23, 0, (word) &string24);
(* (( (ptr) gf←c0697)+28) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string26);
(* (( (ptr) gf←c0697)+30) ) = (word) XR←GetTypeIndex((word) &string27, 0, (word) &string21);
(* (( (ptr) gf←c0697)+31) ) = (word) XR←GetTypeIndex((word) &string28, 0, (word) &string21);
(* (( (ptr) gf←c0697)+32) ) = (word) XR←GetTypeIndex((word) &string29, 0, (word) &string21);
(* (( (ptr) gf←c0697)+33) ) = (word) XR←GetTypeIndexS((word) (&string30));
(* (( (ptr) gf←c0697)+34) ) = (word) XR←GetTypeIndex((word) &string31, 0, (word) &string32);
(* (( (ptr) gf←c0697)+35) ) = (word) XR←GetTypeIndex((word) &string33, 0, (word) &string3);
(* (( (ptr) gf←c0697)+36) ) = (word) XR←GetTypeIndex((word) &string34, 0, (word) &string9);
(* (( (ptr) gf←c0697)+37) ) = (word) XR←GetTypeIndexS((word) (&string35));
(* (( (ptr) gf←c0697)+38) ) = (word) XR←GetTypeIndex((word) &string36, 0, (word) &string21);
(* (( (ptr) gf←c0697)+40) ) = (word) XR←GetTypeIndex((word) &string37, 0, (word) &string21);
(void) XR←DeclareGlobalFrame((word) "ImagerFDBuildImpl", &globalframe, (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39)
, (word) (( (bPt) gf←c0697)+608)/* var←c43192 */ );
var←c49880 = (word) XR←ImportInterface((word) "ImagerFDTypeface", (word) XR←GetTypeIndexS((word) (&string40)), 2);
(* (( (ptr) gf←c0697)+161)/* var←c48792 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67371009);
var←c49880 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string41)), 16);
(* (( (ptr) gf←c0697)+163)/* var←c49560 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67372289);
var←c49880 = (word) XR←ImportInterface((word) "CardTab", (word) XR←GetTypeIndexS((word) (&string42)), 12);
(* (( (ptr) gf←c0697)+156)/* var←c43448 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67896835);
(void) XR←ImportProcS(var←c49880, 67635458);
(void) XR←ImportProcS(var←c49880, 67896579);
(void) XR←ImportProcS(var←c49880, 134742786);
(void) XR←ImportProcS(var←c49880, 788995);
(void) XR←ImportProcS(var←c49880, 67371265);
var←c49880 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string43)), 55);
(* (( (ptr) gf←c0697)+154)/* var←c43224 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67645698);
(void) XR←ImportProcS(var←c49880, 402927105);
(void) XR←ImportProcS(var←c49880, 67371777);
var←c49880 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string44)), 15);
(* (( (ptr) gf←c0697)+160)/* var←c48760 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67374593);
(void) XR←ImportProcS(var←c49880, 67373313);
var←c49880 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string45)), 103);
(* (( (ptr) gf←c0697)+162)/* var←c48824 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 1071364);
(void) XR←ImportProcS(var←c49880, 528642);
(void) XR←ImportProcS(var←c49880, 530434);
var←c49880 = (word) XR←ImportInterface((word) "SymTab", (word) XR←GetTypeIndexS((word) (&string46)), 13);
(* (( (ptr) gf←c0697)+159)/* var←c47480 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 789251);
(void) XR←ImportProcS(var←c49880, 67633410);
var←c49880 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string47)), 28);
(* (( (ptr) gf←c0697)+157)/* var←c44088 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67375873);
(void) XR←ImportProcS(var←c49880, 67639810);
(void) XR←ImportProcS(var←c49880, 67639042);
var←c49880 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string48)), 11);
(* (( (ptr) gf←c0697)+155)/* var←c43352 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67371521);
(void) XR←ImportProcS(var←c49880, 67633154);
(void) XR←ImportProcS(var←c49880, 67371265);
var←c49880 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string49)), 43);
(* (( (ptr) gf←c0697)+164)/* var←c49848 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67373825);
var←c49880 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string50)), 16);
(* (( (ptr) gf←c0697)+158)/* var←c44792 */ ) = var←c49880;
(void) XR←ImportProcS(var←c49880, 67371521);
(void) XR←ImportProcS(var←c49880, 134742786);
(void) XR←ImportProcS(var←c49880, 788995);
(void) XR←ImportProcS(var←c49880, 67896835);
(void) XR←ImportProcS(var←c49880, 67635458);
(void) XR←ImportProcS(var←c49880, 67895555);
var←c49880 = (word) XR←ExportInterface((word) "ImagerFDBuild", (word) XR←GetTypeIndexS((word) (&string51)), 11);
(* (( (ptr) gf←c0697)+165)/* var←c49912 */ ) = var←c49880;
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+592)/* var←c43128 */ , 67108864, (word) "Create");
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+584)/* var←c43096 */ , 3670275, (word) "Insert");
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+336)/* var←c42104 */ , 524802, (word) "Write");
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+352)/* var←c42168 */ , 67371777, (word) "Read");
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+576)/* var←c43064 */ , 67634178, (word) "FetchList");
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+568)/* var←c43032 */ , 787715, (word) "StoreList");
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+384)/* var←c42296 */ , 263681, (word) "Canonicalize");
(void) XR←ExportVar(var←c49880, 7, (word) (( (bPt) gf←c0697)+164)/* var←c41400 */ );
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+480)/* var←c42680 */ , 67373057, (word) "FDTypefaceDataFromCanonicalizedFDTable")
;
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+344)/* var←c42136 */ , 67373313, (word) "FDTableFromFDTypefaceData")
;
(void) XR←ExportProcS(var←c49880, (word) (( (bPt) gf←c0697)+328)/* var←c42072 */ , 526850, (word) "WriteFDTypefaceData");
}
static void ImagerFDBuildImpl←P0(formal←c086, formal←c078)
word formal←c086;
word formal←c078;
{
register ptr gf←c49944 = (ptr) &globalframe;
/* ImagerFDBuildImpl: */
SOURCE(1259, 33413)
/* moved to installation proc */
SOURCE(1891, 39)
{
word x53;
word x55;
*(float*)(( (ptr) gf←c49944)+5)/* escapementTolerance←v3308 */ = (
x53 = (* (ptr) &fc52 ), *(float*)&x53
) / (
x55 = (* (ptr) &fc54 ), *(float*)&x55
);
};
SOURCE(19376, 56)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c49944)+154)/* var←c43224 */ ))+7) );
(* (( (ptr) gf←c49944)+6)/* identity←v4288 */ ) = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (ptr) (&fc52) ), pd56);
};
SOURCE(24584, 89)
{
W6 var←c43256;
word var←c43288;
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c49944)+154)/* var←c43224 */ ))+50) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))((word) &var←c43256, (* (( (ptr) gf←c49944)+6)/* identity←v4288 */ ), pd57);
};
var←c43288 = XR←NewObject(28, (* (( (ptr) gf←c49944)+9) ));
(* (W6Pt) var←c43288 ) = var←c43256;
(* (( (ptr) gf←c49944)+7)/* nullFactored←v4484 */ ) = var←c43288;
};
SOURCE(33950, 53)
{
word var←c43320;
word a←v21436;
a←v21436 = (* (ptr) &fc58 );
SOURCE(34074, 93)
{
register word i←v21464 = 0;
lab←L100003: ;
{
word b←v21492;
{
word x59;
word x60;
word x61;
*(float*)&b←v21492 = ((
x59 = a←v21436, *(float*)&x59
) + (
x60 = a←v21436, *(float*)&x60
)) + (
x61 = (* (ptr) &fc58 ), *(float*)&x61
);
};
SOURCE(34120, 40)
{
word x62;
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c49944)+155)/* var←c43352 */ ))+5) );
if (((
x62 = b←v21492, *(float*)&x62
) == (float)(int)(word) ( *( (fPt) ((* (ptr) pd63 ))))(b←v21492, pd63))) {
SOURCE(34150, 10)
var←c43320 = a←v21436;
goto lab←L100004;
};
};
SOURCE(34162, 5)
a←v21436 = b←v21492;
};
if ((i←v21464 >= 999)) {
goto lab←L100000;
};
i←v21464 = (i←v21464 + 1);
goto lab←L100003;
lab←L100000: ;
};
SOURCE(34178, 5)
(void) XR←RaiseUnnamedError();
lab←L100004: ;
(* (( (ptr) gf←c49944)+8)/* largestFlonumFraction←v5296 */ ) = var←c43320;
};
}
static word CompareReal←P60(a←v5564, b←v5592)
word a←v5564;
word b←v5592;
{
word var←c5636;
/* CompareReal: */
SOURCE(1673, 139)
SOURCE(1736, 76)
{
word x64;
word x65;
word x66;
word x67;
word idx68;
return((
idx68 = (word) ( ((
x64 = a←v5564, *(float*)&x64
) < (
x65 = b←v5592, *(float*)&x65
)) ? 0 : ( ((
x66 = a←v5564, *(float*)&x66
) == (
x67 = b←v5592, *(float*)&x67
)) ? 1 : 2 ) ) ,
BCK(idx68, 3)
));
};
}
static word Create←P120()
{
register ptr gf←c49976 = (ptr) &globalframe;
word var←c5696;
/* Create: */
SOURCE(1983, 97)
SOURCE(2025, 55)
{
word var←c43416;
word var←c43480;
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c49976)+156)/* var←c43448 */ ))+5) );
var←c43416 = (word) ( *( (fPt) ((* (ptr) pd69 ))))(17, pd69);
};
var←c43480 = XR←NewObject(12, (* (( (ptr) gf←c49976)+13) ));
(* (ptr) var←c43480 ) = var←c43416;
return(var←c43480);
};
}
static void Insert←P180(fdTable←v5756, code←v5784, formal←c0826)
word fdTable←v5756;
word code←v5784;
W12 formal←c0826;
{
W18 var←c50008;
/* declaration of cd←v5812 skipped */
register ptr gf←c50040 = (ptr) &globalframe;
/* declaration of var←c43512 skipped */
(* (W12Pt) (( (ptr) &var←c50008)+4)/* cd←v5812 */ ) = formal←c0826;
/* Insert: */
SOURCE(2084, 372)
{
word tmpAddr70;
tmpAddr70 = (word) (( (ptr) &var←c50008)+16)/* var←c43512 */ ;
(* (ptr) tmpAddr70 ) = ( ((word) (fPt) Inner←P3540) );
(* (( (ptr) tmpAddr70) + 1) ) = 1;
};
SOURCE(2353, 60)
{
word pd71;
pd71 = (* (( (ptr) (* (( (ptr) gf←c50040)+156)/* var←c43448 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd71 ))))((* (ptr) fdTable←v5756 ), code←v5784, (word) (( (bPt) &var←c50008)+64)/* var←c43512 */ , pd71)
;
};
SOURCE(2415, 41)
(* (( (ptr) fdTable←v5756)+2) ) = 0;
}
static void Inner←P3540(formal←c0106, found←v33352, val←v33380, formal←c50104)
word formal←c0106;
word found←v33352;
word val←v33380;
word formal←c50104;
{
register ptr gf←c50072 = (ptr) &globalframe;
word op←v33424;
word new←v33452;
word newCDs←v11308;
formal←c50104 = (formal←c50104 - 64);
/* Inner: */
SOURCE(2168, 182)
SOURCE(2168, 182)
op←v33424 = 0;
SOURCE(2168, 182)
new←v33452 = 0;
SOURCE(2200, 125)
{
word var←c43544;
word var←c43608;
word var←c43640;
{
word var←c43576;
var←c43576 = XR←NewObject(48, (* (( (ptr) gf←c50072)+17) ));
(* (W12Pt) var←c43576 ) = (* (W12Pt) (( (ptr) formal←c50104)+4) );
var←c43544 = var←c43576;
};
var←c43608 = XR←Narrow(val←v33380, (* (( (ptr) gf←c50072)+16) ));
var←c43640 = XR←NewObject(8, (* (( (ptr) gf←c50072)+16) ));
(* (ptr) var←c43640 ) = var←c43544;
(* (( (ptr) var←c43640)+1) ) = var←c43608;
newCDs←v11308 = var←c43640;
};
SOURCE(2327, 23)
op←v33424 = 1;
new←v33452 = newCDs←v11308;
/* removed tail goto */
(* (ptr) formal←c0106 ) = op←v33424;
(* (( (ptr) formal←c0106)+1) ) = new←v33452;
return;
}
static word FetchList←P240(fdTable←v5872, code←v5900)
word fdTable←v5872;
word code←v5900;
{
register ptr gf←c50136 = (ptr) &globalframe;
word var←c5944;
/* FetchList: */
SOURCE(2462, 148)
SOURCE(2552, 58)
{
word var←c0786;
{
W2 var←c0110;
word var←c0785;
{
word pd72;
pd72 = (* (( (ptr) (* (( (ptr) gf←c50136)+156)/* var←c43448 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd72 ))))((word) &var←c0110, (* (ptr) fdTable←v5872 ), code←v5900, pd72);
};
var←c0785 = var←c0110.f1;
var←c0786 = XR←Narrow(var←c0785, (* (( (ptr) gf←c50136)+16) ));
};
return(var←c0786);
};
}
static void StoreList←P300(fdTable←v6004, code←v6032, cds←v6060)
word fdTable←v6004;
word code←v6032;
word cds←v6060;
{
register ptr gf←c50168 = (ptr) &globalframe;
/* StoreList: */
SOURCE(2614, 188)
SOURCE(2700, 59)
{
word var←c43704;
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c50168)+156)/* var←c43448 */ ))+9) );
var←c43704 = (word) ( *( (fPt) ((* (ptr) pd73 ))))((* (ptr) fdTable←v6004 ), code←v6032, cds←v6060, pd73);
};
SOURCE(2761, 41)
(* (( (ptr) fdTable←v6004)+2) ) = 0;
}
static word RealAssocCompare←P360(ref1←v32116, ref2←v32144)
word ref1←v32116;
word ref2←v32144;
{
register ptr gf←c50200 = (ptr) &globalframe;
word var←c32188;
word a←v11352;
word b←v11380;
/* RealAssocCompare: */
SOURCE(2917, 190)
SOURCE(2956, 31)
a←v11352 = XR←Narrow(ref1←v32116, (* (( (ptr) gf←c50200)+18) ));
SOURCE(2989, 31)
b←v11380 = XR←Narrow(ref2←v32144, (* (( (ptr) gf←c50200)+18) ));
SOURCE(3022, 85)
{
word var←c43768;
word a←v41324;
word b←v41352;
a←v41324 = (* (( (ptr) b←v11380)+1) );
b←v41352 = (* (( (ptr) a←v11352)+1) );
{
word idx74;
var←c43768 = (
idx74 = (word) ( (a←v41324 == b←v41352) ? 1 : ( (a←v41324 > b←v41352) ? 2 : 0 ) ) ,
BCK(idx74, 3)
);
};
return(var←c43768);
};
}
static void CountReal←P420(realTab←v6232, formal←c0827)
word realTab←v6232;
word formal←c0827;
{
W7 var←c50232;
/* declaration of real←v6260 skipped */
register ptr gf←c50264 = (ptr) &globalframe;
/* declaration of var←c43800 skipped */
var←c50232.f4/* real←v6260 */ = formal←c0827;
/* CountReal: */
SOURCE(3110, 293)
{
word tmpAddr75;
tmpAddr75 = (word) (( (ptr) &var←c50232)+5)/* var←c43800 */ ;
(* (ptr) tmpAddr75 ) = ( ((word) (fPt) Inner←P3600) );
(* (( (ptr) tmpAddr75) + 1) ) = 1;
};
SOURCE(3341, 62)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c50264)+156)/* var←c43448 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd76 ))))(realTab←v6232, var←c50232.f4/* real←v6260 */ , (word) (( (bPt) &var←c50232)+20)/* var←c43800 */ , pd76)
;
};
}
static void Inner←P3600(formal←c0133, found←v34008, val←v34036, formal←c50328)
word formal←c0133;
word found←v34008;
word val←v34036;
word formal←c50328;
{
register ptr gf←c50296 = (ptr) &globalframe;
word op←v34080;
word new←v34108;
formal←c50328 = (formal←c50328 - 20);
/* Inner: */
SOURCE(3161, 174)
SOURCE(3161, 174)
op←v34080 = 0;
SOURCE(3161, 174)
new←v34108 = 0;
SOURCE(3193, 142)
if ((0 != found←v34008)) {
SOURCE(3207, 54)
{
word c←v11492;
SOURCE(3209, 30)
c←v11492 = XR←Narrow(val←v34036, (* (( (ptr) gf←c50296)+18) ));
SOURCE(3241, 20)
(* (( (ptr) c←v11492)+1) ) = ((* (( (ptr) c←v11492)+1) ) + 1);
};
}
else {
SOURCE(3270, 65)
{
word var←c43896;
{
word var←c43864;
var←c43864 = XR←NewObject(12, (* (( (ptr) gf←c50296)+18) ));
(* (ptr) var←c43864 ) = (* (( (ptr) formal←c50328)+4) );
(* (( (ptr) var←c43864)+1) ) = 1;
var←c43896 = var←c43864;
};
op←v34080 = 1;
new←v34108 = var←c43896;
goto lab←L100007;
};
};
/* removed tail goto */
lab←L100007: ;
(* (ptr) formal←c0133 ) = op←v34080;
(* (( (ptr) formal←c0133)+1) ) = new←v34108;
return;
}
static word FindCommonReals←P480(realTab←v6404, formal←c0828, max←v6460)
word realTab←v6404;
word formal←c0828;
word max←v6460;
{
W12 var←c50360;
/* declaration of tolerance←v6432 skipped */
register ptr gf←c50392 = (ptr) &globalframe;
word var←c6504;
/* declaration of var←c43928 skipped */
/* declaration of var←c43960 skipped */
/* declaration of var←c43992 skipped */
/* declaration of list←v11548 skipped */
word ans←v11576;
(* (( (ptr) &var←c50360)+4)/* tolerance←v6432 */ ) = formal←c0828;
/* FindCommonReals: */
SOURCE(3526, 1759)
{
word tmpAddr77;
tmpAddr77 = (word) (( (ptr) &var←c50360)+5)/* var←c43928 */ ;
(* (ptr) tmpAddr77 ) = ( ((word) (fPt) CloseEnough←P3876) );
(* (( (ptr) tmpAddr77) + 1) ) = 1;
};
{
word tmpAddr78;
tmpAddr78 = (word) (( (ptr) &var←c50360)+7)/* var←c43960 */ ;
(* (ptr) tmpAddr78 ) = ( ((word) (fPt) RealAssocOrderCompare←P3816) );
(* (( (ptr) tmpAddr78) + 1) ) = 1;
};
{
word tmpAddr79;
tmpAddr79 = (word) (( (ptr) &var←c50360)+9)/* var←c43992 */ ;
(* (ptr) tmpAddr79 ) = ( ((word) (fPt) EachEntry←P3708) );
(* (( (ptr) tmpAddr79) + 1) ) = 1;
};
SOURCE(3637, 6)
(* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = 0;
SOURCE(3666, 38)
ans←v11576 = XR←NewObject(8, (* (( (ptr) gf←c50392)+19) ));
SOURCE(3771, 49)
{
word var←c44056;
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c50392)+156)/* var←c43448 */ ))+13) );
var←c44056 = (word) ( *( (fPt) ((* (ptr) pd80 ))))(realTab←v6404, (word) (( (bPt) &var←c50360)+36)/* var←c43992 */ , pd80)
;
};
SOURCE(3822, 953)
{
word x81;
word x83;
if (((
x81 = (* (( (ptr) &var←c50360)+4)/* tolerance←v6432 */ ), *(float*)&x81
) != (
x83 = (* (ptr) &fc82 ), *(float*)&x83
))) {
SOURCE(3846, 931)
{
word new←v11744 = 0;
word clusterStart←v11772 = 0;
SOURCE(4211, 64)
{
word pd84;
pd84 = (* (( (ptr) (* (( (ptr) gf←c50392)+157)/* var←c44088 */ ))+27) );
(* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* (( (ptr) &var←c50360)+11)/* list←v11548 */ ), (word) (
( (bPt) &var←c50360)+28)/* var←c43960 */ , pd84);
};
SOURCE(4277, 390)
{
register word tail←v12112;
tail←v12112 = (* (( (ptr) &var←c50360)+11)/* list←v11548 */ );
lab←L100011: ;
if ((tail←v12112 != 0)) {
}
else {
goto lab←L100008;
};
{
word this←v12252;
SOURCE(4341, 40)
this←v12252 = XR←Narrow((* (ptr) tail←v12112 ), (* (( (ptr) gf←c50392)+18) ));
SOURCE(4383, 284)
if ((clusterStart←v11772 == 0)) {
SOURCE(4411, 19)
clusterStart←v11772 = this←v12252;
}
else {
SOURCE(4439, 228)
if ((0 != (word) CloseEnough←P3876((* (ptr) this←v12252 ), (* (ptr) clusterStart←v11772 ), (word) (( (bPt) &var←c50360)+20)
/* var←c43928 */ ))) {
SOURCE(4491, 35)
(* (( (ptr) this←v12252)+2) ) = (* (( (ptr) clusterStart←v11772)+2) );
SOURCE(4528, 27)
(* (( (ptr) clusterStart←v11772)+2) ) = this←v12252;
SOURCE(4557, 49)
(* (( (ptr) clusterStart←v11772)+1) ) = ((* (( (ptr) clusterStart←v11772)+1) ) + (* (( (ptr) this←v12252)+1) ));
}
else {
SOURCE(4617, 29)
{
word var←c44120;
var←c44120 = XR←NewObject(8, (* (( (ptr) gf←c50392)+20) ));
(* (ptr) var←c44120 ) = clusterStart←v11772;
(* (( (ptr) var←c44120)+1) ) = new←v11744;
new←v11744 = var←c44120;
};
SOURCE(4648, 19)
clusterStart←v11772 = this←v12252;
};
};
};
tail←v12112 = (* (( (ptr) tail←v12112)+1) );
goto lab←L100011;
lab←L100008: ;
};
SOURCE(4684, 78)
if ((clusterStart←v11772 != 0)) {
SOURCE(4712, 29)
{
word var←c44152;
var←c44152 = XR←NewObject(8, (* (( (ptr) gf←c50392)+20) ));
(* (ptr) var←c44152 ) = clusterStart←v11772;
(* (( (ptr) var←c44152)+1) ) = new←v11744;
new←v11744 = var←c44152;
};
SOURCE(4743, 19)
clusterStart←v11772 = 0;
};
SOURCE(4765, 10)
(* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = new←v11744;
};
};
};
SOURCE(4780, 59)
{
word pd85;
pd85 = (* (( (ptr) (* (( (ptr) gf←c50392)+157)/* var←c44088 */ ))+27) );
(* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = (word) ( *( (fPt) ((* (ptr) pd85 ))))((* (( (ptr) &var←c50360)+11)/* list←v11548 */ ), (word) (
( (bPt) gf←c50392)+560)/* var←c43000 */ , pd85);
};
SOURCE(4841, 34)
{
word pd86;
pd86 = (* (( (ptr) (* (( (ptr) gf←c50392)+156)/* var←c43448 */ ))+5) );
(* (ptr) ans←v11576 ) = (word) ( *( (fPt) ((* (ptr) pd86 ))))(17, pd86);
};
SOURCE(4877, 64)
{
word var←c44184;
{
word var←c44216;
word var←c44248;
word var←c44280;
{
word pd87;
word x88;
word idx89;
pd87 = (* (( (ptr) (* (( (ptr) gf←c50392)+157)/* var←c44088 */ ))+23) );
var←c44216 = (
idx89 = (word) (x88 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* ((( (ptr) &var←c50360)+11)/* list←v11548 */ ) ), pd87),
MIN((int)(word), x88, (max←v6460 + 1))),
SGNCK(idx89)
);
};
var←c44248 = ((word) var←c44216 << 2);
var←c44280 = XR←NewObject((4 + var←c44248), (* (( (ptr) gf←c50392)+21) ));
(* (ptr) var←c44280 ) = var←c44216;
var←c44184 = var←c44280;
};
(* (( (ptr) ans←v11576)+1) ) = var←c44184;
};
SOURCE(4943, 318)
{
register word i←v12404 = 0;
register word noName←c44312;
noName←c44312 = (* (ptr) (* (( (ptr) ans←v11576)+1) ) );
if ((i←v12404 >= noName←c44312)) {
goto lab←L100012;
};
lab←L100015: ;
{
word r←v12448;
SOURCE(4991, 37)
r←v12448 = XR←Narrow((* (ptr) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) ), (* (( (ptr) gf←c50392)+18) ));
SOURCE(5030, 27)
{
word var←c44344;
var←c44344 = (* (( (ptr) ans←v11576)+1) );
{
word limit90;
(* ((( (ptr) var←c44344)+1)+(
limit90 = (* (ptr) var←c44344 ),
BCK(i←v12404, limit90)
)) ) = (* (ptr) r←v12448 );
};
};
SOURCE(5059, 170)
{
register word a←v12504;
word var←c44376;
a←v12504 = r←v12448;
lab←L100019: ;
if ((a←v12504 != 0)) {
}
else {
goto lab←L100016;
};
SOURCE(5112, 117)
{
word pd91;
{
word var←c44408;
var←c44408 = XR←NewObject(12, (* (( (ptr) gf←c50392)+18) ));
(* (ptr) var←c44408 ) = (* (ptr) r←v12448 );
(* (( (ptr) var←c44408)+1) ) = i←v12404;
var←c44376 = var←c44408;
};
pd91 = (* (( (ptr) (* (( (ptr) gf←c50392)+156)/* var←c43448 */ ))+10) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd91 ))))((* (ptr) ans←v11576 ), (* (ptr) a←v12504 ), var←c44376, pd91))) {
SOURCE(5229, 5)
(void) XR←RaiseUnnamedError();
};
};
a←v12504 = (* (( (ptr) a←v12504)+2) );
goto lab←L100019;
lab←L100016: ;
};
SOURCE(5245, 16)
(* (( (ptr) &var←c50360)+11)/* list←v11548 */ ) = (* (( (ptr) (* (( (ptr) &var←c50360)+11)/* list←v11548 */ ))+1) );
};
i←v12404 = (i←v12404 + 1);
if ((i←v12404 < noName←c44312)) {
goto lab←L100015;
};
lab←L100012: ;
};
SOURCE(5272, 13)
return(ans←v11576);
}
static word EachEntry←P3708(key←v34180, val←v34208, formal←c50456)
word key←v34180;
word val←v34208;
word formal←c50456;
{
register ptr gf←c50424 = (ptr) &globalframe;
word quit←v34252;
formal←c50456 = (formal←c50456 - 36);
/* EachEntry: */
SOURCE(3706, 60)
SOURCE(3706, 60)
quit←v34252 = 0;
SOURCE(3744, 22)
{
word var←c44440;
var←c44440 = XR←NewObject(8, (* (( (ptr) gf←c50424)+20) ));
(* (ptr) var←c44440 ) = val←v34208;
(* (( (ptr) var←c44440)+1) ) = (* (( (ptr) formal←c50456)+11) );
(* (( (ptr) formal←c50456)+11) ) = var←c44440;
};
SOURCE(3706, 60)
return(quit←v34252);
}
static word RealAssocOrderCompare←P3816(ref1←v34312, ref2←v34340, formal←c50520)
word ref1←v34312;
word ref2←v34340;
word formal←c50520;
{
register ptr gf←c50488 = (ptr) &globalframe;
word var←c34384;
word a←v12308;
word b←v12336;
formal←c50520 = (formal←c50520 - 28);
/* RealAssocOrderCompare: */
SOURCE(3911, 42)
SOURCE(3955, 31)
a←v12308 = XR←Narrow(ref1←v34312, (* (( (ptr) gf←c50488)+18) ));
SOURCE(3988, 31)
b←v12336 = XR←Narrow(ref2←v34340, (* (( (ptr) gf←c50488)+18) ));
SOURCE(4021, 65)
return((word) CompareReal←P60((* (ptr) b←v12336 ), (* (ptr) a←v12308 )));
}
static word CloseEnough←P3876(a←v12012, b←v12040, formal←c50552)
word a←v12012;
word b←v12040;
word formal←c50552;
{
word var←c12084;
formal←c50552 = (formal←c50552 - 20);
/* CloseEnough: */
SOURCE(4089, 19)
SOURCE(4139, 36)
{
word x92;
word x93;
word x94;
word x95;
if (( (unsigned) ((
x92 = a←v12012, *(float*)&x92
) > (
x93 = (* (ptr) &fc82 ), *(float*)&x93
)) != (unsigned) ((
x94 = b←v12040, *(float*)&x94
) > (
x95 = (* (ptr) &fc82 ), *(float*)&x95
)))) {
SOURCE(4161, 14)
return(0);
};
};
SOURCE(4177, 31)
{
float tf96;
word x97;
word x98;
word x99;
return( (unsigned) (FABS(((
x97 = a←v12012, *(float*)&x97
) - (
x98 = b←v12040, *(float*)&x98
)), tf96) <= (
x99 = (* (( (ptr) formal←c50552)+4) ), *(float*)&x99
)));
};
}
static word GetRealCode←P540(commonReals←v6564, real←v6592)
word commonReals←v6564;
word real←v6592;
{
register ptr gf←c50584 = (ptr) &globalframe;
word var←c6636;
word found←v12560;
word val←v12588 = 0;
/* GetRealCode: */
SOURCE(5289, 245)
SOURCE(5387, 77)
{
W2 var←c44504;
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c50584)+156)/* var←c43448 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd100 ))))((word) &var←c44504, (* (ptr) commonReals←v6564 ), real←v6592, pd100);
};
val←v12588 = var←c44504.f1;
found←v12560 = var←c44504.f0;
};
SOURCE(5466, 68)
{
word idx101;
if ((0 != found←v12560)) {
return((
idx101 = (* (( (ptr) XR←Narrow(val←v12588, (* (( (ptr) gf←c50584)+18) )))+1) ),
SGNCK(idx101)
));
}
else {
return( (word) -1);
};
};
}
static word BuildSetArrayTable←P600(fdTable←v6752)
word fdTable←v6752;
{
W7 var←c50616;
register ptr gf←c50648 = (ptr) &globalframe;
word var←c6796;
/* declaration of var←c44568 skipped */
/* declaration of setArrayTable←v12656 skipped */
/* BuildSetArrayTable: */
SOURCE(5676, 491)
{
word tmpAddr102;
tmpAddr102 = (word) (( (ptr) &var←c50616)+4)/* var←c44568 */ ;
(* (ptr) tmpAddr102 ) = ( ((word) (fPt) EachChar←P4176) );
(* (( (ptr) tmpAddr102) + 1) ) = 1;
};
SOURCE(5748, 52)
var←c50616.f6/* setArrayTable←v12656 */ = XR←NewObject(1024, (* (( (ptr) gf←c50648)+11) ));
SOURCE(6087, 56)
{
word var←c44632;
word pd103;
pd103 = (* (( (ptr) (* (( (ptr) gf←c50648)+156)/* var←c43448 */ ))+13) );
var←c44632 = (word) ( *( (fPt) ((* (ptr) pd103 ))))((* (ptr) fdTable←v6752 ), (word) (( (bPt) &var←c50616)+16)/* var←c44568 */ , pd103)
;
};
SOURCE(6145, 22)
return(var←c50616.f6/* setArrayTable←v12656 */ );
}
static word EachChar←P4176(key←v34540, val←v34568, formal←c50712)
word key←v34540;
word val←v34568;
word formal←c50712;
{
register ptr gf←c50680 = (ptr) &globalframe;
word quit←v34612;
word set←v12728;
word code←v12756;
formal←c50712 = (formal←c50712 - 16);
/* EachChar: */
SOURCE(5802, 280)
SOURCE(5802, 280)
quit←v34612 = 0;
SOURCE(5839, 24)
{
word idx104;
set←v12728 = (
idx104 = (word) ((word) key←v34540 >> 8),
BCK(idx104, 256)
);
};
SOURCE(5865, 24)
code←v12756 = (key←v34540 & 0377);
SOURCE(5891, 105)
if (((* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ) == 0)) {
SOURCE(5924, 72)
(* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ) = XR←NewObject(1024, (* (( (ptr) gf←c50680)+23) ));
};
SOURCE(5998, 39)
if (((* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ))+code←v12756) ) != 0)) {
SOURCE(6037, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(6044, 38)
(* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c50712)+6) ))+set←v12728) ))+code←v12756) ) = XR←Narrow(val←v34568, (* (( (ptr) gf←c50680)+16)
));
SOURCE(5802, 280)
return(quit←v34612);
}
static word Compatible←P660(a←v6856, b←v6884)
word a←v6856;
word b←v6884;
{
word var←c6928;
/* Compatible: */
SOURCE(6173, 442)
SOURCE(6239, 350)
lab←L100022: ;
if ( ( ( (a←v6856 != 0) ? (b←v6884 != 0) : 0 ) ? (a←v6856 != b←v6884) : 0 ) ) {
}
else {
goto lab←L100020;
};
{
word ac←v12816;
word bc←v12844;
SOURCE(6282, 34)
ac←v12816 = (* (ptr) a←v6856 );
SOURCE(6318, 34)
bc←v12844 = (* (ptr) b←v6884 );
SOURCE(6354, 27)
if ((a←v6856 == b←v6884)) {
SOURCE(6368, 13)
return(1);
};
SOURCE(6383, 182)
if ((((((* (ptr) ac←v12816 ) != (* (ptr) bc←v12844 )) || ((* (( (ptr) ac←v12816)+1) ) != (* (( (ptr) bc←v12844)+1) ))) || ( (int)(* (
( (ptr) ac←v12816)+2) ) != (int)(* (( (ptr) bc←v12844)+2) ))) || ((* (( (ptr) ac←v12816)+3) ) != (* (( (ptr) bc←v12844)+3)
))) || ((* (( (ptr) ac←v12816)+10) ) != (* (( (ptr) bc←v12844)+10) ))) {
SOURCE(6551, 14)
return(0);
};
SOURCE(6567, 10)
a←v6856 = (* (( (ptr) a←v6856)+1) );
SOURCE(6579, 10)
b←v6884 = (* (( (ptr) b←v6884)+1) );
};
goto lab←L100022;
lab←L100020: ;
SOURCE(6600, 15)
return( (unsigned) (a←v6856 == b←v6884));
}
static void ForEachRun←P720(setArrayTable←v7104, runProc←v7132)
word setArrayTable←v7104;
word runProc←v7132;
{
word prevCDS←v12888 = 0;
word startCode←v12916 = (word) -1;
word finalCode←v12944 = 0;
word constant←v12972 = 0;
/* ForEachRun: */
SOURCE(6677, 886)
SOURCE(6859, 704)
{
register word set←v13016 = 0;
lab←L100026: ;
SOURCE(6890, 673)
if (((* (( (ptr) setArrayTable←v7104)+set←v13016) ) != 0)) {
SOURCE(6923, 645)
{
word t←v13060;
SOURCE(6925, 63)
t←v13060 = (* (( (ptr) setArrayTable←v7104)+set←v13016) );
SOURCE(6990, 444)
{
register word code←v13132 = 0;
lab←L100030: ;
{
word cds←v13176;
SOURCE(7016, 36)
cds←v13176 = (* (( (ptr) t←v13060)+code←v13132) );
SOURCE(7054, 186)
if ((0 == (word) Compatible←P660(cds←v13176, prevCDS←v12888))) {
SOURCE(7093, 147)
if ((startCode←v12916 <= finalCode←v12944)) {
SOURCE(7126, 44)
(void) ( *( (fPt) ((* (ptr) runProc←v7132 ))))(startCode←v12916, (finalCode←v12944 + 1), constant←v12972, runProc←v7132)
;
SOURCE(7172, 21)
startCode←v12916 = (word) -1;
SOURCE(7195, 13)
finalCode←v12944 = 0;
SOURCE(7210, 13)
prevCDS←v12888 = 0;
SOURCE(7225, 15)
constant←v12972 = 1;
};
};
SOURCE(7248, 186)
if ((cds←v13176 != 0)) {
SOURCE(7266, 170)
{
word card←v13220;
SOURCE(7268, 25)
card←v13220 = (((word) set←v13016 << 8) + code←v13132);
SOURCE(7295, 56)
if ( ( (prevCDS←v12888 != 0) ? (prevCDS←v12888 != cds←v13176) : 0 ) ) {
SOURCE(7335, 16)
constant←v12972 = 0;
};
SOURCE(7353, 13)
prevCDS←v12888 = cds←v13176;
SOURCE(7368, 32)
startCode←v12916 = (MIN( (unsigned) , startCode←v12916, card←v13220));
SOURCE(7402, 32)
finalCode←v12944 = (MAX( (unsigned) , finalCode←v12944, card←v13220));
};
};
};
if ((code←v13132 >= 255)) {
goto lab←L100027;
};
code←v13132 = (code←v13132 + 1);
goto lab←L100030;
lab←L100027: ;
};
SOURCE(7448, 115)
if ((startCode←v12916 <= finalCode←v12944)) {
SOURCE(7481, 44)
(void) ( *( (fPt) ((* (ptr) runProc←v7132 ))))(startCode←v12916, (finalCode←v12944 + 1), constant←v12972, runProc←v7132)
;
SOURCE(7527, 21)
startCode←v12916 = (word) -1;
SOURCE(7550, 13)
finalCode←v12944 = 0;
};
};
};
if ((set←v13016 >= 255)) {
goto lab←L100023;
};
set←v13016 = (set←v13016 + 1);
goto lab←L100026;
lab←L100023: ;
};
}
static word CommonItemsFromSetArrayTable←P780(formal←c0829)
word formal←c0829;
{
W20 var←c50744;
/* declaration of setArrayTable←v7472 skipped */
register ptr gf←c50776 = (ptr) &globalframe;
word var←c7516;
/* declaration of var←c44696 skipped */
/* declaration of var←c44728 skipped */
/* declaration of var←c44760 skipped */
/* declaration of leftExtentCount←v13264 skipped */
/* declaration of rightExtentCount←v13292 skipped */
/* declaration of descentCount←v13320 skipped */
/* declaration of ascentCount←v13348 skipped */
/* declaration of escapementCount←v13376 skipped */
/* declaration of typefaceTab←v13404 skipped */
/* declaration of placementTab←v13432 skipped */
/* declaration of result←v13460 skipped */
/* declaration of nTypefaceCells←v13488 skipped */
(* (( (ptr) &var←c50744)+4)/* setArrayTable←v7472 */ ) = formal←c0829;
/* CommonItemsFromSetArrayTable: */
SOURCE(7886, 2498)
{
word tmpAddr105;
tmpAddr105 = (word) (( (ptr) &var←c50744)+5)/* var←c44696 */ ;
(* (ptr) tmpAddr105 ) = ( ((word) (fPt) StuffTypefaceIndex←P4644) );
(* (( (ptr) tmpAddr105) + 1) ) = 1;
};
{
word tmpAddr106;
tmpAddr106 = (word) (( (ptr) &var←c50744)+7)/* var←c44728 */ ;
(* (ptr) tmpAddr106 ) = ( ((word) (fPt) EachRun←P4584) );
(* (( (ptr) tmpAddr106) + 1) ) = 1;
};
{
word tmpAddr107;
tmpAddr107 = (word) (( (ptr) &var←c50744)+9)/* var←c44760 */ ;
(* (ptr) tmpAddr107 ) = ( ((word) (fPt) UpdateTypefaceTab←P4524) );
(* (( (ptr) tmpAddr107) + 1) ) = 1;
};
SOURCE(7978, 43)
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) );
(* (( (ptr) &var←c50744)+11)/* leftExtentCount←v13264 */ ) = (word) ( *( (fPt) ((* (ptr) pd108 ))))(17, pd108);
};
SOURCE(8023, 44)
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) );
(* (( (ptr) &var←c50744)+12)/* rightExtentCount←v13292 */ ) = (word) ( *( (fPt) ((* (ptr) pd109 ))))(17, pd109);
};
SOURCE(8069, 40)
{
word pd110;
pd110 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) );
(* (( (ptr) &var←c50744)+13)/* descentCount←v13320 */ ) = (word) ( *( (fPt) ((* (ptr) pd110 ))))(17, pd110);
};
SOURCE(8111, 39)
{
word pd111;
pd111 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) );
(* (( (ptr) &var←c50744)+14)/* ascentCount←v13348 */ ) = (word) ( *( (fPt) ((* (ptr) pd111 ))))(17, pd111);
};
SOURCE(8152, 43)
{
word pd112;
pd112 = (* (( (ptr) (* (( (ptr) gf←c50776)+156)/* var←c43448 */ ))+5) );
(* (( (ptr) &var←c50744)+15)/* escapementCount←v13376 */ ) = (word) ( *( (fPt) ((* (ptr) pd112 ))))(17, pd112);
};
SOURCE(8197, 41)
{
word pd113;
pd113 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c50744)+16)/* typefaceTab←v13404 */ ) = (word) ( *( (fPt) ((* (ptr) pd113 ))))(17, 0, 0, pd113);
};
SOURCE(8240, 94)
{
word pd114;
pd114 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c50744)+17)/* placementTab←v13432 */ ) = (word) ( *( (fPt) ((* (ptr) pd114 ))))(17, (word) (( (bPt) gf←c50776)+424)
/* var←c42456 */ , (word) (( (bPt) gf←c50776)+432)/* var←c42488 */ , pd114);
};
SOURCE(8336, 41)
(* (( (ptr) &var←c50744)+18)/* result←v13460 */ ) = XR←NewObject(36, (* (( (ptr) gf←c50776)+24) ));
SOURCE(8379, 23)
(* (( (ptr) &var←c50744)+19)/* nTypefaceCells←v13488 */ ) = 0;
SOURCE(9526, 34)
(void) ForEachRun←P720((* (( (ptr) &var←c50744)+4)/* setArrayTable←v7472 */ ), (word) (( (bPt) &var←c50744)+28)/* var←c44728 */ )
;
SOURCE(9562, 75)
(* (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+11)
/* leftExtentCount←v13264 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 254);
SOURCE(9639, 72)
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+1) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+12)
/* rightExtentCount←v13292 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 255);
SOURCE(9713, 64)
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+2) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+13)
/* descentCount←v13320 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 255);
SOURCE(9779, 62)
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+3) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+14)
/* ascentCount←v13348 */ ), (* (( (ptr) gf←c50776)+4)/* extentTolerance←v3280 */ ), 255);
SOURCE(9843, 74)
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+4) ) = (word) FindCommonReals←P480((* (( (ptr) &var←c50744)+15)
/* escapementCount←v13376 */ ), (* (( (ptr) gf←c50776)+5)/* escapementTolerance←v3308 */ ), 255);
SOURCE(9919, 58)
{
word var←c44856;
{
word var←c44888;
word var←c44920;
word var←c44952;
{
word idx115;
var←c44888 = (
idx115 = (* (( (ptr) &var←c50744)+19)/* nTypefaceCells←v13488 */ ),
BCK(idx115, 67108863)
);
};
var←c44920 = ((word) var←c44888 << 2);
var←c44952 = XR←NewObject((4 + var←c44920), (* (( (ptr) gf←c50776)+25) ));
(* (ptr) var←c44952 ) = var←c44888;
var←c44856 = var←c44952;
};
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+7) ) = var←c44856;
};
SOURCE(9979, 61)
{
word var←c44984;
word pd116;
pd116 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+13) );
var←c44984 = (word) ( *( (fPt) ((* (ptr) pd116 ))))((* (( (ptr) &var←c50744)+16)/* typefaceTab←v13404 */ ), (word) (( (bPt) &var←c50744)+20)
/* var←c44696 */ , pd116);
};
SOURCE(10042, 32)
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+8) ) = (* (( (ptr) &var←c50744)+16)/* typefaceTab←v13404 */ );
SOURCE(10076, 53)
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+5) ) = (word) SortTransformations←P1740((* ((( (ptr) &var←c50744)+17)
/* placementTab←v13432 */ ) ));
SOURCE(10131, 89)
{
word pd117;
pd117 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+6) ) = (word) ( *( (fPt) ((* (ptr) pd117 ))))(17, (word) (
( (bPt) gf←c50776)+424)/* var←c42456 */ , (word) (( (bPt) gf←c50776)+432)/* var←c42488 */ , pd117);
};
SOURCE(10222, 135)
{
register word i←v13732 = 0;
register word noName←c45016;
noName←c45016 = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+5) ) );
if ((i←v13732 >= noName←c45016)) {
goto lab←L100031;
};
lab←L100034: ;
SOURCE(10267, 90)
{
word var←c45144;
{
word var←c45048;
{
word var←c45080;
var←c45080 = XR←NewObject(4, (* (( (ptr) gf←c50776)+26) ));
(* (ptr) var←c45080 ) = i←v13732;
var←c45048 = var←c45080;
};
{
word var←c45112;
word var←c0787;
{
word limit118;
var←c45112 = (* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+5) );
var←c0787 = (* (( (ptr) (* ((( (ptr) var←c45112)+1)+(
limit118 = (* (ptr) var←c45112 ),
BCK(i←v13732, limit118)
)) ))+6) );
};
{
word pd119;
pd119 = (* (( (ptr) (* (( (ptr) gf←c50776)+158)/* var←c44792 */ ))+10) );
var←c45144 = (word) ( *( (fPt) ((* (ptr) pd119 ))))((* (( (ptr) (* (( (ptr) &var←c50744)+18)/* result←v13460 */ ))+6) ), var←c0787, var←c45048, pd119)
;
};
};
};
};
i←v13732 = (i←v13732 + 1);
if ((i←v13732 < noName←c45016)) {
goto lab←L100034;
};
lab←L100031: ;
};
SOURCE(10368, 16)
return((* (( (ptr) &var←c50744)+18)/* result←v13460 */ ));
}
static void UpdateTypefaceTab←P4524(formal←c0236, found←v34684, val←v34712, formal←c50840)
word formal←c0236;
word found←v34684;
word val←v34712;
word formal←c50840;
{
register ptr gf←c50808 = (ptr) &globalframe;
word op←v34756;
word new←v34784;
formal←c50840 = (formal←c50840 - 36);
/* UpdateTypefaceTab: */
SOURCE(8404, 143)
SOURCE(8404, 143)
op←v34756 = 0;
SOURCE(8404, 143)
new←v34784 = 0;
SOURCE(8447, 100)
if ((0 == found←v34684)) {
SOURCE(8467, 31)
{
word var←c45176;
var←c45176 = XR←NewObject(4, (* (( (ptr) gf←c50808)+26) ));
(* (ptr) var←c45176 ) = (* (( (ptr) formal←c50840)+19) );
new←v34784 = var←c45176;
};
SOURCE(8500, 10)
op←v34756 = 1;
SOURCE(8512, 35)
(* (( (ptr) formal←c50840)+19) ) = ((* (( (ptr) formal←c50840)+19) ) + 1);
};
/* removed tail goto */
(* (ptr) formal←c0236 ) = op←v34756;
(* (( (ptr) formal←c0236)+1) ) = new←v34784;
return;
}
static void EachRun←P4584(start←v13648, end←v13676, constant←v13704, formal←c50904)
word start←v13648;
word end←v13676;
word constant←v13704;
word formal←c50904;
{
register ptr gf←c50872 = (ptr) &globalframe;
word set←v13776;
word a←v13804;
word base←v13832;
formal←c50904 = (formal←c50904 - 28);
/* EachRun: */
SOURCE(8555, 829)
SOURCE(8608, 26)
{
word idx120;
set←v13776 = (
idx120 = (word) ((word) start←v13648 >> 8),
BCK(idx120, 256)
);
};
SOURCE(8636, 63)
a←v13804 = (* (( (ptr) (* (( (ptr) formal←c50904)+4) ))+set←v13776) );
SOURCE(8701, 22)
base←v13832 = ((word) set←v13776 << 8);
SOURCE(8725, 30)
if ((0 != constant←v13704)) {
SOURCE(8742, 13)
end←v13676 = (start←v13648 + 1);
};
SOURCE(8757, 627)
{
register word c←v13904;
register word noName←c45208;
c←v13904 = start←v13648;
noName←c45208 = end←v13676;
if ((c←v13904 >= noName←c45208)) {
goto lab←L100036;
};
lab←L100039: ;
SOURCE(8788, 596)
{
register word tail←v13948;
tail←v13948 = (* (( (ptr) a←v13804)+BCK((c←v13904 - base←v13832), 256)) );
lab←L100043: ;
if ((tail←v13948 != 0)) {
}
else {
goto lab←L100040;
};
{
word cd←v13992;
word placement←v14020;
SOURCE(8865, 37)
cd←v13992 = (* (ptr) tail←v13948 );
SOURCE(8904, 49)
placement←v14020 = (word) NonNilT←P1620((* ((( (ptr) cd←v13992)+10)) ));
SOURCE(8955, 78)
{
word pd121;
pd121 = (* (( (ptr) (* (( (ptr) gf←c50872)+158)/* var←c44792 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd121 ))))((* (( (ptr) formal←c50904)+16) ), (* (ptr) cd←v13992 ), (word) (( (bPt) formal←c50904)+36)
, pd121);
};
SOURCE(9035, 67)
{
word var←c45240;
word pd122;
pd122 = (* (( (ptr) (* (( (ptr) gf←c50872)+158)/* var←c44792 */ ))+10) );
var←c45240 = (word) ( *( (fPt) ((* (ptr) pd122 ))))((* (( (ptr) formal←c50904)+17) ), placement←v14020, placement←v14020, pd122)
;
};
SOURCE(9104, 49)
(void) CountReal←P420((* (( (ptr) formal←c50904)+11) ), (* (( (ptr) cd←v13992)+6) ));
SOURCE(9155, 51)
(void) CountReal←P420((* (( (ptr) formal←c50904)+12) ), (* (( (ptr) cd←v13992)+7) ));
SOURCE(9208, 43)
(void) CountReal←P420((* (( (ptr) formal←c50904)+13) ), (* (( (ptr) cd←v13992)+8) ));
SOURCE(9253, 41)
(void) CountReal←P420((* (( (ptr) formal←c50904)+14) ), (* (( (ptr) cd←v13992)+9) ));
SOURCE(9296, 43)
(void) CountReal←P420((* (( (ptr) formal←c50904)+15) ), (* (( (ptr) cd←v13992)+4) ));
SOURCE(9341, 43)
(void) CountReal←P420((* (( (ptr) formal←c50904)+15) ), (* (( (ptr) cd←v13992)+5) ));
};
tail←v13948 = (* (( (ptr) tail←v13948)+1) );
goto lab←L100043;
lab←L100040: ;
};
c←v13904 = (c←v13904 + 1);
if ((c←v13904 < noName←c45208)) {
goto lab←L100039;
};
lab←L100036: ;
};
}
static word StuffTypefaceIndex←P4644(key←v34844, val←v34872, formal←c50968)
word key←v34844;
word val←v34872;
word formal←c50968;
{
register ptr gf←c50936 = (ptr) &globalframe;
word quit←v34916;
word index←v14064;
formal←c50968 = (formal←c50968 - 20);
/* StuffTypefaceIndex: */
SOURCE(9407, 114)
SOURCE(9407, 114)
quit←v34916 = 0;
SOURCE(9453, 28)
index←v14064 = XR←Narrow(val←v34872, (* (( (ptr) gf←c50936)+26) ));
SOURCE(9483, 38)
{
word var←c45272;
var←c45272 = (* (( (ptr) (* (( (ptr) formal←c50968)+18) ))+7) );
{
word idx123;
word limit124;
(* ((( (ptr) var←c45272)+1)+(
idx123 = (* (ptr) index←v14064 ),
limit124 = (* (ptr) var←c45272 ),
BCK(idx123, limit124)
)) ) = XR←Narrow(key←v34844, (* (( (ptr) gf←c50936)+27) ));
};
};
SOURCE(9407, 114)
return(quit←v34916);
}
static word GetTypefaceIndex←P840(common←v7576, typefaceCell←v7604)
word common←v7576;
word typefaceCell←v7604;
{
register ptr gf←c51000 = (ptr) &globalframe;
word var←c7648;
word i←v14120;
/* GetTypefaceIndex: */
SOURCE(10388, 186)
SOURCE(10489, 71)
{
W2 var←c0258;
word var←c0788;
{
word pd125;
pd125 = (* (( (ptr) (* (( (ptr) gf←c51000)+158)/* var←c44792 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd125 ))))((word) &var←c0258, (* (( (ptr) common←v7576)+8) ), typefaceCell←v7604, pd125);
};
var←c0788 = var←c0258.f1;
i←v14120 = XR←Narrow(var←c0788, (* (( (ptr) gf←c51000)+26) ));
};
SOURCE(10562, 12)
{
word idx126;
return((
idx126 = (* (ptr) i←v14120 ),
SGNCK(idx126)
));
};
}
static word GetPlacementCode←P900(common←v7708, m←v7736)
word common←v7708;
word m←v7736;
{
register ptr gf←c51032 = (ptr) &globalframe;
word var←c7780;
word i←v14176;
/* GetPlacementCode: */
SOURCE(10578, 170)
SOURCE(10665, 70)
{
word var←c45304;
W2 var←c0264;
word var←c0789;
var←c45304 = (word) NonNilT←P1620(m←v7736);
{
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c51032)+158)/* var←c44792 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd127 ))))((word) &var←c0264, (* (( (ptr) common←v7708)+6) ), var←c45304, pd127);
};
var←c0789 = var←c0264.f1;
i←v14176 = XR←Narrow(var←c0789, (* (( (ptr) gf←c51032)+26) ));
};
SOURCE(10737, 11)
{
word idx128;
return((
idx128 = (* (ptr) i←v14176 ),
SGNCK(idx128)
));
};
}
static word FDTypefaceDataFromCanonicalizedFDTable←P960(formal←c0830)
word formal←c0830;
{
W20 var←c51064;
/* declaration of fdTable←v7840 skipped */
register ptr gf←c51096 = (ptr) &globalframe;
/* declaration of data←v7884 skipped */
/* declaration of var←c45336 skipped */
/* declaration of var←c45368 skipped */
/* declaration of var←c45400 skipped */
/* declaration of nt←v14232 skipped */
/* declaration of setArrayTable←v14260 skipped */
/* declaration of common←v14288 skipped */
/* declaration of lastRuns←v14316 skipped */
/* declaration of charInfoRunTab←v14344 skipped */
/* declaration of nCharInfoRuns←v14372 skipped */
/* declaration of overflowList←v14456 skipped */
/* declaration of nOver←v14484 skipped */
(* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ) = formal←c0830;
/* FDTypefaceDataFromCanonicalizedFDTable: */
SOURCE(10754, 5937)
{
word tmpAddr129;
tmpAddr129 = (word) (( (ptr) &var←c51064)+6)/* var←c45336 */ ;
(* (ptr) tmpAddr129 ) = ( ((word) (fPt) CharInfoFromCD←P5016) );
(* (( (ptr) tmpAddr129) + 1) ) = 1;
};
{
word tmpAddr130;
tmpAddr130 = (word) (( (ptr) &var←c51064)+8)/* var←c45368 */ ;
(* (ptr) tmpAddr130 ) = ( ((word) (fPt) EachRun←P4956) );
(* (( (ptr) tmpAddr130) + 1) ) = 1;
};
{
word tmpAddr131;
tmpAddr131 = (word) (( (ptr) &var←c51064)+10)/* var←c45400 */ ;
(* (ptr) tmpAddr131 ) = ( ((word) (fPt) StuffCharInfoRunSeq←P4896) );
(* (( (ptr) tmpAddr131) + 1) ) = 1;
};
SOURCE(10754, 5937)
(* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) = 0;
SOURCE(10850, 50)
(* (( (ptr) &var←c51064)+12)/* nt←v14232 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ))+2)
) );
SOURCE(10902, 58)
(* (( (ptr) &var←c51064)+13)/* setArrayTable←v14260 */ ) = (word) BuildSetArrayTable←P600((* ((( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ) ))
;
SOURCE(10962, 65)
(* (( (ptr) &var←c51064)+14)/* common←v14288 */ ) = (word) CommonItemsFromSetArrayTable←P780((* ((( (ptr) &var←c51064)+13)
/* setArrayTable←v14260 */ ) ));
SOURCE(11029, 24)
(* (( (ptr) &var←c51064)+15)/* lastRuns←v14316 */ ) = 0;
SOURCE(11055, 90)
{
word pd132;
pd132 = (* (( (ptr) (* (( (ptr) gf←c51096)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c51064)+16)/* charInfoRunTab←v14344 */ ) = (word) ( *( (fPt) ((* (ptr) pd132 ))))(17, (word) (( (bPt) gf←c51096)+408)
/* var←c42392 */ , (word) (( (bPt) gf←c51096)+416)/* var←c42424 */ , pd132);
};
SOURCE(11147, 22)
(* (( (ptr) &var←c51064)+17)/* nCharInfoRuns←v14372 */ ) = 0;
SOURCE(14046, 14)
(* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ) = 0;
SOURCE(14091, 14)
(* (( (ptr) &var←c51064)+19)/* nOver←v14484 */ ) = 0;
SOURCE(15525, 19)
(* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) = XR←NewObject(1088, (* (( (ptr) gf←c51096)+28) ));
SOURCE(15546, 59)
(* (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) ) = (* (ptr) &fc133 );
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+1) ) = (* (ptr) &fc133 );
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+2) ) = (* (ptr) &fc133 );
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+3) ) = (* (ptr) &fc133 );
SOURCE(15607, 34)
(void) ForEachRun←P720((* (( (ptr) &var←c51064)+13)/* setArrayTable←v14260 */ ), (word) (( (bPt) &var←c51064)+32)/* var←c45368 */ )
;
SOURCE(15643, 59)
{
word var←c45464;
{
word var←c45496;
word var←c45528;
word var←c45560;
{
word idx134;
var←c45496 = (
idx134 = (* (( (ptr) &var←c51064)+17)/* nCharInfoRuns←v14372 */ ),
BCK(idx134, 67108863)
);
};
var←c45528 = ((word) var←c45496 << 2);
var←c45560 = XR←NewObject((4 + var←c45528), (* (( (ptr) gf←c51096)+30) ));
(* (ptr) var←c45560 ) = var←c45496;
var←c45464 = var←c45560;
};
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+13) ) = var←c45464;
};
SOURCE(15704, 65)
{
word var←c45592;
word pd135;
pd135 = (* (( (ptr) (* (( (ptr) gf←c51096)+158)/* var←c44792 */ ))+13) );
var←c45592 = (word) ( *( (fPt) ((* (ptr) pd135 ))))((* (( (ptr) &var←c51064)+16)/* charInfoRunTab←v14344 */ ), (word) (
( (bPt) &var←c51064)+40)/* var←c45400 */ , pd135);
};
SOURCE(15771, 70)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+9) ) = (* (( (ptr) (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ))+2)
);
SOURCE(15843, 55)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+4) ) = (* (( (ptr) (* (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ) ))+1)
);
SOURCE(15900, 57)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+5) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+1)
))+1) );
SOURCE(15959, 49)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+6) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+2)
))+1) );
SOURCE(16010, 47)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+7) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+3)
))+1) );
SOURCE(16059, 55)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+8) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+4)
))+1) );
SOURCE(16116, 39)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+10) ) = (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+7)
);
SOURCE(16157, 81)
{
word var←c45624;
{
word var←c45656;
word var←c45688;
word var←c45720;
{
word idx136;
var←c45656 = (
idx136 = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+5) ) ),
BCK(idx136, 67108863)
);
};
var←c45688 = ((word) var←c45656 << 2);
var←c45720 = XR←NewObject((4 + var←c45688), (* (( (ptr) gf←c51096)+31) ));
(* (ptr) var←c45720 ) = var←c45656;
var←c45624 = var←c45720;
};
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+11) ) = var←c45624;
};
SOURCE(16240, 102)
{
register word i←v14860 = 0;
register word noName←c45752;
noName←c45752 = (* (ptr) (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+5) ) );
if ((i←v14860 >= noName←c45752)) {
goto lab←L100044;
};
lab←L100047: ;
SOURCE(16285, 57)
{
word var←c45816;
word var←c45784;
var←c45816 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+11) );
{
word limit137;
word limit138;
var←c45784 = (* (( (ptr) (* (( (ptr) &var←c51064)+14)/* common←v14288 */ ))+5) );
(* ((( (ptr) var←c45816)+1)+(
limit137 = (* (ptr) var←c45816 ),
BCK(i←v14860, limit137)
)) ) = (* (( (ptr) (* ((( (ptr) var←c45784)+1)+(
limit138 = (* (ptr) var←c45784 ),
BCK(i←v14860, limit138)
)) ))+6) );
};
};
i←v14860 = (i←v14860 + 1);
if ((i←v14860 < noName←c45752)) {
goto lab←L100047;
};
lab←L100044: ;
};
SOURCE(16353, 32)
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+14) ) = (* (( (ptr) (* (( (ptr) &var←c51064)+4)/* fdTable←v7840 */ ))+1)
);
SOURCE(16387, 61)
{
word var←c45848;
{
word var←c45880;
word var←c45912;
word var←c45944;
{
word idx139;
var←c45880 = (
idx139 = (* (( (ptr) &var←c51064)+19)/* nOver←v14484 */ ),
BCK(idx139, 67108863)
);
};
var←c45912 = ((word) var←c45880 << 2);
var←c45944 = XR←NewObject((4 + var←c45912), (* (( (ptr) gf←c51096)+32) ));
(* (ptr) var←c45944 ) = var←c45880;
var←c45848 = var←c45944;
};
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+12) ) = var←c45848;
};
SOURCE(16450, 131)
{
register word i←v14904;
i←v14904 = (* (( (ptr) &var←c51064)+19)/* nOver←v14484 */ );
if ((0 >= i←v14904)) {
goto lab←L100048;
};
i←v14904 = (i←v14904 - 1);
lab←L100051: ;
SOURCE(16499, 48)
{
word var←c45976;
var←c45976 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+12) );
{
word limit140;
(* ((( (ptr) var←c45976)+1)+(
limit140 = (* (ptr) var←c45976 ),
BCK(i←v14904, limit140)
)) ) = (* (ptr) (* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ) );
};
};
SOURCE(16549, 32)
(* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ) = (* (( (ptr) (* (( (ptr) &var←c51064)+18)/* overflowList←v14456 */ ))+1)
);
if ((0 >= i←v14904)) {
goto lab←L100048;
};
i←v14904 = (i←v14904 - 1);
goto lab←L100051;
lab←L100048: ;
};
SOURCE(16592, 99)
{
word x141;
word x142;
if (((
x141 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+3) ), *(float*)&x141
) < - (
x142 = (* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+2) ), *(float*)&x142
))) {
SOURCE(16652, 39)
(* (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ) ) = (* (ptr) &fc82 );
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+1) ) = (* (ptr) &fc82 );
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+2) ) = (* (ptr) &fc82 );
(* (( (ptr) (* (( (ptr) &var←c51064)+5)/* data←v7884 */ ))+3) ) = (* (ptr) &fc82 );
};
};
SOURCE(10754, 5937)
return((* (( (ptr) &var←c51064)+5)/* data←v7884 */ ));
}
static word StuffCharInfoRunSeq←P4896(key←v35724, val←v35752, formal←c51160)
word key←v35724;
word val←v35752;
word formal←c51160;
{
register ptr gf←c51128 = (ptr) &globalframe;
word quit←v35796;
word charInfoRun←v14948;
word refInt←v14976;
formal←c51160 = (formal←c51160 - 40);
/* StuffCharInfoRunSeq: */
SOURCE(11171, 160)
SOURCE(11171, 160)
quit←v35796 = 0;
SOURCE(11218, 38)
charInfoRun←v14948 = XR←Narrow(key←v35724, (* (( (ptr) gf←c51128)+33) ));
SOURCE(11258, 29)
refInt←v14976 = XR←Narrow(val←v35752, (* (( (ptr) gf←c51128)+26) ));
SOURCE(11289, 42)
{
word var←c46008;
var←c46008 = (* (( (ptr) (* (( (ptr) formal←c51160)+5) ))+13) );
{
word idx143;
word limit144;
(* ((( (ptr) var←c46008)+1)+(
idx143 = (* (ptr) refInt←v14976 ),
limit144 = (* (ptr) var←c46008 ),
BCK(idx143, limit144)
)) ) = charInfoRun←v14948;
};
};
SOURCE(11171, 160)
return(quit←v35796);
}
static void EachRun←P4956(start←v14588, end←v14616, constant←v14644, formal←c51256)
word start←v14588;
word end←v14616;
word constant←v14644;
word formal←c51256;
{
W6 var←c51192;
register ptr gf←c51224 = (ptr) &globalframe;
/* declaration of var←c46040 skipped */
word set←v15032;
word a←v15060;
word base←v15088;
word charRunCell←v15116;
word charInfoRunSeq←v15144;
formal←c51256 = (formal←c51256 - 32);
var←c51192.f0 = formal←c51256;
/* EachRun: */
SOURCE(11336, 2696)
{
word tmpAddr145;
tmpAddr145 = (word) (( (ptr) &var←c51192)+4)/* var←c46040 */ ;
(* (ptr) tmpAddr145 ) = ( ((word) (fPt) NoteCharInfoRun←P5604) );
(* (( (ptr) tmpAddr145) + 1) ) = 1;
};
SOURCE(11389, 26)
{
word idx146;
set←v15032 = (
idx146 = (word) ((word) start←v14588 >> 8),
BCK(idx146, 256)
);
};
SOURCE(11417, 63)
a←v15060 = (* (( (ptr) (* (( (ptr) formal←c51256)+13) ))+set←v15032) );
SOURCE(11482, 22)
base←v15088 = ((word) set←v15032 << 8);
SOURCE(11506, 44)
{
word var←c46072;
word var←c46104;
word var←c46136;
{
word idx147;
var←c46072 = (
idx147 = (* (( (ptr) formal←c51256)+12) ),
BCK(idx147, 33554431)
);
};
var←c46104 = ((word) var←c46072 << 3);
var←c46136 = XR←NewObject((16 + var←c46104), (* (( (ptr) gf←c51224)+34) ));
(* (( (ptr) var←c46136)+3) ) = var←c46072;
charRunCell←v15116 = var←c46136;
};
SOURCE(11552, 59)
{
word var←c46168;
word var←c46200;
word var←c46232;
{
word idx148;
var←c46168 = (
idx148 = (* (( (ptr) formal←c51256)+12) ),
BCK(idx148, 67108863)
);
};
var←c46200 = ((word) var←c46168 << 2);
var←c46232 = XR←NewObject((4 + var←c46200), (* (( (ptr) gf←c51224)+30) ));
(* (ptr) var←c46232 ) = var←c46168;
charInfoRunSeq←v15144 = var←c46232;
};
SOURCE(11632, 27)
(* (( (ptr) charRunCell←v15116)+1) ) = BCK((start←v14588 - base←v15088), 256);
SOURCE(11661, 27)
{
word idx149;
(* (( (ptr) charRunCell←v15116)+2) ) = (
idx149 = (word) ((end←v14616 - 1) - base←v15088),
BCK(idx149, 256)
);
};
SOURCE(11690, 120)
if (((* ((( (ptr) (* (( (ptr) formal←c51256)+5) ))+16)+set←v15032) ) == 0)) {
SOURCE(11723, 49)
{
word var←c46264;
var←c46264 = charRunCell←v15116;
(* (( (ptr) formal←c51256)+15) ) = charRunCell←v15116;
(* ((( (ptr) (* (( (ptr) formal←c51256)+5) ))+16)+set←v15032) ) = var←c46264;
};
}
else {
SOURCE(11772, 38)
{
word var←c46296;
var←c46296 = charRunCell←v15116;
(* (ptr) (* (( (ptr) formal←c51256)+15) ) ) = charRunCell←v15116;
(* (( (ptr) formal←c51256)+15) ) = var←c46296;
};
};
SOURCE(11841, 1293)
if ((0 != constant←v14644)) {
SOURCE(11858, 578)
{
word i←v15216 = 0;
SOURCE(11872, 552)
{
register word tail←v15260;
tail←v15260 = (* (( (ptr) a←v15060)+BCK((start←v14588 - base←v15088), 256)) );
lab←L100055: ;
if ((tail←v15260 != 0)) {
}
else {
goto lab←L100052;
};
{
word cd←v15304;
word charInfoRun←v15332;
word var←c46360;
word var←c0790;
SOURCE(11953, 37)
cd←v15304 = (* (ptr) tail←v15260 );
SOURCE(11992, 56)
charInfoRun←v15332 = XR←NewObject(28, (* (( (ptr) gf←c51224)+33) ));
(* (( (ptr) charInfoRun←v15332)+3) ) = 1;
SOURCE(12050, 83)
lab←L100058: ;
var←c46360 = (* (( (ptr) (* (( (ptr) formal←c51256)+4) ))+2) );
{
word limit150;
var←c0790 = (* ((( (ptr) var←c46360)+1)+(
limit150 = (* (ptr) var←c46360 ),
BCK(i←v15216, limit150)
)) );
};
if (((* (( (ptr) cd←v15304)+1) ) != var←c0790)) {
}
else {
goto lab←L100056;
};
SOURCE(12116, 17)
i←v15216 = (i←v15216 + 1);
goto lab←L100058;
lab←L100056: ;
SOURCE(12135, 72)
{
word var←c46392;
var←c46392 = (word) GetTypefaceIndex←P840((* (( (ptr) formal←c51256)+14) ), (* (ptr) cd←v15304 ));
{
word limit151;
(* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
limit151 = (* (( (ptr) charRunCell←v15116)+3) ),
BCK(i←v15216, limit151)
)) ).f0 = var←c46392;
};
};
SOURCE(12209, 31)
{
word limit152;
(* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit152 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15216, limit152)
)) ) = charInfoRun←v15332;
};
SOURCE(12242, 40)
(* (ptr) charInfoRun←v15332 ) = (* (( (ptr) cd←v15304)+2) );
SOURCE(12284, 26)
(* (( (ptr) charInfoRun←v15332)+1) ) = (* (( (ptr) cd←v15304)+3) );
SOURCE(12312, 66)
(* (( (ptr) charInfoRun←v15332)+2) ) = (word) GetPlacementCode←P900((* (( (ptr) formal←c51256)+14) ), (* (( (ptr) cd←v15304)+10)
));
SOURCE(12388, 36)
SOURCE(12389, 35)
{
W3 var←c46424;
(void) CharInfoFromCD←P5016((word) &var←c46424, cd←v15304, (word) (( (bPt) formal←c51256)+24));
{
word limit153;
(* (( (W3Pt) (( (ptr) charInfoRun←v15332)+4))+(
limit153 = (* (( (ptr) charInfoRun←v15332)+3) ),
BCK(0, limit153)
)) ) = var←c46424;
};
};
};
tail←v15260 = (* (( (ptr) tail←v15260)+1) );
goto lab←L100055;
lab←L100052: ;
};
};
}
else {
SOURCE(12445, 689)
{
register word c←v15388;
register word noName←c46456;
c←v15388 = start←v14588;
noName←c46456 = end←v14616;
if ((c←v15388 >= noName←c46456)) {
goto lab←L100059;
};
lab←L100062: ;
{
word i←v15432 = 0;
SOURCE(12488, 646)
{
register word tail←v15476;
tail←v15476 = (* (( (ptr) a←v15060)+BCK((c←v15388 - base←v15088), 256)) );
lab←L100066: ;
if ((tail←v15476 != 0)) {
}
else {
goto lab←L100063;
};
{
word cd←v15520;
word charInfoSeq←v15548 = 0;
word var←c46488;
word var←c0791;
SOURCE(12565, 37)
cd←v15520 = (* (ptr) tail←v15476 );
SOURCE(12643, 83)
lab←L100069: ;
var←c46488 = (* (( (ptr) (* (( (ptr) formal←c51256)+4) ))+2) );
{
word limit154;
var←c0791 = (* ((( (ptr) var←c46488)+1)+(
limit154 = (* (ptr) var←c46488 ),
BCK(i←v15432, limit154)
)) );
};
if (((* (( (ptr) cd←v15520)+1) ) != var←c0791)) {
}
else {
goto lab←L100067;
};
SOURCE(12709, 17)
i←v15432 = (i←v15432 + 1);
goto lab←L100069;
lab←L100067: ;
SOURCE(12728, 350)
{
word limit155;
if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit155 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15432, limit155)
)) ) == 0)) {
SOURCE(12762, 72)
{
word var←c46520;
var←c46520 = (word) GetTypefaceIndex←P840((* (( (ptr) formal←c51256)+14) ), (* (ptr) cd←v15520 ));
{
/*1*/ word limit156;
/*1*/ (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
/*1*/ limit156 = (* (( (ptr) charRunCell←v15116)+3) ),
/*1*/ BCK(i←v15432, limit156)
/*1*/ )) ).f0 = var←c46520;
/*1*/ };
};
SOURCE(12836, 64)
{
word var←c46552;
{
/*1*/ word var←c46584;
/*1*/ word var←c46616;
/*1*/ word var←c46648;
/*1*/ var←c46584 = BCK((end←v14616 - start←v14588), 22369621);
/*1*/ var←c46616 = ((word) var←c46584 * 12);
/*1*/ var←c46648 = XR←NewObject((16 + var←c46616), (* (( (ptr) gf←c51224)+33) ));
/*1*/ (* (( (ptr) var←c46648)+3) ) = var←c46584;
/*1*/ var←c46552 = var←c46648;
/*1*/ };
charInfoSeq←v15548 = var←c46552;
{
/*1*/ word limit157;
/*1*/ (* ((( (ptr) charInfoRunSeq←v15144)+1)+(
/*1*/ limit157 = (* (ptr) charInfoRunSeq←v15144 ),
/*1*/ BCK(i←v15432, limit157)
/*1*/ )) ) = var←c46552;
/*1*/ };
};
SOURCE(12902, 40)
(* (ptr) charInfoSeq←v15548 ) = (* (( (ptr) cd←v15520)+2) );
SOURCE(12944, 26)
(* (( (ptr) charInfoSeq←v15548)+1) ) = (* (( (ptr) cd←v15520)+3) );
SOURCE(12972, 66)
(* (( (ptr) charInfoSeq←v15548)+2) ) = (word) GetPlacementCode←P900((* (( (ptr) formal←c51256)+14) ), (* (( (ptr) cd←v15520)+10)
));
}
else {
SOURCE(13047, 31)
{
word limit158;
charInfoSeq←v15548 = (* ((( (ptr) charInfoRunSeq←v15144)+1)+(
/*1*/ limit158 = (* (ptr) charInfoRunSeq←v15144 ),
/*1*/ BCK(i←v15432, limit158)
/*1*/ )) );
};
};
};
SOURCE(13088, 46)
SOURCE(13090, 44)
{
W3 var←c46680;
(void) CharInfoFromCD←P5016((word) &var←c46680, cd←v15520, (word) (( (bPt) formal←c51256)+24));
{
word var←c46712;
var←c46712 = (c←v15388 - start←v14588);
{
word limit159;
(* (( (W3Pt) (( (ptr) charInfoSeq←v15548)+4))+(
/*1*/ limit159 = (* (( (ptr) charInfoSeq←v15548)+3) ),
/*1*/ BCK(var←c46712, limit159)
/*1*/ )) ) = var←c46680;
};
};
};
};
tail←v15476 = (* (( (ptr) tail←v15476)+1) );
goto lab←L100066;
lab←L100063: ;
};
};
c←v15388 = (c←v15388 + 1);
if ((c←v15388 < noName←c46456)) {
goto lab←L100062;
};
lab←L100059: ;
};
};
SOURCE(13158, 286)
{
register word i←v15604 = 0;
if ((i←v15604 >= (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100070;
};
lab←L100073: ;
SOURCE(13183, 261)
{
word limit160;
if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit160 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15604, limit160)
)) ) != 0)) {
SOURCE(13215, 231)
SOURCE(13363, 81)
{
word pd161;
word limit162;
pd161 = (* (( (ptr) (* (( (ptr) gf←c51224)+158)/* var←c44792 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd161 ))))((* (( (ptr) formal←c51256)+16) ), (* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit162 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15604, limit162)
)) ), (word) (( (bPt) &var←c51192)+16)/* var←c46040 */ , pd161);
};
};
};
i←v15604 = (i←v15604 + 1);
if ((i←v15604 < (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100073;
};
lab←L100070: ;
};
SOURCE(13458, 157)
{
register word i←v15692 = 0;
if ((i←v15692 >= (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100074;
};
lab←L100077: ;
SOURCE(13483, 132)
{
word limit163;
if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit163 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15692, limit163)
)) ) != 0)) {
SOURCE(13517, 59)
{
word limit164;
word limit165;
(* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
limit164 = (* (( (ptr) charRunCell←v15116)+3) ),
BCK(0, limit164)
)) ).f0 = (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
limit165 = (* (( (ptr) charRunCell←v15116)+3) ),
BCK(i←v15692, limit165)
)) ).f0;
};
SOURCE(13578, 37)
{
word limit166;
word limit167;
(* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit166 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(0, limit166)
)) ) = (* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit167 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15692, limit167)
)) );
};
SOURCE(13617, 4)
goto lab←L100075;
};
};
i←v15692 = (i←v15692 + 1);
if ((i←v15692 < (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100077;
};
lab←L100074: ;
lab←L100075: ;
};
SOURCE(13635, 32)
{
word limit168;
if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit168 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(0, limit168)
)) ) == 0)) {
SOURCE(13667, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(13716, 157)
{
register word i←v15736 = 0;
if ((i←v15736 >= (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100078;
};
lab←L100081: ;
SOURCE(13741, 132)
{
word limit169;
if (((* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit169 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15736, limit169)
)) ) == 0)) {
SOURCE(13775, 59)
{
word limit170;
word limit171;
(* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
limit170 = (* (( (ptr) charRunCell←v15116)+3) ),
BCK(i←v15736, limit170)
)) ).f0 = (* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
limit171 = (* (( (ptr) charRunCell←v15116)+3) ),
BCK(0, limit171)
)) ).f0;
};
SOURCE(13836, 37)
{
word limit172;
word limit173;
(* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit172 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15736, limit172)
)) ) = (* ((( (ptr) charInfoRunSeq←v15144)+1)+(
limit173 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(0, limit173)
)) );
};
};
};
i←v15736 = (i←v15736 + 1);
if ((i←v15736 < (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100081;
};
lab←L100078: ;
};
SOURCE(13887, 145)
{
register word i←v15780 = 0;
if ((i←v15780 >= (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100082;
};
lab←L100085: ;
{
word refInt←v15824;
SOURCE(13912, 77)
{
W2 var←c0348;
word var←c0792;
{
word pd174;
word limit175;
pd174 = (* (( (ptr) (* (( (ptr) gf←c51224)+158)/* var←c44792 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd174 ))))((word) &var←c0348, (* (( (ptr) formal←c51256)+16) ), (* ((( (ptr) charInfoRunSeq←v15144)+1)
+(
limit175 = (* (ptr) charInfoRunSeq←v15144 ),
BCK(i←v15780, limit175)
)) ), pd174);
};
var←c0792 = var←c0348.f1;
refInt←v15824 = XR←Narrow(var←c0792, (* (( (ptr) gf←c51224)+26) ));
};
SOURCE(13991, 41)
{
word limit176;
word idx177;
(* (( (W2Pt) (( (ptr) charRunCell←v15116)+4))+(
limit176 = (* (( (ptr) charRunCell←v15116)+3) ),
BCK(i←v15780, limit176)
)) ).f1 = (
idx177 = (* (ptr) refInt←v15824 ),
SGNCK(idx177)
);
};
};
i←v15780 = (i←v15780 + 1);
if ((i←v15780 < (* (( (ptr) formal←c51256)+12) ))) {
goto lab←L100085;
};
lab←L100082: ;
};
}
static void NoteCharInfoRun←P5604(formal←c0354, found←v37152, val←v37180, formal←c51320)
word formal←c0354;
word found←v37152;
word val←v37180;
word formal←c51320;
{
register ptr gf←c51288 = (ptr) &globalframe;
word op←v37224;
word new←v37252;
formal←c51320 = (formal←c51320 - 16);
/* NoteCharInfoRun: */
SOURCE(13217, 39)
SOURCE(13217, 39)
op←v37224 = 0;
SOURCE(13217, 39)
new←v37252 = 0;
SOURCE(13258, 97)
if ((0 == found←v37152)) {
SOURCE(13278, 10)
op←v37224 = 1;
SOURCE(13290, 30)
{
word var←c46744;
var←c46744 = XR←NewObject(4, (* (( (ptr) gf←c51288)+26) ));
(* (ptr) var←c46744 ) = (* (( (ptr) (* (ptr) formal←c51320 ))+17) );
new←v37252 = var←c46744;
};
SOURCE(13322, 33)
(* (( (ptr) (* (ptr) formal←c51320 ))+17) ) = ((* (( (ptr) (* (ptr) formal←c51320 ))+17) ) + 1);
};
/* removed tail goto */
(* (ptr) formal←c0354 ) = op←v37224;
(* (( (ptr) formal←c0354)+1) ) = new←v37252;
return;
}
static void CharInfoFromCD←P5016(formal←c0368, cd←v14788, formal←c51384)
word formal←c0368;
word cd←v14788;
word formal←c51384;
{
register ptr gf←c51352 = (ptr) &globalframe;
W3 var←c14832;
word codeLeftExtent←v15880;
word codeRightExtent←v15908;
word codeDescent←v15936;
word codeAscent←v15964;
word codeEscapementX←v15992;
word codeEscapementY←v16020;
formal←c51384 = (formal←c51384 - 24);
/* CharInfoFromCD: */
SOURCE(14107, 1412)
SOURCE(14178, 76)
codeLeftExtent←v15880 = (word) GetRealCode←P540((* (ptr) (* (( (ptr) formal←c51384)+14) ) ), (* (( (ptr) cd←v14788)+6) ))
;
SOURCE(14256, 79)
codeRightExtent←v15908 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+1) ), (* (( (ptr) cd←v14788)+7)
));
SOURCE(14337, 67)
codeDescent←v15936 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+2) ), (* (( (ptr) cd←v14788)+8)
));
SOURCE(14406, 64)
codeAscent←v15964 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+3) ), (* (( (ptr) cd←v14788)+9)
));
SOURCE(14472, 71)
codeEscapementX←v15992 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+4) ), (* (( (ptr) cd←v14788)+4)
));
SOURCE(14545, 71)
codeEscapementY←v16020 = (word) GetRealCode←P540((* (( (ptr) (* (( (ptr) formal←c51384)+14) ))+4) ), (* (( (ptr) cd←v14788)+5)
));
SOURCE(14618, 85)
{
word x178;
float tf179;
float tf180;
word x181;
float tf182;
(* (ptr) (* (( (ptr) formal←c51384)+5) ) ) = (
tf182 = FMAX((
x178 = (* (ptr) (* (( (ptr) formal←c51384)+5) ) ), *(float*)&x178
), (
x181 = (* (( (ptr) cd←v14788)+6) ), *(float*)&x181
), tf179, tf180), *(word*)&tf182
);
};
SOURCE(14705, 88)
{
word x183;
float tf184;
float tf185;
word x186;
float tf187;
(* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+1) ) = (
tf187 = FMAX((
x183 = (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+1) ), *(float*)&x183
), (
x186 = (* (( (ptr) cd←v14788)+7) ), *(float*)&x186
), tf184, tf185), *(word*)&tf187
);
};
SOURCE(14795, 76)
{
word x188;
float tf189;
float tf190;
word x191;
float tf192;
(* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+2) ) = (
tf192 = FMAX((
x188 = (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+2) ), *(float*)&x188
), (
x191 = (* (( (ptr) cd←v14788)+8) ), *(float*)&x191
), tf189, tf190), *(word*)&tf192
);
};
SOURCE(14873, 73)
{
word x193;
float tf194;
float tf195;
word x196;
float tf197;
(* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+3) ) = (
tf197 = FMAX((
x193 = (* (( (ptr) (* (( (ptr) formal←c51384)+5) ))+3) ), *(float*)&x193
), (
x196 = (* (( (ptr) cd←v14788)+9) ), *(float*)&x196
), tf194, tf195), *(word*)&tf197
);
};
SOURCE(14948, 571)
{
word tc198;
word x199;
word x200;
word x201;
word x202;
if (( (int)(x199 = MIN((int)(word), codeEscapementY←v16020, codeEscapementX←v15992),
x200 = MIN((int)(word), x199, codeLeftExtent←v15880),
x201 = MIN((int)(word), x200, codeRightExtent←v15908),
x202 = MIN((int)(word), x201, codeDescent←v15936),
MIN((int)(word), x202, codeAscent←v15964)) >= (int)0)) {
tc198 = (word) ((* (( (ptr) cd←v14788)+11) ) == 0);
}
else {
tc198 = (word) 0;
};
if (tc198) {
SOURCE(15081, 178)
var←c14832.f0 = 0;
var←c14832.f1 = (((word) (((word) (((word) BCK(codeLeftExtent←v15880, 256) << 8) + BCK(codeRightExtent←v15908, 256)) << 8) +
BCK(codeDescent←v15936, 256)) << 8) + BCK(codeAscent←v15964, 256));
var←c14832.f2 = (((word) BCK(codeEscapementX←v15992, 256) << 24) + BCK(codeEscapementY←v16020, 256));
/* removed tail goto */
}
else {
SOURCE(15266, 253)
{
word overflowIndex←v16064;
word vc←v16092;
SOURCE(15268, 36)
overflowIndex←v16064 = (* (( (ptr) formal←c51384)+19) );
SOURCE(15306, 121)
vc←v16092 = XR←NewObject(28, (* (( (ptr) gf←c51352)+35) ));
(* (W4Pt) vc←v16092 ) = (* (W4Pt) (( (ptr) cd←v14788)+6) );
(* (W2Pt) (( (ptr) vc←v16092)+4) ) = (* (W2Pt) (( (ptr) cd←v14788)+4) );
(* (( (ptr) vc←v16092)+6) ) = (* (( (ptr) cd←v14788)+11) );
SOURCE(15429, 37)
{
word var←c46840;
var←c46840 = XR←NewObject(8, (* (( (ptr) gf←c51352)+36) ));
(* (ptr) var←c46840 ) = vc←v16092;
(* (( (ptr) var←c46840)+1) ) = (* (( (ptr) formal←c51384)+18) );
(* (( (ptr) formal←c51384)+18) ) = var←c46840;
};
SOURCE(15468, 15)
(* (( (ptr) formal←c51384)+19) ) = ((* (( (ptr) formal←c51384)+19) ) + 1);
SOURCE(15485, 34)
{
W3 var←c46904;
W2 var←c46872;
var←c46872.f0 = 1;
var←c46872.f1 = overflowIndex←v16064;
(* (W2Pt) (word) &var←c46904 ) = var←c46872;
(* (( (ptr) (word) &var←c46904) + 2) ) = 0;
var←c14832 = var←c46904;
/* removed tail goto */
};
};
};
};
(* (W3Pt) formal←c0368 ) = var←c14832;
return;
}
static word RawHash←P1020(p←v7944, bytes←v7972)
word p←v7944;
word bytes←v7972;
{
word hash←v8028;
/* RawHash: */
SOURCE(16697, 217)
SOURCE(16697, 217)
hash←v8028 = 31415;
SOURCE(16807, 107)
if ((p←v7944 != 0)) {
SOURCE(16823, 91)
lab←L100090: ;
bytes←v7972 = (bytes←v7972 - 4);
if (( (int)bytes←v7972 >= (int)0)) {
}
else {
goto lab←L100088;
};
SOURCE(16867, 27)
hash←v8028 = ((hash←v8028 + ((word) hash←v8028 << 7)) + (* (ptr) p←v7944 ));
SOURCE(16896, 18)
p←v7944 = (p←v7944 + 4);
goto lab←L100090;
lab←L100088: ;
};
SOURCE(16697, 217)
return(hash←v8028);
}
static word CharacterDescriptionHash←P1080(key←v32248)
word key←v32248;
{
register ptr gf←c51416 = (ptr) &globalframe;
word var←c32292;
word a←v16136;
word hash←v16164;
/* CharacterDescriptionHash: */
SOURCE(16929, 178)
SOURCE(16983, 37)
a←v16136 = XR←Narrow(key←v32248, (* (( (ptr) gf←c51416)+17) ));
SOURCE(17022, 69)
hash←v16164 = (word) RawHash←P1020(a←v16136, 48);
SOURCE(17093, 14)
return(hash←v16164);
}
static word CharacterDescriptionEqual←P1140(key1←v32352, key2←v32380)
word key1←v32352;
word key2←v32380;
{
register ptr gf←c51448 = (ptr) &globalframe;
word var←c32424;
word a1←v16208;
word a2←v16236;
/* CharacterDescriptionEqual: */
SOURCE(17111, 149)
SOURCE(17159, 39)
a1←v16208 = XR←Narrow(key1←v32352, (* (( (ptr) gf←c51448)+17) ));
SOURCE(17200, 39)
a2←v16236 = XR←Narrow(key2←v32380, (* (( (ptr) gf←c51448)+17) ));
SOURCE(17241, 19)
return( (unsigned) XR←EqualWords(a1←v16208, a2←v16236, 12));
}
static word CharacterDescriptionsHash←P1200(key←v32484)
word key←v32484;
{
register ptr gf←c51480 = (ptr) &globalframe;
word var←c32528;
word c←v16280;
W2 a←v16308;
word p←v16336;
word hash←v16364;
/* CharacterDescriptionsHash: */
SOURCE(17264, 265)
SOURCE(17319, 38)
c←v16280 = XR←Narrow(key←v32484, (* (( (ptr) gf←c51480)+16) ));
SOURCE(17359, 42)
a←v16308.f0 = (* (ptr) c←v16280 );
a←v16308.f1 = (* (( (ptr) c←v16280)+1) );
SOURCE(17403, 43)
p←v16336 = (word) &a←v16308;
SOURCE(17448, 65)
hash←v16364 = (word) RawHash←P1020(p←v16336, 8);
SOURCE(17515, 14)
return(hash←v16364);
}
static word CharacterDescriptionsEqual←P1260(key1←v32588, key2←v32616)
word key1←v32588;
word key2←v32616;
{
register ptr gf←c51512 = (ptr) &globalframe;
word var←c32660;
word a1←v16564;
word a2←v16592;
/* CharacterDescriptionsEqual: */
SOURCE(17533, 152)
SOURCE(17582, 40)
a1←v16564 = XR←Narrow(key1←v32588, (* (( (ptr) gf←c51512)+16) ));
SOURCE(17624, 40)
a2←v16592 = XR←Narrow(key2←v32616, (* (( (ptr) gf←c51512)+16) ));
SOURCE(17666, 19)
return( (unsigned) XR←EqualWords(a1←v16564, a2←v16592, 2));
}
static word TransformationHash←P1320(key←v32720)
word key←v32720;
{
register ptr gf←c51544 = (ptr) &globalframe;
word var←c32764;
word m←v16636;
/* TransformationHash: */
SOURCE(17689, 332)
SOURCE(17737, 31)
m←v16636 = XR←Narrow(key←v32720, (* (( (ptr) gf←c51544)+37) ));
SOURCE(17770, 251)
if ((m←v16636 == 0)) {
SOURCE(17786, 17)
return(13);
}
else {
SOURCE(17803, 218)
{
W6 a←v16680;
word p←v16708;
word hash←v16736;
SOURCE(17805, 86)
{
float tf203;
word x204;
float tf205;
a←v16680.f0 = (
tf205 = FABS((
x204 = (* (ptr) m←v16636 ), *(float*)&x204
), tf203), *(word*)&tf205
);
};
{
float tf206;
word x207;
float tf208;
a←v16680.f1 = (
tf208 = FABS((
x207 = (* (( (ptr) m←v16636)+1) ), *(float*)&x207
), tf206), *(word*)&tf208
);
};
{
float tf209;
word x210;
float tf211;
a←v16680.f2 = (
tf211 = FABS((
x210 = (* (( (ptr) m←v16636)+2) ), *(float*)&x210
), tf209), *(word*)&tf211
);
};
{
float tf212;
word x213;
float tf214;
a←v16680.f3 = (
tf214 = FABS((
x213 = (* (( (ptr) m←v16636)+3) ), *(float*)&x213
), tf212), *(word*)&tf214
);
};
{
float tf215;
word x216;
float tf217;
a←v16680.f4 = (
tf217 = FABS((
x216 = (* (( (ptr) m←v16636)+4) ), *(float*)&x216
), tf215), *(word*)&tf217
);
};
{
float tf218;
word x219;
float tf220;
a←v16680.f5 = (
tf220 = FABS((
x219 = (* (( (ptr) m←v16636)+5) ), *(float*)&x219
), tf218), *(word*)&tf220
);
};
SOURCE(17893, 44)
p←v16708 = (word) &a←v16680;
SOURCE(17939, 66)
hash←v16736 = (word) RawHash←P1020(p←v16708, 24);
SOURCE(18007, 14)
return(hash←v16736);
};
};
}
static word TransformationEqual←P1380(key1←v32824, key2←v32852)
word key1←v32824;
word key2←v32852;
{
register ptr gf←c51576 = (ptr) &globalframe;
word var←c32896;
word a1←v16900;
word a2←v16928;
/* TransformationEqual: */
SOURCE(18028, 179)
SOURCE(18070, 33)
a1←v16900 = XR←Narrow(key1←v32824, (* (( (ptr) gf←c51576)+37) ));
SOURCE(18105, 33)
a2←v16928 = XR←Narrow(key2←v32852, (* (( (ptr) gf←c51576)+37) ));
SOURCE(18140, 67)
{
word tc221;
word pd222;
if ( ( (a1←v16900 == 0) ? (a2←v16928 == 0) : 0 ) ) {
tc221 = (word) (unsigned) 1;
}
else {
pd222 = (* (( (ptr) (* (( (ptr) gf←c51576)+154)/* var←c43224 */ ))+53) );
tc221 = (word) (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd222 ))))(a1←v16900, a2←v16928, pd222));
};
return(tc221);
};
}
static word CharInfoRunHash←P1440(key←v32956)
word key←v32956;
{
register ptr gf←c51608 = (ptr) &globalframe;
word var←c33000;
word charInfoRun←v16972;
word hash←v17000;
/* CharInfoRunHash: */
SOURCE(18211, 189)
SOURCE(18256, 38)
charInfoRun←v16972 = XR←Narrow(key←v32956, (* (( (ptr) gf←c51608)+33) ));
SOURCE(18296, 88)
{
word idx223;
hash←v17000 = (word) RawHash←P1020(charInfoRun←v16972, (((word) (
idx223 = (* (( (ptr) charInfoRun←v16972)+3) ),
BCK(idx223, 22369619)
) * 12) + 16));
};
SOURCE(18386, 14)
return(hash←v17000);
}
static word CharInfoRunEqual←P1500(key1←v33060, key2←v33088)
word key1←v33060;
word key2←v33088;
{
register ptr gf←c51640 = (ptr) &globalframe;
word var←c33132;
word a1←v17044;
word a2←v17072;
/* CharInfoRunEqual: */
SOURCE(18404, 623)
SOURCE(18451, 30)
a1←v17044 = XR←Narrow(key1←v33060, (* (( (ptr) gf←c51640)+33) ));
SOURCE(18483, 30)
a2←v17072 = XR←Narrow(key2←v33088, (* (( (ptr) gf←c51640)+33) ));
SOURCE(18515, 146)
if (((((* (( (ptr) a1←v17044)+3) ) != (* (( (ptr) a2←v17072)+3) )) || ( (int)(* (ptr) a1←v17044 ) != (int)(* (ptr) a2←v17072 ))) || ((* (
( (ptr) a1←v17044)+1) ) != (* (( (ptr) a2←v17072)+1) ))) || ((* (( (ptr) a1←v17044)+2) ) != (* (( (ptr) a2←v17072)+2) ))) {
SOURCE(18647, 14)
return(0);
};
SOURCE(18663, 319)
{
register word i←v17116 = 0;
register word noName←c47032;
noName←c47032 = (* (( (ptr) a1←v17044)+3) );
if ((i←v17116 >= noName←c47032)) {
goto lab←L100091;
};
lab←L100094: ;
{
W3 c1←v17160;
W3 c2←v17188;
SOURCE(18693, 20)
{
word limit224;
c1←v17160 = (* (( (W3Pt) (( (ptr) a1←v17044)+4))+(
limit224 = (* (( (ptr) a1←v17044)+3) ),
BCK(i←v17116, limit224)
)) );
};
SOURCE(18715, 20)
{
word limit225;
c2←v17188 = (* (( (W3Pt) (( (ptr) a2←v17072)+4))+(
limit225 = (* (( (ptr) a2←v17072)+3) ),
BCK(i←v17116, limit225)
)) );
};
SOURCE(18737, 245)
{
word var←c47064;
var←c47064 = c1←v17160.f0;
if ((var←c47064 == 0)) {
SOURCE(18772, 95)
{
word var←c47096;
var←c47096 = c2←v17188.f0;
if ((var←c47096 == 0)) {
SOURCE(18807, 30)
if ( ! XR←EqualWords(&c1←v17160, &c2←v17188, 3)) {
SOURCE(18823, 14)
return(0);
};
}
else {
SOURCE(18853, 14)
return(0);
};
};
}
else {
if ((var←c47064 == 1)) {
SOURCE(18885, 97)
{
word var←c47128;
var←c47128 = c2←v17188.f0;
if ((var←c47128 == 1)) {
SOURCE(18922, 30)
if ( ! XR←EqualWords(&c1←v17160, &c2←v17188, 2)) {
SOURCE(18938, 14)
return(0);
};
}
else {
SOURCE(18968, 14)
return(0);
};
};
}
else {
SOURCE(18998, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
i←v17116 = (i←v17116 + 1);
if ((i←v17116 < noName←c47032)) {
goto lab←L100094;
};
lab←L100091: ;
};
SOURCE(19014, 13)
return(1);
}
static void MapCharacterDescriptions←P1560(fdTable←v8088, formal←c0831)
word fdTable←v8088;
word formal←c0831;
{
W7 var←c51672;
/* declaration of proc←v8116 skipped */
register ptr gf←c51704 = (ptr) &globalframe;
/* declaration of var←c47160 skipped */
var←c51672.f4/* proc←v8116 */ = formal←c0831;
/* MapCharacterDescriptions: */
SOURCE(19033, 337)
{
word tmpAddr226;
tmpAddr226 = (word) (( (ptr) &var←c51672)+5)/* var←c47160 */ ;
(* (ptr) tmpAddr226 ) = ( ((word) (fPt) EachPair←P6048) );
(* (( (ptr) tmpAddr226) + 1) ) = 1;
};
SOURCE(19314, 56)
{
word var←c47192;
word pd227;
pd227 = (* (( (ptr) (* (( (ptr) gf←c51704)+156)/* var←c43448 */ ))+13) );
var←c47192 = (word) ( *( (fPt) ((* (ptr) pd227 ))))((* (ptr) fdTable←v8088 ), (word) (( (bPt) &var←c51672)+20)/* var←c47160 */ , pd227)
;
};
}
static word EachPair←P6048(key←v38076, val←v38104, formal←c51768)
word key←v38076;
word val←v38104;
word formal←c51768;
{
register ptr gf←c51736 = (ptr) &globalframe;
word quit←v38148;
formal←c51768 = (formal←c51768 - 20);
/* EachPair: */
SOURCE(19157, 143)
SOURCE(19157, 143)
quit←v38148 = 0;
SOURCE(19194, 106)
{
register word tail←v17276;
tail←v17276 = XR←Narrow(val←v38104, (* (( (ptr) gf←c51736)+16) ));
lab←L100098: ;
if ((tail←v17276 != 0)) {
}
else {
goto lab←L100095;
};
SOURCE(19271, 29)
{
word pd228;
pd228 = (* (( (ptr) formal←c51768)+4) );
(* (ptr) tail←v17276 ) = (word) ( *( (fPt) ((* (ptr) pd228 ))))((* (ptr) (tail←v17276) ), pd228);
};
tail←v17276 = (* (( (ptr) tail←v17276)+1) );
goto lab←L100098;
lab←L100095: ;
};
SOURCE(19157, 143)
return(quit←v38148);
}
static word NonNilT←P1620(m←v8280)
word m←v8280;
{
register ptr gf←c51800 = (ptr) &globalframe;
word var←c8324;
/* NonNilT: */
SOURCE(19434, 104)
SOURCE(19497, 41)
if ((m←v8280 == 0)) {
return((* (( (ptr) gf←c51800)+6)/* identity←v4288 */ ));
}
else {
return(m←v8280);
};
}
static void Canonicalize←P1680(formal←c0832)
word formal←c0832;
{
W28 var←c51832;
/* declaration of fdTable←v8384 skipped */
register ptr gf←c51864 = (ptr) &globalframe;
/* declaration of var←c47224 skipped */
/* declaration of var←c47256 skipped */
/* declaration of var←c47288 skipped */
/* declaration of var←c47320 skipped */
/* declaration of var←c47352 skipped */
/* declaration of var←c47384 skipped */
/* declaration of var←c47416 skipped */
/* declaration of var←c47448 skipped */
/* declaration of mTab←v17320 skipped */
/* declaration of charToDeviceTab←v17348 skipped */
/* declaration of cdTab←v17376 skipped */
/* declaration of tfTab←v17404 skipped */
/* declaration of cdsTab←v17516 skipped */
/* declaration of ftSeq←v17572 skipped */
/* declaration of cdCells←v17656 skipped */
(* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ) = formal←c0832;
/* Canonicalize: */
SOURCE(19542, 4768)
{
word tmpAddr229;
tmpAddr229 = (word) (( (ptr) &var←c51832)+5)/* var←c47224 */ ;
(* (ptr) tmpAddr229 ) = ( ((word) (fPt) CanonicalizeEachCharacterDescriptionList←P6576) );
(* (( (ptr) tmpAddr229) + 1) ) = 1;
};
{
word tmpAddr230;
tmpAddr230 = (word) (( (ptr) &var←c51832)+7)/* var←c47256 */ ;
(* (ptr) tmpAddr230 ) = ( ((word) (fPt) SortCharacterDescriptions←P6516) );
(* (( (ptr) tmpAddr230) + 1) ) = 1;
};
{
word tmpAddr231;
tmpAddr231 = (word) (( (ptr) &var←c51832)+9)/* var←c47288 */ ;
(* (ptr) tmpAddr231 ) = ( ((word) (fPt) CDsInOrder←P6456) );
(* (( (ptr) tmpAddr231) + 1) ) = 1;
};
{
word tmpAddr232;
tmpAddr232 = (word) (( (ptr) &var←c51832)+11)/* var←c47320 */ ;
(* (ptr) tmpAddr232 ) = ( ((word) (fPt) TransformationIndex←P6396) );
(* (( (ptr) tmpAddr232) + 1) ) = 1;
};
{
word tmpAddr233;
tmpAddr233 = (word) (( (ptr) &var←c51832)+13)/* var←c47352 */ ;
(* (ptr) tmpAddr233 ) = ( ((word) (fPt) CanonicalizeCharacterDescriptions←P6336) );
(* (( (ptr) tmpAddr233) + 1) ) = 1;
};
{
word tmpAddr234;
tmpAddr234 = (word) (( (ptr) &var←c51832)+15)/* var←c47384 */ ;
(* (ptr) tmpAddr234 ) = ( ((word) (fPt) CanonicalizeCharacterDescription←P6276) );
(* (( (ptr) tmpAddr234) + 1) ) = 1;
};
{
word tmpAddr235;
tmpAddr235 = (word) (( (ptr) &var←c51832)+17)/* var←c47416 */ ;
(* (ptr) tmpAddr235 ) = ( ((word) (fPt) CanonicalizeTransformation←P6216) );
(* (( (ptr) tmpAddr235) + 1) ) = 1;
};
{
word tmpAddr236;
tmpAddr236 = (word) (( (ptr) &var←c51832)+19)/* var←c47448 */ ;
(* (ptr) tmpAddr236 ) = ( ((word) (fPt) CanonicalizeTypefaceCell←P6156) );
(* (( (ptr) tmpAddr236) + 1) ) = 1;
};
SOURCE(19591, 86)
{
word pd237;
pd237 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c51832)+21)/* mTab←v17320 */ ) = (word) ( *( (fPt) ((* (ptr) pd237 ))))(17, (word) (( (bPt) gf←c51864)+424)
/* var←c42456 */ , (word) (( (bPt) gf←c51864)+432)/* var←c42488 */ , pd237);
};
SOURCE(19679, 45)
{
word pd238;
pd238 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c51832)+22)/* charToDeviceTab←v17348 */ ) = (word) ( *( (fPt) ((* (ptr) pd238 ))))(17, 0, 0, pd238);
};
SOURCE(19726, 99)
{
word pd239;
pd239 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c51832)+23)/* cdTab←v17376 */ ) = (word) ( *( (fPt) ((* (ptr) pd239 ))))(17, (word) (( (bPt) gf←c51864)+456)
/* var←c42584 */ , (word) (( (bPt) gf←c51864)+464)/* var←c42616 */ , pd239);
};
SOURCE(19827, 46)
{
word pd240;
pd240 = (* (( (ptr) (* (( (ptr) gf←c51864)+159)/* var←c47480 */ ))+5) );
(* (( (ptr) &var←c51832)+24)/* tfTab←v17404 */ ) = (word) ( *( (fPt) ((* (ptr) pd240 ))))(17, 0, pd240);
};
SOURCE(21447, 102)
{
word pd241;
pd241 = (* (( (ptr) (* (( (ptr) gf←c51864)+158)/* var←c44792 */ ))+5) );
(* (( (ptr) &var←c51832)+25)/* cdsTab←v17516 */ ) = (word) ( *( (fPt) ((* (ptr) pd241 ))))(17, (word) (( (bPt) gf←c51864)+440)
/* var←c42520 */ , (word) (( (bPt) gf←c51864)+448)/* var←c42552 */ , pd241);
};
SOURCE(21911, 24)
(* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) = 0;
SOURCE(22162, 31)
(* (( (ptr) &var←c51832)+27)/* cdCells←v17656 */ ) = 0;
SOURCE(23828, 67)
(void) MapCharacterDescriptions←P1560((* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ), (word) (( (bPt) &var←c51832)+60)
/* var←c47384 */ );
SOURCE(23897, 44)
(* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) = (word) SortTransformations←P1740((* ((( (ptr) &var←c51832)+22)/* charToDeviceTab←v17348 */ ) ))
;
SOURCE(23943, 39)
{
word var←c47512;
word var←c47544;
word var←c47576;
{
word idx242;
var←c47512 = (
idx242 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ),
BCK(idx242, 67108863)
);
};
var←c47544 = ((word) var←c47512 << 2);
var←c47576 = XR←NewObject((4 + var←c47544), (* (( (ptr) gf←c51864)+38) ));
(* (ptr) var←c47576 ) = var←c47512;
(* (( (ptr) &var←c51832)+27)/* cdCells←v17656 */ ) = var←c47576;
};
SOURCE(23984, 73)
{
word var←c47608;
word pd243;
pd243 = (* (( (ptr) (* (( (ptr) gf←c51864)+156)/* var←c43448 */ ))+13) );
var←c47608 = (word) ( *( (fPt) ((* (ptr) pd243 ))))((* (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ) ), (word) (
( (bPt) &var←c51832)+28)/* var←c47256 */ , pd243);
};
SOURCE(24059, 88)
{
word var←c47640;
word pd244;
pd244 = (* (( (ptr) (* (( (ptr) gf←c51864)+156)/* var←c43448 */ ))+13) );
var←c47640 = (word) ( *( (fPt) ((* (ptr) pd244 ))))((* (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ) ), (word) (
( (bPt) &var←c51832)+20)/* var←c47224 */ , pd244);
};
SOURCE(24149, 75)
{
word var←c47672;
{
word var←c47704;
word var←c47736;
word var←c47768;
{
word idx245;
var←c47704 = (
idx245 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ),
BCK(idx245, 67108863)
);
};
var←c47736 = ((word) var←c47704 << 2);
var←c47768 = XR←NewObject((4 + var←c47736), (* (( (ptr) gf←c51864)+31) ));
(* (ptr) var←c47768 ) = var←c47704;
var←c47672 = var←c47768;
};
(* (( (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ))+2) ) = var←c47672;
};
SOURCE(24226, 84)
{
register word i←v18512 = 0;
register word noName←c47800;
noName←c47800 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) );
if ((i←v18512 >= noName←c47800)) {
goto lab←L100099;
};
lab←L100102: ;
SOURCE(24259, 51)
{
word var←c47832;
var←c47832 = (* (( (ptr) (* (( (ptr) &var←c51832)+4)/* fdTable←v8384 */ ))+2) );
{
word limit246;
word limit247;
(* ((( (ptr) var←c47832)+1)+(
limit246 = (* (ptr) var←c47832 ),
BCK(i←v18512, limit246)
)) ) = (* (( (ptr) (* ((( (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ))+1)+(
limit247 = (* (ptr) (* (( (ptr) &var←c51832)+26)/* ftSeq←v17572 */ ) ),
BCK(i←v18512, limit247)
)) ))+6) );
};
};
i←v18512 = (i←v18512 + 1);
if ((i←v18512 < noName←c47800)) {
goto lab←L100102;
};
lab←L100099: ;
};
}
static word CanonicalizeTypefaceCell←P6156(formal←c0833, formal←c51960)
word formal←c0833;
word formal←c51960;
{
W7 var←c51896;
/* declaration of typefaceCell←v17816 skipped */
register ptr gf←c51928 = (ptr) &globalframe;
word var←c17860;
/* declaration of var←c47864 skipped */
formal←c51960 = (formal←c51960 - 76);
var←c51896.f4/* typefaceCell←v17816 */ = formal←c0833;
var←c51896.f0 = formal←c51960;
/* CanonicalizeTypefaceCell: */
SOURCE(19875, 732)
{
word tmpAddr248;
tmpAddr248 = (word) (( (ptr) &var←c51896)+5)/* var←c47864 */ ;
(* (ptr) tmpAddr248 ) = ( ((word) (fPt) UpdateTF←P6684) );
(* (( (ptr) tmpAddr248) + 1) ) = 1;
};
SOURCE(20240, 199)
if (((* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1) ) != 0)) {
SOURCE(20278, 50)
(* (ptr) var←c51896.f4/* typefaceCell←v17816 */ ) = (* (( (ptr) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1)
))+2) );
SOURCE(20330, 55)
(* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+2) ) = (* (( (ptr) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1)
))+4) );
SOURCE(20387, 52)
(* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+3) ) = (* (ptr) (* (ptr) (* (( (ptr) var←c51896.f4/* typefaceCell←v17816 */ )+1)
) ) );
};
SOURCE(20444, 36)
if (((* (ptr) var←c51896.f4/* typefaceCell←v17816 */ ) == 0)) {
SOURCE(20480, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(20515, 69)
{
word pd249;
pd249 = (* (( (ptr) (* (( (ptr) gf←c51928)+159)/* var←c47480 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd249 ))))((* (( (ptr) formal←c51960)+24) ), (* (ptr) var←c51896.f4/* typefaceCell←v17816 */ ), (word) (
( (bPt) &var←c51896)+20)/* var←c47864 */ , pd249);
};
SOURCE(20586, 21)
return(var←c51896.f4/* typefaceCell←v17816 */ );
}
static void UpdateTF←P6684(formal←c0465, found←v38472, val←v38500, formal←c52024)
word formal←c0465;
word found←v38472;
word val←v38500;
word formal←c52024;
{
register ptr gf←c51992 = (ptr) &globalframe;
word op←v38544;
word new←v38572;
formal←c52024 = (formal←c52024 - 20);
/* UpdateTF: */
SOURCE(19962, 270)
SOURCE(19962, 270)
op←v38544 = 0;
SOURCE(19962, 270)
new←v38572 = 0;
SOURCE(19996, 236)
if ((0 == found←v38472)) {
SOURCE(20014, 34)
op←v38544 = 1;
new←v38572 = (* (( (ptr) formal←c52024)+4) );
goto lab←L100103;
}
else {
SOURCE(20048, 186)
{
word canon←v18600;
SOURCE(20050, 33)
canon←v18600 = XR←Narrow(val←v38500, (* (( (ptr) gf←c51992)+27) ));
SOURCE(20085, 35)
if ((canon←v18600 == (* (( (ptr) formal←c52024)+4) ))) {
SOURCE(20114, 6)
goto lab←L100103;
};
SOURCE(20122, 85)
if ( ( ((* (( (ptr) canon←v18600)+1) ) == 0) ? ((* (( (ptr) (* (( (ptr) formal←c52024)+4) ))+1) ) != 0) : 0 ) ) {
SOURCE(20185, 22)
(* (W4Pt) canon←v18600 ) = (* (W4Pt) (* (( (ptr) formal←c52024)+4) ) );
};
SOURCE(20212, 20)
(* (( (ptr) formal←c52024)+4) ) = canon←v18600;
};
};
/* removed tail goto */
lab←L100103: ;
(* (ptr) formal←c0465 ) = op←v38544;
(* (( (ptr) formal←c0465)+1) ) = new←v38572;
return;
}
static word CanonicalizeTransformation←P6216(formal←c0834, formal←c52120)
word formal←c0834;
word formal←c52120;
{
W7 var←c52056;
/* declaration of m←v17920 skipped */
register ptr gf←c52088 = (ptr) &globalframe;
word var←c17964;
/* declaration of var←c47896 skipped */
formal←c52120 = (formal←c52120 - 68);
var←c52056.f4/* m←v17920 */ = formal←c0834;
var←c52056.f0 = formal←c52120;
/* CanonicalizeTransformation: */
SOURCE(20612, 273)
{
word tmpAddr250;
tmpAddr250 = (word) (( (ptr) &var←c52056)+5)/* var←c47896 */ ;
(* (ptr) tmpAddr250 ) = ( ((word) (fPt) UpdateTransformation←P6792) );
(* (( (ptr) tmpAddr250) + 1) ) = 1;
};
SOURCE(20796, 14)
var←c52056.f4/* m←v17920 */ = (word) NonNilT←P1620(var←c52056.f4/* m←v17920 */ );
SOURCE(20812, 60)
{
word pd251;
pd251 = (* (( (ptr) (* (( (ptr) gf←c52088)+158)/* var←c44792 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd251 ))))((* (( (ptr) formal←c52120)+21) ), var←c52056.f4/* m←v17920 */ , (word) (( (bPt) &var←c52056)+20)
/* var←c47896 */ , pd251);
};
SOURCE(20874, 11)
return(var←c52056.f4/* m←v17920 */ );
}
static void UpdateTransformation←P6792(formal←c0473, found←v38916, val←v38944, formal←c52184)
word formal←c0473;
word found←v38916;
word val←v38944;
word formal←c52184;
{
register ptr gf←c52152 = (ptr) &globalframe;
word op←v38988;
word new←v39016;
formal←c52184 = (formal←c52184 - 20);
/* UpdateTransformation: */
SOURCE(20694, 99)
SOURCE(20694, 99)
op←v38988 = 0;
SOURCE(20694, 99)
new←v39016 = 0;
SOURCE(20740, 53)
if ((0 != found←v38916)) {
SOURCE(20754, 21)
(* (( (ptr) formal←c52184)+4) ) = XR←Narrow(val←v38944, (* (( (ptr) gf←c52152)+37) ));
}
else {
SOURCE(20775, 18)
op←v38988 = 1;
new←v39016 = (* (( (ptr) formal←c52184)+4) );
goto lab←L100104;
};
/* removed tail goto */
lab←L100104: ;
(* (ptr) formal←c0473 ) = op←v38988;
(* (( (ptr) formal←c0473)+1) ) = new←v39016;
return;
}
static word CanonicalizeCharacterDescription←P6276(formal←c0835, formal←c52280)
word formal←c0835;
word formal←c52280;
{
W7 var←c52216;
/* declaration of cd←v18024 skipped */
register ptr gf←c52248 = (ptr) &globalframe;
word var←c18068;
/* declaration of var←c47928 skipped */
formal←c52280 = (formal←c52280 - 60);
var←c52216.f4/* cd←v18024 */ = formal←c0835;
var←c52216.f0 = formal←c52280;
/* CanonicalizeCharacterDescription: */
SOURCE(20888, 554)
{
word tmpAddr252;
tmpAddr252 = (word) (( (ptr) &var←c52216)+5)/* var←c47928 */ ;
(* (ptr) tmpAddr252 ) = ( ((word) (fPt) UpdateCD←P6852) );
(* (( (ptr) tmpAddr252) + 1) ) = 1;
};
SOURCE(21086, 61)
(* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1) ) = (word) CanonicalizeTransformation←P6216((* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1)
), (word) (( (bPt) formal←c52280)+68));
SOURCE(21149, 69)
{
word var←c47960;
word pd253;
pd253 = (* (( (ptr) (* (( (ptr) gf←c52248)+158)/* var←c44792 */ ))+10) );
var←c47960 = (word) ( *( (fPt) ((* (ptr) pd253 ))))((* (( (ptr) formal←c52280)+22) ), (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1)
), (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+1) ), pd253);
};
SOURCE(21220, 59)
(* (ptr) var←c52216.f4/* cd←v18024 */ ) = (word) CanonicalizeTypefaceCell←P6156((* (ptr) var←c52216.f4/* cd←v18024 */ ), (word) (
( (bPt) formal←c52280)+76));
SOURCE(21281, 96)
(* (( (ptr) var←c52216.f4/* cd←v18024 */ )+10) ) = (word) CanonicalizeTransformation←P6216( ( ((* (( (ptr) var←c52216.f4/* cd←v18024 */ )+10)
) == 0) ? (* (( (ptr) gf←c52248)+6)/* identity←v4288 */ ) : (* (( (ptr) var←c52216.f4/* cd←v18024 */ )+10) ) ) , (word) (
( (bPt) formal←c52280)+68));
SOURCE(21379, 50)
{
word pd254;
pd254 = (* (( (ptr) (* (( (ptr) gf←c52248)+158)/* var←c44792 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd254 ))))((* (( (ptr) formal←c52280)+23) ), var←c52216.f4/* cd←v18024 */ , (word) (( (bPt) &var←c52216)+20)
/* var←c47928 */ , pd254);
};
SOURCE(21431, 11)
return(var←c52216.f4/* cd←v18024 */ );
}
static void UpdateCD←P6852(formal←c0482, found←v39076, val←v39104, formal←c52344)
word formal←c0482;
word found←v39076;
word val←v39104;
word formal←c52344;
{
register ptr gf←c52312 = (ptr) &globalframe;
word op←v39148;
word new←v39176;
formal←c52344 = (formal←c52344 - 20);
/* UpdateCD: */
SOURCE(20989, 92)
SOURCE(20989, 92)
op←v39148 = 0;
SOURCE(20989, 92)
new←v39176 = 0;
SOURCE(21023, 58)
if ((0 != found←v39076)) {
SOURCE(21039, 17)
(* (( (ptr) formal←c52344)+4) ) = XR←Narrow(val←v39104, (* (( (ptr) gf←c52312)+17) ));
}
else {
SOURCE(21063, 18)
op←v39148 = 1;
new←v39176 = (* (( (ptr) formal←c52344)+4) );
goto lab←L100105;
};
/* removed tail goto */
lab←L100105: ;
(* (ptr) formal←c0482 ) = op←v39148;
(* (( (ptr) formal←c0482)+1) ) = new←v39176;
return;
}
static word CanonicalizeCharacterDescriptions←P6336(formal←c0836, formal←c52440)
word formal←c0836;
word formal←c52440;
{
W7 var←c52376;
/* declaration of cds←v18128 skipped */
register ptr gf←c52408 = (ptr) &globalframe;
word var←c18172;
/* declaration of var←c47992 skipped */
formal←c52440 = (formal←c52440 - 52);
var←c52376.f4/* cds←v18128 */ = formal←c0836;
var←c52376.f0 = formal←c52440;
/* CanonicalizeCharacterDescriptions: */
SOURCE(21551, 355)
{
word tmpAddr255;
tmpAddr255 = (word) (( (ptr) &var←c52376)+5)/* var←c47992 */ ;
(* (ptr) tmpAddr255 ) = ( ((word) (fPt) UpdateCDS←P6912) );
(* (( (ptr) tmpAddr255) + 1) ) = 1;
};
SOURCE(21751, 30)
if ((var←c52376.f4/* cds←v18128 */ == 0)) {
SOURCE(21769, 12)
return(0);
};
SOURCE(21783, 54)
(* (( (ptr) var←c52376.f4/* cds←v18128 */ )+1) ) = (word) CanonicalizeCharacterDescriptions←P6336((* (( (ptr) var←c52376.f4/* cds←v18128 */ )+1)
), (word) (( (bPt) formal←c52440)+52));
SOURCE(21839, 53)
{
word pd256;
pd256 = (* (( (ptr) (* (( (ptr) gf←c52408)+158)/* var←c44792 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd256 ))))((* (( (ptr) formal←c52440)+25) ), var←c52376.f4/* cds←v18128 */ , (word) (( (bPt) &var←c52376)+20)
/* var←c47992 */ , pd256);
};
SOURCE(21894, 12)
return(var←c52376.f4/* cds←v18128 */ );
}
static void UpdateCDS←P6912(formal←c0490, found←v39236, val←v39264, formal←c52504)
word formal←c0490;
word found←v39236;
word val←v39264;
word formal←c52504;
{
register ptr gf←c52472 = (ptr) &globalframe;
word op←v39308;
word new←v39336;
formal←c52504 = (formal←c52504 - 20);
/* UpdateCDS: */
SOURCE(21656, 92)
SOURCE(21656, 92)
op←v39308 = 0;
SOURCE(21656, 92)
new←v39336 = 0;
SOURCE(21691, 57)
if ((0 != found←v39236)) {
SOURCE(21705, 23)
(* (( (ptr) formal←c52504)+4) ) = XR←Narrow(val←v39264, (* (( (ptr) gf←c52472)+16) ));
}
else {
SOURCE(21728, 20)
op←v39308 = 1;
new←v39336 = (* (( (ptr) formal←c52504)+4) );
goto lab←L100106;
};
/* removed tail goto */
lab←L100106: ;
(* (ptr) formal←c0490 ) = op←v39308;
(* (( (ptr) formal←c0490)+1) ) = new←v39336;
return;
}
static word TransformationIndex←P6396(m←v18232, formal←c52536)
word m←v18232;
word formal←c52536;
{
word var←c18276;
formal←c52536 = (formal←c52536 - 44);
/* TransformationIndex: */
SOURCE(21937, 130)
SOURCE(22001, 66)
{
register word i←v18776 = 0;
register word noName←c48024;
noName←c48024 = (* (ptr) (* (( (ptr) formal←c52536)+26) ) );
if ((i←v18776 >= noName←c48024)) {
goto lab←L100107;
};
lab←L100110: ;
SOURCE(22034, 33)
{
word limit257;
if (((* (( (ptr) (* ((( (ptr) (* (( (ptr) formal←c52536)+26) ))+1)+(
limit257 = (* (ptr) (* (( (ptr) formal←c52536)+26) ) ),
BCK(i←v18776, limit257)
)) ))+6) ) == m←v18232)) {
SOURCE(22057, 10)
return(i←v18776);
};
};
i←v18776 = (i←v18776 + 1);
if ((i←v18776 < noName←c48024)) {
goto lab←L100110;
};
lab←L100107: ;
};
SOURCE(22078, 5)
(void) XR←RaiseUnnamedError();
}
static word CDsInOrder←P6456(cds←v18440, formal←c52568)
word cds←v18440;
word formal←c52568;
{
word var←c18484;
word i←v18820 = 0;
formal←c52568 = (formal←c52568 - 36);
/* CDsInOrder: */
SOURCE(22195, 296)
SOURCE(22272, 185)
{
register word tail←v18864;
tail←v18864 = cds←v18440;
lab←L100114: ;
if ((tail←v18864 != 0)) {
}
else {
goto lab←L100111;
};
SOURCE(22341, 116)
lab←L100117: ;
SOURCE(22344, 38)
if ((i←v18820 >= (* (ptr) (* (( (ptr) formal←c52568)+26) ) ))) {
SOURCE(22368, 14)
return(0);
};
SOURCE(22384, 55)
{
word limit258;
if (((* (( (ptr) (* (ptr) tail←v18864 ))+1) ) == (* (( (ptr) (* ((( (ptr) (* (( (ptr) formal←c52568)+26) ))+1)+(
limit258 = (* (ptr) (* (( (ptr) formal←c52568)+26) ) ),
BCK(i←v18820, limit258)
)) ))+6) ))) {
SOURCE(22430, 9)
i←v18820 = (i←v18820 + 1);
SOURCE(22441, 4)
goto lab←L100116;
};
};
SOURCE(22448, 9)
i←v18820 = (i←v18820 + 1);
goto lab←L100117;
lab←L100116: ;
tail←v18864 = (* (( (ptr) tail←v18864)+1) );
goto lab←L100114;
lab←L100111: ;
};
SOURCE(22477, 14)
return(1);
}
static word SortCharacterDescriptions←P6516(key←v38208, val←v38236, formal←c52632)
word key←v38208;
word val←v38236;
word formal←c52632;
{
register ptr gf←c52600 = (ptr) &globalframe;
word quit←v38280;
word cds←v18908;
word result←v18936 = 0;
formal←c52632 = (formal←c52632 - 28);
/* SortCharacterDescriptions: */
SOURCE(22494, 1005)
SOURCE(22494, 1005)
quit←v38280 = 0;
SOURCE(22548, 40)
cds←v18908 = XR←Narrow(val←v38236, (* (( (ptr) gf←c52600)+16) ));
SOURCE(22627, 30)
if ((0 != (word) CDsInOrder←P6456(cds←v18908, (word) (( (bPt) formal←c52632)+36)))) {
SOURCE(22651, 6)
return(quit←v38280);
};
SOURCE(22659, 51)
{
register word i←v18980 = 0;
register word noName←c48056;
noName←c48056 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) );
if ((i←v18980 >= noName←c48056)) {
goto lab←L100118;
};
lab←L100121: ;
SOURCE(22694, 16)
{
word limit259;
(* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+(
limit259 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ),
BCK(i←v18980, limit259)
)) ) = 0;
};
i←v18980 = (i←v18980 + 1);
if ((i←v18980 < noName←c48056)) {
goto lab←L100121;
};
lab←L100118: ;
};
SOURCE(22721, 206)
{
register word tail←v19024;
tail←v19024 = cds←v18908;
lab←L100125: ;
if ((tail←v19024 != 0)) {
}
else {
goto lab←L100122;
};
{
word j←v19068;
SOURCE(22790, 53)
j←v19068 = (word) TransformationIndex←P6396((* (( (ptr) (* (ptr) tail←v19024 ))+1) ), (word) (( (bPt) formal←c52632)+44)
);
SOURCE(22845, 82)
{
word var←c48088;
var←c48088 = XR←NewObject(8, (* (( (ptr) gf←c52600)+16) ));
(* (ptr) var←c48088 ) = (* (ptr) tail←v19024 );
{
word limit260;
(* (( (ptr) var←c48088)+1) ) = (* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+(
limit260 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ),
BCK(j←v19068, limit260)
)) );
};
{
word limit261;
(* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+(
limit261 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ),
BCK(j←v19068, limit261)
)) ) = var←c48088;
};
};
};
tail←v19024 = (* (( (ptr) tail←v19024)+1) );
goto lab←L100125;
lab←L100122: ;
};
SOURCE(22982, 442)
{
register word i←v19112;
i←v19112 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) );
if ((0 >= i←v19112)) {
goto lab←L100126;
};
i←v19112 = (i←v19112 - 1);
lab←L100129: ;
{
word cell←v19156;
SOURCE(23028, 40)
{
word limit262;
cell←v19156 = (* ((( (ptr) (* (( (ptr) formal←c52632)+27) ))+1)+(
limit262 = (* (ptr) (* (( (ptr) formal←c52632)+27) ) ),
BCK(i←v19112, limit262)
)) );
};
SOURCE(23070, 354)
if ((cell←v19156 != 0)) {
SOURCE(23091, 74)
lab←L100132: ;
if ( ( ((* (( (ptr) cell←v19156)+1) ) != 0) ? ((* (ptr) cell←v19156 ) == (* (ptr) (* (( (ptr) cell←v19156)+1) ) )) : 0 ) ) {
}
else {
goto lab←L100130;
};
SOURCE(23149, 16)
cell←v19156 = (* (( (ptr) cell←v19156)+1) );
goto lab←L100132;
lab←L100130: ;
SOURCE(23176, 205)
if (((* (( (ptr) cell←v19156)+1) ) != 0)) {
SOURCE(23200, 188)
{
word tieBreaker←v19200;
SOURCE(23202, 61)
{
W2 var←c0512;
(* (ptr) (word) &var←c0512 ) = key←v38208;
(* (( (ptr) (word) &var←c0512) + 1) ) = cell←v19156;
{
word var←c0513;
(void) (XR←RaiseSignal((word) (( (bPt) gf←c52600)+164)/* var←c41400 */ , (word) &var←c0513, (word) &var←c0512));
tieBreaker←v19200 = var←c0513;
};
};
SOURCE(23265, 69)
{
word var←c48120;
var←c48120 = XR←NewObject(8, (* (( (ptr) gf←c52600)+16) ));
(* (ptr) var←c48120 ) = tieBreaker←v19200;
cell←v19156 = var←c48120;
};
SOURCE(23336, 45)
{
word limit263;
if (((* (( (ptr) (* (ptr) cell←v19156 ))+1) ) != (* (( (ptr) (* ((( (ptr) (* (( (ptr) formal←c52632)+26) ))+1)+(
/*1*/ limit263 = (* (ptr) (* (( (ptr) formal←c52632)+26) ) ),
/*1*/ BCK(i←v19112, limit263)
/*1*/ )) ))+6) ))) {
SOURCE(23381, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
SOURCE(23391, 18)
(* (( (ptr) cell←v19156)+1) ) = result←v18936;
SOURCE(23411, 13)
result←v18936 = cell←v19156;
};
};
if ((0 >= i←v19112)) {
goto lab←L100126;
};
i←v19112 = (i←v19112 - 1);
goto lab←L100129;
lab←L100126: ;
};
SOURCE(23438, 61)
{
word var←c48152;
word pd264;
pd264 = (* (( (ptr) (* (( (ptr) gf←c52600)+156)/* var←c43448 */ ))+9) );
var←c48152 = (word) ( *( (fPt) ((* (ptr) pd264 ))))((* (ptr) (* (( (ptr) formal←c52632)+4) ) ), key←v38208, result←v18936, pd264)
;
};
SOURCE(22494, 1005)
return(quit←v38280);
}
static word CanonicalizeEachCharacterDescriptionList←P6576(key←v38340, val←v38368, formal←c52696)
word key←v38340;
word val←v38368;
word formal←c52696;
{
register ptr gf←c52664 = (ptr) &globalframe;
word quit←v38412;
word cds←v19244;
W2 var←c0520;
word var←c0793;
formal←c52696 = (formal←c52696 - 20);
/* CanonicalizeEachCharacterDescriptionList: */
SOURCE(23504, 316)
SOURCE(23504, 316)
quit←v38412 = 0;
SOURCE(23573, 40)
cds←v19244 = XR←Narrow(val←v38368, (* (( (ptr) gf←c52664)+16) ));
SOURCE(23615, 205)
{
word pd265;
pd265 = (* (( (ptr) (* (( (ptr) gf←c52664)+158)/* var←c44792 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd265 ))))((word) &var←c0520, (* (( (ptr) formal←c52696)+25) ), cds←v19244, pd265);
};
var←c0793 = var←c0520.f0;
if ((0 == var←c0793)) {
SOURCE(23667, 155)
{
word canon←v19288;
SOURCE(23669, 69)
canon←v19288 = (word) CanonicalizeCharacterDescriptions←P6336(cds←v19244, (word) (( (bPt) formal←c52696)+52));
SOURCE(23740, 80)
if ((canon←v19288 != cds←v19244)) {
SOURCE(23760, 60)
{
word var←c48184;
word pd266;
pd266 = (* (( (ptr) (* (( (ptr) gf←c52664)+156)/* var←c43448 */ ))+9) );
var←c48184 = (word) ( *( (fPt) ((* (ptr) pd266 ))))((* (ptr) (* (( (ptr) formal←c52696)+4) ) ), key←v38340, canon←v19288, pd266)
;
};
};
};
};
SOURCE(23504, 316)
return(quit←v38412);
}
static word SortTransformations←P1740(mTab←v8632)
word mTab←v8632;
{
W8 var←c52728;
register ptr gf←c52760 = (ptr) &globalframe;
word var←c8676;
/* declaration of var←c48216 skipped */
word n←v19332;
/* declaration of ftSeq←v19360 skipped */
/* declaration of len←v19388 skipped */
/* SortTransformations: */
SOURCE(24676, 802)
{
word tmpAddr267;
tmpAddr267 = (word) (( (ptr) &var←c52728)+4)/* var←c48216 */ ;
(* (ptr) tmpAddr267 ) = ( ((word) (fPt) SortedInsert←P7404) );
(* (( (ptr) tmpAddr267) + 1) ) = 1;
};
SOURCE(24747, 29)
{
word pd268;
word idx269;
pd268 = (* (( (ptr) (* (( (ptr) gf←c52760)+158)/* var←c44792 */ ))+6) );
n←v19332 = (
idx269 = (word) ( *( (fPt) ((* (ptr) pd268 ))))(mTab←v8632, pd268),
SGNCK(idx269)
);
};
SOURCE(24778, 43)
{
word var←c48248;
word var←c48280;
word var←c48312;
var←c48248 = BCK(n←v19332, 67108863);
var←c48280 = ((word) var←c48248 << 2);
var←c48312 = XR←NewObject((4 + var←c48280), (* (( (ptr) gf←c52760)+40) ));
(* (ptr) var←c48312 ) = var←c48248;
var←c52728.f6/* ftSeq←v19360 */ = var←c48312;
};
SOURCE(24823, 12)
var←c52728.f7/* len←v19388 */ = 0;
SOURCE(25413, 48)
{
word var←c48344;
word pd270;
pd270 = (* (( (ptr) (* (( (ptr) gf←c52760)+158)/* var←c44792 */ ))+13) );
var←c48344 = (word) ( *( (fPt) ((* (ptr) pd270 ))))(mTab←v8632, (word) (( (bPt) &var←c52728)+16)/* var←c48216 */ , pd270)
;
};
SOURCE(25463, 15)
return(var←c52728.f6/* ftSeq←v19360 */ );
}
static word SortedInsert←P7404(key←v39396, val←v39424, formal←c52824)
word key←v39396;
word val←v39424;
word formal←c52824;
{
register ptr gf←c52792 = (ptr) &globalframe;
word quit←v39468;
word m←v19460;
word f←v19488;
formal←c52824 = (formal←c52824 - 16);
/* SortedInsert: */
SOURCE(24837, 571)
SOURCE(24837, 571)
quit←v39468 = 0;
SOURCE(24877, 31)
m←v19460 = XR←Narrow(val←v39424, (* (( (ptr) gf←c52792)+37) ));
SOURCE(24910, 103)
if ((m←v19460 == 0)) {
f←v19488 = (* (( (ptr) gf←c52792)+7)/* nullFactored←v4484 */ );
}
else {
{
W6 var←c48376;
word var←c48408;
{
word pd271;
pd271 = (* (( (ptr) (* (( (ptr) gf←c52792)+154)/* var←c43224 */ ))+50) );
(void) ( *( (fPt) ((* (ptr) pd271 ))))((word) &var←c48376, m←v19460, pd271);
};
var←c48408 = XR←NewObject(28, (* (( (ptr) gf←c52792)+9) ));
(* (W6Pt) var←c48408 ) = var←c48376;
(* (( (ptr) var←c48408)+6) ) = m←v19460;
f←v19488 = var←c48408;
};
};
SOURCE(25015, 135)
{
register word i←v19532 = 0;
register word noName←c48440;
noName←c48440 = (* (( (ptr) formal←c52824)+7) );
if ((i←v19532 >= noName←c48440)) {
goto lab←L100133;
};
lab←L100136: ;
{
word t←v19576;
SOURCE(25041, 22)
{
word limit272;
t←v19576 = (* ((( (ptr) (* (( (ptr) formal←c52824)+6) ))+1)+(
limit272 = (* (ptr) (* (( (ptr) formal←c52824)+6) ) ),
BCK(i←v19532, limit272)
)) );
};
SOURCE(25065, 85)
{
word var←c48472;
var←c48472 = (word) FactoredCompare←P1860(f←v19488, t←v19576);
switch (var←c48472) {
case 0:
SOURCE(25108, 12)
{
word limit273;
(* ((( (ptr) (* (( (ptr) formal←c52824)+6) ))+1)+(
limit273 = (* (ptr) (* (( (ptr) formal←c52824)+6) ) ),
BCK(i←v19532, limit273)
)) ) = f←v19488;
};
SOURCE(25122, 5)
f←v19488 = t←v19576;
break;
case 1:
SOURCE(25139, 11)
(void) Debug←P1800(f←v19488, t←v19576);
break;
case 2:
break;
default:
SOURCE(25363, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
};
i←v19532 = (i←v19532 + 1);
if ((i←v19532 < noName←c48440)) {
goto lab←L100136;
};
lab←L100133: ;
};
SOURCE(25379, 14)
{
word idx274;
word limit275;
(* ((( (ptr) (* (( (ptr) formal←c52824)+6) ))+1)+(
idx274 = (* (( (ptr) formal←c52824)+7) ),
limit275 = (* (ptr) (* (( (ptr) formal←c52824)+6) ) ),
BCK(idx274, limit275)
)) ) = f←v19488;
};
SOURCE(25395, 13)
(* (( (ptr) formal←c52824)+7) ) = ((* (( (ptr) formal←c52824)+7) ) + 1);
SOURCE(24837, 571)
return(quit←v39468);
}
static void Debug←P1800(a←v8736, b←v8764)
word a←v8736;
word b←v8764;
{
W4 var←c52856;
/* Debug: */
SOURCE(25482, 46)
SOURCE(25510, 18)
SOURCE(25510, 18)
{
word var←c01;
{
word var←c0794;
var←c0794 = (word) &var←c52856;
var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q9624) ), ( ((word) (fPt) NoName←Q9684) ), var←c0794);
};
/* removed trivial cond node */
};
}
static word NoName←Q9624(formal←c0775)
word formal←c0775;
{
SOURCE(25538, 6)
(void) XR←RaiseUnnamedError();
/* removed dead code */
}
static word FactoredCompare←P1860(b←v8840, a←v8868)
word b←v8840;
word a←v8868;
{
register ptr gf←c52888 = (ptr) &globalframe;
word c←v8912;
word var←c48504;
word s←v41152;
word t←v41180;
word var←c48536;
word s←v41076;
word t←v41104;
word var←c48568;
word s←v41000;
word t←v41028;
word var←c48600;
word s←v40924;
word t←v40952;
word var←c48632;
word s←v40848;
word t←v40876;
word var←c48664;
word s←v40772;
word t←v40800;
word var←c48696;
word s←v40696;
word t←v40724;
word var←c48728;
word s←v40620;
word t←v40648;
/* FactoredCompare: */
SOURCE(25548, 828)
SOURCE(25548, 828)
c←v8912 = 0;
SOURCE(25726, 59)
if ((a←v8868 == 0)) {
SOURCE(25742, 43)
{
word idx276;
return((
idx276 = (word) ( (b←v8840 == 0) ? 1 : 2 ) ,
BCK(idx276, 3)
));
};
};
SOURCE(25787, 29)
if ((b←v8840 == 0)) {
SOURCE(25803, 13)
return(0);
};
SOURCE(25818, 291)
{
float tf277;
word x278;
float tf279;
float tf280;
float tf281;
word x282;
float tf283;
s←v41152 = (
tf283 = FMAX(FABS((
x278 = (* (( (ptr) a←v8868)+1) ), *(float*)&x278
), tf277), FABS((
x282 = (* (( (ptr) a←v8868)+2) ), *(float*)&x282
), tf281), tf279, tf280), *(word*)&tf283
);
};
{
float tf284;
word x285;
float tf286;
float tf287;
float tf288;
word x289;
float tf290;
t←v41180 = (
tf290 = FMAX(FABS((
x285 = (* (( (ptr) b←v8840)+1) ), *(float*)&x285
), tf284), FABS((
x289 = (* (( (ptr) b←v8840)+2) ), *(float*)&x289
), tf288), tf286, tf287), *(word*)&tf290
);
};
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v41152, t←v41180);
SOURCE(25704, 19)
var←c48504 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48504)
) { goto then0291;};
{
word x292;
word x293;
*(float*)&s←v41076 = (
x292 = (* (ptr) a←v8868 ), *(float*)&x292
) + (
x293 = (* (( (ptr) a←v8868)+3) ), *(float*)&x293
);
};
{
word x294;
word x295;
*(float*)&t←v41104 = (
x294 = (* (ptr) b←v8840 ), *(float*)&x294
) + (
x295 = (* (( (ptr) b←v8840)+3) ), *(float*)&x295
);
};
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v41076, t←v41104);
SOURCE(25704, 19)
var←c48536 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48536)
) { goto then0291;};
s←v41000 = (* (( (ptr) a←v8868)+1) );
t←v41028 = (* (( (ptr) b←v8840)+1) );
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v41000, t←v41028);
SOURCE(25704, 19)
var←c48568 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48568)
) { goto then0291;};
s←v40924 = (* (( (ptr) a←v8868)+2) );
t←v40952 = (* (( (ptr) b←v8840)+2) );
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v40924, t←v40952);
SOURCE(25704, 19)
var←c48600 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48600)
) { goto then0291;};
s←v40848 = (* (ptr) a←v8868 );
t←v40876 = (* (ptr) b←v8840 );
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v40848, t←v40876);
SOURCE(25704, 19)
var←c48632 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48632)
) { goto then0291;};
s←v40772 = (* (( (ptr) a←v8868)+3) );
t←v40800 = (* (( (ptr) b←v8840)+3) );
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v40772, t←v40800);
SOURCE(25704, 19)
var←c48664 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48664)
) { goto then0291;};
s←v40696 = (* (( (ptr) a←v8868)+4) );
t←v40724 = (* (( (ptr) b←v8840)+4) );
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v40696, t←v40724);
SOURCE(25704, 19)
var←c48696 = (unsigned) (c←v8912 != 1);
if ((0 != var←c48696)
) { goto then0291;};
s←v40620 = (* (( (ptr) a←v8868)+5) );
t←v40648 = (* (( (ptr) b←v8840)+5) );
SOURCE(25681, 21)
c←v8912 = (word) CompareReal←P60(s←v40620, t←v40648);
SOURCE(25704, 19)
var←c48728 = (unsigned) (c←v8912 != 1);
if (((0 != var←c48728)
)) {
then0291: ;
SOURCE(26103, 6)
return(c←v8912);
};
SOURCE(26111, 58)
{
word pd296;
pd296 = (* (( (ptr) (* (( (ptr) gf←c52888)+154)/* var←c43224 */ ))+53) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd296 ))))((* (( (ptr) a←v8868)+6) ), (* (( (ptr) b←v8840)+6) ), pd296))) {
SOURCE(26156, 13)
return(1);
};
};
SOURCE(26171, 205)
return(2);
}
static word Read←P1920(filename←v8972)
word filename←v8972;
{
register ptr gf←c52920 = (ptr) &globalframe;
word fdTable←v9016;
word stream←v19796;
word data←v19824;
/* Read: */
SOURCE(26379, 228)
SOURCE(26379, 228)
fdTable←v9016 = 0;
SOURCE(26450, 63)
{
word pd297;
pd297 = (* (( (ptr) (* (( (ptr) gf←c52920)+160)/* var←c48760 */ ))+13) );
stream←v19796 = (word) ( *( (fPt) ((* (ptr) pd297 ))))(filename←v8972, pd297);
};
SOURCE(26515, 31)
{
word pd298;
pd298 = (* (( (ptr) (* (( (ptr) gf←c52920)+161)/* var←c48792 */ ))+4) );
data←v19824 = (word) ( *( (fPt) ((* (ptr) pd298 ))))(stream←v19796, pd298);
};
SOURCE(26548, 41)
fdTable←v9016 = (word) FDTableFromFDTypefaceData←P1980(data←v19824);
SOURCE(26591, 16)
{
word pd299;
pd299 = (* (( (ptr) (* (( (ptr) gf←c52920)+162)/* var←c48824 */ ))+28) );
(void) ( *( (fPt) ((* (ptr) pd299 ))))(stream←v19796, 0, pd299);
};
SOURCE(26379, 228)
return(fdTable←v9016);
}
static word FDTableFromFDTypefaceData←P1980(data←v9076)
word data←v9076;
{
word var←c9120;
word fdTable←v19868;
/* FDTableFromFDTypefaceData: */
SOURCE(26613, 1588)
SOURCE(26687, 27)
fdTable←v19868 = (word) Create←P120();
SOURCE(26716, 1430)
{
register word set←v19912 = 0;
lab←L100152: ;
SOURCE(26747, 1399)
{
register word charRuns←v19956;
charRuns←v19956 = (* ((( (ptr) data←v9076)+16)+set←v19912) );
lab←L100156: ;
if ((charRuns←v19956 != 0)) {
}
else {
goto lab←L100153;
};
{
word offset←v20000;
SOURCE(26830, 24)
offset←v20000 = ((word) set←v19912 << 8);
SOURCE(26856, 1290)
{
register word tc←v20044 = 0;
register word noName←c48856;
noName←c48856 = (* (( (ptr) charRuns←v19956)+3) );
if ((tc←v20044 >= noName←c48856)) {
goto lab←L100157;
};
lab←L100160: ;
{
W2 charRunEntry←v20088;
word charInfoRun←v20116;
W12 cdr←v20144;
word delta←v20172;
word i←v20200 = 0;
SOURCE(26891, 41)
{
word limit300;
charRunEntry←v20088 = (* (( (W2Pt) (( (ptr) charRuns←v19956)+4))+(
limit300 = (* (( (ptr) charRuns←v19956)+3) ),
BCK(tc←v20044, limit300)
)) );
};
SOURCE(26934, 77)
{
word var←c48888;
var←c48888 = (* (( (ptr) data←v9076)+13) );
{
word idx301;
word limit302;
charInfoRun←v20116 = (* ((( (ptr) var←c48888)+1)+(
/*1*/ idx301 = (word) charRunEntry←v20088.f1,
/*1*/ limit302 = (* (ptr) var←c48888 ),
/*1*/ BCK(idx301, limit302)
/*1*/ )) );
};
};
SOURCE(27013, 323)
{
word var←c48952;
var←c48952 = (* (( (ptr) data←v9076)+10) );
{
word idx303;
word limit304;
(* (ptr) &cdr←v20144 ) = (* ((( (ptr) var←c48952)+1)+(
/*1*/ idx303 = (word) charRunEntry←v20088.f0,
/*1*/ limit304 = (* (ptr) var←c48952 ),
/*1*/ BCK(idx303, limit304)
/*1*/ )) );
};
};
{
word var←c48984;
var←c48984 = (* (( (ptr) data←v9076)+9) );
{
word limit305;
(* (( (ptr) &cdr←v20144)+1) ) = (* ((( (ptr) var←c48984)+1)+(
/*1*/ limit305 = (* (ptr) var←c48984 ),
/*1*/ BCK(tc←v20044, limit305)
/*1*/ )) );
};
};
(* (( (ptr) &cdr←v20144)+2) ) = (* (ptr) charInfoRun←v20116 );
(* (( (ptr) &cdr←v20144)+3) ) = (* (( (ptr) charInfoRun←v20116)+1) );
(* (( (ptr) &cdr←v20144)+4) ) = (* (ptr) &fc82 );
(* (( (ptr) &cdr←v20144)+5) ) = (* (ptr) &fc82 );
(* (( (ptr) &cdr←v20144)+6) ) = (* (ptr) &fc82 );
(* (( (ptr) &cdr←v20144)+7) ) = (* (ptr) &fc82 );
(* (( (ptr) &cdr←v20144)+8) ) = (* (ptr) &fc82 );
(* (( (ptr) &cdr←v20144)+9) ) = (* (ptr) &fc82 );
{
word var←c49016;
var←c49016 = (* (( (ptr) data←v9076)+11) );
{
word idx306;
word limit307;
(* (( (ptr) &cdr←v20144)+10) ) = (* ((( (ptr) var←c49016)+1)+(
/*1*/ idx306 = (* (( (ptr) charInfoRun←v20116)+2) ),
/*1*/ limit307 = (* (ptr) var←c49016 ),
/*1*/ BCK(idx306, limit307)
/*1*/ )) );
};
};
(* (( (ptr) &cdr←v20144)+11) ) = 0;
SOURCE(27338, 50)
delta←v20172 = ( ((* (( (ptr) charInfoRun←v20116)+3) ) == 1) ? 0 : 1 ) ;
SOURCE(27402, 744)
{
register word code←v20244;
register word noName←c49048;
code←v20244 = (* (( (ptr) charRuns←v19956)+1) );
noName←c49048 = (* (( (ptr) charRuns←v19956)+2) );
if ((code←v20244 > noName←c49048)) {
goto lab←L100161;
};
lab←L100164: ;
SOURCE(27450, 625)
{
W3 var←c49080;
{
word limit308;
var←c49080 = (* (( (W3Pt) (( (ptr) charInfoRun←v20116)+4))+(
/*1*/ limit308 = (* (( (ptr) charInfoRun←v20116)+3) ),
/*1*/ BCK(i←v20200, limit308)
/*1*/ )) );
};
{
word var←c49336;
var←c49336 = var←c49080.f0;
if ((var←c49336 == 0)) {
/*1*/ {
/*1*/ W3 info←v20288;
/*1*/ info←v20288 = var←c49080;
SOURCE(27508, 59)
/*1*/ {
/*1*/ word var←c49112;
/*1*/ var←c49112 = (* (( (ptr) data←v9076)+8) );
/*1*/ {
/*1*/ word idx309;
/*1*/ word limit310;
/*1*/ (* (( (ptr) &cdr←v20144)+4) ) = (* ((( (ptr) var←c49112)+1)+(
/*1*/ idx309 = (word) (unsigned) (* (( (bPt) &info←v20288)+8) ),
/*1*/ limit310 = (* (ptr) var←c49112 ),
/*1*/ BCK(idx309, limit310)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27569, 59)
/*1*/ {
/*1*/ word var←c49144;
/*1*/ var←c49144 = (* (( (ptr) data←v9076)+8) );
/*1*/ {
/*1*/ word idx311;
/*1*/ word limit312;
/*1*/ (* (( (ptr) &cdr←v20144)+5) ) = (* ((( (ptr) var←c49144)+1)+(
/*1*/ idx311 = (word) ( (((unsigned)(* (( (ptr) &info←v20288)+2) ) << 8) >> 8) ),
/*1*/ limit312 = (* (ptr) var←c49144 ),
/*1*/ BCK(idx311, limit312)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27630, 64)
/*1*/ {
/*1*/ word var←c49176;
/*1*/ var←c49176 = (* (( (ptr) data←v9076)+4) );
/*1*/ {
/*1*/ word idx313;
/*1*/ word limit314;
/*1*/ (* (( (ptr) &cdr←v20144)+6) ) = (* ((( (ptr) var←c49176)+1)+(
/*1*/ idx313 = (word) (unsigned) (* (( (bPt) &info←v20288)+4) ),
/*1*/ limit314 = (* (ptr) var←c49176 ),
/*1*/ BCK(idx313, limit314)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27696, 67)
/*1*/ {
/*1*/ word var←c49208;
/*1*/ var←c49208 = (* (( (ptr) data←v9076)+5) );
/*1*/ {
/*1*/ word idx315;
/*1*/ word limit316;
/*1*/ (* (( (ptr) &cdr←v20144)+7) ) = (* ((( (ptr) var←c49208)+1)+(
/*1*/ idx315 = (word) (unsigned) (* (( (bPt) &info←v20288)+5) ),
/*1*/ limit316 = (* (ptr) var←c49208 ),
/*1*/ BCK(idx315, limit316)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27765, 55)
/*1*/ {
/*1*/ word var←c49240;
/*1*/ var←c49240 = (* (( (ptr) data←v9076)+6) );
/*1*/ {
/*1*/ word idx317;
/*1*/ word limit318;
/*1*/ (* (( (ptr) &cdr←v20144)+8) ) = (* ((( (ptr) var←c49240)+1)+(
/*1*/ idx317 = (word) (unsigned) (* (( (bPt) &info←v20288)+6) ),
/*1*/ limit318 = (* (ptr) var←c49240 ),
/*1*/ BCK(idx317, limit318)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27822, 52)
/*1*/ {
/*1*/ word var←c49272;
/*1*/ var←c49272 = (* (( (ptr) data←v9076)+7) );
/*1*/ {
/*1*/ word idx319;
/*1*/ word limit320;
/*1*/ (* (( (ptr) &cdr←v20144)+9) ) = (* ((( (ptr) var←c49272)+1)+(
/*1*/ idx319 = (word) (unsigned) (* (( (bPt) &info←v20288)+7) ),
/*1*/ limit320 = (* (ptr) var←c49272 ),
/*1*/ BCK(idx319, limit320)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27876, 18)
/*1*/ (* (( (ptr) &cdr←v20144)+11) ) = 0;
/*1*/ };
/*1*/ }
else {
/*1*/ if ((var←c49336 == 1)) {
/*1*/ {
/*1*/ W2 info←v20332;
/*1*/ info←v20332 = (* (W2Pt) &var←c49080 );
SOURCE(27925, 152)
/*1*/ {
/*1*/ word v←v20376;
SOURCE(27927, 65)
/*1*/ {
/*1*/ word var←c49304;
/*1*/ var←c49304 = (* (( (ptr) data←v9076)+12) );
/*1*/ {
/*1*/ word idx321;
/*1*/ word limit322;
/*1*/ v←v20376 = (* ((( (ptr) var←c49304)+1)+(
/*1*/ idx321 = (word) info←v20332.f1,
/*1*/ limit322 = (* (ptr) var←c49304 ),
/*1*/ BCK(idx321, limit322)
/*1*/ )) );
/*1*/ };
/*1*/ };
SOURCE(27994, 29)
/*1*/ (* (W2Pt) (( (ptr) &cdr←v20144)+4) ) = (* (W2Pt) (( (ptr) v←v20376)+4) );
SOURCE(28025, 23)
/*1*/ (* (W4Pt) (( (ptr) &cdr←v20144)+6) ) = (* (W4Pt) v←v20376 );
SOURCE(28050, 25)
/*1*/ (* (( (ptr) &cdr←v20144)+11) ) = (* (( (ptr) v←v20376)+6) );
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(28091, 5)
/*1*/ (void) XR←RaiseUnnamedError();
/*1*/ };
/*1*/ };
};
};
SOURCE(28098, 33)
(void) Insert←P180(fdTable←v19868, (offset←v20000 + code←v20244), cdr←v20144);
SOURCE(28133, 13)
i←v20200 = SGNCK((i←v20200 + delta←v20172));
if ((code←v20244 >= noName←c49048)) {
goto lab←L100161;
};
code←v20244 = (code←v20244 + 1);
goto lab←L100164;
lab←L100161: ;
};
};
tc←v20044 = (tc←v20044 + 1);
if ((tc←v20044 < noName←c48856)) {
goto lab←L100160;
};
lab←L100157: ;
};
};
charRuns←v19956 = (* (ptr) charRuns←v19956 );
goto lab←L100156;
lab←L100153: ;
};
if ((set←v19912 >= 255)) {
goto lab←L100149;
};
set←v19912 = (set←v19912 + 1);
goto lab←L100152;
lab←L100149: ;
};
SOURCE(28184, 17)
return(fdTable←v19868);
}
static void Write←P2040(fdTable←v9180, filename←v9208)
word fdTable←v9180;
word filename←v9208;
{
/* Write: */
SOURCE(28204, 164)
SOURCE(28267, 21)
(void) Canonicalize←P1680(fdTable←v9180);
SOURCE(28290, 78)
{
word var←c49368;
var←c49368 = (word) FDTypefaceDataFromCanonicalizedFDTable←P960(fdTable←v9180);
(void) WriteFDTypefaceData←P2100(var←c49368, filename←v9208);
};
}
static void WriteFDTypefaceData←P2100(data←v9268, filename←v9296)
word data←v9268;
word filename←v9296;
{
register ptr gf←c52952 = (ptr) &globalframe;
word stream←v20420;
/* WriteFDTypefaceData: */
SOURCE(28374, 213)
SOURCE(28462, 64)
{
word pd323;
pd323 = (* (( (ptr) (* (( (ptr) gf←c52952)+160)/* var←c48760 */ ))+18) );
stream←v20420 = (word) ( *( (fPt) ((* (ptr) pd323 ))))(filename←v9296, pd323);
};
SOURCE(28528, 41)
(void) WriteFDTypefaceDataToStream←P2160(data←v9268, stream←v20420);
SOURCE(28571, 16)
{
word pd324;
pd324 = (* (( (ptr) (* (( (ptr) gf←c52952)+162)/* var←c48824 */ ))+28) );
(void) ( *( (fPt) ((* (ptr) pd324 ))))(stream←v20420, 0, pd324);
};
}
static void WriteFDTypefaceDataToStream←P2160(data←v9356, stream←v9384)
word data←v9356;
word stream←v9384;
{
word nSets←v20464 = 0;
/* WriteFDTypefaceDataToStream: */
SOURCE(28593, 1030)
SOURCE(28679, 27)
(void) PutCARD32←P3120(stream←v9384, 436038147);
SOURCE(28723, 36)
(void) PutExtents←P2220(stream←v9384, (* (W4Pt) data←v9356 ));
SOURCE(28774, 42)
(void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+4) ));
SOURCE(28818, 43)
(void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+5) ));
SOURCE(28863, 39)
(void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+6) ));
SOURCE(28904, 38)
(void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+7) ));
SOURCE(28944, 42)
(void) PutRealSeq←P2280(stream←v9384, (* (( (ptr) data←v9356)+8) ));
SOURCE(28988, 62)
(void) PutTransformationSeq←P2340(stream←v9384, (* (( (ptr) data←v9356)+9) ));
SOURCE(29052, 48)
(void) PutTypefaceCellSeq←P2460(stream←v9384, (* (( (ptr) data←v9356)+10) ));
SOURCE(29102, 59)
(void) PutTransformationSeq←P2340(stream←v9384, (* (( (ptr) data←v9356)+11) ));
SOURCE(29163, 46)
(void) PutCharInfoRunSeq←P2520(stream←v9384, (* (( (ptr) data←v9356)+13) ));
SOURCE(29211, 56)
(void) PutOverflowCharInfoSeq←P2640(stream←v9384, (* (( (ptr) data←v9356)+12) ));
SOURCE(29269, 34)
(void) PutPropList←P2820(stream←v9384, (* (( (ptr) data←v9356)+14) ));
SOURCE(29305, 108)
{
register word c←v20508 = 0;
lab←L100168: ;
{
word charRuns←v20552;
SOURCE(29334, 37)
charRuns←v20552 = (* ((( (ptr) data←v9356)+16)+c←v20508) );
SOURCE(29373, 40)
if ((charRuns←v20552 != 0)) {
SOURCE(29398, 15)
nSets←v20464 = (nSets←v20464 + 1);
};
};
if ((c←v20508 >= 255)) {
goto lab←L100165;
};
c←v20508 = (c←v20508 + 1);
goto lab←L100168;
lab←L100165: ;
};
SOURCE(29427, 23)
(void) PutCount←P3240(stream←v9384, nSets←v20464);
SOURCE(29452, 171)
{
register word c←v20596 = 0;
lab←L100172: ;
{
word charRuns←v20640;
SOURCE(29481, 37)
charRuns←v20640 = (* ((( (ptr) data←v9356)+16)+c←v20596) );
SOURCE(29520, 103)
if ((charRuns←v20640 != 0)) {
SOURCE(29545, 19)
(void) PutCount←P3240(stream←v9384, c←v20596);
SOURCE(29581, 29)
(void) PutCharRuns←P2940(stream←v9384, charRuns←v20640);
};
};
if ((c←v20596 >= 255)) {
goto lab←L100169;
};
c←v20596 = (c←v20596 + 1);
goto lab←L100172;
lab←L100169: ;
};
}
static void PutExtents←P2220(stream←v9444, extents←v9472)
word stream←v9444;
W4 extents←v9472;
{
/* PutExtents: */
SOURCE(29641, 209)
SOURCE(29710, 35)
(void) PutREAL←P3480(stream←v9444, extents←v9472.f0);
SOURCE(29747, 36)
(void) PutREAL←P3480(stream←v9444, extents←v9472.f1);
SOURCE(29785, 32)
(void) PutREAL←P3480(stream←v9444, extents←v9472.f2);
SOURCE(29819, 31)
(void) PutREAL←P3480(stream←v9444, extents←v9472.f3);
}
static void PutRealSeq←P2280(stream←v9532, s←v9560)
word stream←v9532;
word s←v9560;
{
/* PutRealSeq: */
SOURCE(29856, 157)
SOURCE(29909, 24)
(void) PutCount←P3240(stream←v9532, (* (ptr) s←v9560 ));
SOURCE(29935, 78)
{
register word i←v20684 = 0;
register word noName←c49400;
noName←c49400 = (* (ptr) s←v9560 );
if ((i←v20684 >= noName←c49400)) {
goto lab←L100173;
};
lab←L100176: ;
SOURCE(29979, 21)
{
word limit325;
(void) PutREAL←P3480(stream←v9532, (* ((( (ptr) s←v9560)+1)+(
limit325 = (* (ptr) s←v9560 ),
BCK(i←v20684, limit325)
)) ));
};
i←v20684 = (i←v20684 + 1);
if ((i←v20684 < noName←c49400)) {
goto lab←L100176;
};
lab←L100173: ;
};
}
static void PutTransformationSeq←P2340(stream←v9620, s←v9648)
word stream←v9620;
word s←v9648;
{
/* PutTransformationSeq: */
SOURCE(30028, 187)
SOURCE(30101, 24)
(void) PutCount←P3240(stream←v9620, (* (ptr) s←v9648 ));
SOURCE(30127, 88)
{
register word i←v20728 = 0;
register word noName←c49432;
noName←c49432 = (* (ptr) s←v9648 );
if ((i←v20728 >= noName←c49432)) {
goto lab←L100177;
};
lab←L100180: ;
SOURCE(30171, 31)
{
word limit326;
(void) PutTransformation←P2400(stream←v9620, (* ((( (ptr) s←v9648)+1)+(
limit326 = (* (ptr) s←v9648 ),
BCK(i←v20728, limit326)
)) ));
};
i←v20728 = (i←v20728 + 1);
if ((i←v20728 < noName←c49432)) {
goto lab←L100180;
};
lab←L100177: ;
};
}
static void PutTransformation←P2400(stream←v9708, m←v9736)
word stream←v9708;
word m←v9736;
{
/* PutTransformation: */
SOURCE(30230, 261)
SOURCE(30297, 194)
if ((m←v9736 == 0)) {
SOURCE(30313, 25)
(void) PutCount←P3240(stream←v9708, 0);
}
else {
SOURCE(30340, 19)
(void) PutCount←P3240(stream←v9708, 6);
SOURCE(30361, 20)
(void) PutREAL←P3480(stream←v9708, (* (ptr) m←v9736 ));
SOURCE(30383, 20)
(void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+1) ));
SOURCE(30405, 20)
(void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+2) ));
SOURCE(30427, 20)
(void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+3) ));
SOURCE(30449, 20)
(void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+4) ));
SOURCE(30471, 20)
(void) PutREAL←P3480(stream←v9708, (* (( (ptr) m←v9736)+5) ));
};
}
static void PutTypefaceCellSeq←P2460(stream←v9796, s←v9824)
word stream←v9796;
word s←v9824;
{
/* PutTypefaceCellSeq: */
SOURCE(30500, 181)
SOURCE(30569, 24)
(void) PutCount←P3240(stream←v9796, (* (ptr) s←v9824 ));
SOURCE(30595, 86)
{
register word i←v20772 = 0;
register word noName←c49464;
noName←c49464 = (* (ptr) s←v9824 );
if ((i←v20772 >= noName←c49464)) {
goto lab←L100181;
};
lab←L100184: ;
SOURCE(30639, 29)
{
word limit327;
(void) PutTypefaceCell←P2580(stream←v9796, (* ((( (ptr) s←v9824)+1)+(
limit327 = (* (ptr) s←v9824 ),
BCK(i←v20772, limit327)
)) ));
};
i←v20772 = (i←v20772 + 1);
if ((i←v20772 < noName←c49464)) {
goto lab←L100184;
};
lab←L100181: ;
};
}
static void PutCharInfoRunSeq←P2520(stream←v9884, s←v9912)
word stream←v9884;
word s←v9912;
{
/* PutCharInfoRunSeq: */
SOURCE(30696, 178)
SOURCE(30763, 24)
(void) PutCount←P3240(stream←v9884, (* (ptr) s←v9912 ));
SOURCE(30789, 85)
{
register word i←v20816 = 0;
register word noName←c49496;
noName←c49496 = (* (ptr) s←v9912 );
if ((i←v20816 >= noName←c49496)) {
goto lab←L100185;
};
lab←L100188: ;
SOURCE(30833, 28)
{
word limit328;
(void) PutCharInfoRun←P2880(stream←v9884, (* ((( (ptr) s←v9912)+1)+(
limit328 = (* (ptr) s←v9912 ),
BCK(i←v20816, limit328)
)) ));
};
i←v20816 = (i←v20816 + 1);
if ((i←v20816 < noName←c49496)) {
goto lab←L100188;
};
lab←L100185: ;
};
}
static void PutTypefaceCell←P2580(stream←v9972, s←v10000)
word stream←v9972;
word s←v10000;
{
register ptr gf←c52984 = (ptr) &globalframe;
/* PutTypefaceCell: */
SOURCE(30889, 185)
SOURCE(30952, 41)
(void) PutCARD32←P3120(stream←v9972, (* (( (ptr) s←v10000)+2) ));
SOURCE(30995, 33)
(void) PutIdentifier←P3300(stream←v9972, (* (ptr) s←v10000 ));
SOURCE(31030, 44)
{
word var←c49528;
{
word pd329;
pd329 = (* (( (ptr) (* (( (ptr) gf←c52984)+163)/* var←c49560 */ ))+9) );
var←c49528 = (word) ( *( (fPt) ((* (ptr) pd329 ))))((* ((( (ptr) s←v10000)+3)) ), pd329);
};
(void) PutIdentifier←P3300(stream←v9972, var←c49528);
};
}
static void PutOverflowCharInfoSeq←P2640(stream←v10060, s←v10088)
word stream←v10060;
word s←v10088;
{
/* PutOverflowCharInfoSeq: */
SOURCE(31080, 192)
SOURCE(31157, 24)
(void) PutCount←P3240(stream←v10060, (* (ptr) s←v10088 ));
SOURCE(31183, 89)
{
register word i←v20860 = 0;
register word noName←c49592;
noName←c49592 = (* (ptr) s←v10088 );
if ((i←v20860 >= noName←c49592)) {
goto lab←L100189;
};
lab←L100192: ;
SOURCE(31227, 32)
{
word limit330;
(void) PutVerboseCharInfo←P2700(stream←v10060, (* ((( (ptr) s←v10088)+1)+(
limit330 = (* (ptr) s←v10088 ),
BCK(i←v20860, limit330)
)) ));
};
i←v20860 = (i←v20860 + 1);
if ((i←v20860 < noName←c49592)) {
goto lab←L100192;
};
lab←L100189: ;
};
}
static void PutVerboseCharInfo←P2700(stream←v10148, s←v10176)
word stream←v10148;
word s←v10176;
{
/* PutVerboseCharInfo: */
SOURCE(31287, 161)
SOURCE(31356, 29)
(void) PutExtents←P2220(stream←v10148, (* (W4Pt) s←v10176 ));
SOURCE(31387, 28)
(void) PutVEC←P2760(stream←v10148, (* (W2Pt) (( (ptr) s←v10176)+4) ));
SOURCE(31417, 31)
(void) PutPropList←P2820(stream←v10148, (* (( (ptr) s←v10176)+6) ));
}
static void PutVEC←P2760(stream←v10236, v←v10264)
word stream←v10236;
W2 v←v10264;
{
/* PutVEC: */
SOURCE(31454, 95)
SOURCE(31507, 20)
(void) PutREAL←P3480(stream←v10236, v←v10264.f0);
SOURCE(31529, 20)
(void) PutREAL←P3480(stream←v10236, v←v10264.f1);
}
static void PutPropList←P2820(stream←v10324, props←v10352)
word stream←v10324;
word props←v10352;
{
/* PutPropList: */
SOURCE(31555, 109)
SOURCE(31619, 45)
if ((props←v10352 == 0)) {
SOURCE(31639, 25)
(void) PutCount←P3240(stream←v10324, 0);
}
else {
SOURCE(31664, 5)
(void) XR←RaiseUnnamedError();
};
}
static void PutCharInfoRun←P2880(stream←v10412, charInfoRun←v10440)
word stream←v10412;
word charInfoRun←v10440;
{
/* PutCharInfoRun: */
SOURCE(31692, 806)
SOURCE(31763, 43)
(void) PutInteger←P3360(stream←v10412, (* (ptr) charInfoRun←v10440 ));
SOURCE(31808, 83)
(void) PutBYTE←P3180(stream←v10412, (((word) ( (((unsigned)(* (( (ptr) charInfoRun←v10440)+1) ) << 1) >> 1) ) << 1) + (unsigned) (*((int*)charInfoRun←v10440 + 1)<0)))
;
SOURCE(31893, 43)
(void) PutCount←P3240(stream←v10412, (* (( (ptr) charInfoRun←v10440)+2) ));
SOURCE(31938, 34)
(void) PutCount←P3240(stream←v10412, (* (( (ptr) charInfoRun←v10440)+3) ));
SOURCE(31974, 524)
{
register word i←v20904 = 0;
register word noName←c49624;
noName←c49624 = (* (( (ptr) charInfoRun←v10440)+3) );
if ((i←v20904 >= noName←c49624)) {
goto lab←L100193;
};
lab←L100196: ;
SOURCE(32028, 436)
{
W3 var←c49656;
{
word limit331;
var←c49656 = (* (( (W3Pt) (( (ptr) charInfoRun←v10440)+4))+(
limit331 = (* (( (ptr) charInfoRun←v10440)+3) ),
BCK(i←v20904, limit331)
)) );
};
{
word var←c49688;
var←c49688 = var←c49656.f0;
if ((var←c49688 == 0)) {
{
W3 info←v20948;
info←v20948 = var←c49656;
SOURCE(32086, 32)
(void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+4) ));
SOURCE(32167, 33)
(void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+5) ));
SOURCE(32202, 29)
(void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+6) ));
SOURCE(32233, 28)
(void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+7) ));
SOURCE(32263, 33)
(void) PutBYTE←P3180(stream←v10412, (unsigned) (* (( (bPt) &info←v20948)+8) ));
SOURCE(32298, 33)
(void) PutBYTE←P3180(stream←v10412, ( (((unsigned)(* (( (ptr) &info←v20948)+2) ) << 8) >> 8) ));
};
}
else {
if ((var←c49688 == 1)) {
{
W2 info←v20992;
info←v20992 = (* (W2Pt) &var←c49656 );
SOURCE(32364, 20)
(void) PutBYTE←P3180(stream←v10412, 255);
SOURCE(32428, 36)
(void) PutCount←P3240(stream←v10412, info←v20992.f1);
};
}
else {
SOURCE(32480, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
i←v20904 = (i←v20904 + 1);
if ((i←v20904 < noName←c49624)) {
goto lab←L100196;
};
lab←L100193: ;
};
}
static void PutCharRuns←P2940(stream←v10500, charRuns←v10528)
word stream←v10500;
word charRuns←v10528;
{
word count←v21036 = 0;
/* PutCharRuns: */
SOURCE(32513, 532)
SOURCE(32592, 78)
{
register word tail←v21080;
tail←v21080 = charRuns←v10528;
lab←L100200: ;
if ((tail←v21080 != 0)) {
}
else {
goto lab←L100197;
};
SOURCE(32653, 17)
count←v21036 = (count←v21036 + 1);
tail←v21080 = (* (ptr) tail←v21080 );
goto lab←L100200;
lab←L100197: ;
};
SOURCE(32681, 23)
(void) PutCount←P3240(stream←v10500, count←v21036);
SOURCE(32706, 339)
{
register word this←v21124;
this←v21124 = charRuns←v10528;
lab←L100204: ;
if ((this←v21124 != 0)) {
}
else {
goto lab←L100201;
};
SOURCE(32782, 24)
(void) PutBYTE←P3180(stream←v10500, (* (( (ptr) this←v21124)+1) ));
SOURCE(32808, 24)
(void) PutBYTE←P3180(stream←v10500, (* (( (ptr) this←v21124)+2) ));
SOURCE(32834, 189)
{
register word i←v21168 = 0;
register word noName←c49720;
noName←c49720 = (* (( (ptr) this←v21124)+3) );
if ((i←v21168 >= noName←c49720)) {
goto lab←L100205;
};
lab←L100208: ;
{
W2 charRunEntry←v21212;
SOURCE(32864, 36)
{
word limit332;
charRunEntry←v21212 = (* (( (W2Pt) (( (ptr) this←v21124)+4))+(
limit332 = (* (( (ptr) this←v21124)+3) ),
BCK(i←v21168, limit332)
)) );
};
SOURCE(32917, 44)
(void) PutCount←P3240(stream←v10500, charRunEntry←v21212.f0);
SOURCE(32963, 47)
(void) PutCount←P3240(stream←v10500, charRunEntry←v21212.f1);
};
i←v21168 = (i←v21168 + 1);
if ((i←v21168 < noName←c49720)) {
goto lab←L100208;
};
lab←L100205: ;
};
this←v21124 = (* (ptr) this←v21124 );
goto lab←L100204;
lab←L100201: ;
};
}
static void PutCARD32←P3120(stream←v10708, card←v10736)
word stream←v10708;
word card←v10736;
{
register ptr gf←c53016 = (ptr) &globalframe;
word ln←v21256;
/* PutCARD32: */
SOURCE(33149, 196)
SOURCE(33203, 34)
ln←v21256 = card←v10736;
SOURCE(33239, 25)
{
word pd333;
pd333 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd333 ))))(stream←v10708, (unsigned) ((unsigned)ln←v21256 >> 24), pd333);
};
SOURCE(33266, 25)
{
word pd334;
pd334 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd334 ))))(stream←v10708, (unsigned) (((unsigned)ln←v21256 << 8) >> 24), pd334);
};
SOURCE(33293, 25)
{
word pd335;
pd335 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd335 ))))(stream←v10708, (unsigned) (((unsigned)ln←v21256 << 16) >> 24), pd335);
};
SOURCE(33320, 25)
{
word pd336;
pd336 = (* (( (ptr) (* (( (ptr) gf←c53016)+162)/* var←c48824 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd336 ))))(stream←v10708, (unsigned) (ln←v21256 & 0377), pd336);
};
}
static void PutBYTE←P3180(stream←v10796, byte←v10824)
word stream←v10796;
word byte←v10824;
{
register ptr gf←c53048 = (ptr) &globalframe;
/* PutBYTE: */
SOURCE(33351, 74)
SOURCE(33401, 24)
{
word pd337;
pd337 = (* (( (ptr) (* (( (ptr) gf←c53048)+162)/* var←c48824 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd337 ))))(stream←v10796, byte←v10824, pd337);
};
}
static void PutCount←P3240(stream←v10884, count←v10912)
word stream←v10884;
word count←v10912;
{
register ptr gf←c53080 = (ptr) &globalframe;
W5 c←v21300;
word k←v21328 = 0;
word i←v21356;
/* PutCount: */
SOURCE(33431, 264)
SOURCE(33483, 32)
XR←FillWords(&c←v21300, 5, 0);
SOURCE(33529, 15)
i←v21356 = count←v10912;
SOURCE(33546, 67)
lab←L100211: ;
SOURCE(33549, 24)
(* (( (ptr) &c←v21300)+BCK(k←v21328, 5)) ) = ((i←v21356 & 0177) + 128);
SOURCE(33575, 9)
k←v21328 = (k←v21328 + 1);
SOURCE(33586, 11)
i←v21356 = ((word) i←v21356 >> 7);
SOURCE(33599, 14)
if ((i←v21356 == 0)) {
SOURCE(33613, 4)
goto lab←L100210;
};
goto lab←L100211;
lab←L100210: ;
SOURCE(33628, 15)
{
word idx338;
c←v21300.f0 = (
idx338 = (word) (c←v21300.f0 - 128),
BCK(idx338, 256)
);
};
SOURCE(33645, 50)
lab←L100214: ;
if ((k←v21328 != 0)) {
}
else {
goto lab←L100212;
};
SOURCE(33660, 9)
k←v21328 = SGNCK((k←v21328 - 1));
SOURCE(33671, 24)
{
word byte←v41276;
byte←v41276 = (* (( (ptr) &c←v21300)+BCK(k←v21328, 5)) );
{
word pd339;
pd339 = (* (( (ptr) (* (( (ptr) gf←c53080)+162)/* var←c48824 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd339 ))))(stream←v10884, byte←v41276, pd339);
};
};
goto lab←L100214;
lab←L100212: ;
}
static void PutIdentifier←P3300(stream←v10972, s←v11000)
word stream←v10972;
word s←v11000;
{
register ptr gf←c53112 = (ptr) &globalframe;
/* PutIdentifier: */
SOURCE(33710, 106)
SOURCE(33763, 30)
{
word var←c49816;
{
word pd340;
word idx341;
pd340 = (* (( (ptr) (* (( (ptr) gf←c53112)+164)/* var←c49848 */ ))+15) );
var←c49816 = (
idx341 = (word) ( *( (fPt) ((* (ptr) pd340 ))))(s←v11000, pd340),
SGNCK(idx341)
);
};
(void) PutCount←P3240(stream←v10972, var←c49816);
};
SOURCE(33795, 21)
{
word pd342;
pd342 = (* (( (ptr) (* (( (ptr) gf←c53112)+162)/* var←c48824 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd342 ))))(stream←v10972, s←v11000, 0, 2147483647, pd342);
};
}
static void PutInteger←P3360(stream←v11060, int←v11088)
word stream←v11060;
word int←v11088;
{
/* PutInteger: */
SOURCE(33822, 122)
SOURCE(33873, 71)
{
word idx343;
(void) PutCount←P3240(stream←v11060, ( ( (int)int←v11088 < (int)0) ? (((word) (
idx343 = (word) INEG(int←v11088),
SGNCK(idx343)
) << 1) - 1) : ((word) SGNCK(int←v11088) << 1) ) );
};
}
static void PutREAL←P3480(stream←v11208, real←v11236)
word stream←v11208;
word real←v11236;
{
register ptr gf←c53144 = (ptr) &globalframe;
word neg←v21520;
word exponent←v21548 = 0;
word significand←v21576;
/* PutREAL: */
SOURCE(34230, 442)
SOURCE(34280, 20)
{
word x344;
word x345;
neg←v21520 = (unsigned) ((
x344 = real←v11236, *(float*)&x344
) < (
x345 = (* (ptr) &fc82 ), *(float*)&x345
));
};
SOURCE(34339, 16)
{
float tf346;
word x347;
float tf348;
real←v11236 = (
tf348 = FABS((
x347 = real←v11236, *(float*)&x347
), tf346), *(word*)&tf348
);
};
SOURCE(34357, 91)
lab←L100217: ;
{
word x349;
word x350;
if (((
x349 = real←v11236, *(float*)&x349
) > (
x350 = (* (( (ptr) gf←c53144)+8)/* largestFlonumFraction←v5296 */ ), *(float*)&x350
))) {
}
else {
goto lab←L100215;
};
};
SOURCE(34395, 28)
{
word pd351;
pd351 = (* (( (ptr) (* (( (ptr) gf←c53144)+155)/* var←c43352 */ ))+4) );
real←v11236 = (word) ( *( (fPt) ((* (ptr) pd351 ))))(real←v11236, (word) -1, pd351);
};
SOURCE(34425, 23)
exponent←v21548 = (exponent←v21548 + 1);
goto lab←L100217;
lab←L100215: ;
SOURCE(34459, 101)
{
word var←c0795;
lab←L100220: ;
{
word x354;
word x355;
{
word pd352;
pd352 = (* (( (ptr) (* (( (ptr) gf←c53144)+155)/* var←c43352 */ ))+6) );
significand←v21576 = (word) ( *( (fPt) ((* (ptr) pd352 ))))(real←v11236, pd352);
};
{
float tf353;
var←c0795 = (
tf353 = (float)(int)significand←v21576, *(word*)&tf353
);
};
if (((
x354 = real←v11236, *(float*)&x354
) != (
x355 = var←c0795, *(float*)&x355
))) {
}
else {
goto lab←L100218;
};
};
SOURCE(34508, 27)
{
word pd356;
pd356 = (* (( (ptr) (* (( (ptr) gf←c53144)+155)/* var←c43352 */ ))+4) );
real←v11236 = (word) ( *( (fPt) ((* (ptr) pd356 ))))(real←v11236, 1, pd356);
};
SOURCE(34537, 23)
exponent←v21548 = (exponent←v21548 - 1);
goto lab←L100220;
lab←L100218: ;
};
SOURCE(34571, 38)
if ((0 != neg←v21520)) {
SOURCE(34583, 26)
significand←v21576 = INEG(significand←v21576);
};
SOURCE(34611, 31)
(void) PutInteger←P3360(stream←v11208, significand←v21576);
SOURCE(34644, 28)
(void) PutInteger←P3360(stream←v11208, exponent←v21548);
}
static void NoName←Q9684(formal←c0696, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0696;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
if ((formal←c200001 == XR←Aborted)) {
SOURCE(25528, 8)
(* (ptr) formal←c0696 ) = 2;
(* (( (ptr) formal←c0696)+1) ) = 2;
return;
};
(* (ptr) formal←c0696 ) = 0;
(* (( (ptr) formal←c0696)+1) ) = 0;
return;
}
/* file: ImagerFDBuildImpl, module: ImagerFDBuildImpl, compiled at: July 28, 1993 10:17:44 am PDT */
extern void XR←install←ImagerFDBuildImpl() {
NoName←Q9564();
}
extern void XR←run←ImagerFDBuildImpl() { XR←Start(&globalframe); }