Improve simplification of filters

This in total is about a 30-40% reduction in the speed of the for-vector test case, and should be faster than before the large jump.
Couldn't this function be written more simply as something like:

```
(cond [(implies? extra-filter f) -top]
          [(contradictory? extra-filter f) -bot]
          [else f])
```

But I suppose this formulation saves some work, so it's probably not worth changing. Maybe including the simpler implementation in a comment would be useful.