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