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