and it produced all the rows, not just the ones beginning with visc60 that I expected. Based on what you had written, I should have seen the correct output. So, any ideas?
EXPLAIN ANALYZE SELECT * FROM results WHERE result <> 'PASS';
What happens when you run the following? Do you see the same incorrect behavior?