OK, good ... perhaps a strange-sounding thing to say, but my experience with Oracle has been that simple expression re-ordering of this type doesn't cause it to give up applying the function to every row before using the qualification exprs to chop them down to a reasonable number.
PG does join re-ordering but apparently not expression re-ordering, interesting ...
Still ... we shouldn't really depend on this. It would be too easy for someone to decide to change things around if they're tweaking the query for other reasons, and unknowlingly put it back into its really slow form.