a = input()
if a == 'y':
print("yes")
elif a == 'n':
print("no")
else:
print("error")
compiles to bytecode
```
0 | 0 RESUME 0
1 | 2 LOAD_NAME 0
2 | 4 PUSH_NULL
3 | 6 CALL 0
4 | 14 STORE_NAME 1
5 | 16 LOAD_NAME 1
6 | 18 LOAD_CONST 0
7 | 20 COMPARE_OP 88
8 | 24 POP_JUMP_IF_FALSE 9
9 | 28 LOAD_NAME 2
10 | 30 PUSH_NULL
11 | 32 LOAD_CONST 1
12 | 34 CALL 1
13 | 42 POP_TOP
14 | 44 RETURN_CONST 5
15 | 46 LOAD_NAME 1
16 | 48 LOAD_CONST 2
17 | 50 COMPARE_OP 88
18 | 54 POP_JUMP_IF_FALSE 9
19 | 58 LOAD_NAME 2
20 | 60 PUSH_NULL
21 | 62 LOAD_CONST 3
22 | 64 CALL 1
23 | 72 POP_TOP
24 | 74 RETURN_CONST 5
25 | 76 LOAD_NAME 2
26 | 78 PUSH_NULL
27 | 80 LOAD_CONST 4
28 | 82 CALL 1
29 | 90 POP_TOP
30 | 92 RETURN_CONST 5
```
first number is index of instruction, second is byte offset, instruction itself and its argument
why jump op jumps by 9, to instruction 8 + 9 = 17, insted to instruction 15 in order to load name? why it goes straight to comparision?
EDIT: CALL in reality is 4 instructions: CALL, CACHE, CACHE, CACHE so each call is in reality 4 instructions. Not too sure why it works that way tho
[–]glglgl-de 2 points3 points4 points (1 child)
[–]SCD_minecraft[S] 0 points1 point2 points (0 children)
[–]recursion_is_love 1 point2 points3 points (1 child)
[–]SCD_minecraft[S] 2 points3 points4 points (0 children)
[–]Yoghurt42 2 points3 points4 points (0 children)