Strictly by definition (for men, anyway):
Formal = Tuxedo
Semi-formal = Jacket and Tie
Casual = Slacks, Polo shirt, but no shorts or tennis shoes.
That said, I saw TONS of guys wearing khakis and open shirts on formal nights! I hate that to no end!! GRRRRRRRRRR
Not a semi-formal night, mind you, but FORMAL night - that means where a tux was the suggested attire, these bozos were in loafers and polo shirts.... Sorry, but it bugs me. No class. And if that's not bad enough...
On our formal night in Lumiere's, which is by nature a very formal restaurant, the guy at the table next to us was in SHORTS!!! I kid you not. It was all I could do not to sling my pasta all over him! (Now how's that for class?

)
The same is true for some women I'm afraid. I saw women on semi formal nights wearing shorts and a tshirt over their bathing suits. Total disregard for the dress code and the mood of the evening.
Sorry you asked?
'Beano'