There’s nothing wrong with what you’re doing with the IF/THEN statements
so long as you follow it, the compiled code is similar, and possiblly even worse.

Code:
if (battery=charged) && (lightbulb != blown) then ‘ AND
bulb will light
endif

if (battery = flat) || (lightbulb = blown) then ‘ OR
bulb will not light
endif