2018/input/21_notes.txt

36 lines
1.6 KiB
Plaintext

#ip 1
0 1 2 3 4 5 6
a ip c d e f g
0 seti 123 0 3 d = 123
1 bani 3 456 3 L1: d = 123 & 456
2 eqri 3 72 3 if (123 & 456 != 72)
3 addr 3 1 1 then
4 seti 0 0 1 goto L1 int f; int d = 0;
5 seti 0 9 3 else d = 0 while (true) {
6 bori 3 65536 5 L0: f = d | 65536 f = d | 65536;
7 seti 15028787 4 3 d = 15028787 d = 15028787;
8 bani 5 255 2 L8: c = f & 255
9 addr 3 2 3 d += c
10 bani 3 16777215 3 d &= 16777215
11 muli 3 65899 3 d *= 65899
12 bani 3 16777215 3 d &= 16777215 d = (d + f & 255) & 16777215 * 65899 & 16777215;
13 gtir 256 5 2 if (256 > f) while (f >= 256) {
14 addr 2 1 1 then goto L2
15 addi 1 1 1 else goto L3
16 seti 27 3 1 L2: goto L4
17 seti 0 9 2 L3: c = 0
18 addi 2 1 4 L9: e = c + 1
19 muli 4 256 4 e *= 256
20 gtrr 4 5 4 if (e > f)
21 addr 4 1 1 then goto L5
22 addi 1 1 1 else goto L6
23 seti 25 1 1 L5: goto L7
24 addi 2 1 2 L6: c += 1
25 seti 17 8 1 goto L9
26 setr 2 4 5 L7: f = c f /= 256;
27 seti 7 3 1 goto L8 d = (d + f & 255) & 16777215 * 65899 & 16777215;
28 eqrr 3 0 2 L4: if (a == d) }
29 addr 2 1 1 then return if (a == d) return;
30 seti 5 3 1 goto L0 }