If (x*x+y*y<=1) and (y>=x) or (x*x+y*y<=1) and (y<=x) and (x<=0) then Что не так?
Дополнен 

По дате
По рейтингу
Здесь все значительно проще
if (x*x+y*y<=1) and ((x<=0) or (y>=x)) then
Ведь нигде не сказано, что области, определяемые разными условиями, не должны перекрываться.
А двойные скобки че не ставите
if ((x*x+y*y<=1) and (y>=x)) or ???
Где-то так:
if (x*x+y*y<=1) and ( (y >= x) or ( (y < x) and (x <= 0) ) then
if ((x*x+y*y<=1) and (y>=x)) or ((x*x+y*y<=1) and (y<=x) and (x<=0))then
Вроде так надо
по-идее все что после if но перед then должно быть в скобке
Больше по теме