By the way;
You don't exculude if equals to 0 case, i mean what you want to be happen in that case.
You use both if "<=0" and ">=0", if it is equals 0, which one should be happen? Currently first if statement will be action and the other one discarded.
Take care that point.
as emresel said you should correct your digit after <= and >= . anyway it is better to use < and > instead <= and >=. for example use x<1 instead use x<=0.
For this case of yours, the syntax is not correct as you can not use a condition after 'else' statement. So either use 'else' alone (which really would solve your ambiguous real(sn)==0 case ) or use 'elseif' statement with appropriate correction to the condition overlap.