aoc-2021-rust

Advent of Code 2021 Solutions in Rust
git clone https://git.sinitax.com/sinitax/aoc-2021-rust
Log | Files | Refs | README | sfeed.txt

disasm (2649B)


      1; 14 subprograms, each with two parameters a, b
      2; two types of subprograms, z is either divided by 26 or 1
      3; when z / 26, x is < 0, else x >= 10
      4
      5inp w
      6mul x 0
      7add x z
      8mod x 26
      9div z 1
     10add x 12 ; x = 12 + z % 26
     11eql x w
     12eql x 0 ; x = w != (12 + z % 26)
     13mul y 0
     14add y 25
     15mul y x
     16add y 1
     17mul z y ; z *= x * 25 + 1
     18mul y 0
     19add y w
     20add y 4
     21mul y x
     22add z y ; z += x * (w + 4)
     23
     24; z = (w + 4)
     25
     26inp w
     27mul x 0
     28add x z
     29mod x 26
     30div z 1
     31add x 15 ; x = 15 + z % 26
     32eql x w
     33eql x 0 ; x = w != (15 + z % 26)
     34mul y 0
     35add y 25
     36mul y x
     37add y 1
     38mul z y ; z *= (25 * x + 1)
     39mul y 0
     40add y w
     41add y 11
     42mul y x
     43add z y ; z += x * (w + 11)
     44
     45; z = (w != 15 + z % 26) * (w + 11)
     46
     47inp w
     48mul x 0
     49add x z
     50mod x 26
     51div z 1
     52add x 11 ; x = 11 + z % 26
     53eql x w
     54eql x 0 ; x = w != 11 + z % 26
     55mul y 0
     56add y 25
     57mul y x
     58add y 1
     59mul z y ; z *= x * 25 + 1
     60mul y 0
     61add y w
     62add y 7
     63mul y x
     64add z y ; z += z * (w + 7)
     65
     66; z = (w != 11 + z % 26) * (w + 7)
     67
     68inp w
     69mul x 0
     70add x z
     71mod x 26
     72div z 26 ; z = z / 26
     73add x -14 ; x = z % 26 - 14
     74eql x w ; w + 14 == z % 26 (sum!)
     75eql x 0 ; w + 14 != z % 66
     76mul y 0
     77add y 25
     78mul y x
     79add y 1
     80mul z y ; z *= 25 * x + 1
     81mul y 0
     82add y w
     83add y 2
     84mul y x
     85add z y ; z += x * (w + 2)
     86
     87inp w
     88mul x 0
     89add x z
     90mod x 26
     91div z 1
     92add x 12
     93eql x w
     94eql x 0
     95mul y 0
     96add y 25
     97mul y x
     98add y 1
     99mul z y
    100mul y 0
    101add y w
    102add y 11
    103mul y x
    104add z y
    105
    106inp w
    107mul x 0
    108add x z
    109mod x 26
    110div z 26
    111add x -10
    112eql x w
    113eql x 0
    114mul y 0
    115add y 25
    116mul y x
    117add y 1
    118mul z y
    119mul y 0
    120add y w
    121add y 13
    122mul y x
    123add z y
    124
    125inp w
    126mul x 0
    127add x z
    128mod x 26
    129div z 1
    130add x 11
    131eql x w
    132eql x 0
    133mul y 0
    134add y 25
    135mul y x
    136add y 1
    137mul z y
    138mul y 0
    139add y w
    140add y 9
    141mul y x
    142add z y
    143
    144inp w
    145mul x 0
    146add x z
    147mod x 26
    148div z 1
    149add x 13
    150eql x w
    151eql x 0
    152mul y 0
    153add y 25
    154mul y x
    155add y 1
    156mul z y
    157mul y 0
    158add y w
    159add y 12
    160mul y x
    161add z y
    162
    163inp w
    164mul x 0
    165add x z
    166mod x 26
    167div z 26
    168add x -7
    169eql x w
    170eql x 0
    171mul y 0
    172add y 25
    173mul y x
    174add y 1
    175mul z y
    176mul y 0
    177add y w
    178add y 6
    179mul y x
    180add z y
    181
    182inp w
    183mul x 0
    184add x z
    185mod x 26
    186div z 1
    187add x 10
    188eql x w
    189eql x 0
    190mul y 0
    191add y 25
    192mul y x
    193add y 1
    194mul z y
    195mul y 0
    196add y w
    197add y 2
    198mul y x
    199add z y
    200
    201inp w
    202mul x 0
    203add x z
    204mod x 26
    205div z 26
    206add x -2
    207eql x w
    208eql x 0
    209mul y 0
    210add y 25
    211mul y x
    212add y 1
    213mul z y
    214mul y 0
    215add y w
    216add y 11
    217mul y x
    218add z y
    219
    220inp w
    221mul x 0
    222add x z
    223mod x 26
    224div z 26
    225add x -1
    226eql x w
    227eql x 0
    228mul y 0
    229add y 25
    230mul y x
    231add y 1
    232mul z y
    233mul y 0
    234add y w
    235add y 12
    236mul y x
    237add z y
    238
    239inp w
    240mul x 0
    241add x z
    242mod x 26
    243div z 26
    244add x -4
    245eql x w
    246eql x 0
    247mul y 0
    248add y 25
    249mul y x
    250add y 1
    251mul z y
    252mul y 0
    253add y w
    254add y 3
    255mul y x
    256add z y
    257
    258inp w
    259mul x 0
    260add x z
    261mod x 26
    262div z 26
    263add x -12
    264eql x w
    265eql x 0
    266mul y 0
    267add y 25
    268mul y x
    269add y 1
    270mul z y
    271mul y 0
    272add y w
    273add y 13
    274mul y x
    275add z y
    276