  We describe lrsarith which is a small fixed precision and hybrid arithmetic C
library for integers and rationals that we developed for use in the lrslib
library for polyhedral computation. Using a generic set of operations, a
program can be compiled with either 64-bit or 128-bit (if available) fixed
precision, with an extended precision library such as GMP or the built-in MP
routines. A simple scheme checks for overflow and either terminates the program
or, in hybrid mode, changes to a higher precision arithmetic. Implementing
these arithmetics in lrslib resulted in only minimal changes to the original
code. We give computational results using lrs and mplrs, vertex/facet
enumeration codes in lrslib, using 64 and 128 bit fixed integer arithmetic with
and without overflow checking, GMP arithmetic, lrsarith hybrid arithmetic with
both GMP and MP, and FLINT hybrid arithmetic. We give a small self-contained
example C program using the lrsarith package in both fixed precision and hybrid
mode.
