$ 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