$ od -c -N 50000 [eris]<LispCore>SOURCES>ADDARITH!26 0000000 ( D E F I N E - F I L E - I N F 0000020 O 247 R E A D T A B L E " I N 0000040 T E R L I S P " 247 P A C K A G 0000060 E " I N T E R L I S P " ) \r 006 0000100 001 ( F I L E C R E A T E D " 0000120 3 - N o v - 8 6 1 1 : 5 5 : 3 0000140 2 " 006 004 { E R I S } < L I S P 0000160 C O R E > S O U R C E S > A D D 0000200 A R I T H . ; 2 6 006 001 3 1 6 8 0000220 9 \r \r p r e v i 0000240 o u s d a t e % : " 2 4 - O 0000260 c t - 8 6 2 0 : 0 2 : 5 7 " 0000300 { E R I S } < L I S P C O R E > 0000320 S O U R C E S > A D D A R I T H 0000340 . ; 2 5 ) \r \r \r ( * " \r C o p 0000360 y r i g h t ( c ) 1 9 8 2 , 0000400 1 9 8 3 , 1 9 8 4 , 1 9 8 0000420 5 , 1 9 8 6 b y X e r o x 0000440 C o r p o r a t i o n . A 0000460 l l r i g h t s r e s e r v 0000500 e d . \r " ) \r \r ( P R E T T Y C 0000520 O M P R I N T A D D A R I T H 0000540 C O M S ) \r \r ( R P A Q Q 006 002 0000560 A D D A R I T H C O M S 006 001 ( 0000600 ( L O C A L V A R S . T ) \r 0000620 0000640 ( * ; " O K " ) \r 0000660 0000700 ( M A C R O S M A S 0000720 K . 1 ' S M A S K . 0 ' S B 0000740 I T T E S T B I T S E T B I 0000760 T C L E A R ) \r 0001000 ( C O 0001020 M S ( O P T I M I Z E R S L 0001040 O G N O T ) \r 0001060 0001100 ( F N S L O G N O T ) ) \r 0001120 0001140 ( C O M S ( * ; 0001160 " B Y T E h a c k i n g f u 0001200 n c t i o n s " ) \r 0001220 0001240 ( R E C O R D S B Y 0001260 T E S P E C ) \r 0001300 0001320 ( M A C R O S L O A D B 0001340 Y T E D E P O S I T B Y T E ) 0001360 \r 0001400 ( * ; 0001420 " N O T O K Y E T " ) \r 0001440 0001460 ( O P T I M 0001500 I Z E R S B Y T E D P B L 0001520 D B ) \r 0001540 ( 0001560 M A C R O S B Y T E S I Z E 0001600 B Y T E P O S I T I O N ) \r 0001620 0001640 ( F N S L D 0001660 B D P B B Y T E ) \r 0001700 0001720 ( F N S \ L D B 0001740 E X P A N D E R \ D P B E X P 0001760 A N D E R ) ) \r 0002000 ( C O 0002020 M S ( O P T I M I Z E R S I 0002040 M O D ) \r 0002060 0002100 ( F N S I M O D L E S S P ) \r 0002120 0002140 ( M A C R 0002160 O S I M O D P L U S I M O D 0002200 D I F F E R E N C E ) ) \r 0002220 0002240 ( C O M S ( F N S R O T 0002260 ) \r 0002300 ( M A 0002320 C R O S . R O T . ) ) \r 0002340 0002360 ( C O M S ( * ; ; " P 0002400 r i m i t i v e F u n c t i o 0002420 n s f o r e x t r a c t i n 0002440 g f i e l d s a s i n t e 0002460 g e r s " ) \r 0002500 0002520 ( M A C R O S \ X L O A D 0002540 B Y T E W O R D ) \r 0002560 0002600 ( F N S \ P U T B A 0002620 S E B I T S ) \r 0002640 0002660 ( * ; ; \r 0002700 0002720 " P r i m i t i 0002740 v e f u n c t i o n s , e s 0002760 p e c i a l l y n e e d e d 0003000 f o r C o m m o n L i s p a 0003020 r r a y p a c k a g e . " ) \r 0003040 0003060 ( D E C L 0003100 A R E % : D O N T C O P Y ( 0003120 M A C R O S . H I H A L F W O 0003140 R D L O . . H I H A L F W O R 0003160 D H I . . L O H A L F W O R D 0003200 L O . \r 0003220 * 0003260 . L O H A 0003300 L F W O R D H I . ) \r 0003320 0003340 ( M A 0003360 C R O S \ G E T B A S E N I B 0003400 B L E \ P U T B A S E N I B B 0003420 L E \ G E T B A S E B I T \ 0003440 P U T B A S E B I T ) ) ) \r 0003460 0003500 ( C O M S ( * ; ; \r 0003520 " 0003540 B e g i n n i n g o f r e w 0003560 r i t e o f s o m e L L A 0003600 R I T H t h i n g s , m o d 0003620 u l a r l y u s i n g t h e 0003640 m a c r o s o f t h i s 0003660 f i l e " \r 0003700 0003720 ) \r 0003740 0003760 ( D E C L A R E % : D O N T 0004000 C O P Y ( E X P O R T ( C O 0004020 N S T A N T S M A S K 0 W O R 0004040 D 1 ' S M A S K 1 W O R D 0 ' 0004060 S \r 0004100 * 0004160 M A S K W O R D 1 ' S M A S 0004200 K H A L F W O R D 1 ' S \r 0004220 * 0004300 B I T S 0004320 P E R H A L F W O R D ) \r 0004340 * 0004420 ( M A C R O S E Q Z E R 0004440 O P ) \r 0004460 * 0004520 ( M A C R O 0004540 S \ M O V E T O B O X . X U 0004560 N B O X . . X L L S H . . X 0004600 L L S H 1 . \r 0004620 * 0004700 . X L R S H . . A D 0004720 D . 2 W O R D . I N T E G E R S 0004740 . \r 0004760 * 0005040 . S U B . 2 W O R D . I N T E G 0005060 E R S . . 3 2 B I T M U L . ) 0005100 \r 0005120 * 0005160 ( M A C R O S . 0005200 S U M S M A L L M O D . . D I 0005220 F F E R E N C E S M A L L M O D 0005240 . ) ) \r 0005260 0005300 ( M A C R O S . A 0005320 D D . 2 W O R D . I N T E G E R 0005340 S . . S U B . 2 W O R D . I N 0005360 T E G E R S . . 3 2 B I T M U 0005400 L . ) ) ) \r 0005420 ( P R O P 0005440 F I L E T Y P E A D D A R I 0005460 T H ) ) ) \r ( D E C L A R E % : 0005500 D O E V A L @ C O M P I L E 0005520 D O N T C O P Y \r \r ( L O C A L 0005540 V A R S . T ) \r ) \r \r \r \r 006 0005560 004 ( * ; " O K " ) 006 001 \r \r ( 0005600 D E C L A R E % : E V A L @ C 0005620 O M P I L E \r \r ( P U T P R O 0005640 P S M A S K . 1 ' S M A C R 0005660 O ( O P E N L A M B D A ( P 0005700 O S I T I O N S I Z E ) \r 0005720 0005740 ( L 0005760 S H ( S U B 1 ( L S H 1 0006000 S I Z E ) ) \r 0006020 0006040 P O S I 0006060 T I O N ) ) ) \r [ P U T P R O P 0006100 S M A S K . 0 ' S M A C R O 0006120 ( O P E N L A M B D A ( P O 0006140 S I T I O N S I Z E ) \r 0006160 0006200 ( L O 0006220 G N O T ( M A S K . 1 ' S P 0006240 O S I T I O N S I Z E ] \r [ P 0006260 U T P R O P S B I T T E S T 0006300 M A C R O ( ( N M A S K ) \r 0006320 0006340 ( N E Q 0 0006360 ( L O G A N D N M A S K ] \r 0006400 ( P U T P R O P S B I T S E T 0006420 M A C R O ( = . L O G O 0006440 R ) ) \r [ P U T P R O P S B I 0006460 T C L E A R M A C R O ( ( X 0006500 M A S K ) \r 0006520 0006540 ( L O G A N D X ( L O G N 0006560 O T M A S K ] \r ) \r [ D E F O 0006600 P T I M I Z E R L O G N O T 0006620 ( I N T E G E R ) \r 0006640 ` ( L O G X O R - 1 , I N 0006660 T E G E R ] \r ( D E F I N E Q \r 0006700 \r ( 006 004 L O G N O T 006 001 \r [ 0006720 L A M B D A ( I N T E G E R ) 0006740 * 0007000 ( * k b r 0007020 % : " 1 2 - J u l - 8 6 1 7 0007040 : 0 5 " ) \r ( L O G X O 0007060 R - 1 I N T E G E R ] ) \r ) 0007100 \r \r \r \r 006 004 ( * ; " B Y T E 0007120 h a c k i n g f u n c t i o 0007140 n s " ) 006 001 \r \r ( D E C L A R E 0007160 % : E V A L @ C O M P I L E \r 0007200 \r ( T Y P E R E C O R D 006 002 B 0007220 Y T E S P E C 006 001 ( B Y T E S 0007240 P E C . S I Z E B Y T E S P E 0007260 C . P O S I T I O N ) ) \r ) \r ( 0007300 D E C L A R E % : E V A L @ C 0007320 O M P I L E \r \r [ P U T P R O 0007340 P S L O A D B Y T E M A C R 0007360 O ( ( N P O S S I Z E ) \r 0007400 0007420 ( L O G A N 0007440 D ( R S H N P O S ) \r 0007460 0007500 ( 0007520 M A S K . 1 ' S 0 S I Z E ] 0007540 \r [ P U T P R O P S D E P O S 0007560 I T B Y T E M A C R O ( O P 0007600 E N L A M B D A ( N P O S 0007620 S I Z E V A L ) \r 0007640 0007660 ( L O 0007700 G O R ( B I T C L E A R N 0007720 ( M A S K . 1 ' S P O S S I 0007740 Z E ) ) \r 0007760 0010000 ( 0010020 L S H ( L O G A N D V A L 0010040 ( M A S K . 1 ' S 0 S I Z E 0010060 ) ) \r 0010100 * 0010140 P O S ] \r ) \r \r \r \r 006 004 ( * 0010160 ; " N O T O K Y E T " ) 0010200 006 001 \r \r [ D E F O P T I M I Z E 0010220 R B Y T E ( & R E S T X ) 0010240 \r ( P R O G ( ( 0010260 S I Z E ( L I S P F O R M . S 0010300 I M P L I F Y ( C A R X ) \r 0010320 0010340 T ) ) \r 0010360 ( P O 0010400 S I T I O N ( L I S P F O R M 0010420 . S I M P L I F Y ( C A D R 0010440 X ) \r 0010460 0010500 T ) ) ) \r 0010520 ( R E T U R N ( C O N 0010540 D ( ( A N D ( F I X P P O 0010560 S I T I O N ) \r 0010600 0010620 ( F I X P S 0010640 I Z E ) ) \r 0010660 0010700 ( K W O T E ( c r e a t e 0010720 B Y T E S P E C B Y T E S P 0010740 E C . S I Z E _ S I Z E B 0010760 Y T E S P E C . P O S I T I O N 0011000 _ P O S I T I O N \r 0011020 * 0011060 ) ) ) \r 0011100 0011120 ( T ` ( c r e a t e 0011140 B Y T E S P E C B Y T E S P 0011160 E C . S I Z E _ , S I Z E 0011200 B Y T E S P E C . P O S I T I O 0011220 N _ \r 0011240 0011260 , P O S I T 0011300 I O N ] \r ( D E F O P T I M I Z 0011320 E R D P B ( & R E S T X ) 0011340 \r ( \ D P B E X P 0011360 A N D E R X ) ) \r ( D E F O P 0011400 T I M I Z E R L D B ( & R E 0011420 S T X ) \r ( \ L 0011440 D B E X P A N D E R X ) ) \r ( 0011460 D E C L A R E % : E V A L @ C 0011500 O M P I L E \r \r ( P U T P R O 0011520 P S B Y T E S I Z E M A C R 0011540 O ( ( B Y T E S P E C ) \r 0011560 0011600 ( f e t c h B 0011620 Y T E S P E C . S I Z E o f 0011640 B Y T E S P E C ) ) ) \r ( P U T 0011660 P R O P S B Y T E P O S I T I 0011700 O N M A C R O ( ( B Y T E S 0011720 P E C ) \r 0011740 0011760 ( f e t c h B Y T E S P 0012000 E C . P O S I T I O N o f B 0012020 Y T E S P E C ) ) ) \r ) \r ( D E 0012040 F I N E Q \r \r ( 006 004 L D B 006 001 \r 0012060 [ L A M B D A ( B Y T E S 0012100 P E C I N T E G E R ) 0012120 0012140 ( * 0012160 k b r % : " 1 2 - J u l - 8 6 0012200 1 7 : 1 0 " ) \r ( L O 0012220 A D B Y T E I N T E G E R ( 0012240 006 002 f e t c h 006 001 ( B Y T E S 0012260 P E C B Y T E S P E C . P O S 0012300 I T I O N ) 006 002 o f 006 001 B Y 0012320 T E S P E C ) \r 0012340 ( 006 002 f e t c h 006 001 ( B 0012360 Y T E S P E C B Y T E S P E C 0012400 . S I Z E ) 006 002 o f 006 001 B Y 0012420 T E S P E C ] ) \r \r ( 006 004 D P B 0012440 006 001 \r [ L A M B D A ( N E 0012460 W B Y T E B Y T E S P E C I 0012500 N T E G E R ) 0012520 0012540 ( * k b r % : " 1 2 - J u l 0012560 - 8 6 1 7 : 1 8 " ) \r 0012600 ( D E P O S I T B Y T E I N T 0012620 E G E R ( 006 002 f e t c h 006 001 0012640 ( B Y T E S P E C B Y T E S P 0012660 E C . P O S I T I O N ) 006 002 o 0012700 f 006 001 B Y T E S P E C ) \r 0012720 ( 006 002 f e t c 0012740 h 006 001 ( B Y T E S P E C B Y 0012760 T E S P E C . S I Z E ) 006 002 o 0013000 f 006 001 B Y T E S P E C ) \r 0013020 N E W B Y T E 0013040 ] ) \r \r ( 006 004 B Y T E 006 001 \r 0013060 [ L A M B D A ( S I Z E P O 0013100 S I T I O N ) 0013120 0013140 ( * k b 0013160 r % : " 1 4 - A u g - 8 6 1 0013200 4 : 1 8 " ) \r ( 006 002 c r 0013220 e a t e 006 001 B Y T E S P E C \r 0013240 B Y T E S 0013260 P E C . S I Z E _ S I Z E \r 0013300 B Y T E S 0013320 P E C . P O S I T I O N _ P 0013340 O S I T I O N ] ) \r ) \r ( D E F 0013360 I N E Q \r \r ( 006 004 \ L D B E X P 0013400 A N D E R 006 001 \r [ L A M B D 0013420 A ( X ) 0013440 * 0013500 ( * k b r % : " 1 0013520 4 - A u g - 8 6 1 4 : 2 7 " ) 0013540 \r ( P R O G ( B S W 0013560 O R D T E M N S I Z E P 0013600 O S I T I O N ) 0013620 ( * 0013640 X = ( B Y T E S P E C I 0013660 N T E G E R ) * ) \r 0013700 ( S E T Q B S ( L 0013720 I S P F O R M . S I M P L I F Y 0013740 ( C A R X ) \r 0013760 0014000 T ) ) \r 0014020 ( S E T Q W O R D ( C A D 0014040 R X ) ) \r 0014060 ( R E T U R N ( C O N D \r 0014100 0014120 [ ( A N D ( S E T Q T 0014140 E M ( C A R ( E V A L U A B 0014160 L E . C O N S T A N T P B S ) 0014200 ) ) \r 0014220 ( 006 0014240 002 t y p e ? 006 001 B Y T E S P E 0014260 C T E M ) ) \r 0014300 ( L 0014320 I S T ' L O A D B Y T E W O 0014340 R D ( K W O T E ( B Y T E P 0014360 O S I T I O N T E M ) ) \r 0014400 0014420 ( K W O T E 0014440 ( B Y T E S I Z E T E M ] \r 0014460 0014500 ( T ( S E T Q N 0014520 ( L I S P F O R M . S I M P L I 0014540 F Y W O R D T ) ) \r 0014560 0014600 ( C O N D \r 0014620 0014640 [ ( A N D ( L I S T 0014660 P B S ) \r 0014700 0014720 ( E Q ( C A R 0014740 B S ) \r 0014760 0015000 ' B Y T E ) ) 0015020 \r 0015040 ( S E 0015060 T Q S I Z E ( C A D R B S 0015100 ) ) \r 0015120 ( 0015140 S E T Q P O S I T I O N ( C 0015160 A D D R B S ) ) \r 0015200 0015220 ( C O N D \r 0015240 0015260 [ ( O R 0015300 ( E V A L U A B L E . C O N S T 0015320 A N T . F I X P N ) \r 0015340 * 0015400 ( A N D ( A R G S . C O M M U 0015420 T A B L E P N S I Z E ) \r 0015440 * 0015500 ( A R G S . C O 0015520 M M U T A B L E P N P O S I 0015540 T I O N ) \r 0015560 0015600 ( 0015620 A R G S . C O M M U T A B L E P 0015640 S I Z E P O S I T I O N ) ) 0015660 ) \r 0015700 0015720 ` ( L O A D B Y T E , W O 0015740 R D , P O S I T I O N , S I 0015760 Z E ] \r 0016000 0016020 ( T ` ( [ L A M B D A 0016040 ( \ B y t e s i z e \ B y t e 0016060 p o s i t i o n ) \r 0016100 * 0016140 ( 006 002 D E C L A R E 006 001 ( L O 0016160 C A L V A R S \ B y t e s i z 0016200 e \ B y t e p o s i t i o n ) 0016220 ) \r 0016240 0016260 ( L O A D B Y T 0016300 E % , W O R D \ B y t e p 0016320 o s i t i o n \ B y t e s i z 0016340 e ] \r 0016360 0016400 % , S I Z E % 0016420 , P O S I T I O N ] \r 0016440 0016460 [ ( A N D ( L I 0016500 T A T O M B S ) \r 0016520 0016540 ( O R ( 0016560 E V A L U A B L E . C O N S T A 0016600 N T . F I X P N ) \r 0016620 * 0016660 ( A R G S . C O M M U T A B L E 0016700 P B S N ) ) ) \r 0016720 0016740 ` ( L O A D B Y T E 0016760 % , W O R D ( B Y T E P O 0017000 S I T I O N % , B S ) \r 0017020 * 0017060 ( B Y T E S I Z E % , B 0017100 S ] \r 0017120 ( T 0017140 ` ( [ L A M B D A ( \ P o s 0017160 i t i o n S i z e ) \r 0017200 0017220 ( 006 002 0017240 D E C L A R E 006 001 ( L O C A L 0017260 V A R S \ P o s i t i o n S i 0017300 z e ) ) \r 0017320 0017340 ( L O A D B Y T E 0017360 % , W O R D ( B Y T E P O 0017400 S I T I O N \ P o s i t i o n 0017420 S i z e ) \r 0017440 0017460 ( 0017500 B Y T E S I Z E \ P o s i t i 0017520 o n S i z e ] \r 0017540 0017560 % , B S ] ) \r 0017600 \r ( 006 004 \ D P B E X P A N D E R 0017620 006 001 \r [ L A M B D A ( X ) 0017640 * 0017720 ( * J o n L " 2 5 - F E B - 0017740 8 3 2 0 : 4 9 " ) \r ( 0017760 P R O G ( ( N E W B Y T E ( 0020000 C A R X ) ) \r 0020020 ( B S ( L I S P F O R M 0020040 . S I M P L I F Y ( C A D R 0020060 X ) \r 0020100 T ) ) \r 0020120 ( W O R D ( L 0020140 I S P F O R M . S I M P L I F Y 0020160 ( C A D D R X ) \r 0020200 0020220 T ) ) \r 0020240 S I Z E P O S X Y B 0020260 a g B i t e r P N B Y T E F 0020300 O R M D E P O S I T F O R M 0020320 C B S P T E M ) \r 0020340 ( 006 002 i f 006 001 ( A N D 0020360 ( L I S T P B S ) \r 0020400 ( 0020420 E Q ( C A R B S ) \r 0020440 0020460 ' C O N S ) \r 0020500 ( E Q 0020520 U A L ( C A D R B S ) \r 0020540 0020560 ' ' B Y T E S P 0020600 E C ) \r 0020620 ( L I S T P ( S 0020640 E T Q T E M ( C A D D R B 0020660 S ) ) ) \r 0020700 ( E Q ( C A R 0020720 T E M ) \r 0020740 ' L I 0020760 S T ) ) \r 0021000 006 002 t h e n 006 001 \r 0021020 \r 0021040 ( * W h a t a c r a p 0021060 p y t h i n g t o d o i 0021100 n o r d e r t o t r y t 0021120 o d e - c o m p i l e t h e 0021140 e x p a n d e d f o r m o 0021160 f \r ( B Y T 0021200 E < s i z e > < p o s i t i 0021220 o n > ) ) \r \r 0021240 ( 006 002 p o p 0021260 006 001 T E M ) \r 0021300 ( S E T Q 0021320 S I Z E ( 006 002 p o p 006 001 T 0021340 E M ) ) \r 0021360 ( S E T Q P O 0021400 S ( 006 002 p o p 006 001 T E M ) ) 0021420 \r 0021440 ( S E T Q C B S P ( 0021460 A N D ( E V A L U A B L E . C 0021500 O N S T A N T P S I Z E ) \r 0021520 * 0021560 ( E V A L U A B L E . C O N 0021600 S T A N T P P O S ) ) ) \r 0021620 006 002 e l s e 0021640 i f 006 001 ( A N D ( S E T Q 0021660 T E M ( C A R ( E V A L U A 0021700 B L E . C O N S T A N T P B S 0021720 ) ) ) \r 0021740 ( 006 002 t 0021760 y p e ? 006 001 B Y T E S P E C 0022000 T E M ) ) \r 0022020 006 002 t h e n 006 001 ( S E 0022040 T Q S I Z E ( K W O T E ( 0022060 B Y T E S I Z E T E M ) ) ) \r 0022100 0022120 ( S E T Q P O S ( K W 0022140 O T E ( B Y T E P O S I T I O 0022160 N T E M ) ) ) \r 0022200 ( S E T 0022220 Q C B S P T ) ) \r 0022240 ( S E T Q N ( L I 0022260 S P F O R M . S I M P L I F Y 0022300 N E W B Y T E T ) ) \r 0022320 [ S E T Q B a g B 0022340 i t e r P ( O R ( N O T ( 0022360 A R G S . C O M M U T A B L E P 0022400 N W O R D ) ) \r 0022420 0022440 ( A N D ( N O 0022460 T C B S P ) \r 0022500 0022520 ( N O T 0022540 ( A R G S . C O M M U T A B L E 0022560 P N B S ] \r 0022600 ( S E T Q B Y T E F O R M 0022620 ( 006 002 i f 006 001 B a g B i t e 0022640 r P \r 0022660 0022700 006 002 t h e n 006 001 ' \ N e w B y 0022720 t e \r 0022740 006 002 0022760 e l s e 006 001 N E W B Y T E ) ) 0023000 \r [ S E T Q 0023020 D E P O S I T F O R M \r 0023040 ( 006 002 i f 006 001 0023060 ( A N D S I Z E P O S ) \r 0023100 006 002 0023120 t h e n 006 001 0023140 * 0023200 ( * t h e S I Z E a n d 0023220 P O S I T I O N s p e c i f i 0023240 e r s \r 0023260 * 0023340 a r e s o m e h o w e x 0023360 t r a c t a b l e . ) \r 0023400 0023420 ( 006 002 i f 006 001 ( O R C B S P 0023440 ( A N D ( A R G S . C O M M 0023460 U T A B L E P S I Z E P O S 0023500 ) \r 0023520 0023540 ( A R G S . C O 0023560 M M U T A B L E P W O R D B 0023600 S ) ) ) \r 0023620 006 002 t 0023640 h e n 006 001 0023660 0023700 ( * C a s e w i 0023720 t h a d e t e c t e d c o 0023740 n s t a n t f o r \r 0023760 * 0024040 b y t e s p e 0024060 c i f i e r ) \r 0024100 0024120 ` ( D E P O S I T B Y 0024140 T E % , W O R D % , P O 0024160 S % , S I Z E % , B Y T 0024200 E F O R M ) \r 0024220 006 002 e 0024240 l s e 006 001 ` ( [ L A M B D A 0024260 ( \ B y t e s i z e \ B y t e 0024300 p o s i t i o n ) \r 0024320 0024340 ( 006 002 D E C L 0024360 A R E 006 001 ( L O C A L V A R S 0024400 \ B y t e s i z e \ B y t e 0024420 p o s i t i o n ) ) \r 0024440 0024460 ( D E P O S 0024500 I T B Y T E % , W O R D \ 0024520 B y t e p o s i t i o n \ B y 0024540 t e s i z e % , B Y T E F O 0024560 R M ] \r 0024600 0024620 % , S I Z E % , P O S ) 0024640 ) \r 006 0024660 002 e l s e 006 001 ( 006 002 i f 006 001 0024700 ( A N D ( L I T A T O M B S 0024720 ) \r 0024740 ( A R 0024760 G S . C O M M U T A B L E P W 0025000 O R D B S ) ) \r 0025020 006 0025040 002 t h e n 006 001 ` ( D E P O S I 0025060 T B Y T E % , W O R D ( B 0025100 Y T E P O S I T I O N % , B 0025120 S ) \r 0025140 0025160 ( B Y T E S I Z E 0025200 % , B S ) \r 0025220 0025240 % , B Y T 0025260 E F O R M ) \r 0025300 006 002 e l s 0025320 e 006 001 ( S E T Q B a g B i t 0025340 e r P T ) \r 0025360 0025400 ` ( [ L A M B D A ( \ B y t e 0025420 S p e c ) \r 0025440 0025460 ( 006 002 D E C L A R E 006 001 0025500 ( L O C A L V A R S \ B y t e 0025520 S p e c ) ) \r 0025540 0025560 ( D E P O S I T B Y T E 0025600 % , W O R D ( B Y T E P O 0025620 S I T I O N \ B y t e S p e c 0025640 ) \r 0025660 0025700 ( B Y T E S I Z E 0025720 \ B y t e S p e c ) \r 0025740 0025760 \ 0026000 N e w B y t e ] \r 0026020 0026040 % , B S ] \r 0026060 ( R E T U R N ( 006 002 0026100 i f 006 001 B a g B i t e r P \r 0026120 0026140 006 002 t h e n 006 001 ` ( 0026160 [ L A M B D A ( \ N e w B y t 0026200 e ) \r 0026220 0026240 ( 006 002 D E C L A R E 006 001 ( 0026260 L O C A L V A R S \ N e w B y 0026300 t e ) ) \r 0026320 0026340 % , D E P O S I T F O 0026360 R M ] \r 0026400 0026420 % , N E W B Y T E ) \r 0026440 0026460 006 002 e l s e 006 001 D E P O S I 0026500 T F O R M ] ) \r ) \r [ D E F O P 0026520 T I M I Z E R I M O D ( & R 0026540 E S T L ) \r ( P 0026560 R O G [ ( N ( C O N S T A N 0026600 T E X P R E S S I O N P ( C A 0026620 D R L ] \r 0026640 ( i f ( N U L L N ) \r 0026660 0026700 t h e n \r 0026720 ( R E T U R N ' 0026740 I G N O R E M A C R O ) ) \r 0026760 ( S E T Q 0027000 N ( C A R N ) ) \r 0027020 ( R E T U R N 0027040 ( C O N D ( ( N O T ( P O 0027060 W E R O F T W O P N ) ) \r 0027100 0027120 ' I G N O R 0027140 E M A C R O ) \r 0027160 0027200 ( T ( L I S T ' L O G 0027220 A N D ( C A R L ) \r 0027240 * 0027300 ( S U B 1 N ] \r ( D E F I N E 0027320 Q \r \r ( 006 004 I M O D L E S S P 006 0027340 001 \r [ L A M B D A ( X Y 0027360 M O D U L U S ) 0027400 0027420 ( 0027440 * l m m " 1 2 - A p r - 8 5 0027460 1 2 : 4 3 " ) \r ( I L 0027500 E S S P ( I M O D D I F F E R 0027520 E N C E Y X M O D U L U S 0027540 ) \r ( F O 0027560 L D H I M O D U L U S 2 ] ) 0027600 \r ) \r ( D E C L A R E % : E V 0027620 A L @ C O M P I L E \r \r ( P U 0027640 T P R O P S I M O D P L U S 0027660 M A C R O ( ( X Y M O D U 0027700 L U S ) \r 0027720 ( 0027740 I M O D ( I P L U S X Y ) 0027760 \r 0030000 0030020 M O D U L U S ) ) ) \r ( P U T 0030040 P R O P S I M O D D I F F E R 0030060 E N C E M A C R O ( ( X Y 0030100 M O D U L U S ) \r 0030120 0030140 ( I M O D 0030160 ( I D I F F E R E N C E X Y 0030200 ) \r 0030220 0030240 M O D U L U S ) 0030260 ) ) \r ) \r ( D E F I N E Q \r \r ( 0030300 006 004 R O T 006 001 \r [ L A M B D 0030320 A ( X N F I E L D S I Z E 0030340 ) 0030360 0030400 ( * P a v e l " 0030420 7 - O c t - 8 6 1 5 : 2 6 " ) 0030440 \r 0030460 * 0030520 ( * ; ; " N o r m a l 0030540 i z e N , t h e s h i f t 0030560 f a c t o r , i n t o t h 0030600 e h a l f - o p e n i n t e 0030620 r v a l o f 0 t o F I E 0030640 L D S I Z E a n d t r a n s 0030660 f o r m a n e g a t i v e 0030700 N ( r o t a t i n g r i g h 0030720 t w a r d s ) i n t o a p 0030740 o s i t i v e f o r m . " ) \r 0030760 ( L E T * ( ( N ( I 0031000 M O D N F I E L D S I Z E ) 0031020 ) \r ( N . 0031040 B ( I D I F F E R E N C E F 0031060 I E L D S I Z E N ) ) ) \r 0031100 ( D E P O S I T 0031120 B Y T E ( L O A D B Y T E X 0031140 N . B N ) \r 0031160 N N . B X 0031200 ] ) \r ) \r ( D E C L A R E % : 0031220 E V A L @ C O M P I L E \r \r ( 0031240 P U T P R O P S . R O T . M 0031260 A C R O ( ( X F O R M N F 0031300 I E L D S I Z E ) \r 0031320 0031340 ( ( O P E N L A M B D A ( X 0031360 ) \r 0031400 0031420 ( D E P O S I T B Y T E ( L 0031440 O A D B Y T E X ( I D I F F 0031460 E R E N C E F I E L D S I Z E 0031500 N ) \r 0031520 * 0031560 N ) \r 0031600 * 0031640 N \r 0031660 0031700 ( I D I F F E R 0031720 E N C E F I E L D S I Z E N 0031740 ) \r 0031760 0032000 X ) ) \r 0032020 0032040 X F O R M ) ) ) \r ) \r \r 0032060 \r \r 006 004 ( * ; ; " P r i m i 0032100 t i v e F u n c t i o n s f 0032120 o r e x t r a c t i n g f i 0032140 e l d s a s i n t e g e r s 0032160 " ) 006 001 \r \r ( D E C L A R E % : 0032200 E V A L @ C O M P I L E \r \r 0032220 [ P U T P R O P S \ X L O A D 0032240 B Y T E W O R D D M A C R O 0032260 ( ( N P O S S I Z E ) \r 0032300 0032320 ( 0032340 * N i s c o n s t r a i n 0032360 e d t o b e a S M A L L 0032400 P ) \r 0032420 0032440 ( L O G A N D ( \ X L 0032460 R S H W O R D N P O S ) \r 0032500 * 0032540 ( M A S K . 1 ' S 0032560 0 ( I M I N B I T S P E R 0032600 W O R D S I Z E ] \r ) \r ( D E 0032620 F I N E Q \r \r ( 006 004 \ P U T B A 0032640 S E B I T S 006 001 \r [ L A M B 0032660 D A ( A D D R P O S I T I O 0032700 N S I Z E V A L ) 0032720 0032740 ( * l m m " 1 2 0032760 - A p r - 8 5 1 5 : 1 8 " ) \r 0033000 ( 006 002 i f 006 001 ( G R E 0033020 A T E R P P O S I T I O N B 0033040 I T S P E R W O R D ) \r 0033060 006 002 t h e n 006 001 ( 006 002 0033100 \ P U T B A S E B I T S 006 001 ( 0033120 \ A D D B A S E A D D R ( F 0033140 O L D L O P O S I T I O N B 0033160 I T S P E R W O R D ) ) \r 0033200 0033220 ( I M O D P O S I T I O N 0033240 B I T S P E R W O R D ) \r 0033260 0033300 S I Z E V A L ) \r 0033320 006 002 e l s e i f 006 001 ( G R E 0033340 A T E R P S I Z E ( D I F F 0033360 E R E N C E B I T S P E R W O 0033400 R D P O S I T I O N ) ) \r 0033420 006 002 t h e n 006 001 0033440 * 0033500 ( 0033520 * m o r e t h a n o n e 0033540 w o r d ) \r 0033560 [ 006 002 \ P U T B A S E B I 0033600 T S 006 001 A D D R P O S I T I 0033620 O N ( D I F F E R E N C E B 0033640 I T S P E R W O R D P O S I T 0033660 I O N ) \r 0033700 ( R S H V A 0033720 L ( S E T Q S I Z E ( D I 0033740 F F E R E N C E S I Z E ( D 0033760 I F F E R E N C E B I T S P E 0034000 R W O R D P O S I T I O N ] \r 0034020 ( 006 002 0034040 \ P U T B A S E B I T S 006 001 ( 0034060 \ A D D B A S E A D D R 1 ) 0034100 \r 0034120 0 S I Z E V A L ) 0034140 \r 006 002 e l s e 006 001 0034160 * 0034240 ( * a s i n g l e w o 0034260 r d ) \r ( 0034300 \ P U T B A S E A D D R 0 0034320 ( D E P O S I T B Y T E ( \ G 0034340 E T B A S E A D D R 0 ) \r 0034360 * 0034420 ( D I F F E R E N C E ( S 0034440 U B 1 B I T S P E R W O R D ) 0034460 \r 0034500 0034520 P O S I T 0034540 I O N ) \r 0034560 0034600 S I Z E V A L 0034620 ] ) \r ) \r \r \r \r 006 004 ( * ; ; 0034640 " P r i m i t i v e f u n c t 0034660 i o n s , e s p e c i a l l y 0034700 n e e d e d f o r C o m m 0034720 o n L i s p a r r a y p a c 0034740 k a g e . " ) 006 001 \r \r ( D E C L 0034760 A R E % : D O N T C O P Y \r 0035000 ( D E C L A R E % : E V A L @ 0035020 C O M P I L E \r \r ( P U T P R 0035040 O P S . H I H A L F W O R D L 0035060 O . M A C R O ( ( X ) \r 0035100 0035120 ( L 0035140 R S H X B I T S P E R H A L 0035160 F W O R D ) ) ) \r [ P U T P R O 0035200 P S . H I H A L F W O R D H I 0035220 . M A C R O ( ( X ) \r 0035240 0035260 ( L O 0035300 G A N D X ( C O N S T A N T 0035320 ( L S H M A S K H A L F W O 0035340 R D 1 ' S B I T S P E R H A L 0035360 F W O R D ] \r ( P U T P R O P S 0035400 . L O H A L F W O R D L O . 0035420 M A C R O ( ( X ) \r 0035440 0035460 ( L O G A 0035500 N D X M A S K H A L F W O R 0035520 D 1 ' S ) ) ) \r ( P U T P R O P 0035540 S . L O H A L F W O R D H I . 0035560 M A C R O ( ( X ) \r 0035600 0035620 ( L L S 0035640 H ( L O G A N D X M A S K 0035660 H A L F W O R D 1 ' S ) \r 0035700 * 0035740 B I T S P E R H A L F W O 0035760 R D ) ) ) \r ) \r \r ( D E C L A R 0036000 E % : E V A L @ C O M P I L E 0036020 \r \r [ P U T P R O P S \ G E 0036040 T B A S E N I B B L E D M A C 0036060 R O ( O P E N L A M B D A ( 0036100 B A S E O F F S T ) \r 0036120 * 0036160 ( [ L A M B D A ( \ B y 0036200 t e ) \r 0036220 * 0036260 ( D E C L A R E ( L O C 0036300 A L V A R S \ B y t e ) ) \r 0036320 * 0036360 ( i 0036400 f ( O D D P O F F S T ) \r 0036420 * 0036500 t h e n \r 0036520 * 0036560 ( L O G A N 0036600 D \ B y t e ( C O N S T A N 0036620 T ( M A S K . 1 ' S 0 B I 0036640 T S P E R N I B B L E ) \r 0036660 * 0036760 ) ) \r 0037000 * 0037040 e l s e \r 0037060 * 0037140 ( L R S H \ B y t e B 0037160 I T S P E R N I B B L E ] \r 0037200 * 0037240 ( \ G E T B A S E B 0037260 Y T E B A S E ( F O L D L O 0037300 O F F S T N I B B L E S P E 0037320 R B Y T E ] \r [ P U T P R O P S 0037340 \ P U T B A S E N I B B L E 0037360 D M A C R O \r ( O 0037400 P E N L A M B D A ( B A S E 0037420 O F F S T V A L ) \r 0037440 ( [ L A M B D 0037460 A ( \ B y t e N o ) \r 0037500 0037520 ( D E C L A R E ( L O C A 0037540 L V A R S \ B y t e N o ) ) \r 0037560 0037600 ( [ L A M B D A ( 0037620 \ B y t e ) \r 0037640 0037660 ( D E C L A R E ( L 0037700 O C A L V A R S \ B y t e ) ) 0037720 \r 0037740 ( 0037760 \ P U T B A S E B Y T E B A S 0040000 E \ B y t e N o \r 0040020 0040040 ( 0040060 i f ( O D D P O F F S T ) \r 0040100 * 0040140 t h e n \r 0040160 * 0040220 ( L O G O R ( L 0040240 O G A N D \ B y t e ( C O N 0040260 S T A N T ( M A S K . 1 ' S 0040300 B I T S P E R N I B B L E \r 0040320 * 0040420 B I 0040440 T S P E R N I B B L E ) ) ) \r 0040460 * 0040520 V 0040540 A L ) \r 0040560 0040600 e l s 0040620 e \r 0040640 0040660 ( L O G O 0040700 R ( L O G A N D \ B y t e 0040720 ( C O N S T A N T ( M A S K . 0040740 1 ' S 0 B I T S P E R N I B 0040760 B L E ) ) ) \r 0041000 * 0041040 ( L L S H V A L 0041060 B I T S P E R N I B B L E ] \r 0041100 0041120 ( \ G E T B A S E 0041140 B Y T E B A S E \ B y t e N 0041160 o ] \r 0041200 ( F O L D L O O F F S T 0041220 N I B B L E S P E R B Y T E ] \r 0041240 [ P U T P R O P S \ G E T B A 0041260 S E B I T D M A C R O ( O P 0041300 E N L A M B D A ( B A S E O 0041320 F F S T ) \r 0041340 0041360 ( [ L A M B 0041400 D A ( \ B y t e N o \ B i t 0041420 M a s k ) \r 0041440 * 0041500 ( D E C L A R E ( L O C A 0041520 L V A R S \ B y t e N o \ B 0041540 i t M a s k ) ) \r 0041560 * 0041620 ( i f ( E Q 0 ( 0041640 L O G A N D \ B i t M a s k 0041660 ( \ G E T B A S E B Y T E B A 0041700 S E \ B y t e N o ) ) ) \r 0041720 * 0041760 t h 0042000 e n 0 e l s e 1 ] \r 0042020 * 0042060 ( F O L D L O O F F S T 0042100 B I T S P E R B Y T E ) \r 0042120 * 0042160 ( M A S K . 1 ' S ( I D I 0042200 F F E R E N C E ( C O N S T A 0042220 N T ( S U B 1 B I T S P E R 0042240 B Y T E ) ) \r 0042260 * 0042320 ( I M 0042340 O D O F F S T B I T S P E R 0042360 B Y T E ) ) \r 0042400 * 0042440 1 ] \r [ P U T P R O P S 0042460 \ P U T B A S E B I T D M A C 0042500 R O ( O P E N L A M B D A ( 0042520 B A S E O F F S T V A L ) \r 0042540 * 0042600 ( [ L A M B D A ( \ B 0042620 y t e N o \ B i t M a s k \ 0042640 B y t e ) \r 0042660 * 0042720 ( D E C L A R E ( L O C A 0042740 L V A R S \ B y t e N o \ B 0042760 i t M a s k \ B y t e ) ) \r 0043000 * 0043040 ( S E T Q 0043060 \ B y t e ( \ G E T B A S E 0043100 B Y T E B A S E \ B y t e N 0043120 o ) ) \r 0043140 * 0043200 ( i f ( i f ( E Q 0 ( L 0043220 O G A N D \ B i t M a s k \ 0043240 B y t e ) ) \r 0043260 * 0043320 t h e n \r 0043340 * 0043420 ( N O T ( E Q 0 V 0043440 A L ) ) \r 0043460 * 0043520 e l s e \r 0043540 * 0043620 ( E Q 0 V A L ) ) \r 0043640 * 0043700 t h 0043720 e n \r 0043740 * 0044000 ( \ P U T B A S E B Y T E 0044020 B A S E \ B y t e N o ( L 0044040 O G X O R \ B i t M a s k \ 0044060 B y t e ) ) ) \r 0044100 * 0044140 V A L ] \r 0044160 0044200 ( F 0044220 O L D L O O F F S T B I T S 0044240 P E R B Y T E ) \r 0044260 0044300 ( M 0044320 A S K . 1 ' S ( I D I F F E R 0044340 E N C E ( C O N S T A N T ( 0044360 S U B 1 B I T S P E R B Y T E 0044400 ) ) \r 0044420 * 0044460 ( I M O D O 0044500 F F S T B I T S P E R B Y T E 0044520 ) ) \r 0044540 0044560 1 0044600 ] \r ) \r ) \r \r \r \r 006 004 ( * ; ; 0044620 " B e g i n n i n g o f r 0044640 e w r i t e o f s o m e L 0044660 L A R I T H t h i n g s , m 0044700 o d u l a r l y u s i n g t 0044720 h e m a c r o s o f t h i 0044740 s f i l e " ) 006 001 \r \r ( D E C 0044760 L A R E % : D O N T C O P Y 0045000 \r ( * " F O L L O W I N G D 0045020 E F I N I T I O N S E X P O R 0045040 T E D " ) \r \r ( D E C L A R E % 0045060 : E V A L @ C O M P I L E \r 0045100 \r ( R P A Q Q 006 002 M A S K 0 W 0045120 O R D 1 ' S 006 001 3 2 7 6 7 ) \r 0045140 \r ( R P A Q Q 006 002 M A S K 1 W 0045160 O R D 0 ' S 006 001 3 2 7 6 8 ) \r 0045200 \r ( R P A Q Q 006 002 M A S K W O 0045220 R D 1 ' S 006 001 6 5 5 3 5 ) \r \r 0045240 ( R P A Q Q 006 002 M A S K H A L 0045260 F W O R D 1 ' S 006 001 2 5 5 ) \r 0045300 \r ( R P A Q Q 006 002 B I T S P E 0045320 R H A L F W O R D 006 001 8 ) \r \r 0045340 ( C O N S T A N T S M A S K 0 0045360 W O R D 1 ' S M A S K 1 W O R 0045400 D 0 ' S M A S K W O R D 1 ' S 0045420 M A S K H A L F W O R D 1 ' S 0045440 B I T S P E R H A L F W O R D 0045460 ) \r ) \r ( D E C L A R E % : E 0045500 V A L @ C O M P I L E \r \r ( P 0045520 U T P R O P S E Q Z E R O P 0045540 M A C R O ( ( X ) \r 0045560 0045600 ( E Q 0 X ) ) ) \r ) 0045620 \r ( D E C L A R E % : E V A L 0045640 @ C O M P I L E \r \r [ P U T P 0045660 R O P S \ M O V E T O B O X 0045700 D M A C R O ( O P E N L A M B 0045720 D A ( N D ) \r 0045740 0045760 ( S E L 0046000 E C T C ( N T Y P X N ) \r 0046020 * 0046060 ( \ S M A L L 0046100 P ( r e p l a c e ( F I X P 0046120 H I N U M ) \r 0046140 * 0046220 o f D w i t h 0 ) \r 0046240 * 0046320 ( r e p l a c e ( F I X P L 0046340 O N U M ) \r 0046360 * 0046420 o f 0046440 D w i t h N ) ) \r 0046460 * 0046520 ( \ F I X P ( r e 0046540 p l a c e ( F I X P H I N U 0046560 M ) \r 0046600 * 0046640 o f D 0046660 w i t h ( f e t c h ( F I X 0046700 P H I N U M ) \r 0046720 * 0047020 o f N ) ) \r 0047040 * 0047100 ( r e p l a 0047120 c e ( F I X P L O N U M ) \r 0047140 * 0047220 o f D w i t 0047240 h ( f e t c h ( F I X P L 0047260 O N U M ) \r 0047300 * 0047360 o 0047400 f N ) ) ) \r 0047420 * 0047460 ( \ I L L E G A L . A R G N 0047500 ] \r [ P U T P R O P S . X U N 0047520 B O X . M A C R O ( ( X H 0047540 X L X ) \r 0047560 0047600 ( u n t i l ( S E T Q L X 0047620 ( S E L E C T C ( N T Y P X 0047640 X ) \r 0047660 * 0047720 [ \ S M A L L P ( C O 0047740 N D ( ( I G E Q X 0 ) \r 0047760 * 0050060 ( S E T Q H X 0 ) \r 0050100 * 0050160 X ) \r 0050200 * 0050300 ( T ( S E T Q H X M A S K 0050320 W O R D 1 ' S ) \r 0050340 * 0050420 ( \ L O 0050440 L O C X ] \r 0050460 * 0050520 ( \ F I X P ( 0050540 S E T Q H X ( f e t c h ( 0050560 F I X P H I N U M ) \r 0050600 * 0050700 o f X ) ) \r 0050720 * 0051000 ( f e t c h ( F I X P 0051020 L O N U M ) \r 0051040 * 0051120 o f X ) ) \r 0051140 * 0051200 N I 0051220 L ) ) \r 0051240 0051260 d o \r 0051300 0051320 ( S E T Q X 0051340 ( L I S P E R R O R " I L L 0051360 E G A L A R G " X T ] \r [ 0051400 P U T P R O P S . X L L S H . 0051420 M A C R O ( ( H I L O N 0051440 ) \r 0051460 ( i f ( 0051500 I G E Q N B I T S P E R W O 0051520 R D ) \r 0051540 0051560 t h e n \r 0051600 0051620 ( * J u m p 1 6 b i 0051640 t s i n a s i n g l e b 0051660 o u n d ! ) \r 0051700 0051720 ( S E T Q H I L O ) 0051740 \r 0051760 ( S 0052000 E T Q L O 0 ) \r 0052020 0052040 ( S E T Q N ( 0052060 I D I F F E R E N C E N B I 0052100 T S P E R W O R D ) ) ) \r 0052120 0052140 ( i f ( I G E Q 0052160 N B I T S P E R H A L F W O R 0052200 D ) \r 0052220 0052240 t h e n \r 0052260 0052300 ( * J u m p 8 b i t s 0052320 i n a s i n g l e b o u 0052340 n d ! ) \r 0052360 0052400 ( S E T Q H I ( L O G O 0052420 R ( . L O H A L F W O R D H I 0052440 . H I ) \r 0052460 * 0052520 ( . H I H A L F W O R D L 0052540 O . L O ) ) ) \r 0052560 0052600 ( S E T Q L O ( 0052620 . L O H A L F W O R D H I . L 0052640 O ) ) \r 0052660 0052700 ( S E T Q N ( I D I F F E 0052720 R E N C E N B I T S P E R H 0052740 A L F W O R D ) ) ) \r 0052760 0053000 ( i f ( I G E Q N 0053020 4 ) \r 0053040 0053060 t h e n \r 0053100 0053120 ( * J u m p 4 b i t s 0053140 i n a s i n g l e b o u 0053160 n d ! ) \r 0053200 0053220 ( S E T Q H I ( L O G O 0053240 R ( L R S H L O ( C O N S 0053260 T A N T ( I D I F F E R E N C 0053300 E B I T S P E R W O R D 4 ) 0053320 ) ) \r 0053340 * 0053400 ( L L S H [ L O G A N D H I 0053420 ( C O N S T A N T ( M A S K 0053440 . 1 ' S 0 ( I D I F F E R E 0053460 N C E \r 0053500 * 0053600 B I T S P E R 0053620 W O R D 4 ] \r 0053640 * 0053700 4 ) ) ) \r 0053720 0053740 ( S E 0053760 T Q L O ( L L S H [ L O G 0054000 A N D L O ( C O N S T A N T 0054020 ( M A S K . 1 ' S 0 ( I D 0054040 I F F E R E N C E B I T S P E 0054060 R W O R D \r 0054100 * 0054200 4 ] \r 0054220 * 0054260 4 ) ) \r 0054300 0054320 ( S E T Q 0054340 N ( I D I F F E R E N C E 0054360 N 4 ) ) ) \r 0054400 0054420 [ * M A S K 0 W O R D 1 ' S 0054440 s h o u l d b e s a m e a 0054460 s ( S U B 1 ( L S H 1 ( 0054500 S U B 1 B I T S P E R W O R D 0054520 ] \r 0054540 ( F R P T 0054560 Q N ( S E T Q H I ( L L 0054600 S H ( L O G A N D H I M A 0054620 S K 0 W O R D 1 ' S ) \r 0054640 * 0054700 1 ) ) 0054720 \r 0054740 0054760 ( S E T Q L O ( L L S H 0055000 ( i f ( I G E Q L O M A S 0055020 K 1 W O R D 0 ' S ) \r 0055040 * 0055100 t h 0055120 e n \r 0055140 * 0055200 ( a d d H I 1 ) 0055220 \r 0055240 * 0055300 ( L O G A N D L O M 0055320 A S K 0 W O R D 1 ' S ) \r 0055340 * 0055420 e l s e L O ) \r 0055440 * 0055500 1 ] \r [ P U T P 0055520 R O P S . X L L S H 1 . M A 0055540 C R O ( ( H I L O ) \r 0055560 0055600 ( S E T Q H I 0055620 ( L L S H ( L O G A N D H I 0055640 M A S K 0 W O R D 1 ' S ) \r 0055660 * 0055720 1 ) ) \r 0055740 0055760 ( S E T Q L O ( 0056000 L S H ( C O N D ( ( I G E Q 0056020 L O M A S K 1 W O R D 0 ' S 0056040 ) \r 0056060 * 0056120 ( S E T Q H I ( L O G O R 0056140 H I 1 ) ) \r 0056160 * 0056220 ( L O G A N D L 0056240 O M A S K 0 W O R D 1 ' S ) ) 0056260 \r 0056300 0056320 ( 0056340 T L O ) ) \r 0056360 0056400 1 0056420 ] \r [ P U T P R O P S . X L R 0056440 S H . M A C R O ( ( H I L 0056460 O N ) \r 0056500 ( i 0056520 f ( I G E Q N B I T S P E 0056540 R W O R D ) \r 0056560 0056600 t h e n \r 0056620 0056640 ( * J u m p 1 0 0056660 b i t s i n a s i n g l 0056700 e b o u n d ! ) \r 0056720 0056740 ( S E T Q L O 0056760 H I ) \r 0057000 0057020 ( S E T Q H I 0 ) \r 0057040 0057060 ( S E T Q 0057100 N ( I D I F F E R E N C E N 0057120 B I T S P E R W O R D ) ) ) \r 0057140 0057160 ( i f ( I G 0057200 E Q N B I T S P E R H A L F 0057220 W O R D ) \r 0057240 0057260 t h e n \r 0057300 0057320 ( * J u m p 8 b 0057340 i t s i n a s i n g l e 0057360 b o u n d ! ) \r 0057400 0057420 ( S E T Q L O ( L 0057440 O G O R ( . H I H A L F W O R 0057460 D L O . L O ) \r 0057500 * 0057540 ( . L O H A L F W O 0057560 R D H I . H I ) ) ) \r 0057600 0057620 ( S E T Q H 0057640 I ( . H I H A L F W O R D L O 0057660 . H I ) ) \r 0057700 0057720 ( S E T Q N ( I D I 0057740 F F E R E N C E N B I T S P 0057760 E R H A L F W O R D ) ) ) \r 0060000 0060020 ( i f ( I G E Q 0060040 N 4 ) \r 0060060 0060100 t h e n \r 0060120 0060140 ( * J u m p 4 b 0060160 i t s i n a s i n g l e 0060200 b o u n d ! ) \r 0060220 0060240 ( S E T Q L O ( L 0060260 O G O R ( L L S H ( L O G A 0060300 N D H I ( C O N S T A N T 0060320 ( M A S K . 1 ' S 0 4 ) ) ) 0060340 \r 0060360 * 0060420 ( C O N S T A N T ( I 0060440 D I F F E R E N C E B I T S P 0060460 E R W O R D 4 ) ) ) \r 0060500 * 0060540 ( L R S H L 0060560 O 4 ) ) ) \r 0060600 0060620 ( S E T Q H I ( L R 0060640 S H H I 4 ) ) \r 0060660 0060700 ( S E T Q N ( 0060720 I D I F F E R E N C E N 4 ) 0060740 ) ) \r 0060760 ( * M 0061000 A S K 1 W O R D 0 ' S s h o u 0061020 l d b e s a m e a s \ S 0061040 I G N B I T ) \r 0061060 0061100 ( F R P T Q N ( S E T Q 0061120 L O ( i f ( O D D P H I ) 0061140 \r 0061160 * 0061220 t h e n \r 0061240 * 0061300 ( L O G O R ( L R S H 0061320 L O 1 ) \r 0061340 * 0061400 M A S 0061420 K 1 W O R D 0 ' S ) \r 0061440 * 0061500 e l s e \r 0061520 * 0061560 ( L 0061600 R S H L O 1 ) ) ) \r 0061620 0061640 ( S E T 0061660 Q H I ( L R S H H I 1 ] 0061700 \r [ P U T P R O P S . A D D . 0061720 2 W O R D . I N T E G E R S . 0061740 M A C R O ( ( H X L X H Y 0061760 L Y ) \r 0062000 0062020 ( * I g 0062040 n o r e s c a r r y o u t 0062060 o f h i g h - o r d e r w o 0062100 r d ) \r 0062120 0062140 ( S E T Q 0062160 H X ( . S U M S M A L L M O D 0062200 . H X H Y ) ) \r 0062220 * 0062260 ( S E T Q L X ( . S U M S M 0062300 A L L M O D . L X L Y ( S 0062320 E T Q H X \r 0062340 * 0062440 ( i f ( E Q H X \r 0062460 * 0062560 M 0062600 A X . S M A L L . I N T E G E R 0062620 ) \r 0062640 * 0062740 t h e n 0 e l s e \r 0062760 * 0063060 ( A D D 1 0063100 H X ] \r [ P U T P R O P S . S 0063120 U B . 2 W O R D . I N T E G E R 0063140 S . M A C R O ( ( H X L X 0063160 H Y L Y ) \r 0063200 0063220 ( * 0063240 I g n o r e s c a r r y o 0063260 u t o f h i g h - o r d e r 0063300 w o r d ) \r 0063320 0063340 ( S E 0063360 T Q H X ( . D I F F E R E N 0063400 C E S M A L L M O D . H X H 0063420 Y ) ) \r 0063440 0063460 ( S E T Q 0063500 L X ( . D I F F E R E N C E S 0063520 M A L L M O D . L X L Y \r 0063540 * 0063620 ( S E T Q H X ( i 0063640 f ( E Q H X 0 ) \r 0063660 * 0063740 t 0063760 h e n M A X . S M A L L . I N 0064000 T E G E R e l s e \r 0064020 * 0064100 ( S 0064120 U B 1 H X ] \r [ P U T P R O P 0064140 S . 3 2 B I T M U L . M A C 0064160 R O ( ( H R L R X Y ) \r 0064200 0064220 ( P R O 0064240 G ( H X L X H Y L Y ) \r 0064260 * 0064320 ( i f ( I L E S S P X 0064340 Y ) \r 0064360 0064400 t h e n \r 0064420 * 0064460 ( s w a p X Y ) ) \r 0064500 * 0064540 ( * Y i s t h e l e 0064560 s s e r o f t h e t w o 0064600 n o w ) \r 0064620 0064640 ( . X U N B O X . 0064660 X H X L X ) \r 0064700 0064720 ( . X U 0064740 N B O X . Y H Y L Y ) \r 0064760 * 0065020 L P \r 0065040 0065060 ( i f ( O D D P 0065100 L Y ) \r 0065120 0065140 t h e n \r 0065160 * 0065220 ( . A D D . 2 W O R D 0065240 . I N T E G E R S . H R L R 0065260 H X L X ) ) \r 0065300 0065320 ( i f ( 0065340 E Q H Y 0 ) \r 0065360 0065400 t 0065420 h e n \r 0065440 0065460 ( S E T Q 0065500 L Y ( L R S H L Y 1 ) ) \r 0065520 * 0065560 ( i f ( E Q L Y 0065600 0 ) \r 0065620 0065640 t h 0065660 e n \r 0065700 0065720 ( R E 0065740 T U R N ) ) \r 0065760 0066000 e l s 0066020 e \r 0066040 0066060 ( . L R S H 1 . 0066100 H Y L Y ) ) \r 0066120 0066140 ( * T r 0066160 i m o f f h i g h e s t b 0066200 i t s , s o t h a t l e f 0066220 t - s h i f t i n g d o e s n 0066240 ' t g e n e r a t e \r 0066260 * 0066320 F I X P s ) \r 0066340 0066360 ( S E T Q 0066400 H X ( L O G A N D H X M 0066420 A S K 0 W O R D 1 ' S ) ) \r 0066440 * 0066500 ( . L L S H 1 . H X L X ) \r 0066520 * 0066560 ( G O L P ] \r ) \r ( D E C 0066600 L A R E % : E V A L @ C O M P 0066620 I L E \r \r [ P U T P R O P S 0066640 . S U M S M A L L M O D . M A 0066660 C R O ( ( X Y O V E R F L 0066700 O W F O R M ) \r 0066720 0066740 ( [ L A M B D A 0066760 ( \ S u m S m a l l M o d V a r 0067000 ) \r 0067020 0067040 ( D E C L A R 0067060 E ( L O C A L V A R S \ S u 0067100 m S m a l l M o d V a r ) ) \r 0067120 * 0067160 ( I F ( I L E Q 0067200 X \ S u m S m a l l M o d V a 0067220 r ) \r 0067240 0067260 T H 0067300 E N \r 0067320 0067340 ( I 0067360 P L U S X Y ) \r 0067400 * 0067440 E L S E O V E R F L 0067460 O W F O R M ( I D I F F E R E 0067500 N C E X ( A D D 1 \ S u m 0067520 S m a l l M o d V a r ] \r 0067540 0067560 ( I D 0067600 I F F E R E N C E M A X . S M 0067620 A L L . I N T E G E R Y ] \r [ 0067640 P U T P R O P S . D I F F E R 0067660 E N C E S M A L L M O D . M A 0067700 C R O ( ( X Y B O R R O W 0067720 F O R M ) \r 0067740 0067760 ( I F 0070000 ( N O T ( I G R E A T E R P 0070020 Y X ) ) \r 0070040 * 0070100 T H E N \r 0070120 0070140 ( 0070160 I D I F F E R E N C E X Y ) 0070200 \r 0070220 0070240 E L S E 0070260 B O R R O W F O R M ( A D D 1 0070300 ( I D I F F E R E N C E M A 0070320 X . S M A L L . I N T E G E R \r 0070340 * 0070440 ( I D I F F E R E 0070460 N C E Y X ] \r ) \r \r ( * " 0070500 E N D E X P O R T E D D E F 0070520 I N I T I O N S " ) \r \r \r ( D E 0070540 C L A R E % : E V A L @ C O M 0070560 P I L E \r \r [ P U T P R O P S 0070600 . A D D . 2 W O R D . I N T E 0070620 G E R S . M A C R O ( ( H X 0070640 L X H Y L Y ) \r 0070660 * 0070720 ( * I g n o r e s c a r r 0070740 y o u t o f h i g h - o r 0070760 d e r w o r d ) \r 0071000 * 0071040 ( S E T Q H X ( . S U M S M 0071060 A L L M O D . H X H Y ) ) \r 0071100 * 0071140 ( S E T Q L X ( 0071160 . S U M S M A L L M O D . L X 0071200 L Y ( S E T Q H X \r 0071220 * 0071320 ( i f ( E Q H 0071340 X \r 0071360 * 0071460 M A X . S M A L L . I 0071500 N T E G E R ) \r 0071520 * 0071620 t h e n 0 e l s 0071640 e \r 0071660 * 0071760 ( A D D 1 H X ] \r [ P U T P R 0072000 O P S . S U B . 2 W O R D . I 0072020 N T E G E R S . M A C R O ( 0072040 ( H X L X H Y L Y ) \r 0072060 * 0072120 ( * I g n o r e s c 0072140 a r r y o u t o f h i g h 0072160 - o r d e r w o r d ) \r 0072200 * 0072240 ( S E T Q H X ( . D I 0072260 F F E R E N C E S M A L L M O D 0072300 . H X H Y ) ) \r 0072320 * 0072360 ( S E T Q L X ( . D I F F E 0072400 R E N C E S M A L L M O D . L 0072420 X L Y \r 0072440 * 0072500 ( S E T Q 0072520 H X ( i f ( E Q H X 0 0072540 ) \r 0072560 * 0072640 t h e n M A X . S M 0072660 A L L . I N T E G E R e l s e 0072700 \r 0072720 * 0073000 ( S U B 1 H X ] \r [ P 0073020 U T P R O P S . 3 2 B I T M U 0073040 L . M A C R O ( ( H R L R 0073060 X Y ) \r 0073100 0073120 ( P R O G ( H X L X H 0073140 Y L Y ) \r 0073160 0073200 ( i f ( I L E 0073220 S S P X Y ) \r 0073240 0073260 t 0073300 h e n \r 0073320 0073340 ( s w a p 0073360 X Y ) ) \r 0073400 0073420 ( * Y i s 0073440 t h e l e s s e r o f t h 0073460 e t w o n o w ) \r 0073500 0073520 ( . X 0073540 U N B O X . X H X L X ) \r 0073560 * 0073620 ( . X U N B O X . Y H Y 0073640 L Y ) \r 0073660 0073700 L P \r 0073720 0073740 ( i f 0073760 ( O D D P L Y ) \r 0074000 * 0074040 t h e n \r 0074060 0074100 ( . A D D 0074120 . 2 W O R D . I N T E G E R S . 0074140 H R L R H X L X ) ) \r 0074160 * 0074220 ( i f ( E Q H Y 0 ) \r 0074240 * 0074300 t h e n \r 0074320 * 0074360 ( S E T Q L Y ( L R S H L 0074400 Y 1 ) ) \r 0074420 0074440 ( i f 0074460 ( E Q L Y 0 ) \r 0074500 * 0074540 t h e n \r 0074560 * 0074620 ( R E T U R N ) ) \r 0074640 * 0074700 e l s e \r 0074720 0074740 ( . 0074760 L R S H 1 . H Y L Y ) ) \r 0075000 * 0075040 ( * T r i m o f f h i g 0075060 h e s t b i t s , s o t h 0075100 a t l e f t - s h i f t i n g 0075120 d o e s n ' t g e n e r a t 0075140 e \r 0075160 0075200 F I X P s ) \r 0075220 * 0075260 ( S E T Q H X ( L O G A N 0075300 D H X M A S K 0 W O R D 1 ' 0075320 S ) ) \r 0075340 0075360 ( . L L S H 1 . H 0075400 X L X ) \r 0075420 0075440 ( G O L P ] \r 0075460 ) \r ) \r \r ( P U T P R O P S 006 0075500 002 A D D A R I T H F I L E T Y 0075520 P E 006 001 C L : C O M P I L E - 0075540 F I L E ) \r ( P U T P R O P S 0075560 A D D A R I T H C O P Y R I G 0075600 H T ( " X e r o x C o r p o 0075620 r a t i o n " 1 9 8 2 1 9 8 0075640 3 1 9 8 4 1 9 8 5 1 9 8 6 0075660 ) ) \r ( D E C L A R E % : D O 0075700 N T C O P Y \r ( F I L E M A 0075720 P ( N I L ( 3 5 1 1 3 6 4 0075740 8 ( L O G N O T 3 5 2 1 . 0075760 3 6 4 6 ) ) ( 5 1 4 9 5 8 0076000 6 7 ( L D B 5 1 5 9 . 5 0076020 4 0 0 ) ( D P B 5 4 0 2 . 0076040 5 6 6 6 ) ( B Y T E \r 5 6 0076060 6 8 . 5 8 6 5 ) ) ( 5 8 6 0076100 8 1 1 5 9 3 ( \ L D B E X P 0076120 A N D E R 5 8 7 8 . 8 0 6 0076140 3 ) ( \ D P B E X P A N D E R 0076160 8 0 6 5 . 1 1 5 9 1 ) ) 0076200 ( 1 1 9 7 7 1 2 1 6 2 ( \r I 0076220 M O D L E S S P 1 1 9 8 7 . 0076240 1 2 1 6 0 ) ) ( 1 2 4 6 9 0076260 1 2 9 3 2 ( R O T 1 2 4 7 9 0076300 . 1 2 9 3 0 ) ) ( 1 3 7 0 0076320 9 1 4 7 4 0 ( \ P U T B A S 0076340 E B I T S 1 3 7 1 9 . 1 4 0076360 7 3 8 ) ) \r ) ) ) \r S T O P \r 0076377