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