inria, evaluation of theme sym b - ens-lyon.fr filemoved to lp2a, perpignan (2005). arnaud tisserand...

31
INRIA, Evaluation of Theme Sym B Project-team Ar´ enaire November 2006 Project-team title : Ar´ enaire Scientific leader : Gilles Villard Research center : Rhˆ one-Alpes 1 Personnel Personnel (March 2002) Misc. INRIA CNRS University Total DR (1) / Professors 1 1 CR (2) / Assistant Professors 2 (+1 d´ el´ egation) 2 1 6 Permanent Engineers (3) 0 Temporary Engineers (4) 0 PhD Students 4 4 Post-Doc. 1 1 Total 1 3 3 5 12 External Collaborators 0 Visitors (> 1 month) 1 1 (1) “Senior Research Scientist (Directeur de Recherche)” (2) “Junior Research Scientist (Charg´ e de Recherche)” (3) “Civil servant (CNRS, INRIA, ...)” (4) “Associated with a contract (Ing´ enieur Expert or Ing´ enieur Associ´ e)” Personnel (November 2006) Misc. INRIA CNRS University Total DR / Professors 2 2 CR / Assistant Professor 3 1 2 6 Permanent Engineer 0.4 0.4 Temporary Engineer 1 1 PhD Students 1 1 6 8 Post-Doc. 1 1 Total 1 5 4 8.4 18.4 External Collaborators 0 Visitors (> 1 month) 0 1

Upload: vudang

Post on 15-Jul-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

INRIA, Evaluation of Theme Sym B

Project-team Arenaire

November 2006

Project-team title : Arenaire

Scientific leader : Gilles Villard

Research center : Rhone-Alpes

1 Personnel

Personnel (March 2002)

Misc. INRIA CNRS University TotalDR (1) / Professors 1 1

CR (2) / Assistant Professors 2 (+1 delegation) 2 1 6Permanent Engineers (3) 0Temporary Engineers (4) 0

PhD Students 4 4Post-Doc. 1 1

Total 1 3 3 5 12External Collaborators 0Visitors (> 1 month) 1 1

(1) “Senior Research Scientist (Directeur de Recherche)”(2) “Junior Research Scientist (Charge de Recherche)”(3) “Civil servant (CNRS, INRIA, ...)”(4) “Associated with a contract (Ingenieur Expert or Ingenieur Associe)”

Personnel (November 2006)

Misc. INRIA CNRS University TotalDR / Professors 2 2

CR / Assistant Professor 3 1 2 6Permanent Engineer 0.4 0.4Temporary Engineer 1 1

PhD Students 1 1 6 8Post-Doc. 1 1

Total 1 5 4 8.4 18.4External Collaborators 0Visitors (> 1 month) 0

1

Page 2: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

Changes in staff

DR / Professors Misc. INRIA CNRS University totalCR / Assistant Professors

Arrival 2 1 1.4 4.4Leaving 1 1 2

Comments :

• Vincent Lefevre, INRIA CR1, recently moved from the Spaces team to Arenaire(2006).

• Damien Stehle has just been hired as CNRS CR2 (2006).

• Two persons who spent 2 or 3 years on INRIA partial secondment joined the team,Nathalie Revol as CR1 (2002), Nicolas Brisebarre as assistant professor (2005) (hetook back his position at the University of Saint-Etienne as assistant professor, andstays in the team for the research part of his position).

• Serge Torres, engineer in the LIP laboratory, has joined the team (2005, part-time)to take part in the development of software.

• Two CR1 have left the team to move to another place. Marc Daumas (CR1 CNRS)moved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he isnow CR1 CNRS at LIRMM, Montpellier (2005).

• Gilles Villard has been promoted from CR1 CNRS to DR2 CNRS (2006).

Current composition of the project-team (01/10/2006):

INRIA Edouard Bechetoille, Temporary EngineerClaude-Pierre Jeannerod, CRVincent Lefevre, CRNathalie Revol, CR

CNRS Jean-Michel Muller, DRDamien Stehle, CRAhmed Touhami, Post-Doc.Gilles Villard, DR and head of the project-team

ENS Lyon Florent Dupont de Dinechin, Assistant ProfessorSerge Torres, Permanent Engineer (40%)

U. of St-Etienne Nicolas Brisebarre, Assistant ProfessorPhD Students Francisco Chaves, European grant

Sylvain Chevillard, ENSL grantJeremie Detrey, ENSL grantChristoph Lauter, MENRT grantGuillaume Melquiond, ENSL grantRomain Michard, INRIA grantGuillaume Revy, MENRT grantNicolas Veyrat Charvillon, MENRT grant

2

Page 3: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

Current position of former project-team members (including PhD stu-dents during the 2002-2006 period):

• Jean-Luc Beuchat (postdoctoral fellow within Arenaire, Nov. 2001 - Nov. 2005) is apostdoctoral fellow of the University of Tsukuba (Japan) since Apr. 2006.

• Sylvie Boldo (PhD student 2001-2004, thesis defended in Nov. 2004) is CR INRIAwithin the Demons team (Proval project, INRIA Futurs) since Sep. 2005.

• Nicolas Boullis (PhD student 2001-2004) is engineer at Ecole Centrale de Paris sinceJan. 2005.

• Catherine Daramy-Loirat (former INRIA temporary engineer, 2002-2004) is engineerat Amec Spie, Feyzin, since Mar. 2006.

• Marc Daumas is CR CNRS at LP2A, University of Perpignan, since Sep. 2005.

• David Defour (PhD student 2000-2003, thesis defended in Sep. 2003) is assistantprofessor at the University of Perpignan since Sep. 2004.

• Pascal Giorgi (PhD student 2001-2004, thesis defended in Dec. 2004) is ATER (tem-porary assistant professor) at the University of Perpignan since Sep. 2005.

• Saurabh Kumar Raina (PhD student 2003-2006, thesis defended in Sep. 2006) issearching for a job in a compagny in India.

• Arnaud Tisserand (CR INRIA 1999-2005) is CR CNRS at LIRMM, Montpellier sinceOct. 2005.

• Ilia Toli (postdoctoral fellow, Apr. 2005 - Apr. 2006) is a postdoctoral fellow at theUniversity of Cork (Ireland).

Last INRIA enlistments

• Claude-Pierre Jeannerod, CR1 INRIA, has been hired in February 2002.

• Vincent Lefevre, CR1 INRIA, moved from the Spaces team (Nancy) to Lyon inSeptember 2006.

• Nathalie Revol, CR1 INRIA, has been hired in September 2002 after 2 years ofpartial secondment in Arenaire.

Other comments :

The head of the Arenaire project-team has changed: the former head was Jean-MichelMuller until December 2003, who was also Chair of the LIP Laboratory until July 2006.The current head of the project is Gilles Villard since January 2004, he is also Vice-Chairof the LIP Laboratory since August 2006.

2 Work progress

Keywords: Computer arithmetic, arithmetic operator, elementary function, mathemati-cal expression evaluation, integer computation, approximated computation, floating-pointrepresentation, reliability of numerical software, multiple-precision arithmetic, intervalarithmetic, computer algebra, finite field, linear algebra, VLSI circuit, FPGA circuit, low-power operator.

3

Page 4: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

2.1 Context and overall goal of the project

The Arenaire project aims at elaborating and consolidating knowledge in the field of Com-puter Arithmetic. Reliability, accuracy, and performance are the major goals that driveour studies. Our goals address various domains such as finite fields, floating-point num-bers, intervals, or rational numbers. We study basic arithmetic operators such as adders,dividers, etc. We work on new operators for the evaluation of elementary and specialfunctions (log, cos, erf, etc.), and also consider the composition of previous operators.In addition to these studies on the arithmetic operators themselves, our research focuseson specific application domains (cryptography, signal processing, linear algebra, etc.) fora better understanding of the impact of the arithmetic choices on solving methods inscientific computing.

We contribute to the improvement of the available arithmetic, at the hardware level aswell as at the software level, on computers, processors, dedicated or embedded chips, etc.Improving computing does not necessarily mean getting more accurate results or gettingthem faster: we also take into account other constraints such as power consumption,code size, or the reliability of numerical software. All branches of the project focus onalgorithmic research and on the development and the diffusion of corresponding libraries,either in hardware or in software. The features of our libraries are the quality of theimplemented algorithms, and code optimization for performance.

The study of the number systems and, more generally, of data representations is afirst topic of uttermost importance in the project. Typical examples are: the redundantnumber systems used inside multipliers and dividers; alternatives to floating-point repre-sentation for special purpose systems; finite field representations with a strong impact oncryptographic hardware circuits; the performance of an interval arithmetic that heavilydepends on the underlying real arithmetic.

Another general objective of the project is to improve the validation of computed data,we mean to provide more guarantees on the quality of the results. During the period cov-ered by this report, these validation aspects have been handled especially: through betterqualitative properties and specifications (correct rounding, error bound representation,and portability in floating-point arithmetic); by proposing a development methodologybased on proof assistants; by studying and allowing the cooperation of various kinds ofarithmetics such as constant precision, intervals, arbitrary precision and exact numbers.

These goals may be organized in four directions: hardware arithmetic, software arith-metic for algebraic and elementary functions, formal proof and validation, and arithmeticsand algorithms for scientific computing. These directions are not independent and havestrong interactions. For example, elementary functions are also studied for hardware tar-gets, and scientific computing aspects concern most of the components of Arenaire.

Hardware arithmetic. The conception of hardwired operators is not only assembling smallparts. Our objectives also take into account various technological constraints anddata, especially to master the placement and routing tools. The power consumptionof a circuit depends, among other parameters, on its activity, which in turn dependson the value of the inputs: this makes the choice of the number system crucial.Some encodings are used specially in fast algorithms, some others minimize energyconsumption.

Algebraic and elementary functions. Computer designers still have to implement thebasic arithmetic functions for a medium-size precision. Addition and multiplicationhave been much studied but their performance may remain critical (silicon area orspeed). Division and square root are less critical, however there is still room for

4

Page 5: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

improvement (e.g. the dedicated case where one of the inputs is constant). Researchon new algorithms and architectures for elementary functions is also very active.Arenaire has a strong reputation in these domains and will keep contributing totheir expansion. Thanks to past and recent efforts, the semantics of floating-pointoperations is now well defined. The adoption of the IEEE-754 standard for floating-point arithmetic has represented a key point for improving numerical reliability.Standardization is also related to properties of floating-point arithmetic (invariantsthat operators or sequences of operators may satisfy). Our goal is to establish andhandle new properties in our developments (correct rounding, error bounds, etc.) andthen to have those results integrated into the future computer arithmetic standards.

Formal proof and validation. For certifying the properties that we identify, and the com-pliance of the numerical programs we develop with their specifications, we rely onformal proving. Proofs are checked using the Coq and PVS proof assistants. Inparticular, this is made possible by a careful specification of the arithmetic opera-tors that are involved. Further, an increasingly growing demand exists for certifiednumerical results, that is, for computing with known or controlled errors. We an-swer with the conception of modern and efficient error-measurement tools (roundofferrors, polynomial and power series approximation errors, etc.).

Arithmetics and algorithms. When conventional floating-point arithmetic does not suf-fice, we use other kinds of arithmetics. Especially in the matter of error bounds, wework on interval arithmetic libraries, including arbitrary precision intervals. Herea main domain of application is global optimization. Original algorithms dedicatedto this type of arithmetic must be designed in order to get accurate solutions, orsometimes simply to avoid divergence (i.e. infinite intervals). We also investigateexact arithmetics for computing in algebraic domains such as finite fields, unlimitedprecision integers, and polynomials. A main objective is a better understanding ofthe influence of the output specification (approximate within a fixed interval, cor-rectly rounded, exact, etc.) on the complexity estimates for the problems (e.g. linearalgebra in mathematical computing).

Our work in Arenaire since its creation in 1998, and especially since 2002, provides usa strong expertise in computer arithmetic. This knowledge, together with the technologyprogress both in software and hardware, will draw the evolution of our objectives (seeSection 5) towards the synthesis of validated algorithms.

2.2 Objectives for the evaluation period

The four main directions of the objectives we gave in 2002 have been introduced in theprevious section. We now review them in more detail.

2.3 Objective 1: Hardware arithmetic

Here is a quotation from the last evaluation document, detailing this objective:“The workwill be continued on number systems, and on hardware algorithms and operator imple-mentations in the following directions: floating-point computations, cryptography, asyn-chronous circuits, low consumption, reconfigurable architectures. A longer term goal isalso to define a set of tools for circuit design. These tools should take into account thearithmetic specificities of the operators as well as of the complete applications.”

5

Page 6: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

2.3.1 Personnel

Research staff: Jean-Luc Beuchat, Florent de Dinechin, Jean-Michel Muller, ArnaudTisserand, Gilles Villard.PhD students: Jeremie Detrey (since 2003), Romain Michard and Nicolas Veyrat Charvil-lon (since 2004).

2.3.2 Project-team positioning

Hardware operators are ultimately the building blocks of all computations, and thereforeresearch on such operators has always been of paramount practical interest.

The microprocessor industry has been very active on integer and floating-point oper-ators, with an emphasis on performance. Well-known failures such as the Pentium bughave pushed the domain toward proof and testing. There has also been some major al-gorithmic shifts, such as the move to fused multiply and add (FMA) to replace additionand multiplication in recent instruction sets (Power/PowerPC and IA64), and the relatedshift from digit recurrence algorithms for division and square root to quadratic iterations.

Less visibly, the development of embedded systems has pushed research on arithmeticoperators toward low-power and asynchronous circuits.

Finally, field-programmable gate arrays (FPGAs), once mostly used for implementingglue logic, now have the capacity to perform hardware acceleration of computational al-gorithms. Consequently, the FPGA vendors have optimized FPGA architecture for somearithmetic operations, and research on hardware operators for FPGAs is blooming.

Arenaire works on hardware-oriented algorithms, but also implements them. Actually,our usual method is to write programs that explore the implementation space and generateapplication-specific operators according to a target and given constraints. In this respect,we have significantly progressed toward the long term goal mentioned above. FPGAs areused to validate these operators, but we also have a distinctive expertise in FPGA-specificarithmetic. Our specificity, with respect to other teams working on similar subjects, isthat we are part of a larger research team that not only builds operators, but also usesthem, sharing an expertise in error management and a focus on numerical quality.

There is no other INRIA team working on these subjects, and few work on hardwareat all. Among them, our closest collaboration is with the CompSys INRIA project-team.We have designed hardware operators for them, but we also use their polyhedral libraryfor some optimisation problems. We also share CAD tools with this team.

2.3.3 Scientific achievements

The focus in Arenaire has shifted, over the period, from operators for the basic operations(+, −, ×, ÷ and their finite-field counterparts), to operators for more complex functions.

This is particularly well illustrated by the work on floating-point operators for FPGAs,which has begun with the basic operators [130, 125, 109, 26, 62] and now targets elementaryfunctions, up to double precision [74, 75, 22, 60]. From the performance point of view,this is very different: an addition or multiplication on FPGA is necessarily slower than thehighly optimized hardware operator in a processor. Elementary functions, on the otherhand, are implemented in software or microcode in the processor, therefore the use of well-crafted hardware algorithms implemented in an FPGA allows 10× speedups compared tothe processor. A natural research direction is a generalization of it to compound, nonelementary functions [58].

Indeed, general techniques for the fixed-point evaluation of arbitrary functions is an-other subject where knowledge has been significantly improved over the period. A generic

6

Page 7: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

method, the single-order multipartite method [139, 30], has been generalized to polyno-mials of arbitrary order [102, 80]. An important consequence is that a tradeoff now existsbetween area and delay for such operators, which was previously not the case (the smallestmultipartite implementation was also always the fastest). In parallel, the team has builta better understanding of the relation between the coefficients of a polynomial and thearea, delay and accuracy of its hardware implementation. This has allowed for exampleto exploit the small margin that always exists in a polynomial approximation to buildsmaller or faster operators for a given function [38, 97, 85, 61, 14].

In parallel, the divider generator Divgen [76] is evolving into a generator of arbitraryalgebraic functions [94, 63]. The goal is to be able to automatically generate operatorsthat compute arbitrary functions (division, square root or Euclidean norm for example).These SRT-based operators are complex to devise, prone to error. An automated generatorwould be a useful tool for circuit designers. In another direction, division and square rootoperators have been extended to complex operands [116, 100, 81].

Algebraic functions may also be evaluated thanks to the E-Method which is well suitedfor low-power [35, 92]. Low-power is also the subject of R. Michard’s ongoing PhD thesis.A precise knowledge of the arithmetic aspects is necessary to tackle the challenge of powerconsumption in hardware operators.

In cryptography, the work has been driven by applications in encryption (IDEA, RC6,DES, SHA) [118, 117, 53, 67, 23] and digital signature. This has motivated research onfinite field operators, in particular modular arithmetic [119, 120, 108, 37], with very fine-grained optimization on FPGAs, whose built-in arithmetic hardware was not designed forthese operations.

2.3.4 Collaborations

J. Pineiro and J. Bruguera (University of Santiago de Compostela, Spain): we workedwith them on a (hardware) quadratic interpolator for approximating functions, andpublished the results (2 conferences and 1 journal paper).

M. Ercegovac (University of California in Los Angeles) (3 conferences).T. Risset (CompSys INRIA project-team), J.M. Spivey and M. Manjunathaiah (Oxford

University Computing Laboratory): we studied with them the arithmetic aspects inseveral hardware description paradigms (1 conference, 1 book chapter).

2.3.5 External support

This work has been supported by ACI “Arithmetic for FPGAs” (2001-2003), ACI “Arith-metic operators for cryptography” (2000-2003), ACI “Cryptographic operators and hard-ware arithmetic” (2003-2006), and by two PAI Alliance, one with the Cardiff School ofEngineering and one with the Oxford University Computing Laboratory.

2.3.6 Self assessment

Over the period, we have had significant algorithmic contribution in finite-field operators,operators for complex arithmetic, and elementary function approximations, as illustratedby two consecutive best paper awards at the ASAP 2004 and 2005 conference. We alsoestablished leading hardware libraries which are used in many projects around the world.FPLibrary is used for instance by Hong-Kong University, Los Alamos National Labora-tory, Gaisler Research in Sweden, FGAN Research Institute for Optronics and PatternRecognition in Germany, among others.

7

Page 8: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

The strength of Arenaire is a unique expertise in writing generators that finely handle,in addition to the area/delay tradeoff, the various errors involved in complex operators.

On the negative side, there has been less work on asynchronous circuits than projected.There could be more collaboration with CompSys, and even within Arenaire: the variousoperator generators developed across the team could share a larger common code base.

2.4 Objective 2: Arithmetic and elementary functions

Here is a quotation from the last evaluation document, detailing this objective: “This ob-jective is to develop algorithms and to integrate them into a library in double precision thatcomputes elementary functions with correct rounding. This library will demonstrate thefeasibility of correctly rounding elementary functions, for a future revision of the IEEE-754standard on double precision floating-point arithmetic (we have taken part in a specifica-tion proposal during the Arith 15 conference). This work will go on with the developmentof operators that compute these functions.”

2.4.1 Personnel

Research staff: Edouard Bechetoille, Nicolas Brisebarre, Florent de Dinechin, Jean-Michel Muller, Nathalie Revol, Serge TorresPhD students: Sylvain Chevillard (since 2006), David Defour (until 2003), JeremieDetrey, Christoph Lauter (since 2005), Saurabh Raina.

2.4.2 Project-team positioning

We have a leading position on the correct rounding of elementary functions in double-precision floating-point arithmetic. On that domain, our CRlibm library has three majorcompetitors: IBM’s libultim library is portable and fast on average (not for the worstcases) but lacks the directed rounding modes for example needed for interval arithmetic;Sun’s libmcr library is portable, yet not proven nor fast; the mpfr library, developed by theSpaces INRIA project-team, is mainly intended for multiple-precision arithmetic, whichmakes it much slower than the usual mathematical libraries when used in single or doubleprecision.

2.4.3 Scientific achievements

In collaboration with Peter Kornerup (Odense University), we have developed a new rangereduction algorithm, adapted to floating-point arithmetic. We also worked on the choiceof the starting-point value for some Newton-Rahpson iterations, and on the theory ofredundant number system.

The project continued its work on finding the hardest-to-round cases for the usualmathematical functions. Getting these cases is essential for building efficient libraries thatprovide correctly-rounded functions (e.g., functions for which the library always providesa result that is the floating-point value that is nearest the exact – real – value). We gotupper bounds on the worst cases for some algebraic functions. Using the hardest-to-roundcases, we have developed a library, CRlibm, that provides correctly rounded functions forthe 4 rounding modes of the IEEE-754 standard. The CRlibm project aims at developinga portable, proven, correctly rounded and efficient library. It started with the PhD thesisof D. Defour, with the support of INRIA (Catherine Daramy was an ODL engineer),and continues with the PhD work of C. Lauter. The functions implemented so far areex, ex − 1, ln(x), ln(1 + x), log2(x), log10(x), sin(x), cos(x), tan(x), arcsin(x), arccos(x),

8

Page 9: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

arctan(x), sinh(x) and cosh(x). The Gappa tool (see Subsection 2.5) has been essential forderiving trustable proofs of error bounds for these functions. The existence of the CRlibmlibrary (and the fact that each function comes with a proof) led the committee for therevision of the IEEE-754 standard to suggest correctly rounded functions in an appendixto the revised standard. For function evaluation we develop methods for generating bestpolynomial approximations to functions. This is done under various constraints such assize-constraints on the coefficients (e.g., the degree-i coefficient has at most mi fractionalbits). The most efficient of these methods reduces to scanning the integer points in apolytope [14]. A corresponding library Meplib is under development.

The project also worked on elementary floating-point algorithms: we developed algo-rithms for division and multiplication by constants on processors assuming that an FMA(fused multiply-add) instruction is available. We also have proven that the error of anFMA is exactly representable by the sum of two floating-point numbers, and we havedesigned an algorithm that computes that error. In collaboration with STMicroelectron-ics, we developed a library, FLIP, that implements floating-point arithmetic for integerprocessors. On the target processors (namely, the ST 200 family), FLIP is up to fourtimes faster than the best competitor for division and square root, and more than tentimes faster for some elementary functions. This is continued by designing FP librariesfor target processors from other companies than ST.

2.4.4 Collaborations

J. Pineiro and J. Bruguera (U. Santiago de Compostela, Spain): hardware quadratic in-terpolator for approximating functions (2 conferences and 1 journal paper), J. Pineirostayed 6 months in Lyon.

S. Oberman (NVIDIA, USA): improved version of the quadratic interpolator (1 journalpaper).

P. Kornerup (Odense University): range reduction, Newton’s iteration, redundant num-ber systems (3 journal papers, several stayings).

G. Hanrot, V. Lefevre and P. Zimmermann (Spaces INRIA project-team): proposal forstandardization of functions in floating-point arithmetic, search for hardest-to-roundcases (1 journal paper).

A. Ershov and S. Maidanov (Intel Nizhniy Novgorod Lab, Russia, where F. de Dinechinwas invited for 3 month): optimized correctly rounded functions (1 conference pa-per) and elementary functions for interval arithmetic (1 conference paper). EvgenyGvozdev, from the same team, has also participated in CRLibm validation.

C. Bertin, C. Monat and H. Knoechel, Compilation Expertise Center, STMicroelectronics(Grenoble).

2.4.5 External support

INRIA “ODL” initiative (an engineer, C. Daramy, was hired for the project from 2002 to2004). Region Rhone-Alpes PhD support (2003-2006), contract with STMicroelectronics(2006-2007). INRIA “Ingenieur associe” grant. CNRS action specifique “Arithmetiquedes Ordinateurs”. ACI nouvelles interfaces des mathematiques “GAAP”.

2.4.6 Self assessment

The objectives set four years ago are met: CRLIBM has established itself as the leadingcorrectly-rounded elementary function library in double precision. We need to find a way

9

Page 10: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

of perpetuating this project. We currently are too slow for generating hardest-to-roundcases for new functions and/or domains: we need to find partners for that.

2.5 Objective 3 : Arithmetic and formal proofs

Here is a quotation from the last evaluation document, detailing this objective: “The goalis to pursue the certification of algorithms based on floating-point arithmetic. This will beused on the one hand to design operators. On the other hand, it will use as a starting pointthe specification of floating-point arithmetic to prove the correct behaviour of elementarycomputations such as polynomial evaluations, matrix computations, filters and so on.”

2.5.1 Personnel

Research staff: Marc Daumas.PhD students: Sylvie Boldo (until 2004), Francisco Chavez (since 2004), GuillaumeMelquiond (since 2003).

2.5.2 Project-team positioning

Subtleties of algorithms relying on floating-point arithmetic are pushing several researchgroups toward formal certification of theorems. Our library of formal proofs is one ofthe most comprehensive, especially as it contains theorems that apply to more than justIEEE-754 traditional formats. For the Coq proof assistant we are leader.

Automatic validation of arithmetic programs is also a growing research domain. Com-pared to other research groups, the numerical results we produce are of higher quality:our tool does not just say whether a program is correct or not, it also generates a formalcertificate of its correctness that can be checked by a proof assistant. This work is comple-mentary to the approach of the Proval INRIA project-team on less specific applications.

On the topic of using Taylor models for mechanical reasoning, the Logical INRIAproject-team is exploring the direction with the Coq proof assistant while we are workingwith the PVS proof assistant.

2.5.3 Scientific achievements

The project kept improving the library of theorems and proofs about floating-point arith-metic that originated in the ARC AOC. This library is a comprehensive repository forthe Coq proof assistant and most of its formalization is generic. For example, the radix isnot restricted to binary and the mantissas can use two’s complement arithmetic. Whilethe first theorems were well-known facts mostly, the PhD thesis of S. Boldo was successfulin producing original results and their formal proofs. They range from faithful evalu-ation by Horner scheme to efficient argument reduction and floating-point expansions[141, 140, 121, 122, 126, 95, 40, 34, 88, 11, 78, 147, 68].

In order to deal with the increasing complexity of floating-point algorithms, the projectworked on automatizing the process of formally certifying them. The PhD thesis ofG. Melquiond has led to the development of the Gappa software and its Coq supportlibrary. The primary users of this tool are CRlibm developers. It was invaluable in reach-ing a high level of confidence in CRlibm functions and improving their performance. Thishas also shown that Gappa is able to handle full-size floating-point applications. The toolwas also used successfully for certifying fixed-point algorithms and floating-point filtersfor computational geometry [98, 84, 72, 25].

10

Page 11: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

We are also working on automating proofs of theorems on real numbers. This goalis achieved by formalizing theories of interval arithmetic in some proof assistant. Mostnotable is the PhD thesis of F. Chavez with the PVS proof assistant. This work formalizesTaylor models and embeds a strategy in PVS for proving inequalities by relying on theseinterval Taylor models [70].

2.5.4 Collaborations

C. Munoz (National Institute of Aerospace): we worked on tools for mechanical reasoningusing interval arithmetic in PVS (1 conference).

S. Pion (Geometrica project): we certified some CGAL floating-point filters (1 conferenceand 1 journal paper);

W. Kahan (Berkeley University of California, USA): we certified an algorithm for com-puting an accurate discriminant (1 conference).

2.5.5 External support

This work has been supported by CNRS PICS “Certifications of properties and uses offloating-point arithmetic.”

2.5.6 Self assessment

The Coq floating-point library and the Gappa tool have been developed over the period.They are now complete, usable and used, and leading in their fields. Although theirdomains of application, respectively arbitrary operator-level proofs and application-levelbounding of rounding errors, have little in common, bridges could be built between them.Moreover, generic frameworks for certification would benefit from an interface with theGappa tool to handle numeric applications. The third project (around Taylor models) hasa different domain of application, namely approximation errors; this work is young andhas yet to come to maturity.

2.6 Objective 4: Algorithms and arithmetics for scientific computing

Here is a quotation from the last evaluation document, detailing this objective: “This topicconcerns the impact of the arithmetic on the solving method. Target arithmetics are exactarithmetic, especially on finite fields and on integers, and interval arithmetic. The goal isto identify the possibilities of each arithmetic, the constraints and the limits inherent toeach arithmetic; the chosen approach is the design of algorithms and their implementationin libraries.”

The deep connections between algorithms and arithmetics are takled according to thefollowing directions: combined expertise in various arithmetics, namely exact, interval andfloating-point arithmetics; algorithms for linear algebra (algebraic complexity versus bitcomplexity); validation and performance issues (techniques for efficient implementations,adaptive algorithms, etc.).

2.6.1 Personnel

Research staff: Claude-Pierre Jeannerod, Nathalie Revol, Gilles VillardPhD students: Pascal Giorgi (until 2004), Guillaume Revy (since 2006).

11

Page 12: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

2.6.2 Project-team positioning

We establish our position by applying our combined expertise in various arithmetics topolynomial and matrix operations. In algorithmic complexity we study the impact of thearithmetic (of the output specification) on the complexity estimates. Our knowledge inalgebraic computing complements more numerical complexity approaches such as the oneof J. Demmel (U.C. Berkeley). Our specific expertise in linear algebra complements theworks of the INRIA project-teams Algo, Galaad, and Salsa. At the international level wefind our place within the growing symbolic-numeric community. In exact linear algebra, incollaboration with few other groups in the world (LinBox project), we have an internationalleading position, a competitor being the Magma group (U. Sydney). We investigate theuse of various arithmetics in complementary ways for better problem solutions also from apractical point of view. We develop validated methods that benefit from the specificationand efficiency of floating-point computations. We complement the INRIA project-teamCoprin—whose library Alias offers high level solvers—by working at the arithmetic qualityand performance level. Our main directions are to combine interval arithmetic and largeprecision, and develop dedicated algorithms using this approach; other groups workingon this subject include Karlsruhe, Wuppertal, the group of S. Rump (Hamburg), andM. Berz and K. Makino (Lansing, Michigan, USA). Most of the corresponding softwaredevelopments employ multiple precision rather than arbitrary precision. We develop a li-brary implementing arbitrary precision interval arithmetic, MPFI, with F. Rouillier (Salsaproject-team).

2.6.3 Scientific achievements

Arbitrary-precision interval arithmetic and Taylor models. The library MPFIimplements arbitrary precision interval arithmetic, and is used to test our new algorithms.We also work on Taylor models (cf. Section 2.5 for another kind of result): we proved thatthe arithmetic operations implemented in COSY correctly account for roundoff errors [32].Recently, we took part in a proposal for the standardization of intervals in C++ [149],this has raised discussion within the interval community for specifying interval arithmeticproperly (cf. http://compgeom.poly.edu/mailman/listinfo/std-interval).

Algorithmic complexity of exact linear algebra. With the objective of investi-gating algorithmic complexity from algebraic to bit complexity models (fixed precision,validated, and exact), we have focused on the cost of computing exactly with matriceswhose entries are univariate polynomials or integers. The difficulty and the problem areto understand the impact of the data size (polynomial degrees or bit lengths) on the com-plexity estimates [13, 115]. Our results extend to some concrete domains what had beenshown for matrices over abstract fields a few decades ago: matrix multiplication is notessentially easier than other basic linear algebra operations.

Polynomial matrices. For polynomial matrices, we have given the first algorithms forsolving the following problems in about the same number of operations as required formultiplying two polynomial matrices, plus the output size: column basis reduction,generic matrix inversion, certified rank and small degree nullspace basis [135, 112,31, 87]. Our generic polynomial matrix inversion algorithm is essentially optimal (upto logarithmic factors in the output size), which is rather unique in linear algebra.These studies may be useful for the treatment of multivariable linear systems incontrol [24], and for various canonical forms [17].

12

Page 13: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

Bit complexity, integer matrices. We have obtained the best known complexity estimatesfor computing the characteristic polynomial [43, 44]. An algorithm for exact sparselinear system solving has been found, whose cost in the worst-case may be less thanthe one of matrix multiplication (sparse enough matrices) [66].

Algebraic complexity without divisions. Over an abstract ring, we mean when divisions arenot allowed, we have obtained the best-known complexity estimates for computingthe determinant, the adjoint matrix and the characteristic polynomial [44].

Black box matrices. Studies for fast black box matrix operations (matrix-free model)have continued [54, 142, 47, 66].

The Linbox library for exact linear algebra. The role played by linear algebrarelies both on theoretical progress and on the availability of high performance softwarelibraries. The performance relies in general on an interplay between matrix algorithmchoices and the arithmetic choices. LinBox (an ongoing international project created withE. Kaltofen (NCSU) and B.D. Saunders (U. Delaware)) offers a generic library for sparseand structured matrices that allows to plug-in external components in a plug-and-playfashion, see http://www.linalg.org and [133].

Base domains for the matrix coefficients are finite fields, the rational numbers, andunivariate polynomials. The stable releases of the library offer connections to externalsoftwares like Maple, and provide online servers. The algorithmic solutions provided tothe user have undergone major revisions and extensions with the purpose of making thelinear algebra functions easily invoked (direct and iterative methods, matrix factorizations,Krylov techniques, Diophantine solutions, canonical forms, etc.). For example, highlyoptimized C++ routines allow to solve linear systems and to compute various matrixfactorizations over finite fields with timings beating BLAS (http://www.netlib.org/blas) performance [103].

2.6.4 Collaborations

Concerning the linear algebra aspects we especially collaborate with the Universities ofWaterloo and Calgary (Canada), the North Carolina State University (USA), the Uni-versity of Delaware (USA). On interval arithmetic aspects we work with the Center forBeam Theory and Dynamical Systems, U. Michigan (K. Makino and M. Berz), and withthe project-team SALSA (INRIA Rocquencourt) for the development of the MPFI library.Our work on the adaptation of the computing precision is part of the AHA (Adaptive andHybrid Algorithms) collaboration between IMAG (Grenoble) and INRIA Rhone-Alpes.We are part of the Gecko ANR project (headed by B. Salvy from INRIA project-teamAlgo).

2.6.5 External support

Through different international actions LinBox has been funded by the CNRS, ENSL,NSERCC (Canada), NSF (USA). We are part of the AHA IMAG-INRIA and Gecko ANRproject. We obtained the AS CNRS “Numerical validation for embedded computations”,and had grants from the Japan Society for the Promotion of Science.

2.6.6 Self assessment

Strong points are the diffusion of the software libraries MPFI (larger than we expected atfirst (over 10 countries)) and LinBox. With such development we are often faced with the

13

Page 14: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

problem of sustained efforts for long-term collaborative maintenance and evolution.In arbitrary-precision interval arithmetic much positive aspects concern the combina-

tion of expertise in floating-point and interval arithmetic, and the (unplanned) extensionto Taylor models arithmetic. However, MPFI does not yet offer a C++ interface norautomatic differentiation. Our effort towards global optimization, which remains a targetapplication, has also been slower than expected.

Our linear algebra algorithm/complexity contribution is a success. The polynomialcase is now almost completely understood. The integer case reveals to be much moredifficult and thus, for the next period, we hope to increase the list of problems reduceableto integer matrix multiplication.

3 Knowledge dissemination

3.1 Publications

2002 2003 2004 2005 2006 TotalPhD Thesis 1 2 1 4H.D.R (*) 1 1Journal 2 4 14 8 12 40Conference proceedings (**) 18 22 12 21 17 90Book chapter 2 1 2 5Book (written) 1 1Book (edited) 2 2 1 2 7PatentTechnical report (***) 6 4 6 1 3 20Deliverable

(*) HDR Habilitation a diriger des Recherches(**) Conference with a program committee

(***) Content distinct from other publications

Indicate the major journals in the field and, for each, indicate the number of paperscoauthored by members of the project-team that have been accepted during the evaluationperiod.

1. IEEE Transactions on Computers: 6

2. Linear Algebra and its Applications: 2

3. VLSI Signal Processing: 1

4. Transactions on Mathematical Software: 1

5. Journal of Complexity: 1

Indicate the major conferences in the field and, for each, indicate the number of paperscoauthored by members of the project-team that have been accepted during the evaluationperiod.

1. ARITH, IEEE Symposium on Computer Arithmetic (every two years): 7

2. ISSAC, International Symposium on Symbolic and Algebraic Computation: 6

14

Page 15: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

3.2 Software

Crlibm: A Library of Elementary Functions with Correct Rounding. Mathematical li-brary (libm) implementing the double precision C99 standard elementary functions.It’s outstanding features are the formally proven correct rounding in all four IEEE-754 modes and good performance (compared with stock libms or other similarinitiatives) that make it a snap-in alternative to existing libms. The library hasbeen loaded more than 1000 times. It is used at the LHC@home project at CERN(http://lhcathome.cern.ch/) and is considered for inclusion as the standard libmin several open-source compiler projects.

Divgen: a Divider Circuit Generator. Flexible, highly parametrizable divider generator.It generates synthesizable VHDL descriptions of division units for both ASIC andFPGA targets. Joint effort between INRIA and CEA-Leti.

FPLibrary: A Library of Operators for “Real” Arithmetic on FPGAs. Collection ofparametrizable arithmetic operators (syntesizable VHDL) for real numbers (floating-point and logarithmic system), including basic operators but also some elementaryfunctions. Used especially by NASA, Los Alamos National Observatory and Hong-Kong University.

HOTBM: a VHDL Generator for the Higher-Order Table-Based Method. VHDL genera-tor for fixed point arithmetic using the Higher-Order Table-Based Method. Providescomputation speed, low circuit footprint, and guaranteed faithful rounding.

A VHDL Library for Integer and Modular Arithmetic. Collection of arithmetic operators(syntesizable VHDL) for cryptographic applications.

LinBox: High Performance Software for Matrix Computation. Dense, sparse, and struc-tured matrix operations over the integers and over finite fields using the most ad-vanced algorithms, online servers, interfaced with external softwares. LinBox is a8 years joint effort between ten American, Canadian, and French institutions. Thelibrary is used for example by several mathematician groups for investigating con-jectures.

MPFI: Multiple Precision Floating-point Interval Arithmetic. Library for interval arith-metic using arbitrary precision (arithmetic and algebraic operations, elementaryfunctions). Used by scientists both from France and abroad (Belgium, Germany,UK, USA, India, Colombia...).

MPCheck: Testying the Quality of Elementary Functions. Quality testing (correct round-ing, output range, monotonicity, symmetry) for floating-point elementary functionsimplementations. Joint effort with P. Zimmermann and P. Pelissier (Spaces project-team).

Boost Interval Arithmetic Library. Part of the Boost peer-reviewed C++ libraries project(www.boost.org). Efficient handling of mathematical intervals and genericity. Thiswork has led to a proposal to C++ Standards committee for the integration of in-tervals in the standard library. Being a part of Boost (of which more than 90,000downloads of the last release have been recorded) and a possible integration in theC++ standard may greatly broaden the audience of interval arithmetic.

MEPLib: Machine-efficient Polynomial Library. Automatic generation of polynomial ap-proximations of functions under various user-imposed constraints on the coefficients.It is targeted to engineers or scientists for software or hardware implementations ofpolynomial approximation.

PFF: Formal Proofs about Floats. Theorems and proofs about floating-point arithmeticwith broadest generality (most of theorems do not depend on the radix nor the

15

Page 16: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

rounding mode). Several research teams add new proofs and theorems to PFF. Astable version is available as Coq contribution.

Gappa: A Tool for Certifying Numerical Programs. Verification of logical properties in-volving interval enclosures of mathematical expressions, and generation of machine-checkable corresponding formal proofs. Though being in an early stage of devel-opment, Gappa has already been successfully used, for instance, to manage hairyproofs related to the Crlibm project.

FLIP: Floating-point Library for Integer Processors. Software support of single precisionfloating-point arithmetic on processors without FP hardware units such as VLIW orDSP processors for embedded applications. The VLIW ST200 family of STMicro-electronics is the current target architecture. This development fits into a collabora-tion with STMicroelectronics, the library is now embedded into the standard toolsSTMicroelectronics delivers to its customers.

3.2.1 Valorization and technology transfert

Software for STMicroelectronics embedded processors. In the context of a contract withSTMicroelectronics and a PhD thesis funded by Region Rhone-Alpes (2004-2006),we have developed the FLIP library for very fast floating-point arithmetic on ST200embedded processors. FLIP has lead to significant speed-ups of industrial applica-tions like audio decoders (more than 45%) or video games (about 30% for Quake).With such performances, the code has been integrated at the end of 2005 into theindustrial compilers of the ST200, making the technology transfert a success. Thiswork has further shown how the field of computational software for embedded pro-cessors can benefit from our strong expertise in floating-point arithmetic.

Minalogic. We have submitted a project to the Pole de competitivite mondial Minalogic.Our project—“Generation of function approximations at compile-time”—has justbeen accepted, and will be part of the Sceptre sub-project of Minalogic. The HPCCompilation Expertise Center of STMicroelectronics in Grenoble is a partner.

Collaborations with Intel Corporation. We have regular contacts with several Intel re-searchers working on elementary function libraries and machine-checking. This haslead to invitations of researchers in both directions, and joint publications.

3.3 Teaching

N. Brisebarre teaches 192 hours per year at Univ. de Saint-Etienne and Univ. Lyon 1:“Mathematics and computer algebra” 1rst, 3rd year Licence, 1rst year Master; “Al-gorithmic number theory” Master professionnel ISFA.

F. de Dinechin teaches 192 hours per year at ENS-Lyon in Licence and Master: advancedcomputer architecture, compilation, hardware arithmetic, digital circuits, databases,and object-oriented programming.

C.-P. Jeannerod taught: “Algorithms for Computer Arithmetic” at ENS Lyon in Master(30h, 2005-2006) and “Fast polynomial arithmetic and applications” at Master pro-fessionnel ISFA/Univ. Lyon 1 (10h/y., 2004-2005, 2005-2006).

J.-M. Muller taught (30h/y.): “Elementary functions” at ENS Lyon in Master, 2003-2004, 2006-2007; “Floating-Point arithmetic”, 2005-2006.

N. Revol organizes a course of the Doctoral School MATHIF.

16

Page 17: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

N. Revol and G. Villard taught (24h/y.) “Algorithms and arithmetics” (DEA d’Informa-tique Fondamentale et DEA d’Analyse Numerique), 2001-2003. G.Villard has beenVice-Head (2000-2004) and Head (2004-2005) of the ENSL Master 2 “FundamentalComputer Science”.

3.4 Visibility

The team has organized at ENS Lyon: RNC5 (5th Conference on Real Numbers andComputers, 2003), two Arinews meetings (2003/2005), and the Journees Nationalesd’Arithmetique des Ordinateurs (2006).

N. Brisebarre was in the Program Committee of the 7th Conference on Real Numbersand Computers (2006).

C.-P. Jeannerod was in the Program Committee of the 2006 International Symposiumon Symbolic and Algebraic Computation (ISSAC’06), in the poster committee ofISSAC’03, and Tutorial Chair at ISSAC’05. With A. Enge (INRIA, LIX) and A. Se-doglavic (UST Lille, LIFL), he organized the Journees Nationales de Calcul Formel2005 (Luminy, Nov. 2005).

F. de Dinechin was in the program committee of the conference Field ProgrammableTechnologies in 2004 and 2006, and in the editor board of Technique et Science In-formatiques from 2003 to 2006.

J.-M. Muller was guest co-editor of a special issue of Theoret. Comp. Sci. (2003), heis an associate editor of JUCS. He was chairman of the steering committee of theARITH (IEEE Computer Arithmetic) series of conferences until 2003, and will beco-program chairman of ARITH-18 (2007). J.M. Muller was head of Arenaire untilJanuary 2004, he has been chair of the LIP laboratory until July 2006. He is nowcharge de mission (member of the staff) of the scientific department Ingenierie (En-gineering) of CNRS.

N. Revol was guest co-editor of special issues of J. Comp. and Applied Math. in 2004(with S. El Hajji and P. Van Dooren), of Theoret. Comp. Sc. in 2006 (with M.Daumas) and of LNCS in 2007 (with P. Hertling, Ch. Hoffmann and W. Luther),following a seminar they organized (Jan. 2006, Dagstuhl). She regularly visits high-schools in the region of Lyon to attract students to scientific studies.

G. Villard is Vice-Chair of the LIP laboratory since August 2006. He is involved inthe management of the GDR Informatique Mathematique (CNRS). He has beenmember (2003-2006) and Chair of the Steering Committee of ISSAC (InternationalSymposium on Symbolic and Algebraic Computation); Guest Editor of the Journalof Symbolic Computation (2002); Coordinator (with J.A. Weil) in 2002 of the ASCalcul Formel (CNRS).

17

Page 18: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

4 External Funding

(k euros) 2002 2003 2004 2005 2006INRIA Research InitiativesStandardization 4 4 2Accompagnement ODL 13INRIA-IMAG AHA 3National initiativesACI FPGA 12 7ACI Crypto 2 5 6 1ACI Gaap 4 4 4ACI Securite 11 12 10 10AS CNRS Arith. 6 6AS CNRS Emb. 4ANR Gecko 3European projectsPhD Marie Curie 7 27 27Industrial contractsPosic 10Region ST 20 25 15Contrat ST 12ScholarshipsPhD * 108 121 182 190 200Post Doc* 24 24AI+ 11 45ODL# 16 47 31Other fundingCNRS/LIP Arenaire 8 6 5 10 4ENSL/LIP Arenaire 15 9 10 6 7ENSL Circuit 25CNRS PICS USA 5 2 4 9ENSL/CNRS LinBox 12 6Act. Int. FPGA 1 7Act. Int. Cardiff 1Japan Soc. 3INRIA internal 20 18 23 27 28Total 216 287 311 348 384

† INRIA Cooperative Research Initiatives‡ Large-scale Initiative Actions∗ other than those supported by one of the above projects+ junior engineer supported by INRIA# engineer supported by INRIA

18

Page 19: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

National initiatives

ACI Crypto “Arithmetic operators for cryptography” (2002-2005). The involved teamswere: Arenaire (Lyon), Arith LIRMM (Montpellier), Microelectronics LIRMM (Mont-pellier) and GTA I3M (Montpellier). Research subjects investigated: residue num-ber systems for cryptography, reconfigurable architecture implementations, modularmultiplication, finite-field operators. VHDL code generators for modular arithmetichave been developed.

ACI Securite Numerique “Cryptographic operators and hardware arithmetic” (2003-2006).The involved teams were: Arenaire (Lyon), Arith LIRMM (Montpellier) and Codes(Rocquencourt). Implementation of a digital signature scheme on FPGAs and finite-field operators. The digital signature was based on code theory and it is supposed tobe very robust, but yet its practical implementation on FPGAs is not fast enough.Basic operators on finite fields have been implemented for elliptic curve cryptogra-phy.

ACI Nouvelles interfaces des mathematiques “Automatic Generation of Polynomial Ap-proximants” (2004-2007). Involved teams are: Arenaire (Lyon) and LaMUSE (Saint-Etienne). The goal is the design of algorithms and the development of a C libraryMEPLib for obtaining very good polynomial approximants under various constraintson the size in bits and the values of the coefficients. The applications targeted aresoftware and hardware implementations, such as embedded systems for instance.

ACI Arithmetique pour les FPGAs “Arithmetic for FPGAs” (2001-2003), involving onlyArenaire researchers. T The goal was the design of arithmetic operators optimizedfor reconfigurable computing.

“Emerging subjects at the interface between mathematics and computer science.” Incen-tive grant from CNRS-STIC to promote emerging subjects at the interface betweenmathematics and computer science. Participating laboratories were LIRMM, LIX,LIENS, LP2A, LIP, LIP6, LACO, A2X, LORIA and INRIA Sophia-Antipolis.

AS CNRS “Numerical validation for embedded computations”: the goal was to mix peoplefrom control theory (LASTI, U. Rennes 1 and from numerical validation (MANO, U.Perpignan - LIST, CEA Saclay - LIP, ENS Lyon - LIP6, U. Pierre et Marie Curie),to work on fixed-point arithmetic.

AS CNRS “Calcul Formel”. We have managed an incentive grant from CNRS-STIC forpromoting Computer Algebra. A large part of the French community was involved.

European projects

Mathlogaps Marie Curie Early Stage Training. Mathlogaps is a multi-participant effortto offer Early Stage Research Training in Logic and Applications with three partners:The Universities of Leeds and Manchester; Universite Claude Bernard Lyon 1 andEcole normale superieure in Lyon; Ludwig Maximilians Universitat Munchen. It isled by D. Macpherson (Leeds) and our local leader is P. Koiran (LIP).

PAI Alliance, with the University of Cardiff, Wales (2002), ”Low power realization ofarithmetic functions”. The involved teams were: Arenaire and the Cardiff School ofEngineering. Investigation of new techniques for computing a wide range of arith-metic functions in VLSI. We proposed to derive new methods for computing selectedarithmetic functions in VLSI.

19

Page 20: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

PAI Alliance “From Functions to FPGAs”. The involved teams were Arenaire, Compsys,and the Oxford University Computing Laboratory. The purpose was to study thecomplementarity of two hardware description paradigms, Alpha and Handel-C.

Associated teams and other international projects

Certifications of properties of floating-point arithmetic (CNRS-NASA). CNRS PICS 2533on “Certifications of properties and uses of floating-point arithmetic” supportedArenaire collaboration with the National Institute of Aeropsace in Hampton, Vir-ginia. It also involved Ecole Polytechnique (G. Dowek) and the U. of California atBerkeley (W. Kahan). French funding was matched on a mission basis by a ResearchCooperative Agreement awarded by NASA Langley Research Center to NIA.

Contributions to Standardization Bodies (ANSI-IEEE 754R and ISO/ IEC JTC1/ SC22/WG21). The Department of Development and Industrial Relations (DirDRI) atINRIA has supported Arenaire participation to the ongoing revision of the IEEEStandard for Binary Floating-Point Arithmetic (ANSI-IEEE 754).

Collaborative Research LinBox. LinBox is an ongoing Collaborative Research projectfor efficient algorithms and a software library in exact linear algebra. About thirtyresearchers from ten institutions in Canada, the USA and France are participating(http://www.linalg.org).

Japan Society for the Promotion of Science: funded a short stay (2 weeks, fall 2004)in Japan. Work with Pr. Kubota, Chuo University, Tokyo, on the integration ofautomatic differentiation within our existing software.

Industrial contracts

STMicroelectronics contract/Region Rhone-Alpes grant. A three-year joint project withSTMicroelectronics has just ended (fall 2003-fall 2006), which was supported byboth the Region Rhone-Alpes and STMicroelectronics. The goal was to design andimplement an efficient floating-point library for some embedded processors (namelythe ST200 family) that only have integer arithmetic units.

5 Objectives 2007–2010

From embedded systems and safety-critical applications, to supercomputers, the concep-tion of software and hardware for current highly sophisticated systems requires new de-velopment approaches. In computer arithmetic, the challenge is to diagnose numericalanomalies, to circumvent them, and to improve the overall numerical quality of the com-putations. Considering the complexity of the applications, this task has to be automated,or at least strongly assisted.

Addressing this challenge first requires a better understanding of the intrication of thehardware/software, algorithmic and mathematical aspects of computer arithmetic. This isthe core historical expertise of Arenaire. For enhancing reliability, it also requires more andmore focus on validation, from better specification up to automatic theorem proving. Thishas begun in the last four years. Finally, it requires new tools for navigating in the space ofpossible implementations: defining this space, finding an optimal solution with respect toaccuracy, performance, or other, and generating automatically the implementation (be ithardware, software, or a combination of both), along with a proof of its correct behaviour.Such tools will themselves rely on non-trivial algorithmic developments.

20

Page 21: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

In addition to better arithmetic understanding, the benefits of automation will be bet-ter algorithms, better reliability and confidence, better development speed, and thereforereduced development costs.

Three main directions are identified:

I. Arithmetics and algorithms. We will pursue our research around the fundations ofArenaire. This concerns new number representations, and new algorithms for arithmeticoperators. However, the granularity of arithmetic operators evolves, now including coarseroperators such as elementary and special functions, mathematical expressions, and evencompound computation blocks such as 3D norms, filters or matrix operations. This re-search requires maintaining a deep expertise in the targets (processors, chips and circuits),especially oriented towards a better standardization of the languages for their program-mation. The latter core directions will remain tightly connected to advances in specificapplication domains: function approximation, linear algebra, lattice basis reduction, cryp-tography, global optimization. Our objectives are mastering the interaction between thearithmetic operator design and problem solving constraints, and lifting up our knowledgefrom the arithmetic operator level to the application level.

II. Quality issues: Specification and validation. To be able to prove the correctnessof an implementation, one first has to provide a proper specification of what it is expectedto compute. This specification should be as mathematical as possible, as in a computeralgebra system, but with additional constraints such as accuracy and performance, andadditional information on the target. Finally, the specification also includes the propertyto prove. Validation then means proving some well-specified guarantee on the quality ofthe code or of the computed result. It may typically be a proven error bound betweenthe computed result and the mathematical result. A side effect will be the production ofwell-specified and validated libraries. Other quality issues we plan to deal with include thealgorithmic complexity of certified computations, and in particular the theoretical impactand practical cost of arithmetics (from constant precision to exact approaches).

III. Synthesis of the implementation and the proof. Synthesis is crucial sincemost development steps require specific expertise in computer arithmetic that can neitherbe required from code developers, nor be mobilized manually for every problems. Threecomplementary aspects are concerned: specification and analysis of the specification; ap-proximation/evaluation and code generation; proof design and check. We will study howthese steps collaborate for providing an automatic approach taking in input an expressionto evaluate (with possible annotations), and returning (with exchanges with the user) avalidated code. From a practical point of view, this implies an important effort of devel-opment, for implementing tools at every step, and for making these tools interoperate.The complete automation with optimal or at least good resulting performance seems tobe far beyond the current knowledge. However, we see our objective as a major step forprototyping future compilers.

6 Bibliography of the project-team

6.1 Books and Monographs

[1] J.-M. Muller. Elementary Functions, Algorithms and Implementation. Birkhauser Boston,2nd Edition, 2006.

[2] J.-C. Bajard and J.-M. Muller, editors. Calcul et Arithmetique des Ordinateurs. Traite IC2.Hermes Science Publishing, 2004.

21

Page 22: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

6.2 Book Editions

[3] M. Daumas and N. Revol, editors. Special issue on Real Numbers and Computers, volume351 of Theoretical Computer Science, 2006.

[4] P. Hertling, C. M. Hoffmann, W. Luther, and N. Revol, editors. Special issue on Reliable Im-plementation of Real Number Algorithms: Theory and Practice, Lecture Notes in ComputerScience, 2006. to appear.

[5] P. Kornerup, J.-C. Bajard, C. Frougny, and J.-M. Muller, editors. Special issue “Real Num-bers and Computers” of Theoretical Computer Science, volume 291, Jan. 2003.

[6] S. El Hajji, N. Revol, and P. Van Dooren, editors. Special issue on Linear Algebra andArithmetic, volume 162 of Journal of Computational and Applied Mathematics, 2003.

[7] J.-M. Chesneaux, C. Frougny, and J.-M. Muller, editors. Special issue “Real Numbers andComputers” of Theoretical Computer Science, volume 279, May 2002.

[8] G. Villard, editor. Special issue “‘International Symposium on Symbolic and Algebraic Com-putation” of Journal of Symbolic Computation, volume 33, 2002.

6.3 Doctoral Dissertations and Habilitation Theses

[9] S. K. Raina. FLIP: a floating-point library for integer processors. PhD thesis, Ecole NormaleSuperieure de Lyon, Lyon, France, September 2006.

[10] P. Giorgi. Algorithmique et arithmetique pour l’algebre lineaire exacte a partir de la bib-liotheque LinBox. PhD thesis, Ecole Normale Superieure de Lyon, Lyon, France, December2004.

[11] S. Boldo. Preuves formelles en arithmetiques a virgule flottante. PhD thesis, Ecole NormaleSuperieure de Lyon, Lyon, France, November 2004.

[12] D. Defour. Fonctions Elementaires : algorithmes et implementations efficaces pour l’arrondicorrect en double precision. PhD thesis, Ecole Normale Superieure de Lyon, Lyon, France,September 2003.

[13] G. Villard. Algorithmique en algebre lineaire exacte. Habilitation a diriger des recherches,Universite Claude Bernard, Lyon, France, March 2003.

6.4 Articles in Referred Journals and Book Chapters

[14] N. Brisebarre, J.-M. Muller, and A. Tisserand. Computing machine-efficient polynomialapproximations. ACM Transactions on Mathematical Software, 32(2):236–256, June 2006.

[15] P. Kornerup and J.-M. Muller. Leading guard digits in finite-precision redundant represen-tations. IEEE Transactions on Computers, 55(5):541–548, May 2006.

[16] P. Kornerup and J.-M. Muller. Choosing starting values for certain newton-raphson itera-tions. Theoretical Computer Science, 351(1):101–110, February 2006.

[17] B. Beckermann, G. Labahn, and G. Villard. Normal forms for general polynomial matrices.Journal of Symbolic Computation, 41(6):708–737, 2006.

[18] N. Brisebarre and J.-M. Muller. Correct rounding of algebraic functions. Theoretical Infor-matics and Applications (to appear), 2006.

[19] H. Bronnimann, G. Melquiond, and S. Pion. The design of the Boost interval arithmeticlibrary. Theoretical Computer Science, 351:111–118, 2006.

[20] F. de Dinechin, C. Lauter, and J.-M. Muller. Fast and correctly rounded logarithms indouble-precision. Theoretical Informatics and Applications (to appear), 2006.

[21] F. de Dinechin and G. Villard. High precision numerical accuracy in physics research. NuclearInst. and Methods in Physics Research, A, 559(1):207–210, 2006.

22

Page 23: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[22] J. Detrey and F. de Dinechin. Parameterized floating-point logarithm and exponential func-tions for FPGAs. In Journal of Microprocessors and Microsystems. Elsevier, 2006. to appear.

[23] R. Glabb, L. Imbert, G. Jullien, A. Tisserand, and N. Veyrat-Charvillon. Multi-mode op-erator for SHA-2 hash functions. Journal of Systems Architecture, 2006. Special issue on”Embedded Cryptographic Hardware”.

[24] C.-P. Jeannerod and G. Villard. Asymptotically fast polynomial matrix algorithms for mul-tivariable systems. International Journal of Control, 79(11):1359–1367, 2006.

[25] G. Melquiond and S. Pion. Formally certified floating-point filters for homogeneous geometricpredicates. Theoretical Informatics and Applications, 2006. To be published.

[26] J. Detrey and F. de Dinechin. Outils pour une comparaison sans a priori entre arithmetiquelogarithmique et arithmetique flottante. In M. Auguin and D. Lavenier, editors, Architec-ture des Ordinateurs, volume 24(6) of Technique et Science Informatiques, pages 625–643.Lavoisier, France, November 2005.

[27] J. A. Pineiro, S. F. Oberman, J.-M. Muller, and J. D. Bruguera. High-speed functionapproximation using a minimax quadratic interpolator. IEEE Transactions on Computers,54(3):304–318, March 2005.

[28] N. Brisebarre, D. Defour, P. Kornerup, J.-M. Muller, and N. Revol. A new range reductionalgorithm. IEEE Transactions on Computers, 54(3):331–339, 2005.

[29] A. Darte, R. Schreiber, and G. Villard. Lattice based memory allocation. IEEE Transactionson Computers, 54(10):1242–1257, 2005.

[30] F. de Dinechin and A. Tisserand. Multipartite table methods. IEEE Transactions on Com-puters, 54(3):319–330, 2005.

[31] C.-P. Jeannerod and G. Villard. Essentially optimal computation of the inverse of genericpolynomial matrices. Journal of Complexity, 21(1):72–86, 2005.

[32] N. Revol, K. Makino, and M. Berz. Taylor models and floating-point arithmetic: proof thatarithmetic operations are validated in COSY. Journal of Logic and Algebraic Programming,64:135–154, 2005.

[33] N. Revol and F. Rouillier. Motivations for an arbitrary precision interval arithmetic and thempfi library. Reliable Computing, 11:1–16, 2005.

[34] S. Boldo and M. Daumas. A simple test qualifying the accuracy of Horner’s rule for polyno-mials. Numerical Algorithms, 37(1):45–60, December 2004.

[35] A. Tisserand. Low-power arithmetic operators. In C. Piguet, editor, Low Power ElectronicsDesign, chapter 9. CRC Press, November 2004.

[36] N. Brisebarre, J.-M. Muller, and S. Raina. Accelerating correctly rounded floating-pointdivision when the divisor is known in advance. IEEE Transactions on Computers, 53(8):1069–1072, August 2004.

[37] J.-L. Beuchat and J.-M. Muller. Modulo m multiplication-addition: Algorithms and FPGAimplementation. Electronics Letters, 40(11):654–655, May 2004.

[38] J.-L. Beuchat and A. Tisserand. Evaluation polynomiale en-ligne de fonctions elementairessur fpga. Technique et Science Informatiques, 23(10):1247–1267, 2004.

[39] J.-L. Beuchat and A. Tisserand. Operateurs arithmetiques sur circuits FPGA. In J.-C.Bajard and J.-M. Muller, editors, Calcul et arithmetique des ordinateurs, Traite IC2, pages109–152. Lavoisier, 2004.

[40] S. Boldo and M. Daumas. Properties of two’s complement floating point notations. Inter-national Journal on Software Tools for Technology Transfer, 5(2-3):237–246, 2004.

[41] D. Defour, G. Hanrot, V. Lefevre, J.-M. Muller, N. Revol, and P. Zimmermann. Proposalfor a standardization of mathematical function implementation in floating-point arithmetic.Numerical Algorithms, 37(1-4):367–375, 2004.

23

Page 24: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[42] C.-P. Jeannerod. On matrix perturbations with minimal leading Jordan structure. Journalof Computational and Applied Mathematics, 162(1):113–132, 2004.

[43] E. Kaltofen and G. Villard. Computing the sign or the value of the determinant of an integermatrix, a complexity survey. J. Comp. Applied Math, 162(1):133–146, 2004.

[44] E. Kaltofen and G. Villard. On the complexity of computing determinants. ComputationalComplexity, 13:91–130, 2004.

[45] P. Koiran, N. Portier, and G. Villard. A rank theorem for Vandermonde matrices. LinearAlgebra and its Applications, 378:99–107, 2004.

[46] J.-M. Muller, J.-L. Nicolas, and X. Roblot. Nombre de solutions dans une binade de l’equationa2 + b2 = c2 + c (in french). l’Enseignement Mathematique, 50:147–182, 2004.

[47] B. D. Saunders, A. Storjohann, and G. Villard. Matrix rank certification. Elect. J. LinearAlgebra, 11:16–23, 2004.

[48] V. Lefevre and J.-M. Muller. On-the-fly range reduction. Journal of VLSI Signal Processing,33(1/2):31–35, February 2003.

[49] M. Daumas and P. Langlois. Additive symmetries: the non-negative case. Theoretical Com-puter Science, 291(2):143–157, 2003.

[50] F. de Dinechin, T. Risset, M. Manjunathaiah, and M. Spivey. System Specification andDesign Languages (best of FDL’02), chapter Design of highly parallel architectures withAlpha and Handel. Kluwer, 2003.

[51] P. Langlois and N. Revol. Validating polynomial numerical computations with complemen-tary automatic methods. Mathematics and Computers in Simulation, 2003. to appear.

[52] N. Revol. Interval newton iteration in multiple precision for the univariate case. NumericalAlgorithms, 34(2):417–426, 2003.

[53] J.-L. Beuchat, J.-O. Haenni, H. Fabio Restrepo, C. Teuscher, F. J. Gomez, and E. Sanchez.Approches materielles et logicielles de l’algorithme de chiffrement idea. Technique et scienceinformatiques, 21(2):203–224, 2002.

[54] L. Chen, W. Eberly, E. Kaltofen, B. Saunders, W. Turner, and G. Villard. Efficient ma-trix preconditioners for black box linear algebra. Linear Algebra and its Applications, 343-344:119–146, 2002.

[55] T. Gautier, H. Hong, J. Roch, W. Schreiner, and G. Villard. Parallel computer algebrasystems. In J. Grabmeier, E. Kaltofen, and V. Weispfenning, editors, Computer AlgebraHandbook, pages 146–150. Springer-Verlag, Heidelberg, Germany, 2002.

[56] M. Giesbrecht, A. Storjohann, and G. Villard. Algorithms for matrix canonical forms. InJ. Grabmeier, E. Kaltofen, and V. Weispfenning, editors, Computer Algebra Handbook, pages39–41. Springer-Verlag, Heidelberg, Germany, 2002.

6.5 Publications in Conferences and Workshops

[57] M. Ercegovac and J.-M. Muller. Arithmetic processor for solving tri-diagonal systems of linearequations. In proc. 40th Conference on Signals, Systems and Computers, Pacific Grove, CA,November 2006.

[58] J.-M. Muller. Generating functions at compile-time. In proc. 40th Conference on Signals,Systems and Computers, Pacific Grove, CA, November 2006.

[59] F. de Dinechin, E. McIntosh, and F. Schmidt. Massive tracking on heterogeneous platforms.In 9th International Computational Accelerator Physics Conference (ICAP), October 2006.

[60] J. Detrey and F. de Dinechin. Operateurs trigonometriques en virgule flottante sur FPGA. InRenPar’17, SympA’2006, CFSE’5 et JC’2006, Perpignan, France, October 2006. to appear.

24

Page 25: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[61] R. Michard, A. Tisserand, and N. Veyrat-Charvillon. Optimisation d’operateursarithmetiques materiels a base d’approximations polynomiales. In 11ieme SYMPosium enArchitectures nouvelles de machines (SYMPA), pages x–y, Perpignan, October 2006.

[62] S. Collange, J. Detrey, and F. de Dinechin. Floating point or LNS: Choosing the rightarithmetic on an aapplication basis. In 9th Euromicro Conference on Digital System Design:Architectures, Methods and Tools (DSD’2006), pages 197–203, Dubrovnik, Croatia, August2006.

[63] R. Michard, A. Tisserand, and N. Veyrat-Charvillon. New identities and transformationsfor hardware power operators. In F. T. Luk, editor, Proc. Advanced Signal Processing Al-gorithms, Architectures and Implementations XVI, volume y, page x, San Diego, California,U.S.A., August 2006. SPIE.

[64] F. de Dinechin. Elementary functions for double-precision interval arithmetic. In ScientificComputing, Computer Arithmetic and Validated Numerics. GAMM - IMACS, July 2006.

[65] F. de Dinechin and S. Maidanov. Software techniques for perfect elementary functions infloating-point interval arithmetic. In Real Numbers and Computers, July 2006.

[66] W. Eberly, M. Giesbrecht, P. Giorgi, A. Storjohann, and G. Villard. Solving sparse integerlinear systems. In Proc. International Symposium on Symbolic and Algebraic Computation,Genova, Italy, pages 63–70. ACM Press, July 2006.

[67] R. Glabb, L. Imbert, G. Jullien, A. Tisserand, and N. Veyrat-Charvillon. Multi-mode oper-ator for SHA-2 hash functions. In Proc. International Conference on Engineering of Recon-figurable Systems and Algorithms (ERSA), pages 207–210, Las Vegas, Nevada, U.S.A., June2006.

[68] S. Boldo, M. Daumas, W. Kahan, and G. Melquiond. Proof and certification for an accuratediscriminant. In Proceedings of the 12th GAMM - IMACS International Symposium onScientific Computing, Computer Arithmetic and Validated Numerics, Dusseldorf, Germany,2006.

[69] H. Bronnimann, G. Melquiond, and S. Pion. Proposing interval arithmetic for the c++standard. In Proceedings of the 12th GAMM - IMACS International Symposium on ScientificComputing, Computer Arithmetic and Validated Numerics, Dusseldorf, Germany, 2006.

[70] F. Chaves and M. Daumas. A library to Taylor models for PVS automatic proof checker. InProceedings of the NSF workshop on reliable engineering computing, pages 39–52, Savannah,Georgia, 2006.

[71] S. Chevillard and N. Revol. Computation of the error functions erf and erfc in arbitraryprecision with correct rounding. In International Conference on Mathematical Software,Spain, 2006.

[72] F. de Dinechin, C. Lauter, and G. Melquiond. Assisted verification of elementary functionsusing Gappa. In Proceedings of the 2006 ACM Symposium on Applied Computing, pages1318–1322, 2006.

[73] N. Revol. Design choices and their limits for an interval arithmetic library. The example ofMPFI. In SCAN 2006, Duisburg, 2006.

[74] J. Detrey and F. de Dinechin. A parameterized floating-point exponential function for FP-GAs. In G. Brebner, S. Chakraborty, and W.-F. Wong, editors, IEEE International Confer-ence on Field-Programmable Technology (FPT’05), pages 27–34, Singapore, December 2005.IEEE.

[75] J. Detrey and F. de Dinechin. A parameterizable floating-point logarithm operator forFPGAs. In 39th Asilomar Conference on Signals, Systems & Computers, pages 1186–1190,Pacific Grove, California, USA, November 2005. IEEE Signal Processing Society.

[76] R. Michard, A. Tisserand, and N. Veyrat-Charvillon. Divgen: a divider unit generator. InF. T. Luk, editor, Proc. Advanced Signal Processing Algorithms, Architectures and Imple-mentations XV, volume 5910, page 59100M, San Diego, California, U.S.A., August 2005.SPIE.

25

Page 26: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[77] J.-L. Beuchat and J.-M. Muller. Multiplication algorithms for radix-2 RN-codings and two’scomplement numbers. In IEEE 16th International Conference on Application-specific Sys-tems, Architectures and Processors. IEEE Computer Society Press, July 2005.

[78] S. Boldo and G. Melquiond. When double rounding is odd. In 17th IMACS World Congresson Scientific Computation, Applied Mathematics and Simulation, July 2005.

[79] S. Chevillard and N. Revol. Computation of the error functions erf and erfc in arbitraryprecision with correct rounding. In 17th IMACS World Congress on Scientific Computation,Applied Mathematics and Simulation, July 2005.

[80] J. Detrey and F. de Dinechin. Table-based polynomials for fast hardware function evaluation.In IEEE 16th International Conference on Application-specific Systems, Architectures andProcessors. IEEE Computer Society Press, July 2005.

[81] M. D. Ercegovac and J.-M. Muller. Variable radix real and complex digit-recurrence division.In IEEE 16th International Conference on Application-specific Systems, Architectures andProcessors. IEEE Computer Society Press, July 2005.

[82] C.-P. Jeannerod, S.-K. Raina, and A. Tisserand. High-radix floating-point algorithms forembedded VLIW integer processors. In Proc. IMACS’2005 World Congress, July 2005.

[83] P. Kornerup and J.-M. Muller. Rn-coding of numbers: definition and some properties. InProc. IMACS’2005 World Congress, July 2005.

[84] G. Melquiond and S. Pion. Formal certification of arithmetic filters for geometric predi-cates. In 17th IMACS World Congress on Scientific Computation, Applied Mathematics andSimulation, July 2005.

[85] R. Michard, A. Tisserand, and N. Veyrat-Charvillon. Small FPGA polynomial approxi-mations with 3-bit coefficients and low-precision estimations of the powers of x. In IEEE16th International Conference on Application-specific Systems, Architectures and Processors.IEEE Computer Society Press, July 2005.

[86] N. Revol. Bounding roundoff errors in taylor models arithmetic. In 17th IMACS WorldCongress on Scientific Computation, Applied Mathematics and Simulation, July 2005.

[87] A. Storjohann and G. Villard. Computing the rank and a small nullspace basis of a poly-nomial matrix. In Proc. International Symposium on Symbolic and Algebraic Computation,Beijing, China. ACM Press, July 2005.

[88] S. Boldo and J.-M. Muller. Some functions computable with a fused-mac. In Proc. 17thIEEE Symposium on Computer Arithmetic (ARITH-17). IEEE Computer Society Press,June 2005.

[89] N. Brisebarre and J.-M. Muller. Correctly rounded multiplication by arbitrary precisionconstants. In Proc. 17th IEEE Symposium on Computer Arithmetic (ARITH-17). IEEEComputer Society Press, June 2005.

[90] B. de Dinechin, C. Monat, J.-M. Muller, and A. Tisserand. Division by constant for the st100dsp microprocessor. In Proc. 17th IEEE Symposium on Computer Arithmetic (ARITH-17).IEEE Computer Society Press, June 2005.

[91] F. de Dinechin and N. Gast. Towards the post-ultimate libm. In Proc. 17th IEEE Symposiumon Computer Arithmetic (ARITH-17). IEEE Computer Society Press, June 2005.

[92] R. Michard, A. Tisserand, and N. Veyrat-Charvillon. Etude statistique de l’activite de lafonction de selection dans l’algorithme de e-methode. In 5ieme journees d’etudes FaibleTension Faible Consommation (FTFC), Paris, May 2005.

[93] J.-L. Beuchat and J.-M. Muller. RN-codes : algorithmes d’addition, de multiplication etd’elevation au carre. In SympA’2005: 10eme edition du SYMPosium en Architectures nou-velles de machines, pages 73–84, April 2005.

26

Page 27: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[94] R. Michard, A. Tisserand, and N. Veyrat-Charvillon. Evaluation de polynomes et de fractionsrationnelles sur FPGA avec des operateurs a additions et decalages en grande base. In 10iemeSYMPosium en Architectures nouvelles de machines (SYMPA), pages 85–96, Le Croisic,April 2005.

[95] S. Boldo. Bridging the gap between formal specification and bit-level floating-point arith-metic. In Proceedings of the 6th Conference on Real Numbers and Computers, pages 22–36,Schloss Dagstuhl, Germany, November 2004.

[96] N. Brisebarre and J.-M. Muller. Functions approximable by e-fractions. In Proc. 38th IEEEConference on Signals, Systems and Computers. IEEE, November 2004.

[97] N. Brisebarre, J.-M. Muller, and A. Tisserand. Sparse-coefficient polynomial approximationsfor hardware implementations. In Proc. 38th IEEE Conference on Signals, Systems andComputers. IEEE, November 2004.

[98] M. Daumas and G. Melquiond. Generating formally certified bounds on values and round-offerrors. In 6th Conference on Real Numbers and Computers, pages 55–70, Schloss Dagstuhl,Germany, November 2004.

[99] F. de Dinechin, C. Loirat, and J.-M. Muller. A proven correctly rounded logarithm in double-precision. In RNC6, Real Numbers and Computers, Schloss Dagstuhl, Germany, November2004.

[100] M. D. Ercegovac and J.-M. Muller. Complex square root with operand prescaling (bestpaper award). In Proc. 15th IEEE International Conference on Application-Specific Systems,Architectures and Processors, Galveston, Texas. IEEE Computer Society Press, September2004.

[101] C. Bertin, N. Brisebarre, B. D. de Dinechin, C.-P. Jeannerod, C. Monat, J.-M. Muller, S.-K.Raina, and A. Tisserand. A floating-point library for integer processors. In Proceedings ofSPIE’s 49th Annual Meeting, Denver, Colorado, U.S.A., August 2004.

[102] J. Detrey and F. de Dinechin. Second order function approximation using a single multipli-cation on FPGAs. In 14th Intl Conference on Field-Programmable Logic and Applications,pages 221–230, Antwerp, Belgium, August 2004. LNCS 3203. Improved version of InriaResearch report 5140 available at www.inria.fr/rrrt/rr-5140.html.

[103] J.-G. Dumas, P. Giorgi, and C. Pernet. FFPACK: Finite Field Linear Algebra Package. InProc. International Symposium on Symbolic and Algebraic Computation, Santander, Spain,pages 119–126. ACM Press, July 2004.

[104] G. Villard. Lattice based memory allocation (Invited talk). In Mathematics of ComputerAlgebra and Analysis, Waterloo, Ontario, Canada, May 2004.

[105] M. Grimmer, K. Petras, and N. Revol. Multiple precision interval packages: Comparingdifferent approaches. In Lecture Notes in Computer Science, volume 2991, pages 64–90,2004.

[106] N. Revol. Convergent linear recurrences (with scalar coefficients) with divergent intervalsimulations. In SCAN 2004 (11th GAMM-IMACS International Symposium on ScientificComputing, Computer Arithmetic and Validated Numerics), Fukuoka, Japan, 2004.

[107] A. Darte, R. Schreiber, and G. Villard. Lattice-based memory allocation. In InternationalConference on Compilers, Architecture and Synthesis for Embedded Systems, San Jose, Cal-ifornia, USA, pages 298–308. ACM Press, November 2003.

[108] J.-L. Beuchat and J.-M. Muller. Multiplication-addition modulaire: algorithmes iteratifs etimplantations sur FPGA. In M. Auguin, F. Baude, D. Lavenier, and M. Riveill, editors,Actes de RenPar’15, CFSE’3 et SympAAA’2003, pages 235–242, October 2003.

[109] J. Detrey and F. de Dinechin. Outils pour une comparaison sans a priori entre arithmetiquelogarithmique et arithmetique flottante. In Symposium en Architecture et Adequation Archi-tectures Algorithmes, La Colle sur Loup, France, October 2003.

27

Page 28: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[110] F. de Dinechin and D. Defour. Software carry-save: A case study for instruction-level par-allelism. In Seventh International Conference on Parallel Computing Technologies, NizhnyNovgorod, Russia, September 2003.

[111] P. Kornerup and J.-M. Muller. Choosing Starting Values for Newton-Raphson Computationof Reciprocals, Square-Roots and Square-Root Reciprocals. In M. Daumas and N. Revol,editors, Proceedings of RNC5, Lyon, September 2003.

[112] P. Giorgi, C.-P. Jeannerod, and G. Villard. On the complexity of polynomial matrix com-putations. In Proceedings of the 2003 International Symposium on Symbolic and AlgebraicComputation (ISSAC’03), pages 135–142. ACM Press, August 2003.

[113] P. Giorgi. From BLAS routine to finite field exact linear algebra solution. The 9th Interna-tional IMACS Conference on Applications of Computer Algebra, Raleigh, North Carolina,USA, July 2003.

[114] N. Revol. Multiple precision interval arithmetic and application to linear systems. The9th International IMACS Conference on Applications of Computer Algebra, Raleigh, NorthCarolina, USA, July 2003.

[115] G. Villard. Exact computations on polynomial and integer matrices (Invited talk). SIAMConference on Applied Linear Algebra, Williamsburg, Virginia, USA, July 2003.

[116] M. Ercegovac and J.-M. Muller. Complex division with prescaling of the operands. In E. De-prettere, S. Bhattacharyya, J. Cavallaro, and A. Darte, editors, Proceedings of ASAP’03:14th IEEE Conference on Application-Specific Systems, Architectures and Processors, pages304–314. IEEE Computer Society, June 2003.

[117] J.-L. Beuchat. FPGA implementations of the RC6 block cipher. In P. Y. K. Cheung, G. A.Constantinides, and J. T. de Sousa, editors, Field-Programmable Logic and Applications,number 2778 in Lecture Notes in Computer Science, pages 101–110. Springer, 2003.

[118] J.-L. Beuchat. Modular multiplication for FPGA implementation of the IDEA block cipher.In E. Deprettere, S. Bhattacharyya, J. Cavallaro, A. Darte, and L. Thiele, editors, Proceed-ings of the 14th IEEE International Conference on Application-Specific Systems, +Architec-tures, and Processors, pages 412–422. IEEE Computer Society, 2003.

[119] J.-L. Beuchat. Some modular adders and multipliers for field programmable gate arrays. InProceedings of the 17th International Parallel & Distributed Processing Symposium. IEEEComputer Society, 2003.

[120] J.-L. Beuchat, L. Imbert, and A. Tisserand. Comparison of modular multipliers on FPGAs.In Proceedings of SPIE 2003, 2003.

[121] S. Boldo and M. Daumas. Representable correcting terms for possibly underflowing floatingpoint operations. In J.-C. Bajard and M. Schulte, editors, Proceedings of the 16th Symposiumon Computer Arithmetic, pages 79–86, Santiago de Compostela, Spain, 2003.

[122] S. Boldo, M. Daumas, and L. Thery. Formal proofs and computations in finite precisionarithmetic. In Proceedings of the 11th Symposium on the Integration of Symbolic Computationand Mechanized Reasoning, Roma, Italy, 2003.

[123] N. Boullis and A. Tisserand. Some optimizations of hardware multiplication by constantmatrices. In ARITH 16, pages 20–27, 2003.

[124] D. Defour, G. Hanrot, V. Lefevre, J.-M. Muller, N. Revol, and P. Zimmermann. Proposalfor a standardization of mathematical function implementation in floating-point arithmetic.In Numerical Software with Result Verification, Dagstuhl, Germany, 2003.

[125] J. Detrey and F. de Dinechin. A VHDL library of LNS operators. In 37th Asilomar Confer-ence on Signals, Systems and Computers, Pacific Grove, USA, 2003.

[126] R.-C. Li, S. Boldo, and M. Daumas. Theorems on efficient argument reductions. In J.-C.Bajard and M. Schulte, editors, Proceedings of the 16th Symposium on Computer Arithmetic,pages 129–136, Santiago de Compostela, Spain, 2003.

28

Page 29: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[127] J.-M. Muller. ”Partially rounded” Small-Order Approximations for Accurate, Hardware-Oriented, Table-Based Methods. In J.-C. Bajard and M. Schulte, editors, Proceedings of the16th Symposium on Computer Arithmetic, pages 114–121, Santiago de Compostela, Spain,2003.

[128] N. Revol and F. Rouillier. The MPFI library: introduction and applications. In NumericalSoftware with Result Verification, Dagstuhl, Germany, 2003.

[129] D. Defour, F. de Dinechin, and J.-M. Muller. A new scheme for table-based evaluation offunctions. In 36th Conference on signals, systems and computers, Asilomar, Pacific Grove,California, USA, November 2002. IEEE Computer Society Press.

[130] J.-L. Beuchat and A. Tisserand. Small multiplier-based multiplication and division operatorsfor virtex-II devices. In M. Glesner, P. Zipf, and M. Renovell, editors, 12th InternationalConference on Field-Programmable Logic and Applications (Fpl), volume 2438 of LectureNotes in Computer Science (Lncs), pages 513–522, Montpellier, France, September 2002.Springer.

[131] F. de Dinechin, T. Risset, M. Manjunathaiah, and M. Spivey. Design of highly parallelarchitectures with alpha and handel. In Forum on Design Languages, Marseille, France,September 2002.

[132] D. Defour and F. de Dinechin. Software carry-save for fast multiple-precision algorithms. InA. M. Cohen, X.-S. Gao, and N. Takayama, editors, 35th International Congress of Mathe-matical Software (ICMS 2002), pages 29–39, Beijing, China, August 2002. World Scientific.Updated version of LIP research report 2002-08.

[133] J.-G. Dumas, T. Gautier, M. Giesbrecht, P. Giorgi, B. Hovinen, E. Kaltofen, B. Saunders,W. Turner, and G. Villard. Linbox: A generic library for exact linear algebra. In A. M.Cohen, X.-S. Gao, and N. Takayama, editors, 35th International Congress of MathematicalSoftware (ICMS 2002), pages 40–50, Beijing, China, August 2002. World Scientific.

[134] C.-P. Jeannerod and G. Labahn. The snap package for arithmetic with numeric polynomi-als. In A. M. Cohen, X.-S. Gao, and N. Takayama, editors, 35th International Congressof Mathematical Software (ICMS 2002), pages 61–71, Beijing, China, August 2002. WorldScientific.

[135] G. Villard. Exact computation of the determinant and of the inverse of a matrix. In Work-shop on Complexity, Foundations of Computational Mathematics FoCM’02, Minneapolis,Minnesota, USA, August 2002.

[136] C.-P. Jeannerod. A reduced form for perturbed matrix polynomials. In T. Mora, editor,International Symposium on Symbolic and Algebraic Computation (ISSAC’02), pages 131–137, Lille, France, July 2002. ACM Press.

[137] J.-L. Beuchat and A. Tisserand. Operateur en-ligne sur fpga pour l’implantation de quelquesfonctions elementaires. In 8eme SYMPosium en Architectures nouvelles de machines, pages267–274, Hamamet, Tunisie, April 2002.

[138] N. Boullis and A. Tisserand. Generation automatique d’architectures de calcul pour desoperations lineaires : application a l’IDCT sur FPGA. In 8eme SYMPosium en Architecturesnouvelles de machines, pages 283–290, Hamamet, Tunisie, April 2002.

[139] F. de Dinechin and J. Detrey. Multipartite tables in JBits for the evaluation of functionson FPGAs. In IEEE Reconfigurable Architecture Workshop, International Parallel and Dis-tributed Symposium, Fort Lauderdale, Florida, April 2002. Updated version of LIP researchreport 2001-44.

[140] S. Boldo and M. Daumas. Faithful rounding without fused multiply and accumulate. InSCAN’2002, Paris, France, 2002.

[141] S. Boldo and M. Daumas. Properties of the subtraction valid for any floating point system.In 7th International Workshop on Formal Methods for Industrial Critical Systems, pages137–149, Malaga, Spain, 2002.

29

Page 30: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[142] J.-G. Dumas and G. Villard. Computing the rank of large sparse matrices over finite fields.In CASC’2002, The Fifth International Workshop on Computer Algebra in Scientific Com-puting, Big Yalta, Crimea, Ukraine, 2002. Springer-Verlag.

[143] J.-M. Muller. Proposals for a specification of the elementary functions. In SCAN’2002, Paris,France, 2002.

[144] N. Revol. Reliable and accurate solutions of linear and nonlinear systems. In SIAM Confer-ence on Optimization, Toronto, Canada, 2002.

[145] N. Revol and F. Rouillier. Motivations for an arbitrary precision interval arithmetic and thempfi library. In Validated Computing, Toronto, Canada, 2002.

[146] N. Revol and F. Rouillier. MPFI: a library for arbitrary precision interval arithmetic. InSCAN’2002, Paris, France, 2002.

6.6 Internal Reports

[147] S. Boldo and G. Melquiond. Emulation of a fma and correctly-rounded sums: proved algo-rithms using rounding to odd. Technical Report inria-00080427, HAL, 2006. Submitted toIEEE-TC.

[148] H. Bronnimann, G. Melquiond, and S. Pion. Bool set: multi-valued logic. Technical Report2046, C++ standardization committee, 2006.

[149] H. Bronnimann, G. Melquiond, and S. Pion. A proposal to add interval arithmetic to theC++ standard library. Technical Report 2067, C++ standardization committee, 2006.

[150] C. Pernet, A. Rondepierre, and G. Villard. Computing the Kalman form. Research reportccsd-00009558, ArXiv cs.SC/0510014, October 2005.

[151] J.-L. Beuchat. A family of modulo (2n + 1) multipliers. Research report 5316, InstitutNational de Recherche en Informatique et en Automatique, September 2004.

[152] A. Darte, R. Schreiber, and G. Villard. Lattice based memory allocation. Research report2004-23, Laboratoire de l’Informatique du Parallelisme, Ecole Normale Superieure de Lyon,April 2004.

[153] J.-L. Beuchat, N. Sendrier, A. Tisserand, and G. Villard. FPGA implementation of a re-cently published signature scheme. Research report 5158, Institut National de Recherche enInformatique et en Automatique, March 2004.

[154] F. de Dinechin, D. Defour, and C. Lauter. Fast correct rounding of elementary functionsin double precision using double-extended arithmetic. Research report 5137, INRIA, March2004. Submitted to TOMS.

[155] J. Detrey and F. de Dinechin. A tool for unbiased comparison between logarithmic andfloating-point arithmetic. Research report 2004–31, Laboratoire de l’Informatique du Par-allelisme, Ecole Normale Superieure de Lyon, March 2004.

[156] P. Kornerup and J.-M. Muller. Rn-codings of numbers: definition and some properties.Technical Report 2004-44, LIP, ENS-Lyon, 2004.

[157] J.-L. Beuchat. More on modulo 2n − 1 addition. Technical Report 2003-14, LIP, 2003.

[158] N. Brisebarre. An algorithm for finding entire solutions of systems of difference equations.Technical Report LIP research report RR2003-53, 2003.

[159] N. Brisebarre and J.-M. Muller. Finding the ”truncated” polynomial that is closest to afunction. ArXiv cs.MS/0307009, 2003.

[160] D. Defour, F. de Dinechin, and J.-M. Muller. CR-LIBM: The evaluation of the ex-ponential. Technical Report RR2003-37, LIP, 2003. Available at http://www.ens-lyon.fr/LIP/Pub/Rapports/RR/RR2003/RR2003-37.ps.gz.

[161] J.-L. Beuchat. High Throughput Implementations of the rc6 Block Cipher Using Virtex-Eand Virtex-II Devices. Technical Report 4495, INRIA, July 2002.

30

Page 31: INRIA, Evaluation of Theme Sym B - ens-lyon.fr filemoved to LP2A, Perpignan (2005). Arnaud Tisserand was CR1 INRIA and he is now CR1 CNRS at LIRMM, Montpellier (2005). • Gilles Villard

[162] C.-P. Jeannerod and G. Labahn. Snap user’s guide. Technical Report CS-2002-22, Universityof Waterloo, April 2002.

[163] S. Boldo and M. Daumas. Necessary and sufficient conditions for exact floating-point oper-ations. Technical Report 4644, INRIA, 2002.

[164] D. Defour. Cache-Optimised Methods for the Evaluation of Elementary Functions. TechnicalReport LIP 2002-38, LIP, 2002.

[165] J.-M. Muller. Accelerating Floating-Point Division when the Divisor is known in Advance.Technical Report 4532, INRIA, 2002.

[166] J.-M. Muller. “Partially rounded” small-order approximations for accurate, hardware-oriented, table-based methods. Technical Report 4593, INRIA, 2002.

31