/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 11:35:23 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: RasterOpForwardImpl, module: RasterOpForwardImpl */ 
/* switches: cfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITOR(x, y) (((word)(x)) | ((word)(y)))
#define XRM←BITNOT(x) (~((word)(x)))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
#define XRM←BITXOR(x, y) (((word)(x)) ↑ ((word)(y)))
#define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y))
#define XRM←BITRSHIFT(x, y) ((word)(x) >> (word)(y))
static char versionStamp[] = "@(#)mob←version [686624086,2358594489] RasterOpForwardImpl";
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 {W16 f; W16 r;} W32;
typedef struct {W32 f; word r;} W33;
typedef W33 *W33Pt;
typedef struct {word f0, f1;} W2;
typedef struct {W8 f; word r;} W9;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static void NoName←Q19320();
static void RasterOpForwardImpl←P0();
static void InitRightJustifiedOnes←P240();
static void Forward0←P360();
static void DoUniformLines←P948();
static void Forward1←P420();
static void DoUniformLines←P1956();
static void Forward2←P480();
static void DoUniformLines←P2964();
static void Forward3←P540();
static void DoUniformLines←P3972();
static void Forward4←P600();
static void DoUniformLines←P4980();
static void Forward5←P660();
static void DoUniformLines←P5988();
static void Forward6←P720();
static void DoUniformLines←P6996();
static void Forward7←P780();
static void DoUniformLines←P8004();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\050\355\015\126\300\214\225\113\271\100\164\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\207\330\332\257\300\255\011\025\200\100\150\000\000"};
static struct {
   word f0[45]; word f45; word f46; word f47; 
   word f48; word f49; word f50; word f51; 
   word f52; word f53; word f54; word f55; 
   word f56; word f57; word f58; word f59; 
   word f60; word f61; word f62; word f63; 
   word f64[2]; 
   } globalframe = {
   {0}, (word) Forward7←P780, 0, (word) Forward6←P720, 
   0, (word) Forward5←P660, 0, (word) Forward4←P600, 
   0, (word) Forward3←P540, 0, (word) Forward2←P480, 
   0, (word) Forward1←P420, 0, (word) Forward0←P360, 
   0, (word) InitRightJustifiedOnes←P240, 0, (word) RasterOpForwardImpl←P0, 
   {0}
   };

static void NoName←Q19320()
   {
   register ptr gf←c01560 =  (ptr) &globalframe;
   word var←c75728;
   (void) XR←DeclareGlobalFrame((word) "RasterOpForwardImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (
         ( (bPt) gf←c01560)+252)/* var←c38992 */ );
   var←c75728 = (word) XR←ExportInterface((word) "RasterOp", (word) XR←GetTypeIndexS((word) (&string2)), 8);
   (* (( (ptr) gf←c01560)+65)/* var←c75696 */  ) = var←c75728;
   (void) XR←ExportVar(var←c75728, 4, (word) (( (bPt) gf←c01560)+148)/* forwardOp←v3140 */ );
   }

static void RasterOpForwardImpl←P0(formal←c017, formal←c015)
   word formal←c017;
   word formal←c015;
   {
   register ptr gf←c75760 =  (ptr) &globalframe;
   /* RasterOpForwardImpl: */ 
SOURCE(44, 60540)
SOURCE(835, 69)
   (void) InitRightJustifiedOnes←P240((word) ((( (bPt) gf←c75760)+16)/* rightJustifiedOnes←v2832 */ ));
SOURCE(60606, 58)
   (* (( (ptr) gf←c75760)+37) ) = (word) (( (bPt) gf←c75760)+236)/* var←c38928 */ ;
   (* (( (ptr) gf←c75760)+38) ) = (word) (( (bPt) gf←c75760)+228)/* var←c38896 */ ;
   (* (( (ptr) gf←c75760)+39) ) = (word) (( (bPt) gf←c75760)+220)/* var←c38864 */ ;
   (* (( (ptr) gf←c75760)+40) ) = (word) (( (bPt) gf←c75760)+212)/* var←c38832 */ ;
   (* (( (ptr) gf←c75760)+41) ) = (word) (( (bPt) gf←c75760)+204)/* var←c38800 */ ;
   (* (( (ptr) gf←c75760)+42) ) = (word) (( (bPt) gf←c75760)+196)/* var←c38768 */ ;
   (* (( (ptr) gf←c75760)+43) ) = (word) (( (bPt) gf←c75760)+188)/* var←c38736 */ ;
   (* (( (ptr) gf←c75760)+44) ) = (word) (( (bPt) gf←c75760)+180)/* var←c38704 */ ;
   }

static void InitRightJustifiedOnes←P240(formal←c021)
   word formal←c021;
   {
   W33 a←v3668;
   word m←v5648 = 0;
   /* InitRightJustifiedOnes: */ 
SOURCE(906, 132)
SOURCE(988, 50)
   {
      register word n←v5692 = 0;
      if ((n←v5692 > 32)) {
         goto lab←L100001;
         };
      lab←L100004: ;
SOURCE(1019, 8)
      (* (( (ptr) &a←v3668)+n←v5692) ) = m←v5648;
SOURCE(1029, 9)
      m←v5648 = ((m←v5648 + m←v5648) + 1);
      if ((n←v5692 >= 32)) {
         goto lab←L100001;
         };
      n←v5692 = (n←v5692 + 1);
      goto lab←L100004;
      lab←L100001: ;
      };
   /* removed tail goto */ 
   (*  (W33Pt) formal←c021 ) = a←v3668;
   return;
   }

static void Forward0←P360(dst←v3848, src←v3876, formal←c01594, formal←c01595, sSize←v3960, formal←c01596)
   W2 dst←v3848;
   W2 src←v3876;
   word formal←c01594;
   word formal←c01595;
   word sSize←v3960;
   word formal←c01596;
   {
   W9 var←c75792;
   /* declaration of dstBpl←v3904 skipped */ 
   /* declaration of srcBpl←v3932 skipped */ 
   /* declaration of fSize←v3988 skipped */ 
   /* declaration of var←c39024 skipped */ 
   (* (( (ptr) &var←c75792)+4)/* dstBpl←v3904 */  ) = formal←c01594;
   (* (( (ptr) &var←c75792)+5)/* srcBpl←v3932 */  ) = formal←c01595;
   (* (( (ptr) &var←c75792)+6)/* fSize←v3988 */  ) = formal←c01596;
   /* Forward0: */ 
SOURCE(1163, 7028)
   {
      word tmpAddr3;
      tmpAddr3 = (word) (( (ptr) &var←c75792)+7)/* var←c39024 */ ;
      (*  (ptr) tmpAddr3 ) = ( ((word)  (fPt) DoUniformLines←P948) );
      (* (( (ptr) tmpAddr3) + 1) ) = 1;
      };
SOURCE(7721, 470)
   if (((word) XRM←BITOR(sSize←v3960, (* (( (ptr) &var←c75792)+6)/* fSize←v3988 */  )) != 0)) {
SOURCE(7755, 436)
      if ( ( (((* (( (ptr) &var←c75792)+4)/* dstBpl←v3904 */  ) & 037) == 0) ? (((* (( (ptr) &var←c75792)+5)/* srcBpl←v3932 */  ) & 037) == 0) : 0 ) ) {
SOURCE(7807, 59)
         (void) DoUniformLines←P948(sSize←v3960, dst←v3848.f0, dst←v3848.f1, src←v3876.f0, src←v3876.f1, (word) (( (bPt) &var←c75792)+28)
            /* var←c39024 */ );
         }
      else {
SOURCE(7877, 314)
         lab←L100007: ;
SOURCE(7880, 55)
         (void) DoUniformLines←P948(1, dst←v3848.f0, dst←v3848.f1, src←v3876.f0, src←v3876.f1, (word) (( (bPt) &var←c75792)+28)/* var←c39024 */ )
         ;
SOURCE(7937, 32)
         sSize←v3960 = (sSize←v3960 - 1);
         if ((sSize←v3960 == 0)) {
SOURCE(7969, 4)
            goto lab←L100006;
            };
SOURCE(7975, 61)
         {
            word var←c39056;
            word bits←v22400;
            bits←v22400 = (dst←v3848.f1 + (* (( (ptr) &var←c75792)+4)/* dstBpl←v3904 */  ));
SOURCE(627, 52)
            var←c39056 = ((bits←v22400 >> 5) << 2);
            dst←v3848.f0 = (dst←v3848.f0 + var←c39056);
            };
SOURCE(8038, 44)
         dst←v3848.f1 = ((dst←v3848.f1 + (* (( (ptr) &var←c75792)+4)/* dstBpl←v3904 */  )) & 037);
SOURCE(8084, 61)
         {
            word var←c39088;
            word bits←v22352;
            bits←v22352 = (src←v3876.f1 + (* (( (ptr) &var←c75792)+5)/* srcBpl←v3932 */  ));
SOURCE(627, 52)
            var←c39088 = ((bits←v22352 >> 5) << 2);
            src←v3876.f0 = (src←v3876.f0 + var←c39088);
            };
SOURCE(8147, 44)
         src←v3876.f1 = ((src←v3876.f1 + (* (( (ptr) &var←c75792)+5)/* srcBpl←v3932 */  )) & 037);
         goto lab←L100007;
         lab←L100006: ;
         };
      };
   }

static void DoUniformLines←P948(count←v6000, dstPtr←v6028, dstBit←v6056, srcPtr←v6084, srcBit←v6112, formal←c75856)
   word count←v6000;
   word dstPtr←v6028;
   word dstBit←v6056;
   word srcPtr←v6084;
   word srcBit←v6112;
   word formal←c75856;
   {
   register ptr gf←c75824 =  (ptr) &globalframe;
   word dRast←v6140;
   word sRast←v6168;
   word ndw←v6196;
   word lMask←v6224;
   word rMask←v6252;
   word lSA←v6280;
   word w←v6308 = 0;
   word dstLine←v6336 = 0;
   word srcLine←v6364 = 0;
   formal←c75856 = (formal←c75856 - 28);
   /* DoUniformLines: */ 
SOURCE(1366, 6349)
SOURCE(1475, 43)
   dRast←v6140 = (((* (( (ptr) formal←c75856)+4) ) >> 5) << 2);
SOURCE(1520, 43)
   sRast←v6168 = (((* (( (ptr) formal←c75856)+5) ) >> 5) << 2);
SOURCE(1565, 44)
   {
      word bits←v21632;
      bits←v21632 = (dstBit←v6056 + (* (( (ptr) formal←c75856)+6) ));
SOURCE(512, 36)
      ndw←v6196 = ((bits←v21632 + 31) >> 5);
      };
SOURCE(1611, 44)
   lMask←v6224 = (* ((( (ptr) gf←c75824)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v6056)) );
SOURCE(1657, 82)
   {
      word n←v22784;
      n←v22784 = (((32 - dstBit←v6056) - (* (( (ptr) formal←c75856)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v6252 = (word) XRM←BITNOT((* (((( (ptr) gf←c75824)+4)/* rightJustifiedOnes←v2832 */ +n←v22784)) ));
      };
SOURCE(1741, 58)
   lSA←v6280 = ((srcBit←v6112 - dstBit←v6056) & 037);
SOURCE(7670, 45)
   if ((lSA←v6280 == 0)) {
SOURCE(7688, 9)
SOURCE(2384, 2229)
      {
         word var←c39216;
         var←c39216 = ndw←v6196;
         switch (var←c39216) {
            case 1: 
               {
                  word bothMask←v6816;
                  bothMask←v6816 = (word) XRM←BITAND(lMask←v6224, rMask←v6252);
SOURCE(2468, 172)
                  lab←L100014: ;
SOURCE(2471, 13)
SOURCE(2324, 26)
                  dstLine←v6336 = dstPtr←v6028;
SOURCE(2352, 26)
                  srcLine←v6364 = srcPtr←v6084;
SOURCE(2486, 18)
SOURCE(2267, 23)
                  w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(2506, 40)
                  {
                     word var←c39248;
                     {
                        word var←c39280;
                        word d←v24276;
                        word s←v24304;
                        d←v24276 = (*  (ptr) dstLine←v6336 );
                        s←v24304 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c39344;
                           {
/*1*/   word var←c39376;
/*1*/   var←c39376 = (word) XRM←BITXOR(s←v24304, d←v24276);
/*1*/   var←c39344 = (word) XRM←BITAND(var←c39376, bothMask←v6816);
/*1*/   };
                           var←c39280 = (word) XRM←BITXOR(var←c39344, d←v24276);
                           };
                        var←c39248 = var←c39280;
                        };
                     (*  (ptr) dstLine←v6336 ) = var←c39248;
                     };
SOURCE(2548, 19)
                  if ((count←v6000 <= 1)) {
SOURCE(2567, 4)
                     goto lab←L100013;
                     };
SOURCE(2573, 17)
                  count←v6000 = (count←v6000 - 1);
SOURCE(2592, 23)
                  dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(2617, 23)
                  srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                  goto lab←L100014;
                  lab←L100013: ;
                  };
               break;
            case 2: 
SOURCE(2849, 235)
               lab←L100018: ;
SOURCE(2852, 13)
SOURCE(2324, 26)
               dstLine←v6336 = dstPtr←v6028;
SOURCE(2352, 26)
               srcLine←v6364 = srcPtr←v6084;
SOURCE(2867, 15)
SOURCE(2176, 23)
               w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(2884, 37)
               {
                  word var←c39408;
                  {
                     word var←c39440;
                     word d←v24124;
                     word s←v24152;
                     d←v24124 = (*  (ptr) dstLine←v6336 );
                     s←v24152 = w←v6308;
SOURCE(1311, 52)
                     {
                        word var←c39504;
                        {
                           word var←c39536;
                           var←c39536 = (word) XRM←BITXOR(s←v24152, d←v24124);
                           var←c39504 = (word) XRM←BITAND(var←c39536, lMask←v6224);
                           };
                        var←c39440 = (word) XRM←BITXOR(var←c39504, d←v24124);
                        };
                     var←c39408 = var←c39440;
                     };
                  (*  (ptr) dstLine←v6336 ) = var←c39408;
                  };
SOURCE(2924, 27)
SOURCE(2267, 23)
               w←v6308 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(2953, 37)
               {
                  word var←c39568;
                  {
                     word var←c39600;
                     word d←v24048;
                     word s←v24076;
                     d←v24048 = (* (( (ptr) dstLine←v6336)+1) );
                     s←v24076 = w←v6308;
SOURCE(1311, 52)
                     {
                        word var←c39664;
                        {
                           word var←c39696;
                           var←c39696 = (word) XRM←BITXOR(s←v24076, d←v24048);
                           var←c39664 = (word) XRM←BITAND(var←c39696, rMask←v6252);
                           };
                        var←c39600 = (word) XRM←BITXOR(var←c39664, d←v24048);
                        };
                     var←c39568 = var←c39600;
                     };
                  (* (( (ptr) dstLine←v6336)+1) ) = var←c39568;
                  };
SOURCE(2992, 19)
               if ((count←v6000 <= 1)) {
SOURCE(3011, 4)
                  goto lab←L100017;
                  };
SOURCE(3017, 17)
               count←v6000 = (count←v6000 - 1);
SOURCE(3036, 23)
               dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(3061, 23)
               srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
               goto lab←L100018;
               lab←L100017: ;
               break;
            case 3: 
SOURCE(3106, 270)
               lab←L100023: ;
SOURCE(3109, 13)
SOURCE(2324, 26)
               dstLine←v6336 = dstPtr←v6028;
SOURCE(2352, 26)
               srcLine←v6364 = srcPtr←v6084;
SOURCE(3124, 15)
SOURCE(2176, 23)
               w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(3141, 37)
               {
                  word var←c39728;
                  {
                     word var←c39760;
                     word d←v23972;
                     word s←v24000;
                     d←v23972 = (*  (ptr) dstLine←v6336 );
                     s←v24000 = w←v6308;
SOURCE(1311, 52)
                     {
                        word var←c39824;
                        {
                           word var←c39856;
                           var←c39856 = (word) XRM←BITXOR(s←v24000, d←v23972);
                           var←c39824 = (word) XRM←BITAND(var←c39856, lMask←v6224);
                           };
                        var←c39760 = (word) XRM←BITXOR(var←c39824, d←v23972);
                        };
                     var←c39728 = var←c39760;
                     };
                  (*  (ptr) dstLine←v6336 ) = var←c39728;
                  };
SOURCE(3181, 15)
SOURCE(2176, 23)
               w←v6308 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(3198, 15)
               (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(3216, 27)
SOURCE(2267, 23)
               w←v6308 = (* (( (ptr) srcLine←v6364)+2) );
SOURCE(3245, 37)
               {
                  word var←c39888;
                  {
                     word var←c39920;
                     word d←v23896;
                     word s←v23924;
                     d←v23896 = (* (( (ptr) dstLine←v6336)+2) );
                     s←v23924 = w←v6308;
SOURCE(1311, 52)
                     {
                        word var←c39984;
                        {
                           word var←c40016;
                           var←c40016 = (word) XRM←BITXOR(s←v23924, d←v23896);
                           var←c39984 = (word) XRM←BITAND(var←c40016, rMask←v6252);
                           };
                        var←c39920 = (word) XRM←BITXOR(var←c39984, d←v23896);
                        };
                     var←c39888 = var←c39920;
                     };
                  (* (( (ptr) dstLine←v6336)+2) ) = var←c39888;
                  };
SOURCE(3284, 19)
               if ((count←v6000 <= 1)) {
SOURCE(3303, 4)
                  goto lab←L100022;
                  };
SOURCE(3309, 17)
               count←v6000 = (count←v6000 - 1);
SOURCE(3328, 23)
               dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(3353, 23)
               srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
               goto lab←L100023;
               lab←L100022: ;
               break;
            case 4: 
SOURCE(3398, 305)
               lab←L100028: ;
SOURCE(3401, 13)
SOURCE(2324, 26)
               dstLine←v6336 = dstPtr←v6028;
SOURCE(2352, 26)
               srcLine←v6364 = srcPtr←v6084;
SOURCE(3416, 15)
SOURCE(2176, 23)
               w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(3433, 37)
               {
                  word var←c40048;
                  {
                     word var←c40080;
                     word d←v23820;
                     word s←v23848;
                     d←v23820 = (*  (ptr) dstLine←v6336 );
                     s←v23848 = w←v6308;
SOURCE(1311, 52)
                     {
                        word var←c40144;
                        {
                           word var←c40176;
                           var←c40176 = (word) XRM←BITXOR(s←v23848, d←v23820);
                           var←c40144 = (word) XRM←BITAND(var←c40176, lMask←v6224);
                           };
                        var←c40080 = (word) XRM←BITXOR(var←c40144, d←v23820);
                        };
                     var←c40048 = var←c40080;
                     };
                  (*  (ptr) dstLine←v6336 ) = var←c40048;
                  };
SOURCE(3473, 15)
SOURCE(2176, 23)
               w←v6308 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(3490, 15)
               (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(3508, 15)
SOURCE(2176, 23)
               w←v6308 = (* (( (ptr) srcLine←v6364)+2) );
SOURCE(3525, 15)
               (* (( (ptr) dstLine←v6336)+2) ) = w←v6308;
SOURCE(3543, 27)
SOURCE(2267, 23)
               w←v6308 = (* (( (ptr) srcLine←v6364)+3) );
SOURCE(3572, 37)
               {
                  word var←c40208;
                  {
                     word var←c40240;
                     word d←v23744;
                     word s←v23772;
                     d←v23744 = (* (( (ptr) dstLine←v6336)+3) );
                     s←v23772 = w←v6308;
SOURCE(1311, 52)
                     {
                        word var←c40304;
                        {
                           word var←c40336;
                           var←c40336 = (word) XRM←BITXOR(s←v23772, d←v23744);
                           var←c40304 = (word) XRM←BITAND(var←c40336, rMask←v6252);
                           };
                        var←c40240 = (word) XRM←BITXOR(var←c40304, d←v23744);
                        };
                     var←c40208 = var←c40240;
                     };
                  (* (( (ptr) dstLine←v6336)+3) ) = var←c40208;
                  };
SOURCE(3611, 19)
               if ((count←v6000 <= 1)) {
SOURCE(3630, 4)
                  goto lab←L100027;
                  };
SOURCE(3636, 17)
               count←v6000 = (count←v6000 - 1);
SOURCE(3655, 23)
               dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(3680, 23)
               srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
               goto lab←L100028;
               lab←L100027: ;
               break;
            default: 
SOURCE(3758, 855)
               lab←L100033: ;
               {
                  word nw←v6892;
                  nw←v6892 = (ndw←v6196 - 2);
SOURCE(3803, 13)
SOURCE(2324, 26)
                  dstLine←v6336 = dstPtr←v6028;
SOURCE(2352, 26)
                  srcLine←v6364 = srcPtr←v6084;
SOURCE(3818, 15)
SOURCE(2176, 23)
                  w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(3835, 37)
                  {
                     word var←c40368;
                     {
                        word var←c40400;
                        word d←v23668;
                        word s←v23696;
                        d←v23668 = (*  (ptr) dstLine←v6336 );
                        s←v23696 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c40464;
                           {
/*1*/   word var←c40496;
/*1*/   var←c40496 = (word) XRM←BITXOR(s←v23696, d←v23668);
/*1*/   var←c40464 = (word) XRM←BITAND(var←c40496, lMask←v6224);
/*1*/   };
                           var←c40400 = (word) XRM←BITXOR(var←c40464, d←v23668);
                           };
                        var←c40368 = var←c40400;
                        };
                     (*  (ptr) dstLine←v6336 ) = var←c40368;
                     };
SOURCE(3874, 28)
                  dstLine←v6336 = (dstLine←v6336 + 4);
SOURCE(3904, 28)
                  srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(3934, 228)
                  lab←L100037: ;
                  if ((nw←v6892 >= 4)) {
                     }
                  else {
                     goto lab←L100035;
                     };
SOURCE(3951, 15)
SOURCE(2176, 23)
                  w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(3968, 15)
                  (*  (ptr) dstLine←v6336 ) = w←v6308;
SOURCE(3985, 15)
SOURCE(2176, 23)
                  w←v6308 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(4002, 15)
                  (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(4019, 15)
SOURCE(2176, 23)
                  w←v6308 = (* (( (ptr) srcLine←v6364)+2) );
SOURCE(4036, 15)
                  (* (( (ptr) dstLine←v6336)+2) ) = w←v6308;
SOURCE(4053, 15)
SOURCE(2176, 23)
                  w←v6308 = (* (( (ptr) srcLine←v6364)+3) );
SOURCE(4070, 15)
                  (* (( (ptr) dstLine←v6336)+3) ) = w←v6308;
SOURCE(4087, 30)
                  dstLine←v6336 = (dstLine←v6336 + 16);
SOURCE(4119, 30)
                  srcLine←v6364 = (srcLine←v6364 + 16);
SOURCE(4151, 11)
                  nw←v6892 = (nw←v6892 - 4);
                  goto lab←L100037;
                  lab←L100035: ;
SOURCE(4173, 161)
                  if ((nw←v6892 >= 2)) {
SOURCE(4191, 15)
SOURCE(2176, 23)
                     w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(4208, 15)
                     (*  (ptr) dstLine←v6336 ) = w←v6308;
SOURCE(4225, 15)
SOURCE(2176, 23)
                     w←v6308 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(4242, 15)
                     (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(4259, 30)
                     dstLine←v6336 = (dstLine←v6336 + 8);
SOURCE(4291, 30)
                     srcLine←v6364 = (srcLine←v6364 + 8);
SOURCE(4323, 11)
                     nw←v6892 = (nw←v6892 - 2);
                     };
SOURCE(4339, 109)
                  if ((nw←v6892 == 1)) {
SOURCE(4356, 15)
SOURCE(2176, 23)
                     w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(4373, 15)
                     (*  (ptr) dstLine←v6336 ) = w←v6308;
SOURCE(4390, 28)
                     dstLine←v6336 = (dstLine←v6336 + 4);
SOURCE(4420, 28)
                     srcLine←v6364 = (srcLine←v6364 + 4);
                     };
SOURCE(4453, 27)
SOURCE(2267, 23)
                  w←v6308 = (*  (ptr) srcLine←v6364 );
SOURCE(4482, 37)
                  {
                     word var←c40528;
                     {
                        word var←c40560;
                        word d←v23592;
                        word s←v23620;
                        d←v23592 = (*  (ptr) dstLine←v6336 );
                        s←v23620 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c40624;
                           {
/*1*/   word var←c40656;
/*1*/   var←c40656 = (word) XRM←BITXOR(s←v23620, d←v23592);
/*1*/   var←c40624 = (word) XRM←BITAND(var←c40656, rMask←v6252);
/*1*/   };
                           var←c40560 = (word) XRM←BITXOR(var←c40624, d←v23592);
                           };
                        var←c40528 = var←c40560;
                        };
                     (*  (ptr) dstLine←v6336 ) = var←c40528;
                     };
SOURCE(4521, 19)
                  if ((count←v6000 <= 1)) {
SOURCE(4540, 4)
                     goto lab←L100032;
                     };
SOURCE(4546, 17)
                  count←v6000 = (count←v6000 - 1);
SOURCE(4565, 23)
                  dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(4590, 23)
                  srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                  };
               goto lab←L100033;
               lab←L100032: ;
               break;
            };
         };
      }
   else {
SOURCE(7706, 9)
      {
         word hi←v6920;
         word lo←v6948 = 0;
         word rSA←v6976;
         word nsw←v7004;
         word fetchLastWord←v7032;
         rSA←v6976 = (32 - lSA←v6280);
         {
            word bits←v21584;
            bits←v21584 = (srcBit←v6112 + (* (( (ptr) formal←c75856)+6) ));
SOURCE(512, 36)
            nsw←v7004 = ((bits←v21584 + 31) >> 5);
            };
         fetchLastWord←v7032 =  ( (srcBit←v6112 >= dstBit←v6056) ? (nsw←v7004 > ndw←v6196) : (nsw←v7004 >= ndw←v6196) ) ;
SOURCE(5423, 2229)
         {
            word var←c40720;
            var←c40720 = ndw←v6196;
            switch (var←c40720) {
               case 1: 
                  {
                     word bothMask←v7352;
                     bothMask←v7352 = (word) XRM←BITAND(lMask←v6224, rMask←v6252);
SOURCE(5485, 382)
                     if ((0 != fetchLastWord←v7032)) {
SOURCE(5507, 172)
                        lab←L100042: ;
SOURCE(5510, 13)
SOURCE(5325, 26)
                        dstLine←v6336 = dstPtr←v6028;
SOURCE(5353, 26)
                        srcLine←v6364 = srcPtr←v6084;
SOURCE(5381, 36)
                        if ((srcBit←v6112 >= dstBit←v6056)) {
SOURCE(5406, 11)
SOURCE(4913, 7)
                           hi←v6920 = lo←v6948;
SOURCE(4922, 15)
                           lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(4939, 28)
                           srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(4969, 42)
                           w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
                           };
SOURCE(5525, 18)
SOURCE(5210, 22)
                        w←v6308 = (word) XRM←BITLSHIFT(lo←v6948, lSA←v6280);
SOURCE(5248, 43)
                        w←v6308 = (w←v6308 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v6364 ), rSA←v6976));
SOURCE(5545, 40)
                        {
                           word var←c40752;
                           {
/*1*/   word var←c40784;
/*1*/   word d←v23516;
/*1*/   word s←v23544;
/*1*/   d←v23516 = (*  (ptr) dstLine←v6336 );
/*1*/   s←v23544 = w←v6308;
SOURCE(1311, 52)
/*1*/   {
/*1*/      word var←c40848;
/*1*/      {
/*1*/         word var←c40880;
/*1*/         var←c40880 = (word) XRM←BITXOR(s←v23544, d←v23516);
/*1*/         var←c40848 = (word) XRM←BITAND(var←c40880, bothMask←v7352);
/*1*/         };
/*1*/      var←c40784 = (word) XRM←BITXOR(var←c40848, d←v23516);
/*1*/      };
/*1*/   var←c40752 = var←c40784;
/*1*/   };
                           (*  (ptr) dstLine←v6336 ) = var←c40752;
                           };
SOURCE(5587, 19)
                        if ((count←v6000 <= 1)) {
SOURCE(5606, 4)
                           goto lab←L100041;
                           };
SOURCE(5612, 17)
                        count←v6000 = (count←v6000 - 1);
SOURCE(5631, 23)
                        dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(5656, 23)
                        srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                        goto lab←L100042;
                        lab←L100041: ;
                        }
                     else {
SOURCE(5694, 173)
                        lab←L100046: ;
SOURCE(5697, 13)
SOURCE(5325, 26)
                        dstLine←v6336 = dstPtr←v6028;
SOURCE(5353, 26)
                        srcLine←v6364 = srcPtr←v6084;
SOURCE(5381, 36)
                        if ((srcBit←v6112 >= dstBit←v6056)) {
SOURCE(5406, 11)
SOURCE(4913, 7)
                           hi←v6920 = lo←v6948;
SOURCE(4922, 15)
                           lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(4939, 28)
                           srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(4969, 42)
                           w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
                           };
SOURCE(5712, 19)
SOURCE(5210, 22)
                        w←v6308 = (word) XRM←BITLSHIFT(lo←v6948, lSA←v6280);
SOURCE(5733, 40)
                        {
                           word var←c40912;
                           {
/*1*/   word var←c40944;
/*1*/   word d←v23440;
/*1*/   word s←v23468;
/*1*/   d←v23440 = (*  (ptr) dstLine←v6336 );
/*1*/   s←v23468 = w←v6308;
SOURCE(1311, 52)
/*1*/   {
/*1*/      word var←c41008;
/*1*/      {
/*1*/         word var←c41040;
/*1*/         var←c41040 = (word) XRM←BITXOR(s←v23468, d←v23440);
/*1*/         var←c41008 = (word) XRM←BITAND(var←c41040, bothMask←v7352);
/*1*/         };
/*1*/      var←c40944 = (word) XRM←BITXOR(var←c41008, d←v23440);
/*1*/      };
/*1*/   var←c40912 = var←c40944;
/*1*/   };
                           (*  (ptr) dstLine←v6336 ) = var←c40912;
                           };
SOURCE(5775, 19)
                        if ((count←v6000 <= 1)) {
SOURCE(5794, 4)
                           goto lab←L100045;
                           };
SOURCE(5800, 17)
                        count←v6000 = (count←v6000 - 1);
SOURCE(5819, 23)
                        dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(5844, 23)
                        srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                        goto lab←L100046;
                        lab←L100045: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(5888, 235)
                  lab←L100050: ;
SOURCE(5891, 13)
SOURCE(5325, 26)
                  dstLine←v6336 = dstPtr←v6028;
SOURCE(5353, 26)
                  srcLine←v6364 = srcPtr←v6084;
SOURCE(5381, 36)
                  if ((srcBit←v6112 >= dstBit←v6056)) {
SOURCE(5406, 11)
SOURCE(4913, 7)
                     hi←v6920 = lo←v6948;
SOURCE(4922, 15)
                     lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(4939, 28)
                     srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(4969, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
                     };
SOURCE(5906, 15)
SOURCE(5067, 7)
                  hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                  lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                  w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(5923, 37)
                  {
                     word var←c41072;
                     {
                        word var←c41104;
                        word d←v23364;
                        word s←v23392;
                        d←v23364 = (*  (ptr) dstLine←v6336 );
                        s←v23392 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c41168;
                           {
/*1*/   word var←c41200;
/*1*/   var←c41200 = (word) XRM←BITXOR(s←v23392, d←v23364);
/*1*/   var←c41168 = (word) XRM←BITAND(var←c41200, lMask←v6224);
/*1*/   };
                           var←c41104 = (word) XRM←BITXOR(var←c41168, d←v23364);
                           };
                        var←c41072 = var←c41104;
                        };
                     (*  (ptr) dstLine←v6336 ) = var←c41072;
                     };
SOURCE(5963, 27)
SOURCE(5210, 22)
                  w←v6308 = (word) XRM←BITLSHIFT(lo←v6948, lSA←v6280);
SOURCE(5234, 57)
                  if ((0 != fetchLastWord←v7032)) {
SOURCE(5248, 43)
                     w←v6308 = (w←v6308 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v6364)+1) ), rSA←v6976));
                     };
SOURCE(5992, 37)
                  {
                     word var←c41232;
                     {
                        word var←c41264;
                        word d←v23288;
                        word s←v23316;
                        d←v23288 = (* (( (ptr) dstLine←v6336)+1) );
                        s←v23316 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c41328;
                           {
/*1*/   word var←c41360;
/*1*/   var←c41360 = (word) XRM←BITXOR(s←v23316, d←v23288);
/*1*/   var←c41328 = (word) XRM←BITAND(var←c41360, rMask←v6252);
/*1*/   };
                           var←c41264 = (word) XRM←BITXOR(var←c41328, d←v23288);
                           };
                        var←c41232 = var←c41264;
                        };
                     (* (( (ptr) dstLine←v6336)+1) ) = var←c41232;
                     };
SOURCE(6031, 19)
                  if ((count←v6000 <= 1)) {
SOURCE(6050, 4)
                     goto lab←L100049;
                     };
SOURCE(6056, 17)
                  count←v6000 = (count←v6000 - 1);
SOURCE(6075, 23)
                  dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(6100, 23)
                  srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                  goto lab←L100050;
                  lab←L100049: ;
                  break;
               case 3: 
SOURCE(6145, 270)
                  lab←L100055: ;
SOURCE(6148, 13)
SOURCE(5325, 26)
                  dstLine←v6336 = dstPtr←v6028;
SOURCE(5353, 26)
                  srcLine←v6364 = srcPtr←v6084;
SOURCE(5381, 36)
                  if ((srcBit←v6112 >= dstBit←v6056)) {
SOURCE(5406, 11)
SOURCE(4913, 7)
                     hi←v6920 = lo←v6948;
SOURCE(4922, 15)
                     lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(4939, 28)
                     srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(4969, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
                     };
SOURCE(6163, 15)
SOURCE(5067, 7)
                  hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                  lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                  w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(6180, 37)
                  {
                     word var←c41392;
                     {
                        word var←c41424;
                        word d←v23212;
                        word s←v23240;
                        d←v23212 = (*  (ptr) dstLine←v6336 );
                        s←v23240 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c41488;
                           {
/*1*/   word var←c41520;
/*1*/   var←c41520 = (word) XRM←BITXOR(s←v23240, d←v23212);
/*1*/   var←c41488 = (word) XRM←BITAND(var←c41520, lMask←v6224);
/*1*/   };
                           var←c41424 = (word) XRM←BITXOR(var←c41488, d←v23212);
                           };
                        var←c41392 = var←c41424;
                        };
                     (*  (ptr) dstLine←v6336 ) = var←c41392;
                     };
SOURCE(6220, 15)
SOURCE(5067, 7)
                  hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                  lo←v6948 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(5102, 42)
                  w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(6237, 15)
                  (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(6255, 27)
SOURCE(5210, 22)
                  w←v6308 = (word) XRM←BITLSHIFT(lo←v6948, lSA←v6280);
SOURCE(5234, 57)
                  if ((0 != fetchLastWord←v7032)) {
SOURCE(5248, 43)
                     w←v6308 = (w←v6308 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v6364)+2) ), rSA←v6976));
                     };
SOURCE(6284, 37)
                  {
                     word var←c41552;
                     {
                        word var←c41584;
                        word d←v23136;
                        word s←v23164;
                        d←v23136 = (* (( (ptr) dstLine←v6336)+2) );
                        s←v23164 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c41648;
                           {
/*1*/   word var←c41680;
/*1*/   var←c41680 = (word) XRM←BITXOR(s←v23164, d←v23136);
/*1*/   var←c41648 = (word) XRM←BITAND(var←c41680, rMask←v6252);
/*1*/   };
                           var←c41584 = (word) XRM←BITXOR(var←c41648, d←v23136);
                           };
                        var←c41552 = var←c41584;
                        };
                     (* (( (ptr) dstLine←v6336)+2) ) = var←c41552;
                     };
SOURCE(6323, 19)
                  if ((count←v6000 <= 1)) {
SOURCE(6342, 4)
                     goto lab←L100054;
                     };
SOURCE(6348, 17)
                  count←v6000 = (count←v6000 - 1);
SOURCE(6367, 23)
                  dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(6392, 23)
                  srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                  goto lab←L100055;
                  lab←L100054: ;
                  break;
               case 4: 
SOURCE(6437, 305)
                  lab←L100060: ;
SOURCE(6440, 13)
SOURCE(5325, 26)
                  dstLine←v6336 = dstPtr←v6028;
SOURCE(5353, 26)
                  srcLine←v6364 = srcPtr←v6084;
SOURCE(5381, 36)
                  if ((srcBit←v6112 >= dstBit←v6056)) {
SOURCE(5406, 11)
SOURCE(4913, 7)
                     hi←v6920 = lo←v6948;
SOURCE(4922, 15)
                     lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(4939, 28)
                     srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(4969, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
                     };
SOURCE(6455, 15)
SOURCE(5067, 7)
                  hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                  lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                  w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(6472, 37)
                  {
                     word var←c41712;
                     {
                        word var←c41744;
                        word d←v23060;
                        word s←v23088;
                        d←v23060 = (*  (ptr) dstLine←v6336 );
                        s←v23088 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c41808;
                           {
/*1*/   word var←c41840;
/*1*/   var←c41840 = (word) XRM←BITXOR(s←v23088, d←v23060);
/*1*/   var←c41808 = (word) XRM←BITAND(var←c41840, lMask←v6224);
/*1*/   };
                           var←c41744 = (word) XRM←BITXOR(var←c41808, d←v23060);
                           };
                        var←c41712 = var←c41744;
                        };
                     (*  (ptr) dstLine←v6336 ) = var←c41712;
                     };
SOURCE(6512, 15)
SOURCE(5067, 7)
                  hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                  lo←v6948 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(5102, 42)
                  w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(6529, 15)
                  (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(6547, 15)
SOURCE(5067, 7)
                  hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                  lo←v6948 = (* (( (ptr) srcLine←v6364)+2) );
SOURCE(5102, 42)
                  w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(6564, 15)
                  (* (( (ptr) dstLine←v6336)+2) ) = w←v6308;
SOURCE(6582, 27)
SOURCE(5210, 22)
                  w←v6308 = (word) XRM←BITLSHIFT(lo←v6948, lSA←v6280);
SOURCE(5234, 57)
                  if ((0 != fetchLastWord←v7032)) {
SOURCE(5248, 43)
                     w←v6308 = (w←v6308 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v6364)+3) ), rSA←v6976));
                     };
SOURCE(6611, 37)
                  {
                     word var←c41872;
                     {
                        word var←c41904;
                        word d←v22984;
                        word s←v23012;
                        d←v22984 = (* (( (ptr) dstLine←v6336)+3) );
                        s←v23012 = w←v6308;
SOURCE(1311, 52)
                        {
                           word var←c41968;
                           {
/*1*/   word var←c42000;
/*1*/   var←c42000 = (word) XRM←BITXOR(s←v23012, d←v22984);
/*1*/   var←c41968 = (word) XRM←BITAND(var←c42000, rMask←v6252);
/*1*/   };
                           var←c41904 = (word) XRM←BITXOR(var←c41968, d←v22984);
                           };
                        var←c41872 = var←c41904;
                        };
                     (* (( (ptr) dstLine←v6336)+3) ) = var←c41872;
                     };
SOURCE(6650, 19)
                  if ((count←v6000 <= 1)) {
SOURCE(6669, 4)
                     goto lab←L100059;
                     };
SOURCE(6675, 17)
                  count←v6000 = (count←v6000 - 1);
SOURCE(6694, 23)
                  dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(6719, 23)
                  srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                  goto lab←L100060;
                  lab←L100059: ;
                  break;
               default: 
SOURCE(6797, 855)
                  lab←L100065: ;
                  {
                     word nw←v7428;
                     nw←v7428 = (ndw←v6196 - 2);
SOURCE(6842, 13)
SOURCE(5325, 26)
                     dstLine←v6336 = dstPtr←v6028;
SOURCE(5353, 26)
                     srcLine←v6364 = srcPtr←v6084;
SOURCE(5381, 36)
                     if ((srcBit←v6112 >= dstBit←v6056)) {
SOURCE(5406, 11)
SOURCE(4913, 7)
                        hi←v6920 = lo←v6948;
SOURCE(4922, 15)
                        lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(4939, 28)
                        srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(4969, 42)
                        w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
                        };
SOURCE(6857, 15)
SOURCE(5067, 7)
                     hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                     lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(6874, 37)
                     {
                        word var←c42032;
                        {
                           word var←c42064;
                           word d←v22908;
                           word s←v22936;
                           d←v22908 = (*  (ptr) dstLine←v6336 );
                           s←v22936 = w←v6308;
SOURCE(1311, 52)
                           {
/*1*/   word var←c42128;
/*1*/   {
/*1*/      word var←c42160;
/*1*/      var←c42160 = (word) XRM←BITXOR(s←v22936, d←v22908);
/*1*/      var←c42128 = (word) XRM←BITAND(var←c42160, lMask←v6224);
/*1*/      };
/*1*/   var←c42064 = (word) XRM←BITXOR(var←c42128, d←v22908);
/*1*/   };
                           var←c42032 = var←c42064;
                           };
                        (*  (ptr) dstLine←v6336 ) = var←c42032;
                        };
SOURCE(6913, 28)
                     dstLine←v6336 = (dstLine←v6336 + 4);
SOURCE(6943, 28)
                     srcLine←v6364 = (srcLine←v6364 + 4);
SOURCE(6973, 228)
                     lab←L100069: ;
                     if ((nw←v7428 >= 4)) {
                        }
                     else {
                        goto lab←L100067;
                        };
SOURCE(6990, 15)
SOURCE(5067, 7)
                     hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                     lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7007, 15)
                     (*  (ptr) dstLine←v6336 ) = w←v6308;
SOURCE(7024, 15)
SOURCE(5067, 7)
                     hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                     lo←v6948 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(5102, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7041, 15)
                     (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(7058, 15)
SOURCE(5067, 7)
                     hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                     lo←v6948 = (* (( (ptr) srcLine←v6364)+2) );
SOURCE(5102, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7075, 15)
                     (* (( (ptr) dstLine←v6336)+2) ) = w←v6308;
SOURCE(7092, 15)
SOURCE(5067, 7)
                     hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                     lo←v6948 = (* (( (ptr) srcLine←v6364)+3) );
SOURCE(5102, 42)
                     w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7109, 15)
                     (* (( (ptr) dstLine←v6336)+3) ) = w←v6308;
SOURCE(7126, 30)
                     dstLine←v6336 = (dstLine←v6336 + 16);
SOURCE(7158, 30)
                     srcLine←v6364 = (srcLine←v6364 + 16);
SOURCE(7190, 11)
                     nw←v7428 = (nw←v7428 - 4);
                     goto lab←L100069;
                     lab←L100067: ;
SOURCE(7212, 161)
                     if ((nw←v7428 >= 2)) {
SOURCE(7230, 15)
SOURCE(5067, 7)
                        hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                        lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                        w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7247, 15)
                        (*  (ptr) dstLine←v6336 ) = w←v6308;
SOURCE(7264, 15)
SOURCE(5067, 7)
                        hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                        lo←v6948 = (* (( (ptr) srcLine←v6364)+1) );
SOURCE(5102, 42)
                        w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7281, 15)
                        (* (( (ptr) dstLine←v6336)+1) ) = w←v6308;
SOURCE(7298, 30)
                        dstLine←v6336 = (dstLine←v6336 + 8);
SOURCE(7330, 30)
                        srcLine←v6364 = (srcLine←v6364 + 8);
SOURCE(7362, 11)
                        nw←v7428 = (nw←v7428 - 2);
                        };
SOURCE(7378, 109)
                     if ((nw←v7428 == 1)) {
SOURCE(7395, 15)
SOURCE(5067, 7)
                        hi←v6920 = lo←v6948;
SOURCE(5076, 24)
                        lo←v6948 = (*  (ptr) srcLine←v6364 );
SOURCE(5102, 42)
                        w←v6308 = ((word) XRM←BITLSHIFT(hi←v6920, lSA←v6280) + (word) XRM←BITRSHIFT(lo←v6948, rSA←v6976));
SOURCE(7412, 15)
                        (*  (ptr) dstLine←v6336 ) = w←v6308;
SOURCE(7429, 28)
                        dstLine←v6336 = (dstLine←v6336 + 4);
SOURCE(7459, 28)
                        srcLine←v6364 = (srcLine←v6364 + 4);
                        };
SOURCE(7492, 27)
SOURCE(5210, 22)
                     w←v6308 = (word) XRM←BITLSHIFT(lo←v6948, lSA←v6280);
SOURCE(5234, 57)
                     if ((0 != fetchLastWord←v7032)) {
SOURCE(5248, 43)
                        w←v6308 = (w←v6308 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v6364 ), rSA←v6976));
                        };
SOURCE(7521, 37)
                     {
                        word var←c42192;
                        {
                           word var←c42224;
                           word d←v22832;
                           word s←v22860;
                           d←v22832 = (*  (ptr) dstLine←v6336 );
                           s←v22860 = w←v6308;
SOURCE(1311, 52)
                           {
/*1*/   word var←c42288;
/*1*/   {
/*1*/      word var←c42320;
/*1*/      var←c42320 = (word) XRM←BITXOR(s←v22860, d←v22832);
/*1*/      var←c42288 = (word) XRM←BITAND(var←c42320, rMask←v6252);
/*1*/      };
/*1*/   var←c42224 = (word) XRM←BITXOR(var←c42288, d←v22832);
/*1*/   };
                           var←c42192 = var←c42224;
                           };
                        (*  (ptr) dstLine←v6336 ) = var←c42192;
                        };
SOURCE(7560, 19)
                     if ((count←v6000 <= 1)) {
SOURCE(7579, 4)
                        goto lab←L100064;
                        };
SOURCE(7585, 17)
                     count←v6000 = (count←v6000 - 1);
SOURCE(7604, 23)
                     dstPtr←v6028 = (dstPtr←v6028 + dRast←v6140);
SOURCE(7629, 23)
                     srcPtr←v6084 = (srcPtr←v6084 + sRast←v6168);
                     };
                  goto lab←L100065;
                  lab←L100064: ;
                  break;
               };
            };
         };
      };
   }

static void Forward1←P420(dst←v4048, src←v4076, formal←c01597, formal←c01598, sSize←v4160, formal←c01599)
   W2 dst←v4048;
   W2 src←v4076;
   word formal←c01597;
   word formal←c01598;
   word sSize←v4160;
   word formal←c01599;
   {
   W9 var←c75888;
   /* declaration of dstBpl←v4104 skipped */ 
   /* declaration of srcBpl←v4132 skipped */ 
   /* declaration of fSize←v4188 skipped */ 
   /* declaration of var←c42352 skipped */ 
   (* (( (ptr) &var←c75888)+4)/* dstBpl←v4104 */  ) = formal←c01597;
   (* (( (ptr) &var←c75888)+5)/* srcBpl←v4132 */  ) = formal←c01598;
   (* (( (ptr) &var←c75888)+6)/* fSize←v4188 */  ) = formal←c01599;
   /* Forward1: */ 
SOURCE(8212, 7196)
   {
      word tmpAddr4;
      tmpAddr4 = (word) (( (ptr) &var←c75888)+7)/* var←c42352 */ ;
      (*  (ptr) tmpAddr4 ) = ( ((word)  (fPt) DoUniformLines←P1956) );
      (* (( (ptr) tmpAddr4) + 1) ) = 1;
      };
SOURCE(14938, 470)
   if (((word) XRM←BITOR(sSize←v4160, (* (( (ptr) &var←c75888)+6)/* fSize←v4188 */  )) != 0)) {
SOURCE(14972, 436)
      if ( ( (((* (( (ptr) &var←c75888)+4)/* dstBpl←v4104 */  ) & 037) == 0) ? (((* (( (ptr) &var←c75888)+5)/* srcBpl←v4132 */  ) & 037) == 0) : 0 ) ) {
SOURCE(15024, 59)
         (void) DoUniformLines←P1956(sSize←v4160, dst←v4048.f0, dst←v4048.f1, src←v4076.f0, src←v4076.f1, (word) (( (bPt) &var←c75888)+28)
            /* var←c42352 */ );
         }
      else {
SOURCE(15094, 314)
         lab←L100073: ;
SOURCE(15097, 55)
         (void) DoUniformLines←P1956(1, dst←v4048.f0, dst←v4048.f1, src←v4076.f0, src←v4076.f1, (word) (( (bPt) &var←c75888)+28)/* var←c42352 */ )
         ;
SOURCE(15154, 32)
         sSize←v4160 = (sSize←v4160 - 1);
         if ((sSize←v4160 == 0)) {
SOURCE(15186, 4)
            goto lab←L100072;
            };
SOURCE(15192, 61)
         {
            word var←c42384;
            word bits←v22304;
            bits←v22304 = (dst←v4048.f1 + (* (( (ptr) &var←c75888)+4)/* dstBpl←v4104 */  ));
SOURCE(627, 52)
            var←c42384 = ((bits←v22304 >> 5) << 2);
            dst←v4048.f0 = (dst←v4048.f0 + var←c42384);
            };
SOURCE(15255, 44)
         dst←v4048.f1 = ((dst←v4048.f1 + (* (( (ptr) &var←c75888)+4)/* dstBpl←v4104 */  )) & 037);
SOURCE(15301, 61)
         {
            word var←c42416;
            word bits←v22256;
            bits←v22256 = (src←v4076.f1 + (* (( (ptr) &var←c75888)+5)/* srcBpl←v4132 */  ));
SOURCE(627, 52)
            var←c42416 = ((bits←v22256 >> 5) << 2);
            src←v4076.f0 = (src←v4076.f0 + var←c42416);
            };
SOURCE(15364, 44)
         src←v4076.f1 = ((src←v4076.f1 + (* (( (ptr) &var←c75888)+5)/* srcBpl←v4132 */  )) & 037);
         goto lab←L100073;
         lab←L100072: ;
         };
      };
   }

static void DoUniformLines←P1956(count←v7720, dstPtr←v7748, dstBit←v7776, srcPtr←v7804, srcBit←v7832, formal←c75952)
   word count←v7720;
   word dstPtr←v7748;
   word dstBit←v7776;
   word srcPtr←v7804;
   word srcBit←v7832;
   word formal←c75952;
   {
   register ptr gf←c75920 =  (ptr) &globalframe;
   word dRast←v7860;
   word sRast←v7888;
   word ndw←v7916;
   word lMask←v7944;
   word rMask←v7972;
   word lSA←v8000;
   word w←v8028 = 0;
   word dstLine←v8056 = 0;
   word srcLine←v8084 = 0;
   formal←c75952 = (formal←c75952 - 28);
   /* DoUniformLines: */ 
SOURCE(8423, 6509)
SOURCE(8532, 43)
   dRast←v7860 = (((* (( (ptr) formal←c75952)+4) ) >> 5) << 2);
SOURCE(8577, 43)
   sRast←v7888 = (((* (( (ptr) formal←c75952)+5) ) >> 5) << 2);
SOURCE(8622, 44)
   {
      word bits←v21536;
      bits←v21536 = (dstBit←v7776 + (* (( (ptr) formal←c75952)+6) ));
SOURCE(512, 36)
      ndw←v7916 = ((bits←v21536 + 31) >> 5);
      };
SOURCE(8668, 44)
   lMask←v7944 = (* ((( (ptr) gf←c75920)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v7776)) );
SOURCE(8714, 82)
   {
      word n←v22736;
      n←v22736 = (((32 - dstBit←v7776) - (* (( (ptr) formal←c75952)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v7972 = (word) XRM←BITNOT((* (((( (ptr) gf←c75920)+4)/* rightJustifiedOnes←v2832 */ +n←v22736)) ));
      };
SOURCE(8798, 58)
   lSA←v8000 = ((srcBit←v7832 - dstBit←v7776) & 037);
SOURCE(14887, 45)
   if ((lSA←v8000 == 0)) {
SOURCE(14905, 9)
SOURCE(9441, 2309)
      {
         word var←c42544;
         var←c42544 = ndw←v7916;
         switch (var←c42544) {
            case 1: 
               {
                  word bothMask←v8536;
                  bothMask←v8536 = (word) XRM←BITAND(lMask←v7944, rMask←v7972);
SOURCE(9525, 172)
                  lab←L100080: ;
SOURCE(9528, 13)
SOURCE(9381, 26)
                  dstLine←v8056 = dstPtr←v7748;
SOURCE(9409, 26)
                  srcLine←v8084 = srcPtr←v7804;
SOURCE(9543, 18)
SOURCE(9324, 23)
                  w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(9563, 40)
                  {
                     word var←c42576;
                     {
                        word var←c42608;
                        word d←v26260;
                        word s←v26288;
                        d←v26260 = (*  (ptr) dstLine←v8056 );
                        s←v26288 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c42672;
                           {
/*1*/   word var←c42704;
/*1*/   {
/*1*/      word var←c42736;
/*1*/      var←c42736 = (word) XRM←BITNOT(s←v26288);
/*1*/      var←c42704 = (word) XRM←BITXOR(var←c42736, d←v26260);
/*1*/      };
/*1*/   var←c42672 = (word) XRM←BITAND(var←c42704, bothMask←v8536);
/*1*/   };
                           var←c42608 = (word) XRM←BITXOR(var←c42672, d←v26260);
                           };
                        var←c42576 = var←c42608;
                        };
                     (*  (ptr) dstLine←v8056 ) = var←c42576;
                     };
SOURCE(9605, 19)
                  if ((count←v7720 <= 1)) {
SOURCE(9624, 4)
                     goto lab←L100079;
                     };
SOURCE(9630, 17)
                  count←v7720 = (count←v7720 - 1);
SOURCE(9649, 23)
                  dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(9674, 23)
                  srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                  goto lab←L100080;
                  lab←L100079: ;
                  };
               break;
            case 2: 
SOURCE(9906, 235)
               lab←L100084: ;
SOURCE(9909, 13)
SOURCE(9381, 26)
               dstLine←v8056 = dstPtr←v7748;
SOURCE(9409, 26)
               srcLine←v8084 = srcPtr←v7804;
SOURCE(9924, 15)
SOURCE(9233, 23)
               w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(9941, 37)
               {
                  word var←c42768;
                  {
                     word var←c42800;
                     word d←v26108;
                     word s←v26136;
                     d←v26108 = (*  (ptr) dstLine←v8056 );
                     s←v26136 = w←v8028;
SOURCE(8360, 60)
                     {
                        word var←c42864;
                        {
                           word var←c42896;
                           {
/*1*/   word var←c42928;
/*1*/   var←c42928 = (word) XRM←BITNOT(s←v26136);
/*1*/   var←c42896 = (word) XRM←BITXOR(var←c42928, d←v26108);
/*1*/   };
                           var←c42864 = (word) XRM←BITAND(var←c42896, lMask←v7944);
                           };
                        var←c42800 = (word) XRM←BITXOR(var←c42864, d←v26108);
                        };
                     var←c42768 = var←c42800;
                     };
                  (*  (ptr) dstLine←v8056 ) = var←c42768;
                  };
SOURCE(9981, 27)
SOURCE(9324, 23)
               w←v8028 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(10010, 37)
               {
                  word var←c42960;
                  {
                     word var←c42992;
                     word d←v26032;
                     word s←v26060;
                     d←v26032 = (* (( (ptr) dstLine←v8056)+1) );
                     s←v26060 = w←v8028;
SOURCE(8360, 60)
                     {
                        word var←c43056;
                        {
                           word var←c43088;
                           {
/*1*/   word var←c43120;
/*1*/   var←c43120 = (word) XRM←BITNOT(s←v26060);
/*1*/   var←c43088 = (word) XRM←BITXOR(var←c43120, d←v26032);
/*1*/   };
                           var←c43056 = (word) XRM←BITAND(var←c43088, rMask←v7972);
                           };
                        var←c42992 = (word) XRM←BITXOR(var←c43056, d←v26032);
                        };
                     var←c42960 = var←c42992;
                     };
                  (* (( (ptr) dstLine←v8056)+1) ) = var←c42960;
                  };
SOURCE(10049, 19)
               if ((count←v7720 <= 1)) {
SOURCE(10068, 4)
                  goto lab←L100083;
                  };
SOURCE(10074, 17)
               count←v7720 = (count←v7720 - 1);
SOURCE(10093, 23)
               dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(10118, 23)
               srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
               goto lab←L100084;
               lab←L100083: ;
               break;
            case 3: 
SOURCE(10163, 278)
               lab←L100089: ;
SOURCE(10166, 13)
SOURCE(9381, 26)
               dstLine←v8056 = dstPtr←v7748;
SOURCE(9409, 26)
               srcLine←v8084 = srcPtr←v7804;
SOURCE(10181, 15)
SOURCE(9233, 23)
               w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(10198, 37)
               {
                  word var←c43152;
                  {
                     word var←c43184;
                     word d←v25956;
                     word s←v25984;
                     d←v25956 = (*  (ptr) dstLine←v8056 );
                     s←v25984 = w←v8028;
SOURCE(8360, 60)
                     {
                        word var←c43248;
                        {
                           word var←c43280;
                           {
/*1*/   word var←c43312;
/*1*/   var←c43312 = (word) XRM←BITNOT(s←v25984);
/*1*/   var←c43280 = (word) XRM←BITXOR(var←c43312, d←v25956);
/*1*/   };
                           var←c43248 = (word) XRM←BITAND(var←c43280, lMask←v7944);
                           };
                        var←c43184 = (word) XRM←BITXOR(var←c43248, d←v25956);
                        };
                     var←c43152 = var←c43184;
                     };
                  (*  (ptr) dstLine←v8056 ) = var←c43152;
                  };
SOURCE(10238, 15)
SOURCE(9233, 23)
               w←v8028 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(10255, 23)
               {
                  word var←c43344;
                  var←c43344 = (word) XRM←BITNOT(w←v8028);
                  (* (( (ptr) dstLine←v8056)+1) ) = var←c43344;
                  };
SOURCE(10281, 27)
SOURCE(9324, 23)
               w←v8028 = (* (( (ptr) srcLine←v8084)+2) );
SOURCE(10310, 37)
               {
                  word var←c43376;
                  {
                     word var←c43408;
                     word d←v25880;
                     word s←v25908;
                     d←v25880 = (* (( (ptr) dstLine←v8056)+2) );
                     s←v25908 = w←v8028;
SOURCE(8360, 60)
                     {
                        word var←c43472;
                        {
                           word var←c43504;
                           {
/*1*/   word var←c43536;
/*1*/   var←c43536 = (word) XRM←BITNOT(s←v25908);
/*1*/   var←c43504 = (word) XRM←BITXOR(var←c43536, d←v25880);
/*1*/   };
                           var←c43472 = (word) XRM←BITAND(var←c43504, rMask←v7972);
                           };
                        var←c43408 = (word) XRM←BITXOR(var←c43472, d←v25880);
                        };
                     var←c43376 = var←c43408;
                     };
                  (* (( (ptr) dstLine←v8056)+2) ) = var←c43376;
                  };
SOURCE(10349, 19)
               if ((count←v7720 <= 1)) {
SOURCE(10368, 4)
                  goto lab←L100088;
                  };
SOURCE(10374, 17)
               count←v7720 = (count←v7720 - 1);
SOURCE(10393, 23)
               dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(10418, 23)
               srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
               goto lab←L100089;
               lab←L100088: ;
               break;
            case 4: 
SOURCE(10463, 321)
               lab←L100094: ;
SOURCE(10466, 13)
SOURCE(9381, 26)
               dstLine←v8056 = dstPtr←v7748;
SOURCE(9409, 26)
               srcLine←v8084 = srcPtr←v7804;
SOURCE(10481, 15)
SOURCE(9233, 23)
               w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(10498, 37)
               {
                  word var←c43568;
                  {
                     word var←c43600;
                     word d←v25804;
                     word s←v25832;
                     d←v25804 = (*  (ptr) dstLine←v8056 );
                     s←v25832 = w←v8028;
SOURCE(8360, 60)
                     {
                        word var←c43664;
                        {
                           word var←c43696;
                           {
/*1*/   word var←c43728;
/*1*/   var←c43728 = (word) XRM←BITNOT(s←v25832);
/*1*/   var←c43696 = (word) XRM←BITXOR(var←c43728, d←v25804);
/*1*/   };
                           var←c43664 = (word) XRM←BITAND(var←c43696, lMask←v7944);
                           };
                        var←c43600 = (word) XRM←BITXOR(var←c43664, d←v25804);
                        };
                     var←c43568 = var←c43600;
                     };
                  (*  (ptr) dstLine←v8056 ) = var←c43568;
                  };
SOURCE(10538, 15)
SOURCE(9233, 23)
               w←v8028 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(10555, 23)
               {
                  word var←c43760;
                  var←c43760 = (word) XRM←BITNOT(w←v8028);
                  (* (( (ptr) dstLine←v8056)+1) ) = var←c43760;
                  };
SOURCE(10581, 15)
SOURCE(9233, 23)
               w←v8028 = (* (( (ptr) srcLine←v8084)+2) );
SOURCE(10598, 23)
               {
                  word var←c43792;
                  var←c43792 = (word) XRM←BITNOT(w←v8028);
                  (* (( (ptr) dstLine←v8056)+2) ) = var←c43792;
                  };
SOURCE(10624, 27)
SOURCE(9324, 23)
               w←v8028 = (* (( (ptr) srcLine←v8084)+3) );
SOURCE(10653, 37)
               {
                  word var←c43824;
                  {
                     word var←c43856;
                     word d←v25728;
                     word s←v25756;
                     d←v25728 = (* (( (ptr) dstLine←v8056)+3) );
                     s←v25756 = w←v8028;
SOURCE(8360, 60)
                     {
                        word var←c43920;
                        {
                           word var←c43952;
                           {
/*1*/   word var←c43984;
/*1*/   var←c43984 = (word) XRM←BITNOT(s←v25756);
/*1*/   var←c43952 = (word) XRM←BITXOR(var←c43984, d←v25728);
/*1*/   };
                           var←c43920 = (word) XRM←BITAND(var←c43952, rMask←v7972);
                           };
                        var←c43856 = (word) XRM←BITXOR(var←c43920, d←v25728);
                        };
                     var←c43824 = var←c43856;
                     };
                  (* (( (ptr) dstLine←v8056)+3) ) = var←c43824;
                  };
SOURCE(10692, 19)
               if ((count←v7720 <= 1)) {
SOURCE(10711, 4)
                  goto lab←L100093;
                  };
SOURCE(10717, 17)
               count←v7720 = (count←v7720 - 1);
SOURCE(10736, 23)
               dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(10761, 23)
               srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
               goto lab←L100094;
               lab←L100093: ;
               break;
            default: 
SOURCE(10839, 911)
               lab←L100099: ;
               {
                  word nw←v8612;
                  nw←v8612 = (ndw←v7916 - 2);
SOURCE(10884, 13)
SOURCE(9381, 26)
                  dstLine←v8056 = dstPtr←v7748;
SOURCE(9409, 26)
                  srcLine←v8084 = srcPtr←v7804;
SOURCE(10899, 15)
SOURCE(9233, 23)
                  w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(10916, 37)
                  {
                     word var←c44016;
                     {
                        word var←c44048;
                        word d←v25652;
                        word s←v25680;
                        d←v25652 = (*  (ptr) dstLine←v8056 );
                        s←v25680 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c44112;
                           {
/*1*/   word var←c44144;
/*1*/   {
/*1*/      word var←c44176;
/*1*/      var←c44176 = (word) XRM←BITNOT(s←v25680);
/*1*/      var←c44144 = (word) XRM←BITXOR(var←c44176, d←v25652);
/*1*/      };
/*1*/   var←c44112 = (word) XRM←BITAND(var←c44144, lMask←v7944);
/*1*/   };
                           var←c44048 = (word) XRM←BITXOR(var←c44112, d←v25652);
                           };
                        var←c44016 = var←c44048;
                        };
                     (*  (ptr) dstLine←v8056 ) = var←c44016;
                     };
SOURCE(10955, 28)
                  dstLine←v8056 = (dstLine←v8056 + 4);
SOURCE(10985, 28)
                  srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(11015, 260)
                  lab←L100103: ;
                  if ((nw←v8612 >= 4)) {
                     }
                  else {
                     goto lab←L100101;
                     };
SOURCE(11032, 15)
SOURCE(9233, 23)
                  w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(11049, 23)
                  {
                     word var←c44208;
                     var←c44208 = (word) XRM←BITNOT(w←v8028);
                     (*  (ptr) dstLine←v8056 ) = var←c44208;
                     };
SOURCE(11074, 15)
SOURCE(9233, 23)
                  w←v8028 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(11091, 23)
                  {
                     word var←c44240;
                     var←c44240 = (word) XRM←BITNOT(w←v8028);
                     (* (( (ptr) dstLine←v8056)+1) ) = var←c44240;
                     };
SOURCE(11116, 15)
SOURCE(9233, 23)
                  w←v8028 = (* (( (ptr) srcLine←v8084)+2) );
SOURCE(11133, 23)
                  {
                     word var←c44272;
                     var←c44272 = (word) XRM←BITNOT(w←v8028);
                     (* (( (ptr) dstLine←v8056)+2) ) = var←c44272;
                     };
SOURCE(11158, 15)
SOURCE(9233, 23)
                  w←v8028 = (* (( (ptr) srcLine←v8084)+3) );
SOURCE(11175, 23)
                  {
                     word var←c44304;
                     var←c44304 = (word) XRM←BITNOT(w←v8028);
                     (* (( (ptr) dstLine←v8056)+3) ) = var←c44304;
                     };
SOURCE(11200, 30)
                  dstLine←v8056 = (dstLine←v8056 + 16);
SOURCE(11232, 30)
                  srcLine←v8084 = (srcLine←v8084 + 16);
SOURCE(11264, 11)
                  nw←v8612 = (nw←v8612 - 4);
                  goto lab←L100103;
                  lab←L100101: ;
SOURCE(11286, 177)
                  if ((nw←v8612 >= 2)) {
SOURCE(11304, 15)
SOURCE(9233, 23)
                     w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(11321, 23)
                     {
                        word var←c44336;
                        var←c44336 = (word) XRM←BITNOT(w←v8028);
                        (*  (ptr) dstLine←v8056 ) = var←c44336;
                        };
SOURCE(11346, 15)
SOURCE(9233, 23)
                     w←v8028 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(11363, 23)
                     {
                        word var←c44368;
                        var←c44368 = (word) XRM←BITNOT(w←v8028);
                        (* (( (ptr) dstLine←v8056)+1) ) = var←c44368;
                        };
SOURCE(11388, 30)
                     dstLine←v8056 = (dstLine←v8056 + 8);
SOURCE(11420, 30)
                     srcLine←v8084 = (srcLine←v8084 + 8);
SOURCE(11452, 11)
                     nw←v8612 = (nw←v8612 - 2);
                     };
SOURCE(11468, 117)
                  if ((nw←v8612 == 1)) {
SOURCE(11485, 15)
SOURCE(9233, 23)
                     w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(11502, 23)
                     {
                        word var←c44400;
                        var←c44400 = (word) XRM←BITNOT(w←v8028);
                        (*  (ptr) dstLine←v8056 ) = var←c44400;
                        };
SOURCE(11527, 28)
                     dstLine←v8056 = (dstLine←v8056 + 4);
SOURCE(11557, 28)
                     srcLine←v8084 = (srcLine←v8084 + 4);
                     };
SOURCE(11590, 27)
SOURCE(9324, 23)
                  w←v8028 = (*  (ptr) srcLine←v8084 );
SOURCE(11619, 37)
                  {
                     word var←c44432;
                     {
                        word var←c44464;
                        word d←v25576;
                        word s←v25604;
                        d←v25576 = (*  (ptr) dstLine←v8056 );
                        s←v25604 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c44528;
                           {
/*1*/   word var←c44560;
/*1*/   {
/*1*/      word var←c44592;
/*1*/      var←c44592 = (word) XRM←BITNOT(s←v25604);
/*1*/      var←c44560 = (word) XRM←BITXOR(var←c44592, d←v25576);
/*1*/      };
/*1*/   var←c44528 = (word) XRM←BITAND(var←c44560, rMask←v7972);
/*1*/   };
                           var←c44464 = (word) XRM←BITXOR(var←c44528, d←v25576);
                           };
                        var←c44432 = var←c44464;
                        };
                     (*  (ptr) dstLine←v8056 ) = var←c44432;
                     };
SOURCE(11658, 19)
                  if ((count←v7720 <= 1)) {
SOURCE(11677, 4)
                     goto lab←L100098;
                     };
SOURCE(11683, 17)
                  count←v7720 = (count←v7720 - 1);
SOURCE(11702, 23)
                  dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(11727, 23)
                  srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                  };
               goto lab←L100099;
               lab←L100098: ;
               break;
            };
         };
      }
   else {
SOURCE(14923, 9)
      {
         word hi←v8640;
         word lo←v8668 = 0;
         word rSA←v8696;
         word nsw←v8724;
         word fetchLastWord←v8752;
         rSA←v8696 = (32 - lSA←v8000);
         {
            word bits←v21488;
            bits←v21488 = (srcBit←v7832 + (* (( (ptr) formal←c75952)+6) ));
SOURCE(512, 36)
            nsw←v8724 = ((bits←v21488 + 31) >> 5);
            };
         fetchLastWord←v8752 =  ( (srcBit←v7832 >= dstBit←v7776) ? (nsw←v8724 > ndw←v7916) : (nsw←v8724 >= ndw←v7916) ) ;
SOURCE(12560, 2309)
         {
            word var←c44656;
            var←c44656 = ndw←v7916;
            switch (var←c44656) {
               case 1: 
                  {
                     word bothMask←v9072;
                     bothMask←v9072 = (word) XRM←BITAND(lMask←v7944, rMask←v7972);
SOURCE(12622, 382)
                     if ((0 != fetchLastWord←v8752)) {
SOURCE(12644, 172)
                        lab←L100108: ;
SOURCE(12647, 13)
SOURCE(12462, 26)
                        dstLine←v8056 = dstPtr←v7748;
SOURCE(12490, 26)
                        srcLine←v8084 = srcPtr←v7804;
SOURCE(12518, 36)
                        if ((srcBit←v7832 >= dstBit←v7776)) {
SOURCE(12543, 11)
SOURCE(12050, 7)
                           hi←v8640 = lo←v8668;
SOURCE(12059, 15)
                           lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12076, 28)
                           srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(12106, 42)
                           w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
                           };
SOURCE(12662, 18)
SOURCE(12347, 22)
                        w←v8028 = (word) XRM←BITLSHIFT(lo←v8668, lSA←v8000);
SOURCE(12385, 43)
                        w←v8028 = (w←v8028 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v8084 ), rSA←v8696));
SOURCE(12682, 40)
                        {
                           word var←c44688;
                           {
/*1*/   word var←c44720;
/*1*/   word d←v25500;
/*1*/   word s←v25528;
/*1*/   d←v25500 = (*  (ptr) dstLine←v8056 );
/*1*/   s←v25528 = w←v8028;
SOURCE(8360, 60)
/*1*/   {
/*1*/      word var←c44784;
/*1*/      {
/*1*/         word var←c44816;
/*1*/         {
/*1*/            word var←c44848;
/*1*/            var←c44848 = (word) XRM←BITNOT(s←v25528);
/*1*/            var←c44816 = (word) XRM←BITXOR(var←c44848, d←v25500);
/*1*/            };
/*1*/         var←c44784 = (word) XRM←BITAND(var←c44816, bothMask←v9072);
/*1*/         };
/*1*/      var←c44720 = (word) XRM←BITXOR(var←c44784, d←v25500);
/*1*/      };
/*1*/   var←c44688 = var←c44720;
/*1*/   };
                           (*  (ptr) dstLine←v8056 ) = var←c44688;
                           };
SOURCE(12724, 19)
                        if ((count←v7720 <= 1)) {
SOURCE(12743, 4)
                           goto lab←L100107;
                           };
SOURCE(12749, 17)
                        count←v7720 = (count←v7720 - 1);
SOURCE(12768, 23)
                        dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(12793, 23)
                        srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                        goto lab←L100108;
                        lab←L100107: ;
                        }
                     else {
SOURCE(12831, 173)
                        lab←L100112: ;
SOURCE(12834, 13)
SOURCE(12462, 26)
                        dstLine←v8056 = dstPtr←v7748;
SOURCE(12490, 26)
                        srcLine←v8084 = srcPtr←v7804;
SOURCE(12518, 36)
                        if ((srcBit←v7832 >= dstBit←v7776)) {
SOURCE(12543, 11)
SOURCE(12050, 7)
                           hi←v8640 = lo←v8668;
SOURCE(12059, 15)
                           lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12076, 28)
                           srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(12106, 42)
                           w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
                           };
SOURCE(12849, 19)
SOURCE(12347, 22)
                        w←v8028 = (word) XRM←BITLSHIFT(lo←v8668, lSA←v8000);
SOURCE(12870, 40)
                        {
                           word var←c44880;
                           {
/*1*/   word var←c44912;
/*1*/   word d←v25424;
/*1*/   word s←v25452;
/*1*/   d←v25424 = (*  (ptr) dstLine←v8056 );
/*1*/   s←v25452 = w←v8028;
SOURCE(8360, 60)
/*1*/   {
/*1*/      word var←c44976;
/*1*/      {
/*1*/         word var←c45008;
/*1*/         {
/*1*/            word var←c45040;
/*1*/            var←c45040 = (word) XRM←BITNOT(s←v25452);
/*1*/            var←c45008 = (word) XRM←BITXOR(var←c45040, d←v25424);
/*1*/            };
/*1*/         var←c44976 = (word) XRM←BITAND(var←c45008, bothMask←v9072);
/*1*/         };
/*1*/      var←c44912 = (word) XRM←BITXOR(var←c44976, d←v25424);
/*1*/      };
/*1*/   var←c44880 = var←c44912;
/*1*/   };
                           (*  (ptr) dstLine←v8056 ) = var←c44880;
                           };
SOURCE(12912, 19)
                        if ((count←v7720 <= 1)) {
SOURCE(12931, 4)
                           goto lab←L100111;
                           };
SOURCE(12937, 17)
                        count←v7720 = (count←v7720 - 1);
SOURCE(12956, 23)
                        dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(12981, 23)
                        srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                        goto lab←L100112;
                        lab←L100111: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(13025, 235)
                  lab←L100116: ;
SOURCE(13028, 13)
SOURCE(12462, 26)
                  dstLine←v8056 = dstPtr←v7748;
SOURCE(12490, 26)
                  srcLine←v8084 = srcPtr←v7804;
SOURCE(12518, 36)
                  if ((srcBit←v7832 >= dstBit←v7776)) {
SOURCE(12543, 11)
SOURCE(12050, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12059, 15)
                     lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12076, 28)
                     srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(12106, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
                     };
SOURCE(13043, 15)
SOURCE(12204, 7)
                  hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                  lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                  w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(13060, 37)
                  {
                     word var←c45072;
                     {
                        word var←c45104;
                        word d←v25348;
                        word s←v25376;
                        d←v25348 = (*  (ptr) dstLine←v8056 );
                        s←v25376 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c45168;
                           {
/*1*/   word var←c45200;
/*1*/   {
/*1*/      word var←c45232;
/*1*/      var←c45232 = (word) XRM←BITNOT(s←v25376);
/*1*/      var←c45200 = (word) XRM←BITXOR(var←c45232, d←v25348);
/*1*/      };
/*1*/   var←c45168 = (word) XRM←BITAND(var←c45200, lMask←v7944);
/*1*/   };
                           var←c45104 = (word) XRM←BITXOR(var←c45168, d←v25348);
                           };
                        var←c45072 = var←c45104;
                        };
                     (*  (ptr) dstLine←v8056 ) = var←c45072;
                     };
SOURCE(13100, 27)
SOURCE(12347, 22)
                  w←v8028 = (word) XRM←BITLSHIFT(lo←v8668, lSA←v8000);
SOURCE(12371, 57)
                  if ((0 != fetchLastWord←v8752)) {
SOURCE(12385, 43)
                     w←v8028 = (w←v8028 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v8084)+1) ), rSA←v8696));
                     };
SOURCE(13129, 37)
                  {
                     word var←c45264;
                     {
                        word var←c45296;
                        word d←v25272;
                        word s←v25300;
                        d←v25272 = (* (( (ptr) dstLine←v8056)+1) );
                        s←v25300 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c45360;
                           {
/*1*/   word var←c45392;
/*1*/   {
/*1*/      word var←c45424;
/*1*/      var←c45424 = (word) XRM←BITNOT(s←v25300);
/*1*/      var←c45392 = (word) XRM←BITXOR(var←c45424, d←v25272);
/*1*/      };
/*1*/   var←c45360 = (word) XRM←BITAND(var←c45392, rMask←v7972);
/*1*/   };
                           var←c45296 = (word) XRM←BITXOR(var←c45360, d←v25272);
                           };
                        var←c45264 = var←c45296;
                        };
                     (* (( (ptr) dstLine←v8056)+1) ) = var←c45264;
                     };
SOURCE(13168, 19)
                  if ((count←v7720 <= 1)) {
SOURCE(13187, 4)
                     goto lab←L100115;
                     };
SOURCE(13193, 17)
                  count←v7720 = (count←v7720 - 1);
SOURCE(13212, 23)
                  dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(13237, 23)
                  srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                  goto lab←L100116;
                  lab←L100115: ;
                  break;
               case 3: 
SOURCE(13282, 278)
                  lab←L100121: ;
SOURCE(13285, 13)
SOURCE(12462, 26)
                  dstLine←v8056 = dstPtr←v7748;
SOURCE(12490, 26)
                  srcLine←v8084 = srcPtr←v7804;
SOURCE(12518, 36)
                  if ((srcBit←v7832 >= dstBit←v7776)) {
SOURCE(12543, 11)
SOURCE(12050, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12059, 15)
                     lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12076, 28)
                     srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(12106, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
                     };
SOURCE(13300, 15)
SOURCE(12204, 7)
                  hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                  lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                  w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(13317, 37)
                  {
                     word var←c45456;
                     {
                        word var←c45488;
                        word d←v25196;
                        word s←v25224;
                        d←v25196 = (*  (ptr) dstLine←v8056 );
                        s←v25224 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c45552;
                           {
/*1*/   word var←c45584;
/*1*/   {
/*1*/      word var←c45616;
/*1*/      var←c45616 = (word) XRM←BITNOT(s←v25224);
/*1*/      var←c45584 = (word) XRM←BITXOR(var←c45616, d←v25196);
/*1*/      };
/*1*/   var←c45552 = (word) XRM←BITAND(var←c45584, lMask←v7944);
/*1*/   };
                           var←c45488 = (word) XRM←BITXOR(var←c45552, d←v25196);
                           };
                        var←c45456 = var←c45488;
                        };
                     (*  (ptr) dstLine←v8056 ) = var←c45456;
                     };
SOURCE(13357, 15)
SOURCE(12204, 7)
                  hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                  lo←v8668 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(12239, 42)
                  w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(13374, 23)
                  {
                     word var←c45648;
                     var←c45648 = (word) XRM←BITNOT(w←v8028);
                     (* (( (ptr) dstLine←v8056)+1) ) = var←c45648;
                     };
SOURCE(13400, 27)
SOURCE(12347, 22)
                  w←v8028 = (word) XRM←BITLSHIFT(lo←v8668, lSA←v8000);
SOURCE(12371, 57)
                  if ((0 != fetchLastWord←v8752)) {
SOURCE(12385, 43)
                     w←v8028 = (w←v8028 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v8084)+2) ), rSA←v8696));
                     };
SOURCE(13429, 37)
                  {
                     word var←c45680;
                     {
                        word var←c45712;
                        word d←v25120;
                        word s←v25148;
                        d←v25120 = (* (( (ptr) dstLine←v8056)+2) );
                        s←v25148 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c45776;
                           {
/*1*/   word var←c45808;
/*1*/   {
/*1*/      word var←c45840;
/*1*/      var←c45840 = (word) XRM←BITNOT(s←v25148);
/*1*/      var←c45808 = (word) XRM←BITXOR(var←c45840, d←v25120);
/*1*/      };
/*1*/   var←c45776 = (word) XRM←BITAND(var←c45808, rMask←v7972);
/*1*/   };
                           var←c45712 = (word) XRM←BITXOR(var←c45776, d←v25120);
                           };
                        var←c45680 = var←c45712;
                        };
                     (* (( (ptr) dstLine←v8056)+2) ) = var←c45680;
                     };
SOURCE(13468, 19)
                  if ((count←v7720 <= 1)) {
SOURCE(13487, 4)
                     goto lab←L100120;
                     };
SOURCE(13493, 17)
                  count←v7720 = (count←v7720 - 1);
SOURCE(13512, 23)
                  dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(13537, 23)
                  srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                  goto lab←L100121;
                  lab←L100120: ;
                  break;
               case 4: 
SOURCE(13582, 321)
                  lab←L100126: ;
SOURCE(13585, 13)
SOURCE(12462, 26)
                  dstLine←v8056 = dstPtr←v7748;
SOURCE(12490, 26)
                  srcLine←v8084 = srcPtr←v7804;
SOURCE(12518, 36)
                  if ((srcBit←v7832 >= dstBit←v7776)) {
SOURCE(12543, 11)
SOURCE(12050, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12059, 15)
                     lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12076, 28)
                     srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(12106, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
                     };
SOURCE(13600, 15)
SOURCE(12204, 7)
                  hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                  lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                  w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(13617, 37)
                  {
                     word var←c45872;
                     {
                        word var←c45904;
                        word d←v25044;
                        word s←v25072;
                        d←v25044 = (*  (ptr) dstLine←v8056 );
                        s←v25072 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c45968;
                           {
/*1*/   word var←c46000;
/*1*/   {
/*1*/      word var←c46032;
/*1*/      var←c46032 = (word) XRM←BITNOT(s←v25072);
/*1*/      var←c46000 = (word) XRM←BITXOR(var←c46032, d←v25044);
/*1*/      };
/*1*/   var←c45968 = (word) XRM←BITAND(var←c46000, lMask←v7944);
/*1*/   };
                           var←c45904 = (word) XRM←BITXOR(var←c45968, d←v25044);
                           };
                        var←c45872 = var←c45904;
                        };
                     (*  (ptr) dstLine←v8056 ) = var←c45872;
                     };
SOURCE(13657, 15)
SOURCE(12204, 7)
                  hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                  lo←v8668 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(12239, 42)
                  w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(13674, 23)
                  {
                     word var←c46064;
                     var←c46064 = (word) XRM←BITNOT(w←v8028);
                     (* (( (ptr) dstLine←v8056)+1) ) = var←c46064;
                     };
SOURCE(13700, 15)
SOURCE(12204, 7)
                  hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                  lo←v8668 = (* (( (ptr) srcLine←v8084)+2) );
SOURCE(12239, 42)
                  w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(13717, 23)
                  {
                     word var←c46096;
                     var←c46096 = (word) XRM←BITNOT(w←v8028);
                     (* (( (ptr) dstLine←v8056)+2) ) = var←c46096;
                     };
SOURCE(13743, 27)
SOURCE(12347, 22)
                  w←v8028 = (word) XRM←BITLSHIFT(lo←v8668, lSA←v8000);
SOURCE(12371, 57)
                  if ((0 != fetchLastWord←v8752)) {
SOURCE(12385, 43)
                     w←v8028 = (w←v8028 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v8084)+3) ), rSA←v8696));
                     };
SOURCE(13772, 37)
                  {
                     word var←c46128;
                     {
                        word var←c46160;
                        word d←v24968;
                        word s←v24996;
                        d←v24968 = (* (( (ptr) dstLine←v8056)+3) );
                        s←v24996 = w←v8028;
SOURCE(8360, 60)
                        {
                           word var←c46224;
                           {
/*1*/   word var←c46256;
/*1*/   {
/*1*/      word var←c46288;
/*1*/      var←c46288 = (word) XRM←BITNOT(s←v24996);
/*1*/      var←c46256 = (word) XRM←BITXOR(var←c46288, d←v24968);
/*1*/      };
/*1*/   var←c46224 = (word) XRM←BITAND(var←c46256, rMask←v7972);
/*1*/   };
                           var←c46160 = (word) XRM←BITXOR(var←c46224, d←v24968);
                           };
                        var←c46128 = var←c46160;
                        };
                     (* (( (ptr) dstLine←v8056)+3) ) = var←c46128;
                     };
SOURCE(13811, 19)
                  if ((count←v7720 <= 1)) {
SOURCE(13830, 4)
                     goto lab←L100125;
                     };
SOURCE(13836, 17)
                  count←v7720 = (count←v7720 - 1);
SOURCE(13855, 23)
                  dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(13880, 23)
                  srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                  goto lab←L100126;
                  lab←L100125: ;
                  break;
               default: 
SOURCE(13958, 911)
                  lab←L100131: ;
                  {
                     word nw←v9148;
                     nw←v9148 = (ndw←v7916 - 2);
SOURCE(14003, 13)
SOURCE(12462, 26)
                     dstLine←v8056 = dstPtr←v7748;
SOURCE(12490, 26)
                     srcLine←v8084 = srcPtr←v7804;
SOURCE(12518, 36)
                     if ((srcBit←v7832 >= dstBit←v7776)) {
SOURCE(12543, 11)
SOURCE(12050, 7)
                        hi←v8640 = lo←v8668;
SOURCE(12059, 15)
                        lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12076, 28)
                        srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(12106, 42)
                        w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
                        };
SOURCE(14018, 15)
SOURCE(12204, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                     lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14035, 37)
                     {
                        word var←c46320;
                        {
                           word var←c46352;
                           word d←v24892;
                           word s←v24920;
                           d←v24892 = (*  (ptr) dstLine←v8056 );
                           s←v24920 = w←v8028;
SOURCE(8360, 60)
                           {
/*1*/   word var←c46416;
/*1*/   {
/*1*/      word var←c46448;
/*1*/      {
/*1*/         word var←c46480;
/*1*/         var←c46480 = (word) XRM←BITNOT(s←v24920);
/*1*/         var←c46448 = (word) XRM←BITXOR(var←c46480, d←v24892);
/*1*/         };
/*1*/      var←c46416 = (word) XRM←BITAND(var←c46448, lMask←v7944);
/*1*/      };
/*1*/   var←c46352 = (word) XRM←BITXOR(var←c46416, d←v24892);
/*1*/   };
                           var←c46320 = var←c46352;
                           };
                        (*  (ptr) dstLine←v8056 ) = var←c46320;
                        };
SOURCE(14074, 28)
                     dstLine←v8056 = (dstLine←v8056 + 4);
SOURCE(14104, 28)
                     srcLine←v8084 = (srcLine←v8084 + 4);
SOURCE(14134, 260)
                     lab←L100135: ;
                     if ((nw←v9148 >= 4)) {
                        }
                     else {
                        goto lab←L100133;
                        };
SOURCE(14151, 15)
SOURCE(12204, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                     lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14168, 23)
                     {
                        word var←c46512;
                        var←c46512 = (word) XRM←BITNOT(w←v8028);
                        (*  (ptr) dstLine←v8056 ) = var←c46512;
                        };
SOURCE(14193, 15)
SOURCE(12204, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                     lo←v8668 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(12239, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14210, 23)
                     {
                        word var←c46544;
                        var←c46544 = (word) XRM←BITNOT(w←v8028);
                        (* (( (ptr) dstLine←v8056)+1) ) = var←c46544;
                        };
SOURCE(14235, 15)
SOURCE(12204, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                     lo←v8668 = (* (( (ptr) srcLine←v8084)+2) );
SOURCE(12239, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14252, 23)
                     {
                        word var←c46576;
                        var←c46576 = (word) XRM←BITNOT(w←v8028);
                        (* (( (ptr) dstLine←v8056)+2) ) = var←c46576;
                        };
SOURCE(14277, 15)
SOURCE(12204, 7)
                     hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                     lo←v8668 = (* (( (ptr) srcLine←v8084)+3) );
SOURCE(12239, 42)
                     w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14294, 23)
                     {
                        word var←c46608;
                        var←c46608 = (word) XRM←BITNOT(w←v8028);
                        (* (( (ptr) dstLine←v8056)+3) ) = var←c46608;
                        };
SOURCE(14319, 30)
                     dstLine←v8056 = (dstLine←v8056 + 16);
SOURCE(14351, 30)
                     srcLine←v8084 = (srcLine←v8084 + 16);
SOURCE(14383, 11)
                     nw←v9148 = (nw←v9148 - 4);
                     goto lab←L100135;
                     lab←L100133: ;
SOURCE(14405, 177)
                     if ((nw←v9148 >= 2)) {
SOURCE(14423, 15)
SOURCE(12204, 7)
                        hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                        lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                        w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14440, 23)
                        {
                           word var←c46640;
                           var←c46640 = (word) XRM←BITNOT(w←v8028);
                           (*  (ptr) dstLine←v8056 ) = var←c46640;
                           };
SOURCE(14465, 15)
SOURCE(12204, 7)
                        hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                        lo←v8668 = (* (( (ptr) srcLine←v8084)+1) );
SOURCE(12239, 42)
                        w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14482, 23)
                        {
                           word var←c46672;
                           var←c46672 = (word) XRM←BITNOT(w←v8028);
                           (* (( (ptr) dstLine←v8056)+1) ) = var←c46672;
                           };
SOURCE(14507, 30)
                        dstLine←v8056 = (dstLine←v8056 + 8);
SOURCE(14539, 30)
                        srcLine←v8084 = (srcLine←v8084 + 8);
SOURCE(14571, 11)
                        nw←v9148 = (nw←v9148 - 2);
                        };
SOURCE(14587, 117)
                     if ((nw←v9148 == 1)) {
SOURCE(14604, 15)
SOURCE(12204, 7)
                        hi←v8640 = lo←v8668;
SOURCE(12213, 24)
                        lo←v8668 = (*  (ptr) srcLine←v8084 );
SOURCE(12239, 42)
                        w←v8028 = ((word) XRM←BITLSHIFT(hi←v8640, lSA←v8000) + (word) XRM←BITRSHIFT(lo←v8668, rSA←v8696));
SOURCE(14621, 23)
                        {
                           word var←c46704;
                           var←c46704 = (word) XRM←BITNOT(w←v8028);
                           (*  (ptr) dstLine←v8056 ) = var←c46704;
                           };
SOURCE(14646, 28)
                        dstLine←v8056 = (dstLine←v8056 + 4);
SOURCE(14676, 28)
                        srcLine←v8084 = (srcLine←v8084 + 4);
                        };
SOURCE(14709, 27)
SOURCE(12347, 22)
                     w←v8028 = (word) XRM←BITLSHIFT(lo←v8668, lSA←v8000);
SOURCE(12371, 57)
                     if ((0 != fetchLastWord←v8752)) {
SOURCE(12385, 43)
                        w←v8028 = (w←v8028 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v8084 ), rSA←v8696));
                        };
SOURCE(14738, 37)
                     {
                        word var←c46736;
                        {
                           word var←c46768;
                           word d←v24816;
                           word s←v24844;
                           d←v24816 = (*  (ptr) dstLine←v8056 );
                           s←v24844 = w←v8028;
SOURCE(8360, 60)
                           {
/*1*/   word var←c46832;
/*1*/   {
/*1*/      word var←c46864;
/*1*/      {
/*1*/         word var←c46896;
/*1*/         var←c46896 = (word) XRM←BITNOT(s←v24844);
/*1*/         var←c46864 = (word) XRM←BITXOR(var←c46896, d←v24816);
/*1*/         };
/*1*/      var←c46832 = (word) XRM←BITAND(var←c46864, rMask←v7972);
/*1*/      };
/*1*/   var←c46768 = (word) XRM←BITXOR(var←c46832, d←v24816);
/*1*/   };
                           var←c46736 = var←c46768;
                           };
                        (*  (ptr) dstLine←v8056 ) = var←c46736;
                        };
SOURCE(14777, 19)
                     if ((count←v7720 <= 1)) {
SOURCE(14796, 4)
                        goto lab←L100130;
                        };
SOURCE(14802, 17)
                     count←v7720 = (count←v7720 - 1);
SOURCE(14821, 23)
                     dstPtr←v7748 = (dstPtr←v7748 + dRast←v7860);
SOURCE(14846, 23)
                     srcPtr←v7804 = (srcPtr←v7804 + sRast←v7888);
                     };
                  goto lab←L100131;
                  lab←L100130: ;
                  break;
               };
            };
         };
      };
   }

static void Forward2←P480(dst←v4248, src←v4276, formal←c01600, formal←c01601, sSize←v4360, formal←c01602)
   W2 dst←v4248;
   W2 src←v4276;
   word formal←c01600;
   word formal←c01601;
   word sSize←v4360;
   word formal←c01602;
   {
   W9 var←c75984;
   /* declaration of dstBpl←v4304 skipped */ 
   /* declaration of srcBpl←v4332 skipped */ 
   /* declaration of fSize←v4388 skipped */ 
   /* declaration of var←c46928 skipped */ 
   (* (( (ptr) &var←c75984)+4)/* dstBpl←v4304 */  ) = formal←c01600;
   (* (( (ptr) &var←c75984)+5)/* srcBpl←v4332 */  ) = formal←c01601;
   (* (( (ptr) &var←c75984)+6)/* fSize←v4388 */  ) = formal←c01602;
   /* Forward2: */ 
SOURCE(15429, 7439)
   {
      word tmpAddr5;
      tmpAddr5 = (word) (( (ptr) &var←c75984)+7)/* var←c46928 */ ;
      (*  (ptr) tmpAddr5 ) = ( ((word)  (fPt) DoUniformLines←P2964) );
      (* (( (ptr) tmpAddr5) + 1) ) = 1;
      };
SOURCE(22398, 470)
   if (((word) XRM←BITOR(sSize←v4360, (* (( (ptr) &var←c75984)+6)/* fSize←v4388 */  )) != 0)) {
SOURCE(22432, 436)
      if ( ( (((* (( (ptr) &var←c75984)+4)/* dstBpl←v4304 */  ) & 037) == 0) ? (((* (( (ptr) &var←c75984)+5)/* srcBpl←v4332 */  ) & 037) == 0) : 0 ) ) {
SOURCE(22484, 59)
         (void) DoUniformLines←P2964(sSize←v4360, dst←v4248.f0, dst←v4248.f1, src←v4276.f0, src←v4276.f1, (word) (( (bPt) &var←c75984)+28)
            /* var←c46928 */ );
         }
      else {
SOURCE(22554, 314)
         lab←L100139: ;
SOURCE(22557, 55)
         (void) DoUniformLines←P2964(1, dst←v4248.f0, dst←v4248.f1, src←v4276.f0, src←v4276.f1, (word) (( (bPt) &var←c75984)+28)/* var←c46928 */ )
         ;
SOURCE(22614, 32)
         sSize←v4360 = (sSize←v4360 - 1);
         if ((sSize←v4360 == 0)) {
SOURCE(22646, 4)
            goto lab←L100138;
            };
SOURCE(22652, 61)
         {
            word var←c46960;
            word bits←v22208;
            bits←v22208 = (dst←v4248.f1 + (* (( (ptr) &var←c75984)+4)/* dstBpl←v4304 */  ));
SOURCE(627, 52)
            var←c46960 = ((bits←v22208 >> 5) << 2);
            dst←v4248.f0 = (dst←v4248.f0 + var←c46960);
            };
SOURCE(22715, 44)
         dst←v4248.f1 = ((dst←v4248.f1 + (* (( (ptr) &var←c75984)+4)/* dstBpl←v4304 */  )) & 037);
SOURCE(22761, 61)
         {
            word var←c46992;
            word bits←v22160;
            bits←v22160 = (src←v4276.f1 + (* (( (ptr) &var←c75984)+5)/* srcBpl←v4332 */  ));
SOURCE(627, 52)
            var←c46992 = ((bits←v22160 >> 5) << 2);
            src←v4276.f0 = (src←v4276.f0 + var←c46992);
            };
SOURCE(22824, 44)
         src←v4276.f1 = ((src←v4276.f1 + (* (( (ptr) &var←c75984)+5)/* srcBpl←v4332 */  )) & 037);
         goto lab←L100139;
         lab←L100138: ;
         };
      };
   }

static void DoUniformLines←P2964(count←v9440, dstPtr←v9468, dstBit←v9496, srcPtr←v9524, srcBit←v9552, formal←c76048)
   word count←v9440;
   word dstPtr←v9468;
   word dstBit←v9496;
   word srcPtr←v9524;
   word srcBit←v9552;
   word formal←c76048;
   {
   register ptr gf←c76016 =  (ptr) &globalframe;
   word dRast←v9580;
   word sRast←v9608;
   word ndw←v9636;
   word lMask←v9664;
   word rMask←v9692;
   word lSA←v9720;
   word w←v9748 = 0;
   word dstLine←v9776 = 0;
   word srcLine←v9804 = 0;
   formal←c76048 = (formal←c76048 - 28);
   /* DoUniformLines: */ 
SOURCE(15643, 6749)
SOURCE(15752, 43)
   dRast←v9580 = (((* (( (ptr) formal←c76048)+4) ) >> 5) << 2);
SOURCE(15797, 43)
   sRast←v9608 = (((* (( (ptr) formal←c76048)+5) ) >> 5) << 2);
SOURCE(15842, 44)
   {
      word bits←v21440;
      bits←v21440 = (dstBit←v9496 + (* (( (ptr) formal←c76048)+6) ));
SOURCE(512, 36)
      ndw←v9636 = ((bits←v21440 + 31) >> 5);
      };
SOURCE(15888, 44)
   lMask←v9664 = (* ((( (ptr) gf←c76016)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v9496)) );
SOURCE(15934, 82)
   {
      word n←v22688;
      n←v22688 = (((32 - dstBit←v9496) - (* (( (ptr) formal←c76048)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v9692 = (word) XRM←BITNOT((* (((( (ptr) gf←c76016)+4)/* rightJustifiedOnes←v2832 */ +n←v22688)) ));
      };
SOURCE(16018, 58)
   lSA←v9720 = ((srcBit←v9552 - dstBit←v9496) & 037);
SOURCE(22347, 45)
   if ((lSA←v9720 == 0)) {
SOURCE(22365, 9)
SOURCE(16661, 2429)
      {
         word var←c47120;
         var←c47120 = ndw←v9636;
         switch (var←c47120) {
            case 1: 
               {
                  word bothMask←v10256;
                  bothMask←v10256 = (word) XRM←BITAND(lMask←v9664, rMask←v9692);
SOURCE(16745, 172)
                  lab←L100146: ;
SOURCE(16748, 13)
SOURCE(16601, 26)
                  dstLine←v9776 = dstPtr←v9468;
SOURCE(16629, 26)
                  srcLine←v9804 = srcPtr←v9524;
SOURCE(16763, 18)
SOURCE(16544, 23)
                  w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(16783, 40)
                  {
                     word var←c47152;
                     {
                        word var←c47184;
                        word d←v28244;
                        word s←v28272;
                        d←v28244 = (*  (ptr) dstLine←v9776 );
                        s←v28272 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c47248;
                           {
/*1*/   word var←c47280;
/*1*/   {
/*1*/      word var←c47312;
/*1*/      var←c47312 = (word) XRM←BITAND(d←v28244, s←v28272);
/*1*/      var←c47280 = (word) XRM←BITXOR(var←c47312, d←v28244);
/*1*/      };
/*1*/   var←c47248 = (word) XRM←BITAND(var←c47280, bothMask←v10256);
/*1*/   };
                           var←c47184 = (word) XRM←BITXOR(var←c47248, d←v28244);
                           };
                        var←c47152 = var←c47184;
                        };
                     (*  (ptr) dstLine←v9776 ) = var←c47152;
                     };
SOURCE(16825, 19)
                  if ((count←v9440 <= 1)) {
SOURCE(16844, 4)
                     goto lab←L100145;
                     };
SOURCE(16850, 17)
                  count←v9440 = (count←v9440 - 1);
SOURCE(16869, 23)
                  dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(16894, 23)
                  srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                  goto lab←L100146;
                  lab←L100145: ;
                  };
               break;
            case 2: 
SOURCE(17126, 235)
               lab←L100150: ;
SOURCE(17129, 13)
SOURCE(16601, 26)
               dstLine←v9776 = dstPtr←v9468;
SOURCE(16629, 26)
               srcLine←v9804 = srcPtr←v9524;
SOURCE(17144, 15)
SOURCE(16453, 23)
               w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(17161, 37)
               {
                  word var←c47344;
                  {
                     word var←c47376;
                     word d←v28092;
                     word s←v28120;
                     d←v28092 = (*  (ptr) dstLine←v9776 );
                     s←v28120 = w←v9748;
SOURCE(15577, 63)
                     {
                        word var←c47440;
                        {
                           word var←c47472;
                           {
/*1*/   word var←c47504;
/*1*/   var←c47504 = (word) XRM←BITAND(d←v28092, s←v28120);
/*1*/   var←c47472 = (word) XRM←BITXOR(var←c47504, d←v28092);
/*1*/   };
                           var←c47440 = (word) XRM←BITAND(var←c47472, lMask←v9664);
                           };
                        var←c47376 = (word) XRM←BITXOR(var←c47440, d←v28092);
                        };
                     var←c47344 = var←c47376;
                     };
                  (*  (ptr) dstLine←v9776 ) = var←c47344;
                  };
SOURCE(17201, 27)
SOURCE(16544, 23)
               w←v9748 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(17230, 37)
               {
                  word var←c47536;
                  {
                     word var←c47568;
                     word d←v28016;
                     word s←v28044;
                     d←v28016 = (* (( (ptr) dstLine←v9776)+1) );
                     s←v28044 = w←v9748;
SOURCE(15577, 63)
                     {
                        word var←c47632;
                        {
                           word var←c47664;
                           {
/*1*/   word var←c47696;
/*1*/   var←c47696 = (word) XRM←BITAND(d←v28016, s←v28044);
/*1*/   var←c47664 = (word) XRM←BITXOR(var←c47696, d←v28016);
/*1*/   };
                           var←c47632 = (word) XRM←BITAND(var←c47664, rMask←v9692);
                           };
                        var←c47568 = (word) XRM←BITXOR(var←c47632, d←v28016);
                        };
                     var←c47536 = var←c47568;
                     };
                  (* (( (ptr) dstLine←v9776)+1) ) = var←c47536;
                  };
SOURCE(17269, 19)
               if ((count←v9440 <= 1)) {
SOURCE(17288, 4)
                  goto lab←L100149;
                  };
SOURCE(17294, 17)
               count←v9440 = (count←v9440 - 1);
SOURCE(17313, 23)
               dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(17338, 23)
               srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
               goto lab←L100150;
               lab←L100149: ;
               break;
            case 3: 
SOURCE(17383, 290)
               lab←L100155: ;
SOURCE(17386, 13)
SOURCE(16601, 26)
               dstLine←v9776 = dstPtr←v9468;
SOURCE(16629, 26)
               srcLine←v9804 = srcPtr←v9524;
SOURCE(17401, 15)
SOURCE(16453, 23)
               w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(17418, 37)
               {
                  word var←c47728;
                  {
                     word var←c47760;
                     word d←v27940;
                     word s←v27968;
                     d←v27940 = (*  (ptr) dstLine←v9776 );
                     s←v27968 = w←v9748;
SOURCE(15577, 63)
                     {
                        word var←c47824;
                        {
                           word var←c47856;
                           {
/*1*/   word var←c47888;
/*1*/   var←c47888 = (word) XRM←BITAND(d←v27940, s←v27968);
/*1*/   var←c47856 = (word) XRM←BITXOR(var←c47888, d←v27940);
/*1*/   };
                           var←c47824 = (word) XRM←BITAND(var←c47856, lMask←v9664);
                           };
                        var←c47760 = (word) XRM←BITXOR(var←c47824, d←v27940);
                        };
                     var←c47728 = var←c47760;
                     };
                  (*  (ptr) dstLine←v9776 ) = var←c47728;
                  };
SOURCE(17458, 15)
SOURCE(16453, 23)
               w←v9748 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(17475, 35)
               {
                  word var←c47920;
                  var←c47920 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                  (* (( (ptr) dstLine←v9776)+1) ) = var←c47920;
                  };
SOURCE(17513, 27)
SOURCE(16544, 23)
               w←v9748 = (* (( (ptr) srcLine←v9804)+2) );
SOURCE(17542, 37)
               {
                  word var←c47952;
                  {
                     word var←c47984;
                     word d←v27864;
                     word s←v27892;
                     d←v27864 = (* (( (ptr) dstLine←v9776)+2) );
                     s←v27892 = w←v9748;
SOURCE(15577, 63)
                     {
                        word var←c48048;
                        {
                           word var←c48080;
                           {
/*1*/   word var←c48112;
/*1*/   var←c48112 = (word) XRM←BITAND(d←v27864, s←v27892);
/*1*/   var←c48080 = (word) XRM←BITXOR(var←c48112, d←v27864);
/*1*/   };
                           var←c48048 = (word) XRM←BITAND(var←c48080, rMask←v9692);
                           };
                        var←c47984 = (word) XRM←BITXOR(var←c48048, d←v27864);
                        };
                     var←c47952 = var←c47984;
                     };
                  (* (( (ptr) dstLine←v9776)+2) ) = var←c47952;
                  };
SOURCE(17581, 19)
               if ((count←v9440 <= 1)) {
SOURCE(17600, 4)
                  goto lab←L100154;
                  };
SOURCE(17606, 17)
               count←v9440 = (count←v9440 - 1);
SOURCE(17625, 23)
               dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(17650, 23)
               srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
               goto lab←L100155;
               lab←L100154: ;
               break;
            case 4: 
SOURCE(17695, 345)
               lab←L100160: ;
SOURCE(17698, 13)
SOURCE(16601, 26)
               dstLine←v9776 = dstPtr←v9468;
SOURCE(16629, 26)
               srcLine←v9804 = srcPtr←v9524;
SOURCE(17713, 15)
SOURCE(16453, 23)
               w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(17730, 37)
               {
                  word var←c48144;
                  {
                     word var←c48176;
                     word d←v27788;
                     word s←v27816;
                     d←v27788 = (*  (ptr) dstLine←v9776 );
                     s←v27816 = w←v9748;
SOURCE(15577, 63)
                     {
                        word var←c48240;
                        {
                           word var←c48272;
                           {
/*1*/   word var←c48304;
/*1*/   var←c48304 = (word) XRM←BITAND(d←v27788, s←v27816);
/*1*/   var←c48272 = (word) XRM←BITXOR(var←c48304, d←v27788);
/*1*/   };
                           var←c48240 = (word) XRM←BITAND(var←c48272, lMask←v9664);
                           };
                        var←c48176 = (word) XRM←BITXOR(var←c48240, d←v27788);
                        };
                     var←c48144 = var←c48176;
                     };
                  (*  (ptr) dstLine←v9776 ) = var←c48144;
                  };
SOURCE(17770, 15)
SOURCE(16453, 23)
               w←v9748 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(17787, 35)
               {
                  word var←c48336;
                  var←c48336 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                  (* (( (ptr) dstLine←v9776)+1) ) = var←c48336;
                  };
SOURCE(17825, 15)
SOURCE(16453, 23)
               w←v9748 = (* (( (ptr) srcLine←v9804)+2) );
SOURCE(17842, 35)
               {
                  word var←c48368;
                  var←c48368 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+2) ), w←v9748);
                  (* (( (ptr) dstLine←v9776)+2) ) = var←c48368;
                  };
SOURCE(17880, 27)
SOURCE(16544, 23)
               w←v9748 = (* (( (ptr) srcLine←v9804)+3) );
SOURCE(17909, 37)
               {
                  word var←c48400;
                  {
                     word var←c48432;
                     word d←v27712;
                     word s←v27740;
                     d←v27712 = (* (( (ptr) dstLine←v9776)+3) );
                     s←v27740 = w←v9748;
SOURCE(15577, 63)
                     {
                        word var←c48496;
                        {
                           word var←c48528;
                           {
/*1*/   word var←c48560;
/*1*/   var←c48560 = (word) XRM←BITAND(d←v27712, s←v27740);
/*1*/   var←c48528 = (word) XRM←BITXOR(var←c48560, d←v27712);
/*1*/   };
                           var←c48496 = (word) XRM←BITAND(var←c48528, rMask←v9692);
                           };
                        var←c48432 = (word) XRM←BITXOR(var←c48496, d←v27712);
                        };
                     var←c48400 = var←c48432;
                     };
                  (* (( (ptr) dstLine←v9776)+3) ) = var←c48400;
                  };
SOURCE(17948, 19)
               if ((count←v9440 <= 1)) {
SOURCE(17967, 4)
                  goto lab←L100159;
                  };
SOURCE(17973, 17)
               count←v9440 = (count←v9440 - 1);
SOURCE(17992, 23)
               dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(18017, 23)
               srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
               goto lab←L100160;
               lab←L100159: ;
               break;
            default: 
SOURCE(18095, 995)
               lab←L100165: ;
               {
                  word nw←v10332;
                  nw←v10332 = (ndw←v9636 - 2);
SOURCE(18140, 13)
SOURCE(16601, 26)
                  dstLine←v9776 = dstPtr←v9468;
SOURCE(16629, 26)
                  srcLine←v9804 = srcPtr←v9524;
SOURCE(18155, 15)
SOURCE(16453, 23)
                  w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(18172, 37)
                  {
                     word var←c48592;
                     {
                        word var←c48624;
                        word d←v27636;
                        word s←v27664;
                        d←v27636 = (*  (ptr) dstLine←v9776 );
                        s←v27664 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c48688;
                           {
/*1*/   word var←c48720;
/*1*/   {
/*1*/      word var←c48752;
/*1*/      var←c48752 = (word) XRM←BITAND(d←v27636, s←v27664);
/*1*/      var←c48720 = (word) XRM←BITXOR(var←c48752, d←v27636);
/*1*/      };
/*1*/   var←c48688 = (word) XRM←BITAND(var←c48720, lMask←v9664);
/*1*/   };
                           var←c48624 = (word) XRM←BITXOR(var←c48688, d←v27636);
                           };
                        var←c48592 = var←c48624;
                        };
                     (*  (ptr) dstLine←v9776 ) = var←c48592;
                     };
SOURCE(18211, 28)
                  dstLine←v9776 = (dstLine←v9776 + 4);
SOURCE(18241, 28)
                  srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(18271, 308)
                  lab←L100169: ;
                  if ((nw←v10332 >= 4)) {
                     }
                  else {
                     goto lab←L100167;
                     };
SOURCE(18288, 15)
SOURCE(16453, 23)
                  w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(18305, 35)
                  {
                     word var←c48784;
                     var←c48784 = (word) XRM←BITAND((*  (ptr) dstLine←v9776 ), w←v9748);
                     (*  (ptr) dstLine←v9776 ) = var←c48784;
                     };
SOURCE(18342, 15)
SOURCE(16453, 23)
                  w←v9748 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(18359, 35)
                  {
                     word var←c48816;
                     var←c48816 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                     (* (( (ptr) dstLine←v9776)+1) ) = var←c48816;
                     };
SOURCE(18396, 15)
SOURCE(16453, 23)
                  w←v9748 = (* (( (ptr) srcLine←v9804)+2) );
SOURCE(18413, 35)
                  {
                     word var←c48848;
                     var←c48848 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+2) ), w←v9748);
                     (* (( (ptr) dstLine←v9776)+2) ) = var←c48848;
                     };
SOURCE(18450, 15)
SOURCE(16453, 23)
                  w←v9748 = (* (( (ptr) srcLine←v9804)+3) );
SOURCE(18467, 35)
                  {
                     word var←c48880;
                     var←c48880 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+3) ), w←v9748);
                     (* (( (ptr) dstLine←v9776)+3) ) = var←c48880;
                     };
SOURCE(18504, 30)
                  dstLine←v9776 = (dstLine←v9776 + 16);
SOURCE(18536, 30)
                  srcLine←v9804 = (srcLine←v9804 + 16);
SOURCE(18568, 11)
                  nw←v10332 = (nw←v10332 - 4);
                  goto lab←L100169;
                  lab←L100167: ;
SOURCE(18590, 201)
                  if ((nw←v10332 >= 2)) {
SOURCE(18608, 15)
SOURCE(16453, 23)
                     w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(18625, 35)
                     {
                        word var←c48912;
                        var←c48912 = (word) XRM←BITAND((*  (ptr) dstLine←v9776 ), w←v9748);
                        (*  (ptr) dstLine←v9776 ) = var←c48912;
                        };
SOURCE(18662, 15)
SOURCE(16453, 23)
                     w←v9748 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(18679, 35)
                     {
                        word var←c48944;
                        var←c48944 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                        (* (( (ptr) dstLine←v9776)+1) ) = var←c48944;
                        };
SOURCE(18716, 30)
                     dstLine←v9776 = (dstLine←v9776 + 8);
SOURCE(18748, 30)
                     srcLine←v9804 = (srcLine←v9804 + 8);
SOURCE(18780, 11)
                     nw←v10332 = (nw←v10332 - 2);
                     };
SOURCE(18796, 129)
                  if ((nw←v10332 == 1)) {
SOURCE(18813, 15)
SOURCE(16453, 23)
                     w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(18830, 35)
                     {
                        word var←c48976;
                        var←c48976 = (word) XRM←BITAND((*  (ptr) dstLine←v9776 ), w←v9748);
                        (*  (ptr) dstLine←v9776 ) = var←c48976;
                        };
SOURCE(18867, 28)
                     dstLine←v9776 = (dstLine←v9776 + 4);
SOURCE(18897, 28)
                     srcLine←v9804 = (srcLine←v9804 + 4);
                     };
SOURCE(18930, 27)
SOURCE(16544, 23)
                  w←v9748 = (*  (ptr) srcLine←v9804 );
SOURCE(18959, 37)
                  {
                     word var←c49008;
                     {
                        word var←c49040;
                        word d←v27560;
                        word s←v27588;
                        d←v27560 = (*  (ptr) dstLine←v9776 );
                        s←v27588 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c49104;
                           {
/*1*/   word var←c49136;
/*1*/   {
/*1*/      word var←c49168;
/*1*/      var←c49168 = (word) XRM←BITAND(d←v27560, s←v27588);
/*1*/      var←c49136 = (word) XRM←BITXOR(var←c49168, d←v27560);
/*1*/      };
/*1*/   var←c49104 = (word) XRM←BITAND(var←c49136, rMask←v9692);
/*1*/   };
                           var←c49040 = (word) XRM←BITXOR(var←c49104, d←v27560);
                           };
                        var←c49008 = var←c49040;
                        };
                     (*  (ptr) dstLine←v9776 ) = var←c49008;
                     };
SOURCE(18998, 19)
                  if ((count←v9440 <= 1)) {
SOURCE(19017, 4)
                     goto lab←L100164;
                     };
SOURCE(19023, 17)
                  count←v9440 = (count←v9440 - 1);
SOURCE(19042, 23)
                  dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(19067, 23)
                  srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                  };
               goto lab←L100165;
               lab←L100164: ;
               break;
            };
         };
      }
   else {
SOURCE(22383, 9)
      {
         word hi←v10360;
         word lo←v10388 = 0;
         word rSA←v10416;
         word nsw←v10444;
         word fetchLastWord←v10472;
         rSA←v10416 = (32 - lSA←v9720);
         {
            word bits←v21392;
            bits←v21392 = (srcBit←v9552 + (* (( (ptr) formal←c76048)+6) ));
SOURCE(512, 36)
            nsw←v10444 = ((bits←v21392 + 31) >> 5);
            };
         fetchLastWord←v10472 =  ( (srcBit←v9552 >= dstBit←v9496) ? (nsw←v10444 > ndw←v9636) : (nsw←v10444 >= ndw←v9636) ) ;
SOURCE(19900, 2429)
         {
            word var←c49232;
            var←c49232 = ndw←v9636;
            switch (var←c49232) {
               case 1: 
                  {
                     word bothMask←v10792;
                     bothMask←v10792 = (word) XRM←BITAND(lMask←v9664, rMask←v9692);
SOURCE(19962, 382)
                     if ((0 != fetchLastWord←v10472)) {
SOURCE(19984, 172)
                        lab←L100174: ;
SOURCE(19987, 13)
SOURCE(19802, 26)
                        dstLine←v9776 = dstPtr←v9468;
SOURCE(19830, 26)
                        srcLine←v9804 = srcPtr←v9524;
SOURCE(19858, 36)
                        if ((srcBit←v9552 >= dstBit←v9496)) {
SOURCE(19883, 11)
SOURCE(19390, 7)
                           hi←v10360 = lo←v10388;
SOURCE(19399, 15)
                           lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19416, 28)
                           srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(19446, 42)
                           w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
                           };
SOURCE(20002, 18)
SOURCE(19687, 22)
                        w←v9748 = (word) XRM←BITLSHIFT(lo←v10388, lSA←v9720);
SOURCE(19725, 43)
                        w←v9748 = (w←v9748 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v9804 ), rSA←v10416));
SOURCE(20022, 40)
                        {
                           word var←c49264;
                           {
/*1*/   word var←c49296;
/*1*/   word d←v27484;
/*1*/   word s←v27512;
/*1*/   d←v27484 = (*  (ptr) dstLine←v9776 );
/*1*/   s←v27512 = w←v9748;
SOURCE(15577, 63)
/*1*/   {
/*1*/      word var←c49360;
/*1*/      {
/*1*/         word var←c49392;
/*1*/         {
/*1*/            word var←c49424;
/*1*/            var←c49424 = (word) XRM←BITAND(d←v27484, s←v27512);
/*1*/            var←c49392 = (word) XRM←BITXOR(var←c49424, d←v27484);
/*1*/            };
/*1*/         var←c49360 = (word) XRM←BITAND(var←c49392, bothMask←v10792);
/*1*/         };
/*1*/      var←c49296 = (word) XRM←BITXOR(var←c49360, d←v27484);
/*1*/      };
/*1*/   var←c49264 = var←c49296;
/*1*/   };
                           (*  (ptr) dstLine←v9776 ) = var←c49264;
                           };
SOURCE(20064, 19)
                        if ((count←v9440 <= 1)) {
SOURCE(20083, 4)
                           goto lab←L100173;
                           };
SOURCE(20089, 17)
                        count←v9440 = (count←v9440 - 1);
SOURCE(20108, 23)
                        dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(20133, 23)
                        srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                        goto lab←L100174;
                        lab←L100173: ;
                        }
                     else {
SOURCE(20171, 173)
                        lab←L100178: ;
SOURCE(20174, 13)
SOURCE(19802, 26)
                        dstLine←v9776 = dstPtr←v9468;
SOURCE(19830, 26)
                        srcLine←v9804 = srcPtr←v9524;
SOURCE(19858, 36)
                        if ((srcBit←v9552 >= dstBit←v9496)) {
SOURCE(19883, 11)
SOURCE(19390, 7)
                           hi←v10360 = lo←v10388;
SOURCE(19399, 15)
                           lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19416, 28)
                           srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(19446, 42)
                           w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
                           };
SOURCE(20189, 19)
SOURCE(19687, 22)
                        w←v9748 = (word) XRM←BITLSHIFT(lo←v10388, lSA←v9720);
SOURCE(20210, 40)
                        {
                           word var←c49456;
                           {
/*1*/   word var←c49488;
/*1*/   word d←v27408;
/*1*/   word s←v27436;
/*1*/   d←v27408 = (*  (ptr) dstLine←v9776 );
/*1*/   s←v27436 = w←v9748;
SOURCE(15577, 63)
/*1*/   {
/*1*/      word var←c49552;
/*1*/      {
/*1*/         word var←c49584;
/*1*/         {
/*1*/            word var←c49616;
/*1*/            var←c49616 = (word) XRM←BITAND(d←v27408, s←v27436);
/*1*/            var←c49584 = (word) XRM←BITXOR(var←c49616, d←v27408);
/*1*/            };
/*1*/         var←c49552 = (word) XRM←BITAND(var←c49584, bothMask←v10792);
/*1*/         };
/*1*/      var←c49488 = (word) XRM←BITXOR(var←c49552, d←v27408);
/*1*/      };
/*1*/   var←c49456 = var←c49488;
/*1*/   };
                           (*  (ptr) dstLine←v9776 ) = var←c49456;
                           };
SOURCE(20252, 19)
                        if ((count←v9440 <= 1)) {
SOURCE(20271, 4)
                           goto lab←L100177;
                           };
SOURCE(20277, 17)
                        count←v9440 = (count←v9440 - 1);
SOURCE(20296, 23)
                        dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(20321, 23)
                        srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                        goto lab←L100178;
                        lab←L100177: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(20365, 235)
                  lab←L100182: ;
SOURCE(20368, 13)
SOURCE(19802, 26)
                  dstLine←v9776 = dstPtr←v9468;
SOURCE(19830, 26)
                  srcLine←v9804 = srcPtr←v9524;
SOURCE(19858, 36)
                  if ((srcBit←v9552 >= dstBit←v9496)) {
SOURCE(19883, 11)
SOURCE(19390, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19399, 15)
                     lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19416, 28)
                     srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(19446, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
                     };
SOURCE(20383, 15)
SOURCE(19544, 7)
                  hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                  lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                  w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(20400, 37)
                  {
                     word var←c49648;
                     {
                        word var←c49680;
                        word d←v27332;
                        word s←v27360;
                        d←v27332 = (*  (ptr) dstLine←v9776 );
                        s←v27360 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c49744;
                           {
/*1*/   word var←c49776;
/*1*/   {
/*1*/      word var←c49808;
/*1*/      var←c49808 = (word) XRM←BITAND(d←v27332, s←v27360);
/*1*/      var←c49776 = (word) XRM←BITXOR(var←c49808, d←v27332);
/*1*/      };
/*1*/   var←c49744 = (word) XRM←BITAND(var←c49776, lMask←v9664);
/*1*/   };
                           var←c49680 = (word) XRM←BITXOR(var←c49744, d←v27332);
                           };
                        var←c49648 = var←c49680;
                        };
                     (*  (ptr) dstLine←v9776 ) = var←c49648;
                     };
SOURCE(20440, 27)
SOURCE(19687, 22)
                  w←v9748 = (word) XRM←BITLSHIFT(lo←v10388, lSA←v9720);
SOURCE(19711, 57)
                  if ((0 != fetchLastWord←v10472)) {
SOURCE(19725, 43)
                     w←v9748 = (w←v9748 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v9804)+1) ), rSA←v10416));
                     };
SOURCE(20469, 37)
                  {
                     word var←c49840;
                     {
                        word var←c49872;
                        word d←v27256;
                        word s←v27284;
                        d←v27256 = (* (( (ptr) dstLine←v9776)+1) );
                        s←v27284 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c49936;
                           {
/*1*/   word var←c49968;
/*1*/   {
/*1*/      word var←c50000;
/*1*/      var←c50000 = (word) XRM←BITAND(d←v27256, s←v27284);
/*1*/      var←c49968 = (word) XRM←BITXOR(var←c50000, d←v27256);
/*1*/      };
/*1*/   var←c49936 = (word) XRM←BITAND(var←c49968, rMask←v9692);
/*1*/   };
                           var←c49872 = (word) XRM←BITXOR(var←c49936, d←v27256);
                           };
                        var←c49840 = var←c49872;
                        };
                     (* (( (ptr) dstLine←v9776)+1) ) = var←c49840;
                     };
SOURCE(20508, 19)
                  if ((count←v9440 <= 1)) {
SOURCE(20527, 4)
                     goto lab←L100181;
                     };
SOURCE(20533, 17)
                  count←v9440 = (count←v9440 - 1);
SOURCE(20552, 23)
                  dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(20577, 23)
                  srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                  goto lab←L100182;
                  lab←L100181: ;
                  break;
               case 3: 
SOURCE(20622, 290)
                  lab←L100187: ;
SOURCE(20625, 13)
SOURCE(19802, 26)
                  dstLine←v9776 = dstPtr←v9468;
SOURCE(19830, 26)
                  srcLine←v9804 = srcPtr←v9524;
SOURCE(19858, 36)
                  if ((srcBit←v9552 >= dstBit←v9496)) {
SOURCE(19883, 11)
SOURCE(19390, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19399, 15)
                     lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19416, 28)
                     srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(19446, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
                     };
SOURCE(20640, 15)
SOURCE(19544, 7)
                  hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                  lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                  w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(20657, 37)
                  {
                     word var←c50032;
                     {
                        word var←c50064;
                        word d←v27180;
                        word s←v27208;
                        d←v27180 = (*  (ptr) dstLine←v9776 );
                        s←v27208 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c50128;
                           {
/*1*/   word var←c50160;
/*1*/   {
/*1*/      word var←c50192;
/*1*/      var←c50192 = (word) XRM←BITAND(d←v27180, s←v27208);
/*1*/      var←c50160 = (word) XRM←BITXOR(var←c50192, d←v27180);
/*1*/      };
/*1*/   var←c50128 = (word) XRM←BITAND(var←c50160, lMask←v9664);
/*1*/   };
                           var←c50064 = (word) XRM←BITXOR(var←c50128, d←v27180);
                           };
                        var←c50032 = var←c50064;
                        };
                     (*  (ptr) dstLine←v9776 ) = var←c50032;
                     };
SOURCE(20697, 15)
SOURCE(19544, 7)
                  hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                  lo←v10388 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(19579, 42)
                  w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(20714, 35)
                  {
                     word var←c50224;
                     var←c50224 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                     (* (( (ptr) dstLine←v9776)+1) ) = var←c50224;
                     };
SOURCE(20752, 27)
SOURCE(19687, 22)
                  w←v9748 = (word) XRM←BITLSHIFT(lo←v10388, lSA←v9720);
SOURCE(19711, 57)
                  if ((0 != fetchLastWord←v10472)) {
SOURCE(19725, 43)
                     w←v9748 = (w←v9748 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v9804)+2) ), rSA←v10416));
                     };
SOURCE(20781, 37)
                  {
                     word var←c50256;
                     {
                        word var←c50288;
                        word d←v27104;
                        word s←v27132;
                        d←v27104 = (* (( (ptr) dstLine←v9776)+2) );
                        s←v27132 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c50352;
                           {
/*1*/   word var←c50384;
/*1*/   {
/*1*/      word var←c50416;
/*1*/      var←c50416 = (word) XRM←BITAND(d←v27104, s←v27132);
/*1*/      var←c50384 = (word) XRM←BITXOR(var←c50416, d←v27104);
/*1*/      };
/*1*/   var←c50352 = (word) XRM←BITAND(var←c50384, rMask←v9692);
/*1*/   };
                           var←c50288 = (word) XRM←BITXOR(var←c50352, d←v27104);
                           };
                        var←c50256 = var←c50288;
                        };
                     (* (( (ptr) dstLine←v9776)+2) ) = var←c50256;
                     };
SOURCE(20820, 19)
                  if ((count←v9440 <= 1)) {
SOURCE(20839, 4)
                     goto lab←L100186;
                     };
SOURCE(20845, 17)
                  count←v9440 = (count←v9440 - 1);
SOURCE(20864, 23)
                  dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(20889, 23)
                  srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                  goto lab←L100187;
                  lab←L100186: ;
                  break;
               case 4: 
SOURCE(20934, 345)
                  lab←L100192: ;
SOURCE(20937, 13)
SOURCE(19802, 26)
                  dstLine←v9776 = dstPtr←v9468;
SOURCE(19830, 26)
                  srcLine←v9804 = srcPtr←v9524;
SOURCE(19858, 36)
                  if ((srcBit←v9552 >= dstBit←v9496)) {
SOURCE(19883, 11)
SOURCE(19390, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19399, 15)
                     lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19416, 28)
                     srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(19446, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
                     };
SOURCE(20952, 15)
SOURCE(19544, 7)
                  hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                  lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                  w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(20969, 37)
                  {
                     word var←c50448;
                     {
                        word var←c50480;
                        word d←v27028;
                        word s←v27056;
                        d←v27028 = (*  (ptr) dstLine←v9776 );
                        s←v27056 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c50544;
                           {
/*1*/   word var←c50576;
/*1*/   {
/*1*/      word var←c50608;
/*1*/      var←c50608 = (word) XRM←BITAND(d←v27028, s←v27056);
/*1*/      var←c50576 = (word) XRM←BITXOR(var←c50608, d←v27028);
/*1*/      };
/*1*/   var←c50544 = (word) XRM←BITAND(var←c50576, lMask←v9664);
/*1*/   };
                           var←c50480 = (word) XRM←BITXOR(var←c50544, d←v27028);
                           };
                        var←c50448 = var←c50480;
                        };
                     (*  (ptr) dstLine←v9776 ) = var←c50448;
                     };
SOURCE(21009, 15)
SOURCE(19544, 7)
                  hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                  lo←v10388 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(19579, 42)
                  w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21026, 35)
                  {
                     word var←c50640;
                     var←c50640 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                     (* (( (ptr) dstLine←v9776)+1) ) = var←c50640;
                     };
SOURCE(21064, 15)
SOURCE(19544, 7)
                  hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                  lo←v10388 = (* (( (ptr) srcLine←v9804)+2) );
SOURCE(19579, 42)
                  w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21081, 35)
                  {
                     word var←c50672;
                     var←c50672 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+2) ), w←v9748);
                     (* (( (ptr) dstLine←v9776)+2) ) = var←c50672;
                     };
SOURCE(21119, 27)
SOURCE(19687, 22)
                  w←v9748 = (word) XRM←BITLSHIFT(lo←v10388, lSA←v9720);
SOURCE(19711, 57)
                  if ((0 != fetchLastWord←v10472)) {
SOURCE(19725, 43)
                     w←v9748 = (w←v9748 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v9804)+3) ), rSA←v10416));
                     };
SOURCE(21148, 37)
                  {
                     word var←c50704;
                     {
                        word var←c50736;
                        word d←v26952;
                        word s←v26980;
                        d←v26952 = (* (( (ptr) dstLine←v9776)+3) );
                        s←v26980 = w←v9748;
SOURCE(15577, 63)
                        {
                           word var←c50800;
                           {
/*1*/   word var←c50832;
/*1*/   {
/*1*/      word var←c50864;
/*1*/      var←c50864 = (word) XRM←BITAND(d←v26952, s←v26980);
/*1*/      var←c50832 = (word) XRM←BITXOR(var←c50864, d←v26952);
/*1*/      };
/*1*/   var←c50800 = (word) XRM←BITAND(var←c50832, rMask←v9692);
/*1*/   };
                           var←c50736 = (word) XRM←BITXOR(var←c50800, d←v26952);
                           };
                        var←c50704 = var←c50736;
                        };
                     (* (( (ptr) dstLine←v9776)+3) ) = var←c50704;
                     };
SOURCE(21187, 19)
                  if ((count←v9440 <= 1)) {
SOURCE(21206, 4)
                     goto lab←L100191;
                     };
SOURCE(21212, 17)
                  count←v9440 = (count←v9440 - 1);
SOURCE(21231, 23)
                  dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(21256, 23)
                  srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                  goto lab←L100192;
                  lab←L100191: ;
                  break;
               default: 
SOURCE(21334, 995)
                  lab←L100197: ;
                  {
                     word nw←v10868;
                     nw←v10868 = (ndw←v9636 - 2);
SOURCE(21379, 13)
SOURCE(19802, 26)
                     dstLine←v9776 = dstPtr←v9468;
SOURCE(19830, 26)
                     srcLine←v9804 = srcPtr←v9524;
SOURCE(19858, 36)
                     if ((srcBit←v9552 >= dstBit←v9496)) {
SOURCE(19883, 11)
SOURCE(19390, 7)
                        hi←v10360 = lo←v10388;
SOURCE(19399, 15)
                        lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19416, 28)
                        srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(19446, 42)
                        w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
                        };
SOURCE(21394, 15)
SOURCE(19544, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                     lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21411, 37)
                     {
                        word var←c50896;
                        {
                           word var←c50928;
                           word d←v26876;
                           word s←v26904;
                           d←v26876 = (*  (ptr) dstLine←v9776 );
                           s←v26904 = w←v9748;
SOURCE(15577, 63)
                           {
/*1*/   word var←c50992;
/*1*/   {
/*1*/      word var←c51024;
/*1*/      {
/*1*/         word var←c51056;
/*1*/         var←c51056 = (word) XRM←BITAND(d←v26876, s←v26904);
/*1*/         var←c51024 = (word) XRM←BITXOR(var←c51056, d←v26876);
/*1*/         };
/*1*/      var←c50992 = (word) XRM←BITAND(var←c51024, lMask←v9664);
/*1*/      };
/*1*/   var←c50928 = (word) XRM←BITXOR(var←c50992, d←v26876);
/*1*/   };
                           var←c50896 = var←c50928;
                           };
                        (*  (ptr) dstLine←v9776 ) = var←c50896;
                        };
SOURCE(21450, 28)
                     dstLine←v9776 = (dstLine←v9776 + 4);
SOURCE(21480, 28)
                     srcLine←v9804 = (srcLine←v9804 + 4);
SOURCE(21510, 308)
                     lab←L100201: ;
                     if ((nw←v10868 >= 4)) {
                        }
                     else {
                        goto lab←L100199;
                        };
SOURCE(21527, 15)
SOURCE(19544, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                     lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21544, 35)
                     {
                        word var←c51088;
                        var←c51088 = (word) XRM←BITAND((*  (ptr) dstLine←v9776 ), w←v9748);
                        (*  (ptr) dstLine←v9776 ) = var←c51088;
                        };
SOURCE(21581, 15)
SOURCE(19544, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                     lo←v10388 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(19579, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21598, 35)
                     {
                        word var←c51120;
                        var←c51120 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                        (* (( (ptr) dstLine←v9776)+1) ) = var←c51120;
                        };
SOURCE(21635, 15)
SOURCE(19544, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                     lo←v10388 = (* (( (ptr) srcLine←v9804)+2) );
SOURCE(19579, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21652, 35)
                     {
                        word var←c51152;
                        var←c51152 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+2) ), w←v9748);
                        (* (( (ptr) dstLine←v9776)+2) ) = var←c51152;
                        };
SOURCE(21689, 15)
SOURCE(19544, 7)
                     hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                     lo←v10388 = (* (( (ptr) srcLine←v9804)+3) );
SOURCE(19579, 42)
                     w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21706, 35)
                     {
                        word var←c51184;
                        var←c51184 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+3) ), w←v9748);
                        (* (( (ptr) dstLine←v9776)+3) ) = var←c51184;
                        };
SOURCE(21743, 30)
                     dstLine←v9776 = (dstLine←v9776 + 16);
SOURCE(21775, 30)
                     srcLine←v9804 = (srcLine←v9804 + 16);
SOURCE(21807, 11)
                     nw←v10868 = (nw←v10868 - 4);
                     goto lab←L100201;
                     lab←L100199: ;
SOURCE(21829, 201)
                     if ((nw←v10868 >= 2)) {
SOURCE(21847, 15)
SOURCE(19544, 7)
                        hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                        lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                        w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21864, 35)
                        {
                           word var←c51216;
                           var←c51216 = (word) XRM←BITAND((*  (ptr) dstLine←v9776 ), w←v9748);
                           (*  (ptr) dstLine←v9776 ) = var←c51216;
                           };
SOURCE(21901, 15)
SOURCE(19544, 7)
                        hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                        lo←v10388 = (* (( (ptr) srcLine←v9804)+1) );
SOURCE(19579, 42)
                        w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(21918, 35)
                        {
                           word var←c51248;
                           var←c51248 = (word) XRM←BITAND((* (( (ptr) dstLine←v9776)+1) ), w←v9748);
                           (* (( (ptr) dstLine←v9776)+1) ) = var←c51248;
                           };
SOURCE(21955, 30)
                        dstLine←v9776 = (dstLine←v9776 + 8);
SOURCE(21987, 30)
                        srcLine←v9804 = (srcLine←v9804 + 8);
SOURCE(22019, 11)
                        nw←v10868 = (nw←v10868 - 2);
                        };
SOURCE(22035, 129)
                     if ((nw←v10868 == 1)) {
SOURCE(22052, 15)
SOURCE(19544, 7)
                        hi←v10360 = lo←v10388;
SOURCE(19553, 24)
                        lo←v10388 = (*  (ptr) srcLine←v9804 );
SOURCE(19579, 42)
                        w←v9748 = ((word) XRM←BITLSHIFT(hi←v10360, lSA←v9720) + (word) XRM←BITRSHIFT(lo←v10388, rSA←v10416));
SOURCE(22069, 35)
                        {
                           word var←c51280;
                           var←c51280 = (word) XRM←BITAND((*  (ptr) dstLine←v9776 ), w←v9748);
                           (*  (ptr) dstLine←v9776 ) = var←c51280;
                           };
SOURCE(22106, 28)
                        dstLine←v9776 = (dstLine←v9776 + 4);
SOURCE(22136, 28)
                        srcLine←v9804 = (srcLine←v9804 + 4);
                        };
SOURCE(22169, 27)
SOURCE(19687, 22)
                     w←v9748 = (word) XRM←BITLSHIFT(lo←v10388, lSA←v9720);
SOURCE(19711, 57)
                     if ((0 != fetchLastWord←v10472)) {
SOURCE(19725, 43)
                        w←v9748 = (w←v9748 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v9804 ), rSA←v10416));
                        };
SOURCE(22198, 37)
                     {
                        word var←c51312;
                        {
                           word var←c51344;
                           word d←v26800;
                           word s←v26828;
                           d←v26800 = (*  (ptr) dstLine←v9776 );
                           s←v26828 = w←v9748;
SOURCE(15577, 63)
                           {
/*1*/   word var←c51408;
/*1*/   {
/*1*/      word var←c51440;
/*1*/      {
/*1*/         word var←c51472;
/*1*/         var←c51472 = (word) XRM←BITAND(d←v26800, s←v26828);
/*1*/         var←c51440 = (word) XRM←BITXOR(var←c51472, d←v26800);
/*1*/         };
/*1*/      var←c51408 = (word) XRM←BITAND(var←c51440, rMask←v9692);
/*1*/      };
/*1*/   var←c51344 = (word) XRM←BITXOR(var←c51408, d←v26800);
/*1*/   };
                           var←c51312 = var←c51344;
                           };
                        (*  (ptr) dstLine←v9776 ) = var←c51312;
                        };
SOURCE(22237, 19)
                     if ((count←v9440 <= 1)) {
SOURCE(22256, 4)
                        goto lab←L100196;
                        };
SOURCE(22262, 17)
                     count←v9440 = (count←v9440 - 1);
SOURCE(22281, 23)
                     dstPtr←v9468 = (dstPtr←v9468 + dRast←v9580);
SOURCE(22306, 23)
                     srcPtr←v9524 = (srcPtr←v9524 + sRast←v9608);
                     };
                  goto lab←L100197;
                  lab←L100196: ;
                  break;
               };
            };
         };
      };
   }

static void Forward3←P540(dst←v4448, src←v4476, formal←c01603, formal←c01604, sSize←v4560, formal←c01605)
   W2 dst←v4448;
   W2 src←v4476;
   word formal←c01603;
   word formal←c01604;
   word sSize←v4560;
   word formal←c01605;
   {
   W9 var←c76080;
   /* declaration of dstBpl←v4504 skipped */ 
   /* declaration of srcBpl←v4532 skipped */ 
   /* declaration of fSize←v4588 skipped */ 
   /* declaration of var←c51504 skipped */ 
   (* (( (ptr) &var←c76080)+4)/* dstBpl←v4504 */  ) = formal←c01603;
   (* (( (ptr) &var←c76080)+5)/* srcBpl←v4532 */  ) = formal←c01604;
   (* (( (ptr) &var←c76080)+6)/* fSize←v4588 */  ) = formal←c01605;
   /* Forward3: */ 
SOURCE(22889, 7607)
   {
      word tmpAddr6;
      tmpAddr6 = (word) (( (ptr) &var←c76080)+7)/* var←c51504 */ ;
      (*  (ptr) tmpAddr6 ) = ( ((word)  (fPt) DoUniformLines←P3972) );
      (* (( (ptr) tmpAddr6) + 1) ) = 1;
      };
SOURCE(30026, 470)
   if (((word) XRM←BITOR(sSize←v4560, (* (( (ptr) &var←c76080)+6)/* fSize←v4588 */  )) != 0)) {
SOURCE(30060, 436)
      if ( ( (((* (( (ptr) &var←c76080)+4)/* dstBpl←v4504 */  ) & 037) == 0) ? (((* (( (ptr) &var←c76080)+5)/* srcBpl←v4532 */  ) & 037) == 0) : 0 ) ) {
SOURCE(30112, 59)
         (void) DoUniformLines←P3972(sSize←v4560, dst←v4448.f0, dst←v4448.f1, src←v4476.f0, src←v4476.f1, (word) (( (bPt) &var←c76080)+28)
            /* var←c51504 */ );
         }
      else {
SOURCE(30182, 314)
         lab←L100205: ;
SOURCE(30185, 55)
         (void) DoUniformLines←P3972(1, dst←v4448.f0, dst←v4448.f1, src←v4476.f0, src←v4476.f1, (word) (( (bPt) &var←c76080)+28)/* var←c51504 */ )
         ;
SOURCE(30242, 32)
         sSize←v4560 = (sSize←v4560 - 1);
         if ((sSize←v4560 == 0)) {
SOURCE(30274, 4)
            goto lab←L100204;
            };
SOURCE(30280, 61)
         {
            word var←c51536;
            word bits←v22112;
            bits←v22112 = (dst←v4448.f1 + (* (( (ptr) &var←c76080)+4)/* dstBpl←v4504 */  ));
SOURCE(627, 52)
            var←c51536 = ((bits←v22112 >> 5) << 2);
            dst←v4448.f0 = (dst←v4448.f0 + var←c51536);
            };
SOURCE(30343, 44)
         dst←v4448.f1 = ((dst←v4448.f1 + (* (( (ptr) &var←c76080)+4)/* dstBpl←v4504 */  )) & 037);
SOURCE(30389, 61)
         {
            word var←c51568;
            word bits←v22064;
            bits←v22064 = (src←v4476.f1 + (* (( (ptr) &var←c76080)+5)/* srcBpl←v4532 */  ));
SOURCE(627, 52)
            var←c51568 = ((bits←v22064 >> 5) << 2);
            src←v4476.f0 = (src←v4476.f0 + var←c51568);
            };
SOURCE(30452, 44)
         src←v4476.f1 = ((src←v4476.f1 + (* (( (ptr) &var←c76080)+5)/* srcBpl←v4532 */  )) & 037);
         goto lab←L100205;
         lab←L100204: ;
         };
      };
   }

static void DoUniformLines←P3972(count←v11160, dstPtr←v11188, dstBit←v11216, srcPtr←v11244, srcBit←v11272, formal←c76144)
   word count←v11160;
   word dstPtr←v11188;
   word dstBit←v11216;
   word srcPtr←v11244;
   word srcBit←v11272;
   word formal←c76144;
   {
   register ptr gf←c76112 =  (ptr) &globalframe;
   word dRast←v11300;
   word sRast←v11328;
   word ndw←v11356;
   word lMask←v11384;
   word rMask←v11412;
   word lSA←v11440;
   word w←v11468 = 0;
   word dstLine←v11496 = 0;
   word srcLine←v11524 = 0;
   formal←c76144 = (formal←c76144 - 28);
   /* DoUniformLines: */ 
SOURCE(23111, 6909)
SOURCE(23220, 43)
   dRast←v11300 = (((* (( (ptr) formal←c76144)+4) ) >> 5) << 2);
SOURCE(23265, 43)
   sRast←v11328 = (((* (( (ptr) formal←c76144)+5) ) >> 5) << 2);
SOURCE(23310, 44)
   {
      word bits←v21344;
      bits←v21344 = (dstBit←v11216 + (* (( (ptr) formal←c76144)+6) ));
SOURCE(512, 36)
      ndw←v11356 = ((bits←v21344 + 31) >> 5);
      };
SOURCE(23356, 44)
   lMask←v11384 = (* ((( (ptr) gf←c76112)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v11216)) );
SOURCE(23402, 82)
   {
      word n←v22640;
      n←v22640 = (((32 - dstBit←v11216) - (* (( (ptr) formal←c76144)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v11412 = (word) XRM←BITNOT((* (((( (ptr) gf←c76112)+4)/* rightJustifiedOnes←v2832 */ +n←v22640)) ));
      };
SOURCE(23486, 58)
   lSA←v11440 = ((srcBit←v11272 - dstBit←v11216) & 037);
SOURCE(29975, 45)
   if ((lSA←v11440 == 0)) {
SOURCE(29993, 9)
SOURCE(24129, 2509)
      {
         word var←c51696;
         var←c51696 = ndw←v11356;
         switch (var←c51696) {
            case 1: 
               {
                  word bothMask←v11976;
                  bothMask←v11976 = (word) XRM←BITAND(lMask←v11384, rMask←v11412);
SOURCE(24213, 172)
                  lab←L100212: ;
SOURCE(24216, 13)
SOURCE(24069, 26)
                  dstLine←v11496 = dstPtr←v11188;
SOURCE(24097, 26)
                  srcLine←v11524 = srcPtr←v11244;
SOURCE(24231, 18)
SOURCE(24012, 23)
                  w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(24251, 40)
                  {
                     word var←c51728;
                     {
                        word var←c51760;
                        word d←v30228;
                        word s←v30256;
                        d←v30228 = (*  (ptr) dstLine←v11496 );
                        s←v30256 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c51824;
                           {
/*1*/   word var←c51856;
/*1*/   {
/*1*/      word var←c51888;
/*1*/      {
/*1*/         word var←c51920;
/*1*/         var←c51920 = (word) XRM←BITNOT(s←v30256);
/*1*/         var←c51888 = (word) XRM←BITAND(d←v30228, var←c51920);
/*1*/         };
/*1*/      var←c51856 = (word) XRM←BITXOR(var←c51888, d←v30228);
/*1*/      };
/*1*/   var←c51824 = (word) XRM←BITAND(var←c51856, bothMask←v11976);
/*1*/   };
                           var←c51760 = (word) XRM←BITXOR(var←c51824, d←v30228);
                           };
                        var←c51728 = var←c51760;
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c51728;
                     };
SOURCE(24293, 19)
                  if ((count←v11160 <= 1)) {
SOURCE(24312, 4)
                     goto lab←L100211;
                     };
SOURCE(24318, 17)
                  count←v11160 = (count←v11160 - 1);
SOURCE(24337, 23)
                  dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(24362, 23)
                  srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                  goto lab←L100212;
                  lab←L100211: ;
                  };
               break;
            case 2: 
SOURCE(24594, 235)
               lab←L100216: ;
SOURCE(24597, 13)
SOURCE(24069, 26)
               dstLine←v11496 = dstPtr←v11188;
SOURCE(24097, 26)
               srcLine←v11524 = srcPtr←v11244;
SOURCE(24612, 15)
SOURCE(23921, 23)
               w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(24629, 37)
               {
                  word var←c51952;
                  {
                     word var←c51984;
                     word d←v30076;
                     word s←v30104;
                     d←v30076 = (*  (ptr) dstLine←v11496 );
                     s←v30104 = w←v11468;
SOURCE(23037, 71)
                     {
                        word var←c52048;
                        {
                           word var←c52080;
                           {
/*1*/   word var←c52112;
/*1*/   {
/*1*/      word var←c52144;
/*1*/      var←c52144 = (word) XRM←BITNOT(s←v30104);
/*1*/      var←c52112 = (word) XRM←BITAND(d←v30076, var←c52144);
/*1*/      };
/*1*/   var←c52080 = (word) XRM←BITXOR(var←c52112, d←v30076);
/*1*/   };
                           var←c52048 = (word) XRM←BITAND(var←c52080, lMask←v11384);
                           };
                        var←c51984 = (word) XRM←BITXOR(var←c52048, d←v30076);
                        };
                     var←c51952 = var←c51984;
                     };
                  (*  (ptr) dstLine←v11496 ) = var←c51952;
                  };
SOURCE(24669, 27)
SOURCE(24012, 23)
               w←v11468 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(24698, 37)
               {
                  word var←c52176;
                  {
                     word var←c52208;
                     word d←v30000;
                     word s←v30028;
                     d←v30000 = (* (( (ptr) dstLine←v11496)+1) );
                     s←v30028 = w←v11468;
SOURCE(23037, 71)
                     {
                        word var←c52272;
                        {
                           word var←c52304;
                           {
/*1*/   word var←c52336;
/*1*/   {
/*1*/      word var←c52368;
/*1*/      var←c52368 = (word) XRM←BITNOT(s←v30028);
/*1*/      var←c52336 = (word) XRM←BITAND(d←v30000, var←c52368);
/*1*/      };
/*1*/   var←c52304 = (word) XRM←BITXOR(var←c52336, d←v30000);
/*1*/   };
                           var←c52272 = (word) XRM←BITAND(var←c52304, rMask←v11412);
                           };
                        var←c52208 = (word) XRM←BITXOR(var←c52272, d←v30000);
                        };
                     var←c52176 = var←c52208;
                     };
                  (* (( (ptr) dstLine←v11496)+1) ) = var←c52176;
                  };
SOURCE(24737, 19)
               if ((count←v11160 <= 1)) {
SOURCE(24756, 4)
                  goto lab←L100215;
                  };
SOURCE(24762, 17)
               count←v11160 = (count←v11160 - 1);
SOURCE(24781, 23)
               dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(24806, 23)
               srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
               goto lab←L100216;
               lab←L100215: ;
               break;
            case 3: 
SOURCE(24851, 298)
               lab←L100221: ;
SOURCE(24854, 13)
SOURCE(24069, 26)
               dstLine←v11496 = dstPtr←v11188;
SOURCE(24097, 26)
               srcLine←v11524 = srcPtr←v11244;
SOURCE(24869, 15)
SOURCE(23921, 23)
               w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(24886, 37)
               {
                  word var←c52400;
                  {
                     word var←c52432;
                     word d←v29924;
                     word s←v29952;
                     d←v29924 = (*  (ptr) dstLine←v11496 );
                     s←v29952 = w←v11468;
SOURCE(23037, 71)
                     {
                        word var←c52496;
                        {
                           word var←c52528;
                           {
/*1*/   word var←c52560;
/*1*/   {
/*1*/      word var←c52592;
/*1*/      var←c52592 = (word) XRM←BITNOT(s←v29952);
/*1*/      var←c52560 = (word) XRM←BITAND(d←v29924, var←c52592);
/*1*/      };
/*1*/   var←c52528 = (word) XRM←BITXOR(var←c52560, d←v29924);
/*1*/   };
                           var←c52496 = (word) XRM←BITAND(var←c52528, lMask←v11384);
                           };
                        var←c52432 = (word) XRM←BITXOR(var←c52496, d←v29924);
                        };
                     var←c52400 = var←c52432;
                     };
                  (*  (ptr) dstLine←v11496 ) = var←c52400;
                  };
SOURCE(24926, 15)
SOURCE(23921, 23)
               w←v11468 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(24943, 43)
               {
                  word var←c52624;
                  {
                     word var←c52656;
                     var←c52656 = (word) XRM←BITNOT(w←v11468);
                     var←c52624 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c52656);
                     };
                  (* (( (ptr) dstLine←v11496)+1) ) = var←c52624;
                  };
SOURCE(24989, 27)
SOURCE(24012, 23)
               w←v11468 = (* (( (ptr) srcLine←v11524)+2) );
SOURCE(25018, 37)
               {
                  word var←c52688;
                  {
                     word var←c52720;
                     word d←v29848;
                     word s←v29876;
                     d←v29848 = (* (( (ptr) dstLine←v11496)+2) );
                     s←v29876 = w←v11468;
SOURCE(23037, 71)
                     {
                        word var←c52784;
                        {
                           word var←c52816;
                           {
/*1*/   word var←c52848;
/*1*/   {
/*1*/      word var←c52880;
/*1*/      var←c52880 = (word) XRM←BITNOT(s←v29876);
/*1*/      var←c52848 = (word) XRM←BITAND(d←v29848, var←c52880);
/*1*/      };
/*1*/   var←c52816 = (word) XRM←BITXOR(var←c52848, d←v29848);
/*1*/   };
                           var←c52784 = (word) XRM←BITAND(var←c52816, rMask←v11412);
                           };
                        var←c52720 = (word) XRM←BITXOR(var←c52784, d←v29848);
                        };
                     var←c52688 = var←c52720;
                     };
                  (* (( (ptr) dstLine←v11496)+2) ) = var←c52688;
                  };
SOURCE(25057, 19)
               if ((count←v11160 <= 1)) {
SOURCE(25076, 4)
                  goto lab←L100220;
                  };
SOURCE(25082, 17)
               count←v11160 = (count←v11160 - 1);
SOURCE(25101, 23)
               dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(25126, 23)
               srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
               goto lab←L100221;
               lab←L100220: ;
               break;
            case 4: 
SOURCE(25171, 361)
               lab←L100226: ;
SOURCE(25174, 13)
SOURCE(24069, 26)
               dstLine←v11496 = dstPtr←v11188;
SOURCE(24097, 26)
               srcLine←v11524 = srcPtr←v11244;
SOURCE(25189, 15)
SOURCE(23921, 23)
               w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(25206, 37)
               {
                  word var←c52912;
                  {
                     word var←c52944;
                     word d←v29772;
                     word s←v29800;
                     d←v29772 = (*  (ptr) dstLine←v11496 );
                     s←v29800 = w←v11468;
SOURCE(23037, 71)
                     {
                        word var←c53008;
                        {
                           word var←c53040;
                           {
/*1*/   word var←c53072;
/*1*/   {
/*1*/      word var←c53104;
/*1*/      var←c53104 = (word) XRM←BITNOT(s←v29800);
/*1*/      var←c53072 = (word) XRM←BITAND(d←v29772, var←c53104);
/*1*/      };
/*1*/   var←c53040 = (word) XRM←BITXOR(var←c53072, d←v29772);
/*1*/   };
                           var←c53008 = (word) XRM←BITAND(var←c53040, lMask←v11384);
                           };
                        var←c52944 = (word) XRM←BITXOR(var←c53008, d←v29772);
                        };
                     var←c52912 = var←c52944;
                     };
                  (*  (ptr) dstLine←v11496 ) = var←c52912;
                  };
SOURCE(25246, 15)
SOURCE(23921, 23)
               w←v11468 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(25263, 43)
               {
                  word var←c53136;
                  {
                     word var←c53168;
                     var←c53168 = (word) XRM←BITNOT(w←v11468);
                     var←c53136 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c53168);
                     };
                  (* (( (ptr) dstLine←v11496)+1) ) = var←c53136;
                  };
SOURCE(25309, 15)
SOURCE(23921, 23)
               w←v11468 = (* (( (ptr) srcLine←v11524)+2) );
SOURCE(25326, 43)
               {
                  word var←c53200;
                  {
                     word var←c53232;
                     var←c53232 = (word) XRM←BITNOT(w←v11468);
                     var←c53200 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+2) ), var←c53232);
                     };
                  (* (( (ptr) dstLine←v11496)+2) ) = var←c53200;
                  };
SOURCE(25372, 27)
SOURCE(24012, 23)
               w←v11468 = (* (( (ptr) srcLine←v11524)+3) );
SOURCE(25401, 37)
               {
                  word var←c53264;
                  {
                     word var←c53296;
                     word d←v29696;
                     word s←v29724;
                     d←v29696 = (* (( (ptr) dstLine←v11496)+3) );
                     s←v29724 = w←v11468;
SOURCE(23037, 71)
                     {
                        word var←c53360;
                        {
                           word var←c53392;
                           {
/*1*/   word var←c53424;
/*1*/   {
/*1*/      word var←c53456;
/*1*/      var←c53456 = (word) XRM←BITNOT(s←v29724);
/*1*/      var←c53424 = (word) XRM←BITAND(d←v29696, var←c53456);
/*1*/      };
/*1*/   var←c53392 = (word) XRM←BITXOR(var←c53424, d←v29696);
/*1*/   };
                           var←c53360 = (word) XRM←BITAND(var←c53392, rMask←v11412);
                           };
                        var←c53296 = (word) XRM←BITXOR(var←c53360, d←v29696);
                        };
                     var←c53264 = var←c53296;
                     };
                  (* (( (ptr) dstLine←v11496)+3) ) = var←c53264;
                  };
SOURCE(25440, 19)
               if ((count←v11160 <= 1)) {
SOURCE(25459, 4)
                  goto lab←L100225;
                  };
SOURCE(25465, 17)
               count←v11160 = (count←v11160 - 1);
SOURCE(25484, 23)
               dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(25509, 23)
               srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
               goto lab←L100226;
               lab←L100225: ;
               break;
            default: 
SOURCE(25587, 1051)
               lab←L100231: ;
               {
                  word nw←v12052;
                  nw←v12052 = (ndw←v11356 - 2);
SOURCE(25632, 13)
SOURCE(24069, 26)
                  dstLine←v11496 = dstPtr←v11188;
SOURCE(24097, 26)
                  srcLine←v11524 = srcPtr←v11244;
SOURCE(25647, 15)
SOURCE(23921, 23)
                  w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(25664, 37)
                  {
                     word var←c53488;
                     {
                        word var←c53520;
                        word d←v29620;
                        word s←v29648;
                        d←v29620 = (*  (ptr) dstLine←v11496 );
                        s←v29648 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c53584;
                           {
/*1*/   word var←c53616;
/*1*/   {
/*1*/      word var←c53648;
/*1*/      {
/*1*/         word var←c53680;
/*1*/         var←c53680 = (word) XRM←BITNOT(s←v29648);
/*1*/         var←c53648 = (word) XRM←BITAND(d←v29620, var←c53680);
/*1*/         };
/*1*/      var←c53616 = (word) XRM←BITXOR(var←c53648, d←v29620);
/*1*/      };
/*1*/   var←c53584 = (word) XRM←BITAND(var←c53616, lMask←v11384);
/*1*/   };
                           var←c53520 = (word) XRM←BITXOR(var←c53584, d←v29620);
                           };
                        var←c53488 = var←c53520;
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c53488;
                     };
SOURCE(25703, 28)
                  dstLine←v11496 = (dstLine←v11496 + 4);
SOURCE(25733, 28)
                  srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(25763, 340)
                  lab←L100235: ;
                  if ((nw←v12052 >= 4)) {
                     }
                  else {
                     goto lab←L100233;
                     };
SOURCE(25780, 15)
SOURCE(23921, 23)
                  w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(25797, 43)
                  {
                     word var←c53712;
                     {
                        word var←c53744;
                        var←c53744 = (word) XRM←BITNOT(w←v11468);
                        var←c53712 = (word) XRM←BITAND((*  (ptr) dstLine←v11496 ), var←c53744);
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c53712;
                     };
SOURCE(25842, 15)
SOURCE(23921, 23)
                  w←v11468 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(25859, 43)
                  {
                     word var←c53776;
                     {
                        word var←c53808;
                        var←c53808 = (word) XRM←BITNOT(w←v11468);
                        var←c53776 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c53808);
                        };
                     (* (( (ptr) dstLine←v11496)+1) ) = var←c53776;
                     };
SOURCE(25904, 15)
SOURCE(23921, 23)
                  w←v11468 = (* (( (ptr) srcLine←v11524)+2) );
SOURCE(25921, 43)
                  {
                     word var←c53840;
                     {
                        word var←c53872;
                        var←c53872 = (word) XRM←BITNOT(w←v11468);
                        var←c53840 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+2) ), var←c53872);
                        };
                     (* (( (ptr) dstLine←v11496)+2) ) = var←c53840;
                     };
SOURCE(25966, 15)
SOURCE(23921, 23)
                  w←v11468 = (* (( (ptr) srcLine←v11524)+3) );
SOURCE(25983, 43)
                  {
                     word var←c53904;
                     {
                        word var←c53936;
                        var←c53936 = (word) XRM←BITNOT(w←v11468);
                        var←c53904 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+3) ), var←c53936);
                        };
                     (* (( (ptr) dstLine←v11496)+3) ) = var←c53904;
                     };
SOURCE(26028, 30)
                  dstLine←v11496 = (dstLine←v11496 + 16);
SOURCE(26060, 30)
                  srcLine←v11524 = (srcLine←v11524 + 16);
SOURCE(26092, 11)
                  nw←v12052 = (nw←v12052 - 4);
                  goto lab←L100235;
                  lab←L100233: ;
SOURCE(26114, 217)
                  if ((nw←v12052 >= 2)) {
SOURCE(26132, 15)
SOURCE(23921, 23)
                     w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(26149, 43)
                     {
                        word var←c53968;
                        {
                           word var←c54000;
                           var←c54000 = (word) XRM←BITNOT(w←v11468);
                           var←c53968 = (word) XRM←BITAND((*  (ptr) dstLine←v11496 ), var←c54000);
                           };
                        (*  (ptr) dstLine←v11496 ) = var←c53968;
                        };
SOURCE(26194, 15)
SOURCE(23921, 23)
                     w←v11468 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(26211, 43)
                     {
                        word var←c54032;
                        {
                           word var←c54064;
                           var←c54064 = (word) XRM←BITNOT(w←v11468);
                           var←c54032 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c54064);
                           };
                        (* (( (ptr) dstLine←v11496)+1) ) = var←c54032;
                        };
SOURCE(26256, 30)
                     dstLine←v11496 = (dstLine←v11496 + 8);
SOURCE(26288, 30)
                     srcLine←v11524 = (srcLine←v11524 + 8);
SOURCE(26320, 11)
                     nw←v12052 = (nw←v12052 - 2);
                     };
SOURCE(26336, 137)
                  if ((nw←v12052 == 1)) {
SOURCE(26353, 15)
SOURCE(23921, 23)
                     w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(26370, 43)
                     {
                        word var←c54096;
                        {
                           word var←c54128;
                           var←c54128 = (word) XRM←BITNOT(w←v11468);
                           var←c54096 = (word) XRM←BITAND((*  (ptr) dstLine←v11496 ), var←c54128);
                           };
                        (*  (ptr) dstLine←v11496 ) = var←c54096;
                        };
SOURCE(26415, 28)
                     dstLine←v11496 = (dstLine←v11496 + 4);
SOURCE(26445, 28)
                     srcLine←v11524 = (srcLine←v11524 + 4);
                     };
SOURCE(26478, 27)
SOURCE(24012, 23)
                  w←v11468 = (*  (ptr) srcLine←v11524 );
SOURCE(26507, 37)
                  {
                     word var←c54160;
                     {
                        word var←c54192;
                        word d←v29544;
                        word s←v29572;
                        d←v29544 = (*  (ptr) dstLine←v11496 );
                        s←v29572 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c54256;
                           {
/*1*/   word var←c54288;
/*1*/   {
/*1*/      word var←c54320;
/*1*/      {
/*1*/         word var←c54352;
/*1*/         var←c54352 = (word) XRM←BITNOT(s←v29572);
/*1*/         var←c54320 = (word) XRM←BITAND(d←v29544, var←c54352);
/*1*/         };
/*1*/      var←c54288 = (word) XRM←BITXOR(var←c54320, d←v29544);
/*1*/      };
/*1*/   var←c54256 = (word) XRM←BITAND(var←c54288, rMask←v11412);
/*1*/   };
                           var←c54192 = (word) XRM←BITXOR(var←c54256, d←v29544);
                           };
                        var←c54160 = var←c54192;
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c54160;
                     };
SOURCE(26546, 19)
                  if ((count←v11160 <= 1)) {
SOURCE(26565, 4)
                     goto lab←L100230;
                     };
SOURCE(26571, 17)
                  count←v11160 = (count←v11160 - 1);
SOURCE(26590, 23)
                  dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(26615, 23)
                  srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                  };
               goto lab←L100231;
               lab←L100230: ;
               break;
            };
         };
      }
   else {
SOURCE(30011, 9)
      {
         word hi←v12080;
         word lo←v12108 = 0;
         word rSA←v12136;
         word nsw←v12164;
         word fetchLastWord←v12192;
         rSA←v12136 = (32 - lSA←v11440);
         {
            word bits←v21296;
            bits←v21296 = (srcBit←v11272 + (* (( (ptr) formal←c76144)+6) ));
SOURCE(512, 36)
            nsw←v12164 = ((bits←v21296 + 31) >> 5);
            };
         fetchLastWord←v12192 =  ( (srcBit←v11272 >= dstBit←v11216) ? (nsw←v12164 > ndw←v11356) : (nsw←v12164 >= ndw←v11356) ) ;
SOURCE(27448, 2509)
         {
            word var←c54416;
            var←c54416 = ndw←v11356;
            switch (var←c54416) {
               case 1: 
                  {
                     word bothMask←v12512;
                     bothMask←v12512 = (word) XRM←BITAND(lMask←v11384, rMask←v11412);
SOURCE(27510, 382)
                     if ((0 != fetchLastWord←v12192)) {
SOURCE(27532, 172)
                        lab←L100240: ;
SOURCE(27535, 13)
SOURCE(27350, 26)
                        dstLine←v11496 = dstPtr←v11188;
SOURCE(27378, 26)
                        srcLine←v11524 = srcPtr←v11244;
SOURCE(27406, 36)
                        if ((srcBit←v11272 >= dstBit←v11216)) {
SOURCE(27431, 11)
SOURCE(26938, 7)
                           hi←v12080 = lo←v12108;
SOURCE(26947, 15)
                           lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(26964, 28)
                           srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(26994, 42)
                           w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
                           };
SOURCE(27550, 18)
SOURCE(27235, 22)
                        w←v11468 = (word) XRM←BITLSHIFT(lo←v12108, lSA←v11440);
SOURCE(27273, 43)
                        w←v11468 = (w←v11468 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v11524 ), rSA←v12136));
SOURCE(27570, 40)
                        {
                           word var←c54448;
                           {
/*1*/   word var←c54480;
/*1*/   word d←v29468;
/*1*/   word s←v29496;
/*1*/   d←v29468 = (*  (ptr) dstLine←v11496 );
/*1*/   s←v29496 = w←v11468;
SOURCE(23037, 71)
/*1*/   {
/*1*/      word var←c54544;
/*1*/      {
/*1*/         word var←c54576;
/*1*/         {
/*1*/            word var←c54608;
/*1*/            {
/*1*/               word var←c54640;
/*1*/               var←c54640 = (word) XRM←BITNOT(s←v29496);
/*1*/               var←c54608 = (word) XRM←BITAND(d←v29468, var←c54640);
/*1*/               };
/*1*/            var←c54576 = (word) XRM←BITXOR(var←c54608, d←v29468);
/*1*/            };
/*1*/         var←c54544 = (word) XRM←BITAND(var←c54576, bothMask←v12512);
/*1*/         };
/*1*/      var←c54480 = (word) XRM←BITXOR(var←c54544, d←v29468);
/*1*/      };
/*1*/   var←c54448 = var←c54480;
/*1*/   };
                           (*  (ptr) dstLine←v11496 ) = var←c54448;
                           };
SOURCE(27612, 19)
                        if ((count←v11160 <= 1)) {
SOURCE(27631, 4)
                           goto lab←L100239;
                           };
SOURCE(27637, 17)
                        count←v11160 = (count←v11160 - 1);
SOURCE(27656, 23)
                        dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(27681, 23)
                        srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                        goto lab←L100240;
                        lab←L100239: ;
                        }
                     else {
SOURCE(27719, 173)
                        lab←L100244: ;
SOURCE(27722, 13)
SOURCE(27350, 26)
                        dstLine←v11496 = dstPtr←v11188;
SOURCE(27378, 26)
                        srcLine←v11524 = srcPtr←v11244;
SOURCE(27406, 36)
                        if ((srcBit←v11272 >= dstBit←v11216)) {
SOURCE(27431, 11)
SOURCE(26938, 7)
                           hi←v12080 = lo←v12108;
SOURCE(26947, 15)
                           lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(26964, 28)
                           srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(26994, 42)
                           w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
                           };
SOURCE(27737, 19)
SOURCE(27235, 22)
                        w←v11468 = (word) XRM←BITLSHIFT(lo←v12108, lSA←v11440);
SOURCE(27758, 40)
                        {
                           word var←c54672;
                           {
/*1*/   word var←c54704;
/*1*/   word d←v29392;
/*1*/   word s←v29420;
/*1*/   d←v29392 = (*  (ptr) dstLine←v11496 );
/*1*/   s←v29420 = w←v11468;
SOURCE(23037, 71)
/*1*/   {
/*1*/      word var←c54768;
/*1*/      {
/*1*/         word var←c54800;
/*1*/         {
/*1*/            word var←c54832;
/*1*/            {
/*1*/               word var←c54864;
/*1*/               var←c54864 = (word) XRM←BITNOT(s←v29420);
/*1*/               var←c54832 = (word) XRM←BITAND(d←v29392, var←c54864);
/*1*/               };
/*1*/            var←c54800 = (word) XRM←BITXOR(var←c54832, d←v29392);
/*1*/            };
/*1*/         var←c54768 = (word) XRM←BITAND(var←c54800, bothMask←v12512);
/*1*/         };
/*1*/      var←c54704 = (word) XRM←BITXOR(var←c54768, d←v29392);
/*1*/      };
/*1*/   var←c54672 = var←c54704;
/*1*/   };
                           (*  (ptr) dstLine←v11496 ) = var←c54672;
                           };
SOURCE(27800, 19)
                        if ((count←v11160 <= 1)) {
SOURCE(27819, 4)
                           goto lab←L100243;
                           };
SOURCE(27825, 17)
                        count←v11160 = (count←v11160 - 1);
SOURCE(27844, 23)
                        dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(27869, 23)
                        srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                        goto lab←L100244;
                        lab←L100243: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(27913, 235)
                  lab←L100248: ;
SOURCE(27916, 13)
SOURCE(27350, 26)
                  dstLine←v11496 = dstPtr←v11188;
SOURCE(27378, 26)
                  srcLine←v11524 = srcPtr←v11244;
SOURCE(27406, 36)
                  if ((srcBit←v11272 >= dstBit←v11216)) {
SOURCE(27431, 11)
SOURCE(26938, 7)
                     hi←v12080 = lo←v12108;
SOURCE(26947, 15)
                     lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(26964, 28)
                     srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(26994, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
                     };
SOURCE(27931, 15)
SOURCE(27092, 7)
                  hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                  lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                  w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(27948, 37)
                  {
                     word var←c54896;
                     {
                        word var←c54928;
                        word d←v29316;
                        word s←v29344;
                        d←v29316 = (*  (ptr) dstLine←v11496 );
                        s←v29344 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c54992;
                           {
/*1*/   word var←c55024;
/*1*/   {
/*1*/      word var←c55056;
/*1*/      {
/*1*/         word var←c55088;
/*1*/         var←c55088 = (word) XRM←BITNOT(s←v29344);
/*1*/         var←c55056 = (word) XRM←BITAND(d←v29316, var←c55088);
/*1*/         };
/*1*/      var←c55024 = (word) XRM←BITXOR(var←c55056, d←v29316);
/*1*/      };
/*1*/   var←c54992 = (word) XRM←BITAND(var←c55024, lMask←v11384);
/*1*/   };
                           var←c54928 = (word) XRM←BITXOR(var←c54992, d←v29316);
                           };
                        var←c54896 = var←c54928;
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c54896;
                     };
SOURCE(27988, 27)
SOURCE(27235, 22)
                  w←v11468 = (word) XRM←BITLSHIFT(lo←v12108, lSA←v11440);
SOURCE(27259, 57)
                  if ((0 != fetchLastWord←v12192)) {
SOURCE(27273, 43)
                     w←v11468 = (w←v11468 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v11524)+1) ), rSA←v12136));
                     };
SOURCE(28017, 37)
                  {
                     word var←c55120;
                     {
                        word var←c55152;
                        word d←v29240;
                        word s←v29268;
                        d←v29240 = (* (( (ptr) dstLine←v11496)+1) );
                        s←v29268 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c55216;
                           {
/*1*/   word var←c55248;
/*1*/   {
/*1*/      word var←c55280;
/*1*/      {
/*1*/         word var←c55312;
/*1*/         var←c55312 = (word) XRM←BITNOT(s←v29268);
/*1*/         var←c55280 = (word) XRM←BITAND(d←v29240, var←c55312);
/*1*/         };
/*1*/      var←c55248 = (word) XRM←BITXOR(var←c55280, d←v29240);
/*1*/      };
/*1*/   var←c55216 = (word) XRM←BITAND(var←c55248, rMask←v11412);
/*1*/   };
                           var←c55152 = (word) XRM←BITXOR(var←c55216, d←v29240);
                           };
                        var←c55120 = var←c55152;
                        };
                     (* (( (ptr) dstLine←v11496)+1) ) = var←c55120;
                     };
SOURCE(28056, 19)
                  if ((count←v11160 <= 1)) {
SOURCE(28075, 4)
                     goto lab←L100247;
                     };
SOURCE(28081, 17)
                  count←v11160 = (count←v11160 - 1);
SOURCE(28100, 23)
                  dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(28125, 23)
                  srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                  goto lab←L100248;
                  lab←L100247: ;
                  break;
               case 3: 
SOURCE(28170, 298)
                  lab←L100253: ;
SOURCE(28173, 13)
SOURCE(27350, 26)
                  dstLine←v11496 = dstPtr←v11188;
SOURCE(27378, 26)
                  srcLine←v11524 = srcPtr←v11244;
SOURCE(27406, 36)
                  if ((srcBit←v11272 >= dstBit←v11216)) {
SOURCE(27431, 11)
SOURCE(26938, 7)
                     hi←v12080 = lo←v12108;
SOURCE(26947, 15)
                     lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(26964, 28)
                     srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(26994, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
                     };
SOURCE(28188, 15)
SOURCE(27092, 7)
                  hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                  lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                  w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(28205, 37)
                  {
                     word var←c55344;
                     {
                        word var←c55376;
                        word d←v29164;
                        word s←v29192;
                        d←v29164 = (*  (ptr) dstLine←v11496 );
                        s←v29192 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c55440;
                           {
/*1*/   word var←c55472;
/*1*/   {
/*1*/      word var←c55504;
/*1*/      {
/*1*/         word var←c55536;
/*1*/         var←c55536 = (word) XRM←BITNOT(s←v29192);
/*1*/         var←c55504 = (word) XRM←BITAND(d←v29164, var←c55536);
/*1*/         };
/*1*/      var←c55472 = (word) XRM←BITXOR(var←c55504, d←v29164);
/*1*/      };
/*1*/   var←c55440 = (word) XRM←BITAND(var←c55472, lMask←v11384);
/*1*/   };
                           var←c55376 = (word) XRM←BITXOR(var←c55440, d←v29164);
                           };
                        var←c55344 = var←c55376;
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c55344;
                     };
SOURCE(28245, 15)
SOURCE(27092, 7)
                  hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                  lo←v12108 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(27127, 42)
                  w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(28262, 43)
                  {
                     word var←c55568;
                     {
                        word var←c55600;
                        var←c55600 = (word) XRM←BITNOT(w←v11468);
                        var←c55568 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c55600);
                        };
                     (* (( (ptr) dstLine←v11496)+1) ) = var←c55568;
                     };
SOURCE(28308, 27)
SOURCE(27235, 22)
                  w←v11468 = (word) XRM←BITLSHIFT(lo←v12108, lSA←v11440);
SOURCE(27259, 57)
                  if ((0 != fetchLastWord←v12192)) {
SOURCE(27273, 43)
                     w←v11468 = (w←v11468 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v11524)+2) ), rSA←v12136));
                     };
SOURCE(28337, 37)
                  {
                     word var←c55632;
                     {
                        word var←c55664;
                        word d←v29088;
                        word s←v29116;
                        d←v29088 = (* (( (ptr) dstLine←v11496)+2) );
                        s←v29116 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c55728;
                           {
/*1*/   word var←c55760;
/*1*/   {
/*1*/      word var←c55792;
/*1*/      {
/*1*/         word var←c55824;
/*1*/         var←c55824 = (word) XRM←BITNOT(s←v29116);
/*1*/         var←c55792 = (word) XRM←BITAND(d←v29088, var←c55824);
/*1*/         };
/*1*/      var←c55760 = (word) XRM←BITXOR(var←c55792, d←v29088);
/*1*/      };
/*1*/   var←c55728 = (word) XRM←BITAND(var←c55760, rMask←v11412);
/*1*/   };
                           var←c55664 = (word) XRM←BITXOR(var←c55728, d←v29088);
                           };
                        var←c55632 = var←c55664;
                        };
                     (* (( (ptr) dstLine←v11496)+2) ) = var←c55632;
                     };
SOURCE(28376, 19)
                  if ((count←v11160 <= 1)) {
SOURCE(28395, 4)
                     goto lab←L100252;
                     };
SOURCE(28401, 17)
                  count←v11160 = (count←v11160 - 1);
SOURCE(28420, 23)
                  dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(28445, 23)
                  srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                  goto lab←L100253;
                  lab←L100252: ;
                  break;
               case 4: 
SOURCE(28490, 361)
                  lab←L100258: ;
SOURCE(28493, 13)
SOURCE(27350, 26)
                  dstLine←v11496 = dstPtr←v11188;
SOURCE(27378, 26)
                  srcLine←v11524 = srcPtr←v11244;
SOURCE(27406, 36)
                  if ((srcBit←v11272 >= dstBit←v11216)) {
SOURCE(27431, 11)
SOURCE(26938, 7)
                     hi←v12080 = lo←v12108;
SOURCE(26947, 15)
                     lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(26964, 28)
                     srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(26994, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
                     };
SOURCE(28508, 15)
SOURCE(27092, 7)
                  hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                  lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                  w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(28525, 37)
                  {
                     word var←c55856;
                     {
                        word var←c55888;
                        word d←v29012;
                        word s←v29040;
                        d←v29012 = (*  (ptr) dstLine←v11496 );
                        s←v29040 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c55952;
                           {
/*1*/   word var←c55984;
/*1*/   {
/*1*/      word var←c56016;
/*1*/      {
/*1*/         word var←c56048;
/*1*/         var←c56048 = (word) XRM←BITNOT(s←v29040);
/*1*/         var←c56016 = (word) XRM←BITAND(d←v29012, var←c56048);
/*1*/         };
/*1*/      var←c55984 = (word) XRM←BITXOR(var←c56016, d←v29012);
/*1*/      };
/*1*/   var←c55952 = (word) XRM←BITAND(var←c55984, lMask←v11384);
/*1*/   };
                           var←c55888 = (word) XRM←BITXOR(var←c55952, d←v29012);
                           };
                        var←c55856 = var←c55888;
                        };
                     (*  (ptr) dstLine←v11496 ) = var←c55856;
                     };
SOURCE(28565, 15)
SOURCE(27092, 7)
                  hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                  lo←v12108 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(27127, 42)
                  w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(28582, 43)
                  {
                     word var←c56080;
                     {
                        word var←c56112;
                        var←c56112 = (word) XRM←BITNOT(w←v11468);
                        var←c56080 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c56112);
                        };
                     (* (( (ptr) dstLine←v11496)+1) ) = var←c56080;
                     };
SOURCE(28628, 15)
SOURCE(27092, 7)
                  hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                  lo←v12108 = (* (( (ptr) srcLine←v11524)+2) );
SOURCE(27127, 42)
                  w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(28645, 43)
                  {
                     word var←c56144;
                     {
                        word var←c56176;
                        var←c56176 = (word) XRM←BITNOT(w←v11468);
                        var←c56144 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+2) ), var←c56176);
                        };
                     (* (( (ptr) dstLine←v11496)+2) ) = var←c56144;
                     };
SOURCE(28691, 27)
SOURCE(27235, 22)
                  w←v11468 = (word) XRM←BITLSHIFT(lo←v12108, lSA←v11440);
SOURCE(27259, 57)
                  if ((0 != fetchLastWord←v12192)) {
SOURCE(27273, 43)
                     w←v11468 = (w←v11468 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v11524)+3) ), rSA←v12136));
                     };
SOURCE(28720, 37)
                  {
                     word var←c56208;
                     {
                        word var←c56240;
                        word d←v28936;
                        word s←v28964;
                        d←v28936 = (* (( (ptr) dstLine←v11496)+3) );
                        s←v28964 = w←v11468;
SOURCE(23037, 71)
                        {
                           word var←c56304;
                           {
/*1*/   word var←c56336;
/*1*/   {
/*1*/      word var←c56368;
/*1*/      {
/*1*/         word var←c56400;
/*1*/         var←c56400 = (word) XRM←BITNOT(s←v28964);
/*1*/         var←c56368 = (word) XRM←BITAND(d←v28936, var←c56400);
/*1*/         };
/*1*/      var←c56336 = (word) XRM←BITXOR(var←c56368, d←v28936);
/*1*/      };
/*1*/   var←c56304 = (word) XRM←BITAND(var←c56336, rMask←v11412);
/*1*/   };
                           var←c56240 = (word) XRM←BITXOR(var←c56304, d←v28936);
                           };
                        var←c56208 = var←c56240;
                        };
                     (* (( (ptr) dstLine←v11496)+3) ) = var←c56208;
                     };
SOURCE(28759, 19)
                  if ((count←v11160 <= 1)) {
SOURCE(28778, 4)
                     goto lab←L100257;
                     };
SOURCE(28784, 17)
                  count←v11160 = (count←v11160 - 1);
SOURCE(28803, 23)
                  dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(28828, 23)
                  srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                  goto lab←L100258;
                  lab←L100257: ;
                  break;
               default: 
SOURCE(28906, 1051)
                  lab←L100263: ;
                  {
                     word nw←v12588;
                     nw←v12588 = (ndw←v11356 - 2);
SOURCE(28951, 13)
SOURCE(27350, 26)
                     dstLine←v11496 = dstPtr←v11188;
SOURCE(27378, 26)
                     srcLine←v11524 = srcPtr←v11244;
SOURCE(27406, 36)
                     if ((srcBit←v11272 >= dstBit←v11216)) {
SOURCE(27431, 11)
SOURCE(26938, 7)
                        hi←v12080 = lo←v12108;
SOURCE(26947, 15)
                        lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(26964, 28)
                        srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(26994, 42)
                        w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
                        };
SOURCE(28966, 15)
SOURCE(27092, 7)
                     hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                     lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(28983, 37)
                     {
                        word var←c56432;
                        {
                           word var←c56464;
                           word d←v28860;
                           word s←v28888;
                           d←v28860 = (*  (ptr) dstLine←v11496 );
                           s←v28888 = w←v11468;
SOURCE(23037, 71)
                           {
/*1*/   word var←c56528;
/*1*/   {
/*1*/      word var←c56560;
/*1*/      {
/*1*/         word var←c56592;
/*1*/         {
/*1*/            word var←c56624;
/*1*/            var←c56624 = (word) XRM←BITNOT(s←v28888);
/*1*/            var←c56592 = (word) XRM←BITAND(d←v28860, var←c56624);
/*1*/            };
/*1*/         var←c56560 = (word) XRM←BITXOR(var←c56592, d←v28860);
/*1*/         };
/*1*/      var←c56528 = (word) XRM←BITAND(var←c56560, lMask←v11384);
/*1*/      };
/*1*/   var←c56464 = (word) XRM←BITXOR(var←c56528, d←v28860);
/*1*/   };
                           var←c56432 = var←c56464;
                           };
                        (*  (ptr) dstLine←v11496 ) = var←c56432;
                        };
SOURCE(29022, 28)
                     dstLine←v11496 = (dstLine←v11496 + 4);
SOURCE(29052, 28)
                     srcLine←v11524 = (srcLine←v11524 + 4);
SOURCE(29082, 340)
                     lab←L100267: ;
                     if ((nw←v12588 >= 4)) {
                        }
                     else {
                        goto lab←L100265;
                        };
SOURCE(29099, 15)
SOURCE(27092, 7)
                     hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                     lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29116, 43)
                     {
                        word var←c56656;
                        {
                           word var←c56688;
                           var←c56688 = (word) XRM←BITNOT(w←v11468);
                           var←c56656 = (word) XRM←BITAND((*  (ptr) dstLine←v11496 ), var←c56688);
                           };
                        (*  (ptr) dstLine←v11496 ) = var←c56656;
                        };
SOURCE(29161, 15)
SOURCE(27092, 7)
                     hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                     lo←v12108 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(27127, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29178, 43)
                     {
                        word var←c56720;
                        {
                           word var←c56752;
                           var←c56752 = (word) XRM←BITNOT(w←v11468);
                           var←c56720 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c56752);
                           };
                        (* (( (ptr) dstLine←v11496)+1) ) = var←c56720;
                        };
SOURCE(29223, 15)
SOURCE(27092, 7)
                     hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                     lo←v12108 = (* (( (ptr) srcLine←v11524)+2) );
SOURCE(27127, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29240, 43)
                     {
                        word var←c56784;
                        {
                           word var←c56816;
                           var←c56816 = (word) XRM←BITNOT(w←v11468);
                           var←c56784 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+2) ), var←c56816);
                           };
                        (* (( (ptr) dstLine←v11496)+2) ) = var←c56784;
                        };
SOURCE(29285, 15)
SOURCE(27092, 7)
                     hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                     lo←v12108 = (* (( (ptr) srcLine←v11524)+3) );
SOURCE(27127, 42)
                     w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29302, 43)
                     {
                        word var←c56848;
                        {
                           word var←c56880;
                           var←c56880 = (word) XRM←BITNOT(w←v11468);
                           var←c56848 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+3) ), var←c56880);
                           };
                        (* (( (ptr) dstLine←v11496)+3) ) = var←c56848;
                        };
SOURCE(29347, 30)
                     dstLine←v11496 = (dstLine←v11496 + 16);
SOURCE(29379, 30)
                     srcLine←v11524 = (srcLine←v11524 + 16);
SOURCE(29411, 11)
                     nw←v12588 = (nw←v12588 - 4);
                     goto lab←L100267;
                     lab←L100265: ;
SOURCE(29433, 217)
                     if ((nw←v12588 >= 2)) {
SOURCE(29451, 15)
SOURCE(27092, 7)
                        hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                        lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                        w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29468, 43)
                        {
                           word var←c56912;
                           {
/*1*/   word var←c56944;
/*1*/   var←c56944 = (word) XRM←BITNOT(w←v11468);
/*1*/   var←c56912 = (word) XRM←BITAND((*  (ptr) dstLine←v11496 ), var←c56944);
/*1*/   };
                           (*  (ptr) dstLine←v11496 ) = var←c56912;
                           };
SOURCE(29513, 15)
SOURCE(27092, 7)
                        hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                        lo←v12108 = (* (( (ptr) srcLine←v11524)+1) );
SOURCE(27127, 42)
                        w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29530, 43)
                        {
                           word var←c56976;
                           {
/*1*/   word var←c57008;
/*1*/   var←c57008 = (word) XRM←BITNOT(w←v11468);
/*1*/   var←c56976 = (word) XRM←BITAND((* (( (ptr) dstLine←v11496)+1) ), var←c57008);
/*1*/   };
                           (* (( (ptr) dstLine←v11496)+1) ) = var←c56976;
                           };
SOURCE(29575, 30)
                        dstLine←v11496 = (dstLine←v11496 + 8);
SOURCE(29607, 30)
                        srcLine←v11524 = (srcLine←v11524 + 8);
SOURCE(29639, 11)
                        nw←v12588 = (nw←v12588 - 2);
                        };
SOURCE(29655, 137)
                     if ((nw←v12588 == 1)) {
SOURCE(29672, 15)
SOURCE(27092, 7)
                        hi←v12080 = lo←v12108;
SOURCE(27101, 24)
                        lo←v12108 = (*  (ptr) srcLine←v11524 );
SOURCE(27127, 42)
                        w←v11468 = ((word) XRM←BITLSHIFT(hi←v12080, lSA←v11440) + (word) XRM←BITRSHIFT(lo←v12108, rSA←v12136));
SOURCE(29689, 43)
                        {
                           word var←c57040;
                           {
/*1*/   word var←c57072;
/*1*/   var←c57072 = (word) XRM←BITNOT(w←v11468);
/*1*/   var←c57040 = (word) XRM←BITAND((*  (ptr) dstLine←v11496 ), var←c57072);
/*1*/   };
                           (*  (ptr) dstLine←v11496 ) = var←c57040;
                           };
SOURCE(29734, 28)
                        dstLine←v11496 = (dstLine←v11496 + 4);
SOURCE(29764, 28)
                        srcLine←v11524 = (srcLine←v11524 + 4);
                        };
SOURCE(29797, 27)
SOURCE(27235, 22)
                     w←v11468 = (word) XRM←BITLSHIFT(lo←v12108, lSA←v11440);
SOURCE(27259, 57)
                     if ((0 != fetchLastWord←v12192)) {
SOURCE(27273, 43)
                        w←v11468 = (w←v11468 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v11524 ), rSA←v12136));
                        };
SOURCE(29826, 37)
                     {
                        word var←c57104;
                        {
                           word var←c57136;
                           word d←v28784;
                           word s←v28812;
                           d←v28784 = (*  (ptr) dstLine←v11496 );
                           s←v28812 = w←v11468;
SOURCE(23037, 71)
                           {
/*1*/   word var←c57200;
/*1*/   {
/*1*/      word var←c57232;
/*1*/      {
/*1*/         word var←c57264;
/*1*/         {
/*1*/            word var←c57296;
/*1*/            var←c57296 = (word) XRM←BITNOT(s←v28812);
/*1*/            var←c57264 = (word) XRM←BITAND(d←v28784, var←c57296);
/*1*/            };
/*1*/         var←c57232 = (word) XRM←BITXOR(var←c57264, d←v28784);
/*1*/         };
/*1*/      var←c57200 = (word) XRM←BITAND(var←c57232, rMask←v11412);
/*1*/      };
/*1*/   var←c57136 = (word) XRM←BITXOR(var←c57200, d←v28784);
/*1*/   };
                           var←c57104 = var←c57136;
                           };
                        (*  (ptr) dstLine←v11496 ) = var←c57104;
                        };
SOURCE(29865, 19)
                     if ((count←v11160 <= 1)) {
SOURCE(29884, 4)
                        goto lab←L100262;
                        };
SOURCE(29890, 17)
                     count←v11160 = (count←v11160 - 1);
SOURCE(29909, 23)
                     dstPtr←v11188 = (dstPtr←v11188 + dRast←v11300);
SOURCE(29934, 23)
                     srcPtr←v11244 = (srcPtr←v11244 + sRast←v11328);
                     };
                  goto lab←L100263;
                  lab←L100262: ;
                  break;
               };
            };
         };
      };
   }

static void Forward4←P600(dst←v4648, src←v4676, formal←c01606, formal←c01607, sSize←v4760, formal←c01608)
   W2 dst←v4648;
   W2 src←v4676;
   word formal←c01606;
   word formal←c01607;
   word sSize←v4760;
   word formal←c01608;
   {
   W9 var←c76176;
   /* declaration of dstBpl←v4704 skipped */ 
   /* declaration of srcBpl←v4732 skipped */ 
   /* declaration of fSize←v4788 skipped */ 
   /* declaration of var←c57328 skipped */ 
   (* (( (ptr) &var←c76176)+4)/* dstBpl←v4704 */  ) = formal←c01606;
   (* (( (ptr) &var←c76176)+5)/* srcBpl←v4732 */  ) = formal←c01607;
   (* (( (ptr) &var←c76176)+6)/* fSize←v4788 */  ) = formal←c01608;
   /* Forward4: */ 
SOURCE(30517, 7395)
   {
      word tmpAddr7;
      tmpAddr7 = (word) (( (ptr) &var←c76176)+7)/* var←c57328 */ ;
      (*  (ptr) tmpAddr7 ) = ( ((word)  (fPt) DoUniformLines←P4980) );
      (* (( (ptr) tmpAddr7) + 1) ) = 1;
      };
SOURCE(37442, 470)
   if (((word) XRM←BITOR(sSize←v4760, (* (( (ptr) &var←c76176)+6)/* fSize←v4788 */  )) != 0)) {
SOURCE(37476, 436)
      if ( ( (((* (( (ptr) &var←c76176)+4)/* dstBpl←v4704 */  ) & 037) == 0) ? (((* (( (ptr) &var←c76176)+5)/* srcBpl←v4732 */  ) & 037) == 0) : 0 ) ) {
SOURCE(37528, 59)
         (void) DoUniformLines←P4980(sSize←v4760, dst←v4648.f0, dst←v4648.f1, src←v4676.f0, src←v4676.f1, (word) (( (bPt) &var←c76176)+28)
            /* var←c57328 */ );
         }
      else {
SOURCE(37598, 314)
         lab←L100271: ;
SOURCE(37601, 55)
         (void) DoUniformLines←P4980(1, dst←v4648.f0, dst←v4648.f1, src←v4676.f0, src←v4676.f1, (word) (( (bPt) &var←c76176)+28)/* var←c57328 */ )
         ;
SOURCE(37658, 32)
         sSize←v4760 = (sSize←v4760 - 1);
         if ((sSize←v4760 == 0)) {
SOURCE(37690, 4)
            goto lab←L100270;
            };
SOURCE(37696, 61)
         {
            word var←c57360;
            word bits←v22016;
            bits←v22016 = (dst←v4648.f1 + (* (( (ptr) &var←c76176)+4)/* dstBpl←v4704 */  ));
SOURCE(627, 52)
            var←c57360 = ((bits←v22016 >> 5) << 2);
            dst←v4648.f0 = (dst←v4648.f0 + var←c57360);
            };
SOURCE(37759, 44)
         dst←v4648.f1 = ((dst←v4648.f1 + (* (( (ptr) &var←c76176)+4)/* dstBpl←v4704 */  )) & 037);
SOURCE(37805, 61)
         {
            word var←c57392;
            word bits←v21968;
            bits←v21968 = (src←v4676.f1 + (* (( (ptr) &var←c76176)+5)/* srcBpl←v4732 */  ));
SOURCE(627, 52)
            var←c57392 = ((bits←v21968 >> 5) << 2);
            src←v4676.f0 = (src←v4676.f0 + var←c57392);
            };
SOURCE(37868, 44)
         src←v4676.f1 = ((src←v4676.f1 + (* (( (ptr) &var←c76176)+5)/* srcBpl←v4732 */  )) & 037);
         goto lab←L100271;
         lab←L100270: ;
         };
      };
   }

static void DoUniformLines←P4980(count←v12880, dstPtr←v12908, dstBit←v12936, srcPtr←v12964, srcBit←v12992, formal←c76240)
   word count←v12880;
   word dstPtr←v12908;
   word dstBit←v12936;
   word srcPtr←v12964;
   word srcBit←v12992;
   word formal←c76240;
   {
   register ptr gf←c76208 =  (ptr) &globalframe;
   word dRast←v13020;
   word sRast←v13048;
   word ndw←v13076;
   word lMask←v13104;
   word rMask←v13132;
   word lSA←v13160;
   word w←v13188 = 0;
   word dstLine←v13216 = 0;
   word srcLine←v13244 = 0;
   formal←c76240 = (formal←c76240 - 28);
   /* DoUniformLines: */ 
SOURCE(30707, 6729)
SOURCE(30816, 43)
   dRast←v13020 = (((* (( (ptr) formal←c76240)+4) ) >> 5) << 2);
SOURCE(30861, 43)
   sRast←v13048 = (((* (( (ptr) formal←c76240)+5) ) >> 5) << 2);
SOURCE(30906, 44)
   {
      word bits←v21248;
      bits←v21248 = (dstBit←v12936 + (* (( (ptr) formal←c76240)+6) ));
SOURCE(512, 36)
      ndw←v13076 = ((bits←v21248 + 31) >> 5);
      };
SOURCE(30952, 44)
   lMask←v13104 = (* ((( (ptr) gf←c76208)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v12936)) );
SOURCE(30998, 82)
   {
      word n←v22592;
      n←v22592 = (((32 - dstBit←v12936) - (* (( (ptr) formal←c76240)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v13132 = (word) XRM←BITNOT((* (((( (ptr) gf←c76208)+4)/* rightJustifiedOnes←v2832 */ +n←v22592)) ));
      };
SOURCE(31082, 58)
   lSA←v13160 = ((srcBit←v12992 - dstBit←v12936) & 037);
SOURCE(37391, 45)
   if ((lSA←v13160 == 0)) {
SOURCE(37409, 9)
SOURCE(31725, 2419)
      {
         word var←c57520;
         var←c57520 = ndw←v13076;
         switch (var←c57520) {
            case 1: 
               {
                  word bothMask←v13696;
                  bothMask←v13696 = (word) XRM←BITAND(lMask←v13104, rMask←v13132);
SOURCE(31809, 172)
                  lab←L100278: ;
SOURCE(31812, 13)
SOURCE(31665, 26)
                  dstLine←v13216 = dstPtr←v12908;
SOURCE(31693, 26)
                  srcLine←v13244 = srcPtr←v12964;
SOURCE(31827, 18)
SOURCE(31608, 23)
                  w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(31847, 40)
                  {
                     word var←c57552;
                     {
                        word var←c57584;
                        word d←v32212;
                        word s←v32240;
                        d←v32212 = (*  (ptr) dstLine←v13216 );
                        s←v32240 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c57648;
                           var←c57648 = (word) XRM←BITAND(bothMask←v13696, s←v32240);
                           var←c57584 = (word) XRM←BITOR(d←v32212, var←c57648);
                           };
                        var←c57552 = var←c57584;
                        };
                     (*  (ptr) dstLine←v13216 ) = var←c57552;
                     };
SOURCE(31889, 19)
                  if ((count←v12880 <= 1)) {
SOURCE(31908, 4)
                     goto lab←L100277;
                     };
SOURCE(31914, 17)
                  count←v12880 = (count←v12880 - 1);
SOURCE(31933, 23)
                  dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(31958, 23)
                  srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                  goto lab←L100278;
                  lab←L100277: ;
                  };
               break;
            case 2: 
SOURCE(32190, 235)
               lab←L100282: ;
SOURCE(32193, 13)
SOURCE(31665, 26)
               dstLine←v13216 = dstPtr←v12908;
SOURCE(31693, 26)
               srcLine←v13244 = srcPtr←v12964;
SOURCE(32208, 15)
SOURCE(31517, 23)
               w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(32225, 37)
               {
                  word var←c57680;
                  {
                     word var←c57712;
                     word d←v32060;
                     word s←v32088;
                     d←v32060 = (*  (ptr) dstLine←v13216 );
                     s←v32088 = w←v13188;
SOURCE(30665, 39)
                     {
                        word var←c57776;
                        var←c57776 = (word) XRM←BITAND(lMask←v13104, s←v32088);
                        var←c57712 = (word) XRM←BITOR(d←v32060, var←c57776);
                        };
                     var←c57680 = var←c57712;
                     };
                  (*  (ptr) dstLine←v13216 ) = var←c57680;
                  };
SOURCE(32265, 27)
SOURCE(31608, 23)
               w←v13188 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(32294, 37)
               {
                  word var←c57808;
                  {
                     word var←c57840;
                     word d←v31984;
                     word s←v32012;
                     d←v31984 = (* (( (ptr) dstLine←v13216)+1) );
                     s←v32012 = w←v13188;
SOURCE(30665, 39)
                     {
                        word var←c57904;
                        var←c57904 = (word) XRM←BITAND(rMask←v13132, s←v32012);
                        var←c57840 = (word) XRM←BITOR(d←v31984, var←c57904);
                        };
                     var←c57808 = var←c57840;
                     };
                  (* (( (ptr) dstLine←v13216)+1) ) = var←c57808;
                  };
SOURCE(32333, 19)
               if ((count←v12880 <= 1)) {
SOURCE(32352, 4)
                  goto lab←L100281;
                  };
SOURCE(32358, 17)
               count←v12880 = (count←v12880 - 1);
SOURCE(32377, 23)
               dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(32402, 23)
               srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
               goto lab←L100282;
               lab←L100281: ;
               break;
            case 3: 
SOURCE(32447, 289)
               lab←L100287: ;
SOURCE(32450, 13)
SOURCE(31665, 26)
               dstLine←v13216 = dstPtr←v12908;
SOURCE(31693, 26)
               srcLine←v13244 = srcPtr←v12964;
SOURCE(32465, 15)
SOURCE(31517, 23)
               w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(32482, 37)
               {
                  word var←c57936;
                  {
                     word var←c57968;
                     word d←v31908;
                     word s←v31936;
                     d←v31908 = (*  (ptr) dstLine←v13216 );
                     s←v31936 = w←v13188;
SOURCE(30665, 39)
                     {
                        word var←c58032;
                        var←c58032 = (word) XRM←BITAND(lMask←v13104, s←v31936);
                        var←c57968 = (word) XRM←BITOR(d←v31908, var←c58032);
                        };
                     var←c57936 = var←c57968;
                     };
                  (*  (ptr) dstLine←v13216 ) = var←c57936;
                  };
SOURCE(32522, 15)
SOURCE(31517, 23)
               w←v13188 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(32539, 34)
               {
                  word var←c58064;
                  var←c58064 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                  (* (( (ptr) dstLine←v13216)+1) ) = var←c58064;
                  };
SOURCE(32576, 27)
SOURCE(31608, 23)
               w←v13188 = (* (( (ptr) srcLine←v13244)+2) );
SOURCE(32605, 37)
               {
                  word var←c58096;
                  {
                     word var←c58128;
                     word d←v31832;
                     word s←v31860;
                     d←v31832 = (* (( (ptr) dstLine←v13216)+2) );
                     s←v31860 = w←v13188;
SOURCE(30665, 39)
                     {
                        word var←c58192;
                        var←c58192 = (word) XRM←BITAND(rMask←v13132, s←v31860);
                        var←c58128 = (word) XRM←BITOR(d←v31832, var←c58192);
                        };
                     var←c58096 = var←c58128;
                     };
                  (* (( (ptr) dstLine←v13216)+2) ) = var←c58096;
                  };
SOURCE(32644, 19)
               if ((count←v12880 <= 1)) {
SOURCE(32663, 4)
                  goto lab←L100286;
                  };
SOURCE(32669, 17)
               count←v12880 = (count←v12880 - 1);
SOURCE(32688, 23)
               dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(32713, 23)
               srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
               goto lab←L100287;
               lab←L100286: ;
               break;
            case 4: 
SOURCE(32758, 343)
               lab←L100292: ;
SOURCE(32761, 13)
SOURCE(31665, 26)
               dstLine←v13216 = dstPtr←v12908;
SOURCE(31693, 26)
               srcLine←v13244 = srcPtr←v12964;
SOURCE(32776, 15)
SOURCE(31517, 23)
               w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(32793, 37)
               {
                  word var←c58224;
                  {
                     word var←c58256;
                     word d←v31756;
                     word s←v31784;
                     d←v31756 = (*  (ptr) dstLine←v13216 );
                     s←v31784 = w←v13188;
SOURCE(30665, 39)
                     {
                        word var←c58320;
                        var←c58320 = (word) XRM←BITAND(lMask←v13104, s←v31784);
                        var←c58256 = (word) XRM←BITOR(d←v31756, var←c58320);
                        };
                     var←c58224 = var←c58256;
                     };
                  (*  (ptr) dstLine←v13216 ) = var←c58224;
                  };
SOURCE(32833, 15)
SOURCE(31517, 23)
               w←v13188 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(32850, 34)
               {
                  word var←c58352;
                  var←c58352 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                  (* (( (ptr) dstLine←v13216)+1) ) = var←c58352;
                  };
SOURCE(32887, 15)
SOURCE(31517, 23)
               w←v13188 = (* (( (ptr) srcLine←v13244)+2) );
SOURCE(32904, 34)
               {
                  word var←c58384;
                  var←c58384 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+2) ), w←v13188);
                  (* (( (ptr) dstLine←v13216)+2) ) = var←c58384;
                  };
SOURCE(32941, 27)
SOURCE(31608, 23)
               w←v13188 = (* (( (ptr) srcLine←v13244)+3) );
SOURCE(32970, 37)
               {
                  word var←c58416;
                  {
                     word var←c58448;
                     word d←v31680;
                     word s←v31708;
                     d←v31680 = (* (( (ptr) dstLine←v13216)+3) );
                     s←v31708 = w←v13188;
SOURCE(30665, 39)
                     {
                        word var←c58512;
                        var←c58512 = (word) XRM←BITAND(rMask←v13132, s←v31708);
                        var←c58448 = (word) XRM←BITOR(d←v31680, var←c58512);
                        };
                     var←c58416 = var←c58448;
                     };
                  (* (( (ptr) dstLine←v13216)+3) ) = var←c58416;
                  };
SOURCE(33009, 19)
               if ((count←v12880 <= 1)) {
SOURCE(33028, 4)
                  goto lab←L100291;
                  };
SOURCE(33034, 17)
               count←v12880 = (count←v12880 - 1);
SOURCE(33053, 23)
               dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(33078, 23)
               srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
               goto lab←L100292;
               lab←L100291: ;
               break;
            default: 
SOURCE(33156, 988)
               lab←L100297: ;
               {
                  word nw←v13772;
                  nw←v13772 = (ndw←v13076 - 2);
SOURCE(33201, 13)
SOURCE(31665, 26)
                  dstLine←v13216 = dstPtr←v12908;
SOURCE(31693, 26)
                  srcLine←v13244 = srcPtr←v12964;
SOURCE(33216, 15)
SOURCE(31517, 23)
                  w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(33233, 37)
                  {
                     word var←c58544;
                     {
                        word var←c58576;
                        word d←v31604;
                        word s←v31632;
                        d←v31604 = (*  (ptr) dstLine←v13216 );
                        s←v31632 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c58640;
                           var←c58640 = (word) XRM←BITAND(lMask←v13104, s←v31632);
                           var←c58576 = (word) XRM←BITOR(d←v31604, var←c58640);
                           };
                        var←c58544 = var←c58576;
                        };
                     (*  (ptr) dstLine←v13216 ) = var←c58544;
                     };
SOURCE(33272, 28)
                  dstLine←v13216 = (dstLine←v13216 + 4);
SOURCE(33302, 28)
                  srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(33332, 304)
                  lab←L100301: ;
                  if ((nw←v13772 >= 4)) {
                     }
                  else {
                     goto lab←L100299;
                     };
SOURCE(33349, 15)
SOURCE(31517, 23)
                  w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(33366, 34)
                  {
                     word var←c58672;
                     var←c58672 = (word) XRM←BITOR((*  (ptr) dstLine←v13216 ), w←v13188);
                     (*  (ptr) dstLine←v13216 ) = var←c58672;
                     };
SOURCE(33402, 15)
SOURCE(31517, 23)
                  w←v13188 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(33419, 34)
                  {
                     word var←c58704;
                     var←c58704 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                     (* (( (ptr) dstLine←v13216)+1) ) = var←c58704;
                     };
SOURCE(33455, 15)
SOURCE(31517, 23)
                  w←v13188 = (* (( (ptr) srcLine←v13244)+2) );
SOURCE(33472, 34)
                  {
                     word var←c58736;
                     var←c58736 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+2) ), w←v13188);
                     (* (( (ptr) dstLine←v13216)+2) ) = var←c58736;
                     };
SOURCE(33508, 15)
SOURCE(31517, 23)
                  w←v13188 = (* (( (ptr) srcLine←v13244)+3) );
SOURCE(33525, 34)
                  {
                     word var←c58768;
                     var←c58768 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+3) ), w←v13188);
                     (* (( (ptr) dstLine←v13216)+3) ) = var←c58768;
                     };
SOURCE(33561, 30)
                  dstLine←v13216 = (dstLine←v13216 + 16);
SOURCE(33593, 30)
                  srcLine←v13244 = (srcLine←v13244 + 16);
SOURCE(33625, 11)
                  nw←v13772 = (nw←v13772 - 4);
                  goto lab←L100301;
                  lab←L100299: ;
SOURCE(33647, 199)
                  if ((nw←v13772 >= 2)) {
SOURCE(33665, 15)
SOURCE(31517, 23)
                     w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(33682, 34)
                     {
                        word var←c58800;
                        var←c58800 = (word) XRM←BITOR((*  (ptr) dstLine←v13216 ), w←v13188);
                        (*  (ptr) dstLine←v13216 ) = var←c58800;
                        };
SOURCE(33718, 15)
SOURCE(31517, 23)
                     w←v13188 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(33735, 34)
                     {
                        word var←c58832;
                        var←c58832 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                        (* (( (ptr) dstLine←v13216)+1) ) = var←c58832;
                        };
SOURCE(33771, 30)
                     dstLine←v13216 = (dstLine←v13216 + 8);
SOURCE(33803, 30)
                     srcLine←v13244 = (srcLine←v13244 + 8);
SOURCE(33835, 11)
                     nw←v13772 = (nw←v13772 - 2);
                     };
SOURCE(33851, 128)
                  if ((nw←v13772 == 1)) {
SOURCE(33868, 15)
SOURCE(31517, 23)
                     w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(33885, 34)
                     {
                        word var←c58864;
                        var←c58864 = (word) XRM←BITOR((*  (ptr) dstLine←v13216 ), w←v13188);
                        (*  (ptr) dstLine←v13216 ) = var←c58864;
                        };
SOURCE(33921, 28)
                     dstLine←v13216 = (dstLine←v13216 + 4);
SOURCE(33951, 28)
                     srcLine←v13244 = (srcLine←v13244 + 4);
                     };
SOURCE(33984, 27)
SOURCE(31608, 23)
                  w←v13188 = (*  (ptr) srcLine←v13244 );
SOURCE(34013, 37)
                  {
                     word var←c58896;
                     {
                        word var←c58928;
                        word d←v31528;
                        word s←v31556;
                        d←v31528 = (*  (ptr) dstLine←v13216 );
                        s←v31556 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c58992;
                           var←c58992 = (word) XRM←BITAND(rMask←v13132, s←v31556);
                           var←c58928 = (word) XRM←BITOR(d←v31528, var←c58992);
                           };
                        var←c58896 = var←c58928;
                        };
                     (*  (ptr) dstLine←v13216 ) = var←c58896;
                     };
SOURCE(34052, 19)
                  if ((count←v12880 <= 1)) {
SOURCE(34071, 4)
                     goto lab←L100296;
                     };
SOURCE(34077, 17)
                  count←v12880 = (count←v12880 - 1);
SOURCE(34096, 23)
                  dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(34121, 23)
                  srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                  };
               goto lab←L100297;
               lab←L100296: ;
               break;
            };
         };
      }
   else {
SOURCE(37427, 9)
      {
         word hi←v13800;
         word lo←v13828 = 0;
         word rSA←v13856;
         word nsw←v13884;
         word fetchLastWord←v13912;
         rSA←v13856 = (32 - lSA←v13160);
         {
            word bits←v21200;
            bits←v21200 = (srcBit←v12992 + (* (( (ptr) formal←c76240)+6) ));
SOURCE(512, 36)
            nsw←v13884 = ((bits←v21200 + 31) >> 5);
            };
         fetchLastWord←v13912 =  ( (srcBit←v12992 >= dstBit←v12936) ? (nsw←v13884 > ndw←v13076) : (nsw←v13884 >= ndw←v13076) ) ;
SOURCE(34954, 2419)
         {
            word var←c59056;
            var←c59056 = ndw←v13076;
            switch (var←c59056) {
               case 1: 
                  {
                     word bothMask←v14232;
                     bothMask←v14232 = (word) XRM←BITAND(lMask←v13104, rMask←v13132);
SOURCE(35016, 382)
                     if ((0 != fetchLastWord←v13912)) {
SOURCE(35038, 172)
                        lab←L100306: ;
SOURCE(35041, 13)
SOURCE(34856, 26)
                        dstLine←v13216 = dstPtr←v12908;
SOURCE(34884, 26)
                        srcLine←v13244 = srcPtr←v12964;
SOURCE(34912, 36)
                        if ((srcBit←v12992 >= dstBit←v12936)) {
SOURCE(34937, 11)
SOURCE(34444, 7)
                           hi←v13800 = lo←v13828;
SOURCE(34453, 15)
                           lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34470, 28)
                           srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(34500, 42)
                           w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
                           };
SOURCE(35056, 18)
SOURCE(34741, 22)
                        w←v13188 = (word) XRM←BITLSHIFT(lo←v13828, lSA←v13160);
SOURCE(34779, 43)
                        w←v13188 = (w←v13188 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v13244 ), rSA←v13856));
SOURCE(35076, 40)
                        {
                           word var←c59088;
                           {
/*1*/   word var←c59120;
/*1*/   word d←v31452;
/*1*/   word s←v31480;
/*1*/   d←v31452 = (*  (ptr) dstLine←v13216 );
/*1*/   s←v31480 = w←v13188;
SOURCE(30665, 39)
/*1*/   {
/*1*/      word var←c59184;
/*1*/      var←c59184 = (word) XRM←BITAND(bothMask←v14232, s←v31480);
/*1*/      var←c59120 = (word) XRM←BITOR(d←v31452, var←c59184);
/*1*/      };
/*1*/   var←c59088 = var←c59120;
/*1*/   };
                           (*  (ptr) dstLine←v13216 ) = var←c59088;
                           };
SOURCE(35118, 19)
                        if ((count←v12880 <= 1)) {
SOURCE(35137, 4)
                           goto lab←L100305;
                           };
SOURCE(35143, 17)
                        count←v12880 = (count←v12880 - 1);
SOURCE(35162, 23)
                        dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(35187, 23)
                        srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                        goto lab←L100306;
                        lab←L100305: ;
                        }
                     else {
SOURCE(35225, 173)
                        lab←L100310: ;
SOURCE(35228, 13)
SOURCE(34856, 26)
                        dstLine←v13216 = dstPtr←v12908;
SOURCE(34884, 26)
                        srcLine←v13244 = srcPtr←v12964;
SOURCE(34912, 36)
                        if ((srcBit←v12992 >= dstBit←v12936)) {
SOURCE(34937, 11)
SOURCE(34444, 7)
                           hi←v13800 = lo←v13828;
SOURCE(34453, 15)
                           lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34470, 28)
                           srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(34500, 42)
                           w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
                           };
SOURCE(35243, 19)
SOURCE(34741, 22)
                        w←v13188 = (word) XRM←BITLSHIFT(lo←v13828, lSA←v13160);
SOURCE(35264, 40)
                        {
                           word var←c59216;
                           {
/*1*/   word var←c59248;
/*1*/   word d←v31376;
/*1*/   word s←v31404;
/*1*/   d←v31376 = (*  (ptr) dstLine←v13216 );
/*1*/   s←v31404 = w←v13188;
SOURCE(30665, 39)
/*1*/   {
/*1*/      word var←c59312;
/*1*/      var←c59312 = (word) XRM←BITAND(bothMask←v14232, s←v31404);
/*1*/      var←c59248 = (word) XRM←BITOR(d←v31376, var←c59312);
/*1*/      };
/*1*/   var←c59216 = var←c59248;
/*1*/   };
                           (*  (ptr) dstLine←v13216 ) = var←c59216;
                           };
SOURCE(35306, 19)
                        if ((count←v12880 <= 1)) {
SOURCE(35325, 4)
                           goto lab←L100309;
                           };
SOURCE(35331, 17)
                        count←v12880 = (count←v12880 - 1);
SOURCE(35350, 23)
                        dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(35375, 23)
                        srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                        goto lab←L100310;
                        lab←L100309: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(35419, 235)
                  lab←L100314: ;
SOURCE(35422, 13)
SOURCE(34856, 26)
                  dstLine←v13216 = dstPtr←v12908;
SOURCE(34884, 26)
                  srcLine←v13244 = srcPtr←v12964;
SOURCE(34912, 36)
                  if ((srcBit←v12992 >= dstBit←v12936)) {
SOURCE(34937, 11)
SOURCE(34444, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34453, 15)
                     lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34470, 28)
                     srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(34500, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
                     };
SOURCE(35437, 15)
SOURCE(34598, 7)
                  hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                  lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                  w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(35454, 37)
                  {
                     word var←c59344;
                     {
                        word var←c59376;
                        word d←v31300;
                        word s←v31328;
                        d←v31300 = (*  (ptr) dstLine←v13216 );
                        s←v31328 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c59440;
                           var←c59440 = (word) XRM←BITAND(lMask←v13104, s←v31328);
                           var←c59376 = (word) XRM←BITOR(d←v31300, var←c59440);
                           };
                        var←c59344 = var←c59376;
                        };
                     (*  (ptr) dstLine←v13216 ) = var←c59344;
                     };
SOURCE(35494, 27)
SOURCE(34741, 22)
                  w←v13188 = (word) XRM←BITLSHIFT(lo←v13828, lSA←v13160);
SOURCE(34765, 57)
                  if ((0 != fetchLastWord←v13912)) {
SOURCE(34779, 43)
                     w←v13188 = (w←v13188 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v13244)+1) ), rSA←v13856));
                     };
SOURCE(35523, 37)
                  {
                     word var←c59472;
                     {
                        word var←c59504;
                        word d←v31224;
                        word s←v31252;
                        d←v31224 = (* (( (ptr) dstLine←v13216)+1) );
                        s←v31252 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c59568;
                           var←c59568 = (word) XRM←BITAND(rMask←v13132, s←v31252);
                           var←c59504 = (word) XRM←BITOR(d←v31224, var←c59568);
                           };
                        var←c59472 = var←c59504;
                        };
                     (* (( (ptr) dstLine←v13216)+1) ) = var←c59472;
                     };
SOURCE(35562, 19)
                  if ((count←v12880 <= 1)) {
SOURCE(35581, 4)
                     goto lab←L100313;
                     };
SOURCE(35587, 17)
                  count←v12880 = (count←v12880 - 1);
SOURCE(35606, 23)
                  dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(35631, 23)
                  srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                  goto lab←L100314;
                  lab←L100313: ;
                  break;
               case 3: 
SOURCE(35676, 289)
                  lab←L100319: ;
SOURCE(35679, 13)
SOURCE(34856, 26)
                  dstLine←v13216 = dstPtr←v12908;
SOURCE(34884, 26)
                  srcLine←v13244 = srcPtr←v12964;
SOURCE(34912, 36)
                  if ((srcBit←v12992 >= dstBit←v12936)) {
SOURCE(34937, 11)
SOURCE(34444, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34453, 15)
                     lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34470, 28)
                     srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(34500, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
                     };
SOURCE(35694, 15)
SOURCE(34598, 7)
                  hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                  lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                  w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(35711, 37)
                  {
                     word var←c59600;
                     {
                        word var←c59632;
                        word d←v31148;
                        word s←v31176;
                        d←v31148 = (*  (ptr) dstLine←v13216 );
                        s←v31176 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c59696;
                           var←c59696 = (word) XRM←BITAND(lMask←v13104, s←v31176);
                           var←c59632 = (word) XRM←BITOR(d←v31148, var←c59696);
                           };
                        var←c59600 = var←c59632;
                        };
                     (*  (ptr) dstLine←v13216 ) = var←c59600;
                     };
SOURCE(35751, 15)
SOURCE(34598, 7)
                  hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                  lo←v13828 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(34633, 42)
                  w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(35768, 34)
                  {
                     word var←c59728;
                     var←c59728 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                     (* (( (ptr) dstLine←v13216)+1) ) = var←c59728;
                     };
SOURCE(35805, 27)
SOURCE(34741, 22)
                  w←v13188 = (word) XRM←BITLSHIFT(lo←v13828, lSA←v13160);
SOURCE(34765, 57)
                  if ((0 != fetchLastWord←v13912)) {
SOURCE(34779, 43)
                     w←v13188 = (w←v13188 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v13244)+2) ), rSA←v13856));
                     };
SOURCE(35834, 37)
                  {
                     word var←c59760;
                     {
                        word var←c59792;
                        word d←v31072;
                        word s←v31100;
                        d←v31072 = (* (( (ptr) dstLine←v13216)+2) );
                        s←v31100 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c59856;
                           var←c59856 = (word) XRM←BITAND(rMask←v13132, s←v31100);
                           var←c59792 = (word) XRM←BITOR(d←v31072, var←c59856);
                           };
                        var←c59760 = var←c59792;
                        };
                     (* (( (ptr) dstLine←v13216)+2) ) = var←c59760;
                     };
SOURCE(35873, 19)
                  if ((count←v12880 <= 1)) {
SOURCE(35892, 4)
                     goto lab←L100318;
                     };
SOURCE(35898, 17)
                  count←v12880 = (count←v12880 - 1);
SOURCE(35917, 23)
                  dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(35942, 23)
                  srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                  goto lab←L100319;
                  lab←L100318: ;
                  break;
               case 4: 
SOURCE(35987, 343)
                  lab←L100324: ;
SOURCE(35990, 13)
SOURCE(34856, 26)
                  dstLine←v13216 = dstPtr←v12908;
SOURCE(34884, 26)
                  srcLine←v13244 = srcPtr←v12964;
SOURCE(34912, 36)
                  if ((srcBit←v12992 >= dstBit←v12936)) {
SOURCE(34937, 11)
SOURCE(34444, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34453, 15)
                     lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34470, 28)
                     srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(34500, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
                     };
SOURCE(36005, 15)
SOURCE(34598, 7)
                  hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                  lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                  w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36022, 37)
                  {
                     word var←c59888;
                     {
                        word var←c59920;
                        word d←v30996;
                        word s←v31024;
                        d←v30996 = (*  (ptr) dstLine←v13216 );
                        s←v31024 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c59984;
                           var←c59984 = (word) XRM←BITAND(lMask←v13104, s←v31024);
                           var←c59920 = (word) XRM←BITOR(d←v30996, var←c59984);
                           };
                        var←c59888 = var←c59920;
                        };
                     (*  (ptr) dstLine←v13216 ) = var←c59888;
                     };
SOURCE(36062, 15)
SOURCE(34598, 7)
                  hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                  lo←v13828 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(34633, 42)
                  w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36079, 34)
                  {
                     word var←c60016;
                     var←c60016 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                     (* (( (ptr) dstLine←v13216)+1) ) = var←c60016;
                     };
SOURCE(36116, 15)
SOURCE(34598, 7)
                  hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                  lo←v13828 = (* (( (ptr) srcLine←v13244)+2) );
SOURCE(34633, 42)
                  w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36133, 34)
                  {
                     word var←c60048;
                     var←c60048 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+2) ), w←v13188);
                     (* (( (ptr) dstLine←v13216)+2) ) = var←c60048;
                     };
SOURCE(36170, 27)
SOURCE(34741, 22)
                  w←v13188 = (word) XRM←BITLSHIFT(lo←v13828, lSA←v13160);
SOURCE(34765, 57)
                  if ((0 != fetchLastWord←v13912)) {
SOURCE(34779, 43)
                     w←v13188 = (w←v13188 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v13244)+3) ), rSA←v13856));
                     };
SOURCE(36199, 37)
                  {
                     word var←c60080;
                     {
                        word var←c60112;
                        word d←v30920;
                        word s←v30948;
                        d←v30920 = (* (( (ptr) dstLine←v13216)+3) );
                        s←v30948 = w←v13188;
SOURCE(30665, 39)
                        {
                           word var←c60176;
                           var←c60176 = (word) XRM←BITAND(rMask←v13132, s←v30948);
                           var←c60112 = (word) XRM←BITOR(d←v30920, var←c60176);
                           };
                        var←c60080 = var←c60112;
                        };
                     (* (( (ptr) dstLine←v13216)+3) ) = var←c60080;
                     };
SOURCE(36238, 19)
                  if ((count←v12880 <= 1)) {
SOURCE(36257, 4)
                     goto lab←L100323;
                     };
SOURCE(36263, 17)
                  count←v12880 = (count←v12880 - 1);
SOURCE(36282, 23)
                  dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(36307, 23)
                  srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                  goto lab←L100324;
                  lab←L100323: ;
                  break;
               default: 
SOURCE(36385, 988)
                  lab←L100329: ;
                  {
                     word nw←v14308;
                     nw←v14308 = (ndw←v13076 - 2);
SOURCE(36430, 13)
SOURCE(34856, 26)
                     dstLine←v13216 = dstPtr←v12908;
SOURCE(34884, 26)
                     srcLine←v13244 = srcPtr←v12964;
SOURCE(34912, 36)
                     if ((srcBit←v12992 >= dstBit←v12936)) {
SOURCE(34937, 11)
SOURCE(34444, 7)
                        hi←v13800 = lo←v13828;
SOURCE(34453, 15)
                        lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34470, 28)
                        srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(34500, 42)
                        w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
                        };
SOURCE(36445, 15)
SOURCE(34598, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                     lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36462, 37)
                     {
                        word var←c60208;
                        {
                           word var←c60240;
                           word d←v30844;
                           word s←v30872;
                           d←v30844 = (*  (ptr) dstLine←v13216 );
                           s←v30872 = w←v13188;
SOURCE(30665, 39)
                           {
/*1*/   word var←c60304;
/*1*/   var←c60304 = (word) XRM←BITAND(lMask←v13104, s←v30872);
/*1*/   var←c60240 = (word) XRM←BITOR(d←v30844, var←c60304);
/*1*/   };
                           var←c60208 = var←c60240;
                           };
                        (*  (ptr) dstLine←v13216 ) = var←c60208;
                        };
SOURCE(36501, 28)
                     dstLine←v13216 = (dstLine←v13216 + 4);
SOURCE(36531, 28)
                     srcLine←v13244 = (srcLine←v13244 + 4);
SOURCE(36561, 304)
                     lab←L100333: ;
                     if ((nw←v14308 >= 4)) {
                        }
                     else {
                        goto lab←L100331;
                        };
SOURCE(36578, 15)
SOURCE(34598, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                     lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36595, 34)
                     {
                        word var←c60336;
                        var←c60336 = (word) XRM←BITOR((*  (ptr) dstLine←v13216 ), w←v13188);
                        (*  (ptr) dstLine←v13216 ) = var←c60336;
                        };
SOURCE(36631, 15)
SOURCE(34598, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                     lo←v13828 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(34633, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36648, 34)
                     {
                        word var←c60368;
                        var←c60368 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                        (* (( (ptr) dstLine←v13216)+1) ) = var←c60368;
                        };
SOURCE(36684, 15)
SOURCE(34598, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                     lo←v13828 = (* (( (ptr) srcLine←v13244)+2) );
SOURCE(34633, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36701, 34)
                     {
                        word var←c60400;
                        var←c60400 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+2) ), w←v13188);
                        (* (( (ptr) dstLine←v13216)+2) ) = var←c60400;
                        };
SOURCE(36737, 15)
SOURCE(34598, 7)
                     hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                     lo←v13828 = (* (( (ptr) srcLine←v13244)+3) );
SOURCE(34633, 42)
                     w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36754, 34)
                     {
                        word var←c60432;
                        var←c60432 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+3) ), w←v13188);
                        (* (( (ptr) dstLine←v13216)+3) ) = var←c60432;
                        };
SOURCE(36790, 30)
                     dstLine←v13216 = (dstLine←v13216 + 16);
SOURCE(36822, 30)
                     srcLine←v13244 = (srcLine←v13244 + 16);
SOURCE(36854, 11)
                     nw←v14308 = (nw←v14308 - 4);
                     goto lab←L100333;
                     lab←L100331: ;
SOURCE(36876, 199)
                     if ((nw←v14308 >= 2)) {
SOURCE(36894, 15)
SOURCE(34598, 7)
                        hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                        lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                        w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36911, 34)
                        {
                           word var←c60464;
                           var←c60464 = (word) XRM←BITOR((*  (ptr) dstLine←v13216 ), w←v13188);
                           (*  (ptr) dstLine←v13216 ) = var←c60464;
                           };
SOURCE(36947, 15)
SOURCE(34598, 7)
                        hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                        lo←v13828 = (* (( (ptr) srcLine←v13244)+1) );
SOURCE(34633, 42)
                        w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(36964, 34)
                        {
                           word var←c60496;
                           var←c60496 = (word) XRM←BITOR((* (( (ptr) dstLine←v13216)+1) ), w←v13188);
                           (* (( (ptr) dstLine←v13216)+1) ) = var←c60496;
                           };
SOURCE(37000, 30)
                        dstLine←v13216 = (dstLine←v13216 + 8);
SOURCE(37032, 30)
                        srcLine←v13244 = (srcLine←v13244 + 8);
SOURCE(37064, 11)
                        nw←v14308 = (nw←v14308 - 2);
                        };
SOURCE(37080, 128)
                     if ((nw←v14308 == 1)) {
SOURCE(37097, 15)
SOURCE(34598, 7)
                        hi←v13800 = lo←v13828;
SOURCE(34607, 24)
                        lo←v13828 = (*  (ptr) srcLine←v13244 );
SOURCE(34633, 42)
                        w←v13188 = ((word) XRM←BITLSHIFT(hi←v13800, lSA←v13160) + (word) XRM←BITRSHIFT(lo←v13828, rSA←v13856));
SOURCE(37114, 34)
                        {
                           word var←c60528;
                           var←c60528 = (word) XRM←BITOR((*  (ptr) dstLine←v13216 ), w←v13188);
                           (*  (ptr) dstLine←v13216 ) = var←c60528;
                           };
SOURCE(37150, 28)
                        dstLine←v13216 = (dstLine←v13216 + 4);
SOURCE(37180, 28)
                        srcLine←v13244 = (srcLine←v13244 + 4);
                        };
SOURCE(37213, 27)
SOURCE(34741, 22)
                     w←v13188 = (word) XRM←BITLSHIFT(lo←v13828, lSA←v13160);
SOURCE(34765, 57)
                     if ((0 != fetchLastWord←v13912)) {
SOURCE(34779, 43)
                        w←v13188 = (w←v13188 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v13244 ), rSA←v13856));
                        };
SOURCE(37242, 37)
                     {
                        word var←c60560;
                        {
                           word var←c60592;
                           word d←v30768;
                           word s←v30796;
                           d←v30768 = (*  (ptr) dstLine←v13216 );
                           s←v30796 = w←v13188;
SOURCE(30665, 39)
                           {
/*1*/   word var←c60656;
/*1*/   var←c60656 = (word) XRM←BITAND(rMask←v13132, s←v30796);
/*1*/   var←c60592 = (word) XRM←BITOR(d←v30768, var←c60656);
/*1*/   };
                           var←c60560 = var←c60592;
                           };
                        (*  (ptr) dstLine←v13216 ) = var←c60560;
                        };
SOURCE(37281, 19)
                     if ((count←v12880 <= 1)) {
SOURCE(37300, 4)
                        goto lab←L100328;
                        };
SOURCE(37306, 17)
                     count←v12880 = (count←v12880 - 1);
SOURCE(37325, 23)
                     dstPtr←v12908 = (dstPtr←v12908 + dRast←v13020);
SOURCE(37350, 23)
                     srcPtr←v12964 = (srcPtr←v12964 + sRast←v13048);
                     };
                  goto lab←L100329;
                  lab←L100328: ;
                  break;
               };
            };
         };
      };
   }

static void Forward5←P660(dst←v4848, src←v4876, formal←c01609, formal←c01610, sSize←v4960, formal←c01611)
   W2 dst←v4848;
   W2 src←v4876;
   word formal←c01609;
   word formal←c01610;
   word sSize←v4960;
   word formal←c01611;
   {
   W9 var←c76272;
   /* declaration of dstBpl←v4904 skipped */ 
   /* declaration of srcBpl←v4932 skipped */ 
   /* declaration of fSize←v4988 skipped */ 
   /* declaration of var←c60688 skipped */ 
   (* (( (ptr) &var←c76272)+4)/* dstBpl←v4904 */  ) = formal←c01609;
   (* (( (ptr) &var←c76272)+5)/* srcBpl←v4932 */  ) = formal←c01610;
   (* (( (ptr) &var←c76272)+6)/* fSize←v4988 */  ) = formal←c01611;
   /* Forward5: */ 
SOURCE(37933, 7563)
   {
      word tmpAddr8;
      tmpAddr8 = (word) (( (ptr) &var←c76272)+7)/* var←c60688 */ ;
      (*  (ptr) tmpAddr8 ) = ( ((word)  (fPt) DoUniformLines←P5988) );
      (* (( (ptr) tmpAddr8) + 1) ) = 1;
      };
SOURCE(45026, 470)
   if (((word) XRM←BITOR(sSize←v4960, (* (( (ptr) &var←c76272)+6)/* fSize←v4988 */  )) != 0)) {
SOURCE(45060, 436)
      if ( ( (((* (( (ptr) &var←c76272)+4)/* dstBpl←v4904 */  ) & 037) == 0) ? (((* (( (ptr) &var←c76272)+5)/* srcBpl←v4932 */  ) & 037) == 0) : 0 ) ) {
SOURCE(45112, 59)
         (void) DoUniformLines←P5988(sSize←v4960, dst←v4848.f0, dst←v4848.f1, src←v4876.f0, src←v4876.f1, (word) (( (bPt) &var←c76272)+28)
            /* var←c60688 */ );
         }
      else {
SOURCE(45182, 314)
         lab←L100337: ;
SOURCE(45185, 55)
         (void) DoUniformLines←P5988(1, dst←v4848.f0, dst←v4848.f1, src←v4876.f0, src←v4876.f1, (word) (( (bPt) &var←c76272)+28)/* var←c60688 */ )
         ;
SOURCE(45242, 32)
         sSize←v4960 = (sSize←v4960 - 1);
         if ((sSize←v4960 == 0)) {
SOURCE(45274, 4)
            goto lab←L100336;
            };
SOURCE(45280, 61)
         {
            word var←c60720;
            word bits←v21920;
            bits←v21920 = (dst←v4848.f1 + (* (( (ptr) &var←c76272)+4)/* dstBpl←v4904 */  ));
SOURCE(627, 52)
            var←c60720 = ((bits←v21920 >> 5) << 2);
            dst←v4848.f0 = (dst←v4848.f0 + var←c60720);
            };
SOURCE(45343, 44)
         dst←v4848.f1 = ((dst←v4848.f1 + (* (( (ptr) &var←c76272)+4)/* dstBpl←v4904 */  )) & 037);
SOURCE(45389, 61)
         {
            word var←c60752;
            word bits←v21872;
            bits←v21872 = (src←v4876.f1 + (* (( (ptr) &var←c76272)+5)/* srcBpl←v4932 */  ));
SOURCE(627, 52)
            var←c60752 = ((bits←v21872 >> 5) << 2);
            src←v4876.f0 = (src←v4876.f0 + var←c60752);
            };
SOURCE(45452, 44)
         src←v4876.f1 = ((src←v4876.f1 + (* (( (ptr) &var←c76272)+5)/* srcBpl←v4932 */  )) & 037);
         goto lab←L100337;
         lab←L100336: ;
         };
      };
   }

static void DoUniformLines←P5988(count←v14600, dstPtr←v14628, dstBit←v14656, srcPtr←v14684, srcBit←v14712, formal←c76336)
   word count←v14600;
   word dstPtr←v14628;
   word dstBit←v14656;
   word srcPtr←v14684;
   word srcBit←v14712;
   word formal←c76336;
   {
   register ptr gf←c76304 =  (ptr) &globalframe;
   word dRast←v14740;
   word sRast←v14768;
   word ndw←v14796;
   word lMask←v14824;
   word rMask←v14852;
   word lSA←v14880;
   word w←v14908 = 0;
   word dstLine←v14936 = 0;
   word srcLine←v14964 = 0;
   formal←c76336 = (formal←c76336 - 28);
   /* DoUniformLines: */ 
SOURCE(38131, 6889)
SOURCE(38240, 43)
   dRast←v14740 = (((* (( (ptr) formal←c76336)+4) ) >> 5) << 2);
SOURCE(38285, 43)
   sRast←v14768 = (((* (( (ptr) formal←c76336)+5) ) >> 5) << 2);
SOURCE(38330, 44)
   {
      word bits←v21152;
      bits←v21152 = (dstBit←v14656 + (* (( (ptr) formal←c76336)+6) ));
SOURCE(512, 36)
      ndw←v14796 = ((bits←v21152 + 31) >> 5);
      };
SOURCE(38376, 44)
   lMask←v14824 = (* ((( (ptr) gf←c76304)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v14656)) );
SOURCE(38422, 82)
   {
      word n←v22544;
      n←v22544 = (((32 - dstBit←v14656) - (* (( (ptr) formal←c76336)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v14852 = (word) XRM←BITNOT((* (((( (ptr) gf←c76304)+4)/* rightJustifiedOnes←v2832 */ +n←v22544)) ));
      };
SOURCE(38506, 58)
   lSA←v14880 = ((srcBit←v14712 - dstBit←v14656) & 037);
SOURCE(44975, 45)
   if ((lSA←v14880 == 0)) {
SOURCE(44993, 9)
SOURCE(39149, 2499)
      {
         word var←c60880;
         var←c60880 = ndw←v14796;
         switch (var←c60880) {
            case 1: 
               {
                  word bothMask←v15416;
                  bothMask←v15416 = (word) XRM←BITAND(lMask←v14824, rMask←v14852);
SOURCE(39233, 172)
                  lab←L100344: ;
SOURCE(39236, 13)
SOURCE(39089, 26)
                  dstLine←v14936 = dstPtr←v14628;
SOURCE(39117, 26)
                  srcLine←v14964 = srcPtr←v14684;
SOURCE(39251, 18)
SOURCE(39032, 23)
                  w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(39271, 40)
                  {
                     word var←c60912;
                     {
                        word var←c60944;
                        word d←v34196;
                        word s←v34224;
                        d←v34196 = (*  (ptr) dstLine←v14936 );
                        s←v34224 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c61008;
                           {
/*1*/   word var←c61040;
/*1*/   var←c61040 = (word) XRM←BITNOT(s←v34224);
/*1*/   var←c61008 = (word) XRM←BITAND(bothMask←v15416, var←c61040);
/*1*/   };
                           var←c60944 = (word) XRM←BITOR(d←v34196, var←c61008);
                           };
                        var←c60912 = var←c60944;
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c60912;
                     };
SOURCE(39313, 19)
                  if ((count←v14600 <= 1)) {
SOURCE(39332, 4)
                     goto lab←L100343;
                     };
SOURCE(39338, 17)
                  count←v14600 = (count←v14600 - 1);
SOURCE(39357, 23)
                  dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(39382, 23)
                  srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                  goto lab←L100344;
                  lab←L100343: ;
                  };
               break;
            case 2: 
SOURCE(39614, 235)
               lab←L100348: ;
SOURCE(39617, 13)
SOURCE(39089, 26)
               dstLine←v14936 = dstPtr←v14628;
SOURCE(39117, 26)
               srcLine←v14964 = srcPtr←v14684;
SOURCE(39632, 15)
SOURCE(38941, 23)
               w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(39649, 37)
               {
                  word var←c61072;
                  {
                     word var←c61104;
                     word d←v34044;
                     word s←v34072;
                     d←v34044 = (*  (ptr) dstLine←v14936 );
                     s←v34072 = w←v14908;
SOURCE(38081, 47)
                     {
                        word var←c61168;
                        {
                           word var←c61200;
                           var←c61200 = (word) XRM←BITNOT(s←v34072);
                           var←c61168 = (word) XRM←BITAND(lMask←v14824, var←c61200);
                           };
                        var←c61104 = (word) XRM←BITOR(d←v34044, var←c61168);
                        };
                     var←c61072 = var←c61104;
                     };
                  (*  (ptr) dstLine←v14936 ) = var←c61072;
                  };
SOURCE(39689, 27)
SOURCE(39032, 23)
               w←v14908 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(39718, 37)
               {
                  word var←c61232;
                  {
                     word var←c61264;
                     word d←v33968;
                     word s←v33996;
                     d←v33968 = (* (( (ptr) dstLine←v14936)+1) );
                     s←v33996 = w←v14908;
SOURCE(38081, 47)
                     {
                        word var←c61328;
                        {
                           word var←c61360;
                           var←c61360 = (word) XRM←BITNOT(s←v33996);
                           var←c61328 = (word) XRM←BITAND(rMask←v14852, var←c61360);
                           };
                        var←c61264 = (word) XRM←BITOR(d←v33968, var←c61328);
                        };
                     var←c61232 = var←c61264;
                     };
                  (* (( (ptr) dstLine←v14936)+1) ) = var←c61232;
                  };
SOURCE(39757, 19)
               if ((count←v14600 <= 1)) {
SOURCE(39776, 4)
                  goto lab←L100347;
                  };
SOURCE(39782, 17)
               count←v14600 = (count←v14600 - 1);
SOURCE(39801, 23)
               dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(39826, 23)
               srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
               goto lab←L100348;
               lab←L100347: ;
               break;
            case 3: 
SOURCE(39871, 297)
               lab←L100353: ;
SOURCE(39874, 13)
SOURCE(39089, 26)
               dstLine←v14936 = dstPtr←v14628;
SOURCE(39117, 26)
               srcLine←v14964 = srcPtr←v14684;
SOURCE(39889, 15)
SOURCE(38941, 23)
               w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(39906, 37)
               {
                  word var←c61392;
                  {
                     word var←c61424;
                     word d←v33892;
                     word s←v33920;
                     d←v33892 = (*  (ptr) dstLine←v14936 );
                     s←v33920 = w←v14908;
SOURCE(38081, 47)
                     {
                        word var←c61488;
                        {
                           word var←c61520;
                           var←c61520 = (word) XRM←BITNOT(s←v33920);
                           var←c61488 = (word) XRM←BITAND(lMask←v14824, var←c61520);
                           };
                        var←c61424 = (word) XRM←BITOR(d←v33892, var←c61488);
                        };
                     var←c61392 = var←c61424;
                     };
                  (*  (ptr) dstLine←v14936 ) = var←c61392;
                  };
SOURCE(39946, 15)
SOURCE(38941, 23)
               w←v14908 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(39963, 42)
               {
                  word var←c61552;
                  {
                     word var←c61584;
                     var←c61584 = (word) XRM←BITNOT(w←v14908);
                     var←c61552 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c61584);
                     };
                  (* (( (ptr) dstLine←v14936)+1) ) = var←c61552;
                  };
SOURCE(40008, 27)
SOURCE(39032, 23)
               w←v14908 = (* (( (ptr) srcLine←v14964)+2) );
SOURCE(40037, 37)
               {
                  word var←c61616;
                  {
                     word var←c61648;
                     word d←v33816;
                     word s←v33844;
                     d←v33816 = (* (( (ptr) dstLine←v14936)+2) );
                     s←v33844 = w←v14908;
SOURCE(38081, 47)
                     {
                        word var←c61712;
                        {
                           word var←c61744;
                           var←c61744 = (word) XRM←BITNOT(s←v33844);
                           var←c61712 = (word) XRM←BITAND(rMask←v14852, var←c61744);
                           };
                        var←c61648 = (word) XRM←BITOR(d←v33816, var←c61712);
                        };
                     var←c61616 = var←c61648;
                     };
                  (* (( (ptr) dstLine←v14936)+2) ) = var←c61616;
                  };
SOURCE(40076, 19)
               if ((count←v14600 <= 1)) {
SOURCE(40095, 4)
                  goto lab←L100352;
                  };
SOURCE(40101, 17)
               count←v14600 = (count←v14600 - 1);
SOURCE(40120, 23)
               dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(40145, 23)
               srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
               goto lab←L100353;
               lab←L100352: ;
               break;
            case 4: 
SOURCE(40190, 359)
               lab←L100358: ;
SOURCE(40193, 13)
SOURCE(39089, 26)
               dstLine←v14936 = dstPtr←v14628;
SOURCE(39117, 26)
               srcLine←v14964 = srcPtr←v14684;
SOURCE(40208, 15)
SOURCE(38941, 23)
               w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(40225, 37)
               {
                  word var←c61776;
                  {
                     word var←c61808;
                     word d←v33740;
                     word s←v33768;
                     d←v33740 = (*  (ptr) dstLine←v14936 );
                     s←v33768 = w←v14908;
SOURCE(38081, 47)
                     {
                        word var←c61872;
                        {
                           word var←c61904;
                           var←c61904 = (word) XRM←BITNOT(s←v33768);
                           var←c61872 = (word) XRM←BITAND(lMask←v14824, var←c61904);
                           };
                        var←c61808 = (word) XRM←BITOR(d←v33740, var←c61872);
                        };
                     var←c61776 = var←c61808;
                     };
                  (*  (ptr) dstLine←v14936 ) = var←c61776;
                  };
SOURCE(40265, 15)
SOURCE(38941, 23)
               w←v14908 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(40282, 42)
               {
                  word var←c61936;
                  {
                     word var←c61968;
                     var←c61968 = (word) XRM←BITNOT(w←v14908);
                     var←c61936 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c61968);
                     };
                  (* (( (ptr) dstLine←v14936)+1) ) = var←c61936;
                  };
SOURCE(40327, 15)
SOURCE(38941, 23)
               w←v14908 = (* (( (ptr) srcLine←v14964)+2) );
SOURCE(40344, 42)
               {
                  word var←c62000;
                  {
                     word var←c62032;
                     var←c62032 = (word) XRM←BITNOT(w←v14908);
                     var←c62000 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+2) ), var←c62032);
                     };
                  (* (( (ptr) dstLine←v14936)+2) ) = var←c62000;
                  };
SOURCE(40389, 27)
SOURCE(39032, 23)
               w←v14908 = (* (( (ptr) srcLine←v14964)+3) );
SOURCE(40418, 37)
               {
                  word var←c62064;
                  {
                     word var←c62096;
                     word d←v33664;
                     word s←v33692;
                     d←v33664 = (* (( (ptr) dstLine←v14936)+3) );
                     s←v33692 = w←v14908;
SOURCE(38081, 47)
                     {
                        word var←c62160;
                        {
                           word var←c62192;
                           var←c62192 = (word) XRM←BITNOT(s←v33692);
                           var←c62160 = (word) XRM←BITAND(rMask←v14852, var←c62192);
                           };
                        var←c62096 = (word) XRM←BITOR(d←v33664, var←c62160);
                        };
                     var←c62064 = var←c62096;
                     };
                  (* (( (ptr) dstLine←v14936)+3) ) = var←c62064;
                  };
SOURCE(40457, 19)
               if ((count←v14600 <= 1)) {
SOURCE(40476, 4)
                  goto lab←L100357;
                  };
SOURCE(40482, 17)
               count←v14600 = (count←v14600 - 1);
SOURCE(40501, 23)
               dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(40526, 23)
               srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
               goto lab←L100358;
               lab←L100357: ;
               break;
            default: 
SOURCE(40604, 1044)
               lab←L100363: ;
               {
                  word nw←v15492;
                  nw←v15492 = (ndw←v14796 - 2);
SOURCE(40649, 13)
SOURCE(39089, 26)
                  dstLine←v14936 = dstPtr←v14628;
SOURCE(39117, 26)
                  srcLine←v14964 = srcPtr←v14684;
SOURCE(40664, 15)
SOURCE(38941, 23)
                  w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(40681, 37)
                  {
                     word var←c62224;
                     {
                        word var←c62256;
                        word d←v33588;
                        word s←v33616;
                        d←v33588 = (*  (ptr) dstLine←v14936 );
                        s←v33616 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c62320;
                           {
/*1*/   word var←c62352;
/*1*/   var←c62352 = (word) XRM←BITNOT(s←v33616);
/*1*/   var←c62320 = (word) XRM←BITAND(lMask←v14824, var←c62352);
/*1*/   };
                           var←c62256 = (word) XRM←BITOR(d←v33588, var←c62320);
                           };
                        var←c62224 = var←c62256;
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c62224;
                     };
SOURCE(40720, 28)
                  dstLine←v14936 = (dstLine←v14936 + 4);
SOURCE(40750, 28)
                  srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(40780, 336)
                  lab←L100367: ;
                  if ((nw←v15492 >= 4)) {
                     }
                  else {
                     goto lab←L100365;
                     };
SOURCE(40797, 15)
SOURCE(38941, 23)
                  w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(40814, 42)
                  {
                     word var←c62384;
                     {
                        word var←c62416;
                        var←c62416 = (word) XRM←BITNOT(w←v14908);
                        var←c62384 = (word) XRM←BITOR((*  (ptr) dstLine←v14936 ), var←c62416);
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c62384;
                     };
SOURCE(40858, 15)
SOURCE(38941, 23)
                  w←v14908 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(40875, 42)
                  {
                     word var←c62448;
                     {
                        word var←c62480;
                        var←c62480 = (word) XRM←BITNOT(w←v14908);
                        var←c62448 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c62480);
                        };
                     (* (( (ptr) dstLine←v14936)+1) ) = var←c62448;
                     };
SOURCE(40919, 15)
SOURCE(38941, 23)
                  w←v14908 = (* (( (ptr) srcLine←v14964)+2) );
SOURCE(40936, 42)
                  {
                     word var←c62512;
                     {
                        word var←c62544;
                        var←c62544 = (word) XRM←BITNOT(w←v14908);
                        var←c62512 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+2) ), var←c62544);
                        };
                     (* (( (ptr) dstLine←v14936)+2) ) = var←c62512;
                     };
SOURCE(40980, 15)
SOURCE(38941, 23)
                  w←v14908 = (* (( (ptr) srcLine←v14964)+3) );
SOURCE(40997, 42)
                  {
                     word var←c62576;
                     {
                        word var←c62608;
                        var←c62608 = (word) XRM←BITNOT(w←v14908);
                        var←c62576 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+3) ), var←c62608);
                        };
                     (* (( (ptr) dstLine←v14936)+3) ) = var←c62576;
                     };
SOURCE(41041, 30)
                  dstLine←v14936 = (dstLine←v14936 + 16);
SOURCE(41073, 30)
                  srcLine←v14964 = (srcLine←v14964 + 16);
SOURCE(41105, 11)
                  nw←v15492 = (nw←v15492 - 4);
                  goto lab←L100367;
                  lab←L100365: ;
SOURCE(41127, 215)
                  if ((nw←v15492 >= 2)) {
SOURCE(41145, 15)
SOURCE(38941, 23)
                     w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(41162, 42)
                     {
                        word var←c62640;
                        {
                           word var←c62672;
                           var←c62672 = (word) XRM←BITNOT(w←v14908);
                           var←c62640 = (word) XRM←BITOR((*  (ptr) dstLine←v14936 ), var←c62672);
                           };
                        (*  (ptr) dstLine←v14936 ) = var←c62640;
                        };
SOURCE(41206, 15)
SOURCE(38941, 23)
                     w←v14908 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(41223, 42)
                     {
                        word var←c62704;
                        {
                           word var←c62736;
                           var←c62736 = (word) XRM←BITNOT(w←v14908);
                           var←c62704 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c62736);
                           };
                        (* (( (ptr) dstLine←v14936)+1) ) = var←c62704;
                        };
SOURCE(41267, 30)
                     dstLine←v14936 = (dstLine←v14936 + 8);
SOURCE(41299, 30)
                     srcLine←v14964 = (srcLine←v14964 + 8);
SOURCE(41331, 11)
                     nw←v15492 = (nw←v15492 - 2);
                     };
SOURCE(41347, 136)
                  if ((nw←v15492 == 1)) {
SOURCE(41364, 15)
SOURCE(38941, 23)
                     w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(41381, 42)
                     {
                        word var←c62768;
                        {
                           word var←c62800;
                           var←c62800 = (word) XRM←BITNOT(w←v14908);
                           var←c62768 = (word) XRM←BITOR((*  (ptr) dstLine←v14936 ), var←c62800);
                           };
                        (*  (ptr) dstLine←v14936 ) = var←c62768;
                        };
SOURCE(41425, 28)
                     dstLine←v14936 = (dstLine←v14936 + 4);
SOURCE(41455, 28)
                     srcLine←v14964 = (srcLine←v14964 + 4);
                     };
SOURCE(41488, 27)
SOURCE(39032, 23)
                  w←v14908 = (*  (ptr) srcLine←v14964 );
SOURCE(41517, 37)
                  {
                     word var←c62832;
                     {
                        word var←c62864;
                        word d←v33512;
                        word s←v33540;
                        d←v33512 = (*  (ptr) dstLine←v14936 );
                        s←v33540 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c62928;
                           {
/*1*/   word var←c62960;
/*1*/   var←c62960 = (word) XRM←BITNOT(s←v33540);
/*1*/   var←c62928 = (word) XRM←BITAND(rMask←v14852, var←c62960);
/*1*/   };
                           var←c62864 = (word) XRM←BITOR(d←v33512, var←c62928);
                           };
                        var←c62832 = var←c62864;
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c62832;
                     };
SOURCE(41556, 19)
                  if ((count←v14600 <= 1)) {
SOURCE(41575, 4)
                     goto lab←L100362;
                     };
SOURCE(41581, 17)
                  count←v14600 = (count←v14600 - 1);
SOURCE(41600, 23)
                  dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(41625, 23)
                  srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                  };
               goto lab←L100363;
               lab←L100362: ;
               break;
            };
         };
      }
   else {
SOURCE(45011, 9)
      {
         word hi←v15520;
         word lo←v15548 = 0;
         word rSA←v15576;
         word nsw←v15604;
         word fetchLastWord←v15632;
         rSA←v15576 = (32 - lSA←v14880);
         {
            word bits←v21104;
            bits←v21104 = (srcBit←v14712 + (* (( (ptr) formal←c76336)+6) ));
SOURCE(512, 36)
            nsw←v15604 = ((bits←v21104 + 31) >> 5);
            };
         fetchLastWord←v15632 =  ( (srcBit←v14712 >= dstBit←v14656) ? (nsw←v15604 > ndw←v14796) : (nsw←v15604 >= ndw←v14796) ) ;
SOURCE(42458, 2499)
         {
            word var←c63024;
            var←c63024 = ndw←v14796;
            switch (var←c63024) {
               case 1: 
                  {
                     word bothMask←v15952;
                     bothMask←v15952 = (word) XRM←BITAND(lMask←v14824, rMask←v14852);
SOURCE(42520, 382)
                     if ((0 != fetchLastWord←v15632)) {
SOURCE(42542, 172)
                        lab←L100372: ;
SOURCE(42545, 13)
SOURCE(42360, 26)
                        dstLine←v14936 = dstPtr←v14628;
SOURCE(42388, 26)
                        srcLine←v14964 = srcPtr←v14684;
SOURCE(42416, 36)
                        if ((srcBit←v14712 >= dstBit←v14656)) {
SOURCE(42441, 11)
SOURCE(41948, 7)
                           hi←v15520 = lo←v15548;
SOURCE(41957, 15)
                           lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(41974, 28)
                           srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(42004, 42)
                           w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
                           };
SOURCE(42560, 18)
SOURCE(42245, 22)
                        w←v14908 = (word) XRM←BITLSHIFT(lo←v15548, lSA←v14880);
SOURCE(42283, 43)
                        w←v14908 = (w←v14908 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v14964 ), rSA←v15576));
SOURCE(42580, 40)
                        {
                           word var←c63056;
                           {
/*1*/   word var←c63088;
/*1*/   word d←v33436;
/*1*/   word s←v33464;
/*1*/   d←v33436 = (*  (ptr) dstLine←v14936 );
/*1*/   s←v33464 = w←v14908;
SOURCE(38081, 47)
/*1*/   {
/*1*/      word var←c63152;
/*1*/      {
/*1*/         word var←c63184;
/*1*/         var←c63184 = (word) XRM←BITNOT(s←v33464);
/*1*/         var←c63152 = (word) XRM←BITAND(bothMask←v15952, var←c63184);
/*1*/         };
/*1*/      var←c63088 = (word) XRM←BITOR(d←v33436, var←c63152);
/*1*/      };
/*1*/   var←c63056 = var←c63088;
/*1*/   };
                           (*  (ptr) dstLine←v14936 ) = var←c63056;
                           };
SOURCE(42622, 19)
                        if ((count←v14600 <= 1)) {
SOURCE(42641, 4)
                           goto lab←L100371;
                           };
SOURCE(42647, 17)
                        count←v14600 = (count←v14600 - 1);
SOURCE(42666, 23)
                        dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(42691, 23)
                        srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                        goto lab←L100372;
                        lab←L100371: ;
                        }
                     else {
SOURCE(42729, 173)
                        lab←L100376: ;
SOURCE(42732, 13)
SOURCE(42360, 26)
                        dstLine←v14936 = dstPtr←v14628;
SOURCE(42388, 26)
                        srcLine←v14964 = srcPtr←v14684;
SOURCE(42416, 36)
                        if ((srcBit←v14712 >= dstBit←v14656)) {
SOURCE(42441, 11)
SOURCE(41948, 7)
                           hi←v15520 = lo←v15548;
SOURCE(41957, 15)
                           lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(41974, 28)
                           srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(42004, 42)
                           w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
                           };
SOURCE(42747, 19)
SOURCE(42245, 22)
                        w←v14908 = (word) XRM←BITLSHIFT(lo←v15548, lSA←v14880);
SOURCE(42768, 40)
                        {
                           word var←c63216;
                           {
/*1*/   word var←c63248;
/*1*/   word d←v33360;
/*1*/   word s←v33388;
/*1*/   d←v33360 = (*  (ptr) dstLine←v14936 );
/*1*/   s←v33388 = w←v14908;
SOURCE(38081, 47)
/*1*/   {
/*1*/      word var←c63312;
/*1*/      {
/*1*/         word var←c63344;
/*1*/         var←c63344 = (word) XRM←BITNOT(s←v33388);
/*1*/         var←c63312 = (word) XRM←BITAND(bothMask←v15952, var←c63344);
/*1*/         };
/*1*/      var←c63248 = (word) XRM←BITOR(d←v33360, var←c63312);
/*1*/      };
/*1*/   var←c63216 = var←c63248;
/*1*/   };
                           (*  (ptr) dstLine←v14936 ) = var←c63216;
                           };
SOURCE(42810, 19)
                        if ((count←v14600 <= 1)) {
SOURCE(42829, 4)
                           goto lab←L100375;
                           };
SOURCE(42835, 17)
                        count←v14600 = (count←v14600 - 1);
SOURCE(42854, 23)
                        dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(42879, 23)
                        srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                        goto lab←L100376;
                        lab←L100375: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(42923, 235)
                  lab←L100380: ;
SOURCE(42926, 13)
SOURCE(42360, 26)
                  dstLine←v14936 = dstPtr←v14628;
SOURCE(42388, 26)
                  srcLine←v14964 = srcPtr←v14684;
SOURCE(42416, 36)
                  if ((srcBit←v14712 >= dstBit←v14656)) {
SOURCE(42441, 11)
SOURCE(41948, 7)
                     hi←v15520 = lo←v15548;
SOURCE(41957, 15)
                     lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(41974, 28)
                     srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(42004, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
                     };
SOURCE(42941, 15)
SOURCE(42102, 7)
                  hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                  lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                  w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(42958, 37)
                  {
                     word var←c63376;
                     {
                        word var←c63408;
                        word d←v33284;
                        word s←v33312;
                        d←v33284 = (*  (ptr) dstLine←v14936 );
                        s←v33312 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c63472;
                           {
/*1*/   word var←c63504;
/*1*/   var←c63504 = (word) XRM←BITNOT(s←v33312);
/*1*/   var←c63472 = (word) XRM←BITAND(lMask←v14824, var←c63504);
/*1*/   };
                           var←c63408 = (word) XRM←BITOR(d←v33284, var←c63472);
                           };
                        var←c63376 = var←c63408;
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c63376;
                     };
SOURCE(42998, 27)
SOURCE(42245, 22)
                  w←v14908 = (word) XRM←BITLSHIFT(lo←v15548, lSA←v14880);
SOURCE(42269, 57)
                  if ((0 != fetchLastWord←v15632)) {
SOURCE(42283, 43)
                     w←v14908 = (w←v14908 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v14964)+1) ), rSA←v15576));
                     };
SOURCE(43027, 37)
                  {
                     word var←c63536;
                     {
                        word var←c63568;
                        word d←v33208;
                        word s←v33236;
                        d←v33208 = (* (( (ptr) dstLine←v14936)+1) );
                        s←v33236 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c63632;
                           {
/*1*/   word var←c63664;
/*1*/   var←c63664 = (word) XRM←BITNOT(s←v33236);
/*1*/   var←c63632 = (word) XRM←BITAND(rMask←v14852, var←c63664);
/*1*/   };
                           var←c63568 = (word) XRM←BITOR(d←v33208, var←c63632);
                           };
                        var←c63536 = var←c63568;
                        };
                     (* (( (ptr) dstLine←v14936)+1) ) = var←c63536;
                     };
SOURCE(43066, 19)
                  if ((count←v14600 <= 1)) {
SOURCE(43085, 4)
                     goto lab←L100379;
                     };
SOURCE(43091, 17)
                  count←v14600 = (count←v14600 - 1);
SOURCE(43110, 23)
                  dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(43135, 23)
                  srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                  goto lab←L100380;
                  lab←L100379: ;
                  break;
               case 3: 
SOURCE(43180, 297)
                  lab←L100385: ;
SOURCE(43183, 13)
SOURCE(42360, 26)
                  dstLine←v14936 = dstPtr←v14628;
SOURCE(42388, 26)
                  srcLine←v14964 = srcPtr←v14684;
SOURCE(42416, 36)
                  if ((srcBit←v14712 >= dstBit←v14656)) {
SOURCE(42441, 11)
SOURCE(41948, 7)
                     hi←v15520 = lo←v15548;
SOURCE(41957, 15)
                     lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(41974, 28)
                     srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(42004, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
                     };
SOURCE(43198, 15)
SOURCE(42102, 7)
                  hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                  lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                  w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(43215, 37)
                  {
                     word var←c63696;
                     {
                        word var←c63728;
                        word d←v33132;
                        word s←v33160;
                        d←v33132 = (*  (ptr) dstLine←v14936 );
                        s←v33160 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c63792;
                           {
/*1*/   word var←c63824;
/*1*/   var←c63824 = (word) XRM←BITNOT(s←v33160);
/*1*/   var←c63792 = (word) XRM←BITAND(lMask←v14824, var←c63824);
/*1*/   };
                           var←c63728 = (word) XRM←BITOR(d←v33132, var←c63792);
                           };
                        var←c63696 = var←c63728;
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c63696;
                     };
SOURCE(43255, 15)
SOURCE(42102, 7)
                  hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                  lo←v15548 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(42137, 42)
                  w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(43272, 42)
                  {
                     word var←c63856;
                     {
                        word var←c63888;
                        var←c63888 = (word) XRM←BITNOT(w←v14908);
                        var←c63856 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c63888);
                        };
                     (* (( (ptr) dstLine←v14936)+1) ) = var←c63856;
                     };
SOURCE(43317, 27)
SOURCE(42245, 22)
                  w←v14908 = (word) XRM←BITLSHIFT(lo←v15548, lSA←v14880);
SOURCE(42269, 57)
                  if ((0 != fetchLastWord←v15632)) {
SOURCE(42283, 43)
                     w←v14908 = (w←v14908 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v14964)+2) ), rSA←v15576));
                     };
SOURCE(43346, 37)
                  {
                     word var←c63920;
                     {
                        word var←c63952;
                        word d←v33056;
                        word s←v33084;
                        d←v33056 = (* (( (ptr) dstLine←v14936)+2) );
                        s←v33084 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c64016;
                           {
/*1*/   word var←c64048;
/*1*/   var←c64048 = (word) XRM←BITNOT(s←v33084);
/*1*/   var←c64016 = (word) XRM←BITAND(rMask←v14852, var←c64048);
/*1*/   };
                           var←c63952 = (word) XRM←BITOR(d←v33056, var←c64016);
                           };
                        var←c63920 = var←c63952;
                        };
                     (* (( (ptr) dstLine←v14936)+2) ) = var←c63920;
                     };
SOURCE(43385, 19)
                  if ((count←v14600 <= 1)) {
SOURCE(43404, 4)
                     goto lab←L100384;
                     };
SOURCE(43410, 17)
                  count←v14600 = (count←v14600 - 1);
SOURCE(43429, 23)
                  dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(43454, 23)
                  srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                  goto lab←L100385;
                  lab←L100384: ;
                  break;
               case 4: 
SOURCE(43499, 359)
                  lab←L100390: ;
SOURCE(43502, 13)
SOURCE(42360, 26)
                  dstLine←v14936 = dstPtr←v14628;
SOURCE(42388, 26)
                  srcLine←v14964 = srcPtr←v14684;
SOURCE(42416, 36)
                  if ((srcBit←v14712 >= dstBit←v14656)) {
SOURCE(42441, 11)
SOURCE(41948, 7)
                     hi←v15520 = lo←v15548;
SOURCE(41957, 15)
                     lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(41974, 28)
                     srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(42004, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
                     };
SOURCE(43517, 15)
SOURCE(42102, 7)
                  hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                  lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                  w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(43534, 37)
                  {
                     word var←c64080;
                     {
                        word var←c64112;
                        word d←v32980;
                        word s←v33008;
                        d←v32980 = (*  (ptr) dstLine←v14936 );
                        s←v33008 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c64176;
                           {
/*1*/   word var←c64208;
/*1*/   var←c64208 = (word) XRM←BITNOT(s←v33008);
/*1*/   var←c64176 = (word) XRM←BITAND(lMask←v14824, var←c64208);
/*1*/   };
                           var←c64112 = (word) XRM←BITOR(d←v32980, var←c64176);
                           };
                        var←c64080 = var←c64112;
                        };
                     (*  (ptr) dstLine←v14936 ) = var←c64080;
                     };
SOURCE(43574, 15)
SOURCE(42102, 7)
                  hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                  lo←v15548 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(42137, 42)
                  w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(43591, 42)
                  {
                     word var←c64240;
                     {
                        word var←c64272;
                        var←c64272 = (word) XRM←BITNOT(w←v14908);
                        var←c64240 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c64272);
                        };
                     (* (( (ptr) dstLine←v14936)+1) ) = var←c64240;
                     };
SOURCE(43636, 15)
SOURCE(42102, 7)
                  hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                  lo←v15548 = (* (( (ptr) srcLine←v14964)+2) );
SOURCE(42137, 42)
                  w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(43653, 42)
                  {
                     word var←c64304;
                     {
                        word var←c64336;
                        var←c64336 = (word) XRM←BITNOT(w←v14908);
                        var←c64304 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+2) ), var←c64336);
                        };
                     (* (( (ptr) dstLine←v14936)+2) ) = var←c64304;
                     };
SOURCE(43698, 27)
SOURCE(42245, 22)
                  w←v14908 = (word) XRM←BITLSHIFT(lo←v15548, lSA←v14880);
SOURCE(42269, 57)
                  if ((0 != fetchLastWord←v15632)) {
SOURCE(42283, 43)
                     w←v14908 = (w←v14908 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v14964)+3) ), rSA←v15576));
                     };
SOURCE(43727, 37)
                  {
                     word var←c64368;
                     {
                        word var←c64400;
                        word d←v32904;
                        word s←v32932;
                        d←v32904 = (* (( (ptr) dstLine←v14936)+3) );
                        s←v32932 = w←v14908;
SOURCE(38081, 47)
                        {
                           word var←c64464;
                           {
/*1*/   word var←c64496;
/*1*/   var←c64496 = (word) XRM←BITNOT(s←v32932);
/*1*/   var←c64464 = (word) XRM←BITAND(rMask←v14852, var←c64496);
/*1*/   };
                           var←c64400 = (word) XRM←BITOR(d←v32904, var←c64464);
                           };
                        var←c64368 = var←c64400;
                        };
                     (* (( (ptr) dstLine←v14936)+3) ) = var←c64368;
                     };
SOURCE(43766, 19)
                  if ((count←v14600 <= 1)) {
SOURCE(43785, 4)
                     goto lab←L100389;
                     };
SOURCE(43791, 17)
                  count←v14600 = (count←v14600 - 1);
SOURCE(43810, 23)
                  dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(43835, 23)
                  srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                  goto lab←L100390;
                  lab←L100389: ;
                  break;
               default: 
SOURCE(43913, 1044)
                  lab←L100395: ;
                  {
                     word nw←v16028;
                     nw←v16028 = (ndw←v14796 - 2);
SOURCE(43958, 13)
SOURCE(42360, 26)
                     dstLine←v14936 = dstPtr←v14628;
SOURCE(42388, 26)
                     srcLine←v14964 = srcPtr←v14684;
SOURCE(42416, 36)
                     if ((srcBit←v14712 >= dstBit←v14656)) {
SOURCE(42441, 11)
SOURCE(41948, 7)
                        hi←v15520 = lo←v15548;
SOURCE(41957, 15)
                        lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(41974, 28)
                        srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(42004, 42)
                        w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
                        };
SOURCE(43973, 15)
SOURCE(42102, 7)
                     hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                     lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(43990, 37)
                     {
                        word var←c64528;
                        {
                           word var←c64560;
                           word d←v32828;
                           word s←v32856;
                           d←v32828 = (*  (ptr) dstLine←v14936 );
                           s←v32856 = w←v14908;
SOURCE(38081, 47)
                           {
/*1*/   word var←c64624;
/*1*/   {
/*1*/      word var←c64656;
/*1*/      var←c64656 = (word) XRM←BITNOT(s←v32856);
/*1*/      var←c64624 = (word) XRM←BITAND(lMask←v14824, var←c64656);
/*1*/      };
/*1*/   var←c64560 = (word) XRM←BITOR(d←v32828, var←c64624);
/*1*/   };
                           var←c64528 = var←c64560;
                           };
                        (*  (ptr) dstLine←v14936 ) = var←c64528;
                        };
SOURCE(44029, 28)
                     dstLine←v14936 = (dstLine←v14936 + 4);
SOURCE(44059, 28)
                     srcLine←v14964 = (srcLine←v14964 + 4);
SOURCE(44089, 336)
                     lab←L100399: ;
                     if ((nw←v16028 >= 4)) {
                        }
                     else {
                        goto lab←L100397;
                        };
SOURCE(44106, 15)
SOURCE(42102, 7)
                     hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                     lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44123, 42)
                     {
                        word var←c64688;
                        {
                           word var←c64720;
                           var←c64720 = (word) XRM←BITNOT(w←v14908);
                           var←c64688 = (word) XRM←BITOR((*  (ptr) dstLine←v14936 ), var←c64720);
                           };
                        (*  (ptr) dstLine←v14936 ) = var←c64688;
                        };
SOURCE(44167, 15)
SOURCE(42102, 7)
                     hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                     lo←v15548 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(42137, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44184, 42)
                     {
                        word var←c64752;
                        {
                           word var←c64784;
                           var←c64784 = (word) XRM←BITNOT(w←v14908);
                           var←c64752 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c64784);
                           };
                        (* (( (ptr) dstLine←v14936)+1) ) = var←c64752;
                        };
SOURCE(44228, 15)
SOURCE(42102, 7)
                     hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                     lo←v15548 = (* (( (ptr) srcLine←v14964)+2) );
SOURCE(42137, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44245, 42)
                     {
                        word var←c64816;
                        {
                           word var←c64848;
                           var←c64848 = (word) XRM←BITNOT(w←v14908);
                           var←c64816 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+2) ), var←c64848);
                           };
                        (* (( (ptr) dstLine←v14936)+2) ) = var←c64816;
                        };
SOURCE(44289, 15)
SOURCE(42102, 7)
                     hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                     lo←v15548 = (* (( (ptr) srcLine←v14964)+3) );
SOURCE(42137, 42)
                     w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44306, 42)
                     {
                        word var←c64880;
                        {
                           word var←c64912;
                           var←c64912 = (word) XRM←BITNOT(w←v14908);
                           var←c64880 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+3) ), var←c64912);
                           };
                        (* (( (ptr) dstLine←v14936)+3) ) = var←c64880;
                        };
SOURCE(44350, 30)
                     dstLine←v14936 = (dstLine←v14936 + 16);
SOURCE(44382, 30)
                     srcLine←v14964 = (srcLine←v14964 + 16);
SOURCE(44414, 11)
                     nw←v16028 = (nw←v16028 - 4);
                     goto lab←L100399;
                     lab←L100397: ;
SOURCE(44436, 215)
                     if ((nw←v16028 >= 2)) {
SOURCE(44454, 15)
SOURCE(42102, 7)
                        hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                        lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                        w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44471, 42)
                        {
                           word var←c64944;
                           {
/*1*/   word var←c64976;
/*1*/   var←c64976 = (word) XRM←BITNOT(w←v14908);
/*1*/   var←c64944 = (word) XRM←BITOR((*  (ptr) dstLine←v14936 ), var←c64976);
/*1*/   };
                           (*  (ptr) dstLine←v14936 ) = var←c64944;
                           };
SOURCE(44515, 15)
SOURCE(42102, 7)
                        hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                        lo←v15548 = (* (( (ptr) srcLine←v14964)+1) );
SOURCE(42137, 42)
                        w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44532, 42)
                        {
                           word var←c65008;
                           {
/*1*/   word var←c65040;
/*1*/   var←c65040 = (word) XRM←BITNOT(w←v14908);
/*1*/   var←c65008 = (word) XRM←BITOR((* (( (ptr) dstLine←v14936)+1) ), var←c65040);
/*1*/   };
                           (* (( (ptr) dstLine←v14936)+1) ) = var←c65008;
                           };
SOURCE(44576, 30)
                        dstLine←v14936 = (dstLine←v14936 + 8);
SOURCE(44608, 30)
                        srcLine←v14964 = (srcLine←v14964 + 8);
SOURCE(44640, 11)
                        nw←v16028 = (nw←v16028 - 2);
                        };
SOURCE(44656, 136)
                     if ((nw←v16028 == 1)) {
SOURCE(44673, 15)
SOURCE(42102, 7)
                        hi←v15520 = lo←v15548;
SOURCE(42111, 24)
                        lo←v15548 = (*  (ptr) srcLine←v14964 );
SOURCE(42137, 42)
                        w←v14908 = ((word) XRM←BITLSHIFT(hi←v15520, lSA←v14880) + (word) XRM←BITRSHIFT(lo←v15548, rSA←v15576));
SOURCE(44690, 42)
                        {
                           word var←c65072;
                           {
/*1*/   word var←c65104;
/*1*/   var←c65104 = (word) XRM←BITNOT(w←v14908);
/*1*/   var←c65072 = (word) XRM←BITOR((*  (ptr) dstLine←v14936 ), var←c65104);
/*1*/   };
                           (*  (ptr) dstLine←v14936 ) = var←c65072;
                           };
SOURCE(44734, 28)
                        dstLine←v14936 = (dstLine←v14936 + 4);
SOURCE(44764, 28)
                        srcLine←v14964 = (srcLine←v14964 + 4);
                        };
SOURCE(44797, 27)
SOURCE(42245, 22)
                     w←v14908 = (word) XRM←BITLSHIFT(lo←v15548, lSA←v14880);
SOURCE(42269, 57)
                     if ((0 != fetchLastWord←v15632)) {
SOURCE(42283, 43)
                        w←v14908 = (w←v14908 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v14964 ), rSA←v15576));
                        };
SOURCE(44826, 37)
                     {
                        word var←c65136;
                        {
                           word var←c65168;
                           word d←v32752;
                           word s←v32780;
                           d←v32752 = (*  (ptr) dstLine←v14936 );
                           s←v32780 = w←v14908;
SOURCE(38081, 47)
                           {
/*1*/   word var←c65232;
/*1*/   {
/*1*/      word var←c65264;
/*1*/      var←c65264 = (word) XRM←BITNOT(s←v32780);
/*1*/      var←c65232 = (word) XRM←BITAND(rMask←v14852, var←c65264);
/*1*/      };
/*1*/   var←c65168 = (word) XRM←BITOR(d←v32752, var←c65232);
/*1*/   };
                           var←c65136 = var←c65168;
                           };
                        (*  (ptr) dstLine←v14936 ) = var←c65136;
                        };
SOURCE(44865, 19)
                     if ((count←v14600 <= 1)) {
SOURCE(44884, 4)
                        goto lab←L100394;
                        };
SOURCE(44890, 17)
                     count←v14600 = (count←v14600 - 1);
SOURCE(44909, 23)
                     dstPtr←v14628 = (dstPtr←v14628 + dRast←v14740);
SOURCE(44934, 23)
                     srcPtr←v14684 = (srcPtr←v14684 + sRast←v14768);
                     };
                  goto lab←L100395;
                  lab←L100394: ;
                  break;
               };
            };
         };
      };
   }

static void Forward6←P720(dst←v5048, src←v5076, formal←c01612, formal←c01613, sSize←v5160, formal←c01614)
   W2 dst←v5048;
   W2 src←v5076;
   word formal←c01612;
   word formal←c01613;
   word sSize←v5160;
   word formal←c01614;
   {
   W9 var←c76368;
   /* declaration of dstBpl←v5104 skipped */ 
   /* declaration of srcBpl←v5132 skipped */ 
   /* declaration of fSize←v5188 skipped */ 
   /* declaration of var←c65296 skipped */ 
   (* (( (ptr) &var←c76368)+4)/* dstBpl←v5104 */  ) = formal←c01612;
   (* (( (ptr) &var←c76368)+5)/* srcBpl←v5132 */  ) = formal←c01613;
   (* (( (ptr) &var←c76368)+6)/* fSize←v5188 */  ) = formal←c01614;
   /* Forward6: */ 
SOURCE(45517, 7439)
   {
      word tmpAddr9;
      tmpAddr9 = (word) (( (ptr) &var←c76368)+7)/* var←c65296 */ ;
      (*  (ptr) tmpAddr9 ) = ( ((word)  (fPt) DoUniformLines←P6996) );
      (* (( (ptr) tmpAddr9) + 1) ) = 1;
      };
SOURCE(52486, 470)
   if (((word) XRM←BITOR(sSize←v5160, (* (( (ptr) &var←c76368)+6)/* fSize←v5188 */  )) != 0)) {
SOURCE(52520, 436)
      if ( ( (((* (( (ptr) &var←c76368)+4)/* dstBpl←v5104 */  ) & 037) == 0) ? (((* (( (ptr) &var←c76368)+5)/* srcBpl←v5132 */  ) & 037) == 0) : 0 ) ) {
SOURCE(52572, 59)
         (void) DoUniformLines←P6996(sSize←v5160, dst←v5048.f0, dst←v5048.f1, src←v5076.f0, src←v5076.f1, (word) (( (bPt) &var←c76368)+28)
            /* var←c65296 */ );
         }
      else {
SOURCE(52642, 314)
         lab←L100403: ;
SOURCE(52645, 55)
         (void) DoUniformLines←P6996(1, dst←v5048.f0, dst←v5048.f1, src←v5076.f0, src←v5076.f1, (word) (( (bPt) &var←c76368)+28)/* var←c65296 */ )
         ;
SOURCE(52702, 32)
         sSize←v5160 = (sSize←v5160 - 1);
         if ((sSize←v5160 == 0)) {
SOURCE(52734, 4)
            goto lab←L100402;
            };
SOURCE(52740, 61)
         {
            word var←c65328;
            word bits←v21824;
            bits←v21824 = (dst←v5048.f1 + (* (( (ptr) &var←c76368)+4)/* dstBpl←v5104 */  ));
SOURCE(627, 52)
            var←c65328 = ((bits←v21824 >> 5) << 2);
            dst←v5048.f0 = (dst←v5048.f0 + var←c65328);
            };
SOURCE(52803, 44)
         dst←v5048.f1 = ((dst←v5048.f1 + (* (( (ptr) &var←c76368)+4)/* dstBpl←v5104 */  )) & 037);
SOURCE(52849, 61)
         {
            word var←c65360;
            word bits←v21776;
            bits←v21776 = (src←v5076.f1 + (* (( (ptr) &var←c76368)+5)/* srcBpl←v5132 */  ));
SOURCE(627, 52)
            var←c65360 = ((bits←v21776 >> 5) << 2);
            src←v5076.f0 = (src←v5076.f0 + var←c65360);
            };
SOURCE(52912, 44)
         src←v5076.f1 = ((src←v5076.f1 + (* (( (ptr) &var←c76368)+5)/* srcBpl←v5132 */  )) & 037);
         goto lab←L100403;
         lab←L100402: ;
         };
      };
   }

static void DoUniformLines←P6996(count←v16320, dstPtr←v16348, dstBit←v16376, srcPtr←v16404, srcBit←v16432, formal←c76432)
   word count←v16320;
   word dstPtr←v16348;
   word dstBit←v16376;
   word srcPtr←v16404;
   word srcBit←v16432;
   word formal←c76432;
   {
   register ptr gf←c76400 =  (ptr) &globalframe;
   word dRast←v16460;
   word sRast←v16488;
   word ndw←v16516;
   word lMask←v16544;
   word rMask←v16572;
   word lSA←v16600;
   word w←v16628 = 0;
   word dstLine←v16656 = 0;
   word srcLine←v16684 = 0;
   formal←c76432 = (formal←c76432 - 28);
   /* DoUniformLines: */ 
SOURCE(45731, 6749)
SOURCE(45840, 43)
   dRast←v16460 = (((* (( (ptr) formal←c76432)+4) ) >> 5) << 2);
SOURCE(45885, 43)
   sRast←v16488 = (((* (( (ptr) formal←c76432)+5) ) >> 5) << 2);
SOURCE(45930, 44)
   {
      word bits←v21056;
      bits←v21056 = (dstBit←v16376 + (* (( (ptr) formal←c76432)+6) ));
SOURCE(512, 36)
      ndw←v16516 = ((bits←v21056 + 31) >> 5);
      };
SOURCE(45976, 44)
   lMask←v16544 = (* ((( (ptr) gf←c76400)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v16376)) );
SOURCE(46022, 82)
   {
      word n←v22496;
      n←v22496 = (((32 - dstBit←v16376) - (* (( (ptr) formal←c76432)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v16572 = (word) XRM←BITNOT((* (((( (ptr) gf←c76400)+4)/* rightJustifiedOnes←v2832 */ +n←v22496)) ));
      };
SOURCE(46106, 58)
   lSA←v16600 = ((srcBit←v16432 - dstBit←v16376) & 037);
SOURCE(52435, 45)
   if ((lSA←v16600 == 0)) {
SOURCE(52453, 9)
SOURCE(46749, 2429)
      {
         word var←c65488;
         var←c65488 = ndw←v16516;
         switch (var←c65488) {
            case 1: 
               {
                  word bothMask←v17136;
                  bothMask←v17136 = (word) XRM←BITAND(lMask←v16544, rMask←v16572);
SOURCE(46833, 172)
                  lab←L100410: ;
SOURCE(46836, 13)
SOURCE(46689, 26)
                  dstLine←v16656 = dstPtr←v16348;
SOURCE(46717, 26)
                  srcLine←v16684 = srcPtr←v16404;
SOURCE(46851, 18)
SOURCE(46632, 23)
                  w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(46871, 40)
                  {
                     word var←c65520;
                     {
                        word var←c65552;
                        word d←v36180;
                        word s←v36208;
                        d←v36180 = (*  (ptr) dstLine←v16656 );
                        s←v36208 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c65616;
                           {
/*1*/   word var←c65648;
/*1*/   {
/*1*/      word var←c65680;
/*1*/      var←c65680 = (word) XRM←BITXOR(d←v36180, s←v36208);
/*1*/      var←c65648 = (word) XRM←BITXOR(var←c65680, d←v36180);
/*1*/      };
/*1*/   var←c65616 = (word) XRM←BITAND(var←c65648, bothMask←v17136);
/*1*/   };
                           var←c65552 = (word) XRM←BITXOR(var←c65616, d←v36180);
                           };
                        var←c65520 = var←c65552;
                        };
                     (*  (ptr) dstLine←v16656 ) = var←c65520;
                     };
SOURCE(46913, 19)
                  if ((count←v16320 <= 1)) {
SOURCE(46932, 4)
                     goto lab←L100409;
                     };
SOURCE(46938, 17)
                  count←v16320 = (count←v16320 - 1);
SOURCE(46957, 23)
                  dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(46982, 23)
                  srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                  goto lab←L100410;
                  lab←L100409: ;
                  };
               break;
            case 2: 
SOURCE(47214, 235)
               lab←L100414: ;
SOURCE(47217, 13)
SOURCE(46689, 26)
               dstLine←v16656 = dstPtr←v16348;
SOURCE(46717, 26)
               srcLine←v16684 = srcPtr←v16404;
SOURCE(47232, 15)
SOURCE(46541, 23)
               w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(47249, 37)
               {
                  word var←c65712;
                  {
                     word var←c65744;
                     word d←v36028;
                     word s←v36056;
                     d←v36028 = (*  (ptr) dstLine←v16656 );
                     s←v36056 = w←v16628;
SOURCE(45665, 63)
                     {
                        word var←c65808;
                        {
                           word var←c65840;
                           {
/*1*/   word var←c65872;
/*1*/   var←c65872 = (word) XRM←BITXOR(d←v36028, s←v36056);
/*1*/   var←c65840 = (word) XRM←BITXOR(var←c65872, d←v36028);
/*1*/   };
                           var←c65808 = (word) XRM←BITAND(var←c65840, lMask←v16544);
                           };
                        var←c65744 = (word) XRM←BITXOR(var←c65808, d←v36028);
                        };
                     var←c65712 = var←c65744;
                     };
                  (*  (ptr) dstLine←v16656 ) = var←c65712;
                  };
SOURCE(47289, 27)
SOURCE(46632, 23)
               w←v16628 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(47318, 37)
               {
                  word var←c65904;
                  {
                     word var←c65936;
                     word d←v35952;
                     word s←v35980;
                     d←v35952 = (* (( (ptr) dstLine←v16656)+1) );
                     s←v35980 = w←v16628;
SOURCE(45665, 63)
                     {
                        word var←c66000;
                        {
                           word var←c66032;
                           {
/*1*/   word var←c66064;
/*1*/   var←c66064 = (word) XRM←BITXOR(d←v35952, s←v35980);
/*1*/   var←c66032 = (word) XRM←BITXOR(var←c66064, d←v35952);
/*1*/   };
                           var←c66000 = (word) XRM←BITAND(var←c66032, rMask←v16572);
                           };
                        var←c65936 = (word) XRM←BITXOR(var←c66000, d←v35952);
                        };
                     var←c65904 = var←c65936;
                     };
                  (* (( (ptr) dstLine←v16656)+1) ) = var←c65904;
                  };
SOURCE(47357, 19)
               if ((count←v16320 <= 1)) {
SOURCE(47376, 4)
                  goto lab←L100413;
                  };
SOURCE(47382, 17)
               count←v16320 = (count←v16320 - 1);
SOURCE(47401, 23)
               dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(47426, 23)
               srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
               goto lab←L100414;
               lab←L100413: ;
               break;
            case 3: 
SOURCE(47471, 290)
               lab←L100419: ;
SOURCE(47474, 13)
SOURCE(46689, 26)
               dstLine←v16656 = dstPtr←v16348;
SOURCE(46717, 26)
               srcLine←v16684 = srcPtr←v16404;
SOURCE(47489, 15)
SOURCE(46541, 23)
               w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(47506, 37)
               {
                  word var←c66096;
                  {
                     word var←c66128;
                     word d←v35876;
                     word s←v35904;
                     d←v35876 = (*  (ptr) dstLine←v16656 );
                     s←v35904 = w←v16628;
SOURCE(45665, 63)
                     {
                        word var←c66192;
                        {
                           word var←c66224;
                           {
/*1*/   word var←c66256;
/*1*/   var←c66256 = (word) XRM←BITXOR(d←v35876, s←v35904);
/*1*/   var←c66224 = (word) XRM←BITXOR(var←c66256, d←v35876);
/*1*/   };
                           var←c66192 = (word) XRM←BITAND(var←c66224, lMask←v16544);
                           };
                        var←c66128 = (word) XRM←BITXOR(var←c66192, d←v35876);
                        };
                     var←c66096 = var←c66128;
                     };
                  (*  (ptr) dstLine←v16656 ) = var←c66096;
                  };
SOURCE(47546, 15)
SOURCE(46541, 23)
               w←v16628 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(47563, 35)
               {
                  word var←c66288;
                  var←c66288 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                  (* (( (ptr) dstLine←v16656)+1) ) = var←c66288;
                  };
SOURCE(47601, 27)
SOURCE(46632, 23)
               w←v16628 = (* (( (ptr) srcLine←v16684)+2) );
SOURCE(47630, 37)
               {
                  word var←c66320;
                  {
                     word var←c66352;
                     word d←v35800;
                     word s←v35828;
                     d←v35800 = (* (( (ptr) dstLine←v16656)+2) );
                     s←v35828 = w←v16628;
SOURCE(45665, 63)
                     {
                        word var←c66416;
                        {
                           word var←c66448;
                           {
/*1*/   word var←c66480;
/*1*/   var←c66480 = (word) XRM←BITXOR(d←v35800, s←v35828);
/*1*/   var←c66448 = (word) XRM←BITXOR(var←c66480, d←v35800);
/*1*/   };
                           var←c66416 = (word) XRM←BITAND(var←c66448, rMask←v16572);
                           };
                        var←c66352 = (word) XRM←BITXOR(var←c66416, d←v35800);
                        };
                     var←c66320 = var←c66352;
                     };
                  (* (( (ptr) dstLine←v16656)+2) ) = var←c66320;
                  };
SOURCE(47669, 19)
               if ((count←v16320 <= 1)) {
SOURCE(47688, 4)
                  goto lab←L100418;
                  };
SOURCE(47694, 17)
               count←v16320 = (count←v16320 - 1);
SOURCE(47713, 23)
               dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(47738, 23)
               srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
               goto lab←L100419;
               lab←L100418: ;
               break;
            case 4: 
SOURCE(47783, 345)
               lab←L100424: ;
SOURCE(47786, 13)
SOURCE(46689, 26)
               dstLine←v16656 = dstPtr←v16348;
SOURCE(46717, 26)
               srcLine←v16684 = srcPtr←v16404;
SOURCE(47801, 15)
SOURCE(46541, 23)
               w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(47818, 37)
               {
                  word var←c66512;
                  {
                     word var←c66544;
                     word d←v35724;
                     word s←v35752;
                     d←v35724 = (*  (ptr) dstLine←v16656 );
                     s←v35752 = w←v16628;
SOURCE(45665, 63)
                     {
                        word var←c66608;
                        {
                           word var←c66640;
                           {
/*1*/   word var←c66672;
/*1*/   var←c66672 = (word) XRM←BITXOR(d←v35724, s←v35752);
/*1*/   var←c66640 = (word) XRM←BITXOR(var←c66672, d←v35724);
/*1*/   };
                           var←c66608 = (word) XRM←BITAND(var←c66640, lMask←v16544);
                           };
                        var←c66544 = (word) XRM←BITXOR(var←c66608, d←v35724);
                        };
                     var←c66512 = var←c66544;
                     };
                  (*  (ptr) dstLine←v16656 ) = var←c66512;
                  };
SOURCE(47858, 15)
SOURCE(46541, 23)
               w←v16628 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(47875, 35)
               {
                  word var←c66704;
                  var←c66704 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                  (* (( (ptr) dstLine←v16656)+1) ) = var←c66704;
                  };
SOURCE(47913, 15)
SOURCE(46541, 23)
               w←v16628 = (* (( (ptr) srcLine←v16684)+2) );
SOURCE(47930, 35)
               {
                  word var←c66736;
                  var←c66736 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+2) ), w←v16628);
                  (* (( (ptr) dstLine←v16656)+2) ) = var←c66736;
                  };
SOURCE(47968, 27)
SOURCE(46632, 23)
               w←v16628 = (* (( (ptr) srcLine←v16684)+3) );
SOURCE(47997, 37)
               {
                  word var←c66768;
                  {
                     word var←c66800;
                     word d←v35648;
                     word s←v35676;
                     d←v35648 = (* (( (ptr) dstLine←v16656)+3) );
                     s←v35676 = w←v16628;
SOURCE(45665, 63)
                     {
                        word var←c66864;
                        {
                           word var←c66896;
                           {
/*1*/   word var←c66928;
/*1*/   var←c66928 = (word) XRM←BITXOR(d←v35648, s←v35676);
/*1*/   var←c66896 = (word) XRM←BITXOR(var←c66928, d←v35648);
/*1*/   };
                           var←c66864 = (word) XRM←BITAND(var←c66896, rMask←v16572);
                           };
                        var←c66800 = (word) XRM←BITXOR(var←c66864, d←v35648);
                        };
                     var←c66768 = var←c66800;
                     };
                  (* (( (ptr) dstLine←v16656)+3) ) = var←c66768;
                  };
SOURCE(48036, 19)
               if ((count←v16320 <= 1)) {
SOURCE(48055, 4)
                  goto lab←L100423;
                  };
SOURCE(48061, 17)
               count←v16320 = (count←v16320 - 1);
SOURCE(48080, 23)
               dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(48105, 23)
               srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
               goto lab←L100424;
               lab←L100423: ;
               break;
            default: 
SOURCE(48183, 995)
               lab←L100429: ;
               {
                  word nw←v17212;
                  nw←v17212 = (ndw←v16516 - 2);
SOURCE(48228, 13)
SOURCE(46689, 26)
                  dstLine←v16656 = dstPtr←v16348;
SOURCE(46717, 26)
                  srcLine←v16684 = srcPtr←v16404;
SOURCE(48243, 15)
SOURCE(46541, 23)
                  w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(48260, 37)
                  {
                     word var←c66960;
                     {
                        word var←c66992;
                        word d←v35572;
                        word s←v35600;
                        d←v35572 = (*  (ptr) dstLine←v16656 );
                        s←v35600 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c67056;
                           {
/*1*/   word var←c67088;
/*1*/   {
/*1*/      word var←c67120;
/*1*/      var←c67120 = (word) XRM←BITXOR(d←v35572, s←v35600);
/*1*/      var←c67088 = (word) XRM←BITXOR(var←c67120, d←v35572);
/*1*/      };
/*1*/   var←c67056 = (word) XRM←BITAND(var←c67088, lMask←v16544);
/*1*/   };
                           var←c66992 = (word) XRM←BITXOR(var←c67056, d←v35572);
                           };
                        var←c66960 = var←c66992;
                        };
                     (*  (ptr) dstLine←v16656 ) = var←c66960;
                     };
SOURCE(48299, 28)
                  dstLine←v16656 = (dstLine←v16656 + 4);
SOURCE(48329, 28)
                  srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(48359, 308)
                  lab←L100433: ;
                  if ((nw←v17212 >= 4)) {
                     }
                  else {
                     goto lab←L100431;
                     };
SOURCE(48376, 15)
SOURCE(46541, 23)
                  w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(48393, 35)
                  {
                     word var←c67152;
                     var←c67152 = (word) XRM←BITXOR((*  (ptr) dstLine←v16656 ), w←v16628);
                     (*  (ptr) dstLine←v16656 ) = var←c67152;
                     };
SOURCE(48430, 15)
SOURCE(46541, 23)
                  w←v16628 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(48447, 35)
                  {
                     word var←c67184;
                     var←c67184 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                     (* (( (ptr) dstLine←v16656)+1) ) = var←c67184;
                     };
SOURCE(48484, 15)
SOURCE(46541, 23)
                  w←v16628 = (* (( (ptr) srcLine←v16684)+2) );
SOURCE(48501, 35)
                  {
                     word var←c67216;
                     var←c67216 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+2) ), w←v16628);
                     (* (( (ptr) dstLine←v16656)+2) ) = var←c67216;
                     };
SOURCE(48538, 15)
SOURCE(46541, 23)
                  w←v16628 = (* (( (ptr) srcLine←v16684)+3) );
SOURCE(48555, 35)
                  {
                     word var←c67248;
                     var←c67248 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+3) ), w←v16628);
                     (* (( (ptr) dstLine←v16656)+3) ) = var←c67248;
                     };
SOURCE(48592, 30)
                  dstLine←v16656 = (dstLine←v16656 + 16);
SOURCE(48624, 30)
                  srcLine←v16684 = (srcLine←v16684 + 16);
SOURCE(48656, 11)
                  nw←v17212 = (nw←v17212 - 4);
                  goto lab←L100433;
                  lab←L100431: ;
SOURCE(48678, 201)
                  if ((nw←v17212 >= 2)) {
SOURCE(48696, 15)
SOURCE(46541, 23)
                     w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(48713, 35)
                     {
                        word var←c67280;
                        var←c67280 = (word) XRM←BITXOR((*  (ptr) dstLine←v16656 ), w←v16628);
                        (*  (ptr) dstLine←v16656 ) = var←c67280;
                        };
SOURCE(48750, 15)
SOURCE(46541, 23)
                     w←v16628 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(48767, 35)
                     {
                        word var←c67312;
                        var←c67312 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                        (* (( (ptr) dstLine←v16656)+1) ) = var←c67312;
                        };
SOURCE(48804, 30)
                     dstLine←v16656 = (dstLine←v16656 + 8);
SOURCE(48836, 30)
                     srcLine←v16684 = (srcLine←v16684 + 8);
SOURCE(48868, 11)
                     nw←v17212 = (nw←v17212 - 2);
                     };
SOURCE(48884, 129)
                  if ((nw←v17212 == 1)) {
SOURCE(48901, 15)
SOURCE(46541, 23)
                     w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(48918, 35)
                     {
                        word var←c67344;
                        var←c67344 = (word) XRM←BITXOR((*  (ptr) dstLine←v16656 ), w←v16628);
                        (*  (ptr) dstLine←v16656 ) = var←c67344;
                        };
SOURCE(48955, 28)
                     dstLine←v16656 = (dstLine←v16656 + 4);
SOURCE(48985, 28)
                     srcLine←v16684 = (srcLine←v16684 + 4);
                     };
SOURCE(49018, 27)
SOURCE(46632, 23)
                  w←v16628 = (*  (ptr) srcLine←v16684 );
SOURCE(49047, 37)
                  {
                     word var←c67376;
                     {
                        word var←c67408;
                        word d←v35496;
                        word s←v35524;
                        d←v35496 = (*  (ptr) dstLine←v16656 );
                        s←v35524 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c67472;
                           {
/*1*/   word var←c67504;
/*1*/   {
/*1*/      word var←c67536;
/*1*/      var←c67536 = (word) XRM←BITXOR(d←v35496, s←v35524);
/*1*/      var←c67504 = (word) XRM←BITXOR(var←c67536, d←v35496);
/*1*/      };
/*1*/   var←c67472 = (word) XRM←BITAND(var←c67504, rMask←v16572);
/*1*/   };
                           var←c67408 = (word) XRM←BITXOR(var←c67472, d←v35496);
                           };
                        var←c67376 = var←c67408;
                        };
                     (*  (ptr) dstLine←v16656 ) = var←c67376;
                     };
SOURCE(49086, 19)
                  if ((count←v16320 <= 1)) {
SOURCE(49105, 4)
                     goto lab←L100428;
                     };
SOURCE(49111, 17)
                  count←v16320 = (count←v16320 - 1);
SOURCE(49130, 23)
                  dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(49155, 23)
                  srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                  };
               goto lab←L100429;
               lab←L100428: ;
               break;
            };
         };
      }
   else {
SOURCE(52471, 9)
      {
         word hi←v17240;
         word lo←v17268 = 0;
         word rSA←v17296;
         word nsw←v17324;
         word fetchLastWord←v17352;
         rSA←v17296 = (32 - lSA←v16600);
         {
            word bits←v21008;
            bits←v21008 = (srcBit←v16432 + (* (( (ptr) formal←c76432)+6) ));
SOURCE(512, 36)
            nsw←v17324 = ((bits←v21008 + 31) >> 5);
            };
         fetchLastWord←v17352 =  ( (srcBit←v16432 >= dstBit←v16376) ? (nsw←v17324 > ndw←v16516) : (nsw←v17324 >= ndw←v16516) ) ;
SOURCE(49988, 2429)
         {
            word var←c67600;
            var←c67600 = ndw←v16516;
            switch (var←c67600) {
               case 1: 
                  {
                     word bothMask←v17672;
                     bothMask←v17672 = (word) XRM←BITAND(lMask←v16544, rMask←v16572);
SOURCE(50050, 382)
                     if ((0 != fetchLastWord←v17352)) {
SOURCE(50072, 172)
                        lab←L100438: ;
SOURCE(50075, 13)
SOURCE(49890, 26)
                        dstLine←v16656 = dstPtr←v16348;
SOURCE(49918, 26)
                        srcLine←v16684 = srcPtr←v16404;
SOURCE(49946, 36)
                        if ((srcBit←v16432 >= dstBit←v16376)) {
SOURCE(49971, 11)
SOURCE(49478, 7)
                           hi←v17240 = lo←v17268;
SOURCE(49487, 15)
                           lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49504, 28)
                           srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(49534, 42)
                           w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
                           };
SOURCE(50090, 18)
SOURCE(49775, 22)
                        w←v16628 = (word) XRM←BITLSHIFT(lo←v17268, lSA←v16600);
SOURCE(49813, 43)
                        w←v16628 = (w←v16628 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v16684 ), rSA←v17296));
SOURCE(50110, 40)
                        {
                           word var←c67632;
                           {
/*1*/   word var←c67664;
/*1*/   word d←v35420;
/*1*/   word s←v35448;
/*1*/   d←v35420 = (*  (ptr) dstLine←v16656 );
/*1*/   s←v35448 = w←v16628;
SOURCE(45665, 63)
/*1*/   {
/*1*/      word var←c67728;
/*1*/      {
/*1*/         word var←c67760;
/*1*/         {
/*1*/            word var←c67792;
/*1*/            var←c67792 = (word) XRM←BITXOR(d←v35420, s←v35448);
/*1*/            var←c67760 = (word) XRM←BITXOR(var←c67792, d←v35420);
/*1*/            };
/*1*/         var←c67728 = (word) XRM←BITAND(var←c67760, bothMask←v17672);
/*1*/         };
/*1*/      var←c67664 = (word) XRM←BITXOR(var←c67728, d←v35420);
/*1*/      };
/*1*/   var←c67632 = var←c67664;
/*1*/   };
                           (*  (ptr) dstLine←v16656 ) = var←c67632;
                           };
SOURCE(50152, 19)
                        if ((count←v16320 <= 1)) {
SOURCE(50171, 4)
                           goto lab←L100437;
                           };
SOURCE(50177, 17)
                        count←v16320 = (count←v16320 - 1);
SOURCE(50196, 23)
                        dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(50221, 23)
                        srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                        goto lab←L100438;
                        lab←L100437: ;
                        }
                     else {
SOURCE(50259, 173)
                        lab←L100442: ;
SOURCE(50262, 13)
SOURCE(49890, 26)
                        dstLine←v16656 = dstPtr←v16348;
SOURCE(49918, 26)
                        srcLine←v16684 = srcPtr←v16404;
SOURCE(49946, 36)
                        if ((srcBit←v16432 >= dstBit←v16376)) {
SOURCE(49971, 11)
SOURCE(49478, 7)
                           hi←v17240 = lo←v17268;
SOURCE(49487, 15)
                           lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49504, 28)
                           srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(49534, 42)
                           w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
                           };
SOURCE(50277, 19)
SOURCE(49775, 22)
                        w←v16628 = (word) XRM←BITLSHIFT(lo←v17268, lSA←v16600);
SOURCE(50298, 40)
                        {
                           word var←c67824;
                           {
/*1*/   word var←c67856;
/*1*/   word d←v35344;
/*1*/   word s←v35372;
/*1*/   d←v35344 = (*  (ptr) dstLine←v16656 );
/*1*/   s←v35372 = w←v16628;
SOURCE(45665, 63)
/*1*/   {
/*1*/      word var←c67920;
/*1*/      {
/*1*/         word var←c67952;
/*1*/         {
/*1*/            word var←c67984;
/*1*/            var←c67984 = (word) XRM←BITXOR(d←v35344, s←v35372);
/*1*/            var←c67952 = (word) XRM←BITXOR(var←c67984, d←v35344);
/*1*/            };
/*1*/         var←c67920 = (word) XRM←BITAND(var←c67952, bothMask←v17672);
/*1*/         };
/*1*/      var←c67856 = (word) XRM←BITXOR(var←c67920, d←v35344);
/*1*/      };
/*1*/   var←c67824 = var←c67856;
/*1*/   };
                           (*  (ptr) dstLine←v16656 ) = var←c67824;
                           };
SOURCE(50340, 19)
                        if ((count←v16320 <= 1)) {
SOURCE(50359, 4)
                           goto lab←L100441;
                           };
SOURCE(50365, 17)
                        count←v16320 = (count←v16320 - 1);
SOURCE(50384, 23)
                        dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(50409, 23)
                        srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                        goto lab←L100442;
                        lab←L100441: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(50453, 235)
                  lab←L100446: ;
SOURCE(50456, 13)
SOURCE(49890, 26)
                  dstLine←v16656 = dstPtr←v16348;
SOURCE(49918, 26)
                  srcLine←v16684 = srcPtr←v16404;
SOURCE(49946, 36)
                  if ((srcBit←v16432 >= dstBit←v16376)) {
SOURCE(49971, 11)
SOURCE(49478, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49487, 15)
                     lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49504, 28)
                     srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(49534, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
                     };
SOURCE(50471, 15)
SOURCE(49632, 7)
                  hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                  lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                  w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(50488, 37)
                  {
                     word var←c68016;
                     {
                        word var←c68048;
                        word d←v35268;
                        word s←v35296;
                        d←v35268 = (*  (ptr) dstLine←v16656 );
                        s←v35296 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c68112;
                           {
/*1*/   word var←c68144;
/*1*/   {
/*1*/      word var←c68176;
/*1*/      var←c68176 = (word) XRM←BITXOR(d←v35268, s←v35296);
/*1*/      var←c68144 = (word) XRM←BITXOR(var←c68176, d←v35268);
/*1*/      };
/*1*/   var←c68112 = (word) XRM←BITAND(var←c68144, lMask←v16544);
/*1*/   };
                           var←c68048 = (word) XRM←BITXOR(var←c68112, d←v35268);
                           };
                        var←c68016 = var←c68048;
                        };
                     (*  (ptr) dstLine←v16656 ) = var←c68016;
                     };
SOURCE(50528, 27)
SOURCE(49775, 22)
                  w←v16628 = (word) XRM←BITLSHIFT(lo←v17268, lSA←v16600);
SOURCE(49799, 57)
                  if ((0 != fetchLastWord←v17352)) {
SOURCE(49813, 43)
                     w←v16628 = (w←v16628 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v16684)+1) ), rSA←v17296));
                     };
SOURCE(50557, 37)
                  {
                     word var←c68208;
                     {
                        word var←c68240;
                        word d←v35192;
                        word s←v35220;
                        d←v35192 = (* (( (ptr) dstLine←v16656)+1) );
                        s←v35220 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c68304;
                           {
/*1*/   word var←c68336;
/*1*/   {
/*1*/      word var←c68368;
/*1*/      var←c68368 = (word) XRM←BITXOR(d←v35192, s←v35220);
/*1*/      var←c68336 = (word) XRM←BITXOR(var←c68368, d←v35192);
/*1*/      };
/*1*/   var←c68304 = (word) XRM←BITAND(var←c68336, rMask←v16572);
/*1*/   };
                           var←c68240 = (word) XRM←BITXOR(var←c68304, d←v35192);
                           };
                        var←c68208 = var←c68240;
                        };
                     (* (( (ptr) dstLine←v16656)+1) ) = var←c68208;
                     };
SOURCE(50596, 19)
                  if ((count←v16320 <= 1)) {
SOURCE(50615, 4)
                     goto lab←L100445;
                     };
SOURCE(50621, 17)
                  count←v16320 = (count←v16320 - 1);
SOURCE(50640, 23)
                  dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(50665, 23)
                  srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                  goto lab←L100446;
                  lab←L100445: ;
                  break;
               case 3: 
SOURCE(50710, 290)
                  lab←L100451: ;
SOURCE(50713, 13)
SOURCE(49890, 26)
                  dstLine←v16656 = dstPtr←v16348;
SOURCE(49918, 26)
                  srcLine←v16684 = srcPtr←v16404;
SOURCE(49946, 36)
                  if ((srcBit←v16432 >= dstBit←v16376)) {
SOURCE(49971, 11)
SOURCE(49478, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49487, 15)
                     lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49504, 28)
                     srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(49534, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
                     };
SOURCE(50728, 15)
SOURCE(49632, 7)
                  hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                  lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                  w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(50745, 37)
                  {
                     word var←c68400;
                     {
                        word var←c68432;
                        word d←v35116;
                        word s←v35144;
                        d←v35116 = (*  (ptr) dstLine←v16656 );
                        s←v35144 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c68496;
                           {
/*1*/   word var←c68528;
/*1*/   {
/*1*/      word var←c68560;
/*1*/      var←c68560 = (word) XRM←BITXOR(d←v35116, s←v35144);
/*1*/      var←c68528 = (word) XRM←BITXOR(var←c68560, d←v35116);
/*1*/      };
/*1*/   var←c68496 = (word) XRM←BITAND(var←c68528, lMask←v16544);
/*1*/   };
                           var←c68432 = (word) XRM←BITXOR(var←c68496, d←v35116);
                           };
                        var←c68400 = var←c68432;
                        };
                     (*  (ptr) dstLine←v16656 ) = var←c68400;
                     };
SOURCE(50785, 15)
SOURCE(49632, 7)
                  hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                  lo←v17268 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(49667, 42)
                  w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(50802, 35)
                  {
                     word var←c68592;
                     var←c68592 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                     (* (( (ptr) dstLine←v16656)+1) ) = var←c68592;
                     };
SOURCE(50840, 27)
SOURCE(49775, 22)
                  w←v16628 = (word) XRM←BITLSHIFT(lo←v17268, lSA←v16600);
SOURCE(49799, 57)
                  if ((0 != fetchLastWord←v17352)) {
SOURCE(49813, 43)
                     w←v16628 = (w←v16628 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v16684)+2) ), rSA←v17296));
                     };
SOURCE(50869, 37)
                  {
                     word var←c68624;
                     {
                        word var←c68656;
                        word d←v35040;
                        word s←v35068;
                        d←v35040 = (* (( (ptr) dstLine←v16656)+2) );
                        s←v35068 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c68720;
                           {
/*1*/   word var←c68752;
/*1*/   {
/*1*/      word var←c68784;
/*1*/      var←c68784 = (word) XRM←BITXOR(d←v35040, s←v35068);
/*1*/      var←c68752 = (word) XRM←BITXOR(var←c68784, d←v35040);
/*1*/      };
/*1*/   var←c68720 = (word) XRM←BITAND(var←c68752, rMask←v16572);
/*1*/   };
                           var←c68656 = (word) XRM←BITXOR(var←c68720, d←v35040);
                           };
                        var←c68624 = var←c68656;
                        };
                     (* (( (ptr) dstLine←v16656)+2) ) = var←c68624;
                     };
SOURCE(50908, 19)
                  if ((count←v16320 <= 1)) {
SOURCE(50927, 4)
                     goto lab←L100450;
                     };
SOURCE(50933, 17)
                  count←v16320 = (count←v16320 - 1);
SOURCE(50952, 23)
                  dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(50977, 23)
                  srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                  goto lab←L100451;
                  lab←L100450: ;
                  break;
               case 4: 
SOURCE(51022, 345)
                  lab←L100456: ;
SOURCE(51025, 13)
SOURCE(49890, 26)
                  dstLine←v16656 = dstPtr←v16348;
SOURCE(49918, 26)
                  srcLine←v16684 = srcPtr←v16404;
SOURCE(49946, 36)
                  if ((srcBit←v16432 >= dstBit←v16376)) {
SOURCE(49971, 11)
SOURCE(49478, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49487, 15)
                     lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49504, 28)
                     srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(49534, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
                     };
SOURCE(51040, 15)
SOURCE(49632, 7)
                  hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                  lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                  w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51057, 37)
                  {
                     word var←c68816;
                     {
                        word var←c68848;
                        word d←v34964;
                        word s←v34992;
                        d←v34964 = (*  (ptr) dstLine←v16656 );
                        s←v34992 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c68912;
                           {
/*1*/   word var←c68944;
/*1*/   {
/*1*/      word var←c68976;
/*1*/      var←c68976 = (word) XRM←BITXOR(d←v34964, s←v34992);
/*1*/      var←c68944 = (word) XRM←BITXOR(var←c68976, d←v34964);
/*1*/      };
/*1*/   var←c68912 = (word) XRM←BITAND(var←c68944, lMask←v16544);
/*1*/   };
                           var←c68848 = (word) XRM←BITXOR(var←c68912, d←v34964);
                           };
                        var←c68816 = var←c68848;
                        };
                     (*  (ptr) dstLine←v16656 ) = var←c68816;
                     };
SOURCE(51097, 15)
SOURCE(49632, 7)
                  hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                  lo←v17268 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(49667, 42)
                  w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51114, 35)
                  {
                     word var←c69008;
                     var←c69008 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                     (* (( (ptr) dstLine←v16656)+1) ) = var←c69008;
                     };
SOURCE(51152, 15)
SOURCE(49632, 7)
                  hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                  lo←v17268 = (* (( (ptr) srcLine←v16684)+2) );
SOURCE(49667, 42)
                  w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51169, 35)
                  {
                     word var←c69040;
                     var←c69040 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+2) ), w←v16628);
                     (* (( (ptr) dstLine←v16656)+2) ) = var←c69040;
                     };
SOURCE(51207, 27)
SOURCE(49775, 22)
                  w←v16628 = (word) XRM←BITLSHIFT(lo←v17268, lSA←v16600);
SOURCE(49799, 57)
                  if ((0 != fetchLastWord←v17352)) {
SOURCE(49813, 43)
                     w←v16628 = (w←v16628 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v16684)+3) ), rSA←v17296));
                     };
SOURCE(51236, 37)
                  {
                     word var←c69072;
                     {
                        word var←c69104;
                        word d←v34888;
                        word s←v34916;
                        d←v34888 = (* (( (ptr) dstLine←v16656)+3) );
                        s←v34916 = w←v16628;
SOURCE(45665, 63)
                        {
                           word var←c69168;
                           {
/*1*/   word var←c69200;
/*1*/   {
/*1*/      word var←c69232;
/*1*/      var←c69232 = (word) XRM←BITXOR(d←v34888, s←v34916);
/*1*/      var←c69200 = (word) XRM←BITXOR(var←c69232, d←v34888);
/*1*/      };
/*1*/   var←c69168 = (word) XRM←BITAND(var←c69200, rMask←v16572);
/*1*/   };
                           var←c69104 = (word) XRM←BITXOR(var←c69168, d←v34888);
                           };
                        var←c69072 = var←c69104;
                        };
                     (* (( (ptr) dstLine←v16656)+3) ) = var←c69072;
                     };
SOURCE(51275, 19)
                  if ((count←v16320 <= 1)) {
SOURCE(51294, 4)
                     goto lab←L100455;
                     };
SOURCE(51300, 17)
                  count←v16320 = (count←v16320 - 1);
SOURCE(51319, 23)
                  dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(51344, 23)
                  srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                  goto lab←L100456;
                  lab←L100455: ;
                  break;
               default: 
SOURCE(51422, 995)
                  lab←L100461: ;
                  {
                     word nw←v17748;
                     nw←v17748 = (ndw←v16516 - 2);
SOURCE(51467, 13)
SOURCE(49890, 26)
                     dstLine←v16656 = dstPtr←v16348;
SOURCE(49918, 26)
                     srcLine←v16684 = srcPtr←v16404;
SOURCE(49946, 36)
                     if ((srcBit←v16432 >= dstBit←v16376)) {
SOURCE(49971, 11)
SOURCE(49478, 7)
                        hi←v17240 = lo←v17268;
SOURCE(49487, 15)
                        lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49504, 28)
                        srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(49534, 42)
                        w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
                        };
SOURCE(51482, 15)
SOURCE(49632, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                     lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51499, 37)
                     {
                        word var←c69264;
                        {
                           word var←c69296;
                           word d←v34812;
                           word s←v34840;
                           d←v34812 = (*  (ptr) dstLine←v16656 );
                           s←v34840 = w←v16628;
SOURCE(45665, 63)
                           {
/*1*/   word var←c69360;
/*1*/   {
/*1*/      word var←c69392;
/*1*/      {
/*1*/         word var←c69424;
/*1*/         var←c69424 = (word) XRM←BITXOR(d←v34812, s←v34840);
/*1*/         var←c69392 = (word) XRM←BITXOR(var←c69424, d←v34812);
/*1*/         };
/*1*/      var←c69360 = (word) XRM←BITAND(var←c69392, lMask←v16544);
/*1*/      };
/*1*/   var←c69296 = (word) XRM←BITXOR(var←c69360, d←v34812);
/*1*/   };
                           var←c69264 = var←c69296;
                           };
                        (*  (ptr) dstLine←v16656 ) = var←c69264;
                        };
SOURCE(51538, 28)
                     dstLine←v16656 = (dstLine←v16656 + 4);
SOURCE(51568, 28)
                     srcLine←v16684 = (srcLine←v16684 + 4);
SOURCE(51598, 308)
                     lab←L100465: ;
                     if ((nw←v17748 >= 4)) {
                        }
                     else {
                        goto lab←L100463;
                        };
SOURCE(51615, 15)
SOURCE(49632, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                     lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51632, 35)
                     {
                        word var←c69456;
                        var←c69456 = (word) XRM←BITXOR((*  (ptr) dstLine←v16656 ), w←v16628);
                        (*  (ptr) dstLine←v16656 ) = var←c69456;
                        };
SOURCE(51669, 15)
SOURCE(49632, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                     lo←v17268 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(49667, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51686, 35)
                     {
                        word var←c69488;
                        var←c69488 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                        (* (( (ptr) dstLine←v16656)+1) ) = var←c69488;
                        };
SOURCE(51723, 15)
SOURCE(49632, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                     lo←v17268 = (* (( (ptr) srcLine←v16684)+2) );
SOURCE(49667, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51740, 35)
                     {
                        word var←c69520;
                        var←c69520 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+2) ), w←v16628);
                        (* (( (ptr) dstLine←v16656)+2) ) = var←c69520;
                        };
SOURCE(51777, 15)
SOURCE(49632, 7)
                     hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                     lo←v17268 = (* (( (ptr) srcLine←v16684)+3) );
SOURCE(49667, 42)
                     w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51794, 35)
                     {
                        word var←c69552;
                        var←c69552 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+3) ), w←v16628);
                        (* (( (ptr) dstLine←v16656)+3) ) = var←c69552;
                        };
SOURCE(51831, 30)
                     dstLine←v16656 = (dstLine←v16656 + 16);
SOURCE(51863, 30)
                     srcLine←v16684 = (srcLine←v16684 + 16);
SOURCE(51895, 11)
                     nw←v17748 = (nw←v17748 - 4);
                     goto lab←L100465;
                     lab←L100463: ;
SOURCE(51917, 201)
                     if ((nw←v17748 >= 2)) {
SOURCE(51935, 15)
SOURCE(49632, 7)
                        hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                        lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                        w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(51952, 35)
                        {
                           word var←c69584;
                           var←c69584 = (word) XRM←BITXOR((*  (ptr) dstLine←v16656 ), w←v16628);
                           (*  (ptr) dstLine←v16656 ) = var←c69584;
                           };
SOURCE(51989, 15)
SOURCE(49632, 7)
                        hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                        lo←v17268 = (* (( (ptr) srcLine←v16684)+1) );
SOURCE(49667, 42)
                        w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(52006, 35)
                        {
                           word var←c69616;
                           var←c69616 = (word) XRM←BITXOR((* (( (ptr) dstLine←v16656)+1) ), w←v16628);
                           (* (( (ptr) dstLine←v16656)+1) ) = var←c69616;
                           };
SOURCE(52043, 30)
                        dstLine←v16656 = (dstLine←v16656 + 8);
SOURCE(52075, 30)
                        srcLine←v16684 = (srcLine←v16684 + 8);
SOURCE(52107, 11)
                        nw←v17748 = (nw←v17748 - 2);
                        };
SOURCE(52123, 129)
                     if ((nw←v17748 == 1)) {
SOURCE(52140, 15)
SOURCE(49632, 7)
                        hi←v17240 = lo←v17268;
SOURCE(49641, 24)
                        lo←v17268 = (*  (ptr) srcLine←v16684 );
SOURCE(49667, 42)
                        w←v16628 = ((word) XRM←BITLSHIFT(hi←v17240, lSA←v16600) + (word) XRM←BITRSHIFT(lo←v17268, rSA←v17296));
SOURCE(52157, 35)
                        {
                           word var←c69648;
                           var←c69648 = (word) XRM←BITXOR((*  (ptr) dstLine←v16656 ), w←v16628);
                           (*  (ptr) dstLine←v16656 ) = var←c69648;
                           };
SOURCE(52194, 28)
                        dstLine←v16656 = (dstLine←v16656 + 4);
SOURCE(52224, 28)
                        srcLine←v16684 = (srcLine←v16684 + 4);
                        };
SOURCE(52257, 27)
SOURCE(49775, 22)
                     w←v16628 = (word) XRM←BITLSHIFT(lo←v17268, lSA←v16600);
SOURCE(49799, 57)
                     if ((0 != fetchLastWord←v17352)) {
SOURCE(49813, 43)
                        w←v16628 = (w←v16628 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v16684 ), rSA←v17296));
                        };
SOURCE(52286, 37)
                     {
                        word var←c69680;
                        {
                           word var←c69712;
                           word d←v34736;
                           word s←v34764;
                           d←v34736 = (*  (ptr) dstLine←v16656 );
                           s←v34764 = w←v16628;
SOURCE(45665, 63)
                           {
/*1*/   word var←c69776;
/*1*/   {
/*1*/      word var←c69808;
/*1*/      {
/*1*/         word var←c69840;
/*1*/         var←c69840 = (word) XRM←BITXOR(d←v34736, s←v34764);
/*1*/         var←c69808 = (word) XRM←BITXOR(var←c69840, d←v34736);
/*1*/         };
/*1*/      var←c69776 = (word) XRM←BITAND(var←c69808, rMask←v16572);
/*1*/      };
/*1*/   var←c69712 = (word) XRM←BITXOR(var←c69776, d←v34736);
/*1*/   };
                           var←c69680 = var←c69712;
                           };
                        (*  (ptr) dstLine←v16656 ) = var←c69680;
                        };
SOURCE(52325, 19)
                     if ((count←v16320 <= 1)) {
SOURCE(52344, 4)
                        goto lab←L100460;
                        };
SOURCE(52350, 17)
                     count←v16320 = (count←v16320 - 1);
SOURCE(52369, 23)
                     dstPtr←v16348 = (dstPtr←v16348 + dRast←v16460);
SOURCE(52394, 23)
                     srcPtr←v16404 = (srcPtr←v16404 + sRast←v16488);
                     };
                  goto lab←L100461;
                  lab←L100460: ;
                  break;
               };
            };
         };
      };
   }

static void Forward7←P780(dst←v5248, src←v5276, formal←c01615, formal←c01616, sSize←v5360, formal←c01617)
   W2 dst←v5248;
   W2 src←v5276;
   word formal←c01615;
   word formal←c01616;
   word sSize←v5360;
   word formal←c01617;
   {
   W9 var←c76464;
   /* declaration of dstBpl←v5304 skipped */ 
   /* declaration of srcBpl←v5332 skipped */ 
   /* declaration of fSize←v5388 skipped */ 
   /* declaration of var←c69872 skipped */ 
   (* (( (ptr) &var←c76464)+4)/* dstBpl←v5304 */  ) = formal←c01615;
   (* (( (ptr) &var←c76464)+5)/* srcBpl←v5332 */  ) = formal←c01616;
   (* (( (ptr) &var←c76464)+6)/* fSize←v5388 */  ) = formal←c01617;
   /* Forward7: */ 
SOURCE(52977, 7607)
   {
      word tmpAddr10;
      tmpAddr10 = (word) (( (ptr) &var←c76464)+7)/* var←c69872 */ ;
      (*  (ptr) tmpAddr10 ) = ( ((word)  (fPt) DoUniformLines←P8004) );
      (* (( (ptr) tmpAddr10) + 1) ) = 1;
      };
SOURCE(60114, 470)
   if (((word) XRM←BITOR(sSize←v5360, (* (( (ptr) &var←c76464)+6)/* fSize←v5388 */  )) != 0)) {
SOURCE(60148, 436)
      if ( ( (((* (( (ptr) &var←c76464)+4)/* dstBpl←v5304 */  ) & 037) == 0) ? (((* (( (ptr) &var←c76464)+5)/* srcBpl←v5332 */  ) & 037) == 0) : 0 ) ) {
SOURCE(60200, 59)
         (void) DoUniformLines←P8004(sSize←v5360, dst←v5248.f0, dst←v5248.f1, src←v5276.f0, src←v5276.f1, (word) (( (bPt) &var←c76464)+28)
            /* var←c69872 */ );
         }
      else {
SOURCE(60270, 314)
         lab←L100469: ;
SOURCE(60273, 55)
         (void) DoUniformLines←P8004(1, dst←v5248.f0, dst←v5248.f1, src←v5276.f0, src←v5276.f1, (word) (( (bPt) &var←c76464)+28)/* var←c69872 */ )
         ;
SOURCE(60330, 32)
         sSize←v5360 = (sSize←v5360 - 1);
         if ((sSize←v5360 == 0)) {
SOURCE(60362, 4)
            goto lab←L100468;
            };
SOURCE(60368, 61)
         {
            word var←c69904;
            word bits←v21728;
            bits←v21728 = (dst←v5248.f1 + (* (( (ptr) &var←c76464)+4)/* dstBpl←v5304 */  ));
SOURCE(627, 52)
            var←c69904 = ((bits←v21728 >> 5) << 2);
            dst←v5248.f0 = (dst←v5248.f0 + var←c69904);
            };
SOURCE(60431, 44)
         dst←v5248.f1 = ((dst←v5248.f1 + (* (( (ptr) &var←c76464)+4)/* dstBpl←v5304 */  )) & 037);
SOURCE(60477, 61)
         {
            word var←c69936;
            word bits←v21680;
            bits←v21680 = (src←v5276.f1 + (* (( (ptr) &var←c76464)+5)/* srcBpl←v5332 */  ));
SOURCE(627, 52)
            var←c69936 = ((bits←v21680 >> 5) << 2);
            src←v5276.f0 = (src←v5276.f0 + var←c69936);
            };
SOURCE(60540, 44)
         src←v5276.f1 = ((src←v5276.f1 + (* (( (ptr) &var←c76464)+5)/* srcBpl←v5332 */  )) & 037);
         goto lab←L100469;
         lab←L100468: ;
         };
      };
   }

static void DoUniformLines←P8004(count←v18040, dstPtr←v18068, dstBit←v18096, srcPtr←v18124, srcBit←v18152, formal←c76528)
   word count←v18040;
   word dstPtr←v18068;
   word dstBit←v18096;
   word srcPtr←v18124;
   word srcBit←v18152;
   word formal←c76528;
   {
   register ptr gf←c76496 =  (ptr) &globalframe;
   word dRast←v18180;
   word sRast←v18208;
   word ndw←v18236;
   word lMask←v18264;
   word rMask←v18292;
   word lSA←v18320;
   word w←v18348 = 0;
   word dstLine←v18376 = 0;
   word srcLine←v18404 = 0;
   formal←c76528 = (formal←c76528 - 28);
   /* DoUniformLines: */ 
SOURCE(53199, 6909)
SOURCE(53308, 43)
   dRast←v18180 = (((* (( (ptr) formal←c76528)+4) ) >> 5) << 2);
SOURCE(53353, 43)
   sRast←v18208 = (((* (( (ptr) formal←c76528)+5) ) >> 5) << 2);
SOURCE(53398, 44)
   {
      word bits←v20960;
      bits←v20960 = (dstBit←v18096 + (* (( (ptr) formal←c76528)+6) ));
SOURCE(512, 36)
      ndw←v18236 = ((bits←v20960 + 31) >> 5);
      };
SOURCE(53444, 44)
   lMask←v18264 = (* ((( (ptr) gf←c76496)+4)/* rightJustifiedOnes←v2832 */ +(32 - dstBit←v18096)) );
SOURCE(53490, 82)
   {
      word n←v22448;
      n←v22448 = (((32 - dstBit←v18096) - (* (( (ptr) formal←c76528)+6) )) & 037);
SOURCE(1119, 39)
      rMask←v18292 = (word) XRM←BITNOT((* (((( (ptr) gf←c76496)+4)/* rightJustifiedOnes←v2832 */ +n←v22448)) ));
      };
SOURCE(53574, 58)
   lSA←v18320 = ((srcBit←v18152 - dstBit←v18096) & 037);
SOURCE(60063, 45)
   if ((lSA←v18320 == 0)) {
SOURCE(60081, 9)
SOURCE(54217, 2509)
      {
         word var←c70064;
         var←c70064 = ndw←v18236;
         switch (var←c70064) {
            case 1: 
               {
                  word bothMask←v18856;
                  bothMask←v18856 = (word) XRM←BITAND(lMask←v18264, rMask←v18292);
SOURCE(54301, 172)
                  lab←L100476: ;
SOURCE(54304, 13)
SOURCE(54157, 26)
                  dstLine←v18376 = dstPtr←v18068;
SOURCE(54185, 26)
                  srcLine←v18404 = srcPtr←v18124;
SOURCE(54319, 18)
SOURCE(54100, 23)
                  w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(54339, 40)
                  {
                     word var←c70096;
                     {
                        word var←c70128;
                        word d←v38164;
                        word s←v38192;
                        d←v38164 = (*  (ptr) dstLine←v18376 );
                        s←v38192 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c70192;
                           {
/*1*/   word var←c70224;
/*1*/   {
/*1*/      word var←c70256;
/*1*/      {
/*1*/         word var←c70288;
/*1*/         var←c70288 = (word) XRM←BITNOT(s←v38192);
/*1*/         var←c70256 = (word) XRM←BITXOR(d←v38164, var←c70288);
/*1*/         };
/*1*/      var←c70224 = (word) XRM←BITXOR(var←c70256, d←v38164);
/*1*/      };
/*1*/   var←c70192 = (word) XRM←BITAND(var←c70224, bothMask←v18856);
/*1*/   };
                           var←c70128 = (word) XRM←BITXOR(var←c70192, d←v38164);
                           };
                        var←c70096 = var←c70128;
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c70096;
                     };
SOURCE(54381, 19)
                  if ((count←v18040 <= 1)) {
SOURCE(54400, 4)
                     goto lab←L100475;
                     };
SOURCE(54406, 17)
                  count←v18040 = (count←v18040 - 1);
SOURCE(54425, 23)
                  dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(54450, 23)
                  srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                  goto lab←L100476;
                  lab←L100475: ;
                  };
               break;
            case 2: 
SOURCE(54682, 235)
               lab←L100480: ;
SOURCE(54685, 13)
SOURCE(54157, 26)
               dstLine←v18376 = dstPtr←v18068;
SOURCE(54185, 26)
               srcLine←v18404 = srcPtr←v18124;
SOURCE(54700, 15)
SOURCE(54009, 23)
               w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(54717, 37)
               {
                  word var←c70320;
                  {
                     word var←c70352;
                     word d←v38012;
                     word s←v38040;
                     d←v38012 = (*  (ptr) dstLine←v18376 );
                     s←v38040 = w←v18348;
SOURCE(53125, 71)
                     {
                        word var←c70416;
                        {
                           word var←c70448;
                           {
/*1*/   word var←c70480;
/*1*/   {
/*1*/      word var←c70512;
/*1*/      var←c70512 = (word) XRM←BITNOT(s←v38040);
/*1*/      var←c70480 = (word) XRM←BITXOR(d←v38012, var←c70512);
/*1*/      };
/*1*/   var←c70448 = (word) XRM←BITXOR(var←c70480, d←v38012);
/*1*/   };
                           var←c70416 = (word) XRM←BITAND(var←c70448, lMask←v18264);
                           };
                        var←c70352 = (word) XRM←BITXOR(var←c70416, d←v38012);
                        };
                     var←c70320 = var←c70352;
                     };
                  (*  (ptr) dstLine←v18376 ) = var←c70320;
                  };
SOURCE(54757, 27)
SOURCE(54100, 23)
               w←v18348 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(54786, 37)
               {
                  word var←c70544;
                  {
                     word var←c70576;
                     word d←v37936;
                     word s←v37964;
                     d←v37936 = (* (( (ptr) dstLine←v18376)+1) );
                     s←v37964 = w←v18348;
SOURCE(53125, 71)
                     {
                        word var←c70640;
                        {
                           word var←c70672;
                           {
/*1*/   word var←c70704;
/*1*/   {
/*1*/      word var←c70736;
/*1*/      var←c70736 = (word) XRM←BITNOT(s←v37964);
/*1*/      var←c70704 = (word) XRM←BITXOR(d←v37936, var←c70736);
/*1*/      };
/*1*/   var←c70672 = (word) XRM←BITXOR(var←c70704, d←v37936);
/*1*/   };
                           var←c70640 = (word) XRM←BITAND(var←c70672, rMask←v18292);
                           };
                        var←c70576 = (word) XRM←BITXOR(var←c70640, d←v37936);
                        };
                     var←c70544 = var←c70576;
                     };
                  (* (( (ptr) dstLine←v18376)+1) ) = var←c70544;
                  };
SOURCE(54825, 19)
               if ((count←v18040 <= 1)) {
SOURCE(54844, 4)
                  goto lab←L100479;
                  };
SOURCE(54850, 17)
               count←v18040 = (count←v18040 - 1);
SOURCE(54869, 23)
               dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(54894, 23)
               srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
               goto lab←L100480;
               lab←L100479: ;
               break;
            case 3: 
SOURCE(54939, 298)
               lab←L100485: ;
SOURCE(54942, 13)
SOURCE(54157, 26)
               dstLine←v18376 = dstPtr←v18068;
SOURCE(54185, 26)
               srcLine←v18404 = srcPtr←v18124;
SOURCE(54957, 15)
SOURCE(54009, 23)
               w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(54974, 37)
               {
                  word var←c70768;
                  {
                     word var←c70800;
                     word d←v37860;
                     word s←v37888;
                     d←v37860 = (*  (ptr) dstLine←v18376 );
                     s←v37888 = w←v18348;
SOURCE(53125, 71)
                     {
                        word var←c70864;
                        {
                           word var←c70896;
                           {
/*1*/   word var←c70928;
/*1*/   {
/*1*/      word var←c70960;
/*1*/      var←c70960 = (word) XRM←BITNOT(s←v37888);
/*1*/      var←c70928 = (word) XRM←BITXOR(d←v37860, var←c70960);
/*1*/      };
/*1*/   var←c70896 = (word) XRM←BITXOR(var←c70928, d←v37860);
/*1*/   };
                           var←c70864 = (word) XRM←BITAND(var←c70896, lMask←v18264);
                           };
                        var←c70800 = (word) XRM←BITXOR(var←c70864, d←v37860);
                        };
                     var←c70768 = var←c70800;
                     };
                  (*  (ptr) dstLine←v18376 ) = var←c70768;
                  };
SOURCE(55014, 15)
SOURCE(54009, 23)
               w←v18348 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(55031, 43)
               {
                  word var←c70992;
                  {
                     word var←c71024;
                     var←c71024 = (word) XRM←BITNOT(w←v18348);
                     var←c70992 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c71024);
                     };
                  (* (( (ptr) dstLine←v18376)+1) ) = var←c70992;
                  };
SOURCE(55077, 27)
SOURCE(54100, 23)
               w←v18348 = (* (( (ptr) srcLine←v18404)+2) );
SOURCE(55106, 37)
               {
                  word var←c71056;
                  {
                     word var←c71088;
                     word d←v37784;
                     word s←v37812;
                     d←v37784 = (* (( (ptr) dstLine←v18376)+2) );
                     s←v37812 = w←v18348;
SOURCE(53125, 71)
                     {
                        word var←c71152;
                        {
                           word var←c71184;
                           {
/*1*/   word var←c71216;
/*1*/   {
/*1*/      word var←c71248;
/*1*/      var←c71248 = (word) XRM←BITNOT(s←v37812);
/*1*/      var←c71216 = (word) XRM←BITXOR(d←v37784, var←c71248);
/*1*/      };
/*1*/   var←c71184 = (word) XRM←BITXOR(var←c71216, d←v37784);
/*1*/   };
                           var←c71152 = (word) XRM←BITAND(var←c71184, rMask←v18292);
                           };
                        var←c71088 = (word) XRM←BITXOR(var←c71152, d←v37784);
                        };
                     var←c71056 = var←c71088;
                     };
                  (* (( (ptr) dstLine←v18376)+2) ) = var←c71056;
                  };
SOURCE(55145, 19)
               if ((count←v18040 <= 1)) {
SOURCE(55164, 4)
                  goto lab←L100484;
                  };
SOURCE(55170, 17)
               count←v18040 = (count←v18040 - 1);
SOURCE(55189, 23)
               dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(55214, 23)
               srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
               goto lab←L100485;
               lab←L100484: ;
               break;
            case 4: 
SOURCE(55259, 361)
               lab←L100490: ;
SOURCE(55262, 13)
SOURCE(54157, 26)
               dstLine←v18376 = dstPtr←v18068;
SOURCE(54185, 26)
               srcLine←v18404 = srcPtr←v18124;
SOURCE(55277, 15)
SOURCE(54009, 23)
               w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(55294, 37)
               {
                  word var←c71280;
                  {
                     word var←c71312;
                     word d←v37708;
                     word s←v37736;
                     d←v37708 = (*  (ptr) dstLine←v18376 );
                     s←v37736 = w←v18348;
SOURCE(53125, 71)
                     {
                        word var←c71376;
                        {
                           word var←c71408;
                           {
/*1*/   word var←c71440;
/*1*/   {
/*1*/      word var←c71472;
/*1*/      var←c71472 = (word) XRM←BITNOT(s←v37736);
/*1*/      var←c71440 = (word) XRM←BITXOR(d←v37708, var←c71472);
/*1*/      };
/*1*/   var←c71408 = (word) XRM←BITXOR(var←c71440, d←v37708);
/*1*/   };
                           var←c71376 = (word) XRM←BITAND(var←c71408, lMask←v18264);
                           };
                        var←c71312 = (word) XRM←BITXOR(var←c71376, d←v37708);
                        };
                     var←c71280 = var←c71312;
                     };
                  (*  (ptr) dstLine←v18376 ) = var←c71280;
                  };
SOURCE(55334, 15)
SOURCE(54009, 23)
               w←v18348 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(55351, 43)
               {
                  word var←c71504;
                  {
                     word var←c71536;
                     var←c71536 = (word) XRM←BITNOT(w←v18348);
                     var←c71504 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c71536);
                     };
                  (* (( (ptr) dstLine←v18376)+1) ) = var←c71504;
                  };
SOURCE(55397, 15)
SOURCE(54009, 23)
               w←v18348 = (* (( (ptr) srcLine←v18404)+2) );
SOURCE(55414, 43)
               {
                  word var←c71568;
                  {
                     word var←c71600;
                     var←c71600 = (word) XRM←BITNOT(w←v18348);
                     var←c71568 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+2) ), var←c71600);
                     };
                  (* (( (ptr) dstLine←v18376)+2) ) = var←c71568;
                  };
SOURCE(55460, 27)
SOURCE(54100, 23)
               w←v18348 = (* (( (ptr) srcLine←v18404)+3) );
SOURCE(55489, 37)
               {
                  word var←c71632;
                  {
                     word var←c71664;
                     word d←v37632;
                     word s←v37660;
                     d←v37632 = (* (( (ptr) dstLine←v18376)+3) );
                     s←v37660 = w←v18348;
SOURCE(53125, 71)
                     {
                        word var←c71728;
                        {
                           word var←c71760;
                           {
/*1*/   word var←c71792;
/*1*/   {
/*1*/      word var←c71824;
/*1*/      var←c71824 = (word) XRM←BITNOT(s←v37660);
/*1*/      var←c71792 = (word) XRM←BITXOR(d←v37632, var←c71824);
/*1*/      };
/*1*/   var←c71760 = (word) XRM←BITXOR(var←c71792, d←v37632);
/*1*/   };
                           var←c71728 = (word) XRM←BITAND(var←c71760, rMask←v18292);
                           };
                        var←c71664 = (word) XRM←BITXOR(var←c71728, d←v37632);
                        };
                     var←c71632 = var←c71664;
                     };
                  (* (( (ptr) dstLine←v18376)+3) ) = var←c71632;
                  };
SOURCE(55528, 19)
               if ((count←v18040 <= 1)) {
SOURCE(55547, 4)
                  goto lab←L100489;
                  };
SOURCE(55553, 17)
               count←v18040 = (count←v18040 - 1);
SOURCE(55572, 23)
               dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(55597, 23)
               srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
               goto lab←L100490;
               lab←L100489: ;
               break;
            default: 
SOURCE(55675, 1051)
               lab←L100495: ;
               {
                  word nw←v18932;
                  nw←v18932 = (ndw←v18236 - 2);
SOURCE(55720, 13)
SOURCE(54157, 26)
                  dstLine←v18376 = dstPtr←v18068;
SOURCE(54185, 26)
                  srcLine←v18404 = srcPtr←v18124;
SOURCE(55735, 15)
SOURCE(54009, 23)
                  w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(55752, 37)
                  {
                     word var←c71856;
                     {
                        word var←c71888;
                        word d←v37556;
                        word s←v37584;
                        d←v37556 = (*  (ptr) dstLine←v18376 );
                        s←v37584 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c71952;
                           {
/*1*/   word var←c71984;
/*1*/   {
/*1*/      word var←c72016;
/*1*/      {
/*1*/         word var←c72048;
/*1*/         var←c72048 = (word) XRM←BITNOT(s←v37584);
/*1*/         var←c72016 = (word) XRM←BITXOR(d←v37556, var←c72048);
/*1*/         };
/*1*/      var←c71984 = (word) XRM←BITXOR(var←c72016, d←v37556);
/*1*/      };
/*1*/   var←c71952 = (word) XRM←BITAND(var←c71984, lMask←v18264);
/*1*/   };
                           var←c71888 = (word) XRM←BITXOR(var←c71952, d←v37556);
                           };
                        var←c71856 = var←c71888;
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c71856;
                     };
SOURCE(55791, 28)
                  dstLine←v18376 = (dstLine←v18376 + 4);
SOURCE(55821, 28)
                  srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(55851, 340)
                  lab←L100499: ;
                  if ((nw←v18932 >= 4)) {
                     }
                  else {
                     goto lab←L100497;
                     };
SOURCE(55868, 15)
SOURCE(54009, 23)
                  w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(55885, 43)
                  {
                     word var←c72080;
                     {
                        word var←c72112;
                        var←c72112 = (word) XRM←BITNOT(w←v18348);
                        var←c72080 = (word) XRM←BITXOR((*  (ptr) dstLine←v18376 ), var←c72112);
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c72080;
                     };
SOURCE(55930, 15)
SOURCE(54009, 23)
                  w←v18348 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(55947, 43)
                  {
                     word var←c72144;
                     {
                        word var←c72176;
                        var←c72176 = (word) XRM←BITNOT(w←v18348);
                        var←c72144 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c72176);
                        };
                     (* (( (ptr) dstLine←v18376)+1) ) = var←c72144;
                     };
SOURCE(55992, 15)
SOURCE(54009, 23)
                  w←v18348 = (* (( (ptr) srcLine←v18404)+2) );
SOURCE(56009, 43)
                  {
                     word var←c72208;
                     {
                        word var←c72240;
                        var←c72240 = (word) XRM←BITNOT(w←v18348);
                        var←c72208 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+2) ), var←c72240);
                        };
                     (* (( (ptr) dstLine←v18376)+2) ) = var←c72208;
                     };
SOURCE(56054, 15)
SOURCE(54009, 23)
                  w←v18348 = (* (( (ptr) srcLine←v18404)+3) );
SOURCE(56071, 43)
                  {
                     word var←c72272;
                     {
                        word var←c72304;
                        var←c72304 = (word) XRM←BITNOT(w←v18348);
                        var←c72272 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+3) ), var←c72304);
                        };
                     (* (( (ptr) dstLine←v18376)+3) ) = var←c72272;
                     };
SOURCE(56116, 30)
                  dstLine←v18376 = (dstLine←v18376 + 16);
SOURCE(56148, 30)
                  srcLine←v18404 = (srcLine←v18404 + 16);
SOURCE(56180, 11)
                  nw←v18932 = (nw←v18932 - 4);
                  goto lab←L100499;
                  lab←L100497: ;
SOURCE(56202, 217)
                  if ((nw←v18932 >= 2)) {
SOURCE(56220, 15)
SOURCE(54009, 23)
                     w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(56237, 43)
                     {
                        word var←c72336;
                        {
                           word var←c72368;
                           var←c72368 = (word) XRM←BITNOT(w←v18348);
                           var←c72336 = (word) XRM←BITXOR((*  (ptr) dstLine←v18376 ), var←c72368);
                           };
                        (*  (ptr) dstLine←v18376 ) = var←c72336;
                        };
SOURCE(56282, 15)
SOURCE(54009, 23)
                     w←v18348 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(56299, 43)
                     {
                        word var←c72400;
                        {
                           word var←c72432;
                           var←c72432 = (word) XRM←BITNOT(w←v18348);
                           var←c72400 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c72432);
                           };
                        (* (( (ptr) dstLine←v18376)+1) ) = var←c72400;
                        };
SOURCE(56344, 30)
                     dstLine←v18376 = (dstLine←v18376 + 8);
SOURCE(56376, 30)
                     srcLine←v18404 = (srcLine←v18404 + 8);
SOURCE(56408, 11)
                     nw←v18932 = (nw←v18932 - 2);
                     };
SOURCE(56424, 137)
                  if ((nw←v18932 == 1)) {
SOURCE(56441, 15)
SOURCE(54009, 23)
                     w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(56458, 43)
                     {
                        word var←c72464;
                        {
                           word var←c72496;
                           var←c72496 = (word) XRM←BITNOT(w←v18348);
                           var←c72464 = (word) XRM←BITXOR((*  (ptr) dstLine←v18376 ), var←c72496);
                           };
                        (*  (ptr) dstLine←v18376 ) = var←c72464;
                        };
SOURCE(56503, 28)
                     dstLine←v18376 = (dstLine←v18376 + 4);
SOURCE(56533, 28)
                     srcLine←v18404 = (srcLine←v18404 + 4);
                     };
SOURCE(56566, 27)
SOURCE(54100, 23)
                  w←v18348 = (*  (ptr) srcLine←v18404 );
SOURCE(56595, 37)
                  {
                     word var←c72528;
                     {
                        word var←c72560;
                        word d←v37480;
                        word s←v37508;
                        d←v37480 = (*  (ptr) dstLine←v18376 );
                        s←v37508 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c72624;
                           {
/*1*/   word var←c72656;
/*1*/   {
/*1*/      word var←c72688;
/*1*/      {
/*1*/         word var←c72720;
/*1*/         var←c72720 = (word) XRM←BITNOT(s←v37508);
/*1*/         var←c72688 = (word) XRM←BITXOR(d←v37480, var←c72720);
/*1*/         };
/*1*/      var←c72656 = (word) XRM←BITXOR(var←c72688, d←v37480);
/*1*/      };
/*1*/   var←c72624 = (word) XRM←BITAND(var←c72656, rMask←v18292);
/*1*/   };
                           var←c72560 = (word) XRM←BITXOR(var←c72624, d←v37480);
                           };
                        var←c72528 = var←c72560;
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c72528;
                     };
SOURCE(56634, 19)
                  if ((count←v18040 <= 1)) {
SOURCE(56653, 4)
                     goto lab←L100494;
                     };
SOURCE(56659, 17)
                  count←v18040 = (count←v18040 - 1);
SOURCE(56678, 23)
                  dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(56703, 23)
                  srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                  };
               goto lab←L100495;
               lab←L100494: ;
               break;
            };
         };
      }
   else {
SOURCE(60099, 9)
      {
         word hi←v18960;
         word lo←v18988 = 0;
         word rSA←v19016;
         word nsw←v19044;
         word fetchLastWord←v19072;
         rSA←v19016 = (32 - lSA←v18320);
         {
            word bits←v20912;
            bits←v20912 = (srcBit←v18152 + (* (( (ptr) formal←c76528)+6) ));
SOURCE(512, 36)
            nsw←v19044 = ((bits←v20912 + 31) >> 5);
            };
         fetchLastWord←v19072 =  ( (srcBit←v18152 >= dstBit←v18096) ? (nsw←v19044 > ndw←v18236) : (nsw←v19044 >= ndw←v18236) ) ;
SOURCE(57536, 2509)
         {
            word var←c72784;
            var←c72784 = ndw←v18236;
            switch (var←c72784) {
               case 1: 
                  {
                     word bothMask←v19392;
                     bothMask←v19392 = (word) XRM←BITAND(lMask←v18264, rMask←v18292);
SOURCE(57598, 382)
                     if ((0 != fetchLastWord←v19072)) {
SOURCE(57620, 172)
                        lab←L100504: ;
SOURCE(57623, 13)
SOURCE(57438, 26)
                        dstLine←v18376 = dstPtr←v18068;
SOURCE(57466, 26)
                        srcLine←v18404 = srcPtr←v18124;
SOURCE(57494, 36)
                        if ((srcBit←v18152 >= dstBit←v18096)) {
SOURCE(57519, 11)
SOURCE(57026, 7)
                           hi←v18960 = lo←v18988;
SOURCE(57035, 15)
                           lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57052, 28)
                           srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(57082, 42)
                           w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
                           };
SOURCE(57638, 18)
SOURCE(57323, 22)
                        w←v18348 = (word) XRM←BITLSHIFT(lo←v18988, lSA←v18320);
SOURCE(57361, 43)
                        w←v18348 = (w←v18348 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v18404 ), rSA←v19016));
SOURCE(57658, 40)
                        {
                           word var←c72816;
                           {
/*1*/   word var←c72848;
/*1*/   word d←v37404;
/*1*/   word s←v37432;
/*1*/   d←v37404 = (*  (ptr) dstLine←v18376 );
/*1*/   s←v37432 = w←v18348;
SOURCE(53125, 71)
/*1*/   {
/*1*/      word var←c72912;
/*1*/      {
/*1*/         word var←c72944;
/*1*/         {
/*1*/            word var←c72976;
/*1*/            {
/*1*/               word var←c73008;
/*1*/               var←c73008 = (word) XRM←BITNOT(s←v37432);
/*1*/               var←c72976 = (word) XRM←BITXOR(d←v37404, var←c73008);
/*1*/               };
/*1*/            var←c72944 = (word) XRM←BITXOR(var←c72976, d←v37404);
/*1*/            };
/*1*/         var←c72912 = (word) XRM←BITAND(var←c72944, bothMask←v19392);
/*1*/         };
/*1*/      var←c72848 = (word) XRM←BITXOR(var←c72912, d←v37404);
/*1*/      };
/*1*/   var←c72816 = var←c72848;
/*1*/   };
                           (*  (ptr) dstLine←v18376 ) = var←c72816;
                           };
SOURCE(57700, 19)
                        if ((count←v18040 <= 1)) {
SOURCE(57719, 4)
                           goto lab←L100503;
                           };
SOURCE(57725, 17)
                        count←v18040 = (count←v18040 - 1);
SOURCE(57744, 23)
                        dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(57769, 23)
                        srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                        goto lab←L100504;
                        lab←L100503: ;
                        }
                     else {
SOURCE(57807, 173)
                        lab←L100508: ;
SOURCE(57810, 13)
SOURCE(57438, 26)
                        dstLine←v18376 = dstPtr←v18068;
SOURCE(57466, 26)
                        srcLine←v18404 = srcPtr←v18124;
SOURCE(57494, 36)
                        if ((srcBit←v18152 >= dstBit←v18096)) {
SOURCE(57519, 11)
SOURCE(57026, 7)
                           hi←v18960 = lo←v18988;
SOURCE(57035, 15)
                           lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57052, 28)
                           srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(57082, 42)
                           w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
                           };
SOURCE(57825, 19)
SOURCE(57323, 22)
                        w←v18348 = (word) XRM←BITLSHIFT(lo←v18988, lSA←v18320);
SOURCE(57846, 40)
                        {
                           word var←c73040;
                           {
/*1*/   word var←c73072;
/*1*/   word d←v37328;
/*1*/   word s←v37356;
/*1*/   d←v37328 = (*  (ptr) dstLine←v18376 );
/*1*/   s←v37356 = w←v18348;
SOURCE(53125, 71)
/*1*/   {
/*1*/      word var←c73136;
/*1*/      {
/*1*/         word var←c73168;
/*1*/         {
/*1*/            word var←c73200;
/*1*/            {
/*1*/               word var←c73232;
/*1*/               var←c73232 = (word) XRM←BITNOT(s←v37356);
/*1*/               var←c73200 = (word) XRM←BITXOR(d←v37328, var←c73232);
/*1*/               };
/*1*/            var←c73168 = (word) XRM←BITXOR(var←c73200, d←v37328);
/*1*/            };
/*1*/         var←c73136 = (word) XRM←BITAND(var←c73168, bothMask←v19392);
/*1*/         };
/*1*/      var←c73072 = (word) XRM←BITXOR(var←c73136, d←v37328);
/*1*/      };
/*1*/   var←c73040 = var←c73072;
/*1*/   };
                           (*  (ptr) dstLine←v18376 ) = var←c73040;
                           };
SOURCE(57888, 19)
                        if ((count←v18040 <= 1)) {
SOURCE(57907, 4)
                           goto lab←L100507;
                           };
SOURCE(57913, 17)
                        count←v18040 = (count←v18040 - 1);
SOURCE(57932, 23)
                        dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(57957, 23)
                        srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                        goto lab←L100508;
                        lab←L100507: ;
                        };
                     };
                  break;
               case 2: 
SOURCE(58001, 235)
                  lab←L100512: ;
SOURCE(58004, 13)
SOURCE(57438, 26)
                  dstLine←v18376 = dstPtr←v18068;
SOURCE(57466, 26)
                  srcLine←v18404 = srcPtr←v18124;
SOURCE(57494, 36)
                  if ((srcBit←v18152 >= dstBit←v18096)) {
SOURCE(57519, 11)
SOURCE(57026, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57035, 15)
                     lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57052, 28)
                     srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(57082, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
                     };
SOURCE(58019, 15)
SOURCE(57180, 7)
                  hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                  lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                  w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(58036, 37)
                  {
                     word var←c73264;
                     {
                        word var←c73296;
                        word d←v37252;
                        word s←v37280;
                        d←v37252 = (*  (ptr) dstLine←v18376 );
                        s←v37280 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c73360;
                           {
/*1*/   word var←c73392;
/*1*/   {
/*1*/      word var←c73424;
/*1*/      {
/*1*/         word var←c73456;
/*1*/         var←c73456 = (word) XRM←BITNOT(s←v37280);
/*1*/         var←c73424 = (word) XRM←BITXOR(d←v37252, var←c73456);
/*1*/         };
/*1*/      var←c73392 = (word) XRM←BITXOR(var←c73424, d←v37252);
/*1*/      };
/*1*/   var←c73360 = (word) XRM←BITAND(var←c73392, lMask←v18264);
/*1*/   };
                           var←c73296 = (word) XRM←BITXOR(var←c73360, d←v37252);
                           };
                        var←c73264 = var←c73296;
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c73264;
                     };
SOURCE(58076, 27)
SOURCE(57323, 22)
                  w←v18348 = (word) XRM←BITLSHIFT(lo←v18988, lSA←v18320);
SOURCE(57347, 57)
                  if ((0 != fetchLastWord←v19072)) {
SOURCE(57361, 43)
                     w←v18348 = (w←v18348 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v18404)+1) ), rSA←v19016));
                     };
SOURCE(58105, 37)
                  {
                     word var←c73488;
                     {
                        word var←c73520;
                        word d←v37176;
                        word s←v37204;
                        d←v37176 = (* (( (ptr) dstLine←v18376)+1) );
                        s←v37204 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c73584;
                           {
/*1*/   word var←c73616;
/*1*/   {
/*1*/      word var←c73648;
/*1*/      {
/*1*/         word var←c73680;
/*1*/         var←c73680 = (word) XRM←BITNOT(s←v37204);
/*1*/         var←c73648 = (word) XRM←BITXOR(d←v37176, var←c73680);
/*1*/         };
/*1*/      var←c73616 = (word) XRM←BITXOR(var←c73648, d←v37176);
/*1*/      };
/*1*/   var←c73584 = (word) XRM←BITAND(var←c73616, rMask←v18292);
/*1*/   };
                           var←c73520 = (word) XRM←BITXOR(var←c73584, d←v37176);
                           };
                        var←c73488 = var←c73520;
                        };
                     (* (( (ptr) dstLine←v18376)+1) ) = var←c73488;
                     };
SOURCE(58144, 19)
                  if ((count←v18040 <= 1)) {
SOURCE(58163, 4)
                     goto lab←L100511;
                     };
SOURCE(58169, 17)
                  count←v18040 = (count←v18040 - 1);
SOURCE(58188, 23)
                  dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(58213, 23)
                  srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                  goto lab←L100512;
                  lab←L100511: ;
                  break;
               case 3: 
SOURCE(58258, 298)
                  lab←L100517: ;
SOURCE(58261, 13)
SOURCE(57438, 26)
                  dstLine←v18376 = dstPtr←v18068;
SOURCE(57466, 26)
                  srcLine←v18404 = srcPtr←v18124;
SOURCE(57494, 36)
                  if ((srcBit←v18152 >= dstBit←v18096)) {
SOURCE(57519, 11)
SOURCE(57026, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57035, 15)
                     lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57052, 28)
                     srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(57082, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
                     };
SOURCE(58276, 15)
SOURCE(57180, 7)
                  hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                  lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                  w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(58293, 37)
                  {
                     word var←c73712;
                     {
                        word var←c73744;
                        word d←v37100;
                        word s←v37128;
                        d←v37100 = (*  (ptr) dstLine←v18376 );
                        s←v37128 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c73808;
                           {
/*1*/   word var←c73840;
/*1*/   {
/*1*/      word var←c73872;
/*1*/      {
/*1*/         word var←c73904;
/*1*/         var←c73904 = (word) XRM←BITNOT(s←v37128);
/*1*/         var←c73872 = (word) XRM←BITXOR(d←v37100, var←c73904);
/*1*/         };
/*1*/      var←c73840 = (word) XRM←BITXOR(var←c73872, d←v37100);
/*1*/      };
/*1*/   var←c73808 = (word) XRM←BITAND(var←c73840, lMask←v18264);
/*1*/   };
                           var←c73744 = (word) XRM←BITXOR(var←c73808, d←v37100);
                           };
                        var←c73712 = var←c73744;
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c73712;
                     };
SOURCE(58333, 15)
SOURCE(57180, 7)
                  hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                  lo←v18988 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(57215, 42)
                  w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(58350, 43)
                  {
                     word var←c73936;
                     {
                        word var←c73968;
                        var←c73968 = (word) XRM←BITNOT(w←v18348);
                        var←c73936 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c73968);
                        };
                     (* (( (ptr) dstLine←v18376)+1) ) = var←c73936;
                     };
SOURCE(58396, 27)
SOURCE(57323, 22)
                  w←v18348 = (word) XRM←BITLSHIFT(lo←v18988, lSA←v18320);
SOURCE(57347, 57)
                  if ((0 != fetchLastWord←v19072)) {
SOURCE(57361, 43)
                     w←v18348 = (w←v18348 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v18404)+2) ), rSA←v19016));
                     };
SOURCE(58425, 37)
                  {
                     word var←c74000;
                     {
                        word var←c74032;
                        word d←v37024;
                        word s←v37052;
                        d←v37024 = (* (( (ptr) dstLine←v18376)+2) );
                        s←v37052 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c74096;
                           {
/*1*/   word var←c74128;
/*1*/   {
/*1*/      word var←c74160;
/*1*/      {
/*1*/         word var←c74192;
/*1*/         var←c74192 = (word) XRM←BITNOT(s←v37052);
/*1*/         var←c74160 = (word) XRM←BITXOR(d←v37024, var←c74192);
/*1*/         };
/*1*/      var←c74128 = (word) XRM←BITXOR(var←c74160, d←v37024);
/*1*/      };
/*1*/   var←c74096 = (word) XRM←BITAND(var←c74128, rMask←v18292);
/*1*/   };
                           var←c74032 = (word) XRM←BITXOR(var←c74096, d←v37024);
                           };
                        var←c74000 = var←c74032;
                        };
                     (* (( (ptr) dstLine←v18376)+2) ) = var←c74000;
                     };
SOURCE(58464, 19)
                  if ((count←v18040 <= 1)) {
SOURCE(58483, 4)
                     goto lab←L100516;
                     };
SOURCE(58489, 17)
                  count←v18040 = (count←v18040 - 1);
SOURCE(58508, 23)
                  dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(58533, 23)
                  srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                  goto lab←L100517;
                  lab←L100516: ;
                  break;
               case 4: 
SOURCE(58578, 361)
                  lab←L100522: ;
SOURCE(58581, 13)
SOURCE(57438, 26)
                  dstLine←v18376 = dstPtr←v18068;
SOURCE(57466, 26)
                  srcLine←v18404 = srcPtr←v18124;
SOURCE(57494, 36)
                  if ((srcBit←v18152 >= dstBit←v18096)) {
SOURCE(57519, 11)
SOURCE(57026, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57035, 15)
                     lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57052, 28)
                     srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(57082, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
                     };
SOURCE(58596, 15)
SOURCE(57180, 7)
                  hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                  lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                  w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(58613, 37)
                  {
                     word var←c74224;
                     {
                        word var←c74256;
                        word d←v36948;
                        word s←v36976;
                        d←v36948 = (*  (ptr) dstLine←v18376 );
                        s←v36976 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c74320;
                           {
/*1*/   word var←c74352;
/*1*/   {
/*1*/      word var←c74384;
/*1*/      {
/*1*/         word var←c74416;
/*1*/         var←c74416 = (word) XRM←BITNOT(s←v36976);
/*1*/         var←c74384 = (word) XRM←BITXOR(d←v36948, var←c74416);
/*1*/         };
/*1*/      var←c74352 = (word) XRM←BITXOR(var←c74384, d←v36948);
/*1*/      };
/*1*/   var←c74320 = (word) XRM←BITAND(var←c74352, lMask←v18264);
/*1*/   };
                           var←c74256 = (word) XRM←BITXOR(var←c74320, d←v36948);
                           };
                        var←c74224 = var←c74256;
                        };
                     (*  (ptr) dstLine←v18376 ) = var←c74224;
                     };
SOURCE(58653, 15)
SOURCE(57180, 7)
                  hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                  lo←v18988 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(57215, 42)
                  w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(58670, 43)
                  {
                     word var←c74448;
                     {
                        word var←c74480;
                        var←c74480 = (word) XRM←BITNOT(w←v18348);
                        var←c74448 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c74480);
                        };
                     (* (( (ptr) dstLine←v18376)+1) ) = var←c74448;
                     };
SOURCE(58716, 15)
SOURCE(57180, 7)
                  hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                  lo←v18988 = (* (( (ptr) srcLine←v18404)+2) );
SOURCE(57215, 42)
                  w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(58733, 43)
                  {
                     word var←c74512;
                     {
                        word var←c74544;
                        var←c74544 = (word) XRM←BITNOT(w←v18348);
                        var←c74512 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+2) ), var←c74544);
                        };
                     (* (( (ptr) dstLine←v18376)+2) ) = var←c74512;
                     };
SOURCE(58779, 27)
SOURCE(57323, 22)
                  w←v18348 = (word) XRM←BITLSHIFT(lo←v18988, lSA←v18320);
SOURCE(57347, 57)
                  if ((0 != fetchLastWord←v19072)) {
SOURCE(57361, 43)
                     w←v18348 = (w←v18348 + (word) XRM←BITRSHIFT((* (( (ptr) srcLine←v18404)+3) ), rSA←v19016));
                     };
SOURCE(58808, 37)
                  {
                     word var←c74576;
                     {
                        word var←c74608;
                        word d←v36872;
                        word s←v36900;
                        d←v36872 = (* (( (ptr) dstLine←v18376)+3) );
                        s←v36900 = w←v18348;
SOURCE(53125, 71)
                        {
                           word var←c74672;
                           {
/*1*/   word var←c74704;
/*1*/   {
/*1*/      word var←c74736;
/*1*/      {
/*1*/         word var←c74768;
/*1*/         var←c74768 = (word) XRM←BITNOT(s←v36900);
/*1*/         var←c74736 = (word) XRM←BITXOR(d←v36872, var←c74768);
/*1*/         };
/*1*/      var←c74704 = (word) XRM←BITXOR(var←c74736, d←v36872);
/*1*/      };
/*1*/   var←c74672 = (word) XRM←BITAND(var←c74704, rMask←v18292);
/*1*/   };
                           var←c74608 = (word) XRM←BITXOR(var←c74672, d←v36872);
                           };
                        var←c74576 = var←c74608;
                        };
                     (* (( (ptr) dstLine←v18376)+3) ) = var←c74576;
                     };
SOURCE(58847, 19)
                  if ((count←v18040 <= 1)) {
SOURCE(58866, 4)
                     goto lab←L100521;
                     };
SOURCE(58872, 17)
                  count←v18040 = (count←v18040 - 1);
SOURCE(58891, 23)
                  dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(58916, 23)
                  srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                  goto lab←L100522;
                  lab←L100521: ;
                  break;
               default: 
SOURCE(58994, 1051)
                  lab←L100527: ;
                  {
                     word nw←v19468;
                     nw←v19468 = (ndw←v18236 - 2);
SOURCE(59039, 13)
SOURCE(57438, 26)
                     dstLine←v18376 = dstPtr←v18068;
SOURCE(57466, 26)
                     srcLine←v18404 = srcPtr←v18124;
SOURCE(57494, 36)
                     if ((srcBit←v18152 >= dstBit←v18096)) {
SOURCE(57519, 11)
SOURCE(57026, 7)
                        hi←v18960 = lo←v18988;
SOURCE(57035, 15)
                        lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57052, 28)
                        srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(57082, 42)
                        w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
                        };
SOURCE(59054, 15)
SOURCE(57180, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                     lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59071, 37)
                     {
                        word var←c74800;
                        {
                           word var←c74832;
                           word d←v36796;
                           word s←v36824;
                           d←v36796 = (*  (ptr) dstLine←v18376 );
                           s←v36824 = w←v18348;
SOURCE(53125, 71)
                           {
/*1*/   word var←c74896;
/*1*/   {
/*1*/      word var←c74928;
/*1*/      {
/*1*/         word var←c74960;
/*1*/         {
/*1*/            word var←c74992;
/*1*/            var←c74992 = (word) XRM←BITNOT(s←v36824);
/*1*/            var←c74960 = (word) XRM←BITXOR(d←v36796, var←c74992);
/*1*/            };
/*1*/         var←c74928 = (word) XRM←BITXOR(var←c74960, d←v36796);
/*1*/         };
/*1*/      var←c74896 = (word) XRM←BITAND(var←c74928, lMask←v18264);
/*1*/      };
/*1*/   var←c74832 = (word) XRM←BITXOR(var←c74896, d←v36796);
/*1*/   };
                           var←c74800 = var←c74832;
                           };
                        (*  (ptr) dstLine←v18376 ) = var←c74800;
                        };
SOURCE(59110, 28)
                     dstLine←v18376 = (dstLine←v18376 + 4);
SOURCE(59140, 28)
                     srcLine←v18404 = (srcLine←v18404 + 4);
SOURCE(59170, 340)
                     lab←L100531: ;
                     if ((nw←v19468 >= 4)) {
                        }
                     else {
                        goto lab←L100529;
                        };
SOURCE(59187, 15)
SOURCE(57180, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                     lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59204, 43)
                     {
                        word var←c75024;
                        {
                           word var←c75056;
                           var←c75056 = (word) XRM←BITNOT(w←v18348);
                           var←c75024 = (word) XRM←BITXOR((*  (ptr) dstLine←v18376 ), var←c75056);
                           };
                        (*  (ptr) dstLine←v18376 ) = var←c75024;
                        };
SOURCE(59249, 15)
SOURCE(57180, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                     lo←v18988 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(57215, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59266, 43)
                     {
                        word var←c75088;
                        {
                           word var←c75120;
                           var←c75120 = (word) XRM←BITNOT(w←v18348);
                           var←c75088 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c75120);
                           };
                        (* (( (ptr) dstLine←v18376)+1) ) = var←c75088;
                        };
SOURCE(59311, 15)
SOURCE(57180, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                     lo←v18988 = (* (( (ptr) srcLine←v18404)+2) );
SOURCE(57215, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59328, 43)
                     {
                        word var←c75152;
                        {
                           word var←c75184;
                           var←c75184 = (word) XRM←BITNOT(w←v18348);
                           var←c75152 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+2) ), var←c75184);
                           };
                        (* (( (ptr) dstLine←v18376)+2) ) = var←c75152;
                        };
SOURCE(59373, 15)
SOURCE(57180, 7)
                     hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                     lo←v18988 = (* (( (ptr) srcLine←v18404)+3) );
SOURCE(57215, 42)
                     w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59390, 43)
                     {
                        word var←c75216;
                        {
                           word var←c75248;
                           var←c75248 = (word) XRM←BITNOT(w←v18348);
                           var←c75216 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+3) ), var←c75248);
                           };
                        (* (( (ptr) dstLine←v18376)+3) ) = var←c75216;
                        };
SOURCE(59435, 30)
                     dstLine←v18376 = (dstLine←v18376 + 16);
SOURCE(59467, 30)
                     srcLine←v18404 = (srcLine←v18404 + 16);
SOURCE(59499, 11)
                     nw←v19468 = (nw←v19468 - 4);
                     goto lab←L100531;
                     lab←L100529: ;
SOURCE(59521, 217)
                     if ((nw←v19468 >= 2)) {
SOURCE(59539, 15)
SOURCE(57180, 7)
                        hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                        lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                        w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59556, 43)
                        {
                           word var←c75280;
                           {
/*1*/   word var←c75312;
/*1*/   var←c75312 = (word) XRM←BITNOT(w←v18348);
/*1*/   var←c75280 = (word) XRM←BITXOR((*  (ptr) dstLine←v18376 ), var←c75312);
/*1*/   };
                           (*  (ptr) dstLine←v18376 ) = var←c75280;
                           };
SOURCE(59601, 15)
SOURCE(57180, 7)
                        hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                        lo←v18988 = (* (( (ptr) srcLine←v18404)+1) );
SOURCE(57215, 42)
                        w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59618, 43)
                        {
                           word var←c75344;
                           {
/*1*/   word var←c75376;
/*1*/   var←c75376 = (word) XRM←BITNOT(w←v18348);
/*1*/   var←c75344 = (word) XRM←BITXOR((* (( (ptr) dstLine←v18376)+1) ), var←c75376);
/*1*/   };
                           (* (( (ptr) dstLine←v18376)+1) ) = var←c75344;
                           };
SOURCE(59663, 30)
                        dstLine←v18376 = (dstLine←v18376 + 8);
SOURCE(59695, 30)
                        srcLine←v18404 = (srcLine←v18404 + 8);
SOURCE(59727, 11)
                        nw←v19468 = (nw←v19468 - 2);
                        };
SOURCE(59743, 137)
                     if ((nw←v19468 == 1)) {
SOURCE(59760, 15)
SOURCE(57180, 7)
                        hi←v18960 = lo←v18988;
SOURCE(57189, 24)
                        lo←v18988 = (*  (ptr) srcLine←v18404 );
SOURCE(57215, 42)
                        w←v18348 = ((word) XRM←BITLSHIFT(hi←v18960, lSA←v18320) + (word) XRM←BITRSHIFT(lo←v18988, rSA←v19016));
SOURCE(59777, 43)
                        {
                           word var←c75408;
                           {
/*1*/   word var←c75440;
/*1*/   var←c75440 = (word) XRM←BITNOT(w←v18348);
/*1*/   var←c75408 = (word) XRM←BITXOR((*  (ptr) dstLine←v18376 ), var←c75440);
/*1*/   };
                           (*  (ptr) dstLine←v18376 ) = var←c75408;
                           };
SOURCE(59822, 28)
                        dstLine←v18376 = (dstLine←v18376 + 4);
SOURCE(59852, 28)
                        srcLine←v18404 = (srcLine←v18404 + 4);
                        };
SOURCE(59885, 27)
SOURCE(57323, 22)
                     w←v18348 = (word) XRM←BITLSHIFT(lo←v18988, lSA←v18320);
SOURCE(57347, 57)
                     if ((0 != fetchLastWord←v19072)) {
SOURCE(57361, 43)
                        w←v18348 = (w←v18348 + (word) XRM←BITRSHIFT((*  (ptr) srcLine←v18404 ), rSA←v19016));
                        };
SOURCE(59914, 37)
                     {
                        word var←c75472;
                        {
                           word var←c75504;
                           word d←v36720;
                           word s←v36748;
                           d←v36720 = (*  (ptr) dstLine←v18376 );
                           s←v36748 = w←v18348;
SOURCE(53125, 71)
                           {
/*1*/   word var←c75568;
/*1*/   {
/*1*/      word var←c75600;
/*1*/      {
/*1*/         word var←c75632;
/*1*/         {
/*1*/            word var←c75664;
/*1*/            var←c75664 = (word) XRM←BITNOT(s←v36748);
/*1*/            var←c75632 = (word) XRM←BITXOR(d←v36720, var←c75664);
/*1*/            };
/*1*/         var←c75600 = (word) XRM←BITXOR(var←c75632, d←v36720);
/*1*/         };
/*1*/      var←c75568 = (word) XRM←BITAND(var←c75600, rMask←v18292);
/*1*/      };
/*1*/   var←c75504 = (word) XRM←BITXOR(var←c75568, d←v36720);
/*1*/   };
                           var←c75472 = var←c75504;
                           };
                        (*  (ptr) dstLine←v18376 ) = var←c75472;
                        };
SOURCE(59953, 19)
                     if ((count←v18040 <= 1)) {
SOURCE(59972, 4)
                        goto lab←L100526;
                        };
SOURCE(59978, 17)
                     count←v18040 = (count←v18040 - 1);
SOURCE(59997, 23)
                     dstPtr←v18068 = (dstPtr←v18068 + dRast←v18180);
SOURCE(60022, 23)
                     srcPtr←v18124 = (srcPtr←v18124 + sRast←v18208);
                     };
                  goto lab←L100527;
                  lab←L100526: ;
                  break;
               };
            };
         };
      };
   }

/* file: RasterOpForwardImpl, module: RasterOpForwardImpl, compiled at: February 21, 1992 11:35:17 pm PST */ 
extern void XR←install←RasterOpForwardImpl() {
   NoName←Q19320();
   }
extern void XR←run←RasterOpForwardImpl() { XR←Start(&globalframe); }