Fix order of evaluating conditions having synpreds in them

- significant performance improvement