Sollya: An environment and library for safe floating-point code development

RossBencina1 pts0 comments

Sollya software tool

Sollya

Download: Sollya 8.0 (released on March 29, 2022).

Sollya is directly available as a package within the following Linux distributions: Debian and Ubuntu.

Documentation:

Complete documentation: PDF or online.

List of commands and functions: on a single page or with each command on a different page.

Mailing-list:<br>For questions regarding how to use Sollya, feature requests, discussion with other users, etc. Subscribe here.

NEWS

Third-party developers wrote an interface to Sollya within Python, hence offering all the features of the Sollya tool inside Python. Check out their GitLab! To be sure of using a version compatible with your version of Sollya, go to the "Tag" tab and download the appropriate tagged version. There is no full documentation, but you can start by having a look at their README file and the examples folder.

What is Sollya?

Sollya is both a tool environment and a library for safe floating-point code<br>development. It is particularily targeted to the automatized<br>implementation of mathematical floating-point libraries<br>(libm). Amongst other features, it<br>offers a certified<br>infinity (supremum) norm and a fast Remez algorithm.

Sollya is developed<br>by University of Alaska Anchorage, College of Engineering and FACTAS.<br>It is written by Christoph Lauter,<br>Sylvain Chevillard,<br>M. Joldeș and N. Jourdan. The Inria project-teams Arénaire, Caramel and Apics and the team PEQUAN from the LIP6 laboratory at Sorbonne Université contributed to previous versions of Sollya.

Sollya provides you with:

a certified infinity (supremum) norm for computing safe approximation error bounds,

an automatized implementer for approximation polynomials in CRlibm-style C-code with the corresponding Gappa proof,

a fast implementation of Remez algorithm for computing minimax polynomials,

a full-featured programming language adapted to analysis of numerical programs like in a Computer-Algebra-System,

a faithful-rounding, multi-precision evaluator of composed functional expressions extending MPFR,

a highly accurate and fast floating-point infinity (supremum) norm,

support for floating-point rounding operators and expansions in common precisions,

a special floating-point minimax procedure,

basic MathML input and output support,

interfaces for extending Sollya with your own code and much more...

In order to build Sollya, you will need: a C compiler (e.g., gcc), a C++ compiler (e.g., g++), GMP, MPFR, MPFI, FPLLL, and libxml2.

Gnuplot is highly recommended for using the plot and externalplot commands. It is not required though.<br>History: the list of all versions of Sollya is available here.

Weekly build

A snapshot of the Sollya git repository is usually taken every week. It is as easy to install as a stable release!

Download: weekly release (dated from 2026-06-29).

Documentation:

Complete documentation: PDF or online.

List of commands and functions: on a single page or with each command on a different page.

How to cite Sollya?

Currently, the proper way to cite Sollya in a scientific publication is:

Sollya: an environment for the development of numerical codes.

S. Chevillard, M. Joldeș and C. Lauter.

In Mathematical Software - ICMS 2010, pages 28-31, Heidelberg, Germany, September 2010. Springer.

BibTeX.

Development

The latest development version is available in a git repository that can be found here. The most up-to-date online documentation is here. You will need Bison and Flex to compile the sources from the git repository.

Bug reports and feature requests: just send us an email at sollya.development at inria.fr.

Who uses Sollya?

We are aware of the following projects using Sollya.

the Metalibm project,

the FloPoCo project

and perhaps some others...

If you use Sollya and you wish to be added to this list, please contact us.

License

The Sollya tool and the material of this website is Copyright &copy; 2006-2022 by

Laboratoire de l'Informatique du Parallélisme

UMR CNRS - ENS Lyon - UCB Lyon 1 - INRIA 5668

Lyon, France,

LORIA (CNRS, INPL, INRIA, UHP, U-Nancy 2), Nancy, France,

Laboratoire d'Informatique de Paris 6, equipe PEQUAN,

UPMC Universite Paris 06 - CNRS - UMR 7606 - LIP6, Paris, France,

Laboratoire d'Informatique de Paris 6 - Équipe PEQUAN

Sorbonne Universités

UPMC Univ Paris 06

UMR 7606, LIP6

Boîte Courrier 169

4, place Jussieu

F-75252 Paris Cedex 05

France,

Sorbonne Université

CNRS, Laboratoire d'Informatique de Paris 6, LIP6

F - 75005 Paris

France,

CNRS, LIP6, UPMC

Sorbonne Universités, UPMC Univ Paris 06

CNRS, LIP6 UMR 7606, 4 place Jussieu 75005 Paris,

University of Alaska Anchorage, College of Engineering

and by

Centre de recherche INRIA Sophia Antipolis Méditerranée,

Équipes APICS, FACTAS,

Sophia Antipolis, France.

All rights reserved.

This software is governed by the CeCILL-C license under French law and<br>abiding by the rules of distribution of free software. You can use,<br>modify and/ or redistribute the software under the terms...

sollya paris floating point development documentation

Related Articles