How to handle accuracy issues ?

Writing acurate and numerically stable software is not easy, especially if good runtime performances are mandatory.

Rounding errors generated by the software can propagate and amplify themselves during the execution. Today, there still exist a huge number of algorithms used to limit the rounding errors even when computing a sum of floating point numbers, and the scientific community keeps inventing new and better ones every year. It is the same case for other algorithms, such as calculation of matrix and vector products, to name just two. In each case, creating a good algorithm implies taking into account the values which will be manipulated by the algorithm. This remains however a major challenge as there is no guide for implementation outside the well-known cases and the mathematics allow a very large number of ways to write a same formula.

In order to succeed we must write the formula in the right way and take into account the possible values of the variables.