Floating-point arithmetic provides a fast but inexact way of
computing geometric predicates. In order for these predicates to be
exact, it is important to rule out all the numerical situations where
floating-point computations could lead to wrong results. Taking into
account all the potential problems is a tedious work to do by hand. We
study in this paper a floating-point implementation of a filter for the
orientation-2 predicate, and how a formal and partially automatized
verification of this algorithm avoided many pitfalls. The presented
method is not limited to this particular predicate, it can easily be used
to produce correct semi-static floating-point filters for other
geometric predicates.