Data-Types Optimization for Floating-Point Formats by Program Transformation

Size: px
Start display at page:

Download "Data-Types Optimization for Floating-Point Formats by Program Transformation"

Transcription

1 Dt-Types Optimiztion for Floting-Point Formts by Progrm Trnsformtion Nsrine Dmouche University of Perpignn LAbortory of Mthemtics nd PhysicS 52 Avenue Pul Alduy Perpignn, Frnce Emil: Mtthieu Mrtel University of Perpignn LAbortory of Mthemtics nd PhysicS 52 Avenue Pul Alduy Perpignn, Frnce Emil: Alexndre Chpoutot U2IS, ENSTA PrisTech Pris-Scly University 828 bd des Mréchux Pliseu, Frnce Abstrct In floting-point rithmetic, desirble property of computtions is to be ccurte, since in mny industril context smll or lrge perturbtions due to round-off errors my cuse considerble dmges. To cope with this mtter of fct, we hve developed tool which corrects these errors by utomticlly trnsforming progrms in source to source mnner. Our trnsformtion, relying on sttic nlysis by bstrct bstrction, concerns pieces of code with ssignments, conditionls nd loops. By trnsforming progrms, we cn significntly optimize the numericl ccurcy of computtions by minimizing the error reltively to the exct result. An interesting side-effect of our technique is tht more ccurte computtions my mke it possible to use smller dt-types. In this rticle, we show tht our trnsformed progrms, executed in single precision, my compete with not trnsformed codes executed in double precision. I. INTRODUCTION The floting-point numbers described by IEEE754 Stndrd [1], [16] re more nd more used in mny industril pplictions, including criticl embedded softwre. In these computtions, recurrent problem ppers becuse of roundoff errors tht reduce the ccurcy of the results. This perturbtion becomes prticulrly crucil when ccumulted errors cuse dmges whose grvity vries depending on the context of the ppliction. Obviously, embedded softwre is not the only pplictive domin concerned by these ccurcy problems which re ubiquitous in ll numericl scientific computtions. In the light of this problem, we correct these errors by utomticlly trnsforming progrms in source to source mnner. Bsiclly, we trnsform not only rithmetic expressions but lso pieces of code contining ssignments, conditionls, loops nd sequences of commnds. Our trnsformtion significntly improves the numericl ccurcy of the progrm considered. To optimize progrms, we generte lrge rithmetic expressions corresponding to the computtions of the originl progrm nd further, we consider mny expressions mthemticlly equivlent to the originl ones in order to, finlly, choose more ccurte mong them in polynomil time. There exists severl methods for vlidting [3], [7], [8], [10], [20] nd improving [12], [17] the ccurcy of numericl This work ws supported by the ANR Project ANR-12-INSE-0007 CAFEIN /16/$31.00 c 2016 IEEE codes in order to void filures. Here, s in our previous work, we rely on sttic nlysis by bstrct interprettion [4] to compute vrible rnges nd error bounds. We use set of trnsformtion rules for rithmetic expressions nd commnds [6]. These rules, which re pplied in deterministic order, llow one to obtin more ccurte code mong ll these which re considered. We hve shown tht the numericl ccurcy of our cse study progrms is significntly improved. In most cses it is bout of 20%. In this pper, we propose new experiment, tht compres the optimized progrms obtined by our tool nd executed in single precision to the initil progrms executed in both single nd double precision. Our min contribution is to show tht the trnsformed progrms in single precision re close to the originl progrms in double precision. This offers to the progrmmer the possibility to degrde to the single precision dt-type without loosing much informtion. To ensure tht our tool is useful in prctice, we write the source nd trnsformed progrm in C nd compile them by using GCC Compiler. This rticle is orgnized s follows. We first review in Section II the bsics of our trnsformtion method bsed on floting-point rithmetic. We explin briefly how to trnsform rithmetic expressions. We then introduce in Section III the different trnsformtion rules tht llow us to utomticlly trnsform progrms. We present in Section IV our min contribution which demonstrtes the interest of the comprison between single, double precision nd optimized codes. We illustrte this with some experiments concerning the computtion of the integrl of polynomil using Simpson s Rule [2]. Relted work is discussed in Section V. Finlly, we give some concluding remrks nd perspectives in Section VI. II. ANALYSIS AND TRANSFORMATION OF EXPRESSIONS In this section we introduce the bckground needed to understnd our pproch to improve the numericl ccurcy of progrms. We recll the key notions on our wy of computing the rounding errors on floting-point rithmetic expressions. Next, we briefly explin how to trnsform rithmetic expressions using n intermediry representtion clled APEGs. A. Sttic Anlysis of Arithmetic Expressions Floting-point numbers re used to represent rel numbers. Becuse of their finite representtion, round-off errors rise

2 during the computtions which my cuse dmges in criticl contexts. IEEE754 Stndrd formlizes binry floting-point number s triplet of sign s {0, 1}, significnd nd exponent. We consider tht number x is written: x = s d 0.d 1...d p 1 b e = s m b e p+1, 1 where, s is the sign { 1, 1}, m is the mntiss, m = d 0.d 1...d p 1 with digits 0 d i < b, 0 i p 1, p is the precision, nd e is the exponent [e min,e mx ]. A floting-point number x is normlized whenever d 0 0. Normliztion voids multiple representtions of the sme number. IEEE754 Stndrd specifies some prticulr vlues for p, e min nd e mx which re summrized in Figure 1 s well s denormlized numbers which re floting-point numbers with d 0 = d 1 =... = d k = 0, k < p 1 nd e = e min. Denormlized numbers mke underflow grdul [9]. Finlly, the following specil vlues lso re defined: Fig. 1. NN Not Number result of n invlid opertion, the vlues ± corresponding to overflows, the vlues +0 nd 0 signed zeros. Formt Nme p e bits e min e mx Binry16 Hlf precision Binry32 Single precision Binry64 Double precision Binry128 Qudrtic precision Bsic IEEE754 formts. IEEE754 Stndrd defines four rounding modes for elementry opertions over floting-point numbers. These modes re towrds, towrds +, towrds zero nd to the nerest respectively denoted by +,, 0 nd. The semntics of the elementry opertions specified by IEEE754 Stndrd is given by Eqution 2. x r y = r x y, with r : R F 2 where floting-point opertion, denoted by r {+,,, }, is computed using the rounding mode r nd denotes n exct opertion. Obviously, the results of the computtions re not exct becuse of the round-off errors. This is why, we use lso the function r : R R tht returns the round-off errors. We hve r x = x r x. 3 In order to compute the errors during the evlution of rithmetic expressions [14], we use vlues which re pirs x,µ FR = E where x denotes the floting point number used by the mchine nd µ denotes the exct error ttched to F, i.e., the exct difference between the rel nd flotingpoint numbers s defined in Eqution 3. For exmple, the rel number 1 3 is represented by the vluev = 1 1 3, 3 = , The semntics of the elementry opertions on E is defined in [14]. Our tool uses n bstrct semntics [4] bsed on E. The bstrct vlues re represented by pir of intervls. The first intervl contins the rnge of the floting-point vlues of the progrm nd the second one contins the rnge of the errors obtined by subtrcting the floting-point vlues from the exct ones. In the bstrct vlue denoted by x, µ E, we hve x the intervl corresponding to the rnge of the vlues nd µ the intervl of errors on x. This vlue bstrcts set of concrete vlues {x,µ : x x nd µ µ } by intervls in component-wise wy. We now introduce the semntics of rithmetic expressions on E. We pproximte n intervl x with rel bounds by n intervl bsed on floting-point bounds, denoted by x. Here bounds re rounded to the nerest, see Eqution 4. [x,x] = [ x, x]. 4 We denote by the function tht bstrcts the concrete function. It over-pproximtes the set of exct vlues of the error x = x x. Every error ssocited to x [x,x] is included in [x,x]. We lso hve for rounding mode to the nerest [x,x] = [ y,y] with y = 1 2 ulp mx x, x. 5 Formlly, the unit in the lst plce, denoted by ulpx, consists of the weight of the lest significnt digit of the flotingpoint number x. Equtions 6 to 7 give the semntics of the ddition nd multipliction over E, for other opertions see [14]. If we sum two numbers, we must dd errors on the opernds to the error produced by the round-off of the result. When multiplying two numbers, the semntics is given by the development of x 1 +µ 1 x 2 +µ 2. x 1,µ 1 + x 2,µ 2 = x 1 + x 2,µ 1 + µ 2 + x 1 + x 2, 6 x 1,µ 1 x 2,µ 2 = x 1 x 2,x 2 µ 1 + x 1 µ 2 + µ 1 µ 2 + x 1 x 2. B. Accurcy Improvement The work in [12] concerns the definition of new intermediry representtion clled APEG for Abstrct Progrm Expression Grph. This pproch represents in polynomil size n exponentil number of equivlent rithmetic expressions. Becuse APEGs hold in bstrction boxes mny equivlent expressions up to ssocitivity nd commuttivity, hence, it prevents the combintoril problem. A box contining n opernds cn represent up to n 3 possible formuls. In order to build lrge APEGs, two lgorithms re used propgtion nd expnsion lgorithm. The first one serches recursively in the APEG where symmetric binry opertor is repeted nd introduces bstrction boxes. Then, the second lgorithm finds homogeneous prt nd inserts polynomil number of boxes. In order to dd new shpes of expressions in n APEG, one propgtes recursively subtrctions nd divisions into the concerned opernds, propgte products, nd fctorizing common fctors. Finlly, n ccurte formul is serched mong ll the equivlent formuls represented in n APEG using the bstrct semntics of Section II-A. The APEGs re n extension of the Equivlence Progrm Expression Grphs EPEGs introduced by R. Tte et l. [21]. An APEG is defined inductively s follows: 1 A constnt cst or n identifier id is n APEG, 2 An expression p 1 p 2 is n APEG, where p 1 nd p 2 re APEGs nd is binry opertor mong {+,,, }, 7

3 3 A box p 1,...,p n is n APEG, where {+,} is commuttive nd ssocitive opertor nd the p i,1 i n, re APEGs, 4 A non-empty set {p 1,...,p n } of APEGs consists in n APEG where p i,1 i n, is not set of APEGs itself. We cll the set {p 1,...,p n } the equivlence clss. An exmple of APEG is given in Figure 2, it represents ll the following expressions: + 2 Fig. 2. b +,,b c c b APEG for the expression e = ++b c. Ap = + + b c, + b + c, b + + c, 2 + b c, c + + b, c + b +, c b + +, c 2 + b, + c + b c, 2 c + b c, b c + + c, b c + 2 c c. 8 R. Tte et l. in their rticle [21], use rewriting rules to extend the structure up to sturtion. In our context, such rules would consist of performing some pttern mtching in n existing APEG p nd then dding new nodes in p, once pttern hs been recognized. III. TRANSFORMATION OF COMMANDS In this section, we introduce the trnsformtion rules, implemented in our tool nd used to improve the numericl ccurcy of progrms. The syntx of commnds is given by: Com c ::= id = e c 1 ;c 2 ifφ e thenc 1 elsec 2 while Φ e do c nop, 9 where e is n expression in Expr mde of rithmetic opertions nd comprison. The principle of the trnsformtion of commnds relies on set of hypotheses: Progrms re defined by tuple c,δ,c,β ν c,δ,c,β : c is the progrm t optimizing, δ the forml environment tht mps vribles to expressions δ: V Expr, C is the context, i.e., the progrm enclosing the commnd to trnsform, β is the blck list tht contins vribles tht must not be removed from the progrm, ν is the reference vrible t optimizing, Progrms re written in SSA form single sttic ssignments, Trnsformtion rules re pplied deterministiclly, The best progrm, the most ccurte, is obtined by compring the reference vrible of the originl nd trnsformed progrm. Here, we survey briefly the different kinds of trnsformtion rules. We refer the interested reder to [6] to see the detils of these trnsformtion rules bsed on the syntx nd semntics. We strt with the ssignments. We hve two rules, the first consists in removing the ssignment from the progrm nd sving it in the memory δ if the conditions below re verified: The vribles of the expression e does not pper in δ, b The vrible v does not belong to the blck list β, c The vrible v is different of the reference vrible ν. Otherwise, we build lrge expression by substituting in it the forml expressions memorized previously by the first rule in δ. Remrk tht by inlining expressions in vribles when trnsforming progrms, we crete lrge formuls. In our implementtion, in order to fcilitte their mnipultion, we slice these formuls, t defined level of the syntctic tree, in severl sub-expressions, nd we ssign them to intermediry vribles. Finlly, we inject these new ssignments into the min progrm. Exmple 3.1: To explin the use of the trnsformtion rules of ssignments, let us consider Eqution 10 in which three vribles x, y nd z re ssigned. In this exmple, ν consists of the vrible z tht we im t optimizing, nd = 0.1, b = 0.01, c = nd d = re constnts. x = +b; y = c +d; z = x +y, δ, [ ], {z} = ν nop; y = c +d; z = x +y, δ = δ[x +b], [ ], {z} = ν y = c +d; z = x +y, δ = δ[x +b], [ ], {z} = ν nop; z = x +y, δ = δ [y c +d], [ ], {z} = ν z = x +y, δ = δ [y c +d], [ ], {z} = ν z = d +c +b +,δ, [ ],{z} In Eqution 10, initilly, the environment δ is empty, the blck list contins z nd the reference vrible ν t optimizing is z. If we pply the first rule of ssignment, we my remove the vrible x nd memorize it in δ. So, the line corresponding to the vrible discrded is replced by nop nd the new environment is δ = [x + b]. We then repet the sme process, we remove the vrible y nd sved it in δ. Next, we pply rule for sequences which discrds the nop sttement. For the lst step, we my not discrd z becuse the condition is not stisfied z = ν. Then, we substitute x nd y by their vlue in δ nd we trnsform the expression. Another kind of trnsformtion rules is for the sequences of commnds. If one member of the sequence is nop, then we trnsform only the other member, else, we trnsform both of them. Our implementtion trnsforms lso conditionls. If the condition is stticlly known, then we keep just the evluted brnch nd we trnsform it, else, we trnsform both brnches of the conditionl. In some cses, we del with undefined vribles becuse they hve been discrded from the progrm nd sved in the environmentδ s indicted in the first trnsformtion rule for ssignments. We then re-inject them into the progrm nd we do the necessry trnsformtions. The next trnsformtion rules concern the while loop. We trnsform the body of the loop ensuring tht the vribles of the condition do not belong to the environment δ. Otherwise, we hve to re-insert the vribles memorized in the environment into the progrm s doing for the lst rule of conditionls. 10

4 At the end of this section, we del with complexity considertions. As underlined previously, only one rule my be selected t ech step of the trnsformtion of progrm p. Consequently, the trnsformtion would be liner in the size n, i.e., the number of lines, of p if we would not reinject ssignments. However, given ssignment cnnot be removed twice, so the trnsformtion is qudrtic. Finlly, the entire trnsformtion of progrm p is repeted until nothing chnges, tht is t most n times. Hence, the globl complexity for progrm trnsformtion of size n is On 3. IV. EXPERIMENTS We hve implemented tool bsed on the rules of Section III to improve the numericl ccurcy of the flotingpoint computtions. This tool finds more ccurte progrm mong ll those equivlent. In this section, we emphsize the efficiency of our implementtion in terms of improving the dt-types used by the progrms. More precisely, we show tht by using our tool, we pproximte the results to be ever ccurte nd close to the results obtined under the double precision while using single precision. In the light of these ides, let us confirm our clims by mens of smll exmples such s Simpson s method. We strt by briefly describing wht our progrm computes, nd then we give their listing before nd fter being optimized with our tool. Their ccurcy is then discussed. Note tht our progrms re written in SSA form [5] to void ny problem deling with the reding nd writing vribles. A. Problem Description nd Simpson s Method Simpson s method consists in technique for numericl integrtion tht pproximtes the computtion of b fxdx. It uses second order pproximtion of the function f by qudrtic polynomil P tht tkes three bsciss points, b nd m with m = +b/2. When integrting the polynomil, we pproximte the integrl of f on the intervl [x,x + h] h R smll with the integrl of P on the sme intervl. Formlly, the smller the intervl is, the better the integrl pproximtion is. Consequently, we divide the intervl [, b] into subintervls [, + h], [ + h, + 2h],... nd then we sum the obtined vlues for ech intervl. We write: n b fxdx h 1 [ 2 fx fx 2j j=1 where n 2 j=1 ] fx 2j 1 + fx n n is the number of subintervls of [,b] with n is even, h = b /n is the length of the subintervls, x i = +ih for i = 0,1,...,n 1,n. In our cse, we hve chosen the polynomil given in Eqution 12. It is well-known by the specilists of flotingpoint rithmetic tht the developed form of the polynomil evlutes very poorly close to multiple root. This motivtes our choice of the function f below for our experiments. f = x 2. 7 = x x x x x x x The listing corresponding of the implementtion of the Simpson s method is described on Figure 3. int min { = 1.9; b = 2.1; n = 100.0; i = 1.0; x = ; h = b - /n; f = x*x*x*x*x*x*x * x*x*x*x*x*x * x*x*x * x*x * x*x*x*x * x*x*x * x * x * x ; x = b ; g = x*x*x*x*x*x*x * x*x*x*x*x*x * x*x*x * x*x * x*x*x*x * x*x*x * x * x * x ; s = f + g; while i < n { x = + i * h; f = x*x*x*x*x*x*x * x*x*x*x*x*x * x*x * x*x*x * x*x*x*x * x*x*x * x*x * x ; s = s * f; i = i + 1.0; }; i = 2.0 ; while i < n-1 { x = + i * h ; f = x*x*x*x*x*x*x * x*x*x*x*x*x * x*x * x*x*x * x*x*x*x * x*x*x * x*x * x ; s = s * f; i = i + 1.0; }; s = s * h / 3.0; } Fig. 3. Listing of the initil Simpson s method. int min { TMP_3 = ; TMP_1 = TMP_3 * 1.9 * 1.9 * 1.9 * * TMP_3 * 1.9 * 1.9 * * * 1.9 * 1.9; TMP_2 = 1.9 * 280. * TMP_3; TMP_15 = ; TMP_13 = TMP_15 * 2.1 * 2.1 * 2.1 * * TMP_15 * 2.1 * 2.1 * * * 2.1 * 2.1; TMP_14 = 2.1 * 280. * TMP_15; TMP_27 = 3.61; TMP_25 = TMP_27 * 1.9 * 1.9 * 1.9 * 1.9 * * TMP_27 * 1.9 * 1.9 * 1.9 * 1.9; TMP_26 = 1.9 * * TMP_3; TMP_32 = TMP_3 * 1.9; i = 1.; s = TMP_1 - TMP_ * TMP_ TMP_13 - TMP_ * TMP_ ; f = TMP_25 + TMP_ * TMP_ * TMP_27 * * TMP_ ; x = 2.1; while i < 100. { x = i * 0.002; TMP_37 = x * x; TMP_35 = TMP_37 * x * x * x * x * x * TMP_37 * x * x * x * x; TMP_36 = 84. * TMP_37 * x * x * x; TMP_42 = x * TMP_37 * x; f = TMP_35 + TMP_ * TMP_ * TMP_37 * x-672. * TMP_ * x ; s = s + 4. * f; i = i + 1.; } ; [... ] s = * s ; } Fig. 4. Listing of the trnsformed Simpson method. When given the initil progrm described in Figure 3 to our tool, it improves its numericl ccurcy by up to 99% depending on the entries. The trnsformed progrm is given in Figure 4. As detiled in Section III, our tool hs:

5 b c d Fig. 5. Simultion results of the Simpson s method with single, double precision nd optimized progrm using our tool. The vlues of x nd y xes correspond respectively to the vlue of n nd s in Eqution 13. creted lrge expressions, trnsformed them into more ccurte expressions, performed prtil evlution of the expressions, split the trnsformed expressions, ssigned the trnsformed expressions to T M P vribles. This process hs been pplied inside nd outside the loop. B. Experimentl results The experimentl results described herefter compre the numericl ccurcy of progrms using single nd double precision with progrm trnsformed with our tool nd running single precision only. Note tht the codes presented in this rticle re written in C, compiled with the GCC compiler version nd executed by n Intel Core i7 processor under Ubuntu In ddition, progrms re compiled with the optimiztion level o0 to void ny optimiztion done by the compiler nd dditionlly, we enforce the copy in the memory t ech execution step by declring ll the vribles s voltile this voids tht vlues re kept in registers using more thn 64 bits. The results observed on Figure 5 when executing the initil progrm in single nd double precision nd the trnsformed progrm in single precision, demonstrte tht our pproch succeeds well to improve the ccurcy. If we interest in the result of computtions round the multiple root 2.0, we cn see tht the behvior of the optimized code is fr closer to the originl progrm executed with double precision thn the single precision originl progrm. This shows tht single precision my suffices in mny contexts. In Figure 5, one cn see the difference, for different vlues of the step h > 0, in the computtion of +nh s = fxdx, 0 n < b h 13

6 between the originl progrm with both single nd double precision nd the trnsformed progrm in single precision in terms of numericl ccurcy of computtions. Obviously, the ccurcy of the computtions of the polynomil fx depends on the vlues of x. The more the vlue of x is close to the multiple root, the worst the result is. For this reson, we mke the intervl [,b] vry by choosing [,b] {[1.9, 2.1],[1.95, 2.05],[1.95, 2.05]} nd by choosing to split them in n = 100, n = 100 nd n = 250 slices respectively for the ppliction of Simpson s rule. Concerning the results obtined, our tool sttes tht the percentge of the optimiztion computed by the bstrct semntics of Section II-A is up to 99.39%. This mens tht the bound obtined by the technique of Section II-A on the numericl error of the computed vlues of the polynomil t ny itertion is reduced by 99.39%. Curve d of Figure 5 displys the function fx t points n = i,100 i 200. Next, if we tke for exmple Curve b of Figure 5, we observe tht our implementtion is s ccurte s the initil progrm in double precision for mny vlues of n since it gives results very close to the double precision while working in single precision. Note tht, for the x xis of Figure 5, we hve chosen to observe only the interesting intervl of n which is round the multiple root 2.0. V. RELATED WORK Other reserch work tries to optimize the numericl dttypes or to increse the precision of computtions. Durlov nd Kunck use n SMT solver to determine the miniml dttype needed to rech certin ccurcy [7]. For the fixed-point rithmetic [18], n lterntive to the floting-point rithmetic, mny pproches hve been proposed to optimize the formt of the numbers [13], [15]. Another kind of work ims t incresing the ccurcy of computtions by mens of dditionl clcultions which significntly slow down the pplictions. Double-double floting-point numbers emulte by softwre numbers with twice the precision of the double hrdwre formt [11]. Finlly, compenstion techniques use error-free trnsformtions to cpture the exct errors of floting-point computtions in order to re-inject the ccumulted error in the result [19], [22]. VI. CONCLUSION In this rticle, we hve shown the usefulness of our implementtion to improve the ccurcy of progrms. This llows one to work in lower precision nd obtin results close to the higher precision when trnsforming progrms using our tool. Our exmples compre the result of trnsformed progrm with the initil progrms executed in single nd double precision. We believe tht this pproch is very promising ccording to the different experiments results obtined. Another reserch direction consists in the interprocedurl progrms trnsformtion, i.e., we im t generlizing our techniques to cover other kinds of progrmming lnguge ptterns like pointers, rrys nd, specilly functions. We hope lso in future work to optimize severl reference vribles simultneously. One difficulty is tht the optimiztion of one vrible my decrese the ccurcy of other vribles. Compromises hve to be done. Another perspective consists t studying the impct of the ccurcy optimiztion on the convergence time of distributed systems nd lso hndle with the importnt issue tht concerns the reproducibility of the results: different runs of the sme ppliction yield different results due to the vritions in the order of evlution of the mthemticl expression. It will be very interesting to study how our technique could improve reproducibility. REFERENCES [1] ANSI/IEEE. IEEE Stndrd for Binry Floting-point Arithmetic, std edition, [2] K.-E. Atkinson. An Introduction to Numericl Anlysis. Second Edition, [3] J. Bertrne, P. Cousot, R. Cousot, J. Feret, L. Muborgne, A. Miné, nd X. Rivl. Sttic nlysis by bstrct interprettion of embedded criticl softwre. ACM SIGSOFT Softwre Engineering Notes, 361:1 8, [4] P. Cousot nd R. Cousot. Abstrct interprettion: A unified lttice model for sttic nlysis of progrms by construction or pproximtion of fixpoints. In POPL 77, pges ACM, [5] R. Cytron nd R. Gershbein. Efficient ccomodtion of my-lis informtion in SSA form. In PLDI 93, pges ACM, [6] N. Dmouche, M. Mrtel, nd A. Chpoutot. Intr-procedurl optimiztion of the numericl ccurcy of progrms. In FMICS 15, volume 9128 of LNCS, pges Springer, [7] E. Drulov nd V. Kunck. Sound compiltion of rels. In POPL 14, pges ACM, [8] D. Delms, E. Goubult, S. Putot, J. Souyris, K. Tekkl, nd F. Védrine. Towrds n industril use of FLUCTUAT on sfety-criticl vionics softwre. In FMICS 09, pges 53 69, [9] D. Goldberg. Wht every computer scientist should know bout floting-point rithmetic. ACM Comput. Surv., 231:5 48, [10] E. Goubult. Sttic nlysis by bstrct interprettion of numericl progrms nd systems, nd FLUCTUAT. In SAS 13, volume 7935 of LNCS, pges 1 3. Springer, [11] Y. Hid, X.-S. Li, nd D.-H. Biley. Algorithms for qud-double precision floting point rithmetic. In ARITH-15, pges IEEE Computer Society, [12] A. Ioullen nd M. Mrtel. A new bstrct domin for the representtion of mthemticlly equivlent expressions. In SAS 12, volume 7460 of LNCS, pges Springer, [13] J.-L. Jerez, G.-A. Constntinides, nd E.-C. Kerrign. A low complexity scling method for the lnczos kernel in fixed-point rithmetic. IEEE Trns. Computers, 642: , [14] M. Mrtel. Semntics of roundoff error propgtion in finite precision clcultions. Higher-Order nd Symbolic Comput., 191:7 30, [15] D. Menrd, N. Hervé, O. Sentieys, nd H. Nguyen. High-level synthesis under fixed-point ccurcy constrint. J. Electricl nd Computer Engineering, 2012:906350: :14, [16] J.-M. Muller, N. Brisebrre, F. de Dinechin, C.-P. Jennerod, V. Lefèvre, G. Melquiond, N. Revol, D. Stehlé, nd S. Torres. Hndbook of Floting-Point Arithmetic. Birkhäuser Boston, [17] J.-R. Wilcox P. Pnchekh, A. Snchez-Stern nd Z. Ttlock. Automticlly improving ccurcy for floting point expressions. In PLDI 15, pges ACM, [18] R. Ytes. Fixed-point Arithmetic: An Introduction., digitl signl lbs edition, [19] S.-M. Rump. Ultimtely fst ccurte summtion. SIAM J. Scientific Computing, 315: , [20] A. Solovyev, C. Jcobsen, Z. Rkmric, nd G. Goplkrishnn. Rigorous estimtion of floting-point round-off errors with symbolic tylor expnsions. In FM 15, volume 9109 of LNCS, pges Springer, [21] R. Tte, M. Stepp, Z. Ttlock, nd S. Lerner. Equlity sturtion: A new pproch to optimiztion. Log. Meth. in Comp. Sci., 71, [22] L. Thévenoux, P. Lnglois, nd M. Mrtel. Automtic source-to-source error compenstion of floting-point progrms. In CSE 15, 2015.

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers?

Questions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers? Questions About Numbers Number Systems nd Arithmetic or Computers go to elementry school How do you represent negtive numbers? frctions? relly lrge numbers? relly smll numbers? How do you do rithmetic?

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

Unit 5 Vocabulary. A function is a special relationship where each input has a single output.

Unit 5 Vocabulary. A function is a special relationship where each input has a single output. MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-186 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Parallel Square and Cube Computations

Parallel Square and Cube Computations Prllel Squre nd Cube Computtions Albert A. Liddicot nd Michel J. Flynn Computer Systems Lbortory, Deprtment of Electricl Engineering Stnford University Gtes Building 5 Serr Mll, Stnford, CA 945, USA liddicot@stnford.edu

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation Representtion of Numbers Number Representtion Computer represent ll numbers, other thn integers nd some frctions with imprecision. Numbers re stored in some pproximtion which cn be represented by fixed

More information

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric

More information

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

a < a+ x < a+2 x < < a+n x = b, n A i n f(x i ) x. i=1 i=1

a < a+ x < a+2 x < < a+n x = b, n A i n f(x i ) x. i=1 i=1 Mth 33 Volume Stewrt 5.2 Geometry of integrls. In this section, we will lern how to compute volumes using integrls defined by slice nlysis. First, we recll from Clculus I how to compute res. Given the

More information

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers Mth Modeling Lecture 4: Lgrnge Multipliers Pge 4452 Mthemticl Modeling Lecture 4: Lgrnge Multipliers Lgrnge multipliers re high powered mthemticl technique to find the mximum nd minimum of multidimensionl

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Chapter 2 Sensitivity Analysis: Differential Calculus of Models

Chapter 2 Sensitivity Analysis: Differential Calculus of Models Chpter 2 Sensitivity Anlysis: Differentil Clculus of Models Abstrct Models in remote sensing nd in science nd engineering, in generl re, essentilly, functions of discrete model input prmeters, nd/or functionls

More information

Control-Flow Analysis and Loop Detection

Control-Flow Analysis and Loop Detection ! Control-Flow Anlysis nd Loop Detection!Lst time! PRE!Tody! Control-flow nlysis! Loops! Identifying loops using domintors! Reducibility! Using loop identifiction to identify induction vribles CS553 Lecture

More information

Math 142, Exam 1 Information.

Math 142, Exam 1 Information. Mth 14, Exm 1 Informtion. 9/14/10, LC 41, 9:30-10:45. Exm 1 will be bsed on: Sections 7.1-7.5. The corresponding ssigned homework problems (see http://www.mth.sc.edu/ boyln/sccourses/14f10/14.html) At

More information

Section 10.4 Hyperbolas

Section 10.4 Hyperbolas 66 Section 10.4 Hyperbols Objective : Definition of hyperbol & hyperbols centered t (0, 0). The third type of conic we will study is the hyperbol. It is defined in the sme mnner tht we defined the prbol

More information

INTRODUCTION TO SIMPLICIAL COMPLEXES

INTRODUCTION TO SIMPLICIAL COMPLEXES INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min

More information

Approximate computations

Approximate computations Living with floting-point numers Stndrd normlized representtion (sign + frction + exponent): Approximte computtions Rnges of vlues: Representtions for:, +, +0, 0, NN (not numer) Jordi Cortdell Deprtment

More information

such that the S i cover S, or equivalently S

such that the S i cover S, or equivalently S MATH 55 Triple Integrls Fll 16 1. Definition Given solid in spce, prtition of consists of finite set of solis = { 1,, n } such tht the i cover, or equivlently n i. Furthermore, for ech i, intersects i

More information

Integration. September 28, 2017

Integration. September 28, 2017 Integrtion September 8, 7 Introduction We hve lerned in previous chpter on how to do the differentition. It is conventionl in mthemtics tht we re supposed to lern bout the integrtion s well. As you my

More information

Lecture Overview. Knowledge-based systems in Bioinformatics, 1MB602. Procedural abstraction. The sum procedure. Integration as a procedure

Lecture Overview. Knowledge-based systems in Bioinformatics, 1MB602. Procedural abstraction. The sum procedure. Integration as a procedure Lecture Overview Knowledge-bsed systems in Bioinformtics, MB6 Scheme lecture Procedurl bstrction Higher order procedures Procedures s rguments Procedures s returned vlues Locl vribles Dt bstrction Compound

More information

Approximation by NURBS with free knots

Approximation by NURBS with free knots pproximtion by NURBS with free knots M Rndrinrivony G Brunnett echnicl University of Chemnitz Fculty of Computer Science Computer Grphics nd Visuliztion Strße der Ntionen 6 97 Chemnitz Germny Emil: mhrvo@informtiktu-chemnitzde

More information

6.2 Volumes of Revolution: The Disk Method

6.2 Volumes of Revolution: The Disk Method mth ppliction: volumes by disks: volume prt ii 6 6 Volumes of Revolution: The Disk Method One of the simplest pplictions of integrtion (Theorem 6) nd the ccumultion process is to determine so-clled volumes

More information

MATH 25 CLASS 5 NOTES, SEP

MATH 25 CLASS 5 NOTES, SEP MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid

More information

9 4. CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association

9 4. CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association 9. CISC - Curriculum & Instruction Steering Committee The Winning EQUATION A HIGH QUALITY MATHEMATICS PROFESSIONAL DEVELOPMENT PROGRAM FOR TEACHERS IN GRADES THROUGH ALGEBRA II STRAND: NUMBER SENSE: Rtionl

More information

UNIT 11. Query Optimization

UNIT 11. Query Optimization UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,

More information

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

An Efficient Divide and Conquer Algorithm for Exact Hazard Free Logic Minimization

An Efficient Divide and Conquer Algorithm for Exact Hazard Free Logic Minimization An Efficient Divide nd Conquer Algorithm for Exct Hzrd Free Logic Minimiztion J.W.J.M. Rutten, M.R.C.M. Berkelr, C.A.J. vn Eijk, M.A.J. Kolsteren Eindhoven University of Technology Informtion nd Communiction

More information

Stained Glass Design. Teaching Goals:

Stained Glass Design. Teaching Goals: Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to

More information

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,

More information

Introduction to Integration

Introduction to Integration Introduction to Integrtion Definite integrls of piecewise constnt functions A constnt function is function of the form Integrtion is two things t the sme time: A form of summtion. The opposite of differentition.

More information

Pointwise convergence need not behave well with respect to standard properties such as continuity.

Pointwise convergence need not behave well with respect to standard properties such as continuity. Chpter 3 Uniform Convergence Lecture 9 Sequences of functions re of gret importnce in mny res of pure nd pplied mthemtics, nd their properties cn often be studied in the context of metric spces, s in Exmples

More information

PYTHON PROGRAMMING. The History of Python. Features of Python. This Course

PYTHON PROGRAMMING. The History of Python. Features of Python. This Course The History of Python PYTHON PROGRAMMING Dr Christin Hill 7 9 November 2016 Invented by Guido vn Rossum* t the Centrum Wiskunde & Informtic in Amsterdm in the erly 1990s Nmed fter Monty Python s Flying

More information

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

More information

Statistical classification of spatial relationships among mathematical symbols

Statistical classification of spatial relationships among mathematical symbols 2009 10th Interntionl Conference on Document Anlysis nd Recognition Sttisticl clssifiction of sptil reltionships mong mthemticl symbols Wl Aly, Seiichi Uchid Deprtment of Intelligent Systems, Kyushu University

More information

Improper Integrals. October 4, 2017

Improper Integrals. October 4, 2017 Improper Integrls October 4, 7 Introduction We hve seen how to clculte definite integrl when the it is rel number. However, there re times when we re interested to compute the integrl sy for emple 3. Here

More information

Tilt-Sensing with Kionix MEMS Accelerometers

Tilt-Sensing with Kionix MEMS Accelerometers Tilt-Sensing with Kionix MEMS Accelerometers Introduction Tilt/Inclintion sensing is common ppliction for low-g ccelerometers. This ppliction note describes how to use Kionix MEMS low-g ccelerometers to

More information

9 Graph Cutting Procedures

9 Graph Cutting Procedures 9 Grph Cutting Procedures Lst clss we begn looking t how to embed rbitrry metrics into distributions of trees, nd proved the following theorem due to Brtl (1996): Theorem 9.1 (Brtl (1996)) Given metric

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

If f(x, y) is a surface that lies above r(t), we can think about the area between the surface and the curve.

If f(x, y) is a surface that lies above r(t), we can think about the area between the surface and the curve. Line Integrls The ide of line integrl is very similr to tht of single integrls. If the function f(x) is bove the x-xis on the intervl [, b], then the integrl of f(x) over [, b] is the re under f over the

More information

SOME EXAMPLES OF SUBDIVISION OF SMALL CATEGORIES

SOME EXAMPLES OF SUBDIVISION OF SMALL CATEGORIES SOME EXAMPLES OF SUBDIVISION OF SMALL CATEGORIES MARCELLO DELGADO Abstrct. The purpose of this pper is to build up the bsic conceptul frmework nd underlying motivtions tht will llow us to understnd ctegoricl

More information

Integration. October 25, 2016

Integration. October 25, 2016 Integrtion October 5, 6 Introduction We hve lerned in previous chpter on how to do the differentition. It is conventionl in mthemtics tht we re supposed to lern bout the integrtion s well. As you my hve

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

More information

12-B FRACTIONS AND DECIMALS

12-B FRACTIONS AND DECIMALS -B Frctions nd Decimls. () If ll four integers were negtive, their product would be positive, nd so could not equl one of them. If ll four integers were positive, their product would be much greter thn

More information

Math 464 Fall 2012 Notes on Marginal and Conditional Densities October 18, 2012

Math 464 Fall 2012 Notes on Marginal and Conditional Densities October 18, 2012 Mth 464 Fll 2012 Notes on Mrginl nd Conditionl Densities klin@mth.rizon.edu October 18, 2012 Mrginl densities. Suppose you hve 3 continuous rndom vribles X, Y, nd Z, with joint density f(x,y,z. The mrginl

More information

Functor (1A) Young Won Lim 10/5/17

Functor (1A) Young Won Lim 10/5/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

MA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork

MA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork MA1008 Clculus nd Liner Algebr for Engineers Course Notes for Section B Stephen Wills Deprtment of Mthemtics University College Cork s.wills@ucc.ie http://euclid.ucc.ie/pges/stff/wills/teching/m1008/ma1008.html

More information

Functor (1A) Young Won Lim 8/2/17

Functor (1A) Young Won Lim 8/2/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

CPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls

CPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls Redings for Next Two Lectures Text CPSC 213 Switch Sttements, Understnding Pointers - 2nd ed: 3.6.7, 3.10-1st ed: 3.6.6, 3.11 Introduction to Computer Systems Unit 1f Dynmic Control Flow Polymorphism nd

More information

Lecture T4: Pattern Matching

Lecture T4: Pattern Matching Introduction to Theoreticl CS Lecture T4: Pttern Mtching Two fundmentl questions. Wht cn computer do? How fst cn it do it? Generl pproch. Don t tlk bout specific mchines or problems. Consider miniml bstrct

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-169 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Stack. A list whose end points are pointed by top and bottom

Stack. A list whose end points are pointed by top and bottom 4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!

More information

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li 2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min

More information

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants A Heuristic Approch for Discovering Reference Models by Mining Process Model Vrints Chen Li 1, Mnfred Reichert 2, nd Andres Wombcher 3 1 Informtion System Group, University of Twente, The Netherlnds lic@cs.utwente.nl

More information

MATH 2530: WORKSHEET 7. x 2 y dz dy dx =

MATH 2530: WORKSHEET 7. x 2 y dz dy dx = MATH 253: WORKSHT 7 () Wrm-up: () Review: polr coordintes, integrls involving polr coordintes, triple Riemnn sums, triple integrls, the pplictions of triple integrls (especilly to volume), nd cylindricl

More information

CSE 401 Midterm Exam 11/5/10 Sample Solution

CSE 401 Midterm Exam 11/5/10 Sample Solution Question 1. egulr expressions (20 points) In the Ad Progrmming lnguge n integer constnt contins one or more digits, but it my lso contin embedded underscores. Any underscores must be preceded nd followed

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop

More information

Tree Structured Symmetrical Systems of Linear Equations and their Graphical Solution

Tree Structured Symmetrical Systems of Linear Equations and their Graphical Solution Proceedings of the World Congress on Engineering nd Computer Science 4 Vol I WCECS 4, -4 October, 4, Sn Frncisco, USA Tree Structured Symmetricl Systems of Liner Equtions nd their Grphicl Solution Jime

More information

5/9/17. Lesson 51 - FTC PART 2. Review FTC, PART 1. statement as the Integral Evaluation Theorem as it tells us HOW to evaluate the definite integral

5/9/17. Lesson 51 - FTC PART 2. Review FTC, PART 1. statement as the Integral Evaluation Theorem as it tells us HOW to evaluate the definite integral Lesson - FTC PART 2 Review! We hve seen definition/formul for definite integrl s n b A() = lim f ( i )Δ = f ()d = F() = F(b) F() n i=! where F () = f() (or F() is the ntiderivtive of f() b! And hve seen

More information

CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE

CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE CHAPTER III IMAGE DEWARPING (CALIBRATION) PROCEDURE 3.1 Scheimpflug Configurtion nd Perspective Distortion Scheimpflug criterion were found out to be the best lyout configurtion for Stereoscopic PIV, becuse

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

2014 Haskell January Test Regular Expressions and Finite Automata

2014 Haskell January Test Regular Expressions and Finite Automata 0 Hskell Jnury Test Regulr Expressions nd Finite Automt This test comprises four prts nd the mximum mrk is 5. Prts I, II nd III re worth 3 of the 5 mrks vilble. The 0 Hskell Progrmming Prize will be wrded

More information

9.1 apply the distance and midpoint formulas

9.1 apply the distance and midpoint formulas 9.1 pply the distnce nd midpoint formuls DISTANCE FORMULA MIDPOINT FORMULA To find the midpoint between two points x, y nd x y 1 1,, we Exmple 1: Find the distnce between the two points. Then, find the

More information

On the Detection of Step Edges in Algorithms Based on Gradient Vector Analysis

On the Detection of Step Edges in Algorithms Based on Gradient Vector Analysis On the Detection of Step Edges in Algorithms Bsed on Grdient Vector Anlysis A. Lrr6, E. Montseny Computer Engineering Dept. Universitt Rovir i Virgili Crreter de Slou sin 43006 Trrgon, Spin Emil: lrre@etse.urv.es

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

Section 3.1: Sequences and Series

Section 3.1: Sequences and Series Section.: Sequences d Series Sequences Let s strt out with the definition of sequence: sequence: ordered list of numbers, often with definite pttern Recll tht in set, order doesn t mtter so this is one

More information

ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization

ECEN 468 Advanced Logic Design Lecture 36: RTL Optimization ECEN 468 Advnced Logic Design Lecture 36: RTL Optimiztion ECEN 468 Lecture 36 RTL Design Optimiztions nd Trdeoffs 6.5 While creting dtpth during RTL design, there re severl optimiztions nd trdeoffs, involving

More information

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an Scnner Termintion A scnner reds input chrcters nd prtitions them into tokens. Wht hppens when the end of the input file is reched? It my be useful to crete n Eof pseudo-chrcter when this occurs. In Jv,

More information

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer. DBMS Architecture SQL INSTRUCTION OPTIMIZER Dtbse Mngement Systems MANAGEMENT OF ACCESS METHODS BUFFER MANAGER CONCURRENCY CONTROL RELIABILITY MANAGEMENT Index Files Dt Files System Ctlog DATABASE 2 Query

More information

Epson Projector Content Manager Operation Guide

Epson Projector Content Manager Operation Guide Epson Projector Content Mnger Opertion Guide Contents 2 Introduction to the Epson Projector Content Mnger Softwre 3 Epson Projector Content Mnger Fetures... 4 Setting Up the Softwre for the First Time

More information

Tool Vendor Perspectives SysML Thus Far

Tool Vendor Perspectives SysML Thus Far Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com

More information

Computing offsets of freeform curves using quadratic trigonometric splines

Computing offsets of freeform curves using quadratic trigonometric splines Computing offsets of freeform curves using qudrtic trigonometric splines JIULONG GU, JAE-DEUK YUN, YOONG-HO JUNG*, TAE-GYEONG KIM,JEONG-WOON LEE, BONG-JUN KIM School of Mechnicl Engineering Pusn Ntionl

More information

10/9/2012. Operator is an operation performed over data at runtime. Arithmetic, Logical, Comparison, Assignment, Etc. Operators have precedence

10/9/2012. Operator is an operation performed over data at runtime. Arithmetic, Logical, Comparison, Assignment, Etc. Operators have precedence /9/22 P f Performing i Si Simple l Clcultions C l l ti with ith C#. Opertors in C# nd Opertor Precedence 2. Arithmetic Opertors 3. Logicl Opertors 4. Bitwise Opertors 5. Comprison Opertors 6. Assignment

More information

Essential Question What are some of the characteristics of the graph of a rational function?

Essential Question What are some of the characteristics of the graph of a rational function? 8. TEXAS ESSENTIAL KNOWLEDGE AND SKILLS A..A A..G A..H A..K Grphing Rtionl Functions Essentil Question Wht re some of the chrcteristics of the grph of rtionl function? The prent function for rtionl functions

More information

Math/CS 467/667 Programming Assignment 01. Adaptive Gauss Quadrature. q(x)p 4 (x) = 0

Math/CS 467/667 Programming Assignment 01. Adaptive Gauss Quadrature. q(x)p 4 (x) = 0 Adptive Guss Qudrture 1. Find n orthogonl polynomil p 4 of degree 4 such tht 1 1 q(x)p 4 (x) = 0 for every polynomil q(x) of degree 3 or less. You my use Mple nd the Grm Schmidt process s done in clss.

More information

Data sharing in OpenMP

Data sharing in OpenMP Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning

More information

Text mining: bag of words representation and beyond it

Text mining: bag of words representation and beyond it Text mining: bg of words representtion nd beyond it Jsmink Dobš Fculty of Orgniztion nd Informtics University of Zgreb 1 Outline Definition of text mining Vector spce model or Bg of words representtion

More information

ECE 468/573 Midterm 1 September 28, 2012

ECE 468/573 Midterm 1 September 28, 2012 ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other

More information

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012 Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.

More information

Homework. Context Free Languages III. Languages. Plan for today. Context Free Languages. CFLs and Regular Languages. Homework #5 (due 10/22)

Homework. Context Free Languages III. Languages. Plan for today. Context Free Languages. CFLs and Regular Languages. Homework #5 (due 10/22) Homework Context Free Lnguges III Prse Trees nd Homework #5 (due 10/22) From textbook 6.4,b 6.5b 6.9b,c 6.13 6.22 Pln for tody Context Free Lnguges Next clss of lnguges in our quest! Lnguges Recll. Wht

More information

COMMON HALF YEARLY EXAMINATION DECEMBER 2018

COMMON HALF YEARLY EXAMINATION DECEMBER 2018 li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net li.net i.net.pds.pds COMMON HALF YEARLY EXAMINATION DECEMBER 2018 STD : XI SUBJECT: COMPUTER SCIENCE

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-270 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t processor.support@nlog.com nd dsptools.support@nlog.com Or visit

More information

A Formalism for Functionality Preserving System Level Transformations

A Formalism for Functionality Preserving System Level Transformations A Formlism for Functionlity Preserving System Level Trnsformtions Smr Abdi Dniel Gjski Center for Embedded Computer Systems UC Irvine Center for Embedded Computer Systems UC Irvine Irvine, CA 92697 Irvine,

More information

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

1 Quad-Edge Construction Operators

1 Quad-Edge Construction Operators CS48: Computer Grphics Hndout # Geometric Modeling Originl Hndout #5 Stnford University Tuesdy, 8 December 99 Originl Lecture #5: 9 November 99 Topics: Mnipultions with Qud-Edge Dt Structures Scribe: Mike

More information

An introduction to model checking

An introduction to model checking An introduction to model checking Slide 1 University of Albert Edmonton July 3rd, 2002 Guy Trembly Dépt d informtique UQAM Outline Wht re forml specifiction nd verifiction methods? Slide 2 Wht is model

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

EECS 281: Homework #4 Due: Thursday, October 7, 2004

EECS 281: Homework #4 Due: Thursday, October 7, 2004 EECS 28: Homework #4 Due: Thursdy, October 7, 24 Nme: Emil:. Convert the 24-bit number x44243 to mime bse64: QUJD First, set is to brek 8-bit blocks into 6-bit blocks, nd then convert: x44243 b b 6 2 9

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona

CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona CSc 453 Compilers nd Systems Softwre 4 : Lexicl Anlysis II Deprtment of Computer Science University of Arizon collerg@gmil.com Copyright c 2009 Christin Collerg Implementing Automt NFAs nd DFAs cn e hrd-coded

More information

5 Regular 4-Sided Composition

5 Regular 4-Sided Composition Xilinx-Lv User Guide 5 Regulr 4-Sided Composition This tutoril shows how regulr circuits with 4-sided elements cn be described in Lv. The type of regulr circuits tht re discussed in this tutoril re those

More information

Introduction. Chapter 4: Complex Integration. Introduction (Cont d)

Introduction. Chapter 4: Complex Integration. Introduction (Cont d) Introduction Chpter 4: Complex Integrtion Li, Yongzho Stte Key Lbortory of Integrted Services Networks, Xidin University October 10, 2010 The two-dimensionl nture of the complex plne required us to generlize

More information

CHAPTER 8 Quasi-interpolation methods

CHAPTER 8 Quasi-interpolation methods CHAPTER 8 Qusi-interpoltion methods In Chpter 5 we considered number of methods for computing spline pproximtions. The strting point for the pproximtion methods is dt set tht is usully discrete nd in the

More information