[tremor] [PATCH] elimination of operand negation in mdct.c

Nicolas Pitre nico at cam.org
Wed Sep 11 19:54:33 PDT 2002


The attached patch is concerned by statements of the type:

        x2[7]   = MULT30(r1 , -*T ) - MULT30( r0 , *V);

The minus sign in "-*T" is forcing the compiler to negate the referenced
value requiring extra instructions and clobbered registers.  This is a waste
and can be avoided.  The patch reworks those statements and the quarter_sin
table to fix that.

Once this patch is committed I'll submit some other ones providing yet more
significant code generation improvements and performance.

<p>Nicolas

-------------- next part --------------
Index: mdct.c
===================================================================
RCS file: /usr/local/cvsroot/Tremor/mdct.c,v
retrieving revision 1.3
diff -u -r1.3 mdct.c
--- mdct.c	10 Sep 2002 08:20:40 -0000	1.3
+++ mdct.c	12 Sep 2002 02:20:58 -0000
@@ -238,32 +238,32 @@
 	       r1      = x1[7]      -  x2[7];
 	       x1[6]  += x2[6];
 	       x1[7]  += x2[7];
-	       x2[6]   = MULT30(r1 , *V ) + MULT30( r0 , -*T);
-	       x2[7]   = MULT30(r1 , -*T ) - MULT30( r0 , *V);
+	       x2[6]   = MULT30(r0 , *T) - MULT30(r1 , *V);
+	       x2[7]   = MULT30(r1 , *T) + MULT30(r0 , *V);
 	T-=step;
 	V+=step;
 	       r0      = x1[4]      -  x2[4];
 	       r1      = x1[5]      -  x2[5];
 	       x1[4]  += x2[4];
 	       x1[5]  += x2[5];
-	       x2[4]   = MULT30(r1 , *V ) + MULT30( r0 , -*T);
-	       x2[5]   = MULT30(r1 , -*T ) - MULT30( r0 , *V);
+	       x2[4]   = MULT30(r0 , *T) - MULT30(r1 , *V);
+	       x2[5]   = MULT30(r1 , *T) + MULT30(r0 , *V);
 	T-=step;
 	V+=step;	
 	       r0      = x1[2]      -  x2[2];
 	       r1      = x1[3]      -  x2[3];
 	       x1[2]  += x2[2];
 	       x1[3]  += x2[3];
-	       x2[2]   = MULT30(r1 , *V ) + MULT30( r0 , -*T);
-	       x2[3]   = MULT30(r1 , -*T ) - MULT30( r0 , *V);
+	       x2[2]   = MULT30(r0 , *T) - MULT30(r1 , *V);
+	       x2[3]   = MULT30(r1 , *T) + MULT30(r0 , *V);
 	T-=step;
 	V+=step;	
 	       r0      = x1[0]      -  x2[0];
 	       r1      = x1[1]      -  x2[1];
 	       x1[0]  += x2[0];
 	       x1[1]  += x2[1];
-	       x2[0]   = MULT30(r1 , *V ) + MULT30( r0 , -*T);
-	       x2[1]   = MULT30(r1 , -*T ) - MULT30( r0 , *V);
+	       x2[0]   = MULT30(r0 , *T) - MULT30(r1 , *V);
+	       x2[1]   = MULT30(r1 , *T) + MULT30(r0 , *V);
 	       
         x1-=8;
         x2-=8;
@@ -273,36 +273,36 @@
 
   do{
     
-               r0      = x1[6]      -  x2[6];
-	       r1      = x1[7]      -  x2[7];
+               r0      = x2[6]      -  x1[6];
+	       r1      = x2[7]      -  x1[7];
 	       x1[6]  += x2[6];
 	       x1[7]  += x2[7];
-	       x2[6]   = MULT30(r1 , *V ) + MULT30( r0 , *T);
-	       x2[7]   = MULT30(r1 , *T ) - MULT30( r0 , *V);
+	       x2[6]   = MULT30(r0 , *T) + MULT30(r1 , *V);
+	       x2[7]   = MULT30(r1 , *T) - MULT30(r0 , *V);
 	T+=step;
 	V-=step;
-	       r0      = x1[4]      -  x2[4];
-	       r1      = x1[5]      -  x2[5];
+	       r0      = x2[4]      -  x1[4];
+	       r1      = x2[5]      -  x1[5];
 	       x1[4]  += x2[4];
 	       x1[5]  += x2[5];
-	       x2[4]   = MULT30(r1 , *V ) + MULT30( r0 , *T);
-	       x2[5]   = MULT30(r1 , *T ) - MULT30( r0 , *V);
+	       x2[4]   = MULT30(r0 , *T) + MULT30(r1 , *V);
+	       x2[5]   = MULT30(r1 , *T) - MULT30(r0 , *V);
 	T+=step;
 	V-=step;	
-	       r0      = x1[2]      -  x2[2];
-	       r1      = x1[3]      -  x2[3];
+	       r0      = x2[2]      -  x1[2];
+	       r1      = x2[3]      -  x1[3];
 	       x1[2]  += x2[2];
 	       x1[3]  += x2[3];
-	       x2[2]   = MULT30(r1 , *V ) + MULT30( r0 , *T);
-	       x2[3]   = MULT30(r1 , *T ) - MULT30( r0 , *V);
+	       x2[2]   = MULT30(r0 , *T) + MULT30(r1 , *V);
+	       x2[3]   = MULT30(r1 , *T) - MULT30(r0 , *V);
 	T+=step;
 	V-=step;	
-	       r0      = x1[0]      -  x2[0];
-	       r1      = x1[1]      -  x2[1];
+	       r0      = x2[0]      -  x1[0];
+	       r1      = x2[1]      -  x1[1];
 	       x1[0]  += x2[0];
 	       x1[1]  += x2[1];
-	       x2[0]   = MULT30(r1 , *V ) + MULT30( r0 , *T);
-	       x2[1]   = MULT30(r1 , *T ) - MULT30( r0 , *V);
+	       x2[0]   = MULT30(r0 , *T) + MULT30(r1 , *V);
+	       x2[1]   = MULT30(r1 , *T) - MULT30(r0 , *V);
 	       
         x1-=8;
         x2-=8;
@@ -392,10 +392,10 @@
   int n2=n>>1;
   int n4=n>>2;
   mdct_lookup init;
-  DATA_TYPE *iX;
+  DATA_TYPE const *iX;
   DATA_TYPE *oX;
-  DATA_TYPE *T;
-  DATA_TYPE *V;
+  DATA_TYPE const *T;
+  DATA_TYPE const *V;
   int step;
 
   mdct_init(&init,n);
@@ -411,12 +411,12 @@
   do{
 
     oX         -= 4;
-    oX[2]       = MULT30(-iX[6] , *V) - MULT30(iX[4]  , *T);
-    oX[3]       = MULT30 (iX[4] , *V) - MULT30(iX[6]  , *T);
+    oX[2]       = MULT30(iX[4] , *T) + MULT30(iX[6] , *V);
+    oX[3]       = MULT30(iX[6] , *T) - MULT30(iX[4] , *V);
     T          += step;
     V          -= step;
-    oX[0]       = MULT30(-iX[2] , *V) - MULT30(iX[0]  , *T);
-    oX[1]       = MULT30 (iX[0] , *V) - MULT30(iX[2]  , *T);
+    oX[0]       = MULT30(iX[0] , *T) + MULT30(iX[2] , *V);
+    oX[1]       = MULT30(iX[2] , *T) - MULT30(iX[0] , *V);
     iX         -= 8;
     T          += step;
     V	       -= step;
@@ -430,24 +430,24 @@
 
   do{
    
-    V          -= step;
     T          += step;
-    oX[0]       =  MULT30 (iX[4] ,  *V) + MULT30(iX[6] , -*T);
-    oX[1]       =  MULT30 (iX[4] , -*T) - MULT30(iX[6] ,  *V);
     V          -= step;
+    oX[0]       = MULT30(iX[6] , *T) - MULT30(iX[4] , *V);
+    oX[1]       = MULT30(iX[4] , *T) + MULT30(iX[6] , *V);
     T          += step;
-    oX[2]       =  MULT30 (iX[0] ,  *V) + MULT30(iX[2] , -*T);
-    oX[3]       =  MULT30 (iX[0] , -*T) - MULT30(iX[2] ,  *V);
+    V          -= step;
+    oX[2]       = MULT30(iX[2] , *T) - MULT30(iX[0] , *V);
+    oX[3]       = MULT30(iX[0] , *T) + MULT30(iX[2] , *V);
     
     iX         -= 8;
     oX         += 4;
 
   }while(iX>=in);
 
-  mdct_butterflies(&init,out+n2,n2,13-(init.log2n));
+  mdct_butterflies(&init,out+n2,n2,13-init.log2n);
   mdct_bitreverse(&init,out,13-init.log2n);
 
-  /* roatate + window */
+  /* rotate + window */
 
   {
     DATA_TYPE *oX1=out+n2+n4;
Index: mdct_lookup.h
===================================================================
RCS file: /usr/local/cvsroot/Tremor/mdct_lookup.h,v
retrieving revision 1.3
diff -u -r1.3 mdct_lookup.h
--- mdct_lookup.h	10 Sep 2002 08:20:40 -0000	1.3
+++ mdct_lookup.h	12 Sep 2002 02:21:10 -0000
@@ -3100,263 +3100,175 @@
 };
 
 static ogg_int32_t quarter_sin[1025]={
-  0x00000000, 0xffe6de05, 0xffcdbc0f, 0xffb49a1f,
-  0xff9b783c, 0xff825668, 0xff6934a8, 0xff5012fe,
-  0xff36f170, 0xff1dd001, 0xff04aeb5, 0xfeeb8d8f,
-  0xfed26c94, 0xfeb94bc8, 0xfea02b2e, 0xfe870aca,
-  0xfe6deaa1, 0xfe54cab5, 0xfe3bab0b, 0xfe228ba7,
-  0xfe096c8d, 0xfdf04dc0, 0xfdd72f45, 0xfdbe111e,
-  0xfda4f351, 0xfd8bd5e1, 0xfd72b8d2, 0xfd599c28,
-  0xfd407fe6, 0xfd276410, 0xfd0e48ab, 0xfcf52dbb,
-  0xfcdc1342, 0xfcc2f945, 0xfca9dfc8, 0xfc90c6cf,
-  0xfc77ae5e, 0xfc5e9678, 0xfc457f21, 0xfc2c685d,
-  0xfc135231, 0xfbfa3c9f, 0xfbe127ac, 0xfbc8135c,
-  0xfbaeffb3, 0xfb95ecb4, 0xfb7cda63, 0xfb63c8c4,
-  0xfb4ab7db, 0xfb31a7ac, 0xfb18983b, 0xfaff898c,
-  0xfae67ba2, 0xfacd6e81, 0xfab4622d, 0xfa9b56ab,
-  0xfa824bfd, 0xfa694229, 0xfa503930, 0xfa373119,
-  0xfa1e29e5, 0xfa05239a, 0xf9ec1e3b, 0xf9d319cc,
-  0xf9ba1651, 0xf9a113cd, 0xf9881245, 0xf96f11bc,
-  0xf9561237, 0xf93d13b8, 0xf9241645, 0xf90b19e0,
-  0xf8f21e8e, 0xf8d92452, 0xf8c02b31, 0xf8a7332e,
-  0xf88e3c4d, 0xf8754692, 0xf85c5201, 0xf8435e9d,
-  0xf82a6c6a, 0xf8117b6d, 0xf7f88ba9, 0xf7df9d22,
-  0xf7c6afdc, 0xf7adc3db, 0xf794d922, 0xf77befb5,
-  0xf7630799, 0xf74a20d0, 0xf7313b60, 0xf718574b,
-  0xf6ff7496, 0xf6e69344, 0xf6cdb359, 0xf6b4d4d9,
-  0xf69bf7c9, 0xf6831c2b, 0xf66a4203, 0xf6516956,
-  0xf6389228, 0xf61fbc7b, 0xf606e854, 0xf5ee15b7,
-  0xf5d544a7, 0xf5bc7529, 0xf5a3a740, 0xf58adaf0,
-  0xf572103d, 0xf559472b, 0xf5407fbd, 0xf527b9f7,
-  0xf50ef5de, 0xf4f63374, 0xf4dd72be, 0xf4c4b3c0,
-  0xf4abf67e, 0xf4933afa, 0xf47a8139, 0xf461c940,
-  0xf4491311, 0xf4305eb0, 0xf417ac22, 0xf3fefb6a,
-  0xf3e64c8c, 0xf3cd9f8b, 0xf3b4f46c, 0xf39c4b32,
-  0xf383a3e2, 0xf36afe7e, 0xf3525b0b, 0xf339b98d,
-  0xf3211a07, 0xf3087c7d, 0xf2efe0f2, 0xf2d7476c,
-  0xf2beafed, 0xf2a61a7a, 0xf28d8715, 0xf274f5c3,
-  0xf25c6688, 0xf243d968, 0xf22b4e66, 0xf212c585,
-  0xf1fa3ecb, 0xf1e1ba3a, 0xf1c937d6, 0xf1b0b7a4,
-  0xf19839a6, 0xf17fbde2, 0xf1674459, 0xf14ecd11,
-  0xf136580d, 0xf11de551, 0xf10574e0, 0xf0ed06bf,
-  0xf0d49af1, 0xf0bc317a, 0xf0a3ca5d, 0xf08b659f,
-  0xf0730342, 0xf05aa34c, 0xf04245c0, 0xf029eaa1,
-  0xf01191f3, 0xeff93bba, 0xefe0e7f9, 0xefc896b5,
-  0xefb047f2, 0xef97fbb2, 0xef7fb1fa, 0xef676ace,
-  0xef4f2630, 0xef36e426, 0xef1ea4b2, 0xef0667d9,
-  0xeeee2d9d, 0xeed5f604, 0xeebdc110, 0xeea58ec6,
-  0xee8d5f29, 0xee75323c, 0xee5d0804, 0xee44e084,
-  0xee2cbbc1, 0xee1499bd, 0xedfc7a7c, 0xede45e03,
-  0xedcc4454, 0xedb42d74, 0xed9c1967, 0xed84082f,
-  0xed6bf9d1, 0xed53ee51, 0xed3be5b1, 0xed23dff7,
-  0xed0bdd25, 0xecf3dd3f, 0xecdbe04a, 0xecc3e648,
-  0xecabef3d, 0xec93fb2e, 0xec7c0a1d, 0xec641c0e,
-  0xec4c3106, 0xec344908, 0xec1c6417, 0xec048237,
-  0xebeca36c, 0xebd4c7ba, 0xebbcef23, 0xeba519ad,
-  0xeb8d475b, 0xeb75782f, 0xeb5dac2f, 0xeb45e35d,
-  0xeb2e1dbe, 0xeb165b54, 0xeafe9c24, 0xeae6e031,
-  0xeacf277f, 0xeab77212, 0xea9fbfed, 0xea881114,
-  0xea70658a, 0xea58bd54, 0xea411874, 0xea2976ef,
-  0xea11d8c8, 0xe9fa3e03, 0xe9e2a6a3, 0xe9cb12ad,
-  0xe9b38223, 0xe99bf509, 0xe9846b63, 0xe96ce535,
-  0xe9556282, 0xe93de34e, 0xe926679c, 0xe90eef71,
-  0xe8f77acf, 0xe8e009ba, 0xe8c89c37, 0xe8b13248,
-  0xe899cbf1, 0xe8826936, 0xe86b0a1a, 0xe853aea1,
-  0xe83c56cf, 0xe82502a7, 0xe80db22d, 0xe7f66564,
-  0xe7df1c50, 0xe7c7d6f4, 0xe7b09555, 0xe7995776,
-  0xe7821d59, 0xe76ae704, 0xe753b479, 0xe73c85bc,
-  0xe7255ad1, 0xe70e33bb, 0xe6f7107e, 0xe6dff11d,
-  0xe6c8d59c, 0xe6b1bdff, 0xe69aaa48, 0xe6839a7c,
-  0xe66c8e9f, 0xe65586b3, 0xe63e82bc, 0xe62782be,
-  0xe61086bc, 0xe5f98ebb, 0xe5e29abc, 0xe5cbaac5,
-  0xe5b4bed8, 0xe59dd6f9, 0xe586f32c, 0xe5701374,
-  0xe55937d5, 0xe5426051, 0xe52b8cee, 0xe514bdad,
-  0xe4fdf294, 0xe4e72ba4, 0xe4d068e2, 0xe4b9aa52,
-  0xe4a2eff6, 0xe48c39d3, 0xe47587eb, 0xe45eda43,
-  0xe44830dd, 0xe4318bbe, 0xe41aeae8, 0xe4044e60,
-  0xe3edb628, 0xe3d72245, 0xe3c092b9, 0xe3aa0788,
-  0xe39380b6, 0xe37cfe47, 0xe366803c, 0xe350069b,
-  0xe3399167, 0xe32320a2, 0xe30cb451, 0xe2f64c77,
-  0xe2dfe917, 0xe2c98a35, 0xe2b32fd4, 0xe29cd9f8,
-  0xe28688a4, 0xe2703bdc, 0xe259f3a3, 0xe243affc,
-  0xe22d70eb, 0xe2173674, 0xe2010099, 0xe1eacf5f,
-  0xe1d4a2c8, 0xe1be7ad8, 0xe1a85793, 0xe19238fb,
-  0xe17c1f15, 0xe16609e3, 0xe14ff96a, 0xe139edac,
-  0xe123e6ad, 0xe10de470, 0xe0f7e6f9, 0xe0e1ee4b,
-  0xe0cbfa6a, 0xe0b60b58, 0xe0a0211a, 0xe08a3bb2,
-  0xe0745b24, 0xe05e7f74, 0xe048a8a4, 0xe032d6b8,
-  0xe01d09b4, 0xe007419b, 0xdff17e70, 0xdfdbc036,
-  0xdfc606f1, 0xdfb052a5, 0xdf9aa354, 0xdf84f902,
-  0xdf6f53b3, 0xdf59b369, 0xdf441828, 0xdf2e81f3,
-  0xdf18f0ce, 0xdf0364bc, 0xdeedddc0, 0xded85bdd,
-  0xdec2df18, 0xdead6773, 0xde97f4f1, 0xde828796,
-  0xde6d1f65, 0xde57bc62, 0xde425e8f, 0xde2d05f1,
-  0xde17b28a, 0xde02645d, 0xdded1b6e, 0xddd7d7c1,
-  0xddc29958, 0xddad6036, 0xdd982c60, 0xdd82fdd8,
-  0xdd6dd4a2, 0xdd58b0c0, 0xdd439236, 0xdd2e7908,
-  0xdd196538, 0xdd0456ca, 0xdcef4dc2, 0xdcda4a21,
-  0xdcc54bec, 0xdcb05326, 0xdc9b5fd2, 0xdc8671f3,
-  0xdc71898d, 0xdc5ca6a2, 0xdc47c936, 0xdc32f14d,
-  0xdc1e1ee9, 0xdc09520d, 0xdbf48abd, 0xdbdfc8fc,
-  0xdbcb0cce, 0xdbb65634, 0xdba1a534, 0xdb8cf9cf,
-  0xdb785409, 0xdb63b3e5, 0xdb4f1967, 0xdb3a8491,
-  0xdb25f566, 0xdb116beb, 0xdafce821, 0xdae86a0d,
-  0xdad3f1b1, 0xdabf7f11, 0xdaab122f, 0xda96ab0f,
-  0xda8249b4, 0xda6dee21, 0xda599859, 0xda454860,
-  0xda30fe38, 0xda1cb9e5, 0xda087b69, 0xd9f442c9,
-  0xd9e01006, 0xd9cbe325, 0xd9b7bc27, 0xd9a39b11,
-  0xd98f7fe6, 0xd97b6aa8, 0xd9675b5a, 0xd9535201,
-  0xd93f4e9e, 0xd92b5135, 0xd91759c9, 0xd903685d,
-  0xd8ef7cf4, 0xd8db9792, 0xd8c7b838, 0xd8b3deeb,
-  0xd8a00bae, 0xd88c3e83, 0xd878776d, 0xd864b670,
-  0xd850fb8e, 0xd83d46cc, 0xd829982b, 0xd815efae,
-  0xd8024d59, 0xd7eeb130, 0xd7db1b34, 0xd7c78b68,
-  0xd7b401d1, 0xd7a07e70, 0xd78d014a, 0xd7798a60,
-  0xd76619b6, 0xd752af4f, 0xd73f4b2e, 0xd72bed55,
-  0xd71895c9, 0xd705448b, 0xd6f1f99f, 0xd6deb508,
-  0xd6cb76c9, 0xd6b83ee4, 0xd6a50d5d, 0xd691e237,
-  0xd67ebd74, 0xd66b9f18, 0xd6588725, 0xd645759f,
-  0xd6326a88, 0xd61f65e4, 0xd60c67b4, 0xd5f96ffd,
-  0xd5e67ec1, 0xd5d39403, 0xd5c0afc6, 0xd5add20d,
-  0xd59afadb, 0xd5882a32, 0xd5756016, 0xd5629c89,
-  0xd54fdf8f, 0xd53d292a, 0xd52a795d, 0xd517d02b,
-  0xd5052d97, 0xd4f291a4, 0xd4dffc54, 0xd4cd6dab,
-  0xd4bae5ab, 0xd4a86458, 0xd495e9b3, 0xd48375c1,
-  0xd4710883, 0xd45ea1fd, 0xd44c4232, 0xd439e923,
-  0xd42796d5, 0xd4154b4a, 0xd4030684, 0xd3f0c887,
-  0xd3de9156, 0xd3cc60f2, 0xd3ba3760, 0xd3a814a2,
-  0xd395f8ba, 0xd383e3ab, 0xd371d579, 0xd35fce26,
-  0xd34dcdb4, 0xd33bd427, 0xd329e181, 0xd317f5c6,
-  0xd30610f7, 0xd2f43318, 0xd2e25c2b, 0xd2d08c33,
-  0xd2bec333, 0xd2ad012e, 0xd29b4626, 0xd289921e,
-  0xd277e518, 0xd2663f19, 0xd254a021, 0xd2430835,
-  0xd2317756, 0xd21fed88, 0xd20e6acc, 0xd1fcef27,
-  0xd1eb7a9a, 0xd1da0d28, 0xd1c8a6d4, 0xd1b747a0,
-  0xd1a5ef90, 0xd1949ea6, 0xd18354e4, 0xd172124d,
-  0xd160d6e5, 0xd14fa2ad, 0xd13e75a8, 0xd12d4fd9,
-  0xd11c3142, 0xd10b19e7, 0xd0fa09c9, 0xd0e900ec,
-  0xd0d7ff51, 0xd0c704fd, 0xd0b611f1, 0xd0a5262f,
-  0xd09441bb, 0xd0836497, 0xd0728ec6, 0xd061c04a,
-  0xd050f926, 0xd040395d, 0xd02f80f1, 0xd01ecfe4,
-  0xd00e2639, 0xcffd83f4, 0xcfece915, 0xcfdc55a1,
-  0xcfcbc999, 0xcfbb4500, 0xcfaac7d8, 0xcf9a5225,
-  0xcf89e3e8, 0xcf797d24, 0xcf691ddd, 0xcf58c613,
-  0xcf4875ca, 0xcf382d05, 0xcf27ebc5, 0xcf17b20d,
-  0xcf077fe1, 0xcef75541, 0xcee73231, 0xced716b4,
-  0xcec702cb, 0xceb6f67a, 0xcea6f1c2, 0xce96f4a7,
-  0xce86ff2a, 0xce77114e, 0xce672b16, 0xce574c84,
-  0xce47759a, 0xce37a65b, 0xce27dec9, 0xce181ee8,
-  0xce0866b8, 0xcdf8b63d, 0xcde90d79, 0xcdd96c6f,
-  0xcdc9d320, 0xcdba4190, 0xcdaab7c0, 0xcd9b35b4,
-  0xcd8bbb6d, 0xcd7c48ee, 0xcd6cde39, 0xcd5d7b50,
-  0xcd4e2037, 0xcd3eccef, 0xcd2f817b, 0xcd203ddc,
-  0xcd110216, 0xcd01ce2b, 0xccf2a21d, 0xcce37def,
-  0xccd461a2, 0xccc54d3a, 0xccb640b8, 0xcca73c1e,
-  0xcc983f70, 0xcc894aaf, 0xcc7a5dde, 0xcc6b78ff,
-  0xcc5c9c14, 0xcc4dc720, 0xcc3efa25, 0xcc303524,
-  0xcc217822, 0xcc12c31f, 0xcc04161e, 0xcbf57121,
-  0xcbe6d42b, 0xcbd83f3d, 0xcbc9b25a, 0xcbbb2d85,
-  0xcbacb0bf, 0xcb9e3c0b, 0xcb8fcf6b, 0xcb816ae1,
-  0xcb730e70, 0xcb64ba19, 0xcb566ddf, 0xcb4829c4,
-  0xcb39edca, 0xcb2bb9f4, 0xcb1d8e43, 0xcb0f6aba,
-  0xcb014f5b, 0xcaf33c28, 0xcae53123, 0xcad72e4f,
-  0xcac933ae, 0xcabb4141, 0xcaad570c, 0xca9f750f,
-  0xca919b4e, 0xca83c9ca, 0xca760086, 0xca683f83,
-  0xca5a86c4, 0xca4cd64b, 0xca3f2e19, 0xca318e32,
-  0xca23f698, 0xca16674b, 0xca08e04f, 0xc9fb61a5,
-  0xc9edeb50, 0xc9e07d51, 0xc9d317ab, 0xc9c5ba60,
-  0xc9b86572, 0xc9ab18e3, 0xc99dd4b4, 0xc99098e9,
-  0xc9836582, 0xc9763a83, 0xc96917ec, 0xc95bfdc1,
-  0xc94eec03, 0xc941e2b4, 0xc934e1d6, 0xc927e96b,
-  0xc91af976, 0xc90e11f7, 0xc90132f2, 0xc8f45c68,
-  0xc8e78e5b, 0xc8dac8cd, 0xc8ce0bc0, 0xc8c15736,
-  0xc8b4ab32, 0xc8a807b4, 0xc89b6cbf, 0xc88eda54,
-  0xc8825077, 0xc875cf28, 0xc869566a, 0xc85ce63e,
-  0xc8507ea7, 0xc8441fa6, 0xc837c93e, 0xc82b7b70,
-  0xc81f363d, 0xc812f9a9, 0xc806c5b5, 0xc7fa9a62,
-  0xc7ee77b3, 0xc7e25daa, 0xc7d64c47, 0xc7ca438f,
-  0xc7be4381, 0xc7b24c20, 0xc7a65d6e, 0xc79a776c,
-  0xc78e9a1d, 0xc782c582, 0xc776f99d, 0xc76b3671,
-  0xc75f7bfe, 0xc753ca46, 0xc748214c, 0xc73c8111,
-  0xc730e997, 0xc7255ae0, 0xc719d4ed, 0xc70e57c0,
-  0xc702e35c, 0xc6f777c1, 0xc6ec14f2, 0xc6e0baf0,
-  0xc6d569be, 0xc6ca215c, 0xc6bee1cd, 0xc6b3ab12,
-  0xc6a87d2d, 0xc69d5820, 0xc6923bec, 0xc6872894,
-  0xc67c1e18, 0xc6711c7b, 0xc66623be, 0xc65b33e4,
-  0xc6504ced, 0xc6456edb, 0xc63a99b1, 0xc62fcd6f,
-  0xc6250a18, 0xc61a4fac, 0xc60f9e2e, 0xc604f5a0,
-  0xc5fa5603, 0xc5efbf58, 0xc5e531a1, 0xc5daace1,
-  0xc5d03118, 0xc5c5be47, 0xc5bb5472, 0xc5b0f399,
-  0xc5a69bbe, 0xc59c4ce3, 0xc5920708, 0xc587ca31,
-  0xc57d965d, 0xc5736b90, 0xc56949ca, 0xc55f310d,
-  0xc555215a, 0xc54b1ab4, 0xc5411d1b, 0xc5372891,
-  0xc52d3d18, 0xc5235ab2, 0xc519815f, 0xc50fb121,
-  0xc505e9fb, 0xc4fc2bec, 0xc4f276f7, 0xc4e8cb1e,
-  0xc4df2862, 0xc4d58ec3, 0xc4cbfe45, 0xc4c276e8,
-  0xc4b8f8ad, 0xc4af8397, 0xc4a617a6, 0xc49cb4dd,
-  0xc4935b3c, 0xc48a0ac4, 0xc480c379, 0xc477855a,
-  0xc46e5069, 0xc46524a9, 0xc45c0219, 0xc452e8bc,
-  0xc449d892, 0xc440d19e, 0xc437d3e1, 0xc42edf5c,
-  0xc425f410, 0xc41d11ff, 0xc414392b, 0xc40b6994,
-  0xc402a33c, 0xc3f9e624, 0xc3f1324e, 0xc3e887bb,
-  0xc3dfe66c, 0xc3d74e62, 0xc3cebfa0, 0xc3c63a26,
-  0xc3bdbdf6, 0xc3b54b11, 0xc3ace178, 0xc3a4812c,
-  0xc39c2a2f, 0xc393dc82, 0xc38b9827, 0xc3835d1e,
-  0xc37b2b6a, 0xc373030a, 0xc36ae401, 0xc362ce50,
-  0xc35ac1f7, 0xc352bef9, 0xc34ac556, 0xc342d510,
-  0xc33aee27, 0xc333109e, 0xc32b3c75, 0xc32371ae,
-  0xc31bb049, 0xc313f848, 0xc30c49ad, 0xc304a477,
-  0xc2fd08a9, 0xc2f57644, 0xc2eded49, 0xc2e66db8,
-  0xc2def794, 0xc2d78add, 0xc2d02794, 0xc2c8cdbb,
-  0xc2c17d52, 0xc2ba365c, 0xc2b2f8d8, 0xc2abc4c9,
-  0xc2a49a2e, 0xc29d790a, 0xc296615d, 0xc28f5329,
-  0xc2884e6e, 0xc281532e, 0xc27a616a, 0xc2737922,
-  0xc26c9a58, 0xc265c50e, 0xc25ef943, 0xc25836f9,
-  0xc2517e31, 0xc24aceed, 0xc244292c, 0xc23d8cf1,
-  0xc236fa3b, 0xc230710d, 0xc229f167, 0xc2237b4b,
-  0xc21d0eb8, 0xc216abb1, 0xc2105236, 0xc20a0248,
-  0xc203bbe8, 0xc1fd7f17, 0xc1f74bd6, 0xc1f12227,
-  0xc1eb0209, 0xc1e4eb7e, 0xc1dede87, 0xc1d8db25,
-  0xc1d2e158, 0xc1ccf122, 0xc1c70a84, 0xc1c12d7e,
-  0xc1bb5a11, 0xc1b5903f, 0xc1afd007, 0xc1aa196c,
-  0xc1a46c6e, 0xc19ec90d, 0xc1992f4c, 0xc1939f29,
-  0xc18e18a7, 0xc1889bc6, 0xc1832888, 0xc17dbeec,
-  0xc1785ef4, 0xc17308a1, 0xc16dbbf3, 0xc16878eb,
-  0xc1633f8a, 0xc15e0fd1, 0xc158e9c1, 0xc153cd5a,
-  0xc14eba9d, 0xc149b18b, 0xc144b225, 0xc13fbc6c,
-  0xc13ad060, 0xc135ee02, 0xc1311553, 0xc12c4653,
-  0xc1278104, 0xc122c566, 0xc11e1379, 0xc1196b3f,
-  0xc114ccb9, 0xc11037e6, 0xc10bacc8, 0xc1072b5f,
-  0xc102b3ac, 0xc0fe45b0, 0xc0f9e16b, 0xc0f586df, 
-  0xc0f1360b, 0xc0eceef1, 0xc0e8b190, 0xc0e47deb, 
-  0xc0e05401, 0xc0dc33d2, 0xc0d81d61, 0xc0d410ad, 
-  0xc0d00db6, 0xc0cc147f, 0xc0c82506, 0xc0c43f4d, 
-  0xc0c06355, 0xc0bc911d, 0xc0b8c8a7, 0xc0b509f3,
-  0xc0b15502, 0xc0ada9d4, 0xc0aa086a, 0xc0a670c4,
-  0xc0a2e2e3, 0xc09f5ec8, 0xc09be473, 0xc09873e4, 
-  0xc0950d1d, 0xc091b01d, 0xc08e5ce5, 0xc08b1376, 
-  0xc087d3d0, 0xc0849df4, 0xc08171e2, 0xc07e4f9b,
-  0xc07b371e, 0xc078286e, 0xc0752389, 0xc0722871,
-  0xc06f3726, 0xc06c4fa8, 0xc06971f9, 0xc0669e18,
-  0xc063d405, 0xc06113c2, 0xc05e5d4e, 0xc05bb0ab,
-  0xc0590dd8, 0xc05674d6, 0xc053e5a5, 0xc0516045,
-  0xc04ee4b8, 0xc04c72fe, 0xc04a0b16, 0xc047ad01,
-  0xc04558c0, 0xc0430e53, 0xc040cdba, 0xc03e96f6,
-  0xc03c6a07, 0xc03a46ed, 0xc0382da8, 0xc0361e3a,
-  0xc03418a2, 0xc0321ce0, 0xc0302af5, 0xc02e42e2,
-  0xc02c64a6, 0xc02a9042, 0xc028c5b6, 0xc0270502,
-  0xc0254e27, 0xc023a124, 0xc021fdfb, 0xc02064ab,
-  0xc01ed535, 0xc01d4f99, 0xc01bd3d6, 0xc01a61ee,
-  0xc018f9e1, 0xc0179bae, 0xc0164757, 0xc014fcda,
-  0xc013bc39, 0xc0128574, 0xc011588a, 0xc010357c,
-  0xc00f1c4a, 0xc00e0cf5, 0xc00d077c, 0xc00c0be0,
-  0xc00b1a20, 0xc00a323d, 0xc0095438, 0xc008800f,
-  0xc007b5c4, 0xc006f556, 0xc0063ec6, 0xc0059214,
-  0xc004ef3f, 0xc0045648, 0xc003c72f, 0xc00341f4,
-  0xc002c697, 0xc0025519, 0xc001ed78, 0xc0018fb6,
-  0xc0013bd3, 0xc000f1ce, 0xc000b1a7, 0xc0007b5f,
-  0xc0004ef5, 0xc0002c6a, 0xc00013bd, 0xc00004ef,
-  0xc0000000
+  0x00000000, 0x001921fb, 0x003243f1, 0x004b65e1, 0x006487c4, 0x007da998,
+  0x0096cb58, 0x00afed02, 0x00c90e90, 0x00e22fff, 0x00fb514b, 0x01147271,
+  0x012d936c, 0x0146b438, 0x015fd4d2, 0x0178f536, 0x0192155f, 0x01ab354b,
+  0x01c454f5, 0x01dd7459, 0x01f69373, 0x020fb240, 0x0228d0bb, 0x0241eee2,
+  0x025b0caf, 0x02742a1f, 0x028d472e, 0x02a663d8, 0x02bf801a, 0x02d89bf0,
+  0x02f1b755, 0x030ad245, 0x0323ecbe, 0x033d06bb, 0x03562038, 0x036f3931,
+  0x038851a2, 0x03a16988, 0x03ba80df, 0x03d397a3, 0x03ecadcf, 0x0405c361,
+  0x041ed854, 0x0437eca4, 0x0451004d, 0x046a134c, 0x0483259d, 0x049c373c,
+  0x04b54825, 0x04ce5854, 0x04e767c5, 0x05007674, 0x0519845e, 0x0532917f,
+  0x054b9dd3, 0x0564a955, 0x057db403, 0x0596bdd7, 0x05afc6d0, 0x05c8cee7,
+  0x05e1d61b, 0x05fadc66, 0x0613e1c5, 0x062ce634, 0x0645e9af, 0x065eec33,
+  0x0677edbb, 0x0690ee44, 0x06a9edc9, 0x06c2ec48, 0x06dbe9bb, 0x06f4e620,
+  0x070de172, 0x0726dbae, 0x073fd4cf, 0x0758ccd2, 0x0771c3b3, 0x078ab96e,
+  0x07a3adff, 0x07bca163, 0x07d59396, 0x07ee8493, 0x08077457, 0x082062de,
+  0x08395024, 0x08523c25, 0x086b26de, 0x0884104b, 0x089cf867, 0x08b5df30,
+  0x08cec4a0, 0x08e7a8b5, 0x09008b6a, 0x09196cbc, 0x09324ca7, 0x094b2b27,
+  0x09640837, 0x097ce3d5, 0x0995bdfd, 0x09ae96aa, 0x09c76dd8, 0x09e04385,
+  0x09f917ac, 0x0a11ea49, 0x0a2abb59, 0x0a438ad7, 0x0a5c58c0, 0x0a752510,
+  0x0a8defc3, 0x0aa6b8d5, 0x0abf8043, 0x0ad84609, 0x0af10a22, 0x0b09cc8c,
+  0x0b228d42, 0x0b3b4c40, 0x0b540982, 0x0b6cc506, 0x0b857ec7, 0x0b9e36c0,
+  0x0bb6ecef, 0x0bcfa150, 0x0be853de, 0x0c010496, 0x0c19b374, 0x0c326075,
+  0x0c4b0b94, 0x0c63b4ce, 0x0c7c5c1e, 0x0c950182, 0x0cada4f5, 0x0cc64673,
+  0x0cdee5f9, 0x0cf78383, 0x0d101f0e, 0x0d28b894, 0x0d415013, 0x0d59e586,
+  0x0d7278eb, 0x0d8b0a3d, 0x0da39978, 0x0dbc2698, 0x0dd4b19a, 0x0ded3a7b,
+  0x0e05c135, 0x0e1e45c6, 0x0e36c82a, 0x0e4f485c, 0x0e67c65a, 0x0e80421e,
+  0x0e98bba7, 0x0eb132ef, 0x0ec9a7f3, 0x0ee21aaf, 0x0efa8b20, 0x0f12f941,
+  0x0f2b650f, 0x0f43ce86, 0x0f5c35a3, 0x0f749a61, 0x0f8cfcbe, 0x0fa55cb4,
+  0x0fbdba40, 0x0fd6155f, 0x0fee6e0d, 0x1006c446, 0x101f1807, 0x1037694b,
+  0x104fb80e, 0x1068044e, 0x10804e06, 0x10989532, 0x10b0d9d0, 0x10c91bda,
+  0x10e15b4e, 0x10f99827, 0x1111d263, 0x112a09fc, 0x11423ef0, 0x115a713a,
+  0x1172a0d7, 0x118acdc4, 0x11a2f7fc, 0x11bb1f7c, 0x11d3443f, 0x11eb6643,
+  0x12038584, 0x121ba1fd, 0x1233bbac, 0x124bd28c, 0x1263e699, 0x127bf7d1,
+  0x1294062f, 0x12ac11af, 0x12c41a4f, 0x12dc2009, 0x12f422db, 0x130c22c1,
+  0x13241fb6, 0x133c19b8, 0x135410c3, 0x136c04d2, 0x1383f5e3, 0x139be3f2,
+  0x13b3cefa, 0x13cbb6f8, 0x13e39be9, 0x13fb7dc9, 0x14135c94, 0x142b3846,
+  0x144310dd, 0x145ae653, 0x1472b8a5, 0x148a87d1, 0x14a253d1, 0x14ba1ca3,
+  0x14d1e242, 0x14e9a4ac, 0x150163dc, 0x15191fcf, 0x1530d881, 0x15488dee,
+  0x15604013, 0x1577eeec, 0x158f9a76, 0x15a742ac, 0x15bee78c, 0x15d68911,
+  0x15ee2738, 0x1605c1fd, 0x161d595d, 0x1634ed53, 0x164c7ddd, 0x16640af7,
+  0x167b949d, 0x16931acb, 0x16aa9d7e, 0x16c21cb2, 0x16d99864, 0x16f1108f,
+  0x17088531, 0x171ff646, 0x173763c9, 0x174ecdb8, 0x1766340f, 0x177d96ca,
+  0x1794f5e6, 0x17ac515f, 0x17c3a931, 0x17dafd59, 0x17f24dd3, 0x18099a9c,
+  0x1820e3b0, 0x1838290c, 0x184f6aab, 0x1866a88a, 0x187de2a7, 0x189518fc,
+  0x18ac4b87, 0x18c37a44, 0x18daa52f, 0x18f1cc45, 0x1908ef82, 0x19200ee3,
+  0x19372a64, 0x194e4201, 0x196555b8, 0x197c6584, 0x19937161, 0x19aa794d,
+  0x19c17d44, 0x19d87d42, 0x19ef7944, 0x1a067145, 0x1a1d6544, 0x1a34553b,
+  0x1a4b4128, 0x1a622907, 0x1a790cd4, 0x1a8fec8c, 0x1aa6c82b, 0x1abd9faf,
+  0x1ad47312, 0x1aeb4253, 0x1b020d6c, 0x1b18d45c, 0x1b2f971e, 0x1b4655ae,
+  0x1b5d100a, 0x1b73c62d, 0x1b8a7815, 0x1ba125bd, 0x1bb7cf23, 0x1bce7442,
+  0x1be51518, 0x1bfbb1a0, 0x1c1249d8, 0x1c28ddbb, 0x1c3f6d47, 0x1c55f878,
+  0x1c6c7f4a, 0x1c8301b9, 0x1c997fc4, 0x1caff965, 0x1cc66e99, 0x1cdcdf5e,
+  0x1cf34baf, 0x1d09b389, 0x1d2016e9, 0x1d3675cb, 0x1d4cd02c, 0x1d632608,
+  0x1d79775c, 0x1d8fc424, 0x1da60c5d, 0x1dbc5004, 0x1dd28f15, 0x1de8c98c,
+  0x1dfeff67, 0x1e1530a1, 0x1e2b5d38, 0x1e418528, 0x1e57a86d, 0x1e6dc705,
+  0x1e83e0eb, 0x1e99f61d, 0x1eb00696, 0x1ec61254, 0x1edc1953, 0x1ef21b90,
+  0x1f081907, 0x1f1e11b5, 0x1f340596, 0x1f49f4a8, 0x1f5fdee6, 0x1f75c44e,
+  0x1f8ba4dc, 0x1fa1808c, 0x1fb7575c, 0x1fcd2948, 0x1fe2f64c, 0x1ff8be65,
+  0x200e8190, 0x20243fca, 0x2039f90f, 0x204fad5b, 0x20655cac, 0x207b06fe,
+  0x2090ac4d, 0x20a64c97, 0x20bbe7d8, 0x20d17e0d, 0x20e70f32, 0x20fc9b44,
+  0x21122240, 0x2127a423, 0x213d20e8, 0x2152988d, 0x21680b0f, 0x217d786a,
+  0x2192e09b, 0x21a8439e, 0x21bda171, 0x21d2fa0f, 0x21e84d76, 0x21fd9ba3,
+  0x2212e492, 0x2228283f, 0x223d66a8, 0x22529fca, 0x2267d3a0, 0x227d0228,
+  0x22922b5e, 0x22a74f40, 0x22bc6dca, 0x22d186f8, 0x22e69ac8, 0x22fba936,
+  0x2310b23e, 0x2325b5df, 0x233ab414, 0x234facda, 0x2364a02e, 0x23798e0d,
+  0x238e7673, 0x23a3595e, 0x23b836ca, 0x23cd0eb3, 0x23e1e117, 0x23f6adf3,
+  0x240b7543, 0x24203704, 0x2434f332, 0x2449a9cc, 0x245e5acc, 0x24730631,
+  0x2487abf7, 0x249c4c1b, 0x24b0e699, 0x24c57b6f, 0x24da0a9a, 0x24ee9415,
+  0x250317df, 0x251795f3, 0x252c0e4f, 0x254080ef, 0x2554edd1, 0x256954f1,
+  0x257db64c, 0x259211df, 0x25a667a7, 0x25bab7a0, 0x25cf01c8, 0x25e3461b,
+  0x25f78497, 0x260bbd37, 0x261feffa, 0x26341cdb, 0x264843d9, 0x265c64ef,
+  0x2670801a, 0x26849558, 0x2698a4a6, 0x26acadff, 0x26c0b162, 0x26d4aecb,
+  0x26e8a637, 0x26fc97a3, 0x2710830c, 0x2724686e, 0x273847c8, 0x274c2115,
+  0x275ff452, 0x2773c17d, 0x27878893, 0x279b4990, 0x27af0472, 0x27c2b934,
+  0x27d667d5, 0x27ea1052, 0x27fdb2a7, 0x28114ed0, 0x2824e4cc, 0x28387498,
+  0x284bfe2f, 0x285f8190, 0x2872feb6, 0x288675a0, 0x2899e64a, 0x28ad50b1,
+  0x28c0b4d2, 0x28d412ab, 0x28e76a37, 0x28fabb75, 0x290e0661, 0x29214af8,
+  0x29348937, 0x2947c11c, 0x295af2a3, 0x296e1dc9, 0x2981428c, 0x299460e8,
+  0x29a778db, 0x29ba8a61, 0x29cd9578, 0x29e09a1c, 0x29f3984c, 0x2a069003,
+  0x2a19813f, 0x2a2c6bfd, 0x2a3f503a, 0x2a522df3, 0x2a650525, 0x2a77d5ce,
+  0x2a8a9fea, 0x2a9d6377, 0x2ab02071, 0x2ac2d6d6, 0x2ad586a3, 0x2ae82fd5,
+  0x2afad269, 0x2b0d6e5c, 0x2b2003ac, 0x2b329255, 0x2b451a55, 0x2b579ba8,
+  0x2b6a164d, 0x2b7c8a3f, 0x2b8ef77d, 0x2ba15e03, 0x2bb3bdce, 0x2bc616dd,
+  0x2bd8692b, 0x2beab4b6, 0x2bfcf97c, 0x2c0f3779, 0x2c216eaa, 0x2c339f0e,
+  0x2c45c8a0, 0x2c57eb5e, 0x2c6a0746, 0x2c7c1c55, 0x2c8e2a87, 0x2ca031da,
+  0x2cb2324c, 0x2cc42bd9, 0x2cd61e7f, 0x2ce80a3a, 0x2cf9ef09, 0x2d0bcce8,
+  0x2d1da3d5, 0x2d2f73cd, 0x2d413ccd, 0x2d52fed2, 0x2d64b9da, 0x2d766de2,
+  0x2d881ae8, 0x2d99c0e7, 0x2dab5fdf, 0x2dbcf7cb, 0x2dce88aa, 0x2de01278,
+  0x2df19534, 0x2e0310d9, 0x2e148566, 0x2e25f2d8, 0x2e37592c, 0x2e48b860,
+  0x2e5a1070, 0x2e6b615a, 0x2e7cab1c, 0x2e8dedb3, 0x2e9f291b, 0x2eb05d53,
+  0x2ec18a58, 0x2ed2b027, 0x2ee3cebe, 0x2ef4e619, 0x2f05f637, 0x2f16ff14,
+  0x2f2800af, 0x2f38fb03, 0x2f49ee0f, 0x2f5ad9d1, 0x2f6bbe45, 0x2f7c9b69,
+  0x2f8d713a, 0x2f9e3fb6, 0x2faf06da, 0x2fbfc6a3, 0x2fd07f0f, 0x2fe1301c,
+  0x2ff1d9c7, 0x30027c0c, 0x301316eb, 0x3023aa5f, 0x30343667, 0x3044bb00,
+  0x30553828, 0x3065addb, 0x30761c18, 0x308682dc, 0x3096e223, 0x30a739ed,
+  0x30b78a36, 0x30c7d2fb, 0x30d8143b, 0x30e84df3, 0x30f8801f, 0x3108aabf,
+  0x3118cdcf, 0x3128e94c, 0x3138fd35, 0x31490986, 0x31590e3e, 0x31690b59,
+  0x317900d6, 0x3188eeb2, 0x3198d4ea, 0x31a8b37c, 0x31b88a66, 0x31c859a5,
+  0x31d82137, 0x31e7e118, 0x31f79948, 0x320749c3, 0x3216f287, 0x32269391,
+  0x32362ce0, 0x3245be70, 0x32554840, 0x3264ca4c, 0x32744493, 0x3283b712,
+  0x329321c7, 0x32a284b0, 0x32b1dfc9, 0x32c13311, 0x32d07e85, 0x32dfc224,
+  0x32eefdea, 0x32fe31d5, 0x330d5de3, 0x331c8211, 0x332b9e5e, 0x333ab2c6,
+  0x3349bf48, 0x3358c3e2, 0x3367c090, 0x3376b551, 0x3385a222, 0x33948701,
+  0x33a363ec, 0x33b238e0, 0x33c105db, 0x33cfcadc, 0x33de87de, 0x33ed3ce1,
+  0x33fbe9e2, 0x340a8edf, 0x34192bd5, 0x3427c0c3, 0x34364da6, 0x3444d27b,
+  0x34534f41, 0x3461c3f5, 0x34703095, 0x347e951f, 0x348cf190, 0x349b45e7,
+  0x34a99221, 0x34b7d63c, 0x34c61236, 0x34d4460c, 0x34e271bd, 0x34f09546,
+  0x34feb0a5, 0x350cc3d8, 0x351acedd, 0x3528d1b1, 0x3536cc52, 0x3544bebf,
+  0x3552a8f4, 0x35608af1, 0x356e64b2, 0x357c3636, 0x3589ff7a, 0x3597c07d,
+  0x35a5793c, 0x35b329b5, 0x35c0d1e7, 0x35ce71ce, 0x35dc0968, 0x35e998b5,
+  0x35f71fb1, 0x36049e5b, 0x361214b0, 0x361f82af, 0x362ce855, 0x363a45a0,
+  0x36479a8e, 0x3654e71d, 0x36622b4c, 0x366f6717, 0x367c9a7e, 0x3689c57d,
+  0x3696e814, 0x36a4023f, 0x36b113fd, 0x36be1d4c, 0x36cb1e2a, 0x36d81695,
+  0x36e5068a, 0x36f1ee09, 0x36fecd0e, 0x370ba398, 0x371871a5, 0x37253733,
+  0x3731f440, 0x373ea8ca, 0x374b54ce, 0x3757f84c, 0x37649341, 0x377125ac,
+  0x377daf89, 0x378a30d8, 0x3796a996, 0x37a319c2, 0x37af8159, 0x37bbe05a,
+  0x37c836c2, 0x37d48490, 0x37e0c9c3, 0x37ed0657, 0x37f93a4b, 0x3805659e,
+  0x3811884d, 0x381da256, 0x3829b3b9, 0x3835bc71, 0x3841bc7f, 0x384db3e0,
+  0x3859a292, 0x38658894, 0x387165e3, 0x387d3a7e, 0x38890663, 0x3894c98f,
+  0x38a08402, 0x38ac35ba, 0x38b7deb4, 0x38c37eef, 0x38cf1669, 0x38daa520,
+  0x38e62b13, 0x38f1a840, 0x38fd1ca4, 0x3908883f, 0x3913eb0e, 0x391f4510,
+  0x392a9642, 0x3935dea4, 0x39411e33, 0x394c54ee, 0x395782d3, 0x3962a7e0,
+  0x396dc414, 0x3978d76c, 0x3983e1e8, 0x398ee385, 0x3999dc42, 0x39a4cc1c,
+  0x39afb313, 0x39ba9125, 0x39c5664f, 0x39d03291, 0x39daf5e8, 0x39e5b054,
+  0x39f061d2, 0x39fb0a60, 0x3a05a9fd, 0x3a1040a8, 0x3a1ace5f, 0x3a25531f,
+  0x3a2fcee8, 0x3a3a41b9, 0x3a44ab8e, 0x3a4f0c67, 0x3a596442, 0x3a63b31d,
+  0x3a6df8f8, 0x3a7835cf, 0x3a8269a3, 0x3a8c9470, 0x3a96b636, 0x3aa0cef3,
+  0x3aaadea6, 0x3ab4e54c, 0x3abee2e5, 0x3ac8d76f, 0x3ad2c2e8, 0x3adca54e,
+  0x3ae67ea1, 0x3af04edf, 0x3afa1605, 0x3b03d414, 0x3b0d8909, 0x3b1734e2,
+  0x3b20d79e, 0x3b2a713d, 0x3b3401bb, 0x3b3d8918, 0x3b470753, 0x3b507c69,
+  0x3b59e85a, 0x3b634b23, 0x3b6ca4c4, 0x3b75f53c, 0x3b7f3c87, 0x3b887aa6,
+  0x3b91af97, 0x3b9adb57, 0x3ba3fde7, 0x3bad1744, 0x3bb6276e, 0x3bbf2e62,
+  0x3bc82c1f, 0x3bd120a4, 0x3bda0bf0, 0x3be2ee01, 0x3bebc6d5, 0x3bf4966c,
+  0x3bfd5cc4, 0x3c0619dc, 0x3c0ecdb2, 0x3c177845, 0x3c201994, 0x3c28b19e,
+  0x3c314060, 0x3c39c5da, 0x3c42420a, 0x3c4ab4ef, 0x3c531e88, 0x3c5b7ed4,
+  0x3c63d5d1, 0x3c6c237e, 0x3c7467d9, 0x3c7ca2e2, 0x3c84d496, 0x3c8cfcf6,
+  0x3c951bff, 0x3c9d31b0, 0x3ca53e09, 0x3cad4107, 0x3cb53aaa, 0x3cbd2af0,
+  0x3cc511d9, 0x3cccef62, 0x3cd4c38b, 0x3cdc8e52, 0x3ce44fb7, 0x3cec07b8,
+  0x3cf3b653, 0x3cfb5b89, 0x3d02f757, 0x3d0a89bc, 0x3d1212b7, 0x3d199248,
+  0x3d21086c, 0x3d287523, 0x3d2fd86c, 0x3d373245, 0x3d3e82ae, 0x3d45c9a4,
+  0x3d4d0728, 0x3d543b37, 0x3d5b65d2, 0x3d6286f6, 0x3d699ea3, 0x3d70acd7,
+  0x3d77b192, 0x3d7eacd2, 0x3d859e96, 0x3d8c86de, 0x3d9365a8, 0x3d9a3af2,
+  0x3da106bd, 0x3da7c907, 0x3dae81cf, 0x3db53113, 0x3dbbd6d4, 0x3dc2730f,
+  0x3dc905c5, 0x3dcf8ef3, 0x3dd60e99, 0x3ddc84b5, 0x3de2f148, 0x3de9544f,
+  0x3defadca, 0x3df5fdb8, 0x3dfc4418, 0x3e0280e9, 0x3e08b42a, 0x3e0eddd9,
+  0x3e14fdf7, 0x3e1b1482, 0x3e212179, 0x3e2724db, 0x3e2d1ea8, 0x3e330ede,
+  0x3e38f57c, 0x3e3ed282, 0x3e44a5ef, 0x3e4a6fc1, 0x3e502ff9, 0x3e55e694,
+  0x3e5b9392, 0x3e6136f3, 0x3e66d0b4, 0x3e6c60d7, 0x3e71e759, 0x3e77643a,
+  0x3e7cd778, 0x3e824114, 0x3e87a10c, 0x3e8cf75f, 0x3e92440d, 0x3e978715,
+  0x3e9cc076, 0x3ea1f02f, 0x3ea7163f, 0x3eac32a6, 0x3eb14563, 0x3eb64e75,
+  0x3ebb4ddb, 0x3ec04394, 0x3ec52fa0, 0x3eca11fe, 0x3eceeaad, 0x3ed3b9ad,
+  0x3ed87efc, 0x3edd3a9a, 0x3ee1ec87, 0x3ee694c1, 0x3eeb3347, 0x3eefc81a,
+  0x3ef45338, 0x3ef8d4a1, 0x3efd4c54, 0x3f01ba50, 0x3f061e95, 0x3f0a7921,
+  0x3f0ec9f5, 0x3f13110f, 0x3f174e70, 0x3f1b8215, 0x3f1fabff, 0x3f23cc2e,
+  0x3f27e29f, 0x3f2bef53, 0x3f2ff24a, 0x3f33eb81, 0x3f37dafa, 0x3f3bc0b3,
+  0x3f3f9cab, 0x3f436ee3, 0x3f473759, 0x3f4af60d, 0x3f4eaafe, 0x3f52562c,
+  0x3f55f796, 0x3f598f3c, 0x3f5d1d1d, 0x3f60a138, 0x3f641b8d, 0x3f678c1c,
+  0x3f6af2e3, 0x3f6e4fe3, 0x3f71a31b, 0x3f74ec8a, 0x3f782c30, 0x3f7b620c,
+  0x3f7e8e1e, 0x3f81b065, 0x3f84c8e2, 0x3f87d792, 0x3f8adc77, 0x3f8dd78f,
+  0x3f90c8da, 0x3f93b058, 0x3f968e07, 0x3f9961e8, 0x3f9c2bfb, 0x3f9eec3e,
+  0x3fa1a2b2, 0x3fa44f55, 0x3fa6f228, 0x3fa98b2a, 0x3fac1a5b, 0x3fae9fbb,
+  0x3fb11b48, 0x3fb38d02, 0x3fb5f4ea, 0x3fb852ff, 0x3fbaa740, 0x3fbcf1ad,
+  0x3fbf3246, 0x3fc1690a, 0x3fc395f9, 0x3fc5b913, 0x3fc7d258, 0x3fc9e1c6,
+  0x3fcbe75e, 0x3fcde320, 0x3fcfd50b, 0x3fd1bd1e, 0x3fd39b5a, 0x3fd56fbe,
+  0x3fd73a4a, 0x3fd8fafe, 0x3fdab1d9, 0x3fdc5edc, 0x3fde0205, 0x3fdf9b55,
+  0x3fe12acb, 0x3fe2b067, 0x3fe42c2a, 0x3fe59e12, 0x3fe7061f, 0x3fe86452,
+  0x3fe9b8a9, 0x3feb0326, 0x3fec43c7, 0x3fed7a8c, 0x3feea776, 0x3fefca84,
+  0x3ff0e3b6, 0x3ff1f30b, 0x3ff2f884, 0x3ff3f420, 0x3ff4e5e0, 0x3ff5cdc3,
+  0x3ff6abc8, 0x3ff77ff1, 0x3ff84a3c, 0x3ff90aaa, 0x3ff9c13a, 0x3ffa6dec,
+  0x3ffb10c1, 0x3ffba9b8, 0x3ffc38d1, 0x3ffcbe0c, 0x3ffd3969, 0x3ffdaae7,
+  0x3ffe1288, 0x3ffe704a, 0x3ffec42d, 0x3fff0e32, 0x3fff4e59, 0x3fff84a1,
+  0x3fffb10b, 0x3fffd396, 0x3fffec43, 0x3ffffb11, 0x40000000
 };
-
-


More information about the Tremor mailing list