f24 is composite

Upload: alfredo-cano-cancela

Post on 06-Apr-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 F24 is Composite

    1/20

    T H E T W E N T Y - F O U R T H F E R M A T N U M B E R I S C O M P O S I T E

    3 0 S e p t e m b e r 1 9 9 9

    z x

    R i c h a r d E . C r a n d a l l E r n s t W . M a y e r

    y

    J a s o n S . P a p a d o p o u l o s

    C e n t e r f o r A d v a n c e d C o m p u t a t i o n D e p t . o f M e c h . & A e r o s p a c e E n g i n e e r i n g D e p t . o f E l e c . & C o m p . E n g i n e e r i n g

    R e e d C o l l e g e C a s e W e s t e r n R e s e r v e U n i v e r s i t y U n i v e r s i t y o f M a r y l a n d

    P o r t l a n d , O R 9 7 2 0 2 C l e v e l a n d , O H 4 4 1 0 6 C o l l e g e P a r k , M D 2 0 7 4 2

    c r a n d a l l @ r e e d . e d u e w m a y e r @ a o l . c o m j a s o n p @ g l u e . u m d . e d u

    P r e s e n t a d d r e s s : 1 0 1 9 0 P a r k w o o d D r . A p t . 1 , C u p e r t i n o , C A 9 5 0 1 4

    y

    T o w h o m c o r r e s p o n d e n c e s h o u l d b e a d d r e s s e d .

    z

    S u b m i t t e d t o M a t h e m a t i c s o f C o m p u t a t i o n .

    x

    1 9 9 1 M a t h e m a t i c s S u b j e c t C l a s s i c a t i o n . P r i m a r y 1 1 Y 1 1 , 1 1 Y 1 6 , 6 8 Q 2 5 , 1 1 A 5 1 .

    A b s t r a c t

    W e h a v e s h o w n b y m a c h i n e p r o o f t h a t F

    2 4

    = 2

    2

    2 4

    + 1 i s c o m p o s i t e . T h e r i g o r o u s P e p i n p r i m a l i t y t e s t

    w a s p e r f o r m e d u s i n g i n d e p e n d e n t l y d e v e l o p e d p r o g r a m s r u n n i n g s i m u l t a n e o u s l y o n t w o d i e r e n t ,

    p h y s i c a l l y s e p a r a t e d p r o c e s s o r s . E a c h p r o g r a m e m p l o y e d a o a t i n g - p o i n t , F F T - b a s e d d i s c r e t e

    w e i g h t e d t r a n s f o r m ( D W T ) t o e e c t m u l t i p l i c a t i o n m o d u l o F

    2 4

    . T h e n a l , r e s p e c t i v e P e p i n r e s i d u e s

    o b t a i n e d b y t h e s e t w o m a c h i n e s w e r e i n c o m p l e t e a g r e e m e n t . U s i n g i n t e r m e d i a t e r e s i d u e s s t o r e d

    p e r i o d i c a l l y d u r i n g o n e o f t h e o a t i n g - p o i n t r u n s , a s e p a r a t e a l g o r i t h m f o r p u r e - i n t e g e r n e g a c y c l i c

    c o n v o l u t i o n v e r i e d t h e r e s u l t i n a \ w a v e f r o n t " p a r a d i g m , b y r u n n i n g s i m u l t a n e o u s l y o n n u m e r o u s

    a d d i t i o n a l m a c h i n e s , t o e e c t p i e c e w i s e v e r i c a t i o n o f a s a t u r a t i n g s e t o f d e t e r m i n i s t i c l i n k s f o r

    t h e P e p i n c h a i n . W e d e p o s i t e d a n a l P e p i n r e s i d u e f o r p o s s i b l e u s e b y f u t u r e i n v e s t i g a t o r s i n t h e

    e v e n t t h a t a p r o p e r f a c t o r o f F

    2 4

    b e d i s c o v e r e d h e r e i n w e r e p o r t t h e m o r e c o m p a c t , t r a d i t i o n a l

    S e l f r i d g e - H u r w i t z r e s i d u e s .

    1 C o m p u t a t i o n a l h i s t o r y o f F e r m a t n u m b e r s

    I t i s w e l l k n o w n t h a t P . F e r m a t d i d , i n t h e e a r l y p a r t o f t h e 1 7 t h c e n t u r y , d e s c r i b e t h e n u m b e r s

    F

    n

    = 2

    2

    n

    + 1

    n o t i n g t h a t f o r n = 0 1 2 3 4 t h e s e a r e a l l p r i m e s , a n d c l a i m i n g t h a t t h e p r i m a l i t y p r o p e r t y s u r e l y

    m u s t h o l d f o r a l l s u b s e q u e n t n > 4 . I n a r e m a r k a b l e o v e r s i g h t , F e r m a t d i d n o t g o o n t o t e s t t h e

    s t a t u s o f F

    5

    , e v e n t h o u g h h e c o u l d h a v e d o n e s o q u i t e e a s i l y u s i n g t h e c o m p o s i t e n e s s t e s t t h a t n o w

    b e a r s h i s n a m e . L a t e r m o d i c a t i o n , d u e t o E u l e r , o f t h i s c e l e b r a t e d c o m p o s i t e n e s s t e s t l e d i n f a c t

    t o t h e r i g o r o u s P e p i n t e s t f o r t h e F

    n

    . A f t e r t h e d i s c o v e r y o f c e r t a i n s m a l l f a c t o r s o f v a r i o u s F

    n

    t h r o u g h t h e e n s u i n g c e n t u r i e s , a n d a f t e r t h e m a c h i n e - a i d e d w o r k o f S e l f r i d g e a n d H u r w i t z 2 6 ] w i t h

    t h e s p e c t a c u l a r r e s o l u t i o n o f F

    1 4

    a s c o m p o s i t e , i t w a s k n o w n b y t h e e a r l y 1 9 8 0 s t h a t F

    n

    i s c o m p o s i t e

    f o r a l l 5 n 3 0 , e x c e p t f o r t h e f o u r c a s e s n = 2 0 , 2 2 , 2 4 a n d 2 8 , f o r w h i c h t h e c h a r a c t e r o f F

    n

    r e m a i n e d u n r e s o l v e d 2 4 ] . M a n y o f t h e c o m p o s i t e n e s s p r o o f s h a v e s i m p l y i n v o l v e d d i r e c t s i e v i n g |

    t o n d s m a l l f a c t o r s | a n d t h e r e s e e m s t o b e n o e n d t o s u c h d i s c o v e r i e s . F o r e x a m p l e , i n 1 9 9 7

    T a u r a f o u n d a s m a l l f a c t o r o f F

    2 8

    1 6 ] . T h e n b e g a n a s e r i e s o f t h r e e m a s s i v e c o m p u t a t i o n s , s h o w i n g

    1

  • 8/3/2019 F24 is Composite

    2/20

    t h a t F

    2 0

    2 9 ] , F

    2 2

    1 0 , 2 7 ] , a n d i n t h e p r e s e n t w o r k , F

    2 4

    a r e a l l c o m p o s i t e . T h u s e v e r y F

    n

    w i t h

    5 n 3 0 i s n o w k n o w n t o b e c o m p o s i t e . T h a n k s t o a n i n f o r m a l b u t d e d i c a t e d b a n d o f F e r m a t -

    n u m b e r e n t h u s i a s t s ( t h e r e s e e m s t o h a v e b e e n s u c h a g r o u p i n m o s t e v e r y e r a s i n c e F e r m a t ) , t h e

    c u r r e n t s t a t u s o f k n o w n f a c t o r s a n d t h e l i k e i s a v a i l a b l e o n t h e I n t e r n e t 1 6 ] .

    T h e c u l t u r a l l y i n t e r e s t i n g t e r m \ g e n u i n e c o m p o s i t e " r e f e r s t o p r o v e n c o m p o s i t e s t h a t n e v e r t h e -

    l e s s e n j o y n o t a s i n g l e k n o w n p r o p e r f a c t o r . T h e o n l y k n o w n g e n u i n e c o m p o s i t e F

    n

    a r e n o w f o r

    n = 1 4 2 0 2 2 2 4 . I t i s a m u s i n g t h a t t h e d i s c o v e r y r a t e e x h i b i t e d b y t h e s e f o u r i n d i c e s n a p p e a r s

    t o f o l l o w a r u l e o f t h u m b : t o g e t f r o m t h e r e s o l u t i o n o f F

    m

    t o t h e r e s o l u t i o n o f F

    n

    t a k e s u s a b o u t

    3 ( n ; m ) y e a r s . A m u s e m e n t a n d h e u r i s t i c s a s i d e , i t i s i m p o r t a n t t o o b s e r v e t h a t t h e r e s o l u t i o n

    o f e a c h o f t h e s e g e n u i n e c o m p o s i t e s w a s c a r r i e d o u t , i n i t s o w n e r a , n e a r t h e e d g e o f t e c h n i c a l

    f e a s i b i l i t y . I n o u r p r o o f f o r F

    2 4

    w e w e r e a b l e t o u s e r e l a t i v e l y s m a l l | s a y \ u n i p r o c e s s o r " | m a c h i n e s

    f o r b o t h t h e o a t i n g - p o i n t \ w a v e f r o n t " p h a s e a n d t h e p u r e - i n t e g e r p r o o f p h a s e , a s e x p l a i n e d l a t e r .

    I n v i e w o f t h e s u b s t a n t i a l l e a p i n s i z e b e t w e e n F

    2 4

    ( 5 0 5 0 4 4 6 d e c i m a l d i g i t s , s o m e t h i n g l i k e a \ b o o k "

    o f d i g i t s ) a n d F

    3 1

    ( 6 4 6 4 5 6 9 9 4 d i g i t s , m o r e l i k e a \ b o o k s h e l f " ) , i t i s d i c u l t t o g u e s s w h a t m a n n e r

    o f a l g o r i t h m s a n d m a c h i n e r y w i l l s u c c e e d o n F

    3 1

    . T h e r u l e o f t h u m b o f 3 ( n ; m ) i f t a k e n s e r i o u s l y

    w o u l d i m p l y a r e s o l u t i o n o f F

    3 1

    b y a b o u t 2 0 2 0 A . D . W e a r e s a y i n g t h a t f o r s u c h r e s o l u t i o n t o o c c u r

    t h a t s o o n , m a c h i n e r y a n d a l g o r i t h m s m u s t u n d e r g o c o n s i d e r a b l e c h a n g e ( a s t h e y a r g u a b l y h a v e

    h a d t o t o s o f a r t o e s t a b l i s h e v e r y g e n u i n e c o m p o s i t e ) .

    R e g a r d i n g o u r c o m p u t a t i o n , w e p a r a p h r a s e t h e c l a i m o f Y o u n g a n d B u e l l 2 9 ] r e g a r d i n g t h e i r

    c a l c u l a t i o n f o r F

    2 0

    , t h a t t h i s i s t h e d e e p e s t e v e r p e r f o r m e d f o r a \ o n e - b i t a n s w e r . " A n d t h e b i t c a n

    b e m a d e e x p l i c i t : w e s h a l l s e e t h a t t h e h i g h b i t o f t h e n a l P e p i n r e s i d u e c a n b e i n t e r p r e t e d a s

    a B o o l e a n b i t r i g o r o u s l y s i g n a l i n g p r i m e o r c o m p o s i t e . T h i s i s n o t t o s a y t h a t F

    2 4

    i s t h e l a r g e s t

    n u m b e r e v e r s u b j e c t e d t o a d i r e c t ( n o n - f a c t o r i a l ) c o m p o s i t e n e s s t e s t p e r s e : I t h a s r e c e n t l y c o m e

    t o t h e a u t h o r s ' a t t e n t i o n 2 8 ] t h a t a t l e a s t o n e M e r s e n n e n u m b e r , n a m e l y 2

    2 0 2 9 5 6 3 1

    ; 1 , h a s b e e n

    s u b j e c t e d t o a L u c a s - L e h m e r t e s t | w i t h t h e c o n c l u s i o n o f c o m p o s i t e c h a r a c t e r | b y G . S p e n c e , b u t

    t h a t c o m p u t a t i o n c a n n o t b e c o n s i d e r e d a r i g o r o u s r e s u l t s i n c e i t h a s n o t b e e n d o u b l e - c h e c k e d , a

    c r u c i a l e x p e d i e n t f o r a n y n u m b e r o f s u c h s i z e , a n d e v e n m o r e s o f o r o n e t e s t e d o n r e l a t i v e l y e r r o r -

    p r o n e P C - c l a s s h a r d w a r e , a s t h e a f o r e m e n t i o n e d r e c o r d M e r s e n n e w a s . T h u s , F

    2 4

    i s a l s o t h e l a r g e s t

    v e r i e d g e n u i n e c o m p o s i t e .

    1

    I t i s a l s o t h e c a s e t h a t a t t h e t i m e o f p r o o f f o r F

    2 2

    , s o m e o f t h e b e s t m a c h i n e r y a v a i l a b l e w a s

    p r e s s e d h a r d f o r a g o o d f r a c t i o n o f a y e a r , t o a c h i e v e t h e p r o o f . I n c i d e n t a l l y i n t h e c a s e o f F

    2 2

    ,

    a n e n t i r e l y i n d e p e n d e n t t e a m o f J . C a r v a l h o a n d V . T r e v i s a n 2 7 ] s u r p r i s e d t h e a u t h o r s o f 1 0 ] b y

    a n n o u n c i n g s h o r t l y a f t e r t h e l a t t e r g r o u p ' s r u n a m a c h i n e p r o o f o f t h e s a m e r e s u l t , t o g e t h e r w i t h

    i d e n t i c a l S e l f r i d g e - H u r w i t z r e s i d u e s . T h e t w o p r o o f s u s e d d i e r e n t s o f t w a r e a n d m a c h i n e r y , a n d

    s o t h e r e c a n b e n o r e a s o n a b l e d o u b t t h a t F

    2 2

    i s c o m p o s i t e . W h e n w e s a y \ n o r e a s o n a b l e d o u b t "

    h e r e , w e m e a n c e r t a i n t y u p t o , s a y , w h a t m i g h t b e c a l l e d \ u n t h i n k a b l e " h a p p e n s t a n c e , s u c h a s

    s p a c e - t i m e - s e p a r a t e d c o i n c i d e n c e o f c o s m i c r a y s i m p i n g e n t o n m a c h i n e s c a u s i n g a c c i d e n t a l f a l s e

    p r o o f a n d a c c i d e n t a l l y v e r i e d f a l s e p r o o f . F o r e x a m p l e , t h e p r o b a b i l i t y o f t w o n a l P e p i n r e s i d u e s

    i n t h e F

    2 2

    c a s e a g r e e i n g b e c a u s e o f r a n d o m b i t - i p s a t b o t h s i t e s i n d e p e n d e n t l y i s s a y 2

    ; 2

    2 2

    ,

    o r a b o u t 1 = 1 0

    1 0 0 0 0 0 0

    . I t w o u l d s e e m t h a t t h e p r o b a b i l i t y t h a t b o t h s i t e s a r e r u n n i n g i n c o r r e c t

    a l g o r i t h m s | p e r h a p s e v e n g e n u i n e l y d i e r e n t a l g o r i t h m s t h a t a c c i d e n t a l l y a g r e e o n a n e r r o n e o u s

    c o n c l u s i o n | j u s t h a s t o b e g r e a t e r t h a n t h i s . W e a s s u m e t h a t h u m a n m i n d s t o o a r e s u s c e p t i b l e

    t o p h y s i c a l p h e n o m e n a a n d o n e a s k s , w h a t i s t h e p r o b a b i l i t y t h a t e v e r y i n v e s t i g a t o r h a s m i s s e d a

    1

    G . W o l t m a n o f G I M P S c i t e s a n e r r o r ( f a l s e - n a l - r e s i d u e ) r a t e o n t h e o r d e r o f 1 % f o r t h e m i l l i o n - d i g i t M e r s e n n e s ,

    w h i c h r u n s p r i m a r i l y o c c u r o n P C s . A s s u m i n g f o r s i m p l i c i t y ' s s a k e a n e r r o r r a t e l i n e a r i n t h e n u m b e r o f m a c h i n e

    o p e r a t i o n s , i . e . r o u g h l y q u a d r a t i c i n t h e n u m b e r o f d i g i t s o f t h e n u m b e r u n d e r t e s t , i t i s c l e a r w h y o n e c a n n o t c l a i m a

    h i g h d e g r e e o f c o n d e n c e i n t h e r e s u l t s o f s u c h a l a r g e s i n g l e c o m p u t a t i o n p e r f o r m e d o n a P C , u n t i l a t l e a s t a s e c o n d

    o a t i n g - p o i n t r u n h a s b e e n p e r f o r m e d .

    2

  • 8/3/2019 F24 is Composite

    3/20

    a w i n t h e p r o o f o f F e r m a t ' s \ l a s t t h e o r e m , " o r f o r t h a t m a t t e r i n a n y t h e o r e m a t a l l n o m a t t e r

    h o w t r i v i a l o n t h e f a c e o f i t ? C e r t a i n l y s u c h p r o b a b i l i t y i s n o t i d e n t i c a l l y z e r o , e v e n t h o u g h w e t e n d

    t o a s s e r t w i t h t o t a l c o n d e n c e t h a t s u c h - a n d - s u c h a t h e o r e m h a s b e e n p r o v e n . P e r h a p s , a f t e r a l l

    t h i s n o n r i g o r o u s l a n g u a g e , i t i s b e s t m e r e l y t o c i r c u m v e n t t h e i s s u e o f h u m a n c o n c e p t u a l e r r o r a n d

    g u a r a n t e e i n m a c h i n e p r o o f s p e r s e t h a t e r r o r p r o b a b i l i t i e s f a l l b e l o w s o m e r e a s o n a b l e m i n i m u m ,

    s u c h a s t h e 1 0

    ; 5 0

    w h i c h w a s t o u t e d a t t h e i n c e p t i o n o f t h e e l d o f t h e r m o d y n a m i c s i n t h e 1 9 t h

    c e n t u r y a s a k i n d o f b o u n d o n t h e p r o b a b i l i t y o f \ i m p o s s i b l e " e v e n t s .

    D u r i n g t h e p r e p a r a t i o n s f o r o u r r u n s o f F

    2 4

    w e a g a i n r e p r o d u c e d t h e p r e v i o u s S e l f r i d g e - H u r w i t z

    r e s i d u e s f o r F

    2 2

    . B e c a u s e w e w e r e u n a w a r e o f a n y i n d e p e n d e n t t e a m a l s o t e s t i n g F

    2 4

    , w e t o o k

    e x t r e m e c a r e t o v e r i f y o u r p r o o f , a s e x p l a i n e d b e l o w . A g a i n ( i n 1 9 9 9 ) t h e m a c h i n e r y w a s h a r d -

    p r e s s e d f o r m o n t h s , a l g o r i t h m r e n e m e n t r e q u i r e d s u b s t a n t i a l l a b o r ( b u t w a s w e l l w o r t h t h e e o r t ) ,

    a n d s o o n .

    T o c o n v e y a n i d e a o f s c a l e , w e n o t e t h a t F

    2 4

    i s a n u m b e r o f n e a r l y 1 7 m i l l i o n b i n a r y b i t s . T h u s

    i t i s l a r g e r e v e n t h a n t h e s q u a r e o f t h e c u r r e n t l y l a r g e s t k n o w n e x p l i c i t p r i m e 2

    6 9 7 2 5 9 3

    ; 1 , f o u n d i n

    J u n e o f 1 9 9 9 b y N . H a j r a t w a l a , G . W o l t m a n , a n d S . K u r o w s k i , a n d v e r i e d b y o n e o f t h e a u t h o r s

    ( E W M ) . I f F

    2 4

    h a d t u r n e d o u t t o b e p r i m e , i t w o u l d t h e r e f o r e h a v e d w a r f e d a l l o t h e r k n o w n p r i m e s .

    B u t s u c h w a s n o t t h e c a s e . I n f a c t w h a t a p p e a r s t o b e a r e a s o n a b l e e s t i m a t e o f t h e \ p r o b a b i l i t y "

    t h a t F

    n

    b e p r i m e i s a t t a i n a b l e v i a a s t r a i g h t f o r w a r d s i e v e - b a s e d a r g u m e n t 1 8 ] . S i n c e f o r n > 1

    e v e r y p r i m e f a c t o r p o f F

    n

    m u s t b e o f t h e f o r m

    p = 1 + k 2

    n + 2

    ( 1 )

    o n e m a y d e d u c e a p p r o x i m a t e f o r m u l a e s u c h a s :

    P r o b f F

    n

    i s p r i m e g

    e

    l o g

    2

    ( B )

    l o g

    2

    ( F

    n

    )

    e

    l o g

    2

    ( B )

    2

    n

    ( 2 )

    w h e r e 0 : 5 7 7 : : : i s t h e E u l e r c o n s t a n t a n d B i s t h e c u r r e n t l o w e r b o u n d ( e . g . f o r n > 2 0 o r s o , t h e

    u p p e r b o u n d f o r s i e v e - b a s e d f a c t o r i n g ) o n p r i m e f a c t o r s o f F

    n

    . S i n c e F

    2 4

    h a s b e e n s i e v e d b y v a r i o u s

    i n v e s t i g a t o r s , i n r e g a r d t o t h e c o n s t r a i n t ( 1 ) , u p t o r o u g h l y B 1 0

    2 0

    1 7 ] , w e o b t a i n a p r o b a b i l i t y

    l e s s t h a n 1 0

    ; 5

    f o r F

    2 4

    t o b e p r i m e . I n c i d e n t a l l y , n o m a t t e r h o w o n e t w i s t s a n d t u r n s , a n y m a n n e r o f

    r o u g h s u m m a t i o n o f t h e g i v e n p r o b a b i l i t y o n F

    n

    l e a d s u s t o t h e c o n c l u s i o n t h a t t h e r e a r e p r o b a b l y

    n o t a n y m o r e p r i m e F e r m a t n u m b e r s b e y o n d F

    4

    . W e n o t e t h a t M e r s e n n e c a n d i d a t e s M

    q

    = 2

    q

    ; 1

    w i t h q i t s e l f p r i m e a l s o h a v e a s p e c i a l f o r m p = 1 + 2 k q f o r p o s s i b l e f a c t o r s , b u t e v e n t h o u g h t h i s

    l e a d s t o a q u a l i t a t i v e l y s i m i l a r e s t i m a t e f o r t h e p r o b a b i l i t y o f a n i n d i v i d u a l M

    q

    b e i n g p r i m e , w e

    e x p e c t t o n d M e r s e n n e p r i m e s w i t h s o m e r e g u l a r i t y , s i n c e i n a g i v e n e x p o n e n t r a n g e t h e r e a r e

    s i m p l y s o m a n y m o r e p r i m a l i t y c a n d i d a t e s a m o n g t h e n u m b e r s f o r w h i c h n o e x p l i c i t f a c t o r h a s

    b e e n f o u n d ( a l l p r i m e s i n t h e g i v e n e x p o n e n t r a n g e f o r M e r s e n n e s , v e r s u s o n l y i n t e g e r p o w e r s o f 2

    f o r t h e F e r m a t s ) .

    2 M e t h o d o f p r o o f

    T h e c l a s s i c a l P e p i n t e s t f o r p r i m a l i t y a s s e r t s t h a t i f F = F

    n

    > 5 i s a q u a d r a t i c n o n r e s i d u e o f a n

    o d d p r i m e q , t h e n F i s p r i m e i f a n d o n l y i f

    q

    ( F ; 1 ) = 2

    ; 1 ( m o d F ) : ( 3 )

    T h i s i s r e a l l y j u s t a n E u l e r p s e u d o p r i m e t e s t | P e p i n ' s c o n t r i b u t i o n w a s t o s h o w t h a t s u c h a t e s t

    t o b a s e 3 i n f a c t c o n s t i t u t e s a r i g o r o u s p r i m a l i t y t e s t f o r t h e F

    n

    . I t i s m o s t t y p i c a l t o c h o o s e q = 3

    3

  • 8/3/2019 F24 is Composite

    4/20

    ( a n d i n f a c t t h e r e p o r t i n g o f t h e S e l f r i d g e - H u r w i t z r e s i d u e s a s s u m e s t h i s i s t h e c a s e ) , a n d c o m p u t e

    t h e n a l P e p i n r e s i d u e R

    n

    w h i c h w e d e n e :

    R

    n

    = 3

    ( F

    n

    ; 1 ) = 2

    m o d F

    n

    w h e r e b y t h i s n o t a t i o n w e m e a n R

    n

    i s t h e l e a s t n o n n e g a t i v e r e s i d u e m o d u l o F

    n

    . N o w t h e P e p i n

    c r i t e r i o n s a y s t h a t F

    n

    i s p r i m e i f a n d o n l y i f R

    n

    = F

    n

    ; 1 . I n t h e c a s e o f p r i m a l i t y t h e n a l P e p i n

    r e s i d u e R

    n

    i s t h e l a r g e s t p o s s i b l e b i n a r y v a l u e 1 0 : : : : 0 m o d u l o F

    n

    , s o t h e h i g h e s t b i t p o s i t i o n f o r

    r e s i d u e s | n a m e l y t h e 2

    2

    n

    p o s i t i o n | h a s a ' 1 ' i f a n d o n l y i f F

    n

    i s p r i m e . W e c o n t i n u e h e r e i n t h e

    t r a d i t i o n o f S e l f r i d g e a n d H u r w i t z b y r e p o r t i n g t h e n u m b e r s

    R

    n

    ( m o d 2

    3 5

    ; 1 2

    3 6

    2

    3 6

    ; 1 )

    f o r u s e b y f u t u r e i n v e s t i g a t o r s i n m a t t e r s o f v e r i c a t i o n . N o t e t h a t a s a q u i c k c h e c k , F

    n

    n > 5

    i s c o m p o s i t e i f t h e s e c o n d S e l f r i d g e - H u r w i t z r e s i d u e i s n o n v a n i s h i n g . W e a l s o s t o r e d t h e c o m p l e t e

    r e s i d u e , w h i c h w i l l b e o f u s e w h e n e v e r a n e w f a c t o r o f F

    2 4

    i s d i s c o v e r e d . T h e v a l u e o f s u c h p e r -

    m a n e n t s t o r a g e i s b a s e d o n t h e S u y a m a m e t h o d f o r c h e c k i n g c o m p o s i t e n e s s o f c o f a c t o r s . I f w e c a n

    d e c o m p o s e

    F

    n

    = f G

    w h e r e f i s a ( n o t n e c e s s a r i l y p r i m e ) k n o w n f a c t o r , t h e n t h e c o f a c t o r G i s p r i m e o n l y i f

    ( R

    2

    n

    m o d F

    n

    ) m o d G ( 3

    f ; 1

    m o d F

    n

    ) m o d G

    o t h e r w i s e , G i s c o m p o s i t e . T h e p o i n t o f h a v i n g t h e n e s t e d m o d o p e r a t i o n s i s t h a t w h e n t h e p r o d u c t

    o f k n o w n p r i m e f a c t o r s f i s a r e l a t i v e l y s m a l l p a r t o f F

    n

    , t h e n u m b e r o f m o d u l a r m u l t i p l i c a t i o n s

    n e e d e d t o c a l c u l a t e 3

    f ; 1

    m o d F

    n

    i s m u c h l e s s t h a n w o u l d b e r e q u i r e d t o p e r f o r m a d i r e c t F e r m a t

    o r E u l e r p s e u d o p r i m e t e s t o f t h e l a r g e c o f a c t o r G . A d d i t i o n a l l y , d u e t o t h e a v a i l a b i l i t y o f f a s t

    d i s c r e t e w e i g h t e d t r a n s f o r m ( D W T ) a r i t h m e t i c 1 1 ] , e a c h F e r m a t - m o d m u l t i p l i c a t i o n w i t h r e s p e c t

    F

    n

    i s m u c h m o r e e c i e n t t h a n a n o p e r a t i o n m o d u l o G . I t w a s i n j u s t t h i s w a y t h a t t h e h a r d e s t

    c o f a c t o r s t o d a t e , n a m e l y o f F

    1 9

    , F

    2 1

    w e r e e s t a b l i s h e d a s c o m p o s i t e 1 0 ] . I n c i d e n t a l l y t h e r e i s y e t

    a n o t h e r p r a c t i c a l u s e f o r a p e r m a n e n t l y s t o r e d r e s i d u e R

    n

    . F i r s t o b s e r v e t h a t n o F e r m a t n u m b e r

    c a n b e a p r i m e p o w e r p

    k

    , k 2 b e c a u s e , a s i s e a s i l y p r o v e n , t h e D i o p h a n t i n e e q u a t i o n

    p

    k

    ; 4

    n

    = 1

    f o r k > 1 h a s n o s o l u t i o n s 1 0 ] . W h e n a n e w f a c t o r f o f a n F

    n

    = f G i s d i s c o v e r e d , o n e c a n f u r t h e r

    u s e t h e s t o r e d n a l P e p i n r e s i d u e R

    n

    t o d e t e r m i n e w h e t h e r t h e c o f a c t o r G i s a p r i m e p o w e r . A s

    e x p l a i n e d i n 1 0 ] , o n e a p p r o a c h i s t o c a l c u l a t e

    g c d ( 3

    f G

    ; 3

    f

    G ) = g c d ( R

    2

    n

    ; 3

    f ; 1

    G )

    f o r i f t h i s s h o u l d b e 1 , t h e n G i s n e i t h e r p r i m e n o r a p r i m e p o w e r , i . e . o n e n e a t l y c o m b i n e s b o t h

    t h e S u y a m a a n d t h e p r i m e - p o w e r t e s t s i n t o e v a l u a t i o n o f a s i n g l e g c d .

    3 A l g o r i t h m s

    N o w w e t u r n t o t h e a l g o r i t h m i c i s s u e s , t h e m a i n i d e a b e i n g t o c a l c u l a t e ( a n d s t o r e s o m e s u b s e t o f )

    t h e P e p i n r e s i d u e s 3

    2

    k

    m o d F

    2 4

    . I t i s e v i d e n t t h a t w e n e e d t o s q u a r e e s s e n t i a l l y r a n d o m r e s i d u e s

    o f a b o u t 2

    2 4

    b i t s e a c h , a t o t a l o f 2

    2 4

    ; 1 t i m e s , i n t h e s e n s e t h a t 3 i s t h e 0 - t h s q u a r e a n d t h e n a l

    P e p i n r e s i d u e R

    n

    i s t h e r e s u l t o f t h e ( 2

    2 4

    ; 1 ) - t h s q u a r i n g .

    4

  • 8/3/2019 F24 is Composite

    5/20

    L e t u s a d o p t s o m e n o m e n c l a t u r e . D e n o t e a r e s i d u e x m o d u l o F

    n

    b y i t s d i g i t s ( i n s o m e t r e a t m e n t s

    c a l l e d a \ s i g n a l " 1 1 ] ) f x

    0

    x

    1

    : : : x

    N ; 1

    g i n t h e s e n s e t h a t w e h a v e a b a s e - W e x p a n s i o n

    x =

    N ; 1

    X

    j = 0

    x

    j

    W

    j

    :

    I g n o r i n g f o r t h e m o m e n t t h e p o s s i b i l i t y o f x ; 1 , w h i c h c a s e c a n e a s i l y b e h a n d l e d s e p a r a t e l y i n

    a c t u a l i m p l e m e n t a t i o n , w e s e e t h a t ( f o r t h e p a r t i c u l a r c a s e o f c o n v o l u t i o n m o d u l o F

    n

    )

    W

    N

    = 2

    n

    0 x

    j

    < W

    m a y b e a s s u m e d . ( W e s h o u l d n o t e r i g h t o t h a t m o d e r n o a t i n g - p o i n t - b a s e d i m p l e m e n t a t i o n s h a v e

    b e t t e r c o n t r o l l e d e r r o r b e h a v i o r i f b a l a n c e d d i g i t s a r e u s e d i . e . o n e f o r c e s ; W = 2 x

    j

    < W = 2 , t h i s

    b e i n g j u s t o n e o f m a n y e n h a n c e m e n t s d i s c o v e r e d i n r e c e n t t i m e s 1 1 ] . ) N o w i t i s a n i m p o r t a n t f a c t

    t h a t i n t e g e r m u l t i p l i c a t i o n m o d u l o a F e r m a t n u m b e r i s e q u i v a l e n t t o n e g a c y c l i c c o n v o l u t i o n w i t h

    p r o p e r c a r r y 9 ] 1 1 ] . W h a t t h i s m e a n s i s t h a t f o r t w o d i g i t d e c o m p o s i t i o n s o n r e s i d u e s x y , t h e

    v a l u e o f x y m o d F

    n

    c a n b e o b t a i n e d b y a d j u s t i n g t h e c a r r i e s i n t h e n e g a c y c l i c c o n v o l u t i o n ( x

    ;

    y )

    d e n e d e l e m e n t w i s e a s :

    ( x

    ;

    y )

    m

    =

    X

    j + k = m

    x

    j

    y

    k

    ;

    X

    j + k = N + m

    x

    j

    y

    k

    :

    I n t h e c a s e o f g e n e r a t i n g P e p i n r e s i d u e s , w e o n l y n e e d a n \ a u t o n e g a c y c l i c " c o n v o l u t i o n , m e a n i n g

    ( x

    ;

    x ) , a n d t h i s l e a d s t o i m p o r t a n t s i m p l i c a t i o n s .

    T h e b a s i c m e t h o d o f c a l c u l a t i n g a n a u t o n e g a c y c l i c v i a D F T ( a n d t h e r e f o r e e m p l o y i n g F F T

    m e t h o d s ) i s t h i s : f o r d i g i t e x p a n s i o n f x

    j

    g o n e c a n f o r m a D W T :

    x

    k

    =

    N ; 1

    X

    j = 0

    x

    j

    g

    j

    g

    ; 2 j k

    w h e r e g i s a p r i m i t i v e N - t h r o o t o f ( ; 1 ) a n d u s e t h i s t o c o n s t r u c t t h e a u t o n e g a c y c l i c c o n v o l u t i o n

    a s :

    ( x

    ;

    x )

    m

    =

    g

    ; m

    N

    N ; 1

    X

    j = 0

    x

    2

    j

    g

    + 2 j m

    :

    O f c o u r s e t h e D W T a n d i t s i n v e r s e a r e c a l c u l a t e d v i a F F T s , a n d v a r i o u s e n h a n c e m e n t s a b o u n d f o r

    r e d u c i n g r u n l e n g t h a n d s o o n . I t i s c r u c i a l t o s o m e o f t h e p o s s i b l e c a l c u l a t i o n s c h e m e s t h a t t h e

    r i g h t - h a n d s u m i n v o l v e s s q u a r i n g s p e r s e o f t h e ^ x t e r m s , a n d a s i s w e l l k n o w n s q u a r i n g i n s o m e

    c a s e s h a s h a l f t h e c o m p l e x i t y o f g e n e r a l m u l t i p l i c a t i o n . T h i s o b s e r v a t i o n m a y n o t b e a n i s s u e f o r

    s t a n d a r d o a t i n g - p o i n t i m p l e m e n t a t i o n s , b u t i f a r b i t r a r y - p r e c i s i o n a r i t h m e t i c i s t o b e u s e d ( f o r

    e x a m p l e s o m e d a y f o r t h e s t u l t i f y i n g F

    3 1

    ) , o r a l t e r n a t i v e c o n v o l u t i o n s c h e m e s a r e e m p l o y e d , t h e

    o p p o r t u n i t y f o r p u r e d y a d i c s q u a r i n g c a n b e t e l l i n g .

    P e r h a p s s u r p r i s i n g l y , t h e r e a r e a g o o d m a n y a v a i l a b l e m e t h o d s f o r e e c t i n g a n e g a c y c l i c c o n -

    v o l u t i o n . W e m e n t i o n v a r i o u s m e t h o d s b e l o w , a l t h o u g h a f t e r a s s e s s i n g p e r f o r m a n c e i s s u e s w e o n l y

    a p p l i e d a s u b s e t o f t h e s e i n t h e c o m p o s i t e n e s s p r o o f . T h o u g h o b v i o u s , i t s h o u l d b e s a i d r i g h t o

    t h a t a l l t h e s e m e t h o d s h a v e t h e s a m e c o m p u t a t i o n a l g o a l , a n d o n l y t h e p u r e - i n t e g e r m e t h o d s a r e

    d e v o i d o f r o u n d - o p r o b l e m s , s o t h e o a t i n g - p o i n t m e t h o d s , w h i l e c u r r e n t b e i n g t h e f a s t e s t o f t h e

    l o t , a r e n o t r i g o r o u s u n t i l r e n d e r e d s o . N o t e t h a t t h e f o l l o w i n g d i s c u s s i o n a s s u m e s D W T - b a s e d

    a r i t h m e t i c i s u s e d , w h i c h r e q u i r e s ( f o r F e r m a t - m o d D W T ) t h e b a s e W t o b e a p o w e r o f t w o w i t h

    a n e x p o n e n t t h a t i s i t s e l f a p o w e r o f t w o , e . g . W = 2

    1 6

    .

    5

  • 8/3/2019 F24 is Composite

    6/20

    1 ) F l o a t i n g - p o i n t d i s c r e t e w e i g h t e d t r a n s f o r m ( D W T ) . T h i s i s e s s e n t i a l l y S c h o n h a g e - S t r a s s e n

    m u l t i p l i c a t i o n v i a o a t i n g - p o i n t F F T 2 5 ] , b u t w i t h t h e s i g n a l \ w e i g h t e d " ( s o m e a u t h o r s s a y

    \ t w i s t e d " ) w i t h a n a p p r o p r i a t e r o o t o f ( ; 1 ) s o t h a t t h e i n t e n d e d c o n v o l u t i o n i s n e g a c y c l i c . I t

    i s i m p o r t a n t t o n o t e t h a t t h e r e a r e v a r i o u s w a y s t o i m p l e m e n t s u c h a D W T , s u c h a s r e a l - s i g n a l a n d

    f o l d e d - c o m p l e x t e c h n i q u e s t h a t e e c t i v e l y h a l v e c o m p l e x s i g n a l l e n g t h s 9 ] 1 1 ] .

    F o r t h i s o a t i n g - p o i n t s c e n a r i o , i t i s u s e f u l t o e m b a r k o n a r o u g h d e r i v a t i o n o f e x p e c t e d c o n v o -

    l u t i o n e r r o r . T h e r e h a v e b e e n o v e r t h e y e a r s i n t e r e s t i n g a t t e m p t s a t r i g o r o u s e r r o r b o u n d i n g , b u t

    s u c h b o u n d s t e n d t o b e o v e r - c o n s e r v a t i v e i n p r a c t i c e , a s o n e m i g h t e x p e c t . S o f o r t h e p r e s e n t w e

    s h a l l j u s t s k e t c h s o m e r e l e v a n t h e u r i s t i c s p e r t a i n i n g n o t t o r i g o r o u s b o u n d s , r a t h e r t o e x p e c t a t i o n s

    t h a t s e e m , i n f a c t , t o b e i n a g r e e m e n t w i t h n u m e r i c a l e x p e r i m e n t . T o e s t i m a t e h o w t h e m a x i m u m

    a l l o w a b l e w o r d s i z e ( a n d h e n c e m i n i m u m t r a n s f o r m l e n g t h ) d e p e n d s o n t h e a l g o r i t h m a n d t h e u n -

    d e r l y i n g p r e c i s i o n , w e c a n m a k e u s e o f r a n d o m - w a l k s t a t i s t i c s t o q u a n t i f y t h e o a t i n g - p o i n t e r r o r s .

    T h i n k o f a r e s i d u e m o d u l o F

    2 4

    ( s a y ) t o b e a s i g n a l o f N d i g i t s , e a c h d i g i t ( w o r d ) o f s i z e W , t h a t i s

    N W 2

    2 4

    . L e t a u n i t - s t e p s i z e ( 1 ) r a n d o m w a l k h a v e p o s i t i o n x ( n ) a f t e r n s t e p s . T h e n , b y t h e

    F i s h e r t h e o r e m 1 4 ] ,

    l i m

    n ! 1

    s u p

    x ( n )

    q

    1

    2

    n l o g l o g n

    = 1

    w i t h p r o b a b i l i t y o n e . A n F F T - b a s e d a u t o c o n v o l u t i o n ( s q u a r i n g ) f o r s u c h a s i g n a l m i g h t b e m o d -

    e l e d a s a r a n d o m w a l k o f O ( N l o g N ) s t e p s ( c W

    2

    ) , a n d t h u s h a v i n g a m o s t - p r o b a b l e m a x i m u m

    d i s p l a c e m e n t o f o r d e r

    c W

    2

    N l o g N l o g l o g N

    1 = 2

    : ( 4 )

    H e r e c i s a p r e f a c t o r w h o s e p r e c i s e v a l u e d e p e n d s o n m a n y d e t a i l s o f t h e i m p l e m e n t a t i o n , s u c h a s

    w h e t h e r a s t a n d a r d - o r b a l a n c e d - d i g i t n o r m a l i z a t i o n i s u s e d f o r t h e d i g i t r e p r e s e n t a t i o n 1 1 ] , a n d o n

    t h e p r o p e r t i e s o f t h e a c t u a l m a c h i n e a r i t h m e t i c , i n c l u d i n g t h e r o u n d i n g m o d e u s e d . ( I t i s p o s s i b l e

    t h a t c i t s e l f d e p e n d s o n W , e s p e c i a l l y i n t h e i n s t a n c e o f b a l a n c e d r e p r e s e n t a t i o n i n w h i c h s c e n a r i o

    t h e b i p o l a r d i g i t s e v i d e n t l y a l l o w s o m e f a v o r a b l e a n d s u b t l e c a n c e l l a t i o n , b u t o u r d a t a i n d i c a t e t h a t

    i f c d o e s d e p e n d o n W t h i s d e p e n d e n c e i s w e a k . ) I n t h e a b s e n c e o f a g o o d a p r i o r i e s t i m a t e f o r c ,

    i t s m a g n i t u d e c a n b e e e c t i v e l y e s t i m a t e d b y t t i n g ( 4 ) t o e m p i r i c a l r o u n d o e r r o r d a t a .

    T h e n a m e o f t h e g a m e i s , o f c o u r s e , t o m i n i m i z e t h e c o m p u t a t i o n t i m e ( w h i c h i s p r o p o r t i o n a l t o

    N l o g N a t x e d p r e c i s i o n ) w h i l e n o t a l l o w i n g t h e m a x i m u m c o n v o l u t i o n e r r o r e s t i m a t e d i n ( 4 ) t o b e

    o u t o f b o u n d s . A s t h e p r o d u c t N W i s n a t u r a l l y c o n s t r a i n e d , w e t h e r e f o r e w a n t t h e l a r g e s t p o s s i b l e

    W . W e r e q u i r e u n n o r m a l i z e d o u t p u t d i g i t s , u p o n r o u n d i n g , t o h a v e a l l o f t h e i r w h o l e - n u m b e r b i t s

    b e s i g n i c a n t , i . e .

    ( n u m b e r o f e x a c t o u t p u t b i t s ) + ( n u m b e r o f e r r o r b i t s ) ( n u m b e r o f m a n t i s s a b i t s ) :

    2

    I n w o r d s , t h e a c c u m u l a t e d r o u n d - o e r r o r m u s t r e m a i n s m a l l e n o u g h t o p e r m i t o n e , d u r i n g

    t h e r o u n d - a n d - p r o p a g a t e - c a r r i e s p h a s e o f e a c h m u l t i p r e c i s i o n m u l t i p l y , t o c o n d e n t l y r o u n d e a c h

    o u t p u t d i g i t t o t h e n e a r e s t i n t e g e r . F o r e x a m p l e , i f a t y p i c a l o u t p u t d i g i t x

    j

    h a s f r a c t i o n a l p a r t

    ( w h i c h w e d e n e a s f r a c ( x

    j

    ) = j x

    j

    ; n i n t ( x

    j

    ) j , w h i c h b y d e n i t i o n i s i n t h e i n t e r v a l 0 0 : 5 ] ) n o

    l a r g e r t h a n 0 . 1 w e a r e s a f e , b u t w h e n f r a c t i o n a l p a r t s a p p r o a c h 0 . 3 - 0 . 4 w e a r e d a n g e r o u s l y c l o s e

    t o a n i n c o r r e c t r o u n d i n g , a n d a f r a c t i o n a l p a r t o f 0 . 5 ( e s p e c i a l l y i f i t o c c u r s r e p e a t e d l y ) v i r t u a l l y

    g u a r a n t e e s t h a t a c a t a s t r o p h i c l o s s o f p r e c i s i o n h a s o c c u r r e d . T h u s , l e t t i n g B

    m a n t

    b e t h e n u m b e r o f

    2

    S i n c e t h e l a r g e s t d i g i t o f t h e a u t o c o n v o l u t i o n w i l l | s i m i l a r l y t o t h e l a r g e s t e r r o r i n o u r r a n d o m - w a l k m o d e l | h a v e

    m a g n i t u d e O ( W

    2

    p

    N l o g N l o g l o g N ) , w e c a n l u m p t h e o u t p u t m a g n i t u d e p a r t o f t h i s r e l a t i o n i n t o t h e c o n s t a n t c i n

    ( 4 ) .

    6

  • 8/3/2019 F24 is Composite

    7/20

    m a n t i s s a b i t s o f o u r o a t i n g - p o i n t r e p r e s e n t a t i o n , w e h a v e , u p o n t a k i n g t h e b a s e - 2 l o g a r i t h m o f ( 4 )

    ( w i t h e x a c t o u t p u t a n d e r r o r l u m p e d t o g e t h e r i n t o t h e a s - y e t - u n d e t e r m i n e d c ) a n d s u b s t i t u t i n g

    i n t o t h e a b o v e i n e q u a l i t y ,

    C + 2 l o g

    2

    ( W ) + 0 : 5 l o g

    2

    N + l o g

    2

    ( l o g l o g N ) ; 1 ] B

    m a n t

    w h e r e C = l o g

    2

    ( c ) :

    T h u s t h e m a x i m u m a l l o w a b l e n u m b e r o f b i t s i n a n i n p u t w o r d i s c o n s t r a i n e d b y

    l o g

    2

    ( W )

    1

    2

    f B

    m a n t

    ; C ;

    1

    2

    l o g

    2

    N + l o g

    2

    ( l o g l o g N ) ; 1 ] g : ( 5 )

    C l e a r l y t h i s m o d e l h a s s h o r t c o m i n g s - o n e o b v i o u s o n e i s t h a t a n F F T d o e s n o t d o i t s o p e r a t i o n s o n a

    s i n g l e o p e r a n d , w h o s e e r r o r w o u l d t h e n o b v i o u s l y c o r r e s p o n d t o t h e d e v i a t i o n s o f a c l a s s i c a l r a n d o m

    w a l k . R a t h e r , o n e m a k e s O ( l o g

    2

    N ) p a s s e s t h r o u g h t h e d a t a , a n d o n e a c h p a s s d o e s r e l a t i v e l y f e w

    o p e r a t i o n s o n e a c h d a t u m . S i n c e t h e n u m b e r o f t o t a l o p e r a t i o n s p e r i n p u t d a t u m i s O ( l o g

    2

    N )

    r a t h e r t h a n O ( N l o g

    2

    N ) , t h e n a v e r a n d o m - w a l k a n a l y s i s b a s e d o n O ( N l o g

    2

    N ) s t e p s w i l l t e n d

    ( f o r l a r g e N ) t o g r e a t l y o v e r e s t i m a t e t h e e r r o r . O n t h e o t h e r h a n d , a t e a c h l e v e l o f t h e F F T t h e

    a v e r a g e e r r o r s t e n d t o g e t l a r g e r , i . e . i n r e a l i t y t h e s t e p s i z e o f o u r r a n d o m w a l k i s i n c r e a s i n g w i t h t h e

    n u m b e r o f s t e p s , a n d m o d e l i n g t h e e r r o r a c c u m u l a t i o n a s a x e d - s t e p s i z e r a n d o m w a l k w i l l t e n d

    t o u n d e r e s t i m a t e t h e e r r o r a c c u m u l a t i o n . T h e s e t w o e e c t s w i l l b e o s e t t i n g t o s o m e u n k n o w n

    d e g r e e , b u t t h e f a c t r e m a i n s : t h e s i m p l e m o d e l a p p e a r s q u a l i t a t i v e l y a c c u r a t e , a n d u s i n g e m p i r i c a l

    e r r o r d a t a t o m a k e g o o d o u r i g n o r a n c e r e g a r d i n g t h e d e t a i l s ( v i a t h e c o n s t a n t C ) w o r k s v e r y w e l l

    i n p r a c t i c e . I n o u r t e s t s u s i n g I E E E 6 4 - b i t p r e c i s i o n ( B

    m a n t

    = 5 3 ) , c a l i b r a t i n g C u s i n g a c t u a l e r r o r

    d a t a f o r l a r g e v e c t o r l e n g t h s g i v e s a r e l a t i o n w h i c h t s o u r o b s e r v e d d a t a e x t r e m e l y w e l l o v e r a w i d e

    r a n g e o f N . B e t t e r s t i l l , t h e a b o v e r e l a t i o n c a n e a s i l y b e r e c a l i b r a t e d f o r d i e r e n t a r c h i t e c t u r e s a n d

    r o u n d i n g m o d e s t o y i e l d h i g h l y a c c u r a t e m a c h i n e - s p e c i c e r r o r e s t i m a t e s .

    3

    W e c a n a l s o u s e t h e p r o p e r t i e s o f r a n d o m w a l k s t o q u a n t i f y t h e m o s t - p r o b a b l e d i s t r i b u t i o n s o f

    o a t i n g - p o i n t e r r o r s ( c f . 1 4 ] , p . 7 6 ) : f o r a n e n s e m b l e o f u n i t - s t e p s i z e r a n d o m w a l k s , t h e d i s t r i b u t i o n

    o f l o c a t i o n s S

    n

    a f t e r n s t e p s t e n d s a s y m p t o t i c a l l y t o n o r m a l ( G a u s s i a n ) , i . e . t h e p r o b a b i l i t y t h a t

    t h a t t h e n t h - s t e p l o c a t i o n i s s o m e m u l t i p l e x o f t h e e n s e m b l e a v e r a g e

    p

    n i s g i v e n b y

    P r o b f S

    n

    > x

    p

    n g ! e r f c ( x ) =

    1

    p

    2

    Z

    1

    x

    e

    ;

    1

    2

    t

    2

    d t a s n ! 1 : ( 6 )

    F o r o u r o a t i n g - p o i n t c o n v o l u t i o n w i t h w o r d s i z e W e v e r y t h i n g c a r r i e s t h r o u g h w h e n p r o p e r l y s c a l e d

    b y t h e s t e p s i z e c W

    2

    . T h i s a l l o w s u s t o a n s w e r q u e s t i o n s s u c h a s , \ i f i s t h e m e a n f r a c t i o n a l e r r o r ,

    w h a t i s t h e l i k e l i h o o d t h a t t h e m a x i m u m f r a c t i o n a l e r r o r i s ( s a y ) v e t i m e s , f o r a p a r t i c u l a r v a l u e

    o f n ?

    4

    U s i n g I E E E 6 4 - b i t p r e c i s i o n , w e n d t h a t C i s c l o s e t o u n i t y , a n d h e n c e t h a t a v e c t o r l e n g t h

    2

    2 0

    ( y i e l d i n g n 1 0 0 2

    2 0

    ) p e r m i t s a w o r d s i z e o f a r o u n d 1 9 b i t s i n a c a r e f u l i m p l e m e n t a t i o n . S i n c e

    t h e F e r m a t - m o d D W T r e q u i r e s a w o r d s i z e o f f o r m 2

    2

    m

    , f o r F

    2 4

    w o r k a c o n v e n i e n t w o r d s i z e i s

    3

    T h e r e a r e o c c a s i o n a l s u b t l e t i e s : e . g . f o r t h e I n t e l x 8 6 f a m i l y w i t h i t s 6 4 - b i t - m a n t i s s a o a t i n g - p o i n t r e g i s t e r s ,

    o n e m i g h t b e t e m p t e d t o s e t B

    m a n t

    = 6 4 , b u t o n e s h o u l d o n l y d o t h i s i f o n e i s u s i n g t h e 8 0 - b i t o a t i n g d a t a t y p e

    t h r o u g h o u t t h e c o m p u t a t i o n , i . e . n o t j u s t w h e n t h e d a t a a r e i n r e g i s t e r s i f o n e i s u s i n g 6 4 - b i t o a t i n g l o a d s a n d

    s t o r e s , t h e n t h e e e c t o f t h e 8 0 - b i t r e g i s t e r f o r m a t a p p e a r s v i a a s l i g h t d e c r e a s e i n t h e c o n s t a n t C , a n d o n e s h o u l d

    s e t B

    m a n t

    = 5 3 , n o t 6 4 .

    4

    E v e n a f r a c t i o n a l p a r t o f , s a y , 0 . 3 m a y s e e m v e r y b a d t o t h o s e a c c u s t o m e d t o d o i n g t h i n g s v i a t h e a l l - i n t e g e r

    r o u t e , b u t v a s t e x p e r i e n c e ( e s p e c i a l l y v i a t h e G I M P S p r o j e c t ) h a s s h o w n t h a t o a t i n g - p o i n t e r r o r s i n l a r g e - i n t e g e r

    a r i t h m e t i c t e n d t o b e s m o o t h l y d i s t r i b u t e d , i . e . i f t h e l a r g e s t d e t e c t e d f r a c t i o n a l p a r t i s 0 . 3 , i t i s e x t r e m e l y u n l i k e l y

    t h a t t h e c o r r e s p o n d i n g f r a c t i o n a l e r r o r w a s i n f a c t a 0 . 7 w h i c h w a s a l i a s e d t o 0 . 3 . T h e r a n d o m - w a l k a n a l y s i s p r o v i d e s

    a d e t a i l e d q u a l i t a t i v e a n d q u a n t i t a t i v e f r a m e w o r k w h i c h s u p p o r t s a n d e x t e n d s t h e s e e m p i r i c a l o b s e r v a t i o n s .

    7

  • 8/3/2019 F24 is Composite

    8/20

    W = 2

    1 6

    , y i e l d i n g a r e a l s i g n a l l e n g t h N = 2

    2 0

    , o r s l i g h t l y m o r e t h a n o n e m i l l i o n s i g n a l e l e m e n t s .

    T h e a v e r a g e e r r o r f o r t h e c o d e u s e d f o r w a v e f r o n t 1 ( s e e x 3 . 1 ) w a s 3 : 5 5 1 0

    ; 4

    ( a n d a f t e r

    c l i m b i n g f r o m z e r o t o t h i s v a l u e d u r i n g t h e r s t f e w d o z e n s q u a r i n g s , d e v i a t e d f r o m t h i s m e a n

    v a l u e b y l e s s t h a n 1 % f o r t h e r e s t o f t h e r u n ) s o a f a t a l f r a c t i o n a l e r r o r > = 0 : 5 s h o u l d o c c u r ( i n

    t h e a b s e n c e o f h a r d w a r e e r r o r ) w i t h a p r o b a b i l i t y c o r r e s p o n d i n g t o a n e v e n t l y i n g 1 4 0 0 s t a n d a r d

    d e v i a t i o n s o u t s i d e t h e m e a n . F o r l a r g e d e v i a t i o n s x , w e c a n u s e t h e l e a d i n g t e r m o f t h e a s y m p t o t i c

    e x p a n s i o n o f t h e c o m p l e m e n t a r y e r r o r f u n c t i o n ( 6 ) ,

    P r o b f S

    n

    > x

    p

    n g

    e

    ;

    1

    2

    x

    2

    x

    p

    2

    a s x ! 1 ( 7 )

    t o e s t i m a t e t h e l i k e l i h o o d o f a f a t a l e r r o r o c c u r i n g d u r i n g a n y o f t h e r o u g h l y 2

    2 4

    s q u a r i n g s n e e d e d

    t o r e s o l v e F

    2 4

    a s l e s s t h a n e

    ; 1 0 0 0 0 0 0

    , i n d i c a t i n g t h a t o u r e a r l i e r t a r g e t o f 1 0

    ; 5 0

    w o u l d b e w i l d l y

    c o n s e r v a t i v e i f h a r d w a r e e r r o r w e r e n o t a c o n s i d e r a t i o n . I n f a c t t h i s e s t i m a t e d e m o n s t r a t e s t h a t i f

    t h e r e i s t o b e a f a t a l e r r o r i n s u c h a c o m p u t a t i o n , i t i s o v e r w h e l m i n g l y m o r e l i k e l y t o b e d u e t o a

    h a r d w a r e ( o r s o f t w a r e ) e r r o r t h a n t o a c t u a l o a t i n g - p o i n t c o n v o l u t i o n e r r o r s .

    2 ) C h i n e s e r e m a i n d e r t h e o r e m ( C R T ) n e g a c y c l i c c o n v o l u t i o n . I n t h i s a l g o r i t h m w e o b t a i n

    t h e n e g a c y c l i c c o n v o l u t i o n e l e m e n t s m o d u l o a s e t o f s m a l l d i s t i n c t p r i m e s q , e a c h a d m i t t i n g o f a

    N - t h r o o t o f ( ; 1 ) , a n d h e n c e a d m i t a l s o o f n u m b e r - t h e o r e t i c a l t r a n s f o r m s r e l e v a n t t o n e g a c y c l i c

    c o n v o l u t i o n o f l e n g t h N . T h e d i g i t s i z e W a n d t h e r e f o r e t h e s i g n a l l e n g t h N a r e e x i b l e h e r e , d e -

    p e n d i n g o n t h e n a t u r e o f t h e C R T p r i m e s e t . T h i s a p p r o a c h l e n d s i t s e l f t o p a r a l l e l i m p l e m e n t a t i o n ,

    b u t n o t t o a d i s t r i b u t e d o r h e t e r o g e n e o u s - n e t w o r k a p p r o a c h , o w i n g t o t h e l a r g e i n t e r p r o c e s s o r b a n d -

    w i d t h n e e d e d d u r i n g t h e C R T ( c a r r y p r o p a g a t i o n ) p h a s e , a n d t o t h e f a c t t h a t f o r e c i e n c y ' s s a k e

    w e n e e d a l l o f t h e p r o c e s s o r s i n v o l v e d t o b e d i s p a t c h i n g d a t a a t s i m i l a r r a t e s . I t i s h o w e v e r h o w e v e r

    i d e a l l y s u i t e d t o m a s s i v e l y p a r a l l e l i m p l e m e n t a t i o n , a n d i s t h e m o s t p r o m i s i n g n e a r - t e r m a p p r o a c h

    f o r s o m e t h i n g l i k e a d i r e c t ( n o n - f a c t o r i a l ) r e s o l u t i o n o f F

    3 1

    . O n e c o u l d i m a g i n e a l a r g e n u m b e r o f

    r e l a t i v e l y c h e a p c o m m o d i t y m i c r o p r o c e s s o r s ( e i t h e r o f t h e d e d i c a t e d i n t e g e r i n t e g e r v a r i e t y o r a l s o

    p o s s e s s i n g a o a t i n g - p o i n t c a p a b i l i t y ) , e a c h p e r f o r m i n g c o n v o l u t i o n m o d u l o i t s o w n s m a l l p r i m e

    h a v i n g t h e d e s i r e d a l g e b r a i c p r o p e r t i e s . T h e c o n n e c t i v i t y n e e d e d d u r i n g t h e C R T p h a s e a p p e a r s t o

    b e t h e m o s t d i c u l t h u r d l e t o b e o v e r c o m e , a n d o f c o u r s e e v e n u s i n g m a n y p r o c e s s o r s , t o a c h i e v e

    a r e a s o n a b l e s q u a r i n g t i m e t h e s e p r o c e s s o r s n e e d t o b e v e r y f a s t . O n e a l s o h a s t o d e a l w i t h i s s u e s

    o f e r r o r c o r r e c t i o n , i . e . t h e a b i l i t y t o p r e v e n t a n e r r o r o c c u r r i n g i n o n e n o d e f r o m c o n t a m i n a t i n g

    t h e e n t i r e c o m p u t a t i o n .

    3 ) D i s c r e t e G a l o i s t r a n s f o r m ( D G T ) . T h i s s c h e m e i s s o n a m e d b e c a u s e a l l o p e r a t i o n s o c c u r

    i n t h e e l d G F ( q

    2

    ) f o r a M e r s e n n e p r i m e q = 2

    p

    ; 1 . T h e D G T a p p r o a c h a l l o w s m a s s i v e r u n

    l e n g t h s | a l l d i v i s o r s o f t h e m u l t i p l i c a t i v e g r o u p o r d e r q

    2

    ; 1 = 2

    p + 1

    ( 2

    p ; 1

    ; 1 ) , w h i c h a u t o m a t i c a l l y

    a l l o w s a l a r g e p o w e r - o f - t w o s i g n a l l e n g t h c o m p o n e n t , a n d g e n e r a l l y a d e c e n t v a r i e t y o f s m a l l o d d

    p r i m e s . ( 3 , f o r i n s t a n c e , i s a l w a y s a f a c t o r o f 2

    p ; 1

    ; 1 . ) F o r F

    2 4

    , c o n v e n i e n t M e r s e n n e p r i m e s ( t h e

    p r e c i s e c h o i c e d e p e n d s o n m a n y i s s u e s , p r o b a b l y t h e m o s t i m p o r t a n t b e i n g t h e i n t e g e r - a r i t h m e t i c

    c a p a b i l i t i e s o f t h e u n d e r l y i n g h a r d w a r e ) a r e 2

    6 1

    ; 1 a n d 2

    8 9

    ; 1 , w h i c h c o r r e s p o n d t o w o r d s i z e s

    W = 2

    1 6

    a n d 2

    3 2

    a n d s i g n a l l e n g t h s N = 2

    2 0

    a n d 2

    1 9

    f o r m o d - F

    2 4

    D W T . B y i n t e r p r e t i n g t h e

    e l e m e n t s o f G F ( q

    2

    ) a s G a u s s i a n i n t e g e r s f a + b i g , t h e r u n l e n g t h c a n b e e e c t i v e l y c u t i n h a l f

    a t t h e e x p e n s e o f c o m p l e x i n t e g e r a r i t h m e t i c m o d u l o q . H o w e v e r , t h e u s e o f a M e r s e n n e n u m b e r

    a l l o w s f o r a f a s t m o d u l a r r e d u c t i o n , s o a l l t h e i n t e g e r m u l t i p l i c a t i o n s ( w h i c h a r e g e n e r a l l y m u c h

    m o r e e x p e n s i v e f r o m a h a r d w a r e p e r s p e c t i v e t h a n o a t i n g - p o i n t m u l t i p l i e s , a f a c t w h i c h m a y b e

    s u r p r i s i n g t o m a n y ) c a n b e u s e d f o r t h e G a u s s i a n i n t e g e r m u l t i p l i c a t i o n , a n d o n e m a y u s e t h e

    K a r a t s u b a e x p e d i e n t t o e e c t i n t e r n a l c o m p l e x m u l t i p l i e s i n 3 r a t h e r t h a n 4 s c a l a r m u l t i p l i e s . F o r

    8

  • 8/3/2019 F24 is Composite

    9/20

    M e r s e n n e - m o d D W T , o n e h a s t h e a d d e d a d v a n t a g e t h a t t h e m o d u l a r w e i g h t f a c t o r s a r e t h e m s e l v e s

    p o w e r s o f t w o .

    5

    F u r t h e r d e t a i l s o f t h i s c o n v o l u t i o n o p t i o n a p p e a r i n 1 3 ] .

    4 ) D i r e c t n u m b e r - t h e o r e t i c a l t r a n s f o r m ( N T T ) . T h e i d e a i s t o u s e n o t a C R T p r i m e s e t a s

    i n o p t i o n ( 2 ) , b u t a s i n g l e p r i m e w e l l - m a t c h e d t o t h e u n d e r l y i n g p r o c e s s o r ' s c a p a b i l i t i e s , s u c h a s

    p = 2

    6 4

    ; 2

    3 2

    + 1 2 1 ] . T h i s p a r t i c u l a r p r i m e a d m i t s r o o t s o f h i g h p o w e r - o f - t w o o r d e r s , a s w e l l

    a s p e r m i t t i n g a f a s t m o d o p e r a t i o n , a n d w o r k s w e l l o n h a r d w a r e w i t h f a s t 3 2 - b i t c a p a b i l i t i e s , b u t

    p e r h a p s l a c k i n g g o o d 6 4 - b i t i n t e g e r s u p p o r t .

    5 ) N u s s b a u m e r c o n v o l u t i o n . T h i s m e t h o d i n v o l v e s n o a c t u a l n u m e r i c a l F F T s , o n l y \ s y m b o l i c "

    o n e s 9 ] . A n e g a c y c l i c c o n v o l u t i o n i s b u i l t r e c u r s i v e l y , u s i n g s m a l l e r n e g a c y c l i c o n e s . T h e d i g i t s i z e

    W i s e n t i r e l y e x i b l e , f o r e x a m p l e W = 2

    5 1 2

    y i e l d s a s i g n a l l e n g t h o f o n l y N = 2

    1 5

    , a t t h e e x p e n s e

    o f s i z e - W

    0

    m u l t i p l i c a t i o n s a n d a d d i t i o n s w h e r e W

    0

    i s s l i g h t l y l a r g e r t h a n W .

    6 ) S c h o n h a g e m u l t i p l i c a t i o n , m o d u l o a n y 2

    M

    + 1 , a n d t h e r e f o r e n e g a c y c l i c i n n a t u r e . T h i s

    m e t h o d h a s t h e l o w e s t k n o w n b i t c o m p l e x i t y f o r n e g a c y c l i c m u l t i p l i c a t i o n , i n a t h e o r e t i c a l t i e w i t h

    t h a t o f o p t i m a l N u s s b a u m e r c o n v o l u t i o n 2 5 ] 4 ] 1 2 ] . I t m i g h t b e e x p e c t e d t o b e h a v e i n p r a c t i c e

    s i m i l a r l y t o N u s s b a u m e r , a l t h o u g h e a c h o f t h e s e t w o m e t h o d s h a s i t s o w n s p e c i a l d i c u l t i e s a n d

    a d v a n t a g e s u p o n i m p l e m e n t a t i o n . W h a t c a n b e s a i d i s t h a t e a c h o f t h e t w o u l t i m a t e l y i n v o l v e s s i z e -

    W

    0

    m u l t i p l i c a t i o n s , a n d s o t h e u l t i m a t e p e r f o r m a n c e i s s u e s i n v o l v e m e m o r y h a n d l i n g a n d m o d e r a t e -

    s i z e m u l t i p r e c i s i o n i n t e g e r m u l t i p l i c a t i o n s .

    7 ) F l o a t i n g - i n t e g e r h y b r i d s c h e m e s . S i n c e m o s t m o d e r n g e n e r a l - p u r p o s e m i c r o p r o c e s s o r h a r d -

    w a r e m a n u f a c t u r e r s h a v e p u t a p r e p o n d e r a n c e o f m o n e y a n d s i l i c o n i n t o t h e o a t i n g - p o i n t f u n c t i o n a l

    u n i t s ( F P U ) a s o p p o s e d t o t h e i n t e g e r u n i t s , s c h e m e s ( 2 ) - ( 6 ) a b o v e a r e w a s t e f u l i n t h e s e n s e t h a t

    t h e y m a k e n o u s e w h a t s o e v e r o f t h e F P U . O n e c a n c o n t e m p l a t e d o i n g c e r t a i n i n t e g e r o p e r a t i o n s

    i n t h e F P U t o s p e e d t h e c o m p u t a t i o n , b u t t h e r e i s p e r h a p s a m o r e a t t r a c t i v e a l t e r n a t i v e , w h i c h

    a p p e a r s t o c o m b i n e t h e b e s t f e a t u r e s o f b o t h t h e o a t i n g - p o i n t a n d i n t e g e r w o r l d s . S i n c e t h i s

    a p p r o a c h h a s n o t b e e n d e s c r i b e d e l s e w h e r e , w e w i l l e x a m i n e i t i n s o m e d e t a i l h e r e .

    C o n s i d e r c o m b i n i n g a n F F T - b a s e d c o n v o l u t i o n w i t h t h e D G T d e s c r i b e d i n ( 3 ) , o n h a r d w a r e

    t h a t p e r m i t s f a s t o p e r a t i o n s o n b o t h o a t i n g - p o i n t a n d i n t e g e r d a t a 6 4 b i t s i n l e n g t h . ( T h e o p e r a n d

    l e n g t h i s e n t i r e l y e x i b l e , a n d i n f a c t t h e o a t i n g a n d i n t e g e r o p e r a n d s n e e d n o t b e o f t h e s a m e

    l e n g t h , b u t 6 4 - b i t f o r b o t h i s r e p r e s e n t a t i v e o f g o o d c u r r e n t l y a v a i l a b l e h a r d w a r e ) . B a s i c a l l y , a t

    t h e s a m e t i m e w e d o a o a t i n g F F T , w e d o a n a l l - i n t e g e r c o n v o l u t i o n , i n t h e 6 4 - b i t c a s e , o v e r

    t h e r i n g o f c o m p l e x ( G a u s s i a n ) i n t e g e r s m o d u l o t h e M e r s e n n e p r i m e M

    6 1

    , a c o n v e n i e n t m o d u l u s

    f o r i n t e g e r o p e r a t i o n s o n 6 4 - b i t h a r d w a r e . W h e n t h e c o d e g e t s t o t h e r o u n d - a n d - p r o p a g a t e - c a r r i e s

    s t a g e , i f o u r i n p u t r e s i d u e d i g i t s w e r e , s a y , 5 0 b i t s ( a s o p p o s e d t o t h e r o u g h l y 2 0 w e c a n u s e i n a n

    a l l - o a t i n g c o d e ) , o u r o a t i n g - p o i n t o u t p u t s ( a n d a s s o c i a t e d e r r o r s ) a r e o f c o u r s e h u g e , b u t w e n o w

    h a v e r e d u n d a n t i n f o r m a t i o n | a n a l l - i n t e g e r v e r s i o n o f t h e d i g i t i n q u e s t i o n , w h i c h t e l l s u s ( e x a c t l y )

    w h a t t h e o u t p u t i s m o d u l o M

    6 1

    . T h u s w e c a n i n c u r r o u n d i n g e r r o r s r o u g h l y 2

    6 1

    t i m e s a s l a r g e a s

    b e f o r e a n d s t i l l r e c o n s t r u c t a n e x a c t r e s u l t . S i n c e r o u n d i n g e r r o r s s c a l e a s t h e s q u a r e o f t h e w o r d

    s i z e W , w e n o t e t h a t

    p

    2

    6 1

    ; 1 h a s r o u g h l y 3 0 . 5 b i t s , s o o u r i n p u t s c a n b e 3 0 . 5 b i t s l a r g e r t h a n i n

    a n a l l - o a t i n g i m p l e m e n t a t i o n , i . e . w e m a y r e d u c e t h e c o n v o l u t i o n l e n g t h b y m o r e t h a n h a l f

    6

    . I n

    f a c t , s i n c e t h e r e d u c t i o n i n v e c t o r l e n g t h a l s o r e d u c e s t h e n u m b e r o f o a t i n g - p o i n t o p e r a t i o n s ( a n d

    5

    O n e c a n i n f a c t v i e w t h e a b o v e D G T a s a n i n t e r e s t i n g r e c u r s i v e u s e o f M e r s e n n e p r i m e s | o n e u s e s a s m a l l o n e

    t o h e l p s p e e d t h e s e a r c h f o r l a r g e o n e s .

    6

    T h e r e i s d e b a t e i n s o m e q u a r t e r s a b o u t w h e t h e r t h e s c a l i n g i s t r u l y q u a d r a t i c i n i n p u t w o r d s i z e , e s p e c i a l l y w h e n

    b a l a n c e d - d i g i t r e p r e s e n t a t i o n i s u s e d . H o w e v e r , o u r a c c u r a c y t e s t s w i t h a f u l l y f u n c t i o n a l ( b u t a s y e t , r e l a t i v e l y s l o w ,

    a t l e a s t o n t h e h a r d w a r e a v a i l a b l e t o u s ) p r o t o t y p e h y b r i d c o d e a l l o w u s t o d i r e c t l y t e s t t h i s a s s u m p t i o n b y c o m p a r i n g

    t h e e r r o r d i s t r i b u t i o n s o f a n a l l - o a t i n g a n d a h y b r i d i m p l e m e n t a t i o n . T h e s e e m p i r i c a l e r r o r d a t a s t r o n g l y s u p p o r t

    q u a d r a t i c i t y , o r s o m e t h i n g v e r y c l o s e t o i t .

    9

  • 8/3/2019 F24 is Composite

    10/20

    a c c u m u l a t e d e r r o r ) , w e c a n i n p r a c t i c e u s e a w o r d s i z e r o u g h l y 3 1 b i t s l a r g e r t h a n w i t h a p u r e l y

    o a t i n g - p o i n t t r a n s f o r m .

    F r o m a c o d i n g p e r s p e c t i v e , i t i s d e s i r a b l e t o h a v e o a t i n g a n d m o d u l a r p a r t s o f t h e c o d e m i r r o r

    e a c h o t h e r i n s o f a r a s p o s s i b l e , t h u s m a k i n g F G T o v e r G F ( M

    2

    6 1

    ) a p a r t i c u l a r l y a t t r a c t i v e c h o i c e

    i n p a r a l l e l w i t h a ( 6 4 - b i t o a t i n g ) c o m p l e x F F T . M

    6 1

    a l l o w s f o r a h u g e p o w e r - o f - t w o c o m p o n e n t

    o f t h e t r a n s f o r m l e n g t h ( c f . ( 3 ) a b o v e ) , a s w e l l a s w i d e v a r i e t y o f s m a l l o d d r a d i c e s , i n p a r t i c u l a r

    t h e c r u c i a l 3 , 5 a n d 7 , w h i c h p e r m i t e v e r y i n t e r v a l b e t w e e n a d j a c e n t p o w e r s o f t w o t o b e n e a t l y

    s p l i t i n t o f o u r e q u a l - s i z e d s u b i n t e r v a l s ( e . g . t h e i n t e r v a l 4 , 8 ) g e t s s p l i t i n t o 4 , 5 , 3 2 , 7 ] ) . O f t h e

    M e r s e n n e p r i m e s u p t o a n d i n c l u d i n g M

    1 2 7

    , M

    6 1

    i s t h e o n l y o n e t h a t a l l o w s t h e t h r e e s m a l l e s t o d d

    p r i m e s ( a n d a n y c o m b i n a t i o n s t h e r e o f , i n f a c t a n y c o m b i n a t i o n o f r a d i c e s w h o s e p r o d u c t d i v i d e s

    t h e s u r p r i s i n g l y s m o o t h q

    2

    ; 1 = 2

    6 2

    3

    2

    5

    2

    7 1 1 1 3 3 1 4 1 6 1 1 5 1 3 3 1 1 3 2 1 ) t o b e u s e d a s

    r a d i c e s f o r t h e t r a n s f o r m .

    A n o t h e r r e q u i r e m e n t f o r t h i s s c h e m e t o p a y o i n t e r m s o f o v e r a l l p e r f o r m a n c e i s t h a t t h e

    o a t i n g a n d m o d u l a r t r a n s f o r m s e x e c u t e a t r o u g h l y t h e s a m e s p e e d , w h i c h n e e d s b o t h a c a p a b i l i t y

    t o d o a t l e a s t a s m a n y i n t e g e r a s o a t i n g i n s t r u c t i o n s e a c h c l o c k c y c l e , a n d t o h a v e g o o d p i p e l i n i n g

    o f a l l p r e d o m i n a n t a r i t h m e t i c o p e r a t i o n s ( o a t i n g a n d i n t e g e r a d d s a n d m u l t i p l i e s ) . T h i s r u l e s o u t

    m o s t c u r r e n t l y a v a i l a b l e c o m m o d i t y m i c r o p r o c e s s o r s , b u t o n l e a d i n g - e d g e p l a t f o r m s l i k e t h e A l p h a

    2 1 2 6 4 a n d I n t e l I A - 6 4 , w h i c h h a v e e x c e l l e n t i n t e g e r c a p a b i l i t i e s ( e s p e c i a l l y a f a s t 6 4 6 4 ! 1 2 8 - b i t

    i n t e g e r m u l t i p l y | t h i s i s c r u c i a l f o r s p e e d i l y e e c t i n g t r a n s f o r m a r i t h m e t i c m o d u l o M

    6 1

    ) w e e x p e c t

    t h e m o d u l a r t r a n s f o r m w i l l r u n a b o u t a s f a s t a s a o a t i n g t r a n s f o r m a l o n e , p r o d u c i n g a b i g g a i n .

    T o c o m p l e t e o u r c o m p o s i t e n e s s p r o o f f o r F

    2 4

    w e u s e d e s s e n t i a l l y t w o v a r i a n t s o f ( 1 ) f o r t h e

    o a t i n g - p o i n t m a c h i n e s , a n d t w o v a r i a n t s o f ( 5 ) f o r t h e i n t e g e r - b a s e d \ d r o n e s . " O u r i m p l e m e n t a t i o n

    o f o p t i o n ( 5 ) , N u s s b a u m e r c o n v o l u t i o n , i s a n a d a p t a t i o n o f e s t a b l i s h e d s o f t w a r e f o r g e n e r a l i n t e g e r

    c o n v o l u t i o n 9 ] . S u c h s o f t w a r e h a s b e e n u s e d i n m a n y d i s p a r a t e d o m a i n s , r a n g i n g f r o m n u m b e r

    t h e o r y t o s i g n a l p r o c e s s i n g , b u t w a s i n f a c t p i o n e e r e d b y J . P . B u h l e r f o r t h e p u r p o s e o f n u m e r i c a l

    i n v e s t i g a t i o n s o n F e r m a t ' s \ l a s t t h e o r e m " ( F L T ) 5 , 6 , 7 ] . I t h a s b e e n k n o w n t o B u h l e r a n d

    c o l l e a g u e s f o r a b o u t a d e c a d e t h a t i n t e g e r c o n v o l u t i o n s o f l e n g t h s i n t o t h e m i l l i o n s a r e i n d e e d

    p o s s i b l e i n e r r o r - f r e e f a s h i o n , o n c o n v e n t i o n a l ( e v e n b y 1 9 8 0 s s t a n d a r d s ) m a c h i n e r y , a s n o o a t i n g -

    p o i n t a r i t h m e t i c i s i n v o l v e d . T h u s t h e s c h e m e w a s a n a t u r a l c h o i c e f o r c h e c k i n g t h e P e p i n r e s i d u e s

    v i a \ d r o n e " m a c h i n e s , a s d e s c r i b e d i n S e c t i o n 4 .

    M a n y o p t i m i z a t i o n s a r e p o s s i b l e b e y o n d t h e o r i g i n a l d e s c r i p t i o n o f N u s s b a u m e r , a n d e v e n b e -

    y o n d t h e v a r i a n t s o s u c c e s s f u l f o r F L T c o m p u t a t i o n s . L e t u s n a m e a f e w o p t i m i z a t i o n s , t o c o n v e y

    t h e k i n d o f t h i n k i n g t h a t i m p r o v e d t h e s p e e d o f p r o o f . F i r s t , t h e s m a l l n e g a c y c l i c s a t t h e b o t t o m

    r e c u r s i v e l e v e l o f N u s s b a u m e r c a n b e d o n e e s p e c i a l l y f a s t b e c a u s e t h e y t u r n o u t t o b e a u t o n e g a -

    c y c l i c s . F o r e x a m p l e , a l e n g t h - 4 a u t o n e g a c y c l i c c a n b e d o n e | a m a z i n g l y e n o u g h | i n 3 m u l t i p l i e s

    a n d 4 s q u a r e s , f o r a n e q u i v a l e n t c o u n t o f j u s t 5 m u l t i p l i e s , w h i c h i s v e r y m u c h f a s t e r t h a n t h e n a v e

    1 6 m u l t i p l i e s . S e c o n d , s p e c i a l F F T s t r u c t u r e a s d i s c u s s e d n e x t , b u t a s a p p l i e d t o t h e s y m b o l i c

    F F T s w i t h i n N u s s b a u m e r r e c u r s i o n , r e s u l t s i n s u b s t a n t i a l i m p r o v e m e n t . T h i r d , t h e r e a r e s p e c i a l

    w a y s t o c o m b i n e ( o r e v e n r e m o v e ) m a n y t r a n s p o s i t i o n o p e r a t i o n s a n d m e m o r y m o t i o n , t o e x p l o i t

    t h e k n o w n c a c h e b e h a v i o r o n c e r t a i n m a c h i n e r y . A l l o f t h e s e t o g e t h e r r e s u l t e d i n a n i m p l e m e n t a t i o n

    o f o p t i o n ( 5 ) t h a t r e q u i r e d a r o u n d 5 C P U - s e c o n d s p e r s q u a r i n g o n a 5 0 0 M H z A p p l e G 4 p r o c e s s o r ,

    a n d c o m p a r a b l e b u t s o m e w h a t l o n g e r t i m e s o n s i m i l a r - f r e q u e n c y P e n t i u m I I m a c h i n e r y . N o t e t h a t

    e i t h e r m a n i f e s t a t i o n o n o n e \ w a v e f r o n t " m a c h i n e w o u l d h a v e r e q u i r e d s e v e r a l y e a r s y e a r s t o c o m -

    p l e t e t h e p r o o f . A s i t w a s , t h e o a t i n g - p o i n t o p t i o n ( 1 ) i m p l e m e n t a t i o n w e d e t a i l n e x t n e e d e d j u s t

    6 C P U - m o n t h s o n h a r d w a r e s i g n i c a n t l y l e s s t h a n c u t t i n g - e d g e .

    I n d e c i d i n g o n o n e ' s p a r t i c u l a r i m p l e m e n t a t i o n o f o p t i o n ( 1 ) , o n e m u s t c o n s i d e r t h e i m p o r t a n t

    d i s c o v e r i e s t h a t h a v e a c c r u e d i n t h e 1 9 9 0 s i n r e g a r d t o l a r g e - s i g n a l F F T s . I n p a r t i c u l a r , t h e \ p a r -

    1 0

  • 8/3/2019 F24 is Composite

    11/20

  • 8/3/2019 F24 is Composite

    12/20

  • 8/3/2019 F24 is Composite

    13/20

    i s p r e c e d e d b y a r a d i x - R D I F p a s s ( o r v i c e v e r s a ) w i t h f e w o r n o i n t e r v e n i n g o p e r a t i o n s , o n e c a n

    e s c h e w t h e g a t h e r - s c a t t e r p h a s e s o f t h e t w o p a s s e s ( w h i c h d o i m p o s e a c o s t i n t e r m s o f l o a d s

    a n d s t o r e s , a n d t h u s p o t e n t i a l c a c h e m i s s e s ) a n d i n s t e a d r o l l t h e t w o p a s s e s a n d t h e i n t e r v e n i n g

    o p e r a t i o n s i n t o a s i n g l e i n - p l a c e p a s s t h r o u g h t h e d a t a . ( T h e r e a d e r s h o u l d p l a c e a m i r r o r e i t h e r

    a b o v e t h e A - m a t r i x o r b e l o w t h e B - m a t r i x i n F i g . 1 f o r a q u i c k v i s u a l i z a t i o n o f t h i s ) . D u r i n g e a c h

    P e p i n s q u a r i n g , t h e r e a r e t w o o p p o r t u n i t i e s f o r s u c h a s t r e a m l i n i n g : t h e t w o p a s s e s ( n a l D I F p a s s ,

    i n i t i a l D I T p a s s ) s u r r o u n d i n g t h e d y a d i c s q u a r i n g , a n d t h e t w o ( n a l D I T p a s s , i n i t i a l D I F p a s s )

    s u r r o u n d i n g t h e c a r r y p r o p a g a t i o n s t e p . F o r t h i s t o w o r k , h o w e v e r , t h e r a d i c e s o f t h e t w o a d j a c e n t

    p a s s e s m u s t b e i d e n t i c a l , h e n c e o u r r e v e r s a l o f t h e o r d e r o f r a d i c e s d u r i n g t h e i n v e r s e t r a n s f o r m .

    B y e x p l o i t i n g b o t h o f t h e s e o p t i m i z a t i o n o p p o r t u n i t i e s , t h e n u m b e r o f p a s s e s t h r o u g h t h e l a r g e

    d a t a a r r a y s r e q u i r e d f o r e a c h s q u a r i n g w a s r e d u c e d f r o m 2 2 t o 1 4 , a n d t h e p e r - s q u a r i n g m a c h i n e

    t i m e o n W a v e f r o n t m a c h i n e 1 ( a S i l i c o n G r a p h i c s O c t a n e w o k s t a t i o n w i t h a 2 5 0 M H z M I P S R 1 0 0 0 0

    m i c r o p r o c e s s o r ) w a s r e d u c e d f r o m 1 . 1 t o 0 . 8 5 s e c o n d s , i . e . a r e d u c t i o n i n o v e r a l l r u n t i m e o f n e a r l y

    t w o m o n t h s w a s a c h i e v e d . W e n o t e t h a t t h i s t i m i n g w a s a c h i e v e d u s i n g a l l h i g h - l e v e l c o m p i l e d

    ( F o r t r a n - 9 0 ) c o d e .

    9

    T h e r e i s o n e m o r e p o t e n t i a l g a i n r e l a t e d t o t h e h y b r i d o a t i n g - i n t e g e r a l g o r i t h m ( 7 ) d e s c r i b e d

    i n x 3 w h i c h b e a r s m e n t i o n i n g , a l t h o u g h o u r i m p l e m e n t a t i o n t h e r e o f c a m e t o o l a t e t o h e l p w i t h F

    2 4

    .

    I n a n a l l - o a t i n g i m p l e m e n t a t i o n , t h e a b o v e F F T s t r a t e g y i s e a s y t o c o d e , d e b u g a n d o p t i m i z e , b u t

    i s o u t - o f - p l a c e , w h i c h h u r t s i t s p e r f o r m a n c e o n m a n y s y s t e m s , e s p e c i a l l y t h o s e w h i c h a r e r e l a t i v e l y

    b a n d w i d t h - l i m i t e d o r h a v e p o o r d a t a p r e f e t c h . I f w e n o w a d d a p a r a l l e l m o d u l a r t r a n s f o r m ( s a y

    o v e r G F ( M

    2

    6 1

    ) , ) i t w o u l d s e e m t h a t w e a r e d o u b l i n g t h e a r r a y s t o r a g e a n d a d d i n g y e t a n o t h e r

    o u t - o f - p l a c e t r a n s f o r m . B u t w e c a n a c t u a l l y c o m b i n e t h e t w o o u t - o f - p l a c e t r a n s f o r m s i n a w a y

    t h a t a l l o w s u s t o d o b o t h t h e o a t i n g a n d m o d u l a r t r a n s f o r m s i n a n e e c t i v e l y i n - p l a c e f a s h i o n ,

    i . e . r e t a i n i n g t h e s i m p l e d a t a a c c e s s p a t t e r n s w e l i k e s o m u c h , a n d r e q u i r i n g n o m o r e a r r a y s t o r a g e

    ( e x c e p t f o r t h e a d d i t i o n a l m o d u l a r t w i d d l e f a c t o r s ) t h a n t h e a l l - o a t i n g t r a n s f o r m d o e s . T h i s i s

    p o s s i b l e b e c a u s e o a t i n g a n d m o d u l a r d a t a o c c u p y t h e s a m e n u m b e r o f b y t e s i n m e m o r y , a n d ( a t

    t h e r i s k o f m a k i n g s o f t w a r e e n g i n e e r s f e e l r a t h e r s q u e a m i s h ) c a n b e f r e e l y s w a p p e d b e t w e e n t h e

    t w o d a t a a r r a y s a l r e a d y d e n e d f o r t h e o a t i n g t r a n s f o r m . W e t h e n d o t h e F F T j u s t a s b e f o r e ,

    b u t a t t h e s t a r t o f e a c h s q u a r i n g , p u t a b i t - r e v e r s e d c o p y o f t h e r e s i d u e v e c t o r i n a l l - i n t e g e r f o r m

    i n t o t h e s e c o n d s t o r a g e a r r a y . W e t h e n d o a m o d u l a r f o r w a r d D I T F G T i n p a r a l l e l w i t h t h e D I F

    F F T , o n e a c h p a s s e x c h a n g i n g d a t a b e t w e e n t h e t w o a r r a y s ( i . e . o n o n e p a s s , t h e A - a r r a y w i l l

    b e g i n w i t h o a t i n g a n d e n d u p h o l d i n g m o d u l a r d a t a o n e t h e n e x t , t h e r e v e r s e w i l l o c c u r . ) D u r i n g

    t h e d y a d i c s q u a r i n g s t e p , t h e o a t i n g d a t a w i l l b e b i t - r e v e r s e d a n d t h e m o d u l a r d a t a o r d e r e d .

    T h e n c o m e s a n i n v e r s e D I F F G T i n p a r a l l e l w i t h t h e D I T F F T , f o l l o w e d b y a n e r r o r - c o r r e c t i o n -

    a n d - c a r r y - p r o p a g a t i o n s t e p d u r i n g w h i c h t h e m o d u l a r d a t a w i l l b e b i t - r e v e r s e d a n d t h e o a t i n g

    d a t a o r d e r e d . T h i s s c h e m e d o e s r e q u i r e u s t o r e i n t r o d u c e a n e x p l i c i t b i t - r e v e r s a l i n d e x a r r a y ( b u t

    n e e d s n o a c t u a l d a t a r e o r d e r i n g s , a n i m p o r t a n t d i s t i n c t i o n ) , b u t t h e b e n e t o f d o i n g t h e t r a n s f o r m s

    i n - p l a c e a p p e a r s t o g r e a t l y o u t w e i g h t h e s m a l l a d d e d c o s t o f t r a c k i n g b i t - r e v e r s e d m o d u l a r d a t a

    l o c a t i o n s d u r i n g t h e c a r r y p r o p a g a t i o n s t e p .

    9

    I n t e r e s t i n g l y , t h e i n i t i a l c o m p i l e d v e r s i o n , c o m p i l e d u s i n g t h e M I P S p r o V 6 F 9 0 c o m p i l e r , n e e d e d n e a r l y 2 s e c o n d s

    p e r s q u a r e , b u t w h e n t h e v e r y s a m e s o u r c e c o d e w a s r e c o m p i l e d a m o n t h l a t e r w i t h t h e V 7 c o m p i l e r , t h e r u n t i m e w a s

    c u t i n h a l f . T h e i n i t i a l s u s p i c i o n w a s t h a t t h e s p e e d u p w a s d u e t o e x p l o i t a t i o n o f t h e f u s e d m u l t i p l y / a d d i n s t r u c t i o n o n

    t h e R 1 0 0 0 0 , b u t e x a m i n a t i o n o f t h e a s s e m b l y c o d e g e n e r a t e d b y t h e t w o c o m p i l e r s r e v e a l e d t h a t t h e m a j o r d i e r e n c e

    w a s e x t e n s i v e u s e o f d a t a p r e f e t c h b y t h e V 7 c o m p i l e r .

    1 3

  • 8/3/2019 F24 is Composite

    14/20

    3 . 2 F F T A l g o r i t h m 2

    T h e t h i r d a u t h o r ' s ( J S P ' s ) o a t i n g p o i n t p r o g r a m

    1 0

    a l s o u s e s a d i s c r e t e w e i g h t e d t r a n s f o r m t o

    s q u a r e n u m b e r s m o d u l o F

    2 4

    , a n d a l s o u s e s t h e f u l l y c o m p l e x r i g h t - a n g l e v a r i a n t t o k e e p t h e p o i n t -

    w i s e s q u a r i n g s i m p l e a n d a v o i d c o m p l i c a t e d r e a l - v a l u e d F F T s . T h e p r i m a r y g o a l h e r e i s t o e c i e n t l y

    u s e t h e l i m i t e d a m o u n t o f h i g h - s p e e d s t o r a g e a v a i l a b l e t o a m o d e r n m i c r o p r o c e s s o r .

    A l t h o u g h b o t h w a v e f r o n t s u s e t h e s a m e s t y l e o f D W T t o e e c t F e r m a t - m o d s q u a r i n g , F F T

    A l g o r i t h m 1 i s f u n d a m e n t a l l y d i e r e n t f r o m F F T A l g o r i t h m 2 . T h e f o r m e r e m p h a s i z e s u n i f o r m

    b u t h i g h l y n o n l o c a l d a t a a c c e s s , w h e r e t h e l a t t e r t r i e s t o l o a d b l o c k s o f d a t a i n t o h i g h - s p e e d m e m o r y

    a n d k e e p t h e m t h e r e a s l o n g a s p o s s i b l e . W h e r e a s A l g o r i t h m 1 , i n i t s n a l f o r m , p e r f o r m s 1 4 p a s s e s

    t h r o u g h i t s d a t a a n d r e q u i r e s a n e i g h t - m e g a b y t e a r r a y f o r s c r a t c h s p a c e , A l g o r i t h m 2 p e r f o r m s t h e

    c o n v o l u t i o n i n - p l a c e , m a k e s e x a c t l y t h r e e p a s s e s t h r o u g h t h e r e s i d u e p e r s q u a r i n g a n d n e e d s l i t t l e

    s t o r a g e b e y o n d t h e r e s i d u e i t s e l f . T h e t a r g e t m a c h i n e w a s a n a g e d U l t r a S P A R C r u n n i n g i n a b u s y

    d a y t i m e e n v i r o n m e n t , a n d l o w m e m o r y u s e w a s m a n d a t o r y .

    A l g o r i t h m 2 b e g i n s w i t h B a i l e y ' s 4 - s t e p F F T 3 ] 8 ] , s i m p l i e d f o r i n - p l a c e c o n v o l u t i o n . L e t x

    b e a s i g n a l o f s i z e N = n

    1

    n

    2

    , l e t ! b e a n N t h c o m p l e x r o o t o f u n i t y , a n d l e t t h e D W T w e i g h t s b e

    c o m p l e x N t h r o o t s o f - 1 . I n w h a t f o l l o w s , \ D I F " a n d \ D I T " h a v e t h e s a m e m e a n i n g s a s p r e v i o u s l y .

    I f X i s a n n

    1

    - b y - n

    2

    c o m p l e x m a t r i x c o n s i s t i n g o f t h e d a t a i n x a r r a n g e d i n r o w - m a j o r o r d e r ( a s

    i s c u s t o m a r y f o r t h e C l a n g u a g e , a n d t h e o p p o s i t e o f t h e F o r t r a n c o n v e n t i o n ) , t h e n t h e s q u a r i n g

    a l g o r i t h m i s a s f o l l o w s :

    1 . M u l t i p l y x

    i

    b y t h e i t h D W T w e i g h t , 0 i < N

    2 . P e r f o r m a D I F F F T o f s i z e n

    1

    o n e a c h c o l u m n o f X

    3 . M u l t i p l y X

    i j

    b y !

    I j

    0 i < n

    1

    , 0 j < n

    2

    ( I i s t h e b i t - r e v e r s a l o f i )

    4 . P e r f o r m a D I F F F T o f s i z e n

    2

    o n e a c h r o w o f X

    5 . S q u a r e e a c h e l e m e n t o f X

    6 . P e r f o r m a D I T F F T o f s i z e n

    2

    o n e a c h r o w o f X

    7 . M u l t i p l y X

    i j

    b y !

    ; I j

    0 i < n

    1

    , 0 j < n

    2

    ( I i s t h e b i t - r e v e r s a l o f i )

    8 . P e r f o r m a D I T F F T o f s i z e n

    1

    o n e a c h c o l u m n o f X

    9 . M u l t i p l y x

    i

    b y t h e i t h c o n j u g a t e D W T w e i g h t , 0 i < N

    1 0 . S c a l e x b y 1 = N a n d p r o p a g a t e c a r r i e s .

    S i n c e b o t h D I F a n d D I T t r a n s f o r m s a r e u s e d , t h e d a t a a r e p r o c e s s e d i n - p l a c e a n d i n o r d e r . E v e n

    b e t t e r , t h e m a t r i x t r a n s p o s e s t h a t B a i l e y ' s a l g o r i t h m n e e d s a r e u n n e c e s s a r y , s i n c e t h e y a m o u n t t o

    r e o r d e r i n g i n t e r m e d i a t e r e s u l t s . A m o d i e d " 6 - s t e p " F F T s q u a r i n g i s a l s o p o s s i b l e , a n d t h e s i x

    m a t r i x t r a n s p o s e s i t w o u l d n e e d c a n b e r e d u c e d t o t w o i f t h e a r r a y X s t a r t s o a n d e n d s u p i n

    c o l u m n - m a j o r o r d e r , i . e . i s p r e - t r a n s p o s e d .

    T h e k e y t o m a k i n g t h i s 4 - s t e p - l i k e a l g o r i t h m e c i e n t i s t o c o l l a p s e s e v e r a l o p e r a t i o n s i n t o e a c h

    p a s s t h r o u g h t h e a r r a y X . F o r e x a m p l e , o n e d o e s n o t h a v e t o w a i t f o r e v e r y r o w t o b e t r a n s f o r m e d

    i n s t e p ( 4 ) t o b e g i n t h e s q u a r i n g i n s t e p ( 5 ) . A b e t t e r a p p r o a c h w o u l d b e t o p e r f o r m s t e p s ( 4 )

    t h r o u g h ( 6 ) t o g e t h e r o n o n e r o w o f X a t a t i m e , a n d t o m a k e t h e r o w s i z e n

    2

    s m a l l e n o u g h f o r a l l t h e

    r e l e v a n t d a t a a n d p r e c o m p u t e d c o n s t a n t s t o t i n f a s t m e m o r y . I n t h i s w a y d a t a a r e l o a d e d f r o m

    s l o w e r m e m o r y o n l y o n c e , i n t h e i n i t i a l s t a g e s o f s t e p ( 4 ) . G i v e n t h a t a l o a d f r o m m a i n m e m o r y

    c a n s t a l l a m i c r o p r o c e s s o r f o r t h e e q u i v a l e n t o f d o z e n s o r e v e n h u n d r e d s o f a r i t h m e t i c o p e r a t i o n s ,

    t h e m o r e o f t e n s u c h t h i n k i n g i s a p p l i e d t h e b e t t e r .

    I n t h i s w a y , t h e t e n s t e p s l i s t e d c a n c o l l a p s e i n t o f o u r p a s s e s t h r o u g h t h e d a t a : o n e p a s s f o r

    e v e r y t h r e e s t e p s , a n d a n a l p a s s t o p r o p a g a t e c a r r i e s ( i t w i l l b e s h o w n l a t e r h o w t h i s l a s t p a s s c a n

    1 0

    T h e s o u r c e c o d e f o r t h i s i m p l e m e n t a t i o n i s a v a i l a b l e a t h t t p : / / w w w . p e r f s c i . c o m / F 2 4 / F 2 4 o a t . j p

    1 4

  • 8/3/2019 F24 is Composite

    15/20

    b e f o l d e d i n t o o n e o f t h e o t h e r s ) . H o w e v e r , m e m o r y p e r f o r m a n c e m a y s t i l l b e p o o r i f w e p r e c o m p u t e

    t o o m u c h i n f o r m a t i o n . L a r g e t a b l e s o f D W T w e i g h t s a n d p o w e r s o f ! ( t w i d d l e f a c t o r s ) m a y i n c r e a s e

    a c c u r a c y a n d r e d u c e t h e o p e r a t i o n c o u n t , b u t t h e y a l s o f o r c e f o u r t i m e s a s m a n y d a t a t o s t r e a m

    t h r o u g h f a s t m e m o r y c a c h e s e v e r y s q u a r i n g . U s e o f r e c u r r e n c e s s o l v e s t h e m e m o r y p r o b l e m , b u t

    n a v e r e c u r r e n c e s ( i n c l u d i n g t h e \ s t a b l e " v a r i e t y a d v o c a t e d i n r e f e r e n c e s s u c h a s 2 2 ] | o n e m i g h t

    t h i n k f r o m t h e a u t h o r s ' w o r d i n g t h a t s u c h a r e c u r r e n c e h a s r o u n d i n g e r r o r s w h i c h m a g i c a l l y d o n o t

    g r o w , b u t s u c h i s d e n i t e l y n o t t h e c a s e ! ) b u i l d u p r o u n d i n g e r r o r s t h a t m a y n o t b e a c c e p t a b l e o n

    m a c h i n e s w h i c h d o n o t h a v e " g u a r d b i t s " i n o a t i n g p o i n t r e g i s t e r s , l i k e m a n y R I S C w o r k s t a t i o n s .

    T h e s o l u t i o n a d o p t e d h e r e u s e s a n o t h e r i d e a o f B a i l e y ' s , a g a i n m o d i e d f o r m i c r o p r o c e s s o r s :

    i n s t e a d o f a s i n g l e l a r g e a r r a y o f s i z e N , k e e p t w o s m a l l a r r a y s . I n t h e t w i d d l e f a c t o r c a s e , o n e a r r a y

    c o n t a i n s !

    m

    , 0 m < r a n d r a p o w e r o f t w o a n d t h e o t h e r a r r a y c o n t a i n s !

    k r

    , 0 k < r . T h e n

    t o f o r m !

    i j

    ( f o r i j < r

    2

    ) , t h e n u m b e r i j i s r e p r e s e n t e d a s k r + m ( b y m a s k i n g a n d s h i f t i n g ) t h e n

    k a n d m a r e u s e d a s l o o k u p s i n t o t h e i r r e s p e c t i v e t a b l e s , a n d t h e t w o t a b l e e n t r i e s a r e m u l t i p l i e d

    t o g e t h e r . A l t h o u g h s o m e w h a t c o m p l i c a t e d , t h e s t o r a g e n e e d e d b y t h i s s c h e m e i n c r e a s e s o n l y a s t h e

    s q u a r e r o o t o f t h e p r o b l e m s i z e , a n d t h e t a b l e s n e e d e d a r e s m a l l e n o u g h t o s t a y i n c a c h e m o s t o f

    t h e t i m e . S i n c e e a c h r e s u l t o p e r a n d n e e d s e x a c t l y o n e c o m p l e x m u l t i p l y o f t w o p r e c o m p u t e d r o o t s

    o f u n i t y , t h e a c c u r a c y i s a l s o e x c e l l e n t , b e i n g o n l y m a r g i n a l l y l e s s t h a n t h a t o f a f u l l y - p r e c o m p u t e d

    i m p l e m e n t a t i o n a n d ( u n l i k e r e c u r r e n c e s ) s u e r i n g n o d e t e r i o r a t i o n w i t h i n c r e a s i n g r u n l e n g t h . T h e

    s a v i n g s c a n b e s u r p r i s i n g : f o r F

    2 4

    , t h e m e m o r y b a n d w i d t h s a v e d s p e e d s u p t h e e n t i r e s q u a r i n g b y

    1 5 % o n t h e t a r g e t m a c h i n e . I t a l s o p o i n t s o u t a r e c u r r i n g t h e m e w i t h t h i s a l g o r i t h m , n a m e l y t h a t

    d o i n g m o r e a r i t h m e t i c i n t h e n a m e o f i m p r o v i n g m e m o r y u s e i s a b a r g a i n w h e n r u n l e n g t h s b e c o m e

    l a r g e .

    M e m o r y e c i e n c y a l s o d r i v e s t h e c h o i c e o f n

    1

    a n d n

    2

    . I n a s u p e r c o m p u t e r e n v i r o n m e n t , a 4 - s t e p

    F F T b e n e t s t h e m o s t f r o m X b e i n g s q u a r e o r n e a r l y s o , i . e . f r o m n

    1

    b e i n g l a r g e . O n w o r k s t a t i o n s

    t h e o p p o s i t e i s t r u e d e s k t o p m a c h i n e s m a i n t a i n a t r a n s l a t i o n l o o k a s i d e b u e r ( T L B ) t h a t s h a r p l y

    l i m i t s t h e n u m b e r o f w i d e l y s e p a r a t e d m e m o r y l o c a t i o n s t h a t c a n b e q u i c k l y a c c e s s e d . S i n c e t h i s

    i s a C l a n g u a g e i m p l e m e n t a t i o n , d a t a i n t h e s a m e c o l u m n o f X a r e f a r a p a r t i n p h y s i c a l m e m o r y ,

    a n d s o t o a v o i d y e t m o r e m e m o r y s t a l l s t h e n u m b e r o f r o w s n

    1

    m u s t b e k e p t q u i t e s m a l l . A n o t h e r

    ( s t a n d a r d ) o p t i m i z a t i o n i s t o p u t \ p a d d i n g " a f t e r e a c h r o w o f X , t o b r e a k u p p o w e r - o f - t w o m e m o r y

    s t r i d e s d u r i n g t h e c o l u m n o p e r a t i o n s .

    F i n a l l y , t h e r e i s t h e m a t t e r o f c o m b i n i n g t h e c a r r y p r o p a g a t i o n w i t h t h e o t h e r p a s s e s t h r o u g h

    t h e d a t a . T h i s i s a c t u a l l y r a t h e r s i m p l e : i n s t e a d o f r e l e a s i n g o n e c a r r y a t a t i m e a s i n t u i t i o n w o u l d

    s u g g e s t , i t i s b e t t e r t o k e e p a n a r r a y o f n

    1

    s e p a r a t e c a r r i e s , o n e f o r e a c h r o w i n X . T h i s a r r a y c a n

    t h e n s w e e p t h r o u g h X o n t h e h e e l s o f t h e c o m p u t a t i o n s i n s t e p s ( 7 ) - ( 9 ) a b o v e , w h i l e t h e r e l e v a n t

    d a t a a r e s t i l l i n c a c h e . H o w e v e r , t h e r e m a y s t i l l b e u n p r o p a g a t e d c a r r i e s a f t e r a s i n g l e s w e e p t h r o u g h

    X t h u s a s e c o n d , m u c h s h o r t e r , c a r r y p r o p a g a t i o n s t e p i s n e c e s s a r y , w i t h e a c h o f t h e n

    1

    c a r r i e s

    \ w r a p p i n g a r o u n d " t o t h e n e x t r o w i n X . ( W e n o t e F F T a l g o r