Skip to content

Instantly share code, notes, and snippets.

@tomtheisen
Created December 22, 2018 01:27
Show Gist options
  • Save tomtheisen/2d33836b9e06d8dce0cf3e421f9f3fe9 to your computer and use it in GitHub Desktop.
Save tomtheisen/2d33836b9e06d8dce0cf3e421f9f3fe9 to your computer and use it in GitHub Desktop.
aoc19 wip
#ip 1
ip0 jmp ip17 // addi 1 16 1
ip1 r[5] = 1 // seti 1 1 5
ip2 r[2] = 1 // seti 1 4 2
ip3 r[3] = r[5] * r[2] // mulr 5 2 3
ip4 r[3] = r[3] == r[4] // eqrr 3 4 3
ip5 r[1] += r[3] // addr 3 1 1
ip6 jmp ip8 // addi 1 1 1
ip7 r[0] += r[5] // addr 5 0 0
ip8 r[2] += 1 // addi 2 1 2
ip9 r[3] = r[2] > r[4] // gtrr 2 4 3
ip10 r[1] += r[3] // addr 1 3 1
ip11 jmp ip3 // seti 2 7 1
ip12 r[5] += 1 // addi 5 1 5
ip13 r[3] = r[5] > r[4] // gtrr 5 4 3
ip14 r[1] += r[3] // addr 3 1 1
ip15 jmp ip2 // seti 1 8 1
ip16 end // mulr 1 1 1
ip17 r[4] += 2 // addi 4 2 4
ip18 r[4] *= r[4] // mulr 4 4 4
ip19 r[4] *= 19 // mulr 1 4 4
ip20 r[4] *= 11 // muli 4 11 4
ip21 r[3] += 1 // addi 3 1 3
ip22 r[3] *= 22 // mulr 3 1 3
ip23 r[3] += 3 // addi 3 3 3
ip24 r[4] += r[3] // addr 4 3 4
ip25 r[1] += r[0] // addr 1 0 1
ip26 jmp ip1 // seti 0 3 1
ip27 r[3] = r[1] // setr 1 1 3
ip28 r[3] *= r[1] // mulr 3 1 3
ip29 r[3] += r[1] // addr 1 3 3
ip30 r[3] *= r[1] // mulr 1 3 3
ip31 r[3] *= 14 // muli 3 14 3
ip32 r[3] *= r[1] // mulr 3 1 3
ip33 r[4] += r[3] // addr 4 3 4
ip34 r[0] = 0 // seti 0 9 0
ip35 jmp ip1 // seti 0 4 1
#ip 1
ip0 jmp ip17
*ip1 r[5] = 1
*ip2 r[2] = 1
*ip3 r[3] = 1 == r[4]
ip5 if r[3]: r[0] += r[5]
ip8 r[2] += 1
ip9 r[3] = ++r[2] > r[4]
ip10 if not r[3]: jmp ip3
*ip12 r[3] = ++r[5] > r[4]
ip14 if r[3]: end
ip15 jmp ip2
*ip17 r[4] += 2
ip18 r[4] *= r[4] * 19 * 11
ip21 r[3] = (r[3] + 1) * 22 + 3
ip24 r[4] += r[3]
ip25 r[1] += r[0]
ip26 jmp ip1
*ip27 r[3] = 27
ip28 r[3] *= 28
ip29 r[3] += 29
ip30 r[3] *= 30
ip31 r[3] *= 14
ip32 r[3] *= 32
ip33 r[4] += r[3]
ip34 r[0] = 0
ip35 jmp ip1
#ip 1
*ip17 r[4] = 2 * 2 * 19 * 11
ip21 r[3] = (r[3] + 1) * 22 + 3
ip24 r[4] += r[3]
ip25 if r[0]:
*ip27 r[3] = (27 * 28 + 29) * 30 * 14 * 32
ip33 r[4] += r[3]
ip34 r[0] = 0
*ip1 r[5] = 1
*ip2 r[2] = 1
*ip3 r[3] = 1 == r[4]
ip5 if r[3]: r[0] += r[5]
ip8 r[2] += 1
ip9 r[3] = ++r[2] > r[4]
ip10 if not r[3]: jmp ip3
*ip12 r[3] = ++r[5] > r[4]
ip14 if r[3]: end
ip15 jmp ip2
#ip 1
*ip17 r[4] = 836
ip21 r[3] = 25
ip24 r[4] += 25
ip25 if r[0]:
*ip27 r[3] = 10550400
ip33 r[4] += 10550400
ip34 r[0] = 0
*ip1 r[5] = 1
*ip2 r[2] = 1
*ip3 r[3] = 1 == r[4]
ip5 if r[3]: r[0] += r[5]
ip8 r[2] += 1
ip9 r[3] = ++r[2] > r[4]
ip10 if not r[3]: jmp ip3
*ip12 r[3] = ++r[5] > r[4]
ip14 if r[3]: end
ip15 jmp ip2
#ip 1
*ip17 r[4] = 836
ip21 r[3] = 25
ip24 r[4] += 25
ip25 if r[0]:
ip33 r[4] += 10550400
ip34 r[0] = 0
*ip1 r[5] = 1
*ip2 r[2] = 1
*ip3 if 1 == r[4]: r[0] += r[5]
ip8 r[2] += 1
ip10 if not (++r[2] > r[4]): jmp ip3
*ip12 if (++r[5] > r[4]): end
ip15 jmp ip2
*ip17 r[4] = 861
ip25 if r[0]:
ip33 r[4] += 10550400
ip34 r[0] = 0
*ip1 r[5] = 1
while 1:
*ip2 r[2] = 1
do {
*ip3 if 1 == r[4]: r[0] += r[5]
ip8 r[2] += 1
ip10 } while not (++r[2] > r[4])
*ip12 if (++r[5] > r[4]): end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment