/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 22, 1992 2:21:47 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: CustomBrickImpl, module: CustomBrickImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4244920600,3863202814] CustomBrickImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1;} W2;
typedef struct {W16 f; W2 r;} W18;
typedef word (*fPt)();
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q672();
static void CustomBrickImpl←P0();
static void Complain←P60();
static word HalftonePropertiesFromRope←P120();
static word CmdTokenBreak←P180();
static word GetCmdToken←P240();
static word NoName←Q732();
static word RealToNum←P300();
static word NoName←Q792();
static word RealFromRope←P360();
static word NoName←Q852();
static word NoName←Q912();
static void ParseBrick←P420();
static void NoName←Q972();
static void NoName←Q1032();
static void NoName←Q1092();
static void NoName←Q1152();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string3 = {2752556, "\260\006\005\146\151\162\163\164\257\300\236\211\262\021\300\215\235\324\340\101\034\005\004\162\145\163\164\214\257\300\236\211\262\021\300\215\235\324\340\101\034\261\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004)\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\361\072\110\004\300\054\212\055\367\100\274\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\003\001\000"};
static struct {unsigned f; char r[8];} string7 = {458760, "\205\210\242\000C\347\242"};
static struct {unsigned f; char r[20];} string8 = {1114132, "Number expected: \000\000"};
static struct {unsigned f; char r[44];} string9 = {2621484, "Value (%g) should be in range [%g .. %g]\000\000\000"};
static struct {unsigned f; char r[4];} string10 = {65540, "]\000\000"};
static struct {unsigned f; char r[16];} string11 = {983056, "Malformed array"};
static struct {unsigned f; char r[8];} string12 = {327688, "black\000\000"};
static struct {unsigned f; char r[8];} string13 = {262152, "cyan\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {458760, "magenta"};
static struct {unsigned f; char r[8];} string15 = {393224, "yellow\000"};
static struct {unsigned f; char r[36];} string16 = {2097188, "Expected toner name, but found \042\000\000\000"};
static struct {unsigned f; char r[4];} string17 = {65540, "\042\000\000"};
static struct {unsigned f; char r[8];} string18 = {327688, "brick\000\000"};
static struct {unsigned f; char r[24];} string19 = {1507352, "Missing \042brick\042 Keyword"};
static struct {unsigned f; char r[44];} string20 = {2621484, "Brick values should be IN [0..maxSample]\000\000\000"};
static struct {unsigned f; char r[28];} string21 = {1769500, "%g (%g) should be integral."};
static struct {unsigned f; char r[8];} string22 = {327688, "Value\000\000"};
static struct {unsigned f; char r[4];} string23 = {65540, "[\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\375\004\131\030\300\346\103\313\376\100\164\000\000"};
static struct {unsigned f; char r[8];} string25 = {458759, "\006\001,\004\200\377\377"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\163\103\237\130\300\203\321\375\362\100\150\000\000"};
static struct {
   word f0[27]; word f27; word f28; word f29; 
   word f30; word f31; word f32[8]; 
   } globalframe = {
   {0}, (word) HalftonePropertiesFromRope←P120, 0, (word) Complain←P60, 
   0, (word) CustomBrickImpl←P0, {0}
   };

static void NoName←Q672()
   {
   register ptr gf←c0111 =  (ptr) &globalframe;
   word var←c14088;
   (* (( (ptr) gf←c0111)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0111)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0111)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0111)+10) ) = (word) XR←GetTypeIndexS((word) (&string7));
   (*  (ptr) (( (bPt) gf←c0111)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0111)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0111)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0111)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0111)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0111)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0111)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0111)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0111)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0111)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0111)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0111)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0111)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0111)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0111)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0111)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string23);
   (void) XR←DeclareGlobalFrame((word) "CustomBrickImpl", &globalframe, (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25)
      , (word) (( (bPt) gf←c0111)+124)/* var←c12968 */ );
   var←c14088 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string26)), 73);
   (* (( (ptr) gf←c0111)+37)/* var←c13576 */  ) = var←c14088;
   (void) XR←ImportProcS(var←c14088, 67634690);
   (void) XR←ImportProcS(var←c14088, 67373057);
   var←c14088 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string27)), 60);
   (* (( (ptr) gf←c0111)+38)/* var←c13928 */  ) = var←c14088;
   (void) XR←ImportProcS(var←c14088, 1320708);
   (void) XR←ImportProcS(var←c14088, 68685571);
   var←c14088 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string28)), 103);
   (* (( (ptr) gf←c0111)+33)/* var←c13160 */  ) = var←c14088;
   (void) XR←ImportProcS(var←c14088, 68958724);
   (void) XR←ImportProcS(var←c14088, 67392257);
   (void) XR←ImportProcS(var←c14088, 134763778);
   (void) XR←ImportProcS(var←c14088, 67640578);
   var←c14088 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string29)), 11);
   (* (( (ptr) gf←c0111)+35)/* var←c13256 */  ) = var←c14088;
   (void) XR←ImportProcS(var←c14088, 67371521);
   var←c14088 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string30)), 43);
   (* (( (ptr) gf←c0111)+34)/* var←c13192 */  ) = var←c14088;
   (void) XR←ImportProcS(var←c14088, 68419845);
   (void) XR←ImportProcS(var←c14088, 67633666);
   (void) XR←ImportProcS(var←c14088, 67896323);
   var←c14088 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string31)), 27);
   (* (( (ptr) gf←c0111)+36)/* var←c13288 */  ) = var←c14088;
   var←c14088 = (word) XR←ExportInterface((word) "CustomBrick", (word) XR←GetTypeIndexS((word) (&string32)), 1);
   (* (( (ptr) gf←c0111)+39)/* var←c14120 */  ) = var←c14088;
   (void) XR←ExportProcS(var←c14088, (word) (( (bPt) gf←c0111)+108)/* var←c12904 */ , 67633154);
   }

static void CustomBrickImpl←P0(formal←c027, formal←c026)
   word formal←c027;
   word formal←c026;
   {
   /* CustomBrickImpl: */ 
   }

static void Complain←P60(rope←v3236)
   word rope←v3236;
   {
   /* Complain: */ 
   }

static word HalftonePropertiesFromRope←P120(specs←v3296, formal←c0142)
   word specs←v3296;
   word formal←c0142;
   {
   W18 var←c14152;
   /* declaration of tonerUniverse←v3324 skipped */ 
   register ptr gf←c14184 =  (ptr) &globalframe;
   /* declaration of h←v3368 skipped */ 
   /* declaration of var←c13000 skipped */ 
   /* declaration of var←c13032 skipped */ 
   /* declaration of var←c13064 skipped */ 
   /* declaration of var←c13096 skipped */ 
   /* declaration of var←c13128 skipped */ 
   /* declaration of cmds←v3536 skipped */ 
   /* declaration of tok←v3564 skipped */ 
   (* (( (ptr) &var←c14152)+4)/* tonerUniverse←v3324 */  ) = formal←c0142;
   /* HalftonePropertiesFromRope: */ 
SOURCE(829, 3258)
   {
      word tmpAddr33;
      tmpAddr33 = (word) (( (ptr) &var←c14152)+6)/* var←c13000 */ ;
      (*  (ptr) tmpAddr33 ) = ( ((word)  (fPt) ParseBrick←P420) );
      (* (( (ptr) tmpAddr33) + 1) ) = 1;
      };
   {
      word tmpAddr34;
      tmpAddr34 = (word) (( (ptr) &var←c14152)+8)/* var←c13032 */ ;
      (*  (ptr) tmpAddr34 ) = ( ((word)  (fPt) RealFromRope←P360) );
      (* (( (ptr) tmpAddr34) + 1) ) = 1;
      };
   {
      word tmpAddr35;
      tmpAddr35 = (word) (( (ptr) &var←c14152)+10)/* var←c13064 */ ;
      (*  (ptr) tmpAddr35 ) = ( ((word)  (fPt) RealToNum←P300) );
      (* (( (ptr) tmpAddr35) + 1) ) = 1;
      };
   {
      word tmpAddr36;
      tmpAddr36 = (word) (( (ptr) &var←c14152)+12)/* var←c13096 */ ;
      (*  (ptr) tmpAddr36 ) = ( ((word)  (fPt) GetCmdToken←P240) );
      (* (( (ptr) tmpAddr36) + 1) ) = 1;
      };
   {
      word tmpAddr37;
      tmpAddr37 = (word) (( (ptr) &var←c14152)+14)/* var←c13128 */ ;
      (*  (ptr) tmpAddr37 ) = ( ((word)  (fPt) CmdTokenBreak←P180) );
      (* (( (ptr) tmpAddr37) + 1) ) = 1;
      };
SOURCE(829, 3258)
   (* (( (ptr) &var←c14152)+5)/* h←v3368 */  ) = 0;
SOURCE(3940, 37)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c14184)+33)/* var←c13160 */  ))+33) );
      (* (( (ptr) &var←c14152)+16)/* cmds←v3536 */  ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))(specs←v3296, 0, pd38);
      };
SOURCE(3979, 15)
   (* (( (ptr) &var←c14152)+17)/* tok←v3564 */  ) = 0;
SOURCE(3996, 7)
   (* (( (ptr) &var←c14152)+5)/* h←v3368 */  ) = 0;
SOURCE(4005, 82)
   lab←L100002: ;
   (* (( (ptr) &var←c14152)+17)/* tok←v3564 */  ) = (word) GetCmdToken←P240((* (( (ptr) &var←c14152)+16)/* cmds←v3536 */  ), (word) (
         ( (bPt) &var←c14152)+48)/* var←c13096 */ );
   if (((* (( (ptr) &var←c14152)+17)/* tok←v3564 */  ) != 0)) {
      }
   else {
      goto lab←L100000;
      };
SOURCE(4046, 41)
   {
      word pd39;
      pd39 = (* (( (ptr) (* (( (ptr) gf←c14184)+34)/* var←c13192 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd39 ))))((* (( (ptr) gf←c14184)+26) ), (* (( (ptr) &var←c14152)+17)/* tok←v3564 */  ), 1, pd39)
      )) {
SOURCE(4075, 12)
         (void) ParseBrick←P420((word) ((( (bPt) &var←c14152)+24)/* var←c13000 */ ));
         };
      };
   goto lab←L100002;
   lab←L100000: ;
SOURCE(829, 3258)
   return((* (( (ptr) &var←c14152)+5)/* h←v3368 */  ));
   }

static word CmdTokenBreak←P180(char←v3640, formal←c14216)
   word char←v3640;
   word formal←c14216;
   {
   word var←c3684;
   formal←c14216 = (formal←c14216 - 56);
   /* CmdTokenBreak: */ 
SOURCE(960, 221)
SOURCE(1020, 58)
   switch (char←v3640) {
      case 95: case 91: case 93: 
SOURCE(1064, 14)
         return(0);
      };
SOURCE(1080, 101)
   {
      word var←c13224;
      var←c13224 = char←v3640;
      switch (var←c13224) {
         case 32: case 9: case 44: case 59: case 10: case 13: 
            return(1);
         default: 
            return(2);
         };
      };
   }

static word GetCmdToken←P240(formal←c0143, formal←c14312)
   word formal←c0143;
   word formal←c14312;
   {
   W8 var←c14248;
   /* declaration of stream←v3744 skipped */ 
   register ptr gf←c14280 =  (ptr) &globalframe;
   word rope←v3788;
   formal←c14312 = (formal←c14312 - 48);
   var←c14248.f4/* stream←v3744 */  = formal←c0143;
   var←c14248.f0 = formal←c14312;
   /* GetCmdToken: */ 
SOURCE(1184, 136)
SOURCE(1184, 136)
   rope←v3788 = 0;
SOURCE(1247, 10)
   rope←v3788 = 0;
SOURCE(1259, 61)
   {
      /* declaration of var←c01 skipped */ 
      /* declaration of var←c02 skipped */ 
SOURCE(1259, 61)
      var←c14248.f5/* var←c01 */  = (* (( (ptr) (* (( (ptr) gf←c14280)+33)/* var←c13160 */  ))+89) );
      {
         word var←c03;
         {
            word var←c0130;
            var←c0130 = (word) &var←c14248;
            var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q732) ), ( ((word)  (fPt) NoName←Q1152) ), var←c0130);
            };
         if ((var←c03 == 2)) {
            goto lab←L100004;
            };
         };
      rope←v3788 = (*  (W2Pt) (( (ptr) &var←c14248)+6)/* var←c02 */  ).f0;
      lab←L100004: ;
      };
SOURCE(1184, 136)
   return(rope←v3788);
   }

static word NoName←Q732(formal←c0116)
   word formal←c0116;
   {
SOURCE(1259, 61)
   {
      word pd40;
      pd40 = (* (( (ptr) formal←c0116)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd40 ))))((word) (( (bPt) formal←c0116)+24), (* (( (ptr) formal←c0116)+4) ), (word) (( (bPt) (*  (ptr) formal←c0116 ))+56)
         , pd40);
      };
   return(0);
   }

static word RealToNum←P300(formal←c0144, bounds←v3876, name←v3904, formal←c14408)
   word formal←c0144;
   W2 bounds←v3876;
   word name←v3904;
   word formal←c14408;
   {
   W7 var←c14344;
   /* declaration of real←v3848 skipped */ 
   register ptr gf←c14376 =  (ptr) &globalframe;
   word number←v3948;
   formal←c14408 = (formal←c14408 - 40);
   var←c14344.f4/* real←v3848 */  = formal←c0144;
   var←c14344.f0 = formal←c14408;
   /* RealToNum: */ 
SOURCE(1340, 511)
SOURCE(1340, 511)
   number←v3948 = 0;
SOURCE(1438, 31)
   if ((name←v3904 == 0)) {
SOURCE(1455, 14)
      name←v3904 = (* (( (ptr) gf←c14376)+25) );
      };
SOURCE(1471, 52)
SOURCE(1471, 52)
   {
      /* declaration of var←c04 skipped */ 
      var←c14344.f5/* var←c04 */  = (* (( (ptr) (* (( (ptr) gf←c14376)+35)/* var←c13256 */  ))+6) );
      {
         /* declaration of var←c05 skipped */ 
         {
            word var←c06;
            {
               word var←c0131;
               var←c0131 = (word) &var←c14344;
               var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q792) ), ( ((word)  (fPt) NoName←Q1092) ), var←c0131);
               };
            if ((var←c06 == 3)) {
               goto lab←L100008;
               };
            };
         number←v3948 = var←c14344.f6/* var←c05 */ ;
         };
      };
   lab←L100008: ;
SOURCE(1534, 115)
   {
      word x41;
      if (((
         x41 = var←c14344.f4/* real←v3848 */ ,  *(float*)&x41
         ) != (float)(int)number←v3948)) {
SOURCE(1554, 95)
         {
            word var←c13320;
            {
               W2 var←c13352;
               W2 var←c13384;
               W2 var←c0132;
               var←c13352.f0 = 11;
               var←c13352.f1 = name←v3904;
               var←c13384.f0 = 8;
               var←c13384.f1 = var←c14344.f4/* real←v3848 */ ;
               (*  (ptr) (word) &var←c0132 ) = 0;
               (* (( (ptr) (word) &var←c0132) + 1) ) = 0;
               {
                  word pd42;
                  pd42 = (* (( (ptr) (* (( (ptr) gf←c14376)+33)/* var←c13160 */  ))+62) );
                  var←c13320 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) gf←c14376)+24) ), var←c13352, var←c13384, var←c0132, pd42)
                  ;
                  };
               };
            (void) Complain←P60(var←c13320);
            };
         };
      };
SOURCE(1651, 200)
   if (( (int)number←v3948 <  (int)bounds←v3876.f0) || ( (int)number←v3948 >  (int)bounds←v3876.f1)) {
SOURCE(1703, 148)
      {
         word var←c13448;
         {
            W2 var←c13480;
            W2 var←c13512;
            W2 var←c13544;
            var←c13480.f0 = 11;
            var←c13480.f1 = name←v3904;
            var←c13512.f0 = 5;
            var←c13512.f1 = bounds←v3876.f0;
            var←c13544.f0 = 5;
            var←c13544.f1 = bounds←v3876.f1;
            {
               word pd43;
               pd43 = (* (( (ptr) (* (( (ptr) gf←c14376)+33)/* var←c13160 */  ))+62) );
               var←c13448 = (word) ( *( (fPt) ((*  (ptr) pd43 ))))((* (( (ptr) gf←c14376)+12) ), var←c13480, var←c13512, var←c13544, pd43)
               ;
               };
            };
         (void) Complain←P60(var←c13448);
         };
      };
SOURCE(1340, 511)
   return(number←v3948);
   }

static word NoName←Q792(formal←c0119)
   word formal←c0119;
   {
SOURCE(1471, 52)
   {
      word pd44;
      pd44 = (* (( (ptr) formal←c0119)+5) );
      (* (( (ptr) formal←c0119)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd44 ))))((* ((( (ptr) formal←c0119)+4)) ), pd44);
      };
   return(0);
   }

static word RealFromRope←P360(formal←c0145, formal←c14504)
   word formal←c0145;
   word formal←c14504;
   {
   W8 var←c14440;
   /* declaration of rope←v4008 skipped */ 
   register ptr gf←c14472 =  (ptr) &globalframe;
   word real←v4052;
   /* declaration of oops←v4096 skipped */ 
   formal←c14504 = (formal←c14504 - 32);
   var←c14440.f4/* rope←v4008 */  = formal←c0145;
   var←c14440.f0 = formal←c14504;
   /* RealFromRope: */ 
SOURCE(1856, 322)
SOURCE(1913, 18)
   var←c14440.f5/* oops←v4096 */  = 0;
SOURCE(1933, 64)
SOURCE(1933, 64)
   {
      /* declaration of var←c07 skipped */ 
      var←c14440.f6/* var←c07 */  = (* (( (ptr) (* (( (ptr) gf←c14472)+37)/* var←c13576 */  ))+12) );
      {
         /* declaration of var←c08 skipped */ 
         {
            word var←c09;
            {
               word var←c0133;
               var←c0133 = (word) &var←c14440;
               var←c09 = (word) XR←Enable(( ((word)  (fPt) NoName←Q912) ), ( ((word)  (fPt) NoName←Q1032) ), var←c0133);
               };
            if ((var←c09 == 4)) {
               goto lab←L100012;
               };
            };
         real←v4052 = var←c14440.f7/* var←c08 */ ;
         };
      };
   lab←L100012: ;
SOURCE(2011, 91)
   if ((0 != var←c14440.f5/* oops←v4096 */ )) {
SOURCE(2025, 12)
      var←c14440.f5/* oops←v4096 */  = 0;
SOURCE(2039, 63)
SOURCE(2039, 63)
      {
         /* declaration of var←c010 skipped */ 
         var←c14440.f6/* var←c010 */  = (* (( (ptr) (* (( (ptr) gf←c14472)+37)/* var←c13576 */  ))+10) );
         {
            /* declaration of var←c011 skipped */ 
            {
               word var←c012;
               var←c012 = (word) XR←Enable(( ((word)  (fPt) NoName←Q852) ), ( ((word)  (fPt) NoName←Q972) ), (word) &var←c14440);
               if ((var←c012 == 5)) {
                  goto lab←L100016;
                  };
               };
            {
               float tf45;
               real←v4052 = (
                  tf45 = (float)(int)var←c14440.f7/* var←c011 */ ,  *(word*)&tf45
                  );
               };
            };
         };
      lab←L100016: ;
      };
SOURCE(2117, 61)
   if ((0 != var←c14440.f5/* oops←v4096 */ )) {
SOURCE(2130, 48)
      {
         word var←c13608;
         {
            word pd46;
            pd46 = (* (( (ptr) (* (( (ptr) gf←c14472)+34)/* var←c13192 */  ))+6) );
            var←c13608 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) gf←c14472)+11) ), var←c14440.f4/* rope←v4008 */ , pd46);
            };
         (void) Complain←P60(var←c13608);
         };
      };
SOURCE(1856, 322)
   return(real←v4052);
   }

static word NoName←Q852(formal←c0122)
   word formal←c0122;
   {
SOURCE(2039, 63)
   {
      word pd47;
      pd47 = (* (( (ptr) formal←c0122)+6) );
      (* (( (ptr) formal←c0122)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) formal←c0122)+4) ), 8, pd47);
      };
   return(0);
   }

static word NoName←Q912(formal←c0123)
   word formal←c0123;
   {
SOURCE(1933, 64)
   {
      word pd48;
      pd48 = (* (( (ptr) formal←c0123)+6) );
      (* (( (ptr) formal←c0123)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd48 ))))((* ((( (ptr) formal←c0123)+4)) ), pd48);
      };
   return(0);
   }

static void ParseBrick←P420(formal←c14568)
   word formal←c14568;
   {
   register ptr gf←c14536 =  (ptr) &globalframe;
   word a←v4140;
   word sSize←v4168 = 0;
   word fSize←v4196 = 0;
   word phase←v4224 = 0;
   word maxSample←v4252 = 0;
   word toner←v4280 = 0;
   word n←v4308 = 0;
   word brick←v4336;
   formal←c14568 = (formal←c14568 - 24);
   /* ParseBrick: */ 
SOURCE(2183, 1752)
SOURCE(2204, 59)
   a←v4140 = XR←NewObject(4000, (* (( (ptr) gf←c14536)+10) ));
SOURCE(2372, 29)
   brick←v4336 = XR←NewObject(12, (* (( (ptr) gf←c14536)+9) ));
SOURCE(2403, 23)
   (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
      );
SOURCE(2428, 338)
   lab←L100021: ;
   {
      word pd49;
      pd49 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
      if ((word) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+26) ), 1, pd49)) {
         }
      else {
         goto lab←L100019;
         };
      };
SOURCE(2458, 23)
   (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
      );
SOURCE(2483, 177)
   lab←L100024: ;
   {
      word tc50;
      word pd51;
      if (((* (( (ptr) formal←c14568)+17) ) != 0)) {
         pd51 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
         tc50 =  (word) (0 == (word) ( *( (fPt) ((*  (ptr) pd51 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+13) ), 1, pd51)
         );
         }
      else {
         tc50 =  (word) 0;
         };
      if (tc50) {
         }
      else {
         goto lab←L100022;
         };
      };
   {
      word val←v4476;
SOURCE(2531, 44)
      {
         word var←c13672;
         var←c13672 = (word) RealFromRope←P360((* (( (ptr) formal←c14568)+17) ), (word) (( (bPt) formal←c14568)+32));
         {
            W2 var←c13704;
            var←c13704.f0 = 0;
            var←c13704.f1 = 2147483647;
            val←v4476 = (word) RealToNum←P300(var←c13672, var←c13704, 0, (word) (( (bPt) formal←c14568)+40));
            };
         };
SOURCE(2577, 10)
      (* (( (ptr) a←v4140)+BCK(n←v4308, 1000)) ) = val←v4476;
SOURCE(2589, 9)
      n←v4308 = (n←v4308 + 1);
SOURCE(2600, 35)
      if ((sSize←v4168 == 0)) {
SOURCE(2618, 17)
         fSize←v4196 = (fSize←v4196 + 1);
         };
SOURCE(2637, 23)
      (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
         );
      };
   goto lab←L100024;
   lab←L100022: ;
SOURCE(2671, 17)
   sSize←v4168 = (sSize←v4168 + 1);
SOURCE(2690, 51)
   if (((n←v4308 % fSize←v4196) != 0)) {
SOURCE(2714, 27)
      (void) Complain←P60((* ((( (ptr) gf←c14536)+14)) ));
      };
SOURCE(2743, 23)
   (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
      );
   goto lab←L100021;
   lab←L100019: ;
SOURCE(2777, 85)
   {
      word pd52;
      pd52 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd52 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+13) ), 1, pd52)
      )) {
SOURCE(2806, 29)
         (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
            );
         }
      else {
SOURCE(2835, 27)
         (void) Complain←P60((* ((( (ptr) gf←c14536)+14)) ));
         };
      };
SOURCE(2864, 42)
   {
      word var←c13736;
      var←c13736 = (word) RealFromRope←P360((* (( (ptr) formal←c14568)+17) ), (word) (( (bPt) formal←c14568)+32));
      {
         W2 var←c13768;
         var←c13768.f0 = 0;
         var←c13768.f1 = 65535;
         {
            word idx53;
            phase←v4224 = (
               idx53 = (word) RealToNum←P300(var←c13736, var←c13768, 0, (word) (( (bPt) formal←c14568)+40)),
               SGNCK(idx53)
               );
            };
         };
      };
SOURCE(2908, 23)
   (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
      );
SOURCE(2933, 46)
   {
      word var←c13800;
      var←c13800 = (word) RealFromRope←P360((* (( (ptr) formal←c14568)+17) ), (word) (( (bPt) formal←c14568)+32));
      {
         W2 var←c13832;
         var←c13832.f0 = 0;
         var←c13832.f1 = 65535;
         {
            word idx54;
            maxSample←v4252 = (
               idx54 = (word) RealToNum←P300(var←c13800, var←c13832, 0, (word) (( (bPt) formal←c14568)+40)),
               SGNCK(idx54)
               );
            };
         };
      };
SOURCE(2981, 23)
   (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
      );
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd55 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+15) ), 0, pd55)
      )) {
SOURCE(3058, 13)
         toner←v4280 = 0;
         }
      else {
         {
            word pd56;
            pd56 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd56 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+16) ), 0, pd56)
            )) {
SOURCE(3107, 12)
               toner←v4280 = 1;
               }
            else {
               {
                  word pd57;
                  pd57 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+17) ), 0, pd57)
                  )) {
SOURCE(3158, 15)
                     toner←v4280 = 2;
                     }
                  else {
                     {
                        word pd58;
                        pd58 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
                        if ((0 != (word) ( *( (fPt) ((*  (ptr) pd58 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+18) ), 0, pd58)
                        )) {
SOURCE(3211, 14)
                           toner←v4280 = 3;
                           }
                        else {
SOURCE(3238, 66)
                           {
/*1*/   word var←c13864;
/*1*/   {
/*1*/      word pd59;
/*1*/      pd59 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+5) );
/*1*/      var←c13864 = (word) ( *( (fPt) ((*  (ptr) pd59 ))))((* (( (ptr) gf←c14536)+19) ), (* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+20)
/*1*/          ), 0, 0, pd59);
/*1*/      };
/*1*/   (void) Complain←P60(var←c13864);
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(3306, 23)
   (* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
      );
SOURCE(3331, 81)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */  ))+8) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+21) ), 0, pd60)
      )) {
SOURCE(3375, 37)
         (void) Complain←P60((* ((( (ptr) gf←c14536)+22)) ));
         };
      };
SOURCE(3414, 27)
   (*  (ptr) brick←v4336 ) = maxSample←v4252;
SOURCE(3443, 133)
   {
      W4 var←c13896;
      var←c13896.f0 = 0;
      var←c13896.f1 = 0;
      var←c13896.f2 = sSize←v4168;
      var←c13896.f3 = fSize←v4196;
      {
         word pd61;
         word idx62;
         pd61 = (* (( (ptr) (* (( (ptr) gf←c14536)+38)/* var←c13928 */  ))+19) );
         (* (( (ptr) brick←v4336)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd61 ))))(var←c13896, (
               idx62 = (word)  ( (maxSample←v4252 > 255) ? 32 : 8 ) ,
               BCK(idx62, 33)
               ), 0, pd61);
         };
      };
SOURCE(3578, 19)
   (* (( (ptr) brick←v4336)+2) ) = phase←v4224;
SOURCE(3599, 234)
   {
      register word s←v4520 = 0;
      register word noName←c13960;
      noName←c13960 = sSize←v4168;
      if ((s←v4520 >= noName←c13960)) {
         goto lab←L100025;
         };
      lab←L100028: ;
SOURCE(3627, 206)
      {
         register word f←v4564 = 0;
         register word noName←c13992;
         noName←c13992 = fSize←v4196;
         if ((f←v4564 >= noName←c13992)) {
            goto lab←L100029;
            };
         lab←L100032: ;
         {
            word val←v4608;
SOURCE(3655, 23)
            {
               word idx63;
               word idx64;
               val←v4608 = (
                  idx64 = (* (( (ptr) a←v4140)+(
                        idx63 = (word) ((s←v4520 * fSize←v4196) + f←v4564),
                        BCK(idx63, 1000)
                        )) ),
                  SGNCK(idx64)
                  );
               };
SOURCE(3680, 86)
            if ((val←v4608 > maxSample←v4252)) {
SOURCE(3714, 52)
               (void) Complain←P60((* ((( (ptr) gf←c14536)+23)) ));
               };
SOURCE(3768, 65)
            {
               W2 var←c14024;
               var←c14024.f0 = s←v4520;
               var←c14024.f1 = f←v4564;
               {
                  word pd65;
                  pd65 = (* (( (ptr) (* (( (ptr) gf←c14536)+38)/* var←c13928 */  ))+43) );
                  (void) ( *( (fPt) ((*  (ptr) pd65 ))))((* (( (ptr) brick←v4336)+1) ), var←c14024, val←v4608, 0, pd65);
                  };
               };
            };
         f←v4564 = (f←v4564 + 1);
         if ((f←v4564 < noName←c13992)) {
            goto lab←L100032;
            };
         lab←L100029: ;
         };
      s←v4520 = (s←v4520 + 1);
      if ((s←v4520 < noName←c13960)) {
         goto lab←L100028;
         };
      lab←L100025: ;
      };
SOURCE(3853, 82)
   if (((*  (bPt) ((( (bPt) formal←c14568)+18) + (toner←v4280 >> 3)) ) >> (7 - ((toner←v4280 & 7)))) & 1) {
SOURCE(3882, 53)
      {
         word var←c14056;
         var←c14056 = XR←NewObject(24, (* (( (ptr) gf←c14536)+8) ));
         (* (( (ptr) var←c14056)+1) ) = toner←v4280;
         (*  (W3Pt) (( (ptr) var←c14056)+2) ) = (*  (W3Pt) brick←v4336 );
         (* (( (ptr) var←c14056)+5) ) = (* (( (ptr) formal←c14568)+5) );
         (* (( (ptr) formal←c14568)+5) ) = var←c14056;
         };
      };
   }

static void NoName←Q972(formal←c090, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c090;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0126 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0126)+37)/* var←c13576 */  ))+7) ))) {
      {
         word reason←v12180;
         word index←v12208;
         reason←v12180 = (*  (ptr) formal←c200015 );
         index←v12208 = (* (( (ptr) formal←c200015)+1) );
SOURCE(2091, 11)
         (* (( (ptr) formal←c200012)+5) ) = 1;
SOURCE(2104, 8)
         (*  (ptr) formal←c090 ) = 2;
         (* (( (ptr) formal←c090)+1) ) = 5;
         return;
         };
      };
   (*  (ptr) formal←c090 ) = 0;
   (* (( (ptr) formal←c090)+1) ) = 0;
   return;
   }

static void NoName←Q1032(formal←c097, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c097;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0127 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0127)+37)/* var←c13576 */  ))+7) ))) {
      {
         word reason←v12092;
         word index←v12120;
         reason←v12092 = (*  (ptr) formal←c200011 );
         index←v12120 = (* (( (ptr) formal←c200011)+1) );
SOURCE(1986, 11)
         (* (( (ptr) formal←c200008)+5) ) = 1;
SOURCE(1999, 8)
         (*  (ptr) formal←c097 ) = 2;
         (* (( (ptr) formal←c097)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c097 ) = 0;
   (* (( (ptr) formal←c097)+1) ) = 0;
   return;
   }

static void NoName←Q1092(formal←c0104, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0104;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0128 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0128)+36)/* var←c13288 */  ))+22) ))) {
      {
         word signal←v11752;
         word parameters←v11780;
         signal←v11752 = (*  (ptr) formal←c200007 );
         parameters←v11780 = (* (( (ptr) formal←c200007)+1) );
SOURCE(1523, 9)
         (*  (ptr) formal←c0104 ) = 2;
         (* (( (ptr) formal←c0104)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0104 ) = 0;
   (* (( (ptr) formal←c0104)+1) ) = 0;
   return;
   }

static void NoName←Q1152(formal←c0110, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0110;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0129 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0129)+33)/* var←c13160 */  ))+4) ))) {
      {
         word stream←v11692;
         stream←v11692 = (*  (ptr) formal←c200003 );
SOURCE(1320, 15)
         (*  (ptr) formal←c0110 ) = 2;
         (* (( (ptr) formal←c0110)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0110 ) = 0;
   (* (( (ptr) formal←c0110)+1) ) = 0;
   return;
   }

/* file: CustomBrickImpl, module: CustomBrickImpl, compiled at: February 22, 1992 2:21:47 pm PST */ 
extern void XR←install←CustomBrickImpl() {
   NoName←Q672();
   }
extern void XR←run←CustomBrickImpl() { XR←Start(&globalframe); }