Overhaul and fix floating-point compares.