Agrego solucion: al tener mas de un return en un metodo, este retornaba el ultimo encontrado y no el primero encontrado. Ademas se agrego la ausencia de tipo en las expresiones numericas negadas.