Você não precisa testar cada caso assim, basta ver que as retas y = y_a e y = y_b formam junto com P um trapézio, então basta testar esquerda/direita para as duas arestas do trapézio que estão no polígono.
Fórum