compile if with else