LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN ■LSHsX CENTRA,. C.RCULM.ON IBOOKSTACKS the library from which « stamped on ° r ^urn Jy be choked a minimum beloW « Ss Sofor each iost book, fee of $75.ow i«r reajonJ SEP 16 W «*p new due date below ^en renewing by Phone, -ntenewd ^ previous due date. Digitized by the Internet Archive in 2013 http://archive.org/details/radix16evaluatio540erce 7Y}aZL uiucDcs-R-Ta-^o RADIX 16 EVALUATION OF SOME ELEMENTARY FUNCTIONS by Milos D. Ercegovac August, 1972 UIUCDCS-R-72-5^0 RADIX 16 EVALUATION OF SOME ELEMENTARY FUNCTIONS* by Milos D. Ercegovac August, 1972 Department of Computer Science University of Illinois at Urb ana-Champaign Urb ana, Illinois 6l801 The research on which this paper is based was supported in part by the National Science Foundation under contract GJ813 and by the Department of Computer Science of the University of Illinois. ^Presented at the IEEE-TCCA Symposium on Computer Arithmetic, College Park, Maryland, May 15-16, 1972. Radix 16 Evaluation of Some Elementary Functions "by MLlos D. Ercegovac* Abstract This paper describes an approach for obtaining a class of similar algorithms for evaluation of some elementary functions. The main objective is to show feasibility of higher radix implementations, in particular radix l6, as they of f er better performance than radix 2. The emphasis is not on optimality of a single algorithm but rather on the optimality of the whole class of algorithms. An attempt to implement a much wider class of functions than is done in conventional arithmetic units, would be encouraged by the present level of technology and by the existence of suitable algorithms. Besides the definitions of the algorithms, which are based on continued products (sums), some details related to implementation are discussed. The research on which this paper is based was supported in part by the National Science Foundation under contract GJ813 and by the Department of Computer Science of the University of Illinois. ^Department of Computer Science, University of Illinois, Urbana, Illinois. Acknowle dgment The author wishes to thank Professor James E. Robertson for highly valued guidance, discussions and support. Thanks are due also to fellow- student Mr. Klshor S. Trivedi for many help full discussions as well as to Mrs. June Wingler for an excellent gob of typing. 1. Introduction The use of continued products in the calculation of some elementary functions appears as early as 1959, in Voider' s CORDIC technique [5]. The main results of this approach, based on coordinate system transformations, have been recently summarized in the form of a unified algorithm by Walther [6]. Without using the notion of coordinate rotation, Specker [7] derived a class of algorithms using the concept of continued products. DeLugish [1] has defined powerful algorithms for a wide class of elementary functions. Since the subject of this paper is motivated by some ideas and is based upon results obtained by DeLugish, a brief overview of some of his ideas and results follows. The available technological possibilities could justify hardware implementation of a wide class of functions without essentialy affecting the relative cost of the arithmetic unit, given similarity of the proposed algorithms . One effective way to derive such a class of algorithms is to use continued products (CP) or continued sums (CS) during function evaluation. The CP's or CS's are closely related to the process of normalization. The main idea is then to replace each required operation by two processes, which utilize only the simplest operations: addition/ subtraction, shifting and possibly access to precomputed constants in a read-only memory. One of the processes is normalization, iteratively performed in one arithmetic unit giving as a result digits of the CP (CS) representation, one at a time. Using these digits, the second arithmetic unit performs result evaluation at the same time. The apparent disadvantage of this approach, namely use of at least two separate arithmetic units, can be eliminated without affecting the speed significantly, as we propose later. Another remark applies to the fact that digit -by- digit evaluation is not a consequence of inherent properties, but reflects realization strategy, which attempts to achieve reasonably fast implementation for all functions under consideration, retaining at the same time simplicity. The use of redundant representations [3] results in simpler selection procedures, which are essential in normalization, and, in the case of radix 2, increases speed by increasing the probability of a zero. DeLugish has shown that for a class of functions, which includes division, multiplication, square root, logarithm, exponential, trigonometric and inverse trigonometric functions, operation times are from 1 to 3 multiplication cycle times. For the radix l6 case, we will present algorithms without complete derivations, which are given in [9]« In what follows, we consider only algorithms for fractional parts of floating point numbers, containing m radix 16 digits and sign, assuming that exponent arithmetic can be done in a conventional manner. Also, only positive initial values are considered. By normalization of a given number X e[l/2, l) we mean a sequence of transformation such that either X .tt(Ml) - 1 (1.1) o i=o or X - S(Ai) - (1.2) o i=o where multipliers are of the form M= 1 + l6" k S , o < k < m; and summands are of the form A^ = l6" k S k , o < k < m; and S e{10, 9, . .., 1, 0, 1, . .., 9> 10} are step dependent constants, (l.l) is called multiplicative normalization and uses continued products while (1.2) is additive normalization using continued sums. Then constants S are, in other words, the digits of the corresponding CP (CS) representation. As defined by Robertson in [2], the choice of the set of values for S corresponds to the redundancy ratio of 2/3, allowing efficient multiple formation as well as low precision selection rules. 2. Multiplicative Normalization The multiplicative normalization is performed recursively as X. +1 = X,(l+l6~ k S ), o < k < m (2.1) so that X , = X ir (l+l6~ 1 S.) is the normalized X . S. can he determined m+1 0.1 ok 1=0 on the basis of X , but to keep selection dependent on the same register positions, it is convenient to define the scaled remainder as P^ = l6 k " 1 (X k -l), o < k < m (2.2) The recursion now becomes R^ +1 = 161^ + S k + l6" k+1 S k R k , o < k < m (2.3) Since |S =10, the selection rules should preserve bounds of scaled 1 kmax remainders, namely -2/3 < K < 2/3. This will guarantee that the error of normalization |E L . I = 1 1-X . \ < 2/3 l6" m and that for all k there exist 1 m+1 m+1 — intervals of R for each of which a particular S fc is a valid choice. Those intervals should be overlapped (due to redundancy) so that the continuity of representation is preserved. This condition has to be satisfied by the selection procedure. To have practical selection rules, those overlaps should contain numbers, simple in the binary sense, so that low precision operations can be used in implementation. The results of the complete derivation of the selection rules, given in [9], are used in the following algorithms. The selection rules become simple after the first three steps, since the correspondence between intervals and S ' s is given by (-2S -1) < 321^ < (-2S +1), 3 < k < m (2.45 indicating that selection can be performed by rounding the scaled remainder to one non-sign digit. Knowing this, we specify rules for k = 0, 1 and 2 through modified rounding rather than using a table look-up or a direct combinational approach. We now give the following definitions, relevant to the description of the algorithms. Sign and magnitude representation of the constants S^: S, (l-2s, )l s.2 , s.e{o, 1} for all i; i=o Two's complement representation of scaled remainders: km R, = -ro + Z r.2~ , r.e[o, 1} for all i; i=l Truncated scaled remainder: £ 6 -i R = -ro + 2 r.2 i=l (2.5) (2.6) (2.7) Non-sign part of ll : \=< f 6 -i Z r.2 " if r = 0; . -, 1 o i=l i=l r.2- 1 1 if r = 1: o (2.8) Step-dependent rounding constant: U = Z u.2~ , u.e[o,l) and i=l (2.9) \ - * A> Algorithm N (Multiplicative normalization) : (2.10) Step HI. [Initialize] k <- o; S o <- 1 : If 1/2 < X ' — o < 5/8; S o «- o : Lf 5/8 < X ' — o < i; R l «- X o (l+S o ) ■ 1: i for k < m perform: k ♦- k + 1; Step W2. [Loop] S k *" L ( T k +U k )l6j; Slgn Sk^Sign^; if k < k then \ + i - 16 \ + \ + l6 ~ k+1 W else : where k - (m+3)/2. [ YJ denotes largest integer not larger than Y, and the rounding constant U, is defined as follows : U l = U 2 = ° 5 u 5 = K r r o .? 2 U 5 = VVSV + K 2 [r o +? l (? 2 + S ) + r 6 ] + K U 6 ■ K lVlf + K 2 r o (r l +r 2 +r 5 ) where K , K, and K stand for k=l, k=2 and k > 3 respectively. This simplification is due to finite precision and the decreasing effect of the term 16 S^^R^ D n \ + y It is an interesting feature of this procedure that at every step an increasing number of constants S is known. This constitutes the basis for a possible variable radix approach. 3- Additive Normalization The additive normalization, as defined by (1.2) is nothing more than a right directed recoding where one replaces the non-redundant digit set [0, ...,15} with a redundant one [10, ...,10}. The procedure is simple and exact. Rounding, as a selection rule, applies to all steps. The scaled remainder is as before (2.2), and since \ +1 = \ ' l6 "\> o < k < m (3.1) the basic remainder recursion is R^ +1 = 161^ - S k , o < k < m (3.2) and I R | < 2/3. Using the definitions (2.5-2.9) we give Algorithm A (Additive normalization) (3»3) Step Al. [Initialize] k «- o; Step A2. [Loop] s • - i; V - V for k < m perform: k «- k + 1: i s k *■ L (T k + u k )16j ; Sign s k *- Sign R k ; \ + l - 16R k - s k' 6 -i where U. = z u .2 and k . , 1 i=l u. ± = o, i f 5 . -1 k. Division Let Q = Y q /X , where X , Y e[l/2,l). Then consider y Y Q ft Mi) o o 7r(Mi) i=o where ^ = 1 + S k .l6" k , o < k < m If X Q 7r(Mi) -> 1, then Y^Mi) -> Q, indicating a possible algorithm. Constants S^ can be obtained through multiplicative normalization (Algorithm N) and, if one recursively defines partial result as % + i - \ (1+s k l6 " k) ^- 2 > o < k < m the quotient Q, = Q, , with m correct digits can be simultaneously evaluated in a second arithmetic unit. Algorithm D (Division) (^«3) (AU1: Normalization) (AU2: Result evaluation) Step Dl. [Initialize] k <- o; Step Nl of Alg N; Q Q «- Y q ; Step D2. [Loop] for k < m perform: Step N2 of algorithm N; 9^ +1 «- Q. + Q^S^" 1 * 1 ; An example is given in Figure lj--l. The implementation is shown in Figure k-2, without control details. rvj o r- •-4 «* cr oc in «t ft >* oc r- «o 00 *t r- CM CO «* CO 00 CT cr c^ o *t in c^ »* CO •— • o o o t— i tm. cr >t >c r- r- o ft Ni- cm o r^ r- r» »j- _J IT in >c r- cr «— i fl ce fvj CM r-* fl •-• ir <3 in c a C\, o cm o >n en »J vj" ** »* co ' T o <\J cr 00 cr (V cm o cr o cr o oc »— • oc r- o >c c Cs! r~ o CO oc CO oc 00 • r-t l_) r~< o r- •* r- in in in in in in in in c + UJ t*- cr m C r-* oc oo co oc oc 00 00 oo •xl c •4" <4" cr a cm »-< •— i w— ft •— • ft •-» ft c »-t O cr m «* * >* >* •4- ** »* »* *t II 2T c"» CM in in in m in IT' m in in m m o ►-« CT in co r- co co ro CO CO CO co CO CO X •_» If. oc oc cc oc cc oo 00 00 CO CO 00 oc >* • t • t • • • • • • • • • o c o c O O o o o o o o o o > -J- cr cr in cm s 00 o >r CO r- •-• o p-t CT CM o in m in r- m CM r- cr. «-4 c> r- O o o o f» C\J >j in a cm o in f~ r- f\ O c o CO -J sf m (M CM r- If- CO O o o o r- s: CC cr r- cr >t cr cr pi cr o c c . o vt >— ■ r- nC 00 ir CO ft r- o cr o c o o f» ft o cr cr CO cr r- cr a o cr o o o o m + UJ o >J o r- c. a cr c cr o o o o a * o cr M cr in O a c o cr o o o c in X cr v^ •\D o c a cr o o o c o o t z: cr O O cr o cr cr o cr o o o c o k~< o Cv O cr o a cr o cr o c o o — r- O o o C7 o o -cr o o a o II o ft ft o (-4 o o f* o w-A m-* •-« »-• c >- CM CM «*• If- OC r- cr cr a cr cr o r- • o it c X i a CV r*- u. ft u cc CM *-> \r\ r-t nj Oj < »o c o CO a- < Ll. P<-. U.' u> UJ -^ o CO cr UJ CC' r- u» in QD CM lf^ <■ o o < UJ a r- cr if. C\J o* cr c^ IX «t cc in cr r- r-. in c o CC IT. cr r- si" in w ' oo o rn oc c: u. CC m. o < k < m (5.*0 L = o 12 The result is correct to m digits, if one assumes that the stored constants are exactly represented with m digits— which is not the case. Therefore, either extended precision or smaller accuracy has to he accepted. On the other hand, the actual requirement for ROM capacity is decreased due to finite precision. From the power series expansion for the logarithm, it can he shown that for k > k = (2 foglO-l+V)/8 « (5.5+^m)/8 (5-5) 2m (1+S. l6" k ) = S. l6" k k k thereby reducing the required capacity by approximately one-half. Evaluation of the term E 2m2 does not present a problem E being of short length and it is not considered here. Constant 2m 2 can be kept in ROM together with other constants. Algorithm L (Logarithm) (5-6) (AU1: Normalization) (AU2: Result evaluation) Step LI. [Initialize] k «- o; Step Nl of Alg. N; L *- o; Step L2. [Loop] for k < m perform: Step N2 if k < k- then: i^^-Mi^ie-*); else: Implementation and an example are shown on Figures 5-2 and 5-1, respectively. 13 m o «* CM CO o* CO CO • o in CO «-* o in CO r- r- >o 0* o o -J in CO 00 o 00 co o in 00 ft ■-• CM CM < in o o >*• c* *0 o in r-l CM CM CM CM a: o r- o cm >fr r- o CM o r- o o r- h- r» r- r- r»- r- 4- UJ r- m o o ** co C\J CM CM CM CM CM CM *: Q «* t-i CM o «-l f>-< ft ft ft r-4 ft ft ft _j *-4 ^o 00 co m co CO ro CO CO CO CO CO Z co o ro cm CM CM C\J CM ™ , CM CM CM CM ►-« O in CM CM (M CM CM CM CM CM CM CM CM «•» O in in m in in in in m in in in in O o o o o o O o O o o o o 1 1 1 1 l 1 1 l 1 1 1 i 1 CM CO O CM CM *■ —t r- 00 o ft vO >* 00 00 o •-I CM o o o CM eo o> «*■ CO *o >o >o «-4 a o o o o ft «» «r a CO in CO in r* r- o o a» o o fO -J ?-» r»- CO ro «o ft CO ro >o (T o o o CM < »-i o» o o CM X r-t in CM o o ro m CO o o o o o m »~4 -O o ft >4- r- vO c O o> o» o» o o • r-4 o m in t-« o ni m r> O o o o o o o ♦ UJ «*• r» in CO cm O o O o a» o o a l * o 0> o f-4 vf c. O o O o o a o o X CM o .»*> o o O o a* a o o o o H ii z vO CO f-4 o o o o r> o o o o o *» t_4 00 CO O o o o o o o r> a» o o LA o w r-l o o o o o o o a cr r> o o X o o o o ft ft z sa -J •H ^t r> o 0m. o O 00 in o O o O U- O CM o U- in -J o CO ft UJ CO >t 0 CO vO CO UJ ro cc r- >*■ CO UJ in a* 00 »— O in o o u. o o co >o o •4- !■ < o < m CO ^ X LL Q in CM UJ CO a* o < **- < CO •4- o a: UJ o O en CM co o CO nO o < «*• o u_ in Z CO < >j- s0 ft CO o 'i- sO o < < m • U- CO co CM vO ft co CM •4- o o **• CO o z CM cr «o ro CM o t-4 h- CM -4- >o < m M II o X tA ft CM I 0* I I CO I CM I I CM I CM -O ft CM CO in O h- ao r-l CM AUl: Ik Uk k R k Rk+l s 16Rk + Sk- , -16 _l '' , " l SkRk Rk + l ADDER n — * ] c ADDER ;: T. Rl !► (0;±4;±8)*i6 _k+1 Ri SELECT-COMPLEMENT 1 (0;±i;±2)*i6~ k+1 R Sk SELECT- COMPLEMENT 16- k+1 Rk SHIFTING NETWORK AU2: Lk + l=L k + Ck,0 o and F is replaced by 1 - F. Then Xe(-fe2, o] Once again a convenient identity is used: Xo Xo - 2m ( 7T M. ) + 2m ( f M. ) (6-3) e=e l .1 i=o i=o where M= 1 + S l6~ , o < k < m. m If X - in ( tt M. ) -* o, then o . 1 i=o m ., Xo TT M. -> e l 1=0 The recursion for the result evaluation is simple E.,- = E. (1+S. l6" k ), o < k < m (6.k) k+1 k k ' — — E = 1 o while the scaled remainder recursion for additive normalization becomes: E^ = 16R - l6 k 2m (1+S k l6" k ), o < k < m (6.5) 16 The required set of precomputed constants is the same as the one for logarithm. In this case also for k > k (6.5) no constants should be stored and normalization is defined by Algorithm A. The derivation of the selection rules, given in [9] will be omitted. The initial step is done according to the following table: TABLE 7.1 xo Mo ton. Mo [-l/8,o] 1 o [ -3/8, -1/8) -1/k -1/k (-0*2,-3/8) -17/32 -17/32 Then by proper restrictions of possible PL - ranges the validity of the rounding rule is preserved in all remaining steps. Values for Mo and ton Mo should be stored in the ROM. X We summarize evaluation of e as follows: Preliminary transformations : a) I + F = xfa^e b ) X = F ton 2 o Algorithm E (Exponential) (6.6) (AU1: Normalization) (AU2: Result evaluation) Step El. [Initialize] k «- o; R, «- x -ton Mo: E_ <- Mo; 1 o J. Step E2. [Loop] for k < m perform: k <- k + 1; if k < k x then E k+1 «- E k + iyy.6"* S k *" L (T k +U k )l6j; 8ign S k *~ Sign V R k+1 *" l6R k " ^ * ( 1+s k l6 " k ^ else: Step A2 of Alg A; IT where U = 1/32 and k is determined by (5*5) • An example and implementation are shown on Figures 6-1 and 6*2 respectively. 7. Implementation Here we discuss briefly some basic aspects of the radix l6 implementation, comparing them with those of the radix 2 case, and omitting details related to a particular design. The general configuration for the described algorithms contains two arithmetic units, operating simultaneously. The main parts are the same: the adder structure with the multiple formation networks, the shifting network and the argument register. The adder structure for radix 16 requires two adders and two select-complement networks, which represent a major increase in hardware compared to radix 2. The speed of addition will be only slightly decreased if both adders are unified into one three-digit adder. We estimate that this part will require twice as much hardware as the corresponding part in the radix 2 case. If the add time of the adder in radix 2 is t n , we assume that t n/ - < 1.2 t ^, for a2' alb a2' sufficiently large m. The shifting network, required to shift right/left k-digits, for o < k < m-1, is simpler for higher radix. We assume that the shifting network is realized using a "barrel switch" technique [7]« Namely, shifting is performed in two or more levels so that the combination of level shifts corresponds to the required shift. Left shift is performed using the same data paths, only the two's complement of the number specifying the shift is given as the control. We assume that radix 2 requires 30$ more hardware than radix 16. (For example, if m = kQ, then level 1 provides displacements of 0, 16 or 32 positions, level 2 provides displacements of' 0, h, 8, or 12 positions and, in the radix 2 case, level 3 would be necessary with displacements 0, 1, 2, or 3 positions.) Speedwise, t , > 1.3 t ^n^« -I o 18 o o o ro CM r- O **■ in in »o in m o o a in CM vj" O o co ro o 0> 0> «■ o o o r-« r-4 CO in CM o> o o in in -1 o o in CM ro o ro 00 ro m CO CO ro < c- o r- 00 oo •o r- CO o o o o O T. o o 00 in ro o in 00 00 oo CO CO 00 •— < o o t-i 00 «o 00 ro r-4 ■»-i r-4 r-l r-t r-4 •-• U o o r- f* r*- «fr >t st >* *t *■ ** >fr ♦ UJ a o r-4 r^ in r- r- r- r- f- r- f- r- ^ Q o o O r- ro ro ro CO CO rO ro CO ro UJ c o r- oo 00 CO 00 00 CO oo CO 00 00 z o in in *• vt >* >* >* >* vt **• >fr •— o r- o o o o o o o <„-> o o o *■" o CD cr o> o> & o> a e> CT> o o 0> o r- cH o •-4 «o O ro in 00 o * «* f-4 CM ■*• CM «* r- ro r- in in t-l o o r- o o in t-4 CO O t-i in o r- r- r-t o o «o CO "^ o «4- CM **• o vO ft in ro ro o o o o r- _j o CM CO ro 00 sO o ro o o o o o o in < o >o CO CM .— < r-4 in rj> o o o o o 00 in s. a CM CO a 00 o CT o o o o o o • 00 •— • o a» 00 vt r\j r* r-4 o o o o t> o f-l • -* o o ro 0> o CO o O o o o o o o o ♦ UJ o •-4 o ro t-4 o o o o o o o o *: Q o ro CM **• O o o o o -o o o o II x n in o o o o o o o o o o o — • o CO O a o o o o o o o o o X — ft O O o o o o o o o o o o «* • • • « • • • • • • • • • CL o O o o o o o o o o o o o X 1 1 i 1 1 1 1 1 1 H I •H in in o CO ro in n O x o m a> »t o ro r- in in oo • o ii UJ Q -I * — < CO r> O a- o o> o> «• o in rvj i O CO CO o nj o O o o CVJ o m 00 >o rsi >*■ H I v£) H O o u. < CO o r\j >t CVJ ■4- u. o o o u. < co CM »t «^ LL o o o o u_ < CO o CM I ft u. I I H * o o o o o o o m h- o o CO CO * ro O CO o * o r* o o o o o o O CO r-l • in >~t r- o n CO — CO O X a. X UJ CM l ro CM r-4 I m CM O t-4 CM CO m CO O »-• CM 19 AUl: So -•{ ri k+i Uk T U ri { { A k Rl R k + 1 = 16R k -16 k C k , C k =^(M k ), l s 2k _3 can be I 1 IH n I n G. :.*L. G. ii- R 23 n Ri n r Figure 7-2 2k determined at the step k. One could also think about a variable radix approach, performing the initial, most difficult steps in some low radix and, as the selection process becomes easier, increasing the radix at every step. Whether square root, trigonometric and inverse trigonometric functions can be easily included in radix 16 approach, remains to be determined by finding corresponding selection rules, but it is believed that this is possible. 25 References [1] B. G. Delugish, "A class of algorithms for automatic evaluation of certain elementary functions in a binary computer," Report No. 399, Department of Computer Science, University of Illinois, Urbana, June 1970. [2] J. E. Robertson, "A new class of digital division methods," IRE Transactions on Electronic Computers, vol. EC-7, pp. 218-222, September 1958^7 [3] , Lecture Notes for Computer Science Courses 39^ (Fall 1970) and k&2 (Spring 1971), Department of Computer Science, University of Illinois, Urbana. [h] D. E. Atkins, "A study of methods for selection of quotient digits during digital division," Report No. 397, Department of Computer Science, University of Illinois, Urbana, June 1970* [5] J« E. Voider, "The CORDIC trigonometric computing technique," IEEE Transactions on Electronic Computers, vol. EC-8, No. 5, PP» 330-33^+, September 1959 • [6] J. S. Walther, "A unified algorithm for elementary functions," AFIPS Conf. Proc, vol. 38, pp. 379-385, Spring Joint Computer Conference 1971* [7] W. H. Specker, "A class of algorithms for LnX, ExpX, SinX, CosX, Tan" X, and Cot"^X, " IEEE Transactions on Electronic Computers, vol. EC-l^i-, No. 1, pp. 85-86, February 1965* [8] R. L. Davis, "The ILLIAC IV processing element," IEEE Transactions on Computers, vol. C-l8, No. 9, pp. 8OO-816, September 1969. [9] M. D. Ercegovac, "Radix l6 division, multiplication, logarithm and exponential algorithms based on continued product representations, " M.S. Thesis, Department of Computer Science, University of Illinois, Urbana, in preparation. BIBLIOGRAPHIC DATA SHEET I. Title and Subtitle 1. Report No. UIUCDCS-R-72-5^0 Radix l6 Evaluation of Some Elementary Functions Author(s) Milos D. Ercegovac Performing Organization Name and Address Department of Computer Science University of Illinois Urbana, Illinois 3. Recipient's Accession No. 5. Report Date August, 1972 6. 8. Performing Organization Rept. No. 10. Project/Task/Work Unit No. 11. Contract /Grant No. NSF GJ 813 2. Sponsoring Organization Name and Address National Science Foundation Washington, D . C . 13. Type of Report & Period Covered 14. 5. Supplementary Notes 6. Abstracts This paper describes an approach for obtaining a class of similar algorithms for evaluation of some elementary functions. The algorithms for division, logarithm and exponential evaluation are developed, using continued products (sums) in radix 16. Some aspects of the proposed implementation are discussed and comparisons between radix l6 and radix 2 approaches are given. 7. Key Words and Document Analysis. 17o. Descriptors Digital computer arithmetic Redundant number representation Continued products Continued sums Radix l6 Division Logarithm Exponential Pipelining 7b. Identifiers/Open-Ended Terms 7c. COSAT1 Field/Group 8. Availability Statement Release Unlimited 19.. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 25 22. Price ORM NTIS-38 ( 10-70) USCOMM-DC 40329-P7! *e fi . ^1 '#%> i.