  A backward stable numerical calculation of a function with condition number
$\kappa$ will have a relative accuracy of $\kappa\epsilon_{\text{machine}}$.
Standard formulations and software implementations of finite-strain elastic
materials models make use of the deformation gradient $\boldsymbol F = I +
\partial \boldsymbol u/\partial \boldsymbol X$ and Cauchy-Green tensors. These
formulations are not numerically stable, leading to loss of several digits of
accuracy when used in the small strain regime, and often precluding the use of
single precision floating point arithmetic. We trace the source of this
instability to specific points of numerical cancellation, interpretable as
ill-conditioned steps. We show how to compute various strain measures in a
stable way and how to transform common constitutive models to their stable
representations, formulated in either initial or current configuration. The
stable formulations all provide accuracy of order $\epsilon_{\text{machine}}$.
In many cases, the stable formulations have elegant representations in terms of
appropriate strain measures and offer geometric intuition that is lacking in
their standard representation. We show that algorithmic differentiation can
stably compute stresses so long as the strain energy is expressed stably, and
give principles for stable computation that can be applied to inelastic
materials.
