/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 19, 1993 1:02:25 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TJaMTypeImpl, module: TJaMTypeImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3821318880,1749321483] TJaMTypeImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
static float fc1 = -2147483648.0;
static float fc2 = 2147483647.0;
#define SOURCE(p, l) /* source p, l */
static float fc73 = 0.0;
static void NoName←Q4128();
static void TJaMTypeImpl←P0();
static word IntFromReal←P60();
static word IntFromNum←P120();
static word RealFromNum←P180();
static word IntFromAny←P240();
static word RealFromAny←P300();
static word NumberFromAny←P360();
static word AtomFromAny←P420();
static word RopeFromAny←P480();
static word StreamFromAny←P540();
static word CmdFromAny←P600();
static word ArrayFromAny←P660();
static word DictFromAny←P720();
static word MarkFromAny←P780();
static word Type←P840();
static word Length←P900();
static word Equal←P960();
static word CvX←P1020();
static word CvLit←P1080();
static word CvI←P1140();
static word CvR←P1200();
static void ApplyType←P1260();
static void ApplyLength←P1320();
static void ApplyCvLit←P1380();
static void ApplyCvX←P1440();
static void ApplyCvI←P1500();
static void ApplyCvR←P1560();
static void ApplyCommandName←P1620();
static struct {unsigned f; char r[20];} string3 = {1048596, "\205\257\300\243\004\305\073\300\011\303\367\103\100\214\216\251\000\000\000"};
static struct {unsigned f; char r[4];} string4 = {196611, "\004C\377"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string6 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string7 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string8 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\101\034\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\354\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\101\004\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\340\000\000"};
static struct {unsigned f; char r[4];} string14 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\112\064\000\000"};
static struct {unsigned f; char r[4];} string16 = {131074, "\004\037\000"};
static struct {unsigned f; char r[4];} string17 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\164\000\000"};
static struct {unsigned f; char r[4];} string19 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\230\000\000"};
static struct {unsigned f; char r[8];} string21 = {393224, ".other\000"};
static struct {unsigned f; char r[8];} string22 = {327688, ".mark\000\000"};
static struct {unsigned f; char r[8];} string23 = {327688, ".type\000\000"};
static struct {unsigned f; char r[8];} string24 = {458760, ".length"};
static struct {unsigned f; char r[8];} string25 = {393224, ".cvlit\000"};
static struct {unsigned f; char r[8];} string26 = {262152, ".cvx\000\000\000"};
static struct {unsigned f; char r[8];} string27 = {262152, ".cvi\000\000\000"};
static struct {unsigned f; char r[8];} string28 = {262152, ".cvr\000\000\000"};
static struct {unsigned f; char r[16];} string29 = {786448, ".commandname\000\000\000"};
static struct {unsigned f; char r[8];} string30 = {393224, ".array\000"};
static struct {unsigned f; char r[8];} string31 = {327688, ".dict\000\000"};
static struct {unsigned f; char r[8];} string32 = {262152, ".cmd\000\000\000"};
static struct {unsigned f; char r[8];} string33 = {458760, ".stream"};
static struct {unsigned f; char r[8];} string34 = {327688, ".rope\000\000"};
static struct {unsigned f; char r[8];} string35 = {327688, ".atom\000\000"};
static struct {unsigned f; char r[8];} string36 = {458760, ".number"};
static struct {unsigned f; char r[8];} string37 = {262152, ".nil\000\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\343\304\262\340\300\150\104\207\013\100\164\000\000"};
static struct {unsigned f; char r[12];} string39 = {720907, "\006\002\030\001\100\120\010\000\004\021\001"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[4];} string41 = {1414160717, "\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {
   word f0[98]; 
   } globalframe = {
   {0}
   };

static void NoName←Q4128()
   {
   register ptr gf←c0221 =  (ptr) &globalframe;
   word var←c21104;
   (* (( (ptr) gf←c0221)+4)/* firstInt←v2608 */  ) = (*  (ptr) &fc1 );
   (* (( (ptr) gf←c0221)+5)/* lastInt←v2636 */  ) = (*  (ptr) &fc2 );
   (* (( (ptr) gf←c0221)+91) ) = ( ((word)  (fPt) TJaMTypeImpl←P0) );
   (* (( (ptr) gf←c0221)+89) ) = ( ((word)  (fPt) IntFromReal←P60) );
   (* (( (ptr) gf←c0221)+87) ) = ( ((word)  (fPt) IntFromNum←P120) );
   (* (( (ptr) gf←c0221)+85) ) = ( ((word)  (fPt) RealFromNum←P180) );
   (* (( (ptr) gf←c0221)+83) ) = ( ((word)  (fPt) IntFromAny←P240) );
   (* (( (ptr) gf←c0221)+81) ) = ( ((word)  (fPt) RealFromAny←P300) );
   (* (( (ptr) gf←c0221)+79) ) = ( ((word)  (fPt) NumberFromAny←P360) );
   (* (( (ptr) gf←c0221)+77) ) = ( ((word)  (fPt) AtomFromAny←P420) );
   (* (( (ptr) gf←c0221)+75) ) = ( ((word)  (fPt) RopeFromAny←P480) );
   (* (( (ptr) gf←c0221)+73) ) = ( ((word)  (fPt) StreamFromAny←P540) );
   (* (( (ptr) gf←c0221)+71) ) = ( ((word)  (fPt) CmdFromAny←P600) );
   (* (( (ptr) gf←c0221)+69) ) = ( ((word)  (fPt) ArrayFromAny←P660) );
   (* (( (ptr) gf←c0221)+67) ) = ( ((word)  (fPt) DictFromAny←P720) );
   (* (( (ptr) gf←c0221)+65) ) = ( ((word)  (fPt) MarkFromAny←P780) );
   (* (( (ptr) gf←c0221)+63) ) = ( ((word)  (fPt) Type←P840) );
   (* (( (ptr) gf←c0221)+61) ) = ( ((word)  (fPt) Length←P900) );
   (* (( (ptr) gf←c0221)+59) ) = ( ((word)  (fPt) Equal←P960) );
   (* (( (ptr) gf←c0221)+57) ) = ( ((word)  (fPt) CvX←P1020) );
   (* (( (ptr) gf←c0221)+55) ) = ( ((word)  (fPt) CvLit←P1080) );
   (* (( (ptr) gf←c0221)+53) ) = ( ((word)  (fPt) CvI←P1140) );
   (* (( (ptr) gf←c0221)+51) ) = ( ((word)  (fPt) CvR←P1200) );
   (* (( (ptr) gf←c0221)+49) ) = ( ((word)  (fPt) ApplyType←P1260) );
   (* (( (ptr) gf←c0221)+47) ) = ( ((word)  (fPt) ApplyLength←P1320) );
   (* (( (ptr) gf←c0221)+45) ) = ( ((word)  (fPt) ApplyCvLit←P1380) );
   (* (( (ptr) gf←c0221)+43) ) = ( ((word)  (fPt) ApplyCvX←P1440) );
   (* (( (ptr) gf←c0221)+41) ) = ( ((word)  (fPt) ApplyCvI←P1500) );
   (* (( (ptr) gf←c0221)+39) ) = ( ((word)  (fPt) ApplyCvR←P1560) );
   (* (( (ptr) gf←c0221)+37) ) = ( ((word)  (fPt) ApplyCommandName←P1620) );
   (* (( (ptr) gf←c0221)+7) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0221)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0221)+10) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0221)+11) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0221)+12) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0221)+13) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string8);
   (* (( (ptr) gf←c0221)+14) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14);
   (* (( (ptr) gf←c0221)+15) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16);
   (* (( (ptr) gf←c0221)+16) ) = (word) XR←GetTypeIndexS((word) (&string17));
   (* (( (ptr) gf←c0221)+17) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19);
   (* (( (ptr) gf←c0221)+18) ) = (word) XR←GetTypeIndexS((word) (&string20));
   (*  (ptr) (( (bPt) gf←c0221)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0221)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0221)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0221)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0221)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0221)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0221)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0221)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0221)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0221)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0221)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0221)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0221)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0221)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0221)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0221)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0221)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0221)+10) ), (word) &string37);
   (void) XR←DeclareGlobalFrame((word) "TJaMTypeImpl", &globalframe, (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39)
      , (word) (( (bPt) gf←c0221)+364)/* var←c17968 */ );
   var←c21104 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string40)), 73);
   (* (( (ptr) gf←c0221)+96)/* var←c20720 */  ) = var←c21104;
   (void) XR←ImportProcS(var←c21104, 67373057);
   (void) XR←ImportProcS(var←c21104, 67634690);
   var←c21104 = (word) XR←ImportInterface((word) &string41, (word) XR←GetTypeIndexS((word) (&string42)), 101);
   (* (( (ptr) gf←c0221)+93)/* var←c18032 */  ) = var←c21104;
   (void) XR←ImportProcS(var←c21104, 67381505);
   (void) XR←ImportProcS(var←c21104, 530434);
   (void) XR←ImportProcS(var←c21104, 529666);
   (void) XR←ImportProcS(var←c21104, 530178);
   (void) XR←ImportProcS(var←c21104, 530946);
   (void) XR←ImportProcS(var←c21104, 67379457);
   (void) XR←ImportProcS(var←c21104, 67388417);
   (void) XR←ImportProcS(var←c21104, 285441);
   (void) XR←ImportProcS(var←c21104, 812035);
   (void) XR←ImportProcS(var←c21104, 67375617);
   var←c21104 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string43)), 43);
   (* (( (ptr) gf←c0221)+95)/* var←c19696 */  ) = var←c21104;
   (void) XR←ImportProcS(var←c21104, 67896323);
   (void) XR←ImportProcS(var←c21104, 67373569);
   var←c21104 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string44)), 11);
   (* (( (ptr) gf←c0221)+94)/* var←c18384 */  ) = var←c21104;
   (void) XR←ImportProcS(var←c21104, 67371521);
   var←c21104 = (word) XR←ExportInterface((word) &string41, (word) XR←GetTypeIndexS((word) (&string42)), 101);
   (* (( (ptr) gf←c0221)+97)/* var←c21136 */  ) = var←c21104;
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+236)/* var←c17456 */ , 67633410, (word) "Equal");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+244)/* var←c17488 */ , 67371521, (word) "Length");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+252)/* var←c17520 */ , 67371777, (word) "Type");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+356)/* var←c17936 */ , 67372033, (word) "IntFromReal");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+348)/* var←c17904 */ , 67634433, (word) "IntFromNum");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+340)/* var←c17872 */ , 67634689, (word) "RealFromNum");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+332)/* var←c17840 */ , 67372801, (word) "IntFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+324)/* var←c17808 */ , 67373057, (word) "RealFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+316)/* var←c17776 */ , 67373313, (word) "NumberFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+308)/* var←c17744 */ , 67373569, (word) "AtomFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+300)/* var←c17712 */ , 67373825, (word) "RopeFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+292)/* var←c17680 */ , 67374081, (word) "StreamFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+284)/* var←c17648 */ , 67374337, (word) "CmdFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+276)/* var←c17616 */ , 67374593, (word) "ArrayFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+268)/* var←c17584 */ , 67374849, (word) "DictFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+260)/* var←c17552 */ , 67375105, (word) "MarkFromAny");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+228)/* var←c17424 */ , 67375873, (word) "CvX");
   (void) XR←ExportProcS(var←c21104, (word) (( (bPt) gf←c0221)+220)/* var←c17392 */ , 67376129, (word) "CvLit");
   }

static void TJaMTypeImpl←P0(formal←c052, formal←c040)
   word formal←c052;
   word formal←c040;
   {
   register ptr gf←c21168 =  (ptr) &globalframe;
   /* TJaMTypeImpl: */ 
SOURCE(108, 6218)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(3126, 350)
   {
      word var←c18000;
      word var←c18064;
      word var←c18096;
      word var←c18128;
      word var←c18160;
      word var←c18192;
      word var←c18224;
      word var←c18256;
      word var←c18288;
      word var←c18320;
      word var←c18352;
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18000 = (word) ( *( (fPt) ((*  (ptr) pd45 ))))((* ((( (ptr) gf←c21168)+36)) ), pd45);
         };
      {
         word pd46;
         pd46 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18064 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* ((( (ptr) gf←c21168)+35)) ), pd46);
         };
      {
         word pd47;
         pd47 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18096 = (word) ( *( (fPt) ((*  (ptr) pd47 ))))((* ((( (ptr) gf←c21168)+34)) ), pd47);
         };
      {
         word pd48;
         pd48 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18128 = (word) ( *( (fPt) ((*  (ptr) pd48 ))))((* ((( (ptr) gf←c21168)+33)) ), pd48);
         };
      {
         word pd49;
         pd49 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18160 = (word) ( *( (fPt) ((*  (ptr) pd49 ))))((* ((( (ptr) gf←c21168)+32)) ), pd49);
         };
      {
         word pd50;
         pd50 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18192 = (word) ( *( (fPt) ((*  (ptr) pd50 ))))((* ((( (ptr) gf←c21168)+31)) ), pd50);
         };
      {
         word pd51;
         pd51 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18224 = (word) ( *( (fPt) ((*  (ptr) pd51 ))))((* ((( (ptr) gf←c21168)+30)) ), pd51);
         };
      {
         word pd52;
         pd52 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18256 = (word) ( *( (fPt) ((*  (ptr) pd52 ))))((* ((( (ptr) gf←c21168)+29)) ), pd52);
         };
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18288 = (word) ( *( (fPt) ((*  (ptr) pd53 ))))((* ((( (ptr) gf←c21168)+21)) ), pd53);
         };
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+22) );
         var←c18320 = (word) ( *( (fPt) ((*  (ptr) pd54 ))))((* ((( (ptr) gf←c21168)+20)) ), pd54);
         };
      var←c18352 = XR←NewObject(40, (* (( (ptr) gf←c21168)+7) ));
      (*  (ptr) var←c18352 ) = var←c18000;
      (* (( (ptr) var←c18352)+1) ) = var←c18064;
      (* (( (ptr) var←c18352)+2) ) = var←c18096;
      (* (( (ptr) var←c18352)+3) ) = var←c18128;
      (* (( (ptr) var←c18352)+4) ) = var←c18160;
      (* (( (ptr) var←c18352)+5) ) = var←c18192;
      (* (( (ptr) var←c18352)+6) ) = var←c18224;
      (* (( (ptr) var←c18352)+7) ) = var←c18256;
      (* (( (ptr) var←c18352)+8) ) = var←c18288;
      (* (( (ptr) var←c18352)+9) ) = var←c18320;
      (* (( (ptr) gf←c21168)+6)/* typeAtom←v3112 */  ) = var←c18352;
      };
SOURCE(6041, 37)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))((* (( (ptr) gf←c21168)+22) ), (word) (( (bPt) gf←c21168)+196)/* var←c17296 */ , 0, pd55)
      ;
      };
SOURCE(6080, 41)
   {
      word pd56;
      pd56 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd56 ))))((* (( (ptr) gf←c21168)+23) ), (word) (( (bPt) gf←c21168)+188)/* var←c17264 */ , 0, pd56)
      ;
      };
SOURCE(6123, 39)
   {
      word pd57;
      pd57 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) gf←c21168)+24) ), (word) (( (bPt) gf←c21168)+180)/* var←c17232 */ , 0, pd57)
      ;
      };
SOURCE(6164, 35)
   {
      word pd58;
      pd58 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd58 ))))((* (( (ptr) gf←c21168)+25) ), (word) (( (bPt) gf←c21168)+172)/* var←c17200 */ , 0, pd58)
      ;
      };
SOURCE(6201, 35)
   {
      word pd59;
      pd59 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd59 ))))((* (( (ptr) gf←c21168)+26) ), (word) (( (bPt) gf←c21168)+164)/* var←c17168 */ , 0, pd59)
      ;
      };
SOURCE(6238, 35)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) gf←c21168)+27) ), (word) (( (bPt) gf←c21168)+156)/* var←c17136 */ , 0, pd60)
      ;
      };
SOURCE(6275, 51)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c21168)+93)/* var←c18032 */  ))+104) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))((* (( (ptr) gf←c21168)+28) ), (word) (( (bPt) gf←c21168)+148)/* var←c17104 */ , 0, pd61)
      ;
      };
   }

static word IntFromReal←P60(real←v3556)
   word real←v3556;
   {
   register ptr gf←c21200 =  (ptr) &globalframe;
   word var←c3600;
   word int←v5676 = 0;
   /* IntFromReal: */ 
SOURCE(258, 182)
SOURCE(328, 57)
   {
      word x62;
      word x63;
      word x64;
      word x65;
      if ( ( ((
         x62 = real←v3556,  *(float*)&x62
         ) >= (
         x63 = (* (( (ptr) gf←c21200)+4)/* firstInt←v2608 */  ),  *(float*)&x63
         )) ? ((
         x64 = real←v3556,  *(float*)&x64
         ) <= (
         x65 = (* (( (ptr) gf←c21200)+5)/* lastInt←v2636 */  ),  *(float*)&x65
         )) : 0 ) ) {
SOURCE(363, 22)
         {
            word pd66;
            pd66 = (* (( (ptr) (* (( (ptr) gf←c21200)+94)/* var←c18384 */  ))+6) );
            int←v5676 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(real←v3556, pd66);
            };
         };
      };
SOURCE(387, 40)
   {
      word x67;
      if (((float)(int)int←v5676 != (
         x67 = real←v3556,  *(float*)&x67
         ))) {
SOURCE(404, 23)
         {
            word pd68;
            pd68 = (* (( (ptr) (* (( (ptr) gf←c21200)+93)/* var←c18032 */  ))+95) );
            (void) ( *( (fPt) ((*  (ptr) pd68 ))))(2, pd68);
            };
         };
      };
SOURCE(429, 11)
   return(int←v5676);
   }

static word IntFromNum←P120(n←v3660)
   W2 n←v3660;
   {
   word var←c3704;
   /* IntFromNum: */ 
SOURCE(446, 136)
SOURCE(503, 79)
   {
      word var←c18416;
      var←c18416 = n←v3660.f0;
      if ((var←c18416 == 0)) {
SOURCE(532, 13)
         return(n←v3660.f1);
         }
      else {
         if ((var←c18416 == 1)) {
SOURCE(555, 27)
            return((word) IntFromReal←P60(n←v3660.f1));
            }
         else {
SOURCE(595, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static word RealFromNum←P180(n←v3764)
   W2 n←v3764;
   {
   word var←c3808;
   /* RealFromNum: */ 
SOURCE(606, 131)
SOURCE(665, 72)
   {
      word var←c18480;
      var←c18480 = n←v3764.f0;
      if ((var←c18480 == 0)) {
SOURCE(694, 19)
         {
            float tf69;
            return((
               tf69 = (float)(int)n←v3764.f1,  *(word*)&tf69
               ));
            };
         }
      else {
         if ((var←c18480 == 1)) {
SOURCE(723, 14)
            return(n←v3764.f1);
            }
         else {
SOURCE(750, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static word IntFromAny←P240(x←v3868)
   word x←v3868;
   {
   register ptr gf←c21232 =  (ptr) &globalframe;
   word var←c3928;
   /* IntFromAny: */ 
SOURCE(761, 226)
SOURCE(812, 127)
   {
      word var←c18512;
      var←c18512 = x←v3868;
      if ((var←c18512 == 0)) {
         goto lab←L100000;
         };
      if (((* (( (ptr) gf←c21232)+18) ) == XR←GetReferentType(var←c18512))) {
         {
            word x←v5720;
            x←v5720 = var←c18512;
SOURCE(844, 97)
            {
               W2 n←v5764;
SOURCE(846, 17)
               n←v5764 = (*  (W2Pt) x←v5720 );
SOURCE(865, 42)
               {
                  word var←c18544;
                  var←c18544 = n←v5764.f0;
                  if ((var←c18544 == 0)) {
SOURCE(894, 13)
                     return(n←v5764.f1);
                     };
                  };
SOURCE(918, 21)
               return((word) IntFromNum←P120(n←v5764));
               };
            };
         }
      else {
         lab←L100000: ;
         };
      };
SOURCE(953, 23)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c21232)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd70 ))))(2, pd70);
      };
SOURCE(978, 9)
   return(0);
   }

static word RealFromAny←P300(x←v3988)
   word x←v3988;
   {
   register ptr gf←c21264 =  (ptr) &globalframe;
   word var←c4032;
   /* RealFromAny: */ 
SOURCE(993, 259)
SOURCE(1046, 158)
   {
      word var←c18608;
      var←c18608 = x←v3988;
      if ((var←c18608 == 0)) {
         goto lab←L100001;
         };
      if (((* (( (ptr) gf←c21264)+18) ) == XR←GetReferentType(var←c18608))) {
         {
            word x←v5808;
            x←v5808 = var←c18608;
SOURCE(1078, 128)
            {
               W2 n←v5852;
SOURCE(1080, 17)
               n←v5852 = (*  (W2Pt) x←v5808 );
SOURCE(1099, 72)
               {
                  word var←c18640;
                  var←c18640 = n←v5852.f0;
                  if ((var←c18640 == 0)) {
SOURCE(1128, 19)
                     {
                        float tf71;
                        return((
                           tf71 = (float)(int)n←v5852.f1,  *(word*)&tf71
                           ));
                        };
                     }
                  else {
                     if ((var←c18640 == 1)) {
SOURCE(1157, 14)
                        return(n←v5852.f1);
                        };
                     };
                  };
SOURCE(1182, 22)
               return((word) RealFromNum←P180(n←v5852));
               };
            };
         }
      else {
         lab←L100001: ;
         };
      };
SOURCE(1218, 23)
   {
      word pd72;
      pd72 = (* (( (ptr) (* (( (ptr) gf←c21264)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd72 ))))(2, pd72);
      };
SOURCE(1243, 9)
   return((*  (ptr) &fc73 ));
   }

static word NumberFromAny←P360(x←v4092)
   word x←v4092;
   {
   register ptr gf←c21296 =  (ptr) &globalframe;
   word var←c4136;
   /* NumberFromAny: */ 
SOURCE(1259, 185)
SOURCE(1316, 81)
   {
      word var←c18704;
      word var←c18736;
      var←c18704 = x←v4092;
      if ((var←c18704 == 0)) {
         goto lab←L100002;
         };
      var←c18736 = XR←GetReferentType(var←c18704);
      if (((* (( (ptr) gf←c21296)+18) ) == var←c18736)) {
         {
            word x←v5896;
            x←v5896 = var←c18704;
SOURCE(1348, 9)
            return(x←v5896);
            };
         }
      else {
         if (((* (( (ptr) gf←c21296)+17) ) == var←c18736)) {
            {
               word x←v5940;
               x←v5940 = var←c18704;
SOURCE(1368, 29)
               return((word) NumberFromAny←P360((* ((( (ptr) x←v5940)+1)) )));
               };
            }
         else {
            lab←L100002: ;
            };
         };
      };
SOURCE(1408, 23)
   {
      word pd74;
      pd74 = (* (( (ptr) (* (( (ptr) gf←c21296)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd74 ))))(2, pd74);
      };
SOURCE(1433, 11)
   return(0);
   }

static word AtomFromAny←P420(x←v4196)
   word x←v4196;
   {
   register ptr gf←c21328 =  (ptr) &globalframe;
   word var←c4240;
   /* AtomFromAny: */ 
SOURCE(1450, 177)
SOURCE(1503, 77)
   {
      word var←c18800;
      word var←c18832;
      var←c18800 = x←v4196;
      if ((var←c18800 == 0)) {
         goto lab←L100003;
         };
      var←c18832 = XR←GetReferentType(var←c18800);
      if (((* (( (ptr) gf←c21328)+16) ) == var←c18832)) {
         {
            word x←v5984;
            x←v5984 = var←c18800;
SOURCE(1533, 9)
            return(x←v5984);
            };
         }
      else {
         if (((* (( (ptr) gf←c21328)+17) ) == var←c18832)) {
            {
               word x←v6028;
               x←v6028 = var←c18800;
SOURCE(1553, 27)
               return((word) AtomFromAny←P420((* ((( (ptr) x←v6028)+1)) )));
               };
            }
         else {
            lab←L100003: ;
            };
         };
      };
SOURCE(1591, 23)
   {
      word pd75;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c21328)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd75 ))))(2, pd75);
      };
SOURCE(1616, 11)
   return(0);
   }

static word RopeFromAny←P480(x←v4300)
   word x←v4300;
   {
   register ptr gf←c21360 =  (ptr) &globalframe;
   word var←c4344;
   /* RopeFromAny: */ 
SOURCE(1633, 177)
SOURCE(1686, 77)
   {
      word var←c18896;
      word var←c18928;
      var←c18896 = x←v4300;
      if ((var←c18896 == 0)) {
         goto lab←L100004;
         };
      var←c18928 = XR←GetReferentType(var←c18896);
      {
         word tc76;
         if (((* (( (ptr) gf←c21360)+9) ) == var←c18928)) {
            tc76 =  (word) ( (unsigned) (*(int*)var←c18896<0) == 0);
            }
         else {
            tc76 =  (word) 0;
            };
         if (tc76) {
            {
               word x←v6072;
               x←v6072 = var←c18896;
SOURCE(1716, 9)
               return(x←v6072);
               };
            }
         else {
            if (((* (( (ptr) gf←c21360)+17) ) == var←c18928)) {
               {
                  word x←v6116;
                  x←v6116 = var←c18896;
SOURCE(1736, 27)
                  return((word) RopeFromAny←P480((* ((( (ptr) x←v6116)+1)) )));
                  };
               }
            else {
               lab←L100004: ;
               };
            };
         };
      };
SOURCE(1774, 23)
   {
      word pd77;
      pd77 = (* (( (ptr) (* (( (ptr) gf←c21360)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd77 ))))(2, pd77);
      };
SOURCE(1799, 11)
   return(0);
   }

static word StreamFromAny←P540(x←v4404)
   word x←v4404;
   {
   register ptr gf←c21392 =  (ptr) &globalframe;
   word var←c4448;
   /* StreamFromAny: */ 
SOURCE(1816, 185)
SOURCE(1873, 81)
   {
      word var←c18992;
      word var←c19024;
      var←c18992 = x←v4404;
      if ((var←c18992 == 0)) {
         goto lab←L100005;
         };
      var←c19024 = XR←GetReferentType(var←c18992);
      if (((* (( (ptr) gf←c21392)+15) ) == var←c19024)) {
         {
            word x←v6160;
            x←v6160 = var←c18992;
SOURCE(1905, 9)
            return(x←v6160);
            };
         }
      else {
         if (((* (( (ptr) gf←c21392)+17) ) == var←c19024)) {
            {
               word x←v6204;
               x←v6204 = var←c18992;
SOURCE(1925, 29)
               return((word) StreamFromAny←P540((* ((( (ptr) x←v6204)+1)) )));
               };
            }
         else {
            lab←L100005: ;
            };
         };
      };
SOURCE(1965, 23)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c21392)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd78 ))))(2, pd78);
      };
SOURCE(1990, 11)
   return(0);
   }

static word CmdFromAny←P600(x←v4508)
   word x←v4508;
   {
   register ptr gf←c21424 =  (ptr) &globalframe;
   word var←c4552;
   /* CmdFromAny: */ 
SOURCE(2007, 173)
SOURCE(2058, 75)
   {
      word var←c19088;
      word var←c19120;
      var←c19088 = x←v4508;
      if ((var←c19088 == 0)) {
         goto lab←L100006;
         };
      var←c19120 = XR←GetReferentType(var←c19088);
      if (((* (( (ptr) gf←c21424)+14) ) == var←c19120)) {
         {
            word x←v6248;
            x←v6248 = var←c19088;
SOURCE(2087, 9)
            return(x←v6248);
            };
         }
      else {
         if (((* (( (ptr) gf←c21424)+17) ) == var←c19120)) {
            {
               word x←v6292;
               x←v6292 = var←c19088;
SOURCE(2107, 26)
               return((word) CmdFromAny←P600((* ((( (ptr) x←v6292)+1)) )));
               };
            }
         else {
            lab←L100006: ;
            };
         };
      };
SOURCE(2144, 23)
   {
      word pd79;
      pd79 = (* (( (ptr) (* (( (ptr) gf←c21424)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd79 ))))(2, pd79);
      };
SOURCE(2169, 11)
   return(0);
   }

static word ArrayFromAny←P660(x←v4612)
   word x←v4612;
   {
   register ptr gf←c21456 =  (ptr) &globalframe;
   word var←c4656;
   /* ArrayFromAny: */ 
SOURCE(2186, 181)
SOURCE(2241, 79)
   {
      word var←c19184;
      word var←c19216;
      var←c19184 = x←v4612;
      if ((var←c19184 == 0)) {
         goto lab←L100007;
         };
      var←c19216 = XR←GetReferentType(var←c19184);
      if (((* (( (ptr) gf←c21456)+13) ) == var←c19216)) {
         {
            word x←v6336;
            x←v6336 = var←c19184;
SOURCE(2272, 9)
            return(x←v6336);
            };
         }
      else {
         if (((* (( (ptr) gf←c21456)+17) ) == var←c19216)) {
            {
               word x←v6380;
               x←v6380 = var←c19184;
SOURCE(2292, 28)
               return((word) ArrayFromAny←P660((* ((( (ptr) x←v6380)+1)) )));
               };
            }
         else {
            lab←L100007: ;
            };
         };
      };
SOURCE(2331, 23)
   {
      word pd80;
      pd80 = (* (( (ptr) (* (( (ptr) gf←c21456)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd80 ))))(2, pd80);
      };
SOURCE(2356, 11)
   return(0);
   }

static word DictFromAny←P720(x←v4716)
   word x←v4716;
   {
   register ptr gf←c21488 =  (ptr) &globalframe;
   word var←c4760;
   /* DictFromAny: */ 
SOURCE(2373, 177)
SOURCE(2426, 77)
   {
      word var←c19280;
      word var←c19312;
      var←c19280 = x←v4716;
      if ((var←c19280 == 0)) {
         goto lab←L100008;
         };
      var←c19312 = XR←GetReferentType(var←c19280);
      if (((* (( (ptr) gf←c21488)+12) ) == var←c19312)) {
         {
            word x←v6424;
            x←v6424 = var←c19280;
SOURCE(2456, 9)
            return(x←v6424);
            };
         }
      else {
         if (((* (( (ptr) gf←c21488)+17) ) == var←c19312)) {
            {
               word x←v6468;
               x←v6468 = var←c19280;
SOURCE(2476, 27)
               return((word) DictFromAny←P720((* ((( (ptr) x←v6468)+1)) )));
               };
            }
         else {
            lab←L100008: ;
            };
         };
      };
SOURCE(2514, 23)
   {
      word pd81;
      pd81 = (* (( (ptr) (* (( (ptr) gf←c21488)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd81 ))))(2, pd81);
      };
SOURCE(2539, 11)
   return(0);
   }

static word MarkFromAny←P780(x←v4820)
   word x←v4820;
   {
   register ptr gf←c21520 =  (ptr) &globalframe;
   word var←c4864;
   /* MarkFromAny: */ 
SOURCE(2556, 177)
SOURCE(2609, 77)
   {
      word var←c19376;
      word var←c19408;
      var←c19376 = x←v4820;
      if ((var←c19376 == 0)) {
         goto lab←L100009;
         };
      var←c19408 = XR←GetReferentType(var←c19376);
      if (((* (( (ptr) gf←c21520)+11) ) == var←c19408)) {
         {
            word x←v6512;
            x←v6512 = var←c19376;
SOURCE(2639, 9)
            return(x←v6512);
            };
         }
      else {
         if (((* (( (ptr) gf←c21520)+17) ) == var←c19408)) {
            {
               word x←v6556;
               x←v6556 = var←c19376;
SOURCE(2659, 27)
               return((word) MarkFromAny←P780((* ((( (ptr) x←v6556)+1)) )));
               };
            }
         else {
            lab←L100009: ;
            };
         };
      };
SOURCE(2697, 23)
   {
      word pd82;
      pd82 = (* (( (ptr) (* (( (ptr) gf←c21520)+93)/* var←c18032 */  ))+95) );
      (void) ( *( (fPt) ((*  (ptr) pd82 ))))(2, pd82);
      };
SOURCE(2722, 11)
   return(0);
   }

static word Type←P840(x←v4924)
   word x←v4924;
   {
   register ptr gf←c21552 =  (ptr) &globalframe;
   word var←c4968;
   /* Type: */ 
SOURCE(2739, 103)
SOURCE(2789, 25)
   if ((x←v4924 == 0)) {
SOURCE(2803, 11)
      return(0);
      };
SOURCE(2816, 26)
   {
      word var←c19504;
      word var←c19536;
      var←c19504 = x←v4924;
      if ((var←c19504 == 0)) {
         goto lab←L100010;
         };
      var←c19536 = XR←GetReferentType(var←c19504);
      {
         word tc84;
         if (((* (( (ptr) gf←c21552)+18) ) == var←c19536)) {
            {
               word x←v6600;
               x←v6600 = var←c19504;
               return(1);
               };
            };
         if (((* (( (ptr) gf←c21552)+16) ) == var←c19536)) {
            {
               word x←v6644;
               x←v6644 = var←c19504;
               return(2);
               };
            };
         if (((* (( (ptr) gf←c21552)+9) ) == var←c19536)) {
            tc84 =  (word) ( (unsigned) (*(int*)var←c19504<0) == 0);
            }
         else {
            tc84 =  (word) 0;
            };
         if (tc84) {
            {
               word x←v6688;
               x←v6688 = var←c19504;
               return(3);
               };
            };
         if (((* (( (ptr) gf←c21552)+15) ) == var←c19536)) {
            {
               word x←v6732;
               x←v6732 = var←c19504;
               return(4);
               };
            };
         if (((* (( (ptr) gf←c21552)+14) ) == var←c19536)) {
            {
               word x←v6776;
               x←v6776 = var←c19504;
               return(5);
               };
            };
         if (((* (( (ptr) gf←c21552)+12) ) == var←c19536)) {
            {
               word x←v6820;
               x←v6820 = var←c19504;
               return(6);
               };
            };
         if (((* (( (ptr) gf←c21552)+13) ) == var←c19536)) {
            {
               word x←v6864;
               x←v6864 = var←c19504;
               return(7);
               };
            };
         if (((* (( (ptr) gf←c21552)+11) ) == var←c19536)) {
            {
               word x←v6908;
               x←v6908 = var←c19504;
               return(8);
               };
            };
         if (((* (( (ptr) gf←c21552)+17) ) == var←c19536)) {
            {
               word x←v6952;
               x←v6952 = var←c19504;
               return((word) Type←P840((* ((( (ptr) x←v6952)+1)) )));
               };
            };
         lab←L100010: ;
         return(9);
         };
      };
   }

static word Length←P900(x←v5056)
   word x←v5056;
   {
   register ptr gf←c21584 =  (ptr) &globalframe;
   word var←c5100;
   /* Length: */ 
SOURCE(3479, 213)
SOURCE(3526, 146)
   {
      word var←c19568;
      word var←c19600;
      var←c19568 = x←v5056;
      if ((var←c19568 == 0)) {
         goto lab←L100011;
         };
      var←c19600 = XR←GetReferentType(var←c19568);
      {
         word tc87;
         if (((* (( (ptr) gf←c21584)+13) ) == var←c19600)) {
            {
               word x←v6996;
               x←v6996 = var←c19568;
SOURCE(3557, 13)
               return((* (( (ptr) x←v6996)+2) ));
               };
            };
         if (((* (( (ptr) gf←c21584)+12) ) == var←c19600)) {
            {
               word x←v7040;
               x←v7040 = var←c19568;
SOURCE(3583, 21)
               {
                  word pd86;
                  pd86 = (* (( (ptr) (* (( (ptr) gf←c21584)+93)/* var←c18032 */  ))+72) );
                  return((word) ( *( (fPt) ((*  (ptr) pd86 ))))(x←v7040, pd86));
                  };
               };
            };
         if (((* (( (ptr) gf←c21584)+9) ) == var←c19600)) {
            tc87 =  (word) ( (unsigned) (*(int*)var←c19568<0) == 0);
            }
         else {
            tc87 =  (word) 0;
            };
         if (tc87) {
            {
               word x←v7084;
               x←v7084 = var←c19568;
SOURCE(3617, 22)
               {
                  word pd88;
                  pd88 = (* (( (ptr) (* (( (ptr) gf←c21584)+95)/* var←c19696 */  ))+14) );
                  return((word) ( *( (fPt) ((*  (ptr) pd88 ))))(x←v7084, pd88));
                  };
               };
            };
         if (((* (( (ptr) gf←c21584)+17) ) == var←c19600)) {
            {
               word x←v7128;
               x←v7128 = var←c19568;
SOURCE(3650, 22)
               return((word) Length←P900((* ((( (ptr) x←v7128)+1)) )));
               };
            };
         lab←L100011: ;
         goto endif085;
         endif085: ;
         };
      };
SOURCE(3683, 9)
   return(1);
   }

static word Equal←P960(a←v5160, b←v5188)
   word a←v5160;
   word b←v5188;
   {
   register ptr gf←c21616 =  (ptr) &globalframe;
   word var←c5232;
   /* Equal: */ 
SOURCE(3698, 765)
SOURCE(3748, 24)
   if ((a←v5160 == b←v5188)) {
SOURCE(3760, 12)
      return(1);
      };
SOURCE(3774, 530)
   {
      word var←c19760;
      word var←c19792;
      var←c19760 = a←v5160;
      if ((var←c19760 == 0)) {
         goto lab←L100012;
         };
      var←c19792 = XR←GetReferentType(var←c19760);
      {
         word tc96;
         if (((* (( (ptr) gf←c21616)+18) ) == var←c19792)) {
            {
               word a←v7172;
               a←v7172 = var←c19760;
SOURCE(3806, 247)
               {
                  word var←c19824;
                  var←c19824 = b←v5188;
                  if ((var←c19824 == 0)) {
                     goto lab←L100013;
                     };
                  if (((* (( (ptr) gf←c21616)+18) ) == XR←GetReferentType(var←c19824))) {
                     {
                        word b←v7216;
                        b←v7216 = var←c19824;
SOURCE(3838, 215)
                        {
                           word var←c19856;
                           var←c19856 = (*  (ptr) a←v7172 );
                           if ((var←c19856 == 0)) {
SOURCE(3867, 78)
/*1*/   {
/*1*/      word var←c19888;
/*1*/      var←c19888 = (*  (ptr) b←v7216 );
/*1*/      if ((var←c19888 == 0)) {
SOURCE(3896, 19)
/*1*/         return( (unsigned) ( (int)(* (( (ptr) a←v7172)+1) ) ==  (int)(* (( (ptr) b←v7216)+1) )));
/*1*/         }
/*1*/      else {
/*1*/         if ((var←c19888 == 1)) {
SOURCE(3925, 20)
/*1*/            {
/*1*/               word x90;
/*1*/               return( (unsigned) ((float)(int)(* (( (ptr) a←v7172)+1) ) == (
/*1*/                  x90 = (* (( (ptr) b←v7216)+1) ),  *(float*)&x90
/*1*/                  )));
/*1*/               };
/*1*/            }
/*1*/         else {
SOURCE(3958, 5)
/*1*/            (void) XR←RaiseUnnamedError();
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   }
                           else {
/*1*/   if ((var←c19856 == 1)) {
SOURCE(3973, 80)
/*1*/      {
/*1*/         word var←c19920;
/*1*/         var←c19920 = (*  (ptr) b←v7216 );
/*1*/         if ((var←c19920 == 0)) {
SOURCE(4002, 20)
/*1*/            {
/*1*/               word x91;
/*1*/               return( (unsigned) ((
/*1*/                  x91 = (* (( (ptr) a←v7172)+1) ),  *(float*)&x91
/*1*/                  ) == (float)(int)(* (( (ptr) b←v7216)+1) )));
/*1*/               };
/*1*/            }
/*1*/         else {
/*1*/            if ((var←c19920 == 1)) {
SOURCE(4032, 21)
/*1*/               {
/*1*/                  word x92;
/*1*/                  word x93;
/*1*/                  return( (unsigned) ((
/*1*/                     x92 = (* (( (ptr) a←v7172)+1) ),  *(float*)&x92
/*1*/                     ) == (
/*1*/                     x93 = (* (( (ptr) b←v7216)+1) ),  *(float*)&x93
/*1*/                     )));
/*1*/                  };
/*1*/               }
/*1*/            else {
SOURCE(4066, 5)
/*1*/               (void) XR←RaiseUnnamedError();
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(4084, 5)
/*1*/      (void) XR←RaiseUnnamedError();
/*1*/      };
/*1*/   };
                           };
                        };
                     }
                  else {
                     lab←L100013: ;
                     };
                  };
               };
            goto endif089;
            };
         if (((* (( (ptr) gf←c21616)+16) ) == var←c19792)) {
            {
               word a←v7260;
               a←v7260 = var←c19760;
SOURCE(4111, 79)
               {
                  word var←c19952;
                  word var←c19984;
                  var←c19952 = b←v5188;
                  if ((var←c19952 == 0)) {
                     goto lab←L100014;
                     };
                  var←c19984 = XR←GetReferentType(var←c19952);
                  {
                     word tc94;
                     if (((* (( (ptr) gf←c21616)+16) ) == var←c19984)) {
                        {
                           word b←v7304;
                           b←v7304 = var←c19952;
SOURCE(4141, 11)
                           return( (unsigned) (a←v7260 == b←v7304));
                           };
                        }
                     else {
                        if (((* (( (ptr) gf←c21616)+9) ) == var←c19984)) {
                           tc94 =  (word) ( (unsigned) (*(int*)var←c19952<0) == 0);
                           }
                        else {
                           tc94 =  (word) 0;
                           };
                        if (tc94) {
                           {
/*1*/   word b←v7348;
/*1*/   b←v7348 = var←c19952;
SOURCE(4165, 25)
/*1*/   {
/*1*/      word pd95;
/*1*/      pd95 = (* (( (ptr) (* (( (ptr) gf←c21616)+93)/* var←c18032 */  ))+22) );
/*1*/      return( (unsigned) (a←v7260 == (word) ( *( (fPt) ((*  (ptr) pd95 ))))(b←v7348, pd95)));
/*1*/      };
/*1*/   };
                           }
                        else {
                           lab←L100014: ;
                           };
                        };
                     };
                  };
               };
            goto endif089;
            };
         if (((* (( (ptr) gf←c21616)+9) ) == var←c19792)) {
            tc96 =  (word) ( (unsigned) (*(int*)var←c19760<0) == 0);
            }
         else {
            tc96 =  (word) 0;
            };
         if (tc96) {
            {
               word a←v7392;
               a←v7392 = var←c19760;
SOURCE(4212, 92)
               {
                  word var←c20048;
                  word var←c20080;
                  var←c20048 = b←v5188;
                  if ((var←c20048 == 0)) {
                     goto lab←L100015;
                     };
                  var←c20080 = XR←GetReferentType(var←c20048);
                  {
                     word tc98;
                     if (((* (( (ptr) gf←c21616)+16) ) == var←c20080)) {
                        {
                           word b←v7436;
                           b←v7436 = var←c20048;
SOURCE(4242, 25)
                           {
/*1*/   word pd97;
/*1*/   pd97 = (* (( (ptr) (* (( (ptr) gf←c21616)+93)/* var←c18032 */  ))+22) );
/*1*/   return( (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd97 ))))(a←v7392, pd97) == b←v7436));
/*1*/   };
                           };
                        }
                     else {
                        if (((* (( (ptr) gf←c21616)+9) ) == var←c20080)) {
                           tc98 =  (word) ( (unsigned) (*(int*)var←c20048<0) == 0);
                           }
                        else {
                           tc98 =  (word) 0;
                           };
                        if (tc98) {
                           {
/*1*/   word b←v7480;
/*1*/   b←v7480 = var←c20048;
SOURCE(4280, 24)
/*1*/   {
/*1*/      word pd99;
/*1*/      pd99 = (* (( (ptr) (* (( (ptr) gf←c21616)+95)/* var←c19696 */  ))+8) );
/*1*/      return((word) ( *( (fPt) ((*  (ptr) pd99 ))))(a←v7392, b←v7480, 1, pd99));
/*1*/      };
/*1*/   };
                           }
                        else {
                           lab←L100015: ;
                           };
                        };
                     };
                  };
               };
            goto endif089;
            };
         lab←L100012: ;
         goto endif089;
         endif089: ;
         };
      };
SOURCE(4324, 52)
   {
      word var←c20176;
      var←c20176 = a←v5160;
      if ((var←c20176 == 0)) {
         goto lab←L100016;
         };
      if (((* (( (ptr) gf←c21616)+17) ) == XR←GetReferentType(var←c20176))) {
         {
            word a←v7524;
            a←v7524 = var←c20176;
SOURCE(4352, 24)
            return((word) Equal←P960((* (( (ptr) a←v7524)+1) ), b←v5188));
            };
         }
      else {
         lab←L100016: ;
         };
      };
SOURCE(4387, 52)
   {
      word var←c20240;
      var←c20240 = b←v5188;
      if ((var←c20240 == 0)) {
         goto lab←L100017;
         };
      if (((* (( (ptr) gf←c21616)+17) ) == XR←GetReferentType(var←c20240))) {
         {
            word b←v7568;
            b←v7568 = var←c20240;
SOURCE(4415, 24)
            return((word) Equal←P960(a←v5160, (* (( (ptr) b←v7568)+1) )));
            };
         }
      else {
         lab←L100017: ;
         };
      };
SOURCE(4450, 13)
   return(0);
   }

static word CvX←P1020(x←v5292)
   word x←v5292;
   {
   register ptr gf←c21648 =  (ptr) &globalframe;
   word var←c5336;
   /* CvX: */ 
SOURCE(4469, 183)
SOURCE(4513, 139)
   {
      word var←c20304;
      var←c20304 = x←v5292;
      if ((var←c20304 == 0)) {
         goto lab←L100018;
         };
      if (((* (( (ptr) gf←c21648)+17) ) == XR←GetReferentType(var←c20304))) {
         {
            word x←v7612;
            x←v7612 = var←c20304;
SOURCE(4541, 51)
            if (((*  (ptr) x←v7612 ) == 1)) {
               return(x←v7612);
               }
            else {
               return((word) CvX←P1020((* ((( (ptr) x←v7612)+1)) )));
               };
            };
         }
      else {
         lab←L100018: ;
SOURCE(4605, 47)
         {
            word var←c20400;
            var←c20400 = XR←NewObject(8, (* (( (ptr) gf←c21648)+17) ));
            (*  (ptr) var←c20400 ) = 1;
            (* (( (ptr) var←c20400)+1) ) = x←v5292;
            return(var←c20400);
            };
         };
      };
   }

static word CvLit←P1080(x←v5396)
   word x←v5396;
   {
   register ptr gf←c21680 =  (ptr) &globalframe;
   word var←c5440;
   /* CvLit: */ 
SOURCE(4658, 181)
SOURCE(4704, 135)
   {
      word var←c20432;
      var←c20432 = x←v5396;
      if ((var←c20432 == 0)) {
         goto lab←L100019;
         };
      if (((* (( (ptr) gf←c21680)+17) ) == XR←GetReferentType(var←c20432))) {
         {
            word x←v7656;
            x←v7656 = var←c20432;
SOURCE(4732, 50)
            if (((*  (ptr) x←v7656 ) == 0)) {
               return(x←v7656);
               }
            else {
               return((word) CvLit←P1080((* ((( (ptr) x←v7656)+1)) )));
               };
            };
         }
      else {
         lab←L100019: ;
SOURCE(4795, 44)
         {
            word var←c20528;
            var←c20528 = XR←NewObject(8, (* (( (ptr) gf←c21680)+17) ));
            (* (( (ptr) var←c20528)+1) ) = x←v5396;
            return(var←c20528);
            };
         };
      };
   }

static word CvI←P1140(x←v5500)
   word x←v5500;
   {
   register ptr gf←c21712 =  (ptr) &globalframe;
   word var←c5544;
   /* CvI: */ 
SOURCE(4845, 304)
SOURCE(4889, 249)
   {
      word var←c20560;
      word var←c20592;
      var←c20560 = x←v5500;
      if ((var←c20560 == 0)) {
         goto lab←L100020;
         };
      var←c20592 = XR←GetReferentType(var←c20560);
      {
         word tc103;
         if (((* (( (ptr) gf←c21712)+18) ) == var←c20592)) {
            {
               word x←v7700;
               x←v7700 = var←c20560;
SOURCE(4921, 108)
               {
                  word var←c20624;
                  var←c20624 = (*  (ptr) x←v7700 );
                  if ((var←c20624 == 0)) {
SOURCE(4950, 13)
                     return((* (( (ptr) x←v7700)+1) ));
                     }
                  else {
                     if ((var←c20624 == 1)) {
SOURCE(4973, 26)
                        {
                           word pd101;
                           pd101 = (* (( (ptr) (* (( (ptr) gf←c21712)+94)/* var←c18384 */  ))+6) );
                           return((word) ( *( (fPt) ((*  (ptr) pd101 ))))((* ((( (ptr) x←v7700)+1)) ), pd101));
                           };
                        }
                     else {
SOURCE(5012, 17)
                        {
                           word pd102;
                           pd102 = (* (( (ptr) (* (( (ptr) gf←c21712)+93)/* var←c18032 */  ))+95) );
                           (void) ( *( (fPt) ((*  (ptr) pd102 ))))(14, pd102);
                           };
                        };
                     };
                  };
               };
            goto endif0100;
            };
         if (((* (( (ptr) gf←c21712)+9) ) == var←c20592)) {
            tc103 =  (word) ( (unsigned) (*(int*)var←c20560<0) == 0);
            }
         else {
            tc103 =  (word) 0;
            };
         if (tc103) {
            {
               word x←v7744;
               x←v7744 = var←c20560;
SOURCE(5042, 30)
               {
                  word pd104;
                  pd104 = (* (( (ptr) (* (( (ptr) gf←c21712)+96)/* var←c20720 */  ))+10) );
                  return((word) ( *( (fPt) ((*  (ptr) pd104 ))))(x←v7744, 8, pd104));
                  };
               };
            };
         if (((* (( (ptr) gf←c21712)+17) ) == var←c20592)) {
            {
               word x←v7788;
               x←v7788 = var←c20560;
SOURCE(5083, 19)
               return((word) CvI←P1140((* ((( (ptr) x←v7788)+1)) )));
               };
            };
         lab←L100020: ;
SOURCE(5115, 23)
         {
            word pd105;
            pd105 = (* (( (ptr) (* (( (ptr) gf←c21712)+93)/* var←c18032 */  ))+95) );
            (void) ( *( (fPt) ((*  (ptr) pd105 ))))(2, pd105);
            };
         goto endif0100;
         endif0100: ;
         };
      };
SOURCE(5140, 9)
   return(0);
   }

static word CvR←P1200(x←v5604)
   word x←v5604;
   {
   register ptr gf←c21744 =  (ptr) &globalframe;
   word var←c5648;
   /* CvR: */ 
SOURCE(5155, 300)
SOURCE(5200, 244)
   {
      word var←c20784;
      word var←c20816;
      var←c20784 = x←v5604;
      if ((var←c20784 == 0)) {
         goto lab←L100021;
         };
      var←c20816 = XR←GetReferentType(var←c20784);
      {
         word tc109;
         if (((* (( (ptr) gf←c21744)+18) ) == var←c20816)) {
            {
               word x←v7832;
               x←v7832 = var←c20784;
SOURCE(5232, 102)
               {
                  word var←c20848;
                  var←c20848 = (*  (ptr) x←v7832 );
                  if ((var←c20848 == 0)) {
SOURCE(5261, 19)
                     {
                        float tf107;
                        return((
                           tf107 = (float)(int)(* (( (ptr) x←v7832)+1) ),  *(word*)&tf107
                           ));
                        };
                     }
                  else {
                     if ((var←c20848 == 1)) {
SOURCE(5290, 14)
                        return((* (( (ptr) x←v7832)+1) ));
                        }
                     else {
SOURCE(5317, 17)
                        {
                           word pd108;
                           pd108 = (* (( (ptr) (* (( (ptr) gf←c21744)+93)/* var←c18032 */  ))+95) );
                           (void) ( *( (fPt) ((*  (ptr) pd108 ))))(14, pd108);
                           };
                        };
                     };
                  };
               };
            goto endif0106;
            };
         if (((* (( (ptr) gf←c21744)+9) ) == var←c20816)) {
            tc109 =  (word) ( (unsigned) (*(int*)var←c20784<0) == 0);
            }
         else {
            tc109 =  (word) 0;
            };
         if (tc109) {
            {
               word x←v7876;
               x←v7876 = var←c20784;
SOURCE(5347, 31)
               {
                  word pd110;
                  pd110 = (* (( (ptr) (* (( (ptr) gf←c21744)+96)/* var←c20720 */  ))+12) );
                  return((word) ( *( (fPt) ((*  (ptr) pd110 ))))(x←v7876, pd110));
                  };
               };
            };
         if (((* (( (ptr) gf←c21744)+17) ) == var←c20816)) {
            {
               word x←v7920;
               x←v7920 = var←c20784;
SOURCE(5389, 19)
               return((word) CvR←P1200((* ((( (ptr) x←v7920)+1)) )));
               };
            };
         lab←L100021: ;
SOURCE(5421, 23)
         {
            word pd111;
            pd111 = (* (( (ptr) (* (( (ptr) gf←c21744)+93)/* var←c18032 */  ))+95) );
            (void) ( *( (fPt) ((*  (ptr) pd111 ))))(2, pd111);
            };
         goto endif0106;
         endif0106: ;
         };
      };
SOURCE(5446, 9)
   return((*  (ptr) &fc73 ));
   }

static void ApplyType←P1260(frame←v13224, cmd←v13252)
   word frame←v13224;
   word cmd←v13252;
   {
   register ptr gf←c21776 =  (ptr) &globalframe;
   word x←v7964;
   word type←v7992;
   /* ApplyType: */ 
SOURCE(5462, 105)
SOURCE(5489, 19)
   {
      word pd112;
      pd112 = (* (( (ptr) (* (( (ptr) gf←c21776)+93)/* var←c18032 */  ))+37) );
      x←v7964 = (word) ( *( (fPt) ((*  (ptr) pd112 ))))(frame←v13224, pd112);
      };
SOURCE(5510, 24)
   type←v7992 = (word) Type←P840(x←v7964);
SOURCE(5536, 31)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c21776)+93)/* var←c18032 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd113 ))))(frame←v13224, (* (( (ptr) (* (( (ptr) gf←c21776)+6)/* typeAtom←v3112 */  ))+type←v7992)
          ), pd113);
      };
   }

static void ApplyLength←P1320(frame←v13312, cmd←v13340)
   word frame←v13312;
   word cmd←v13340;
   {
   register ptr gf←c21808 =  (ptr) &globalframe;
   word x←v8036;
   /* ApplyLength: */ 
SOURCE(5573, 75)
SOURCE(5602, 19)
   {
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c21808)+93)/* var←c18032 */  ))+37) );
      x←v8036 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(frame←v13312, pd114);
      };
SOURCE(5623, 25)
   {
      word var←c20944;
      var←c20944 = (word) Length←P900(x←v8036);
      {
         word pd115;
         pd115 = (* (( (ptr) (* (( (ptr) gf←c21808)+93)/* var←c18032 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd115 ))))(frame←v13312, var←c20944, pd115);
         };
      };
   }

static void ApplyCvLit←P1380(frame←v13400, cmd←v13428)
   word frame←v13400;
   word cmd←v13428;
   {
   register ptr gf←c21840 =  (ptr) &globalframe;
   word x←v8080;
   /* ApplyCvLit: */ 
SOURCE(5654, 70)
SOURCE(5682, 19)
   {
      word pd116;
      pd116 = (* (( (ptr) (* (( (ptr) gf←c21840)+93)/* var←c18032 */  ))+37) );
      x←v8080 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(frame←v13400, pd116);
      };
SOURCE(5703, 21)
   {
      word var←c20976;
      var←c20976 = (word) CvLit←P1080(x←v8080);
      {
         word pd117;
         pd117 = (* (( (ptr) (* (( (ptr) gf←c21840)+93)/* var←c18032 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd117 ))))(frame←v13400, var←c20976, pd117);
         };
      };
   }

static void ApplyCvX←P1440(frame←v13488, cmd←v13516)
   word frame←v13488;
   word cmd←v13516;
   {
   register ptr gf←c21872 =  (ptr) &globalframe;
   word x←v8124;
   /* ApplyCvX: */ 
SOURCE(5730, 66)
SOURCE(5756, 19)
   {
      word pd118;
      pd118 = (* (( (ptr) (* (( (ptr) gf←c21872)+93)/* var←c18032 */  ))+37) );
      x←v8124 = (word) ( *( (fPt) ((*  (ptr) pd118 ))))(frame←v13488, pd118);
      };
SOURCE(5777, 19)
   {
      word var←c21008;
      var←c21008 = (word) CvX←P1020(x←v8124);
      {
         word pd119;
         pd119 = (* (( (ptr) (* (( (ptr) gf←c21872)+93)/* var←c18032 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd119 ))))(frame←v13488, var←c21008, pd119);
         };
      };
   }

static void ApplyCvI←P1500(frame←v13576, cmd←v13604)
   word frame←v13576;
   word cmd←v13604;
   {
   register ptr gf←c21904 =  (ptr) &globalframe;
   word x←v8168;
   /* ApplyCvI: */ 
SOURCE(5802, 69)
SOURCE(5828, 19)
   {
      word pd120;
      pd120 = (* (( (ptr) (* (( (ptr) gf←c21904)+93)/* var←c18032 */  ))+37) );
      x←v8168 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))(frame←v13576, pd120);
      };
SOURCE(5849, 22)
   {
      word var←c21040;
      var←c21040 = (word) CvI←P1140(x←v8168);
      {
         word pd121;
         pd121 = (* (( (ptr) (* (( (ptr) gf←c21904)+93)/* var←c18032 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd121 ))))(frame←v13576, var←c21040, pd121);
         };
      };
   }

static void ApplyCvR←P1560(frame←v13664, cmd←v13692)
   word frame←v13664;
   word cmd←v13692;
   {
   register ptr gf←c21936 =  (ptr) &globalframe;
   word x←v8212;
   /* ApplyCvR: */ 
SOURCE(5877, 70)
SOURCE(5903, 19)
   {
      word pd122;
      pd122 = (* (( (ptr) (* (( (ptr) gf←c21936)+93)/* var←c18032 */  ))+37) );
      x←v8212 = (word) ( *( (fPt) ((*  (ptr) pd122 ))))(frame←v13664, pd122);
      };
SOURCE(5924, 23)
   {
      word var←c21072;
      var←c21072 = (word) CvR←P1200(x←v8212);
      {
         word pd123;
         pd123 = (* (( (ptr) (* (( (ptr) gf←c21936)+93)/* var←c18032 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd123 ))))(frame←v13664, var←c21072, pd123);
         };
      };
   }

static void ApplyCommandName←P1620(frame←v13752, cmd←v13780)
   word frame←v13752;
   word cmd←v13780;
   {
   register ptr gf←c21968 =  (ptr) &globalframe;
   word x←v8256;
   /* ApplyCommandName: */ 
SOURCE(5953, 81)
SOURCE(5987, 22)
   {
      word pd124;
      pd124 = (* (( (ptr) (* (( (ptr) gf←c21968)+93)/* var←c18032 */  ))+45) );
      x←v8256 = (word) ( *( (fPt) ((*  (ptr) pd124 ))))(frame←v13752, pd124);
      };
SOURCE(6011, 23)
   {
      word pd125;
      pd125 = (* (( (ptr) (* (( (ptr) gf←c21968)+93)/* var←c18032 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd125 ))))(frame←v13752, (* (( (ptr) x←v8256)+2) ), pd125);
      };
   }

/* file: TJaMTypeImpl, module: TJaMTypeImpl, compiled at: October 19, 1993 1:02:24 pm PDT */ 
extern void XR←install←TJaMTypeImpl() {
   NoName←Q4128();
   }
extern void XR←run←TJaMTypeImpl() { XR←Start(&globalframe); }