|#| start exhaustive |#| exhaustive { |A += 5| A, A, A, A, A |A += 10| A += 5, A += 5 |B += 5| B, B, B, B, B |B += 10| B += 5, B += 5 |check if B is zero, B| B is not zero, B |check if B is zero| B is zero |clear A, A| clear A |clear A| |clear B, B| clear B |clear B| |copy A to C, A| C, temp, copy A to C |copy A to C| move temp to A |move temp to A, temp| A, move temp to A |move temp to A| |decrement B, B| |decrement B| |#| exhaustive } |#| end exhaustive |multiply A and B, B is not zero| copy A to C, decrement B, multiply A and B |multiply A and B, B is zero| clear A, clear B |multiply A and B| check if B is zero, multiply A and B |move C to A, C| A, move C to A |move C to A| |A *= 10| B += 10, multiply A and B, move C to A || A += 10, A *= 10, A *= 10, A *= 10, A *= 10