Arb - a C library for arbitrary-precision interval arithmetic


Welcome to Arb’s documentation! Arb is a C library for arbitrary-precision interval arithmetic, using a midpoint-radius representation (“ball arithmetic”). It supports real and complex numbers, polynomials, power series, matrices, and evaluation of many transcendental functions. All operations are done with automatic, rigorous error bounds. The code is thread-safe, portable, and extensively tested.

Arb is free software distributed under the GNU Lesser General Public License (LGPL), version 2.1 or later (see License).

The git repository is

Arb is developed by Fredrik Johansson (, with help from many contributors (see Credits and references). Questions and discussion about Arb are welcome on the flint-devel mailing list. There is also an issue tracker for bug reports and feature requests. Development progress is sometimes covered on Fredrik’s blog.

This documentation is available in HTML format at and in PDF format at The version of the documentation you are currently reading was updated Oct 16, 2016 and describes Arb 2.9.0-git. Documentation for specific release versions is also available in PDF format.

Higher mathematical functions

These modules implement mathematical functions with complexity that goes beyond the basics covered directly in the arb and acb modules.


Using ball arithmetic, it is possible to do rigorous root-finding and integration (among other operations) with generic functions. This code should be considered experimental.

Supplementary algorithm notes

Here, we give extra proofs, error bounds, and formulas that would be too lengthy to reproduce in the documentation for each module.