  We describe how variable precision floating point arithmetic can be used in
the iterative solver GMRES. We show how the precision of the inner products
carried out in the algorithm can be reduced as the iterations proceed, without
affecting the convergence rate or final accuracy achieved by the iterates. Our
analysis explicitly takes into account the resulting loss of orthogonality in
the Arnoldi vectors. We also show how inexact matrix-vector products can be
incorporated into this setting.
