
#source
    
    A and B or C and D;

#bytecode
    
    PUSHVAR "A";
    JUMPIFNOTANDPOP false_0;
    PUSHVAR "B";
    JUMPIFNOTANDPOP false_0;
    PUSHTRU;
    JUMP end_0;
false_0:
    PUSHFLS;
end_0:
    JUMPIFANDPOP true_2;
    PUSHVAR "C";
    JUMPIFNOTANDPOP false_1;
    PUSHVAR "D";
    JUMPIFNOTANDPOP false_1;
    PUSHTRU;
    JUMP end_1;
false_1:
    PUSHFLS;
end_1:
    JUMPIFANDPOP true_2;
    PUSHFLS;
    JUMP end_2;
true_2:
    PUSHTRU;
end_2:
    POP 1;
    RETURN 0;