Floating-point arithmetic provides a fast but inexact way ofcomputing geometric predicates. In order for these predicates to beexact, it is important to rule out all the numerical situations wherefloating-point computations could lead to wrong results. Taking intoaccount all the potential problems is a tedious work to do by hand. Westudy in this paper a floating-point implementation of a filter for theorientation-2 predicate, and how a formal and partially automatizedverification of this algorithm avoided many pitfalls. The presentedmethod is not limited to this particular predicate, it can easily be usedto produce correct semi-static floating-point filters for othergeometric predicates.