Backface Culling Logic Help

I have some logical issues with a tutorial found here.

there it gives a visibility formula as follows for determining what side of a 2d triangle is visible.
[FONT=Courier New][COLOR=#0000ff]if[/COLOR][/FONT][FONT=Courier New][SIZE=2] (((B.y-A.y)/(B.x-A.x) - (C.y-A.y)/(C.x-A.x) < 0) ^ (A.x <= B.x == A.x > C.x)){[/SIZE][/FONT]
[SIZE=2][FONT=Courier New]visibility = [COLOR=#0000ff]true[/COLOR];[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[COLOR=#0000ff]else[/COLOR]{[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]visibility = [COLOR=#0000ff]false[/COLOR];[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[/FONT][/SIZE]

[FONT=Courier New]Now consider the following picture[/FONT]

the triangle is currently “Visible”, so I tried to work my way through the formula but it never seems to come out right.

There are two parts to the formula, the first part says that if the slope of AB - slope of AC is < 0 then that arguement is true. The second part says that if (A.x<=B.x)==(A.x>C.x) then that part is true. In order for the triangle to be visible, the two areguments must be different (because of the “^” comparison [aka “!=”])

well according to the picture you have AB, with a larger positive slope, and AC with a smaller positive slope. So when the larger subtracts the smaller it’s still positive, so the first arguement is false. Therefore the second has to be true in order for the triangle to still be visible.

Well A is left of B is left of C so (A.x<=B.x) is true and (A.x>C.x) is false, because the two arent the same then the whole second arguement is false.

Because both argements are false, the “^” returns false and then the triangle is NOT visible. But the picture says it is visible…

Logically this is burning my brain out. What am I missing? The formula clearly works, because the picture was from the flash example from the link above, but it doesn’t make sense. It shouldn’t be visible when it is and isn’t when it is? ARRHG!