Computer arithmetic deals with the *study*, *design*, *optimization* and *validation* of **theoretical** and **practical** **means of computing operations** such as addition, subtraction, multiplication, division, square-root, cubic-root, norms, sine, cosine, exponential, logarithm, hyperbolic functions, functions approximations, dedicated operators for signal or image processing (e.g. FFT), dedicated operators for cryptography, modular operations, etc. Various **representations of numbers** (or number systems) can be used depending on the application and implementation constraints: integer, fixed point, floating point, residue number system (RNS), logarithmic number system (LNS), finite field (F_{2m}, F_{p}), intervals, multiple precision, high radix, redundant number systems, etc.

The design of *efficient* (accurate, fast, small silicon area or memory/code size, low power consumption, security, reliability to errors/faults) arithmetic operators depends on a complex trade-off between:

- the
**number system(s)**used to represent the data (width, digits coding at bit level…);

- the
**algorithms**used to compute the mathematical operations (evaluation methods, speed/area trade-offs, fused operations…);

- the
**characteristics of data**(accuracy, signal activity, space/time correlations…);

- and some
**implementation constraints**(specific cells in the standard library, logic style, available instructions…).

Validation of algorithms and operators is also in important topic in computer arithmetic. The validation can be done at design time (using formal proof methods and tools for instance) or during the execution. The accuracy of the computations and their specific behvior (e.g. overflow) have to be validated.

## Arithmetic Operators Developped in CAIRN

- Standard and low power arithmetic operators
- Multiplication by constants
- Division
- Functions approximations (polynomial, tables and addition…)
- Operators for cryptography (operations over large finite fields and integers for ECC, HECC, RSA and FHE)
- Estimated arithmetic operators for multimedia and signal-processing applications
- Reliable arithmetic operators for signal processing applications

## Links on Computer Arithmetic

- Symposium on Computer Arithmetic: ARITH 22, ARITH 21, ARITH 20, ARITH 19, ARITH 18, ARITH 17, ARITH 16, ARITH 14
- Research teams in France: Aric (previously Arénaire), Eco (previously Arith), Caramel, Dali, Pequan.
- RAIM (french national meetings around arithmetic topics): 2015, 2013, 2012, 2011, 2009, 2008, 2007