Deciding Floating-Point Logic with Systematic Abstraction