  Advanced embedded algorithms are growing in complexity and they are an
essential contributor to the growth of autonomy in many areas. However, the
promise held by these algorithms cannot be kept without proper attention to the
considerably stronger design constraints that arise when the applications of
interest, such as aerospace systems, are safety-critical. Formal verification
is the process of proving or disproving the ''correctness'' of an algorithm
with respect to a certain mathematical description of it by means of a
computer. This article discusses the formal verification of the Ellipsoid
method, a convex optimization algorithm, and its code implementation as it
applies to receding horizon control. Options for encoding code properties and
their proofs are detailed. The applicability and limitations of those code
properties and proofs are presented as well. Finally, floating-point errors are
taken into account in a numerical analysis of the Ellipsoid algorithm.
Modifications to the algorithm are presented which can be used to control its
numerical stability.
