/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: March 6, 1992 1:23:49 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: BlockRotateImpl, module: BlockRotateImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITOR(x, y) (((word)(x)) | ((word)(y)))
#define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
#define XRM←BITRSHIFT(x, y) ((word)(x) >> (word)(y))
#define XRM←BITNOT(x) (~((word)(x)))
static char versionStamp[] = "@(#)mob←version [2106866470,446859600] BlockRotateImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
static void NoName←Q240();
static void BlockRotateImpl←P0();
static word RotateLeft←P60();
static word RotateRight←P120();
static word Rotate8x32←P180();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\175\224\073\046\300\032\242\211\120\100\164\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\324\206\134\257\300\133\143\207\032\100\150\000\000"};
static struct {
   word f0[4]; word f4; word f5; word f6; 
   word f7; word f8; word f9; word f10; 
   word f11[2]; 
   } globalframe = {
   {0}, (word) Rotate8x32←P180, 0, (word) RotateRight←P120, 
   0, (word) RotateLeft←P60, 0, (word) BlockRotateImpl←P0, 
   {0}
   };

static void NoName←Q240()
   {
   register ptr gf←c086 =  (ptr) &globalframe;
   word var←c6388;
   (void) XR←DeclareGlobalFrame((word) "BlockRotateImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (
         ( (bPt) gf←c086)+40)/* var←c4788 */ );
   var←c6388 = (word) XR←ExportInterface((word) "BlockRotate", (word) XR←GetTypeIndexS((word) (&string2)), 3);
   (* (( (ptr) gf←c086)+12)/* var←c6356 */  ) = var←c6388;
   (void) XR←ExportProcS(var←c6388, (word) (( (bPt) gf←c086)+32)/* var←c4756 */ , 68157444);
   (void) XR←ExportProcS(var←c6388, (word) (( (bPt) gf←c086)+24)/* var←c4724 */ , 68157700);
   (void) XR←ExportProcS(var←c6388, (word) (( (bPt) gf←c086)+16)/* var←c4692 */ , 68420101);
   }

static void BlockRotateImpl←P0(formal←c08, formal←c07)
   word formal←c08;
   word formal←c07;
   {
   /* BlockRotateImpl: */ 
   }

static word RotateLeft←P60(src←v2712, srcPitch←v2740, dst←v2768, dstPitch←v2796)
   word src←v2712;
   word srcPitch←v2740;
   word dst←v2768;
   word dstPitch←v2796;
   {
   word nz←v2840;
   word dstInc←v3272;
   /* RotateLeft: */ 
SOURCE(217, 638)
SOURCE(348, 28)
   dstInc←v3272 = IOP2( * ,  (int)dstPitch←v2796,  (int)8);
SOURCE(378, 35)
   dst←v2768 = (dst←v2768 + IOP2( * ,  (int)31,  (int)dstPitch←v2796));
SOURCE(416, 35)
   src←v2712 = (src←v2712 + IOP2( * ,  (int)31,  (int)srcPitch←v2740));
SOURCE(454, 21)
   dstPitch←v2796 = INEG(dstPitch←v2796);
SOURCE(477, 21)
   srcPitch←v2740 = INEG(srcPitch←v2740);
SOURCE(500, 58)
   nz←v2840 = (word) Rotate8x32←P180(src←v2712, 0, srcPitch←v2740, dst←v2768, dstPitch←v2796);
SOURCE(561, 18)
   dst←v2768 = (dst←v2768 - dstInc←v3272);
SOURCE(581, 76)
   {
      word var←c4820;
      var←c4820 = (word) Rotate8x32←P180(src←v2712, 1, srcPitch←v2740, dst←v2768, dstPitch←v2796);
      nz←v2840 = (word) XRM←BITOR(nz←v2840, var←c4820);
      };
SOURCE(660, 18)
   dst←v2768 = (dst←v2768 - dstInc←v3272);
SOURCE(680, 76)
   {
      word var←c4852;
      var←c4852 = (word) Rotate8x32←P180(src←v2712, 2, srcPitch←v2740, dst←v2768, dstPitch←v2796);
      nz←v2840 = (word) XRM←BITOR(nz←v2840, var←c4852);
      };
SOURCE(759, 18)
   dst←v2768 = (dst←v2768 - dstInc←v3272);
SOURCE(779, 76)
   {
      word var←c4884;
      var←c4884 = (word) Rotate8x32←P180(src←v2712, 3, srcPitch←v2740, dst←v2768, dstPitch←v2796);
      nz←v2840 = (word) XRM←BITOR(nz←v2840, var←c4884);
      };
SOURCE(217, 638)
   return(nz←v2840);
   }

static word RotateRight←P120(src←v2900, srcPitch←v2928, dst←v2956, dstPitch←v2984)
   word src←v2900;
   word srcPitch←v2928;
   word dst←v2956;
   word dstPitch←v2984;
   {
   word nz←v3028;
   word dstInc←v3316;
   /* RotateRight: */ 
SOURCE(862, 517)
SOURCE(994, 28)
   dstInc←v3316 = IOP2( * ,  (int)dstPitch←v2984,  (int)8);
SOURCE(1024, 58)
   nz←v3028 = (word) Rotate8x32←P180(src←v2900, 0, srcPitch←v2928, dst←v2956, dstPitch←v2984);
SOURCE(1085, 18)
   dst←v2956 = (dst←v2956 + dstInc←v3316);
SOURCE(1105, 76)
   {
      word var←c4916;
      var←c4916 = (word) Rotate8x32←P180(src←v2900, 1, srcPitch←v2928, dst←v2956, dstPitch←v2984);
      nz←v3028 = (word) XRM←BITOR(nz←v3028, var←c4916);
      };
SOURCE(1184, 18)
   dst←v2956 = (dst←v2956 + dstInc←v3316);
SOURCE(1204, 76)
   {
      word var←c4948;
      var←c4948 = (word) Rotate8x32←P180(src←v2900, 2, srcPitch←v2928, dst←v2956, dstPitch←v2984);
      nz←v3028 = (word) XRM←BITOR(nz←v3028, var←c4948);
      };
SOURCE(1283, 18)
   dst←v2956 = (dst←v2956 + dstInc←v3316);
SOURCE(1303, 76)
   {
      word var←c4980;
      var←c4980 = (word) Rotate8x32←P180(src←v2900, 3, srcPitch←v2928, dst←v2956, dstPitch←v2984);
      nz←v3028 = (word) XRM←BITOR(nz←v3028, var←c4980);
      };
SOURCE(862, 517)
   return(nz←v3028);
   }

static word Rotate8x32←P180(src←v3088, srcOff←v3116, srcPitch←v3144, dst←v3172, dstPitch←v3200)
   word src←v3088;
   word srcOff←v3116;
   word srcPitch←v3144;
   word dst←v3172;
   word dstPitch←v3200;
   {
   word nz←v3244;
   word w←v3360;
   word w0←v3388;
   word w1←v3416;
   word w2←v3444;
   word w3←v3472;
   word w4←v3500;
   word w5←v3528;
   word w6←v3556;
   word w7←v3584;
   word mask←v3612;
   word off←v3640;
   /* Rotate8x32: */ 
SOURCE(1386, 4903)
SOURCE(1586, 21)
   off←v3640 = srcOff←v3116;
SOURCE(1611, 13)
   w0←v3388 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1627, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1650, 13)
   w1←v3416 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1666, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1689, 13)
   w2←v3444 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1705, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1728, 13)
   w3←v3472 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1744, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1767, 13)
   w4←v3500 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1783, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1806, 13)
   w5←v3528 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1822, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1845, 13)
   w6←v3556 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1861, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1884, 13)
   w7←v3584 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1900, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1923, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(1937, 32)
   w0←v3388 = (w0←v3388 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(1972, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(1995, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2009, 32)
   w1←v3416 = (w1←v3416 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2044, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2067, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2081, 32)
   w2←v3444 = (w2←v3444 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2116, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2139, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2153, 32)
   w3←v3472 = (w3←v3472 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2188, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2211, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2225, 32)
   w4←v3500 = (w4←v3500 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2260, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2283, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2297, 32)
   w5←v3528 = (w5←v3528 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2332, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2355, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2369, 32)
   w6←v3556 = (w6←v3556 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2404, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2427, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2441, 32)
   w7←v3584 = (w7←v3584 + (word) XRM←BITLSHIFT(w←v3360, 8));
SOURCE(2476, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2499, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2513, 33)
   w0←v3388 = (w0←v3388 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2549, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2572, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2586, 33)
   w1←v3416 = (w1←v3416 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2622, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2645, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2659, 33)
   w2←v3444 = (w2←v3444 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2695, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2718, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2732, 33)
   w3←v3472 = (w3←v3472 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2768, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2791, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2805, 33)
   w4←v3500 = (w4←v3500 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2841, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2864, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2878, 33)
   w5←v3528 = (w5←v3528 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2914, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(2937, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(2951, 33)
   w6←v3556 = (w6←v3556 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(2987, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3010, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3024, 33)
   w7←v3584 = (w7←v3584 + (word) XRM←BITLSHIFT(w←v3360, 16));
SOURCE(3060, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3083, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3097, 33)
   w0←v3388 = (w0←v3388 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3133, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3156, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3170, 33)
   w1←v3416 = (w1←v3416 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3206, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3229, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3243, 33)
   w2←v3444 = (w2←v3444 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3279, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3302, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3316, 33)
   w3←v3472 = (w3←v3472 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3352, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3375, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3389, 33)
   w4←v3500 = (w4←v3500 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3425, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3448, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3462, 33)
   w5←v3528 = (w5←v3528 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3498, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3521, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3535, 33)
   w6←v3556 = (w6←v3556 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3571, 20)
   off←v3640 = (off←v3640 + srcPitch←v3144);
SOURCE(3594, 12)
   w←v3360 = (word) (* (( (bPt) src←v3088)+off←v3640) );
SOURCE(3608, 33)
   w7←v3584 = (w7←v3584 + (word) XRM←BITLSHIFT(w←v3360, 24));
SOURCE(3644, 133)
   {
      word var←c5012;
      {
         word var←c5044;
         {
            word var←c5076;
            {
               word var←c5108;
               {
                  word var←c5140;
                  {
                     word var←c5172;
                     var←c5172 = (word) XRM←BITOR(w0←v3388, w1←v3416);
                     var←c5140 = (word) XRM←BITOR(var←c5172, w2←v3444);
                     };
                  var←c5108 = (word) XRM←BITOR(var←c5140, w3←v3472);
                  };
               var←c5076 = (word) XRM←BITOR(var←c5108, w4←v3500);
               };
            var←c5044 = (word) XRM←BITOR(var←c5076, w5←v3528);
            };
         var←c5012 = (word) XRM←BITOR(var←c5044, w6←v3556);
         };
      nz←v3244 = (word) XRM←BITOR(var←c5012, w7←v3584);
      };
SOURCE(3779, 2304)
   if ((nz←v3244 != 0)) {
SOURCE(3797, 16)
      mask←v3612 = 1431655765;
SOURCE(3816, 27)
      w←v3360 = (word) XRM←BITAND(w0←v3388, mask←v3612);
SOURCE(3845, 49)
      {
         word var←c5204;
         var←c5204 = (word) XRM←BITRSHIFT(w0←v3388, 1);
         w0←v3388 = (word) XRM←BITAND(mask←v3612, var←c5204);
         };
SOURCE(3896, 48)
      {
         word var←c5236;
         word var←c087;
         var←c5236 = (word) XRM←BITNOT(mask←v3612);
         var←c087 = (word) XRM←BITAND(var←c5236, w1←v3416);
         w0←v3388 = (w0←v3388 + var←c087);
         };
SOURCE(3946, 53)
      {
         word var←c5268;
         word var←c088;
         var←c5268 = (word) XRM←BITAND(mask←v3612, w1←v3416);
         var←c088 = (word) XRM←BITLSHIFT(var←c5268, 1);
         w1←v3416 = (w←v3360 + var←c088);
         };
SOURCE(4002, 27)
      w←v3360 = (word) XRM←BITAND(w2←v3444, mask←v3612);
SOURCE(4031, 49)
      {
         word var←c5300;
         var←c5300 = (word) XRM←BITRSHIFT(w2←v3444, 1);
         w2←v3444 = (word) XRM←BITAND(mask←v3612, var←c5300);
         };
SOURCE(4082, 48)
      {
         word var←c5332;
         word var←c089;
         var←c5332 = (word) XRM←BITNOT(mask←v3612);
         var←c089 = (word) XRM←BITAND(var←c5332, w3←v3472);
         w2←v3444 = (w2←v3444 + var←c089);
         };
SOURCE(4132, 53)
      {
         word var←c5364;
         word var←c090;
         var←c5364 = (word) XRM←BITAND(mask←v3612, w3←v3472);
         var←c090 = (word) XRM←BITLSHIFT(var←c5364, 1);
         w3←v3472 = (w←v3360 + var←c090);
         };
SOURCE(4188, 27)
      w←v3360 = (word) XRM←BITAND(w4←v3500, mask←v3612);
SOURCE(4217, 49)
      {
         word var←c5396;
         var←c5396 = (word) XRM←BITRSHIFT(w4←v3500, 1);
         w4←v3500 = (word) XRM←BITAND(mask←v3612, var←c5396);
         };
SOURCE(4268, 48)
      {
         word var←c5428;
         word var←c091;
         var←c5428 = (word) XRM←BITNOT(mask←v3612);
         var←c091 = (word) XRM←BITAND(var←c5428, w5←v3528);
         w4←v3500 = (w4←v3500 + var←c091);
         };
SOURCE(4318, 53)
      {
         word var←c5460;
         word var←c092;
         var←c5460 = (word) XRM←BITAND(mask←v3612, w5←v3528);
         var←c092 = (word) XRM←BITLSHIFT(var←c5460, 1);
         w5←v3528 = (w←v3360 + var←c092);
         };
SOURCE(4374, 27)
      w←v3360 = (word) XRM←BITAND(w6←v3556, mask←v3612);
SOURCE(4403, 49)
      {
         word var←c5492;
         var←c5492 = (word) XRM←BITRSHIFT(w6←v3556, 1);
         w6←v3556 = (word) XRM←BITAND(mask←v3612, var←c5492);
         };
SOURCE(4454, 48)
      {
         word var←c5524;
         word var←c093;
         var←c5524 = (word) XRM←BITNOT(mask←v3612);
         var←c093 = (word) XRM←BITAND(var←c5524, w7←v3584);
         w6←v3556 = (w6←v3556 + var←c093);
         };
SOURCE(4504, 53)
      {
         word var←c5556;
         word var←c094;
         var←c5556 = (word) XRM←BITAND(mask←v3612, w7←v3584);
         var←c094 = (word) XRM←BITLSHIFT(var←c5556, 1);
         w7←v3584 = (w←v3360 + var←c094);
         };
SOURCE(4560, 16)
      mask←v3612 = 858993459;
SOURCE(4579, 27)
      w←v3360 = (word) XRM←BITAND(w0←v3388, mask←v3612);
SOURCE(4608, 49)
      {
         word var←c5588;
         var←c5588 = (word) XRM←BITRSHIFT(w0←v3388, 2);
         w0←v3388 = (word) XRM←BITAND(mask←v3612, var←c5588);
         };
SOURCE(4659, 48)
      {
         word var←c5620;
         word var←c095;
         var←c5620 = (word) XRM←BITNOT(mask←v3612);
         var←c095 = (word) XRM←BITAND(var←c5620, w2←v3444);
         w0←v3388 = (w0←v3388 + var←c095);
         };
SOURCE(4709, 53)
      {
         word var←c5652;
         word var←c096;
         var←c5652 = (word) XRM←BITAND(mask←v3612, w2←v3444);
         var←c096 = (word) XRM←BITLSHIFT(var←c5652, 2);
         w2←v3444 = (w←v3360 + var←c096);
         };
SOURCE(4765, 27)
      w←v3360 = (word) XRM←BITAND(w1←v3416, mask←v3612);
SOURCE(4794, 49)
      {
         word var←c5684;
         var←c5684 = (word) XRM←BITRSHIFT(w1←v3416, 2);
         w1←v3416 = (word) XRM←BITAND(mask←v3612, var←c5684);
         };
SOURCE(4845, 48)
      {
         word var←c5716;
         word var←c097;
         var←c5716 = (word) XRM←BITNOT(mask←v3612);
         var←c097 = (word) XRM←BITAND(var←c5716, w3←v3472);
         w1←v3416 = (w1←v3416 + var←c097);
         };
SOURCE(4895, 53)
      {
         word var←c5748;
         word var←c098;
         var←c5748 = (word) XRM←BITAND(mask←v3612, w3←v3472);
         var←c098 = (word) XRM←BITLSHIFT(var←c5748, 2);
         w3←v3472 = (w←v3360 + var←c098);
         };
SOURCE(4951, 27)
      w←v3360 = (word) XRM←BITAND(w4←v3500, mask←v3612);
SOURCE(4980, 49)
      {
         word var←c5780;
         var←c5780 = (word) XRM←BITRSHIFT(w4←v3500, 2);
         w4←v3500 = (word) XRM←BITAND(mask←v3612, var←c5780);
         };
SOURCE(5031, 48)
      {
         word var←c5812;
         word var←c099;
         var←c5812 = (word) XRM←BITNOT(mask←v3612);
         var←c099 = (word) XRM←BITAND(var←c5812, w6←v3556);
         w4←v3500 = (w4←v3500 + var←c099);
         };
SOURCE(5081, 53)
      {
         word var←c5844;
         word var←c0100;
         var←c5844 = (word) XRM←BITAND(mask←v3612, w6←v3556);
         var←c0100 = (word) XRM←BITLSHIFT(var←c5844, 2);
         w6←v3556 = (w←v3360 + var←c0100);
         };
SOURCE(5137, 27)
      w←v3360 = (word) XRM←BITAND(w5←v3528, mask←v3612);
SOURCE(5166, 49)
      {
         word var←c5876;
         var←c5876 = (word) XRM←BITRSHIFT(w5←v3528, 2);
         w5←v3528 = (word) XRM←BITAND(mask←v3612, var←c5876);
         };
SOURCE(5217, 48)
      {
         word var←c5908;
         word var←c0101;
         var←c5908 = (word) XRM←BITNOT(mask←v3612);
         var←c0101 = (word) XRM←BITAND(var←c5908, w7←v3584);
         w5←v3528 = (w5←v3528 + var←c0101);
         };
SOURCE(5267, 53)
      {
         word var←c5940;
         word var←c0102;
         var←c5940 = (word) XRM←BITAND(mask←v3612, w7←v3584);
         var←c0102 = (word) XRM←BITLSHIFT(var←c5940, 2);
         w7←v3584 = (w←v3360 + var←c0102);
         };
SOURCE(5323, 16)
      mask←v3612 = 252645135;
SOURCE(5342, 27)
      w←v3360 = (word) XRM←BITAND(w0←v3388, mask←v3612);
SOURCE(5371, 49)
      {
         word var←c5972;
         var←c5972 = (word) XRM←BITRSHIFT(w0←v3388, 4);
         w0←v3388 = (word) XRM←BITAND(mask←v3612, var←c5972);
         };
SOURCE(5422, 48)
      {
         word var←c6004;
         word var←c0103;
         var←c6004 = (word) XRM←BITNOT(mask←v3612);
         var←c0103 = (word) XRM←BITAND(var←c6004, w4←v3500);
         w0←v3388 = (w0←v3388 + var←c0103);
         };
SOURCE(5472, 53)
      {
         word var←c6036;
         word var←c0104;
         var←c6036 = (word) XRM←BITAND(mask←v3612, w4←v3500);
         var←c0104 = (word) XRM←BITLSHIFT(var←c6036, 4);
         w4←v3500 = (w←v3360 + var←c0104);
         };
SOURCE(5528, 27)
      w←v3360 = (word) XRM←BITAND(w1←v3416, mask←v3612);
SOURCE(5557, 49)
      {
         word var←c6068;
         var←c6068 = (word) XRM←BITRSHIFT(w1←v3416, 4);
         w1←v3416 = (word) XRM←BITAND(mask←v3612, var←c6068);
         };
SOURCE(5608, 48)
      {
         word var←c6100;
         word var←c0105;
         var←c6100 = (word) XRM←BITNOT(mask←v3612);
         var←c0105 = (word) XRM←BITAND(var←c6100, w5←v3528);
         w1←v3416 = (w1←v3416 + var←c0105);
         };
SOURCE(5658, 53)
      {
         word var←c6132;
         word var←c0106;
         var←c6132 = (word) XRM←BITAND(mask←v3612, w5←v3528);
         var←c0106 = (word) XRM←BITLSHIFT(var←c6132, 4);
         w5←v3528 = (w←v3360 + var←c0106);
         };
SOURCE(5714, 27)
      w←v3360 = (word) XRM←BITAND(w2←v3444, mask←v3612);
SOURCE(5743, 49)
      {
         word var←c6164;
         var←c6164 = (word) XRM←BITRSHIFT(w2←v3444, 4);
         w2←v3444 = (word) XRM←BITAND(mask←v3612, var←c6164);
         };
SOURCE(5794, 48)
      {
         word var←c6196;
         word var←c0107;
         var←c6196 = (word) XRM←BITNOT(mask←v3612);
         var←c0107 = (word) XRM←BITAND(var←c6196, w6←v3556);
         w2←v3444 = (w2←v3444 + var←c0107);
         };
SOURCE(5844, 53)
      {
         word var←c6228;
         word var←c0108;
         var←c6228 = (word) XRM←BITAND(mask←v3612, w6←v3556);
         var←c0108 = (word) XRM←BITLSHIFT(var←c6228, 4);
         w6←v3556 = (w←v3360 + var←c0108);
         };
SOURCE(5900, 27)
      w←v3360 = (word) XRM←BITAND(w3←v3472, mask←v3612);
SOURCE(5929, 49)
      {
         word var←c6260;
         var←c6260 = (word) XRM←BITRSHIFT(w3←v3472, 4);
         w3←v3472 = (word) XRM←BITAND(mask←v3612, var←c6260);
         };
SOURCE(5980, 48)
      {
         word var←c6292;
         word var←c0109;
         var←c6292 = (word) XRM←BITNOT(mask←v3612);
         var←c0109 = (word) XRM←BITAND(var←c6292, w7←v3584);
         w3←v3472 = (w3←v3472 + var←c0109);
         };
SOURCE(6030, 53)
      {
         word var←c6324;
         word var←c0110;
         var←c6324 = (word) XRM←BITAND(mask←v3612, w7←v3584);
         var←c0110 = (word) XRM←BITLSHIFT(var←c6324, 4);
         w7←v3584 = (w←v3360 + var←c0110);
         };
      };
SOURCE(6090, 16)
   off←v3640 = IOP2( * ,  (int)dstPitch←v3200,  (int)2);
SOURCE(6108, 9)
   (*  (ptr) dst←v3172 ) = w0←v3388;
SOURCE(6119, 20)
   (*  (ptr) (dst←v3172 + dstPitch←v3200) ) = w1←v3416;
SOURCE(6141, 15)
   dst←v3172 = (dst←v3172 + off←v3640);
SOURCE(6158, 9)
   (*  (ptr) dst←v3172 ) = w2←v3444;
SOURCE(6169, 20)
   (*  (ptr) (dst←v3172 + dstPitch←v3200) ) = w3←v3472;
SOURCE(6191, 15)
   dst←v3172 = (dst←v3172 + off←v3640);
SOURCE(6208, 9)
   (*  (ptr) dst←v3172 ) = w4←v3500;
SOURCE(6219, 20)
   (*  (ptr) (dst←v3172 + dstPitch←v3200) ) = w5←v3528;
SOURCE(6241, 15)
   dst←v3172 = (dst←v3172 + off←v3640);
SOURCE(6258, 9)
   (*  (ptr) dst←v3172 ) = w6←v3556;
SOURCE(6269, 20)
   (*  (ptr) (dst←v3172 + dstPitch←v3200) ) = w7←v3584;
SOURCE(1386, 4903)
   return(nz←v3244);
   }

/* file: BlockRotateImpl, module: BlockRotateImpl, compiled at: March 6, 1992 1:23:49 pm PST */ 
extern void XR←install←BlockRotateImpl() {
   NoName←Q240();
   }
extern void XR←run←BlockRotateImpl() { XR←Start(&globalframe); }