
stanf1.out:     file format elf64-littleaarch64


Disassembly of section .note.gnu.build-id:

0000000000000000 <.note.gnu.build-id>:
   0:	00000004 	.inst	0x00000004 ; undefined
   4:	00000014 	.inst	0x00000014 ; undefined
   8:	00000003 	.inst	0x00000003 ; undefined
   c:	00554e47 	.inst	0x00554e47 ; undefined
  10:	5c51b9d8 	ldr	d24, a3748 <value+0x79e7c>
  14:	11cef3f7 	.inst	0x11cef3f7 ; undefined
  18:	56c1f898 	.inst	0x56c1f898 ; undefined
  1c:	162c98e0 	b	fffffffff8b2639c <value+0xfffffffff8afcad0>
  20:	9f4b6666 	.inst	0x9f4b6666 ; undefined

Disassembly of section .text:

0000000000000024 <_start>:
      24:	b2681fff 	mov	sp, #0xff000000            	// #4278190080
      28:	94000002 	bl	30 <main>
      2c:	14000000 	b	2c <_start+0x8>

0000000000000030 <main>:
      30:	a9bf7bfd 	stp	x29, x30, [sp,#-16]!
      34:	910003fd 	mov	x29, sp
      38:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
      3c:	91384000 	add	x0, x0, #0xe10
      40:	b900001f 	str	wzr, [x0]
      44:	9400007f 	bl	240 <Perm>
      48:	94000195 	bl	69c <Towers>
      4c:	94000293 	bl	a98 <Queens>
      50:	940002f1 	bl	c14 <Intmm>
      54:	9400041a 	bl	10bc <Puzzle>
      58:	9400079c 	bl	1ec8 <Quick>
      5c:	94000904 	bl	246c <Bubble>
      60:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
      64:	91384000 	add	x0, x0, #0xe10
      68:	b9400000 	ldr	w0, [x0]
      6c:	a8c17bfd 	ldp	x29, x30, [sp],#16
      70:	d65f03c0 	ret

0000000000000074 <Initrand>:
      74:	f00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
      78:	91310000 	add	x0, x0, #0xc40
      7c:	52848061 	mov	w1, #0x2403                	// #9219
      80:	72a00021 	movk	w1, #0x1, lsl #16
      84:	b9000001 	str	w1, [x0]
      88:	d503201f 	nop
      8c:	d65f03c0 	ret

0000000000000090 <Rand>:
      90:	f00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
      94:	91310000 	add	x0, x0, #0xc40
      98:	b9400001 	ldr	w1, [x0]
      9c:	5280a3a0 	mov	w0, #0x51d                 	// #1309
      a0:	1b007c21 	mul	w1, w1, w0
      a4:	5286c320 	mov	w0, #0x3619                	// #13849
      a8:	0b000020 	add	w0, w1, w0
      ac:	12003c01 	and	w1, w0, #0xffff
      b0:	f00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
      b4:	91310000 	add	x0, x0, #0xc40
      b8:	b9000001 	str	w1, [x0]
      bc:	f00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
      c0:	91310000 	add	x0, x0, #0xc40
      c4:	b9400000 	ldr	w0, [x0]
      c8:	d65f03c0 	ret

00000000000000cc <Swap>:
      cc:	d10083ff 	sub	sp, sp, #0x20
      d0:	f90007e0 	str	x0, [sp,#8]
      d4:	f90003e1 	str	x1, [sp]
      d8:	f94007e0 	ldr	x0, [sp,#8]
      dc:	b9400000 	ldr	w0, [x0]
      e0:	b9001fe0 	str	w0, [sp,#28]
      e4:	f94003e0 	ldr	x0, [sp]
      e8:	b9400001 	ldr	w1, [x0]
      ec:	f94007e0 	ldr	x0, [sp,#8]
      f0:	b9000001 	str	w1, [x0]
      f4:	f94003e0 	ldr	x0, [sp]
      f8:	b9401fe1 	ldr	w1, [sp,#28]
      fc:	b9000001 	str	w1, [x0]
     100:	d503201f 	nop
     104:	910083ff 	add	sp, sp, #0x20
     108:	d65f03c0 	ret

000000000000010c <Initialize>:
     10c:	d10043ff 	sub	sp, sp, #0x10
     110:	52800020 	mov	w0, #0x1                   	// #1
     114:	b9000fe0 	str	w0, [sp,#12]
     118:	1400000a 	b	140 <Initialize+0x34>
     11c:	b9400fe0 	ldr	w0, [sp,#12]
     120:	51000402 	sub	w2, w0, #0x1
     124:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     128:	9114a000 	add	x0, x0, #0x528
     12c:	b9800fe1 	ldrsw	x1, [sp,#12]
     130:	b8217802 	str	w2, [x0,x1,lsl #2]
     134:	b9400fe0 	ldr	w0, [sp,#12]
     138:	11000400 	add	w0, w0, #0x1
     13c:	b9000fe0 	str	w0, [sp,#12]
     140:	b9400fe0 	ldr	w0, [sp,#12]
     144:	71001c1f 	cmp	w0, #0x7
     148:	54fffead 	b.le	11c <Initialize+0x10>
     14c:	d503201f 	nop
     150:	910043ff 	add	sp, sp, #0x10
     154:	d65f03c0 	ret

0000000000000158 <Permute>:
     158:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     15c:	910003fd 	mov	x29, sp
     160:	b9001fa0 	str	w0, [x29,#28]
     164:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     168:	910b1000 	add	x0, x0, #0x2c4
     16c:	b9400000 	ldr	w0, [x0]
     170:	11000401 	add	w1, w0, #0x1
     174:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     178:	910b1000 	add	x0, x0, #0x2c4
     17c:	b9000001 	str	w1, [x0]
     180:	b9401fa0 	ldr	w0, [x29,#28]
     184:	7100041f 	cmp	w0, #0x1
     188:	54000560 	b.eq	234 <Permute+0xdc>
     18c:	b9401fa0 	ldr	w0, [x29,#28]
     190:	51000400 	sub	w0, w0, #0x1
     194:	97fffff1 	bl	158 <Permute>
     198:	b9401fa0 	ldr	w0, [x29,#28]
     19c:	51000400 	sub	w0, w0, #0x1
     1a0:	b9002fa0 	str	w0, [x29,#44]
     1a4:	14000021 	b	228 <Permute+0xd0>
     1a8:	b9801fa0 	ldrsw	x0, [x29,#28]
     1ac:	d37ef401 	lsl	x1, x0, #2
     1b0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     1b4:	9114a000 	add	x0, x0, #0x528
     1b8:	8b000022 	add	x2, x1, x0
     1bc:	b9802fa0 	ldrsw	x0, [x29,#44]
     1c0:	d37ef401 	lsl	x1, x0, #2
     1c4:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     1c8:	9114a000 	add	x0, x0, #0x528
     1cc:	8b000020 	add	x0, x1, x0
     1d0:	aa0003e1 	mov	x1, x0
     1d4:	aa0203e0 	mov	x0, x2
     1d8:	97ffffbd 	bl	cc <Swap>
     1dc:	b9401fa0 	ldr	w0, [x29,#28]
     1e0:	51000400 	sub	w0, w0, #0x1
     1e4:	97ffffdd 	bl	158 <Permute>
     1e8:	b9801fa0 	ldrsw	x0, [x29,#28]
     1ec:	d37ef401 	lsl	x1, x0, #2
     1f0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     1f4:	9114a000 	add	x0, x0, #0x528
     1f8:	8b000022 	add	x2, x1, x0
     1fc:	b9802fa0 	ldrsw	x0, [x29,#44]
     200:	d37ef401 	lsl	x1, x0, #2
     204:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     208:	9114a000 	add	x0, x0, #0x528
     20c:	8b000020 	add	x0, x1, x0
     210:	aa0003e1 	mov	x1, x0
     214:	aa0203e0 	mov	x0, x2
     218:	97ffffad 	bl	cc <Swap>
     21c:	b9402fa0 	ldr	w0, [x29,#44]
     220:	51000400 	sub	w0, w0, #0x1
     224:	b9002fa0 	str	w0, [x29,#44]
     228:	b9402fa0 	ldr	w0, [x29,#44]
     22c:	6b1f001f 	cmp	w0, wzr
     230:	54fffbcc 	b.gt	1a8 <Permute+0x50>
     234:	d503201f 	nop
     238:	a8c37bfd 	ldp	x29, x30, [sp],#48
     23c:	d65f03c0 	ret

0000000000000240 <Perm>:
     240:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
     244:	910003fd 	mov	x29, sp
     248:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     24c:	910b1000 	add	x0, x0, #0x2c4
     250:	b900001f 	str	wzr, [x0]
     254:	52800020 	mov	w0, #0x1                   	// #1
     258:	b9001fa0 	str	w0, [x29,#28]
     25c:	14000007 	b	278 <Perm+0x38>
     260:	97ffffab 	bl	10c <Initialize>
     264:	528000e0 	mov	w0, #0x7                   	// #7
     268:	97ffffbc 	bl	158 <Permute>
     26c:	b9401fa0 	ldr	w0, [x29,#28]
     270:	11000400 	add	w0, w0, #0x1
     274:	b9001fa0 	str	w0, [x29,#28]
     278:	b9401fa0 	ldr	w0, [x29,#28]
     27c:	7100141f 	cmp	w0, #0x5
     280:	54ffff0d 	b.le	260 <Perm+0x20>
     284:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     288:	910b1000 	add	x0, x0, #0x2c4
     28c:	b9400001 	ldr	w1, [x0]
     290:	52952480 	mov	w0, #0xa924                	// #43300
     294:	6b00003f 	cmp	w1, w0
     298:	54000100 	b.eq	2b8 <Perm+0x78>
     29c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     2a0:	91384000 	add	x0, x0, #0xe10
     2a4:	b9400000 	ldr	w0, [x0]
     2a8:	32000001 	orr	w1, w0, #0x1
     2ac:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     2b0:	91384000 	add	x0, x0, #0xe10
     2b4:	b9000001 	str	w1, [x0]
     2b8:	d503201f 	nop
     2bc:	a8c27bfd 	ldp	x29, x30, [sp],#32
     2c0:	d65f03c0 	ret

00000000000002c4 <Error>:
     2c4:	d10043ff 	sub	sp, sp, #0x10
     2c8:	f90007e0 	str	x0, [sp,#8]
     2cc:	d503201f 	nop
     2d0:	910043ff 	add	sp, sp, #0x10
     2d4:	d65f03c0 	ret

00000000000002d8 <Makenull>:
     2d8:	d10043ff 	sub	sp, sp, #0x10
     2dc:	b9000fe0 	str	w0, [sp,#12]
     2e0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     2e4:	9117c000 	add	x0, x0, #0x5f0
     2e8:	b9800fe1 	ldrsw	x1, [sp,#12]
     2ec:	b821781f 	str	wzr, [x0,x1,lsl #2]
     2f0:	d503201f 	nop
     2f4:	910043ff 	add	sp, sp, #0x10
     2f8:	d65f03c0 	ret

00000000000002fc <Getelement>:
     2fc:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
     300:	910003fd 	mov	x29, sp
     304:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     308:	91232000 	add	x0, x0, #0x8c8
     30c:	b9400000 	ldr	w0, [x0]
     310:	6b1f001f 	cmp	w0, wzr
     314:	5400026d 	b.le	360 <Getelement+0x64>
     318:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     31c:	91232000 	add	x0, x0, #0x8c8
     320:	b9400000 	ldr	w0, [x0]
     324:	b9001fa0 	str	w0, [x29,#28]
     328:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     32c:	91232000 	add	x0, x0, #0x8c8
     330:	b9400002 	ldr	w2, [x0]
     334:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     338:	91156001 	add	x1, x0, #0x558
     33c:	93407c40 	sxtw	x0, w2
     340:	d37df000 	lsl	x0, x0, #3
     344:	8b000020 	add	x0, x1, x0
     348:	91001000 	add	x0, x0, #0x4
     34c:	b9400001 	ldr	w1, [x0]
     350:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     354:	91232000 	add	x0, x0, #0x8c8
     358:	b9000001 	str	w1, [x0]
     35c:	14000004 	b	36c <Getelement+0x70>
     360:	d0000000 	adrp	x0, 2000 <tInitarr+0xac>
     364:	911ce000 	add	x0, x0, #0x738
     368:	97ffffd7 	bl	2c4 <Error>
     36c:	b9401fa0 	ldr	w0, [x29,#28]
     370:	a8c27bfd 	ldp	x29, x30, [sp],#32
     374:	d65f03c0 	ret

0000000000000378 <Push>:
     378:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     37c:	910003fd 	mov	x29, sp
     380:	b9001fa0 	str	w0, [x29,#28]
     384:	b9001ba1 	str	w1, [x29,#24]
     388:	b9002fbf 	str	wzr, [x29,#44]
     38c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     390:	9117c000 	add	x0, x0, #0x5f0
     394:	b9801ba1 	ldrsw	x1, [x29,#24]
     398:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     39c:	6b1f001f 	cmp	w0, wzr
     3a0:	5400026d 	b.le	3ec <Push+0x74>
     3a4:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     3a8:	9117c000 	add	x0, x0, #0x5f0
     3ac:	b9801ba1 	ldrsw	x1, [x29,#24]
     3b0:	b8617802 	ldr	w2, [x0,x1,lsl #2]
     3b4:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     3b8:	91156001 	add	x1, x0, #0x558
     3bc:	93407c40 	sxtw	x0, w2
     3c0:	d37df000 	lsl	x0, x0, #3
     3c4:	8b000020 	add	x0, x1, x0
     3c8:	b9400001 	ldr	w1, [x0]
     3cc:	b9401fa0 	ldr	w0, [x29,#28]
     3d0:	6b00003f 	cmp	w1, w0
     3d4:	540000cc 	b.gt	3ec <Push+0x74>
     3d8:	52800020 	mov	w0, #0x1                   	// #1
     3dc:	b9002fa0 	str	w0, [x29,#44]
     3e0:	d0000000 	adrp	x0, 2000 <tInitarr+0xac>
     3e4:	911d2000 	add	x0, x0, #0x748
     3e8:	97ffffb7 	bl	2c4 <Error>
     3ec:	b9402fa0 	ldr	w0, [x29,#44]
     3f0:	6b1f001f 	cmp	w0, wzr
     3f4:	54000341 	b.ne	45c <Push+0xe4>
     3f8:	97ffffc1 	bl	2fc <Getelement>
     3fc:	b9002ba0 	str	w0, [x29,#40]
     400:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     404:	9117c000 	add	x0, x0, #0x5f0
     408:	b9801ba1 	ldrsw	x1, [x29,#24]
     40c:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     410:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     414:	91156002 	add	x2, x0, #0x558
     418:	b9802ba0 	ldrsw	x0, [x29,#40]
     41c:	d37df000 	lsl	x0, x0, #3
     420:	8b000040 	add	x0, x2, x0
     424:	91001000 	add	x0, x0, #0x4
     428:	b9000001 	str	w1, [x0]
     42c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     430:	9117c000 	add	x0, x0, #0x5f0
     434:	b9801ba1 	ldrsw	x1, [x29,#24]
     438:	b9402ba2 	ldr	w2, [x29,#40]
     43c:	b8217802 	str	w2, [x0,x1,lsl #2]
     440:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     444:	91156001 	add	x1, x0, #0x558
     448:	b9802ba0 	ldrsw	x0, [x29,#40]
     44c:	d37df000 	lsl	x0, x0, #3
     450:	8b000020 	add	x0, x1, x0
     454:	b9401fa1 	ldr	w1, [x29,#28]
     458:	b9000001 	str	w1, [x0]
     45c:	d503201f 	nop
     460:	a8c37bfd 	ldp	x29, x30, [sp],#48
     464:	d65f03c0 	ret

0000000000000468 <Init>:
     468:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     46c:	910003fd 	mov	x29, sp
     470:	b9001fa0 	str	w0, [x29,#28]
     474:	b9001ba1 	str	w1, [x29,#24]
     478:	b9401fa0 	ldr	w0, [x29,#28]
     47c:	97ffff97 	bl	2d8 <Makenull>
     480:	b9401ba0 	ldr	w0, [x29,#24]
     484:	b9002fa0 	str	w0, [x29,#44]
     488:	14000007 	b	4a4 <Init+0x3c>
     48c:	b9401fa1 	ldr	w1, [x29,#28]
     490:	b9402fa0 	ldr	w0, [x29,#44]
     494:	97ffffb9 	bl	378 <Push>
     498:	b9402fa0 	ldr	w0, [x29,#44]
     49c:	51000400 	sub	w0, w0, #0x1
     4a0:	b9002fa0 	str	w0, [x29,#44]
     4a4:	b9402fa0 	ldr	w0, [x29,#44]
     4a8:	6b1f001f 	cmp	w0, wzr
     4ac:	54ffff0c 	b.gt	48c <Init+0x24>
     4b0:	d503201f 	nop
     4b4:	a8c37bfd 	ldp	x29, x30, [sp],#48
     4b8:	d65f03c0 	ret

00000000000004bc <Pop>:
     4bc:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     4c0:	910003fd 	mov	x29, sp
     4c4:	b9001fa0 	str	w0, [x29,#28]
     4c8:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     4cc:	9117c000 	add	x0, x0, #0x5f0
     4d0:	b9801fa1 	ldrsw	x1, [x29,#28]
     4d4:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     4d8:	6b1f001f 	cmp	w0, wzr
     4dc:	5400068d 	b.le	5ac <Pop+0xf0>
     4e0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     4e4:	9117c000 	add	x0, x0, #0x5f0
     4e8:	b9801fa1 	ldrsw	x1, [x29,#28]
     4ec:	b8617802 	ldr	w2, [x0,x1,lsl #2]
     4f0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     4f4:	91156001 	add	x1, x0, #0x558
     4f8:	93407c40 	sxtw	x0, w2
     4fc:	d37df000 	lsl	x0, x0, #3
     500:	8b000020 	add	x0, x1, x0
     504:	b9400000 	ldr	w0, [x0]
     508:	b9002fa0 	str	w0, [x29,#44]
     50c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     510:	9117c000 	add	x0, x0, #0x5f0
     514:	b9801fa1 	ldrsw	x1, [x29,#28]
     518:	b8617802 	ldr	w2, [x0,x1,lsl #2]
     51c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     520:	91156001 	add	x1, x0, #0x558
     524:	93407c40 	sxtw	x0, w2
     528:	d37df000 	lsl	x0, x0, #3
     52c:	8b000020 	add	x0, x1, x0
     530:	91001000 	add	x0, x0, #0x4
     534:	b9400000 	ldr	w0, [x0]
     538:	b9002ba0 	str	w0, [x29,#40]
     53c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     540:	9117c000 	add	x0, x0, #0x5f0
     544:	b9801fa1 	ldrsw	x1, [x29,#28]
     548:	b8617803 	ldr	w3, [x0,x1,lsl #2]
     54c:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     550:	91232000 	add	x0, x0, #0x8c8
     554:	b9400001 	ldr	w1, [x0]
     558:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     55c:	91156002 	add	x2, x0, #0x558
     560:	93407c60 	sxtw	x0, w3
     564:	d37df000 	lsl	x0, x0, #3
     568:	8b000040 	add	x0, x2, x0
     56c:	91001000 	add	x0, x0, #0x4
     570:	b9000001 	str	w1, [x0]
     574:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     578:	9117c000 	add	x0, x0, #0x5f0
     57c:	b9801fa1 	ldrsw	x1, [x29,#28]
     580:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     584:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     588:	91232000 	add	x0, x0, #0x8c8
     58c:	b9000001 	str	w1, [x0]
     590:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     594:	9117c000 	add	x0, x0, #0x5f0
     598:	b9801fa1 	ldrsw	x1, [x29,#28]
     59c:	b9402ba2 	ldr	w2, [x29,#40]
     5a0:	b8217802 	str	w2, [x0,x1,lsl #2]
     5a4:	b9402fa0 	ldr	w0, [x29,#44]
     5a8:	14000005 	b	5bc <Pop+0x100>
     5ac:	d0000000 	adrp	x0, 2000 <tInitarr+0xac>
     5b0:	911d6000 	add	x0, x0, #0x758
     5b4:	97ffff44 	bl	2c4 <Error>
     5b8:	52800000 	mov	w0, #0x0                   	// #0
     5bc:	a8c37bfd 	ldp	x29, x30, [sp],#48
     5c0:	d65f03c0 	ret

00000000000005c4 <Move>:
     5c4:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
     5c8:	910003fd 	mov	x29, sp
     5cc:	b9001fa0 	str	w0, [x29,#28]
     5d0:	b9001ba1 	str	w1, [x29,#24]
     5d4:	b9401fa0 	ldr	w0, [x29,#28]
     5d8:	97ffffb9 	bl	4bc <Pop>
     5dc:	b9401ba1 	ldr	w1, [x29,#24]
     5e0:	97ffff66 	bl	378 <Push>
     5e4:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     5e8:	910a3000 	add	x0, x0, #0x28c
     5ec:	b9400000 	ldr	w0, [x0]
     5f0:	11000401 	add	w1, w0, #0x1
     5f4:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     5f8:	910a3000 	add	x0, x0, #0x28c
     5fc:	b9000001 	str	w1, [x0]
     600:	d503201f 	nop
     604:	a8c27bfd 	ldp	x29, x30, [sp],#32
     608:	d65f03c0 	ret

000000000000060c <tower>:
     60c:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     610:	910003fd 	mov	x29, sp
     614:	b9001fa0 	str	w0, [x29,#28]
     618:	b9001ba1 	str	w1, [x29,#24]
     61c:	b90017a2 	str	w2, [x29,#20]
     620:	b94017a0 	ldr	w0, [x29,#20]
     624:	7100041f 	cmp	w0, #0x1
     628:	540000a1 	b.ne	63c <tower+0x30>
     62c:	b9401ba1 	ldr	w1, [x29,#24]
     630:	b9401fa0 	ldr	w0, [x29,#28]
     634:	97ffffe4 	bl	5c4 <Move>
     638:	14000016 	b	690 <tower+0x84>
     63c:	528000c1 	mov	w1, #0x6                   	// #6
     640:	b9401fa0 	ldr	w0, [x29,#28]
     644:	4b000021 	sub	w1, w1, w0
     648:	b9401ba0 	ldr	w0, [x29,#24]
     64c:	4b000020 	sub	w0, w1, w0
     650:	b9002fa0 	str	w0, [x29,#44]
     654:	b94017a0 	ldr	w0, [x29,#20]
     658:	51000400 	sub	w0, w0, #0x1
     65c:	2a0003e2 	mov	w2, w0
     660:	b9402fa1 	ldr	w1, [x29,#44]
     664:	b9401fa0 	ldr	w0, [x29,#28]
     668:	97ffffe9 	bl	60c <tower>
     66c:	b9401ba1 	ldr	w1, [x29,#24]
     670:	b9401fa0 	ldr	w0, [x29,#28]
     674:	97ffffd4 	bl	5c4 <Move>
     678:	b94017a0 	ldr	w0, [x29,#20]
     67c:	51000400 	sub	w0, w0, #0x1
     680:	2a0003e2 	mov	w2, w0
     684:	b9401ba1 	ldr	w1, [x29,#24]
     688:	b9402fa0 	ldr	w0, [x29,#44]
     68c:	97ffffe0 	bl	60c <tower>
     690:	d503201f 	nop
     694:	a8c37bfd 	ldp	x29, x30, [sp],#48
     698:	d65f03c0 	ret

000000000000069c <Towers>:
     69c:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
     6a0:	910003fd 	mov	x29, sp
     6a4:	52800020 	mov	w0, #0x1                   	// #1
     6a8:	b9001fa0 	str	w0, [x29,#28]
     6ac:	1400000d 	b	6e0 <Towers+0x44>
     6b0:	b9401fa0 	ldr	w0, [x29,#28]
     6b4:	51000401 	sub	w1, w0, #0x1
     6b8:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     6bc:	91156002 	add	x2, x0, #0x558
     6c0:	b9801fa0 	ldrsw	x0, [x29,#28]
     6c4:	d37df000 	lsl	x0, x0, #3
     6c8:	8b000040 	add	x0, x2, x0
     6cc:	91001000 	add	x0, x0, #0x4
     6d0:	b9000001 	str	w1, [x0]
     6d4:	b9401fa0 	ldr	w0, [x29,#28]
     6d8:	11000400 	add	w0, w0, #0x1
     6dc:	b9001fa0 	str	w0, [x29,#28]
     6e0:	b9401fa0 	ldr	w0, [x29,#28]
     6e4:	7100481f 	cmp	w0, #0x12
     6e8:	54fffe4d 	b.le	6b0 <Towers+0x14>
     6ec:	b0000140 	adrp	x0, 29000 <rmr+0x1188>
     6f0:	91232000 	add	x0, x0, #0x8c8
     6f4:	52800241 	mov	w1, #0x12                  	// #18
     6f8:	b9000001 	str	w1, [x0]
     6fc:	528001c1 	mov	w1, #0xe                   	// #14
     700:	52800020 	mov	w0, #0x1                   	// #1
     704:	97ffff59 	bl	468 <Init>
     708:	52800040 	mov	w0, #0x2                   	// #2
     70c:	97fffef3 	bl	2d8 <Makenull>
     710:	52800060 	mov	w0, #0x3                   	// #3
     714:	97fffef1 	bl	2d8 <Makenull>
     718:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     71c:	910a3000 	add	x0, x0, #0x28c
     720:	b900001f 	str	wzr, [x0]
     724:	528001c2 	mov	w2, #0xe                   	// #14
     728:	52800041 	mov	w1, #0x2                   	// #2
     72c:	52800020 	mov	w0, #0x1                   	// #1
     730:	97ffffb7 	bl	60c <tower>
     734:	900000c0 	adrp	x0, 18000 <rma+0x17c0>
     738:	910a3000 	add	x0, x0, #0x28c
     73c:	b9400001 	ldr	w1, [x0]
     740:	5287ffe0 	mov	w0, #0x3fff                	// #16383
     744:	6b00003f 	cmp	w1, w0
     748:	54000100 	b.eq	768 <Towers+0xcc>
     74c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     750:	91384000 	add	x0, x0, #0xe10
     754:	b9400000 	ldr	w0, [x0]
     758:	321f0001 	orr	w1, w0, #0x2
     75c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     760:	91384000 	add	x0, x0, #0xe10
     764:	b9000001 	str	w1, [x0]
     768:	d503201f 	nop
     76c:	a8c27bfd 	ldp	x29, x30, [sp],#32
     770:	d65f03c0 	ret

0000000000000774 <Try>:
     774:	a9bb7bfd 	stp	x29, x30, [sp,#-80]!
     778:	910003fd 	mov	x29, sp
     77c:	b9003fa0 	str	w0, [x29,#60]
     780:	f9001ba1 	str	x1, [x29,#48]
     784:	f90017a2 	str	x2, [x29,#40]
     788:	f90013a3 	str	x3, [x29,#32]
     78c:	f9000fa4 	str	x4, [x29,#24]
     790:	f9000ba5 	str	x5, [x29,#16]
     794:	b9004fbf 	str	wzr, [x29,#76]
     798:	f9401ba0 	ldr	x0, [x29,#48]
     79c:	b900001f 	str	wzr, [x0]
     7a0:	1400006a 	b	948 <Try+0x1d4>
     7a4:	b9404fa0 	ldr	w0, [x29,#76]
     7a8:	11000400 	add	w0, w0, #0x1
     7ac:	b9004fa0 	str	w0, [x29,#76]
     7b0:	f9401ba0 	ldr	x0, [x29,#48]
     7b4:	b900001f 	str	wzr, [x0]
     7b8:	b9804fa0 	ldrsw	x0, [x29,#76]
     7bc:	d37ef400 	lsl	x0, x0, #2
     7c0:	f94013a1 	ldr	x1, [x29,#32]
     7c4:	8b000020 	add	x0, x1, x0
     7c8:	b9400000 	ldr	w0, [x0]
     7cc:	6b1f001f 	cmp	w0, wzr
     7d0:	54000bc0 	b.eq	948 <Try+0x1d4>
     7d4:	b9403fa1 	ldr	w1, [x29,#60]
     7d8:	b9404fa0 	ldr	w0, [x29,#76]
     7dc:	0b000020 	add	w0, w1, w0
     7e0:	93407c00 	sxtw	x0, w0
     7e4:	d37ef400 	lsl	x0, x0, #2
     7e8:	f94017a1 	ldr	x1, [x29,#40]
     7ec:	8b000020 	add	x0, x1, x0
     7f0:	b9400000 	ldr	w0, [x0]
     7f4:	6b1f001f 	cmp	w0, wzr
     7f8:	54000a80 	b.eq	948 <Try+0x1d4>
     7fc:	b9403fa1 	ldr	w1, [x29,#60]
     800:	b9404fa0 	ldr	w0, [x29,#76]
     804:	4b000020 	sub	w0, w1, w0
     808:	93407c00 	sxtw	x0, w0
     80c:	91001c00 	add	x0, x0, #0x7
     810:	d37ef400 	lsl	x0, x0, #2
     814:	f9400fa1 	ldr	x1, [x29,#24]
     818:	8b000020 	add	x0, x1, x0
     81c:	b9400000 	ldr	w0, [x0]
     820:	6b1f001f 	cmp	w0, wzr
     824:	54000920 	b.eq	948 <Try+0x1d4>
     828:	b9803fa0 	ldrsw	x0, [x29,#60]
     82c:	d37ef400 	lsl	x0, x0, #2
     830:	f9400ba1 	ldr	x1, [x29,#16]
     834:	8b000020 	add	x0, x1, x0
     838:	b9404fa1 	ldr	w1, [x29,#76]
     83c:	b9000001 	str	w1, [x0]
     840:	b9804fa0 	ldrsw	x0, [x29,#76]
     844:	d37ef400 	lsl	x0, x0, #2
     848:	f94013a1 	ldr	x1, [x29,#32]
     84c:	8b000020 	add	x0, x1, x0
     850:	b900001f 	str	wzr, [x0]
     854:	b9403fa1 	ldr	w1, [x29,#60]
     858:	b9404fa0 	ldr	w0, [x29,#76]
     85c:	0b000020 	add	w0, w1, w0
     860:	93407c00 	sxtw	x0, w0
     864:	d37ef400 	lsl	x0, x0, #2
     868:	f94017a1 	ldr	x1, [x29,#40]
     86c:	8b000020 	add	x0, x1, x0
     870:	b900001f 	str	wzr, [x0]
     874:	b9403fa1 	ldr	w1, [x29,#60]
     878:	b9404fa0 	ldr	w0, [x29,#76]
     87c:	4b000020 	sub	w0, w1, w0
     880:	93407c00 	sxtw	x0, w0
     884:	91001c00 	add	x0, x0, #0x7
     888:	d37ef400 	lsl	x0, x0, #2
     88c:	f9400fa1 	ldr	x1, [x29,#24]
     890:	8b000020 	add	x0, x1, x0
     894:	b900001f 	str	wzr, [x0]
     898:	b9403fa0 	ldr	w0, [x29,#60]
     89c:	71001c1f 	cmp	w0, #0x7
     8a0:	540004ec 	b.gt	93c <Try+0x1c8>
     8a4:	b9403fa0 	ldr	w0, [x29,#60]
     8a8:	11000400 	add	w0, w0, #0x1
     8ac:	f9400ba5 	ldr	x5, [x29,#16]
     8b0:	f9400fa4 	ldr	x4, [x29,#24]
     8b4:	f94013a3 	ldr	x3, [x29,#32]
     8b8:	f94017a2 	ldr	x2, [x29,#40]
     8bc:	f9401ba1 	ldr	x1, [x29,#48]
     8c0:	97ffffad 	bl	774 <Try>
     8c4:	f9401ba0 	ldr	x0, [x29,#48]
     8c8:	b9400000 	ldr	w0, [x0]
     8cc:	6b1f001f 	cmp	w0, wzr
     8d0:	540003c1 	b.ne	948 <Try+0x1d4>
     8d4:	b9804fa0 	ldrsw	x0, [x29,#76]
     8d8:	d37ef400 	lsl	x0, x0, #2
     8dc:	f94013a1 	ldr	x1, [x29,#32]
     8e0:	8b000020 	add	x0, x1, x0
     8e4:	52800021 	mov	w1, #0x1                   	// #1
     8e8:	b9000001 	str	w1, [x0]
     8ec:	b9403fa1 	ldr	w1, [x29,#60]
     8f0:	b9404fa0 	ldr	w0, [x29,#76]
     8f4:	0b000020 	add	w0, w1, w0
     8f8:	93407c00 	sxtw	x0, w0
     8fc:	d37ef400 	lsl	x0, x0, #2
     900:	f94017a1 	ldr	x1, [x29,#40]
     904:	8b000020 	add	x0, x1, x0
     908:	52800021 	mov	w1, #0x1                   	// #1
     90c:	b9000001 	str	w1, [x0]
     910:	b9403fa1 	ldr	w1, [x29,#60]
     914:	b9404fa0 	ldr	w0, [x29,#76]
     918:	4b000020 	sub	w0, w1, w0
     91c:	93407c00 	sxtw	x0, w0
     920:	91001c00 	add	x0, x0, #0x7
     924:	d37ef400 	lsl	x0, x0, #2
     928:	f9400fa1 	ldr	x1, [x29,#24]
     92c:	8b000020 	add	x0, x1, x0
     930:	52800021 	mov	w1, #0x1                   	// #1
     934:	b9000001 	str	w1, [x0]
     938:	14000004 	b	948 <Try+0x1d4>
     93c:	f9401ba0 	ldr	x0, [x29,#48]
     940:	52800021 	mov	w1, #0x1                   	// #1
     944:	b9000001 	str	w1, [x0]
     948:	f9401ba0 	ldr	x0, [x29,#48]
     94c:	b9400000 	ldr	w0, [x0]
     950:	6b1f001f 	cmp	w0, wzr
     954:	54000081 	b.ne	964 <Try+0x1f0>
     958:	b9404fa0 	ldr	w0, [x29,#76]
     95c:	7100201f 	cmp	w0, #0x8
     960:	54fff221 	b.ne	7a4 <Try+0x30>
     964:	d503201f 	nop
     968:	a8c57bfd 	ldp	x29, x30, [sp],#80
     96c:	d65f03c0 	ret

0000000000000970 <Doit>:
     970:	a9b17bfd 	stp	x29, x30, [sp,#-240]!
     974:	910003fd 	mov	x29, sp
     978:	128000c0 	mov	w0, #0xfffffff9            	// #-7
     97c:	b900efa0 	str	w0, [x29,#236]
     980:	1400002a 	b	a28 <Doit+0xb8>
     984:	b940efa0 	ldr	w0, [x29,#236]
     988:	6b1f001f 	cmp	w0, wzr
     98c:	5400018d 	b.le	9bc <Doit+0x4c>
     990:	b940efa0 	ldr	w0, [x29,#236]
     994:	7100201f 	cmp	w0, #0x8
     998:	5400012c 	b.gt	9bc <Doit+0x4c>
     99c:	b980efa0 	ldrsw	x0, [x29,#236]
     9a0:	d37ef400 	lsl	x0, x0, #2
     9a4:	9103c3a1 	add	x1, x29, #0xf0
     9a8:	8b000020 	add	x0, x1, x0
     9ac:	d1400400 	sub	x0, x0, #0x1, lsl #12
     9b0:	aa0003e1 	mov	x1, x0
     9b4:	52800020 	mov	w0, #0x1                   	// #1
     9b8:	b90fd020 	str	w0, [x1,#4048]
     9bc:	b940efa0 	ldr	w0, [x29,#236]
     9c0:	7100041f 	cmp	w0, #0x1
     9c4:	5400012d 	b.le	9e8 <Doit+0x78>
     9c8:	b980efa0 	ldrsw	x0, [x29,#236]
     9cc:	d37ef400 	lsl	x0, x0, #2
     9d0:	9103c3a1 	add	x1, x29, #0xf0
     9d4:	8b000020 	add	x0, x1, x0
     9d8:	d1400400 	sub	x0, x0, #0x1, lsl #12
     9dc:	aa0003e1 	mov	x1, x0
     9e0:	52800020 	mov	w0, #0x1                   	// #1
     9e4:	b90f8820 	str	w0, [x1,#3976]
     9e8:	b940efa0 	ldr	w0, [x29,#236]
     9ec:	71001c1f 	cmp	w0, #0x7
     9f0:	5400016c 	b.gt	a1c <Doit+0xac>
     9f4:	b940efa0 	ldr	w0, [x29,#236]
     9f8:	11001c00 	add	w0, w0, #0x7
     9fc:	93407c00 	sxtw	x0, w0
     a00:	d37ef400 	lsl	x0, x0, #2
     a04:	9103c3a1 	add	x1, x29, #0xf0
     a08:	8b000020 	add	x0, x1, x0
     a0c:	d1400400 	sub	x0, x0, #0x1, lsl #12
     a10:	aa0003e1 	mov	x1, x0
     a14:	52800020 	mov	w0, #0x1                   	// #1
     a18:	b90f4820 	str	w0, [x1,#3912]
     a1c:	b940efa0 	ldr	w0, [x29,#236]
     a20:	11000400 	add	w0, w0, #0x1
     a24:	b900efa0 	str	w0, [x29,#236]
     a28:	b940efa0 	ldr	w0, [x29,#236]
     a2c:	7100401f 	cmp	w0, #0x10
     a30:	54fffaad 	b.le	984 <Doit+0x14>
     a34:	910043a4 	add	x4, x29, #0x10
     a38:	9100e3a3 	add	x3, x29, #0x38
     a3c:	910303a2 	add	x2, x29, #0xc0
     a40:	9101e3a1 	add	x1, x29, #0x78
     a44:	9103a3a0 	add	x0, x29, #0xe8
     a48:	aa0403e5 	mov	x5, x4
     a4c:	aa0303e4 	mov	x4, x3
     a50:	aa0203e3 	mov	x3, x2
     a54:	aa0103e2 	mov	x2, x1
     a58:	aa0003e1 	mov	x1, x0
     a5c:	52800020 	mov	w0, #0x1                   	// #1
     a60:	97ffff45 	bl	774 <Try>
     a64:	b940eba0 	ldr	w0, [x29,#232]
     a68:	6b1f001f 	cmp	w0, wzr
     a6c:	54000101 	b.ne	a8c <Doit+0x11c>
     a70:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     a74:	91384000 	add	x0, x0, #0xe10
     a78:	b9400000 	ldr	w0, [x0]
     a7c:	321e0001 	orr	w1, w0, #0x4
     a80:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     a84:	91384000 	add	x0, x0, #0xe10
     a88:	b9000001 	str	w1, [x0]
     a8c:	d503201f 	nop
     a90:	a8cf7bfd 	ldp	x29, x30, [sp],#240
     a94:	d65f03c0 	ret

0000000000000a98 <Queens>:
     a98:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
     a9c:	910003fd 	mov	x29, sp
     aa0:	52800020 	mov	w0, #0x1                   	// #1
     aa4:	b9001fa0 	str	w0, [x29,#28]
     aa8:	14000005 	b	abc <Queens+0x24>
     aac:	97ffffb1 	bl	970 <Doit>
     ab0:	b9401fa0 	ldr	w0, [x29,#28]
     ab4:	11000400 	add	w0, w0, #0x1
     ab8:	b9001fa0 	str	w0, [x29,#28]
     abc:	b9401fa0 	ldr	w0, [x29,#28]
     ac0:	7100c81f 	cmp	w0, #0x32
     ac4:	54ffff4d 	b.le	aac <Queens+0x14>
     ac8:	d503201f 	nop
     acc:	a8c27bfd 	ldp	x29, x30, [sp],#32
     ad0:	d65f03c0 	ret

0000000000000ad4 <Initmatrix>:
     ad4:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     ad8:	910003fd 	mov	x29, sp
     adc:	f9000fa0 	str	x0, [x29,#24]
     ae0:	52800020 	mov	w0, #0x1                   	// #1
     ae4:	b9002fa0 	str	w0, [x29,#44]
     ae8:	1400001d 	b	b5c <Initmatrix+0x88>
     aec:	52800020 	mov	w0, #0x1                   	// #1
     af0:	b9002ba0 	str	w0, [x29,#40]
     af4:	14000014 	b	b44 <Initmatrix+0x70>
     af8:	97fffd66 	bl	90 <Rand>
     afc:	b90027a0 	str	w0, [x29,#36]
     b00:	b9802fa1 	ldrsw	x1, [x29,#44]
     b04:	d2801480 	mov	x0, #0xa4                  	// #164
     b08:	9b007c20 	mul	x0, x1, x0
     b0c:	f9400fa1 	ldr	x1, [x29,#24]
     b10:	8b000021 	add	x1, x1, x0
     b14:	b94027a0 	ldr	w0, [x29,#36]
     b18:	52800f02 	mov	w2, #0x78                  	// #120
     b1c:	1ac20c03 	sdiv	w3, w0, w2
     b20:	52800f02 	mov	w2, #0x78                  	// #120
     b24:	1b027c62 	mul	w2, w3, w2
     b28:	4b020000 	sub	w0, w0, w2
     b2c:	5100f002 	sub	w2, w0, #0x3c
     b30:	b9802ba0 	ldrsw	x0, [x29,#40]
     b34:	b8207822 	str	w2, [x1,x0,lsl #2]
     b38:	b9402ba0 	ldr	w0, [x29,#40]
     b3c:	11000400 	add	w0, w0, #0x1
     b40:	b9002ba0 	str	w0, [x29,#40]
     b44:	b9402ba0 	ldr	w0, [x29,#40]
     b48:	7100a01f 	cmp	w0, #0x28
     b4c:	54fffd6d 	b.le	af8 <Initmatrix+0x24>
     b50:	b9402fa0 	ldr	w0, [x29,#44]
     b54:	11000400 	add	w0, w0, #0x1
     b58:	b9002fa0 	str	w0, [x29,#44]
     b5c:	b9402fa0 	ldr	w0, [x29,#44]
     b60:	7100a01f 	cmp	w0, #0x28
     b64:	54fffc4d 	b.le	aec <Initmatrix+0x18>
     b68:	d503201f 	nop
     b6c:	a8c37bfd 	ldp	x29, x30, [sp],#48
     b70:	d65f03c0 	ret

0000000000000b74 <Innerproduct>:
     b74:	d100c3ff 	sub	sp, sp, #0x30
     b78:	f9000fe0 	str	x0, [sp,#24]
     b7c:	f9000be1 	str	x1, [sp,#16]
     b80:	f90007e2 	str	x2, [sp,#8]
     b84:	b90007e3 	str	w3, [sp,#4]
     b88:	b90003e4 	str	w4, [sp]
     b8c:	f9400fe0 	ldr	x0, [sp,#24]
     b90:	b900001f 	str	wzr, [x0]
     b94:	52800020 	mov	w0, #0x1                   	// #1
     b98:	b9002fe0 	str	w0, [sp,#44]
     b9c:	14000018 	b	bfc <Innerproduct+0x88>
     ba0:	f9400fe0 	ldr	x0, [sp,#24]
     ba4:	b9400001 	ldr	w1, [x0]
     ba8:	b98007e2 	ldrsw	x2, [sp,#4]
     bac:	d2801480 	mov	x0, #0xa4                  	// #164
     bb0:	9b007c40 	mul	x0, x2, x0
     bb4:	f9400be2 	ldr	x2, [sp,#16]
     bb8:	8b000040 	add	x0, x2, x0
     bbc:	b9802fe2 	ldrsw	x2, [sp,#44]
     bc0:	b8627802 	ldr	w2, [x0,x2,lsl #2]
     bc4:	b9802fe3 	ldrsw	x3, [sp,#44]
     bc8:	d2801480 	mov	x0, #0xa4                  	// #164
     bcc:	9b007c60 	mul	x0, x3, x0
     bd0:	f94007e3 	ldr	x3, [sp,#8]
     bd4:	8b000060 	add	x0, x3, x0
     bd8:	b98003e3 	ldrsw	x3, [sp]
     bdc:	b8637800 	ldr	w0, [x0,x3,lsl #2]
     be0:	1b007c40 	mul	w0, w2, w0
     be4:	0b000021 	add	w1, w1, w0
     be8:	f9400fe0 	ldr	x0, [sp,#24]
     bec:	b9000001 	str	w1, [x0]
     bf0:	b9402fe0 	ldr	w0, [sp,#44]
     bf4:	11000400 	add	w0, w0, #0x1
     bf8:	b9002fe0 	str	w0, [sp,#44]
     bfc:	b9402fe0 	ldr	w0, [sp,#44]
     c00:	7100a01f 	cmp	w0, #0x28
     c04:	54fffced 	b.le	ba0 <Innerproduct+0x2c>
     c08:	d503201f 	nop
     c0c:	9100c3ff 	add	sp, sp, #0x30
     c10:	d65f03c0 	ret

0000000000000c14 <Intmm>:
     c14:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
     c18:	910003fd 	mov	x29, sp
     c1c:	97fffd16 	bl	74 <Initrand>
     c20:	d0000100 	adrp	x0, 22000 <heap+0x23b8>
     c24:	910d6000 	add	x0, x0, #0x358
     c28:	97ffffab 	bl	ad4 <Initmatrix>
     c2c:	f0000100 	adrp	x0, 23000 <ima+0xca8>
     c30:	91368000 	add	x0, x0, #0xda0
     c34:	97ffffa8 	bl	ad4 <Initmatrix>
     c38:	52800020 	mov	w0, #0x1                   	// #1
     c3c:	b9001fa0 	str	w0, [x29,#28]
     c40:	14000020 	b	cc0 <Intmm+0xac>
     c44:	52800020 	mov	w0, #0x1                   	// #1
     c48:	b9001ba0 	str	w0, [x29,#24]
     c4c:	14000017 	b	ca8 <Intmm+0x94>
     c50:	b9801ba1 	ldrsw	x1, [x29,#24]
     c54:	b9801fa2 	ldrsw	x2, [x29,#28]
     c58:	d2800520 	mov	x0, #0x29                  	// #41
     c5c:	9b007c40 	mul	x0, x2, x0
     c60:	8b000020 	add	x0, x1, x0
     c64:	d37ef401 	lsl	x1, x0, #2
     c68:	d0000120 	adrp	x0, 26000 <puzzl+0x7e0>
     c6c:	91008000 	add	x0, x0, #0x20
     c70:	8b000025 	add	x5, x1, x0
     c74:	f0000100 	adrp	x0, 23000 <ima+0xca8>
     c78:	91368001 	add	x1, x0, #0xda0
     c7c:	d0000100 	adrp	x0, 22000 <heap+0x23b8>
     c80:	910d6000 	add	x0, x0, #0x358
     c84:	b9401ba4 	ldr	w4, [x29,#24]
     c88:	b9401fa3 	ldr	w3, [x29,#28]
     c8c:	aa0103e2 	mov	x2, x1
     c90:	aa0003e1 	mov	x1, x0
     c94:	aa0503e0 	mov	x0, x5
     c98:	97ffffb7 	bl	b74 <Innerproduct>
     c9c:	b9401ba0 	ldr	w0, [x29,#24]
     ca0:	11000400 	add	w0, w0, #0x1
     ca4:	b9001ba0 	str	w0, [x29,#24]
     ca8:	b9401ba0 	ldr	w0, [x29,#24]
     cac:	7100a01f 	cmp	w0, #0x28
     cb0:	54fffd0d 	b.le	c50 <Intmm+0x3c>
     cb4:	b9401fa0 	ldr	w0, [x29,#28]
     cb8:	11000400 	add	w0, w0, #0x1
     cbc:	b9001fa0 	str	w0, [x29,#28]
     cc0:	b9401fa0 	ldr	w0, [x29,#28]
     cc4:	7100a01f 	cmp	w0, #0x28
     cc8:	54fffbed 	b.le	c44 <Intmm+0x30>
     ccc:	d0000120 	adrp	x0, 26000 <puzzl+0x7e0>
     cd0:	91008000 	add	x0, x0, #0x20
     cd4:	b940a801 	ldr	w1, [x0,#168]
     cd8:	128368e0 	mov	w0, #0xffffe4b8            	// #-6984
     cdc:	6b00003f 	cmp	w1, w0
     ce0:	54000100 	b.eq	d00 <Intmm+0xec>
     ce4:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     ce8:	91384000 	add	x0, x0, #0xe10
     cec:	b9400000 	ldr	w0, [x0]
     cf0:	321d0001 	orr	w1, w0, #0x8
     cf4:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     cf8:	91384000 	add	x0, x0, #0xe10
     cfc:	b9000001 	str	w1, [x0]
     d00:	d0000120 	adrp	x0, 26000 <puzzl+0x7e0>
     d04:	91008000 	add	x0, x0, #0x20
     d08:	b94d2001 	ldr	w1, [x0,#3360]
     d0c:	5283bd80 	mov	w0, #0x1dec                	// #7660
     d10:	6b00003f 	cmp	w1, w0
     d14:	54000100 	b.eq	d34 <Intmm+0x120>
     d18:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     d1c:	91384000 	add	x0, x0, #0xe10
     d20:	b9400000 	ldr	w0, [x0]
     d24:	321d0001 	orr	w1, w0, #0x8
     d28:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     d2c:	91384000 	add	x0, x0, #0xe10
     d30:	b9000001 	str	w1, [x0]
     d34:	d0000120 	adrp	x0, 26000 <puzzl+0x7e0>
     d38:	91008000 	add	x0, x0, #0x20
     d3c:	b95a4001 	ldr	w1, [x0,#6720]
     d40:	5282ab80 	mov	w0, #0x155c                	// #5468
     d44:	6b00003f 	cmp	w1, w0
     d48:	54000100 	b.eq	d68 <Intmm+0x154>
     d4c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     d50:	91384000 	add	x0, x0, #0xe10
     d54:	b9400000 	ldr	w0, [x0]
     d58:	321d0001 	orr	w1, w0, #0x8
     d5c:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     d60:	91384000 	add	x0, x0, #0xe10
     d64:	b9000001 	str	w1, [x0]
     d68:	d503201f 	nop
     d6c:	a8c27bfd 	ldp	x29, x30, [sp],#32
     d70:	d65f03c0 	ret

0000000000000d74 <Fit>:
     d74:	d10083ff 	sub	sp, sp, #0x20
     d78:	b9000fe0 	str	w0, [sp,#12]
     d7c:	b9000be1 	str	w1, [sp,#8]
     d80:	b9001fff 	str	wzr, [sp,#28]
     d84:	14000018 	b	de4 <Fit+0x70>
     d88:	90000080 	adrp	x0, 10000 <heap_p>
     d8c:	91010000 	add	x0, x0, #0x40
     d90:	b9801fe1 	ldrsw	x1, [sp,#28]
     d94:	b9800fe2 	ldrsw	x2, [sp,#12]
     d98:	d377d842 	lsl	x2, x2, #9
     d9c:	8b010041 	add	x1, x2, x1
     da0:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     da4:	6b1f001f 	cmp	w0, wzr
     da8:	54000180 	b.eq	dd8 <Fit+0x64>
     dac:	b9400be1 	ldr	w1, [sp,#8]
     db0:	b9401fe0 	ldr	w0, [sp,#28]
     db4:	0b000021 	add	w1, w1, w0
     db8:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     dbc:	91208000 	add	x0, x0, #0x820
     dc0:	93407c21 	sxtw	x1, w1
     dc4:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     dc8:	6b1f001f 	cmp	w0, wzr
     dcc:	54000060 	b.eq	dd8 <Fit+0x64>
     dd0:	52800000 	mov	w0, #0x0                   	// #0
     dd4:	1400000c 	b	e04 <Fit+0x90>
     dd8:	b9401fe0 	ldr	w0, [sp,#28]
     ddc:	11000400 	add	w0, w0, #0x1
     de0:	b9001fe0 	str	w0, [sp,#28]
     de4:	90000080 	adrp	x0, 10000 <heap_p>
     de8:	91002000 	add	x0, x0, #0x8
     dec:	b9800fe1 	ldrsw	x1, [sp,#12]
     df0:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     df4:	b9401fe0 	ldr	w0, [sp,#28]
     df8:	6b00003f 	cmp	w1, w0
     dfc:	54fffc6a 	b.ge	d88 <Fit+0x14>
     e00:	52800020 	mov	w0, #0x1                   	// #1
     e04:	910083ff 	add	sp, sp, #0x20
     e08:	d65f03c0 	ret

0000000000000e0c <Place>:
     e0c:	d10083ff 	sub	sp, sp, #0x20
     e10:	b9000fe0 	str	w0, [sp,#12]
     e14:	b9000be1 	str	w1, [sp,#8]
     e18:	b9001fff 	str	wzr, [sp,#28]
     e1c:	14000015 	b	e70 <Place+0x64>
     e20:	90000080 	adrp	x0, 10000 <heap_p>
     e24:	91010000 	add	x0, x0, #0x40
     e28:	b9801fe1 	ldrsw	x1, [sp,#28]
     e2c:	b9800fe2 	ldrsw	x2, [sp,#12]
     e30:	d377d842 	lsl	x2, x2, #9
     e34:	8b010041 	add	x1, x2, x1
     e38:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     e3c:	6b1f001f 	cmp	w0, wzr
     e40:	54000120 	b.eq	e64 <Place+0x58>
     e44:	b9400be1 	ldr	w1, [sp,#8]
     e48:	b9401fe0 	ldr	w0, [sp,#28]
     e4c:	0b000021 	add	w1, w1, w0
     e50:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     e54:	91208000 	add	x0, x0, #0x820
     e58:	93407c21 	sxtw	x1, w1
     e5c:	52800022 	mov	w2, #0x1                   	// #1
     e60:	b8217802 	str	w2, [x0,x1,lsl #2]
     e64:	b9401fe0 	ldr	w0, [sp,#28]
     e68:	11000400 	add	w0, w0, #0x1
     e6c:	b9001fe0 	str	w0, [sp,#28]
     e70:	90000080 	adrp	x0, 10000 <heap_p>
     e74:	91002000 	add	x0, x0, #0x8
     e78:	b9800fe1 	ldrsw	x1, [sp,#12]
     e7c:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     e80:	b9401fe0 	ldr	w0, [sp,#28]
     e84:	6b00003f 	cmp	w1, w0
     e88:	54fffcca 	b.ge	e20 <Place+0x14>
     e8c:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     e90:	911fa000 	add	x0, x0, #0x7e8
     e94:	b9800fe1 	ldrsw	x1, [sp,#12]
     e98:	b8617803 	ldr	w3, [x0,x1,lsl #2]
     e9c:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     ea0:	911fa000 	add	x0, x0, #0x7e8
     ea4:	b9800fe1 	ldrsw	x1, [sp,#12]
     ea8:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     eac:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     eb0:	91146000 	add	x0, x0, #0x518
     eb4:	93407c21 	sxtw	x1, w1
     eb8:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     ebc:	51000402 	sub	w2, w0, #0x1
     ec0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     ec4:	91146000 	add	x0, x0, #0x518
     ec8:	93407c61 	sxtw	x1, w3
     ecc:	b8217802 	str	w2, [x0,x1,lsl #2]
     ed0:	b9400be0 	ldr	w0, [sp,#8]
     ed4:	b9001fe0 	str	w0, [sp,#28]
     ed8:	1400000c 	b	f08 <Place+0xfc>
     edc:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     ee0:	91208000 	add	x0, x0, #0x820
     ee4:	b9801fe1 	ldrsw	x1, [sp,#28]
     ee8:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     eec:	6b1f001f 	cmp	w0, wzr
     ef0:	54000061 	b.ne	efc <Place+0xf0>
     ef4:	b9401fe0 	ldr	w0, [sp,#28]
     ef8:	14000008 	b	f18 <Place+0x10c>
     efc:	b9401fe0 	ldr	w0, [sp,#28]
     f00:	11000400 	add	w0, w0, #0x1
     f04:	b9001fe0 	str	w0, [sp,#28]
     f08:	b9401fe0 	ldr	w0, [sp,#28]
     f0c:	7107fc1f 	cmp	w0, #0x1ff
     f10:	54fffe6d 	b.le	edc <Place+0xd0>
     f14:	52800000 	mov	w0, #0x0                   	// #0
     f18:	910083ff 	add	sp, sp, #0x20
     f1c:	d65f03c0 	ret

0000000000000f20 <Remove>:
     f20:	d10083ff 	sub	sp, sp, #0x20
     f24:	b9000fe0 	str	w0, [sp,#12]
     f28:	b9000be1 	str	w1, [sp,#8]
     f2c:	b9001fff 	str	wzr, [sp,#28]
     f30:	14000014 	b	f80 <Remove+0x60>
     f34:	90000080 	adrp	x0, 10000 <heap_p>
     f38:	91010000 	add	x0, x0, #0x40
     f3c:	b9801fe1 	ldrsw	x1, [sp,#28]
     f40:	b9800fe2 	ldrsw	x2, [sp,#12]
     f44:	d377d842 	lsl	x2, x2, #9
     f48:	8b010041 	add	x1, x2, x1
     f4c:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     f50:	6b1f001f 	cmp	w0, wzr
     f54:	54000100 	b.eq	f74 <Remove+0x54>
     f58:	b9400be1 	ldr	w1, [sp,#8]
     f5c:	b9401fe0 	ldr	w0, [sp,#28]
     f60:	0b000021 	add	w1, w1, w0
     f64:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     f68:	91208000 	add	x0, x0, #0x820
     f6c:	93407c21 	sxtw	x1, w1
     f70:	b821781f 	str	wzr, [x0,x1,lsl #2]
     f74:	b9401fe0 	ldr	w0, [sp,#28]
     f78:	11000400 	add	w0, w0, #0x1
     f7c:	b9001fe0 	str	w0, [sp,#28]
     f80:	90000080 	adrp	x0, 10000 <heap_p>
     f84:	91002000 	add	x0, x0, #0x8
     f88:	b9800fe1 	ldrsw	x1, [sp,#12]
     f8c:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     f90:	b9401fe0 	ldr	w0, [sp,#28]
     f94:	6b00003f 	cmp	w1, w0
     f98:	54fffcea 	b.ge	f34 <Remove+0x14>
     f9c:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     fa0:	911fa000 	add	x0, x0, #0x7e8
     fa4:	b9800fe1 	ldrsw	x1, [sp,#12]
     fa8:	b8617803 	ldr	w3, [x0,x1,lsl #2]
     fac:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     fb0:	911fa000 	add	x0, x0, #0x7e8
     fb4:	b9800fe1 	ldrsw	x1, [sp,#12]
     fb8:	b8617801 	ldr	w1, [x0,x1,lsl #2]
     fbc:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     fc0:	91146000 	add	x0, x0, #0x518
     fc4:	93407c21 	sxtw	x1, w1
     fc8:	b8617800 	ldr	w0, [x0,x1,lsl #2]
     fcc:	11000402 	add	w2, w0, #0x1
     fd0:	d00000c0 	adrp	x0, 1a000 <w+0x2f0>
     fd4:	91146000 	add	x0, x0, #0x518
     fd8:	93407c61 	sxtw	x1, w3
     fdc:	b8217802 	str	w2, [x0,x1,lsl #2]
     fe0:	d503201f 	nop
     fe4:	910083ff 	add	sp, sp, #0x20
     fe8:	d65f03c0 	ret

0000000000000fec <Trial>:
     fec:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
     ff0:	910003fd 	mov	x29, sp
     ff4:	b9001fa0 	str	w0, [x29,#28]
     ff8:	b0000120 	adrp	x0, 25000 <imb+0x1260>
     ffc:	911f9000 	add	x0, x0, #0x7e4
    1000:	b9400000 	ldr	w0, [x0]
    1004:	11000401 	add	w1, w0, #0x1
    1008:	90000120 	adrp	x0, 25000 <imb+0x1260>
    100c:	911f9000 	add	x0, x0, #0x7e4
    1010:	b9000001 	str	w1, [x0]
    1014:	b9002fbf 	str	wzr, [x29,#44]
    1018:	14000023 	b	10a4 <Trial+0xb8>
    101c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1020:	911fa000 	add	x0, x0, #0x7e8
    1024:	b9802fa1 	ldrsw	x1, [x29,#44]
    1028:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    102c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1030:	91146000 	add	x0, x0, #0x518
    1034:	93407c21 	sxtw	x1, w1
    1038:	b8617800 	ldr	w0, [x0,x1,lsl #2]
    103c:	6b1f001f 	cmp	w0, wzr
    1040:	540002c0 	b.eq	1098 <Trial+0xac>
    1044:	b9401fa1 	ldr	w1, [x29,#28]
    1048:	b9402fa0 	ldr	w0, [x29,#44]
    104c:	97ffff4a 	bl	d74 <Fit>
    1050:	6b1f001f 	cmp	w0, wzr
    1054:	54000220 	b.eq	1098 <Trial+0xac>
    1058:	b9401fa1 	ldr	w1, [x29,#28]
    105c:	b9402fa0 	ldr	w0, [x29,#44]
    1060:	97ffff6b 	bl	e0c <Place>
    1064:	b9002ba0 	str	w0, [x29,#40]
    1068:	b9402ba0 	ldr	w0, [x29,#40]
    106c:	97ffffe0 	bl	fec <Trial>
    1070:	6b1f001f 	cmp	w0, wzr
    1074:	54000081 	b.ne	1084 <Trial+0x98>
    1078:	b9402ba0 	ldr	w0, [x29,#40]
    107c:	6b1f001f 	cmp	w0, wzr
    1080:	54000061 	b.ne	108c <Trial+0xa0>
    1084:	52800020 	mov	w0, #0x1                   	// #1
    1088:	1400000b 	b	10b4 <Trial+0xc8>
    108c:	b9401fa1 	ldr	w1, [x29,#28]
    1090:	b9402fa0 	ldr	w0, [x29,#44]
    1094:	97ffffa3 	bl	f20 <Remove>
    1098:	b9402fa0 	ldr	w0, [x29,#44]
    109c:	11000400 	add	w0, w0, #0x1
    10a0:	b9002fa0 	str	w0, [x29,#44]
    10a4:	b9402fa0 	ldr	w0, [x29,#44]
    10a8:	7100301f 	cmp	w0, #0xc
    10ac:	54fffb8d 	b.le	101c <Trial+0x30>
    10b0:	52800000 	mov	w0, #0x0                   	// #0
    10b4:	a8c37bfd 	ldp	x29, x30, [sp],#48
    10b8:	d65f03c0 	ret

00000000000010bc <Puzzle>:
    10bc:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    10c0:	910003fd 	mov	x29, sp
    10c4:	b90013bf 	str	wzr, [x29,#16]
    10c8:	14000009 	b	10ec <Puzzle+0x30>
    10cc:	90000120 	adrp	x0, 25000 <imb+0x1260>
    10d0:	91208000 	add	x0, x0, #0x820
    10d4:	b98013a1 	ldrsw	x1, [x29,#16]
    10d8:	52800022 	mov	w2, #0x1                   	// #1
    10dc:	b8217802 	str	w2, [x0,x1,lsl #2]
    10e0:	b94013a0 	ldr	w0, [x29,#16]
    10e4:	11000400 	add	w0, w0, #0x1
    10e8:	b90013a0 	str	w0, [x29,#16]
    10ec:	b94013a0 	ldr	w0, [x29,#16]
    10f0:	7107fc1f 	cmp	w0, #0x1ff
    10f4:	54fffecd 	b.le	10cc <Puzzle+0x10>
    10f8:	52800020 	mov	w0, #0x1                   	// #1
    10fc:	b9001fa0 	str	w0, [x29,#28]
    1100:	14000021 	b	1184 <Puzzle+0xc8>
    1104:	52800020 	mov	w0, #0x1                   	// #1
    1108:	b9001ba0 	str	w0, [x29,#24]
    110c:	14000018 	b	116c <Puzzle+0xb0>
    1110:	52800020 	mov	w0, #0x1                   	// #1
    1114:	b90017a0 	str	w0, [x29,#20]
    1118:	1400000f 	b	1154 <Puzzle+0x98>
    111c:	b94017a0 	ldr	w0, [x29,#20]
    1120:	531d7001 	lsl	w1, w0, #3
    1124:	b9401ba0 	ldr	w0, [x29,#24]
    1128:	0b000020 	add	w0, w1, w0
    112c:	531d7001 	lsl	w1, w0, #3
    1130:	b9401fa0 	ldr	w0, [x29,#28]
    1134:	0b000021 	add	w1, w1, w0
    1138:	90000120 	adrp	x0, 25000 <imb+0x1260>
    113c:	91208000 	add	x0, x0, #0x820
    1140:	93407c21 	sxtw	x1, w1
    1144:	b821781f 	str	wzr, [x0,x1,lsl #2]
    1148:	b94017a0 	ldr	w0, [x29,#20]
    114c:	11000400 	add	w0, w0, #0x1
    1150:	b90017a0 	str	w0, [x29,#20]
    1154:	b94017a0 	ldr	w0, [x29,#20]
    1158:	7100141f 	cmp	w0, #0x5
    115c:	54fffe0d 	b.le	111c <Puzzle+0x60>
    1160:	b9401ba0 	ldr	w0, [x29,#24]
    1164:	11000400 	add	w0, w0, #0x1
    1168:	b9001ba0 	str	w0, [x29,#24]
    116c:	b9401ba0 	ldr	w0, [x29,#24]
    1170:	7100141f 	cmp	w0, #0x5
    1174:	54fffced 	b.le	1110 <Puzzle+0x54>
    1178:	b9401fa0 	ldr	w0, [x29,#28]
    117c:	11000400 	add	w0, w0, #0x1
    1180:	b9001fa0 	str	w0, [x29,#28]
    1184:	b9401fa0 	ldr	w0, [x29,#28]
    1188:	7100141f 	cmp	w0, #0x5
    118c:	54fffbcd 	b.le	1104 <Puzzle+0x48>
    1190:	b9001fbf 	str	wzr, [x29,#28]
    1194:	14000013 	b	11e0 <Puzzle+0x124>
    1198:	b90013bf 	str	wzr, [x29,#16]
    119c:	1400000b 	b	11c8 <Puzzle+0x10c>
    11a0:	f0000060 	adrp	x0, 10000 <heap_p>
    11a4:	91010000 	add	x0, x0, #0x40
    11a8:	b98013a1 	ldrsw	x1, [x29,#16]
    11ac:	b9801fa2 	ldrsw	x2, [x29,#28]
    11b0:	d377d842 	lsl	x2, x2, #9
    11b4:	8b010041 	add	x1, x2, x1
    11b8:	b821781f 	str	wzr, [x0,x1,lsl #2]
    11bc:	b94013a0 	ldr	w0, [x29,#16]
    11c0:	11000400 	add	w0, w0, #0x1
    11c4:	b90013a0 	str	w0, [x29,#16]
    11c8:	b94013a0 	ldr	w0, [x29,#16]
    11cc:	7107fc1f 	cmp	w0, #0x1ff
    11d0:	54fffe8d 	b.le	11a0 <Puzzle+0xe4>
    11d4:	b9401fa0 	ldr	w0, [x29,#28]
    11d8:	11000400 	add	w0, w0, #0x1
    11dc:	b9001fa0 	str	w0, [x29,#28]
    11e0:	b9401fa0 	ldr	w0, [x29,#28]
    11e4:	7100301f 	cmp	w0, #0xc
    11e8:	54fffd8d 	b.le	1198 <Puzzle+0xdc>
    11ec:	b9001fbf 	str	wzr, [x29,#28]
    11f0:	14000020 	b	1270 <Puzzle+0x1b4>
    11f4:	b9001bbf 	str	wzr, [x29,#24]
    11f8:	14000018 	b	1258 <Puzzle+0x19c>
    11fc:	b90017bf 	str	wzr, [x29,#20]
    1200:	14000010 	b	1240 <Puzzle+0x184>
    1204:	b94017a0 	ldr	w0, [x29,#20]
    1208:	531d7001 	lsl	w1, w0, #3
    120c:	b9401ba0 	ldr	w0, [x29,#24]
    1210:	0b000020 	add	w0, w1, w0
    1214:	531d7001 	lsl	w1, w0, #3
    1218:	b9401fa0 	ldr	w0, [x29,#28]
    121c:	0b000021 	add	w1, w1, w0
    1220:	f0000060 	adrp	x0, 10000 <heap_p>
    1224:	91010000 	add	x0, x0, #0x40
    1228:	93407c21 	sxtw	x1, w1
    122c:	52800022 	mov	w2, #0x1                   	// #1
    1230:	b8217802 	str	w2, [x0,x1,lsl #2]
    1234:	b94017a0 	ldr	w0, [x29,#20]
    1238:	11000400 	add	w0, w0, #0x1
    123c:	b90017a0 	str	w0, [x29,#20]
    1240:	b94017a0 	ldr	w0, [x29,#20]
    1244:	6b1f001f 	cmp	w0, wzr
    1248:	54fffded 	b.le	1204 <Puzzle+0x148>
    124c:	b9401ba0 	ldr	w0, [x29,#24]
    1250:	11000400 	add	w0, w0, #0x1
    1254:	b9001ba0 	str	w0, [x29,#24]
    1258:	b9401ba0 	ldr	w0, [x29,#24]
    125c:	7100041f 	cmp	w0, #0x1
    1260:	54fffced 	b.le	11fc <Puzzle+0x140>
    1264:	b9401fa0 	ldr	w0, [x29,#28]
    1268:	11000400 	add	w0, w0, #0x1
    126c:	b9001fa0 	str	w0, [x29,#28]
    1270:	b9401fa0 	ldr	w0, [x29,#28]
    1274:	71000c1f 	cmp	w0, #0x3
    1278:	54fffbed 	b.le	11f4 <Puzzle+0x138>
    127c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1280:	911fa000 	add	x0, x0, #0x7e8
    1284:	b900001f 	str	wzr, [x0]
    1288:	f0000060 	adrp	x0, 10000 <heap_p>
    128c:	91002000 	add	x0, x0, #0x8
    1290:	52800161 	mov	w1, #0xb                   	// #11
    1294:	b9000001 	str	w1, [x0]
    1298:	b9001fbf 	str	wzr, [x29,#28]
    129c:	14000021 	b	1320 <Puzzle+0x264>
    12a0:	b9001bbf 	str	wzr, [x29,#24]
    12a4:	14000019 	b	1308 <Puzzle+0x24c>
    12a8:	b90017bf 	str	wzr, [x29,#20]
    12ac:	14000011 	b	12f0 <Puzzle+0x234>
    12b0:	b94017a0 	ldr	w0, [x29,#20]
    12b4:	531d7001 	lsl	w1, w0, #3
    12b8:	b9401ba0 	ldr	w0, [x29,#24]
    12bc:	0b000020 	add	w0, w1, w0
    12c0:	531d7001 	lsl	w1, w0, #3
    12c4:	b9401fa0 	ldr	w0, [x29,#28]
    12c8:	0b000021 	add	w1, w1, w0
    12cc:	f0000060 	adrp	x0, 10000 <heap_p>
    12d0:	91010000 	add	x0, x0, #0x40
    12d4:	93407c21 	sxtw	x1, w1
    12d8:	91080021 	add	x1, x1, #0x200
    12dc:	52800022 	mov	w2, #0x1                   	// #1
    12e0:	b8217802 	str	w2, [x0,x1,lsl #2]
    12e4:	b94017a0 	ldr	w0, [x29,#20]
    12e8:	11000400 	add	w0, w0, #0x1
    12ec:	b90017a0 	str	w0, [x29,#20]
    12f0:	b94017a0 	ldr	w0, [x29,#20]
    12f4:	71000c1f 	cmp	w0, #0x3
    12f8:	54fffdcd 	b.le	12b0 <Puzzle+0x1f4>
    12fc:	b9401ba0 	ldr	w0, [x29,#24]
    1300:	11000400 	add	w0, w0, #0x1
    1304:	b9001ba0 	str	w0, [x29,#24]
    1308:	b9401ba0 	ldr	w0, [x29,#24]
    130c:	6b1f001f 	cmp	w0, wzr
    1310:	54fffccd 	b.le	12a8 <Puzzle+0x1ec>
    1314:	b9401fa0 	ldr	w0, [x29,#28]
    1318:	11000400 	add	w0, w0, #0x1
    131c:	b9001fa0 	str	w0, [x29,#28]
    1320:	b9401fa0 	ldr	w0, [x29,#28]
    1324:	7100041f 	cmp	w0, #0x1
    1328:	54fffbcd 	b.le	12a0 <Puzzle+0x1e4>
    132c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1330:	911fa000 	add	x0, x0, #0x7e8
    1334:	b900041f 	str	wzr, [x0,#4]
    1338:	f0000060 	adrp	x0, 10000 <heap_p>
    133c:	91002000 	add	x0, x0, #0x8
    1340:	52801821 	mov	w1, #0xc1                  	// #193
    1344:	b9000401 	str	w1, [x0,#4]
    1348:	b9001fbf 	str	wzr, [x29,#28]
    134c:	14000021 	b	13d0 <Puzzle+0x314>
    1350:	b9001bbf 	str	wzr, [x29,#24]
    1354:	14000019 	b	13b8 <Puzzle+0x2fc>
    1358:	b90017bf 	str	wzr, [x29,#20]
    135c:	14000011 	b	13a0 <Puzzle+0x2e4>
    1360:	b94017a0 	ldr	w0, [x29,#20]
    1364:	531d7001 	lsl	w1, w0, #3
    1368:	b9401ba0 	ldr	w0, [x29,#24]
    136c:	0b000020 	add	w0, w1, w0
    1370:	531d7001 	lsl	w1, w0, #3
    1374:	b9401fa0 	ldr	w0, [x29,#28]
    1378:	0b000021 	add	w1, w1, w0
    137c:	f0000060 	adrp	x0, 10000 <heap_p>
    1380:	91010000 	add	x0, x0, #0x40
    1384:	93407c21 	sxtw	x1, w1
    1388:	91100021 	add	x1, x1, #0x400
    138c:	52800022 	mov	w2, #0x1                   	// #1
    1390:	b8217802 	str	w2, [x0,x1,lsl #2]
    1394:	b94017a0 	ldr	w0, [x29,#20]
    1398:	11000400 	add	w0, w0, #0x1
    139c:	b90017a0 	str	w0, [x29,#20]
    13a0:	b94017a0 	ldr	w0, [x29,#20]
    13a4:	7100041f 	cmp	w0, #0x1
    13a8:	54fffdcd 	b.le	1360 <Puzzle+0x2a4>
    13ac:	b9401ba0 	ldr	w0, [x29,#24]
    13b0:	11000400 	add	w0, w0, #0x1
    13b4:	b9001ba0 	str	w0, [x29,#24]
    13b8:	b9401ba0 	ldr	w0, [x29,#24]
    13bc:	71000c1f 	cmp	w0, #0x3
    13c0:	54fffccd 	b.le	1358 <Puzzle+0x29c>
    13c4:	b9401fa0 	ldr	w0, [x29,#28]
    13c8:	11000400 	add	w0, w0, #0x1
    13cc:	b9001fa0 	str	w0, [x29,#28]
    13d0:	b9401fa0 	ldr	w0, [x29,#28]
    13d4:	6b1f001f 	cmp	w0, wzr
    13d8:	54fffbcd 	b.le	1350 <Puzzle+0x294>
    13dc:	90000120 	adrp	x0, 25000 <imb+0x1260>
    13e0:	911fa000 	add	x0, x0, #0x7e8
    13e4:	b900081f 	str	wzr, [x0,#8]
    13e8:	f0000060 	adrp	x0, 10000 <heap_p>
    13ec:	91002000 	add	x0, x0, #0x8
    13f0:	52800b01 	mov	w1, #0x58                  	// #88
    13f4:	b9000801 	str	w1, [x0,#8]
    13f8:	b9001fbf 	str	wzr, [x29,#28]
    13fc:	14000021 	b	1480 <Puzzle+0x3c4>
    1400:	b9001bbf 	str	wzr, [x29,#24]
    1404:	14000019 	b	1468 <Puzzle+0x3ac>
    1408:	b90017bf 	str	wzr, [x29,#20]
    140c:	14000011 	b	1450 <Puzzle+0x394>
    1410:	b94017a0 	ldr	w0, [x29,#20]
    1414:	531d7001 	lsl	w1, w0, #3
    1418:	b9401ba0 	ldr	w0, [x29,#24]
    141c:	0b000020 	add	w0, w1, w0
    1420:	531d7001 	lsl	w1, w0, #3
    1424:	b9401fa0 	ldr	w0, [x29,#28]
    1428:	0b000021 	add	w1, w1, w0
    142c:	f0000060 	adrp	x0, 10000 <heap_p>
    1430:	91010000 	add	x0, x0, #0x40
    1434:	93407c21 	sxtw	x1, w1
    1438:	91180021 	add	x1, x1, #0x600
    143c:	52800022 	mov	w2, #0x1                   	// #1
    1440:	b8217802 	str	w2, [x0,x1,lsl #2]
    1444:	b94017a0 	ldr	w0, [x29,#20]
    1448:	11000400 	add	w0, w0, #0x1
    144c:	b90017a0 	str	w0, [x29,#20]
    1450:	b94017a0 	ldr	w0, [x29,#20]
    1454:	6b1f001f 	cmp	w0, wzr
    1458:	54fffdcd 	b.le	1410 <Puzzle+0x354>
    145c:	b9401ba0 	ldr	w0, [x29,#24]
    1460:	11000400 	add	w0, w0, #0x1
    1464:	b9001ba0 	str	w0, [x29,#24]
    1468:	b9401ba0 	ldr	w0, [x29,#24]
    146c:	71000c1f 	cmp	w0, #0x3
    1470:	54fffccd 	b.le	1408 <Puzzle+0x34c>
    1474:	b9401fa0 	ldr	w0, [x29,#28]
    1478:	11000400 	add	w0, w0, #0x1
    147c:	b9001fa0 	str	w0, [x29,#28]
    1480:	b9401fa0 	ldr	w0, [x29,#28]
    1484:	7100041f 	cmp	w0, #0x1
    1488:	54fffbcd 	b.le	1400 <Puzzle+0x344>
    148c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1490:	911fa000 	add	x0, x0, #0x7e8
    1494:	b9000c1f 	str	wzr, [x0,#12]
    1498:	f0000060 	adrp	x0, 10000 <heap_p>
    149c:	91002000 	add	x0, x0, #0x8
    14a0:	52800321 	mov	w1, #0x19                  	// #25
    14a4:	b9000c01 	str	w1, [x0,#12]
    14a8:	b9001fbf 	str	wzr, [x29,#28]
    14ac:	14000021 	b	1530 <Puzzle+0x474>
    14b0:	b9001bbf 	str	wzr, [x29,#24]
    14b4:	14000019 	b	1518 <Puzzle+0x45c>
    14b8:	b90017bf 	str	wzr, [x29,#20]
    14bc:	14000011 	b	1500 <Puzzle+0x444>
    14c0:	b94017a0 	ldr	w0, [x29,#20]
    14c4:	531d7001 	lsl	w1, w0, #3
    14c8:	b9401ba0 	ldr	w0, [x29,#24]
    14cc:	0b000020 	add	w0, w1, w0
    14d0:	531d7001 	lsl	w1, w0, #3
    14d4:	b9401fa0 	ldr	w0, [x29,#28]
    14d8:	0b000021 	add	w1, w1, w0
    14dc:	f0000060 	adrp	x0, 10000 <heap_p>
    14e0:	91010000 	add	x0, x0, #0x40
    14e4:	93407c21 	sxtw	x1, w1
    14e8:	91200021 	add	x1, x1, #0x800
    14ec:	52800022 	mov	w2, #0x1                   	// #1
    14f0:	b8217802 	str	w2, [x0,x1,lsl #2]
    14f4:	b94017a0 	ldr	w0, [x29,#20]
    14f8:	11000400 	add	w0, w0, #0x1
    14fc:	b90017a0 	str	w0, [x29,#20]
    1500:	b94017a0 	ldr	w0, [x29,#20]
    1504:	7100041f 	cmp	w0, #0x1
    1508:	54fffdcd 	b.le	14c0 <Puzzle+0x404>
    150c:	b9401ba0 	ldr	w0, [x29,#24]
    1510:	11000400 	add	w0, w0, #0x1
    1514:	b9001ba0 	str	w0, [x29,#24]
    1518:	b9401ba0 	ldr	w0, [x29,#24]
    151c:	6b1f001f 	cmp	w0, wzr
    1520:	54fffccd 	b.le	14b8 <Puzzle+0x3fc>
    1524:	b9401fa0 	ldr	w0, [x29,#28]
    1528:	11000400 	add	w0, w0, #0x1
    152c:	b9001fa0 	str	w0, [x29,#28]
    1530:	b9401fa0 	ldr	w0, [x29,#28]
    1534:	71000c1f 	cmp	w0, #0x3
    1538:	54fffbcd 	b.le	14b0 <Puzzle+0x3f4>
    153c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1540:	911fa000 	add	x0, x0, #0x7e8
    1544:	b900101f 	str	wzr, [x0,#16]
    1548:	f0000060 	adrp	x0, 10000 <heap_p>
    154c:	91002000 	add	x0, x0, #0x8
    1550:	52800861 	mov	w1, #0x43                  	// #67
    1554:	b9001001 	str	w1, [x0,#16]
    1558:	b9001fbf 	str	wzr, [x29,#28]
    155c:	14000021 	b	15e0 <Puzzle+0x524>
    1560:	b9001bbf 	str	wzr, [x29,#24]
    1564:	14000019 	b	15c8 <Puzzle+0x50c>
    1568:	b90017bf 	str	wzr, [x29,#20]
    156c:	14000011 	b	15b0 <Puzzle+0x4f4>
    1570:	b94017a0 	ldr	w0, [x29,#20]
    1574:	531d7001 	lsl	w1, w0, #3
    1578:	b9401ba0 	ldr	w0, [x29,#24]
    157c:	0b000020 	add	w0, w1, w0
    1580:	531d7001 	lsl	w1, w0, #3
    1584:	b9401fa0 	ldr	w0, [x29,#28]
    1588:	0b000021 	add	w1, w1, w0
    158c:	f0000060 	adrp	x0, 10000 <heap_p>
    1590:	91010000 	add	x0, x0, #0x40
    1594:	93407c21 	sxtw	x1, w1
    1598:	91280021 	add	x1, x1, #0xa00
    159c:	52800022 	mov	w2, #0x1                   	// #1
    15a0:	b8217802 	str	w2, [x0,x1,lsl #2]
    15a4:	b94017a0 	ldr	w0, [x29,#20]
    15a8:	11000400 	add	w0, w0, #0x1
    15ac:	b90017a0 	str	w0, [x29,#20]
    15b0:	b94017a0 	ldr	w0, [x29,#20]
    15b4:	71000c1f 	cmp	w0, #0x3
    15b8:	54fffdcd 	b.le	1570 <Puzzle+0x4b4>
    15bc:	b9401ba0 	ldr	w0, [x29,#24]
    15c0:	11000400 	add	w0, w0, #0x1
    15c4:	b9001ba0 	str	w0, [x29,#24]
    15c8:	b9401ba0 	ldr	w0, [x29,#24]
    15cc:	7100041f 	cmp	w0, #0x1
    15d0:	54fffccd 	b.le	1568 <Puzzle+0x4ac>
    15d4:	b9401fa0 	ldr	w0, [x29,#28]
    15d8:	11000400 	add	w0, w0, #0x1
    15dc:	b9001fa0 	str	w0, [x29,#28]
    15e0:	b9401fa0 	ldr	w0, [x29,#28]
    15e4:	6b1f001f 	cmp	w0, wzr
    15e8:	54fffbcd 	b.le	1560 <Puzzle+0x4a4>
    15ec:	90000120 	adrp	x0, 25000 <imb+0x1260>
    15f0:	911fa000 	add	x0, x0, #0x7e8
    15f4:	b900141f 	str	wzr, [x0,#20]
    15f8:	f0000060 	adrp	x0, 10000 <heap_p>
    15fc:	91002000 	add	x0, x0, #0x8
    1600:	52801901 	mov	w1, #0xc8                  	// #200
    1604:	b9001401 	str	w1, [x0,#20]
    1608:	b9001fbf 	str	wzr, [x29,#28]
    160c:	14000021 	b	1690 <Puzzle+0x5d4>
    1610:	b9001bbf 	str	wzr, [x29,#24]
    1614:	14000019 	b	1678 <Puzzle+0x5bc>
    1618:	b90017bf 	str	wzr, [x29,#20]
    161c:	14000011 	b	1660 <Puzzle+0x5a4>
    1620:	b94017a0 	ldr	w0, [x29,#20]
    1624:	531d7001 	lsl	w1, w0, #3
    1628:	b9401ba0 	ldr	w0, [x29,#24]
    162c:	0b000020 	add	w0, w1, w0
    1630:	531d7001 	lsl	w1, w0, #3
    1634:	b9401fa0 	ldr	w0, [x29,#28]
    1638:	0b000021 	add	w1, w1, w0
    163c:	f0000060 	adrp	x0, 10000 <heap_p>
    1640:	91010000 	add	x0, x0, #0x40
    1644:	93407c21 	sxtw	x1, w1
    1648:	91300021 	add	x1, x1, #0xc00
    164c:	52800022 	mov	w2, #0x1                   	// #1
    1650:	b8217802 	str	w2, [x0,x1,lsl #2]
    1654:	b94017a0 	ldr	w0, [x29,#20]
    1658:	11000400 	add	w0, w0, #0x1
    165c:	b90017a0 	str	w0, [x29,#20]
    1660:	b94017a0 	ldr	w0, [x29,#20]
    1664:	6b1f001f 	cmp	w0, wzr
    1668:	54fffdcd 	b.le	1620 <Puzzle+0x564>
    166c:	b9401ba0 	ldr	w0, [x29,#24]
    1670:	11000400 	add	w0, w0, #0x1
    1674:	b9001ba0 	str	w0, [x29,#24]
    1678:	b9401ba0 	ldr	w0, [x29,#24]
    167c:	6b1f001f 	cmp	w0, wzr
    1680:	54fffccd 	b.le	1618 <Puzzle+0x55c>
    1684:	b9401fa0 	ldr	w0, [x29,#28]
    1688:	11000400 	add	w0, w0, #0x1
    168c:	b9001fa0 	str	w0, [x29,#28]
    1690:	b9401fa0 	ldr	w0, [x29,#28]
    1694:	7100081f 	cmp	w0, #0x2
    1698:	54fffbcd 	b.le	1610 <Puzzle+0x554>
    169c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    16a0:	911fa000 	add	x0, x0, #0x7e8
    16a4:	52800021 	mov	w1, #0x1                   	// #1
    16a8:	b9001801 	str	w1, [x0,#24]
    16ac:	f0000060 	adrp	x0, 10000 <heap_p>
    16b0:	91002000 	add	x0, x0, #0x8
    16b4:	52800041 	mov	w1, #0x2                   	// #2
    16b8:	b9001801 	str	w1, [x0,#24]
    16bc:	b9001fbf 	str	wzr, [x29,#28]
    16c0:	14000021 	b	1744 <Puzzle+0x688>
    16c4:	b9001bbf 	str	wzr, [x29,#24]
    16c8:	14000019 	b	172c <Puzzle+0x670>
    16cc:	b90017bf 	str	wzr, [x29,#20]
    16d0:	14000011 	b	1714 <Puzzle+0x658>
    16d4:	b94017a0 	ldr	w0, [x29,#20]
    16d8:	531d7001 	lsl	w1, w0, #3
    16dc:	b9401ba0 	ldr	w0, [x29,#24]
    16e0:	0b000020 	add	w0, w1, w0
    16e4:	531d7001 	lsl	w1, w0, #3
    16e8:	b9401fa0 	ldr	w0, [x29,#28]
    16ec:	0b000021 	add	w1, w1, w0
    16f0:	f0000060 	adrp	x0, 10000 <heap_p>
    16f4:	91010000 	add	x0, x0, #0x40
    16f8:	93407c21 	sxtw	x1, w1
    16fc:	91380021 	add	x1, x1, #0xe00
    1700:	52800022 	mov	w2, #0x1                   	// #1
    1704:	b8217802 	str	w2, [x0,x1,lsl #2]
    1708:	b94017a0 	ldr	w0, [x29,#20]
    170c:	11000400 	add	w0, w0, #0x1
    1710:	b90017a0 	str	w0, [x29,#20]
    1714:	b94017a0 	ldr	w0, [x29,#20]
    1718:	6b1f001f 	cmp	w0, wzr
    171c:	54fffdcd 	b.le	16d4 <Puzzle+0x618>
    1720:	b9401ba0 	ldr	w0, [x29,#24]
    1724:	11000400 	add	w0, w0, #0x1
    1728:	b9001ba0 	str	w0, [x29,#24]
    172c:	b9401ba0 	ldr	w0, [x29,#24]
    1730:	7100081f 	cmp	w0, #0x2
    1734:	54fffccd 	b.le	16cc <Puzzle+0x610>
    1738:	b9401fa0 	ldr	w0, [x29,#28]
    173c:	11000400 	add	w0, w0, #0x1
    1740:	b9001fa0 	str	w0, [x29,#28]
    1744:	b9401fa0 	ldr	w0, [x29,#28]
    1748:	6b1f001f 	cmp	w0, wzr
    174c:	54fffbcd 	b.le	16c4 <Puzzle+0x608>
    1750:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1754:	911fa000 	add	x0, x0, #0x7e8
    1758:	52800021 	mov	w1, #0x1                   	// #1
    175c:	b9001c01 	str	w1, [x0,#28]
    1760:	f0000060 	adrp	x0, 10000 <heap_p>
    1764:	91002000 	add	x0, x0, #0x8
    1768:	52800201 	mov	w1, #0x10                  	// #16
    176c:	b9001c01 	str	w1, [x0,#28]
    1770:	b9001fbf 	str	wzr, [x29,#28]
    1774:	14000021 	b	17f8 <Puzzle+0x73c>
    1778:	b9001bbf 	str	wzr, [x29,#24]
    177c:	14000019 	b	17e0 <Puzzle+0x724>
    1780:	b90017bf 	str	wzr, [x29,#20]
    1784:	14000011 	b	17c8 <Puzzle+0x70c>
    1788:	b94017a0 	ldr	w0, [x29,#20]
    178c:	531d7001 	lsl	w1, w0, #3
    1790:	b9401ba0 	ldr	w0, [x29,#24]
    1794:	0b000020 	add	w0, w1, w0
    1798:	531d7001 	lsl	w1, w0, #3
    179c:	b9401fa0 	ldr	w0, [x29,#28]
    17a0:	0b000021 	add	w1, w1, w0
    17a4:	f0000060 	adrp	x0, 10000 <heap_p>
    17a8:	91010000 	add	x0, x0, #0x40
    17ac:	93407c21 	sxtw	x1, w1
    17b0:	91400421 	add	x1, x1, #0x1, lsl #12
    17b4:	52800022 	mov	w2, #0x1                   	// #1
    17b8:	b8217802 	str	w2, [x0,x1,lsl #2]
    17bc:	b94017a0 	ldr	w0, [x29,#20]
    17c0:	11000400 	add	w0, w0, #0x1
    17c4:	b90017a0 	str	w0, [x29,#20]
    17c8:	b94017a0 	ldr	w0, [x29,#20]
    17cc:	7100081f 	cmp	w0, #0x2
    17d0:	54fffdcd 	b.le	1788 <Puzzle+0x6cc>
    17d4:	b9401ba0 	ldr	w0, [x29,#24]
    17d8:	11000400 	add	w0, w0, #0x1
    17dc:	b9001ba0 	str	w0, [x29,#24]
    17e0:	b9401ba0 	ldr	w0, [x29,#24]
    17e4:	6b1f001f 	cmp	w0, wzr
    17e8:	54fffccd 	b.le	1780 <Puzzle+0x6c4>
    17ec:	b9401fa0 	ldr	w0, [x29,#28]
    17f0:	11000400 	add	w0, w0, #0x1
    17f4:	b9001fa0 	str	w0, [x29,#28]
    17f8:	b9401fa0 	ldr	w0, [x29,#28]
    17fc:	6b1f001f 	cmp	w0, wzr
    1800:	54fffbcd 	b.le	1778 <Puzzle+0x6bc>
    1804:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1808:	911fa000 	add	x0, x0, #0x7e8
    180c:	52800021 	mov	w1, #0x1                   	// #1
    1810:	b9002001 	str	w1, [x0,#32]
    1814:	f0000060 	adrp	x0, 10000 <heap_p>
    1818:	91002000 	add	x0, x0, #0x8
    181c:	52801001 	mov	w1, #0x80                  	// #128
    1820:	b9002001 	str	w1, [x0,#32]
    1824:	b9001fbf 	str	wzr, [x29,#28]
    1828:	14000022 	b	18b0 <Puzzle+0x7f4>
    182c:	b9001bbf 	str	wzr, [x29,#24]
    1830:	1400001a 	b	1898 <Puzzle+0x7dc>
    1834:	b90017bf 	str	wzr, [x29,#20]
    1838:	14000012 	b	1880 <Puzzle+0x7c4>
    183c:	b94017a0 	ldr	w0, [x29,#20]
    1840:	531d7001 	lsl	w1, w0, #3
    1844:	b9401ba0 	ldr	w0, [x29,#24]
    1848:	0b000020 	add	w0, w1, w0
    184c:	531d7001 	lsl	w1, w0, #3
    1850:	b9401fa0 	ldr	w0, [x29,#28]
    1854:	0b000021 	add	w1, w1, w0
    1858:	f0000060 	adrp	x0, 10000 <heap_p>
    185c:	91010000 	add	x0, x0, #0x40
    1860:	93407c22 	sxtw	x2, w1
    1864:	d2824001 	mov	x1, #0x1200                	// #4608
    1868:	8b010041 	add	x1, x2, x1
    186c:	52800022 	mov	w2, #0x1                   	// #1
    1870:	b8217802 	str	w2, [x0,x1,lsl #2]
    1874:	b94017a0 	ldr	w0, [x29,#20]
    1878:	11000400 	add	w0, w0, #0x1
    187c:	b90017a0 	str	w0, [x29,#20]
    1880:	b94017a0 	ldr	w0, [x29,#20]
    1884:	6b1f001f 	cmp	w0, wzr
    1888:	54fffdad 	b.le	183c <Puzzle+0x780>
    188c:	b9401ba0 	ldr	w0, [x29,#24]
    1890:	11000400 	add	w0, w0, #0x1
    1894:	b9001ba0 	str	w0, [x29,#24]
    1898:	b9401ba0 	ldr	w0, [x29,#24]
    189c:	7100041f 	cmp	w0, #0x1
    18a0:	54fffcad 	b.le	1834 <Puzzle+0x778>
    18a4:	b9401fa0 	ldr	w0, [x29,#28]
    18a8:	11000400 	add	w0, w0, #0x1
    18ac:	b9001fa0 	str	w0, [x29,#28]
    18b0:	b9401fa0 	ldr	w0, [x29,#28]
    18b4:	7100041f 	cmp	w0, #0x1
    18b8:	54fffbad 	b.le	182c <Puzzle+0x770>
    18bc:	90000120 	adrp	x0, 25000 <imb+0x1260>
    18c0:	911fa000 	add	x0, x0, #0x7e8
    18c4:	52800041 	mov	w1, #0x2                   	// #2
    18c8:	b9002401 	str	w1, [x0,#36]
    18cc:	f0000060 	adrp	x0, 10000 <heap_p>
    18d0:	91002000 	add	x0, x0, #0x8
    18d4:	52800121 	mov	w1, #0x9                   	// #9
    18d8:	b9002401 	str	w1, [x0,#36]
    18dc:	b9001fbf 	str	wzr, [x29,#28]
    18e0:	14000022 	b	1968 <Puzzle+0x8ac>
    18e4:	b9001bbf 	str	wzr, [x29,#24]
    18e8:	1400001a 	b	1950 <Puzzle+0x894>
    18ec:	b90017bf 	str	wzr, [x29,#20]
    18f0:	14000012 	b	1938 <Puzzle+0x87c>
    18f4:	b94017a0 	ldr	w0, [x29,#20]
    18f8:	531d7001 	lsl	w1, w0, #3
    18fc:	b9401ba0 	ldr	w0, [x29,#24]
    1900:	0b000020 	add	w0, w1, w0
    1904:	531d7001 	lsl	w1, w0, #3
    1908:	b9401fa0 	ldr	w0, [x29,#28]
    190c:	0b000021 	add	w1, w1, w0
    1910:	f0000060 	adrp	x0, 10000 <heap_p>
    1914:	91010000 	add	x0, x0, #0x40
    1918:	93407c22 	sxtw	x2, w1
    191c:	d2828001 	mov	x1, #0x1400                	// #5120
    1920:	8b010041 	add	x1, x2, x1
    1924:	52800022 	mov	w2, #0x1                   	// #1
    1928:	b8217802 	str	w2, [x0,x1,lsl #2]
    192c:	b94017a0 	ldr	w0, [x29,#20]
    1930:	11000400 	add	w0, w0, #0x1
    1934:	b90017a0 	str	w0, [x29,#20]
    1938:	b94017a0 	ldr	w0, [x29,#20]
    193c:	7100041f 	cmp	w0, #0x1
    1940:	54fffdad 	b.le	18f4 <Puzzle+0x838>
    1944:	b9401ba0 	ldr	w0, [x29,#24]
    1948:	11000400 	add	w0, w0, #0x1
    194c:	b9001ba0 	str	w0, [x29,#24]
    1950:	b9401ba0 	ldr	w0, [x29,#24]
    1954:	6b1f001f 	cmp	w0, wzr
    1958:	54fffcad 	b.le	18ec <Puzzle+0x830>
    195c:	b9401fa0 	ldr	w0, [x29,#28]
    1960:	11000400 	add	w0, w0, #0x1
    1964:	b9001fa0 	str	w0, [x29,#28]
    1968:	b9401fa0 	ldr	w0, [x29,#28]
    196c:	7100041f 	cmp	w0, #0x1
    1970:	54fffbad 	b.le	18e4 <Puzzle+0x828>
    1974:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1978:	911fa000 	add	x0, x0, #0x7e8
    197c:	52800041 	mov	w1, #0x2                   	// #2
    1980:	b9002801 	str	w1, [x0,#40]
    1984:	f0000060 	adrp	x0, 10000 <heap_p>
    1988:	91002000 	add	x0, x0, #0x8
    198c:	52800821 	mov	w1, #0x41                  	// #65
    1990:	b9002801 	str	w1, [x0,#40]
    1994:	b9001fbf 	str	wzr, [x29,#28]
    1998:	14000022 	b	1a20 <Puzzle+0x964>
    199c:	b9001bbf 	str	wzr, [x29,#24]
    19a0:	1400001a 	b	1a08 <Puzzle+0x94c>
    19a4:	b90017bf 	str	wzr, [x29,#20]
    19a8:	14000012 	b	19f0 <Puzzle+0x934>
    19ac:	b94017a0 	ldr	w0, [x29,#20]
    19b0:	531d7001 	lsl	w1, w0, #3
    19b4:	b9401ba0 	ldr	w0, [x29,#24]
    19b8:	0b000020 	add	w0, w1, w0
    19bc:	531d7001 	lsl	w1, w0, #3
    19c0:	b9401fa0 	ldr	w0, [x29,#28]
    19c4:	0b000021 	add	w1, w1, w0
    19c8:	f0000060 	adrp	x0, 10000 <heap_p>
    19cc:	91010000 	add	x0, x0, #0x40
    19d0:	93407c22 	sxtw	x2, w1
    19d4:	d282c001 	mov	x1, #0x1600                	// #5632
    19d8:	8b010041 	add	x1, x2, x1
    19dc:	52800022 	mov	w2, #0x1                   	// #1
    19e0:	b8217802 	str	w2, [x0,x1,lsl #2]
    19e4:	b94017a0 	ldr	w0, [x29,#20]
    19e8:	11000400 	add	w0, w0, #0x1
    19ec:	b90017a0 	str	w0, [x29,#20]
    19f0:	b94017a0 	ldr	w0, [x29,#20]
    19f4:	7100041f 	cmp	w0, #0x1
    19f8:	54fffdad 	b.le	19ac <Puzzle+0x8f0>
    19fc:	b9401ba0 	ldr	w0, [x29,#24]
    1a00:	11000400 	add	w0, w0, #0x1
    1a04:	b9001ba0 	str	w0, [x29,#24]
    1a08:	b9401ba0 	ldr	w0, [x29,#24]
    1a0c:	7100041f 	cmp	w0, #0x1
    1a10:	54fffcad 	b.le	19a4 <Puzzle+0x8e8>
    1a14:	b9401fa0 	ldr	w0, [x29,#28]
    1a18:	11000400 	add	w0, w0, #0x1
    1a1c:	b9001fa0 	str	w0, [x29,#28]
    1a20:	b9401fa0 	ldr	w0, [x29,#28]
    1a24:	6b1f001f 	cmp	w0, wzr
    1a28:	54fffbad 	b.le	199c <Puzzle+0x8e0>
    1a2c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1a30:	911fa000 	add	x0, x0, #0x7e8
    1a34:	52800041 	mov	w1, #0x2                   	// #2
    1a38:	b9002c01 	str	w1, [x0,#44]
    1a3c:	f0000060 	adrp	x0, 10000 <heap_p>
    1a40:	91002000 	add	x0, x0, #0x8
    1a44:	52800901 	mov	w1, #0x48                  	// #72
    1a48:	b9002c01 	str	w1, [x0,#44]
    1a4c:	b9001fbf 	str	wzr, [x29,#28]
    1a50:	14000022 	b	1ad8 <Puzzle+0xa1c>
    1a54:	b9001bbf 	str	wzr, [x29,#24]
    1a58:	1400001a 	b	1ac0 <Puzzle+0xa04>
    1a5c:	b90017bf 	str	wzr, [x29,#20]
    1a60:	14000012 	b	1aa8 <Puzzle+0x9ec>
    1a64:	b94017a0 	ldr	w0, [x29,#20]
    1a68:	531d7001 	lsl	w1, w0, #3
    1a6c:	b9401ba0 	ldr	w0, [x29,#24]
    1a70:	0b000020 	add	w0, w1, w0
    1a74:	531d7001 	lsl	w1, w0, #3
    1a78:	b9401fa0 	ldr	w0, [x29,#28]
    1a7c:	0b000021 	add	w1, w1, w0
    1a80:	f0000060 	adrp	x0, 10000 <heap_p>
    1a84:	91010000 	add	x0, x0, #0x40
    1a88:	93407c22 	sxtw	x2, w1
    1a8c:	d2830001 	mov	x1, #0x1800                	// #6144
    1a90:	8b010041 	add	x1, x2, x1
    1a94:	52800022 	mov	w2, #0x1                   	// #1
    1a98:	b8217802 	str	w2, [x0,x1,lsl #2]
    1a9c:	b94017a0 	ldr	w0, [x29,#20]
    1aa0:	11000400 	add	w0, w0, #0x1
    1aa4:	b90017a0 	str	w0, [x29,#20]
    1aa8:	b94017a0 	ldr	w0, [x29,#20]
    1aac:	7100041f 	cmp	w0, #0x1
    1ab0:	54fffdad 	b.le	1a64 <Puzzle+0x9a8>
    1ab4:	b9401ba0 	ldr	w0, [x29,#24]
    1ab8:	11000400 	add	w0, w0, #0x1
    1abc:	b9001ba0 	str	w0, [x29,#24]
    1ac0:	b9401ba0 	ldr	w0, [x29,#24]
    1ac4:	7100041f 	cmp	w0, #0x1
    1ac8:	54fffcad 	b.le	1a5c <Puzzle+0x9a0>
    1acc:	b9401fa0 	ldr	w0, [x29,#28]
    1ad0:	11000400 	add	w0, w0, #0x1
    1ad4:	b9001fa0 	str	w0, [x29,#28]
    1ad8:	b9401fa0 	ldr	w0, [x29,#28]
    1adc:	7100041f 	cmp	w0, #0x1
    1ae0:	54fffbad 	b.le	1a54 <Puzzle+0x998>
    1ae4:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1ae8:	911fa000 	add	x0, x0, #0x7e8
    1aec:	52800061 	mov	w1, #0x3                   	// #3
    1af0:	b9003001 	str	w1, [x0,#48]
    1af4:	f0000060 	adrp	x0, 10000 <heap_p>
    1af8:	91002000 	add	x0, x0, #0x8
    1afc:	52800921 	mov	w1, #0x49                  	// #73
    1b00:	b9003001 	str	w1, [x0,#48]
    1b04:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1b08:	91146000 	add	x0, x0, #0x518
    1b0c:	528001a1 	mov	w1, #0xd                   	// #13
    1b10:	b9000001 	str	w1, [x0]
    1b14:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1b18:	91146000 	add	x0, x0, #0x518
    1b1c:	52800061 	mov	w1, #0x3                   	// #3
    1b20:	b9000401 	str	w1, [x0,#4]
    1b24:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1b28:	91146000 	add	x0, x0, #0x518
    1b2c:	52800021 	mov	w1, #0x1                   	// #1
    1b30:	b9000801 	str	w1, [x0,#8]
    1b34:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1b38:	91146000 	add	x0, x0, #0x518
    1b3c:	52800021 	mov	w1, #0x1                   	// #1
    1b40:	b9000c01 	str	w1, [x0,#12]
    1b44:	52800920 	mov	w0, #0x49                  	// #73
    1b48:	b90013a0 	str	w0, [x29,#16]
    1b4c:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1b50:	911f9000 	add	x0, x0, #0x7e4
    1b54:	b900001f 	str	wzr, [x0]
    1b58:	b94013a1 	ldr	w1, [x29,#16]
    1b5c:	52800000 	mov	w0, #0x0                   	// #0
    1b60:	97fffc85 	bl	d74 <Fit>
    1b64:	6b1f001f 	cmp	w0, wzr
    1b68:	54000120 	b.eq	1b8c <Puzzle+0xad0>
    1b6c:	b94013a1 	ldr	w1, [x29,#16]
    1b70:	52800000 	mov	w0, #0x0                   	// #0
    1b74:	97fffca6 	bl	e0c <Place>
    1b78:	2a0003e1 	mov	w1, w0
    1b7c:	f00000a0 	adrp	x0, 18000 <rma+0x17c0>
    1b80:	910a2000 	add	x0, x0, #0x288
    1b84:	b9000001 	str	w1, [x0]
    1b88:	14000008 	b	1ba8 <Puzzle+0xaec>
    1b8c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1b90:	91384000 	add	x0, x0, #0xe10
    1b94:	b9400000 	ldr	w0, [x0]
    1b98:	321b0001 	orr	w1, w0, #0x20
    1b9c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1ba0:	91384000 	add	x0, x0, #0xe10
    1ba4:	b9000001 	str	w1, [x0]
    1ba8:	f00000a0 	adrp	x0, 18000 <rma+0x17c0>
    1bac:	910a2000 	add	x0, x0, #0x288
    1bb0:	b9400000 	ldr	w0, [x0]
    1bb4:	97fffd0e 	bl	fec <Trial>
    1bb8:	6b1f001f 	cmp	w0, wzr
    1bbc:	54000121 	b.ne	1be0 <Puzzle+0xb24>
    1bc0:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1bc4:	91384000 	add	x0, x0, #0xe10
    1bc8:	b9400000 	ldr	w0, [x0]
    1bcc:	321b0001 	orr	w1, w0, #0x20
    1bd0:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1bd4:	91384000 	add	x0, x0, #0xe10
    1bd8:	b9000001 	str	w1, [x0]
    1bdc:	1400000d 	b	1c10 <Puzzle+0xb54>
    1be0:	90000120 	adrp	x0, 25000 <imb+0x1260>
    1be4:	911f9000 	add	x0, x0, #0x7e4
    1be8:	b9400000 	ldr	w0, [x0]
    1bec:	711f541f 	cmp	w0, #0x7d5
    1bf0:	54000100 	b.eq	1c10 <Puzzle+0xb54>
    1bf4:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1bf8:	91384000 	add	x0, x0, #0xe10
    1bfc:	b9400000 	ldr	w0, [x0]
    1c00:	321b0001 	orr	w1, w0, #0x20
    1c04:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1c08:	91384000 	add	x0, x0, #0xe10
    1c0c:	b9000001 	str	w1, [x0]
    1c10:	d503201f 	nop
    1c14:	a8c27bfd 	ldp	x29, x30, [sp],#32
    1c18:	d65f03c0 	ret

0000000000001c1c <Initarr>:
    1c1c:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    1c20:	910003fd 	mov	x29, sp
    1c24:	97fff914 	bl	74 <Initrand>
    1c28:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1c2c:	9130f000 	add	x0, x0, #0xc3c
    1c30:	b900001f 	str	wzr, [x0]
    1c34:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1c38:	91385000 	add	x0, x0, #0xe14
    1c3c:	b900001f 	str	wzr, [x0]
    1c40:	52800020 	mov	w0, #0x1                   	// #1
    1c44:	b9001fa0 	str	w0, [x29,#28]
    1c48:	14000035 	b	1d1c <Initarr+0x100>
    1c4c:	97fff911 	bl	90 <Rand>
    1c50:	b9001ba0 	str	w0, [x29,#24]
    1c54:	b9401ba0 	ldr	w0, [x29,#24]
    1c58:	5290d401 	mov	w1, #0x86a0                	// #34464
    1c5c:	72a00021 	movk	w1, #0x1, lsl #16
    1c60:	1ac10c02 	sdiv	w2, w0, w1
    1c64:	5290d401 	mov	w1, #0x86a0                	// #34464
    1c68:	72a00021 	movk	w1, #0x1, lsl #16
    1c6c:	1b017c41 	mul	w1, w2, w1
    1c70:	4b010001 	sub	w1, w0, w1
    1c74:	129869e0 	mov	w0, #0xffff3cb0            	// #-50000
    1c78:	0b000022 	add	w2, w1, w0
    1c7c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1c80:	91386000 	add	x0, x0, #0xe18
    1c84:	b9801fa1 	ldrsw	x1, [x29,#28]
    1c88:	b8217802 	str	w2, [x0,x1,lsl #2]
    1c8c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1c90:	91386000 	add	x0, x0, #0xe18
    1c94:	b9801fa1 	ldrsw	x1, [x29,#28]
    1c98:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    1c9c:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1ca0:	9130f000 	add	x0, x0, #0xc3c
    1ca4:	b9400000 	ldr	w0, [x0]
    1ca8:	6b00003f 	cmp	w1, w0
    1cac:	5400012d 	b.le	1cd0 <Initarr+0xb4>
    1cb0:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1cb4:	91386000 	add	x0, x0, #0xe18
    1cb8:	b9801fa1 	ldrsw	x1, [x29,#28]
    1cbc:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    1cc0:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1cc4:	9130f000 	add	x0, x0, #0xc3c
    1cc8:	b9000001 	str	w1, [x0]
    1ccc:	14000011 	b	1d10 <Initarr+0xf4>
    1cd0:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1cd4:	91386000 	add	x0, x0, #0xe18
    1cd8:	b9801fa1 	ldrsw	x1, [x29,#28]
    1cdc:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    1ce0:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1ce4:	91385000 	add	x0, x0, #0xe14
    1ce8:	b9400000 	ldr	w0, [x0]
    1cec:	6b00003f 	cmp	w1, w0
    1cf0:	5400010a 	b.ge	1d10 <Initarr+0xf4>
    1cf4:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1cf8:	91386000 	add	x0, x0, #0xe18
    1cfc:	b9801fa1 	ldrsw	x1, [x29,#28]
    1d00:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    1d04:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1d08:	91385000 	add	x0, x0, #0xe14
    1d0c:	b9000001 	str	w1, [x0]
    1d10:	b9401fa0 	ldr	w0, [x29,#28]
    1d14:	11000400 	add	w0, w0, #0x1
    1d18:	b9001fa0 	str	w0, [x29,#28]
    1d1c:	b9401fa1 	ldr	w1, [x29,#28]
    1d20:	52827100 	mov	w0, #0x1388                	// #5000
    1d24:	6b00003f 	cmp	w1, w0
    1d28:	54fff92d 	b.le	1c4c <Initarr+0x30>
    1d2c:	d503201f 	nop
    1d30:	a8c27bfd 	ldp	x29, x30, [sp],#32
    1d34:	d65f03c0 	ret

0000000000001d38 <Quicksort>:
    1d38:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
    1d3c:	910003fd 	mov	x29, sp
    1d40:	f9000fa0 	str	x0, [x29,#24]
    1d44:	b90017a1 	str	w1, [x29,#20]
    1d48:	b90013a2 	str	w2, [x29,#16]
    1d4c:	b94017a0 	ldr	w0, [x29,#20]
    1d50:	b9002fa0 	str	w0, [x29,#44]
    1d54:	b94013a0 	ldr	w0, [x29,#16]
    1d58:	b9002ba0 	str	w0, [x29,#40]
    1d5c:	b94017a1 	ldr	w1, [x29,#20]
    1d60:	b94013a0 	ldr	w0, [x29,#16]
    1d64:	0b000020 	add	w0, w1, w0
    1d68:	531f7c01 	lsr	w1, w0, #31
    1d6c:	0b000020 	add	w0, w1, w0
    1d70:	13017c00 	asr	w0, w0, #1
    1d74:	93407c00 	sxtw	x0, w0
    1d78:	d37ef400 	lsl	x0, x0, #2
    1d7c:	f9400fa1 	ldr	x1, [x29,#24]
    1d80:	8b000020 	add	x0, x1, x0
    1d84:	b9400000 	ldr	w0, [x0]
    1d88:	b90027a0 	str	w0, [x29,#36]
    1d8c:	14000004 	b	1d9c <Quicksort+0x64>
    1d90:	b9402fa0 	ldr	w0, [x29,#44]
    1d94:	11000400 	add	w0, w0, #0x1
    1d98:	b9002fa0 	str	w0, [x29,#44]
    1d9c:	b9802fa0 	ldrsw	x0, [x29,#44]
    1da0:	d37ef400 	lsl	x0, x0, #2
    1da4:	f9400fa1 	ldr	x1, [x29,#24]
    1da8:	8b000020 	add	x0, x1, x0
    1dac:	b9400001 	ldr	w1, [x0]
    1db0:	b94027a0 	ldr	w0, [x29,#36]
    1db4:	6b00003f 	cmp	w1, w0
    1db8:	54fffecb 	b.lt	1d90 <Quicksort+0x58>
    1dbc:	14000004 	b	1dcc <Quicksort+0x94>
    1dc0:	b9402ba0 	ldr	w0, [x29,#40]
    1dc4:	51000400 	sub	w0, w0, #0x1
    1dc8:	b9002ba0 	str	w0, [x29,#40]
    1dcc:	b9802ba0 	ldrsw	x0, [x29,#40]
    1dd0:	d37ef400 	lsl	x0, x0, #2
    1dd4:	f9400fa1 	ldr	x1, [x29,#24]
    1dd8:	8b000020 	add	x0, x1, x0
    1ddc:	b9400001 	ldr	w1, [x0]
    1de0:	b94027a0 	ldr	w0, [x29,#36]
    1de4:	6b00003f 	cmp	w1, w0
    1de8:	54fffecc 	b.gt	1dc0 <Quicksort+0x88>
    1dec:	b9402fa1 	ldr	w1, [x29,#44]
    1df0:	b9402ba0 	ldr	w0, [x29,#40]
    1df4:	6b00003f 	cmp	w1, w0
    1df8:	540003ac 	b.gt	1e6c <Quicksort+0x134>
    1dfc:	b9802fa0 	ldrsw	x0, [x29,#44]
    1e00:	d37ef400 	lsl	x0, x0, #2
    1e04:	f9400fa1 	ldr	x1, [x29,#24]
    1e08:	8b000020 	add	x0, x1, x0
    1e0c:	b9400000 	ldr	w0, [x0]
    1e10:	b90023a0 	str	w0, [x29,#32]
    1e14:	b9802fa0 	ldrsw	x0, [x29,#44]
    1e18:	d37ef400 	lsl	x0, x0, #2
    1e1c:	f9400fa1 	ldr	x1, [x29,#24]
    1e20:	8b000020 	add	x0, x1, x0
    1e24:	b9802ba1 	ldrsw	x1, [x29,#40]
    1e28:	d37ef421 	lsl	x1, x1, #2
    1e2c:	f9400fa2 	ldr	x2, [x29,#24]
    1e30:	8b010041 	add	x1, x2, x1
    1e34:	b9400021 	ldr	w1, [x1]
    1e38:	b9000001 	str	w1, [x0]
    1e3c:	b9802ba0 	ldrsw	x0, [x29,#40]
    1e40:	d37ef400 	lsl	x0, x0, #2
    1e44:	f9400fa1 	ldr	x1, [x29,#24]
    1e48:	8b000020 	add	x0, x1, x0
    1e4c:	b94023a1 	ldr	w1, [x29,#32]
    1e50:	b9000001 	str	w1, [x0]
    1e54:	b9402fa0 	ldr	w0, [x29,#44]
    1e58:	11000400 	add	w0, w0, #0x1
    1e5c:	b9002fa0 	str	w0, [x29,#44]
    1e60:	b9402ba0 	ldr	w0, [x29,#40]
    1e64:	51000400 	sub	w0, w0, #0x1
    1e68:	b9002ba0 	str	w0, [x29,#40]
    1e6c:	b9402fa1 	ldr	w1, [x29,#44]
    1e70:	b9402ba0 	ldr	w0, [x29,#40]
    1e74:	6b00003f 	cmp	w1, w0
    1e78:	54fff92d 	b.le	1d9c <Quicksort+0x64>
    1e7c:	b94017a1 	ldr	w1, [x29,#20]
    1e80:	b9402ba0 	ldr	w0, [x29,#40]
    1e84:	6b00003f 	cmp	w1, w0
    1e88:	540000aa 	b.ge	1e9c <Quicksort+0x164>
    1e8c:	b9402ba2 	ldr	w2, [x29,#40]
    1e90:	b94017a1 	ldr	w1, [x29,#20]
    1e94:	f9400fa0 	ldr	x0, [x29,#24]
    1e98:	97ffffa8 	bl	1d38 <Quicksort>
    1e9c:	b9402fa1 	ldr	w1, [x29,#44]
    1ea0:	b94013a0 	ldr	w0, [x29,#16]
    1ea4:	6b00003f 	cmp	w1, w0
    1ea8:	540000aa 	b.ge	1ebc <Quicksort+0x184>
    1eac:	b94013a2 	ldr	w2, [x29,#16]
    1eb0:	b9402fa1 	ldr	w1, [x29,#44]
    1eb4:	f9400fa0 	ldr	x0, [x29,#24]
    1eb8:	97ffffa0 	bl	1d38 <Quicksort>
    1ebc:	d503201f 	nop
    1ec0:	a8c37bfd 	ldp	x29, x30, [sp],#48
    1ec4:	d65f03c0 	ret

0000000000001ec8 <Quick>:
    1ec8:	a9bf7bfd 	stp	x29, x30, [sp,#-16]!
    1ecc:	910003fd 	mov	x29, sp
    1ed0:	97ffff53 	bl	1c1c <Initarr>
    1ed4:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1ed8:	91386000 	add	x0, x0, #0xe18
    1edc:	52827102 	mov	w2, #0x1388                	// #5000
    1ee0:	52800021 	mov	w1, #0x1                   	// #1
    1ee4:	97ffff95 	bl	1d38 <Quicksort>
    1ee8:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1eec:	91386000 	add	x0, x0, #0xe18
    1ef0:	b9400401 	ldr	w1, [x0,#4]
    1ef4:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1ef8:	91385000 	add	x0, x0, #0xe14
    1efc:	b9400000 	ldr	w0, [x0]
    1f00:	6b00003f 	cmp	w1, w0
    1f04:	54000141 	b.ne	1f2c <Quick+0x64>
    1f08:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1f0c:	91386000 	add	x0, x0, #0xe18
    1f10:	91401000 	add	x0, x0, #0x4, lsl #12
    1f14:	b94e2001 	ldr	w1, [x0,#3616]
    1f18:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1f1c:	9130f000 	add	x0, x0, #0xc3c
    1f20:	b9400000 	ldr	w0, [x0]
    1f24:	6b00003f 	cmp	w1, w0
    1f28:	54000100 	b.eq	1f48 <Quick+0x80>
    1f2c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1f30:	91384000 	add	x0, x0, #0xe10
    1f34:	b9400000 	ldr	w0, [x0]
    1f38:	321a0001 	orr	w1, w0, #0x40
    1f3c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1f40:	91384000 	add	x0, x0, #0xe10
    1f44:	b9000001 	str	w1, [x0]
    1f48:	d503201f 	nop
    1f4c:	a8c17bfd 	ldp	x29, x30, [sp],#16
    1f50:	d65f03c0 	ret

0000000000001f54 <tInitarr>:
    1f54:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    1f58:	910003fd 	mov	x29, sp
    1f5c:	97fff846 	bl	74 <Initrand>
    1f60:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1f64:	9130f000 	add	x0, x0, #0xc3c
    1f68:	b900001f 	str	wzr, [x0]
    1f6c:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1f70:	91385000 	add	x0, x0, #0xe14
    1f74:	b900001f 	str	wzr, [x0]
    1f78:	52800020 	mov	w0, #0x1                   	// #1
    1f7c:	b9001fa0 	str	w0, [x29,#28]
    1f80:	14000035 	b	2054 <tInitarr+0x100>
    1f84:	97fff843 	bl	90 <Rand>
    1f88:	b9001ba0 	str	w0, [x29,#24]
    1f8c:	b9401ba0 	ldr	w0, [x29,#24]
    1f90:	5290d401 	mov	w1, #0x86a0                	// #34464
    1f94:	72a00021 	movk	w1, #0x1, lsl #16
    1f98:	1ac10c02 	sdiv	w2, w0, w1
    1f9c:	5290d401 	mov	w1, #0x86a0                	// #34464
    1fa0:	72a00021 	movk	w1, #0x1, lsl #16
    1fa4:	1b017c41 	mul	w1, w2, w1
    1fa8:	4b010001 	sub	w1, w0, w1
    1fac:	129869e0 	mov	w0, #0xffff3cb0            	// #-50000
    1fb0:	0b000022 	add	w2, w1, w0
    1fb4:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1fb8:	91386000 	add	x0, x0, #0xe18
    1fbc:	b9801fa1 	ldrsw	x1, [x29,#28]
    1fc0:	b8217802 	str	w2, [x0,x1,lsl #2]
    1fc4:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1fc8:	91386000 	add	x0, x0, #0xe18
    1fcc:	b9801fa1 	ldrsw	x1, [x29,#28]
    1fd0:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    1fd4:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1fd8:	9130f000 	add	x0, x0, #0xc3c
    1fdc:	b9400000 	ldr	w0, [x0]
    1fe0:	6b00003f 	cmp	w1, w0
    1fe4:	5400012d 	b.le	2008 <tInitarr+0xb4>
    1fe8:	b00000c0 	adrp	x0, 1a000 <w+0x2f0>
    1fec:	91386000 	add	x0, x0, #0xe18
    1ff0:	b9801fa1 	ldrsw	x1, [x29,#28]
    1ff4:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    1ff8:	d00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    1ffc:	9130f000 	add	x0, x0, #0xc3c
    2000:	b9000001 	str	w1, [x0]
    2004:	14000011 	b	2048 <tInitarr+0xf4>
    2008:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    200c:	91386000 	add	x0, x0, #0xe18
    2010:	b9801fa1 	ldrsw	x1, [x29,#28]
    2014:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    2018:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    201c:	91385000 	add	x0, x0, #0xe14
    2020:	b9400000 	ldr	w0, [x0]
    2024:	6b00003f 	cmp	w1, w0
    2028:	5400010a 	b.ge	2048 <tInitarr+0xf4>
    202c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2030:	91386000 	add	x0, x0, #0xe18
    2034:	b9801fa1 	ldrsw	x1, [x29,#28]
    2038:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    203c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2040:	91385000 	add	x0, x0, #0xe14
    2044:	b9000001 	str	w1, [x0]
    2048:	b9401fa0 	ldr	w0, [x29,#28]
    204c:	11000400 	add	w0, w0, #0x1
    2050:	b9001fa0 	str	w0, [x29,#28]
    2054:	b9401fa1 	ldr	w1, [x29,#28]
    2058:	52827100 	mov	w0, #0x1388                	// #5000
    205c:	6b00003f 	cmp	w1, w0
    2060:	54fff92d 	b.le	1f84 <tInitarr+0x30>
    2064:	d503201f 	nop
    2068:	a8c27bfd 	ldp	x29, x30, [sp],#32
    206c:	d65f03c0 	ret

0000000000002070 <CreateNode>:
    2070:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    2074:	910003fd 	mov	x29, sp
    2078:	f9000fa0 	str	x0, [x29,#24]
    207c:	b90017a1 	str	w1, [x29,#20]
    2080:	52800300 	mov	w0, #0x18                  	// #24
    2084:	94000196 	bl	26dc <Malloc>
    2088:	aa0003e1 	mov	x1, x0
    208c:	f9400fa0 	ldr	x0, [x29,#24]
    2090:	f9000001 	str	x1, [x0]
    2094:	f9400fa0 	ldr	x0, [x29,#24]
    2098:	f9400000 	ldr	x0, [x0]
    209c:	f900001f 	str	xzr, [x0]
    20a0:	f9400fa0 	ldr	x0, [x29,#24]
    20a4:	f9400000 	ldr	x0, [x0]
    20a8:	f900041f 	str	xzr, [x0,#8]
    20ac:	f9400fa0 	ldr	x0, [x29,#24]
    20b0:	f9400000 	ldr	x0, [x0]
    20b4:	b94017a1 	ldr	w1, [x29,#20]
    20b8:	b9001001 	str	w1, [x0,#16]
    20bc:	d503201f 	nop
    20c0:	a8c27bfd 	ldp	x29, x30, [sp],#32
    20c4:	d65f03c0 	ret

00000000000020c8 <Insert>:
    20c8:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    20cc:	910003fd 	mov	x29, sp
    20d0:	b9001fa0 	str	w0, [x29,#28]
    20d4:	f9000ba1 	str	x1, [x29,#16]
    20d8:	f9400ba0 	ldr	x0, [x29,#16]
    20dc:	b9401001 	ldr	w1, [x0,#16]
    20e0:	b9401fa0 	ldr	w0, [x29,#28]
    20e4:	6b00003f 	cmp	w1, w0
    20e8:	540001ea 	b.ge	2124 <Insert+0x5c>
    20ec:	f9400ba0 	ldr	x0, [x29,#16]
    20f0:	f9400000 	ldr	x0, [x0]
    20f4:	eb1f001f 	cmp	x0, xzr
    20f8:	540000a1 	b.ne	210c <Insert+0x44>
    20fc:	f9400ba0 	ldr	x0, [x29,#16]
    2100:	b9401fa1 	ldr	w1, [x29,#28]
    2104:	97ffffdb 	bl	2070 <CreateNode>
    2108:	1400001a 	b	2170 <Insert+0xa8>
    210c:	f9400ba0 	ldr	x0, [x29,#16]
    2110:	f9400000 	ldr	x0, [x0]
    2114:	aa0003e1 	mov	x1, x0
    2118:	b9401fa0 	ldr	w0, [x29,#28]
    211c:	97ffffeb 	bl	20c8 <Insert>
    2120:	14000014 	b	2170 <Insert+0xa8>
    2124:	f9400ba0 	ldr	x0, [x29,#16]
    2128:	b9401001 	ldr	w1, [x0,#16]
    212c:	b9401fa0 	ldr	w0, [x29,#28]
    2130:	6b00003f 	cmp	w1, w0
    2134:	540001ed 	b.le	2170 <Insert+0xa8>
    2138:	f9400ba0 	ldr	x0, [x29,#16]
    213c:	f9400400 	ldr	x0, [x0,#8]
    2140:	eb1f001f 	cmp	x0, xzr
    2144:	540000c1 	b.ne	215c <Insert+0x94>
    2148:	f9400ba0 	ldr	x0, [x29,#16]
    214c:	91002000 	add	x0, x0, #0x8
    2150:	b9401fa1 	ldr	w1, [x29,#28]
    2154:	97ffffc7 	bl	2070 <CreateNode>
    2158:	14000006 	b	2170 <Insert+0xa8>
    215c:	f9400ba0 	ldr	x0, [x29,#16]
    2160:	f9400400 	ldr	x0, [x0,#8]
    2164:	aa0003e1 	mov	x1, x0
    2168:	b9401fa0 	ldr	w0, [x29,#28]
    216c:	97ffffd7 	bl	20c8 <Insert>
    2170:	d503201f 	nop
    2174:	a8c27bfd 	ldp	x29, x30, [sp],#32
    2178:	d65f03c0 	ret

000000000000217c <Checktree>:
    217c:	a9bd7bfd 	stp	x29, x30, [sp,#-48]!
    2180:	910003fd 	mov	x29, sp
    2184:	f9000fa0 	str	x0, [x29,#24]
    2188:	52800020 	mov	w0, #0x1                   	// #1
    218c:	b9002fa0 	str	w0, [x29,#44]
    2190:	f9400fa0 	ldr	x0, [x29,#24]
    2194:	f9400000 	ldr	x0, [x0]
    2198:	eb1f001f 	cmp	x0, xzr
    219c:	540002c0 	b.eq	21f4 <Checktree+0x78>
    21a0:	f9400fa0 	ldr	x0, [x29,#24]
    21a4:	f9400000 	ldr	x0, [x0]
    21a8:	b9401001 	ldr	w1, [x0,#16]
    21ac:	f9400fa0 	ldr	x0, [x29,#24]
    21b0:	b9401000 	ldr	w0, [x0,#16]
    21b4:	6b00003f 	cmp	w1, w0
    21b8:	5400006c 	b.gt	21c4 <Checktree+0x48>
    21bc:	b9002fbf 	str	wzr, [x29,#44]
    21c0:	1400000d 	b	21f4 <Checktree+0x78>
    21c4:	f9400fa0 	ldr	x0, [x29,#24]
    21c8:	f9400000 	ldr	x0, [x0]
    21cc:	97ffffec 	bl	217c <Checktree>
    21d0:	6b1f001f 	cmp	w0, wzr
    21d4:	540000c0 	b.eq	21ec <Checktree+0x70>
    21d8:	b9402fa0 	ldr	w0, [x29,#44]
    21dc:	6b1f001f 	cmp	w0, wzr
    21e0:	54000060 	b.eq	21ec <Checktree+0x70>
    21e4:	52800020 	mov	w0, #0x1                   	// #1
    21e8:	14000002 	b	21f0 <Checktree+0x74>
    21ec:	52800000 	mov	w0, #0x0                   	// #0
    21f0:	b9002fa0 	str	w0, [x29,#44]
    21f4:	f9400fa0 	ldr	x0, [x29,#24]
    21f8:	f9400400 	ldr	x0, [x0,#8]
    21fc:	eb1f001f 	cmp	x0, xzr
    2200:	540002c0 	b.eq	2258 <Checktree+0xdc>
    2204:	f9400fa0 	ldr	x0, [x29,#24]
    2208:	f9400400 	ldr	x0, [x0,#8]
    220c:	b9401001 	ldr	w1, [x0,#16]
    2210:	f9400fa0 	ldr	x0, [x29,#24]
    2214:	b9401000 	ldr	w0, [x0,#16]
    2218:	6b00003f 	cmp	w1, w0
    221c:	5400006b 	b.lt	2228 <Checktree+0xac>
    2220:	b9002fbf 	str	wzr, [x29,#44]
    2224:	1400000d 	b	2258 <Checktree+0xdc>
    2228:	f9400fa0 	ldr	x0, [x29,#24]
    222c:	f9400400 	ldr	x0, [x0,#8]
    2230:	97ffffd3 	bl	217c <Checktree>
    2234:	6b1f001f 	cmp	w0, wzr
    2238:	540000c0 	b.eq	2250 <Checktree+0xd4>
    223c:	b9402fa0 	ldr	w0, [x29,#44]
    2240:	6b1f001f 	cmp	w0, wzr
    2244:	54000060 	b.eq	2250 <Checktree+0xd4>
    2248:	52800020 	mov	w0, #0x1                   	// #1
    224c:	14000002 	b	2254 <Checktree+0xd8>
    2250:	52800000 	mov	w0, #0x0                   	// #0
    2254:	b9002fa0 	str	w0, [x29,#44]
    2258:	b9402fa0 	ldr	w0, [x29,#44]
    225c:	a8c37bfd 	ldp	x29, x30, [sp],#48
    2260:	d65f03c0 	ret

0000000000002264 <Trees>:
    2264:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    2268:	910003fd 	mov	x29, sp
    226c:	97ffff3a 	bl	1f54 <tInitarr>
    2270:	52800300 	mov	w0, #0x18                  	// #24
    2274:	9400011a 	bl	26dc <Malloc>
    2278:	aa0003e1 	mov	x1, x0
    227c:	f0000120 	adrp	x0, 29000 <rmr+0x1188>
    2280:	91230000 	add	x0, x0, #0x8c0
    2284:	f9000001 	str	x1, [x0]
    2288:	f0000120 	adrp	x0, 29000 <rmr+0x1188>
    228c:	91230000 	add	x0, x0, #0x8c0
    2290:	f9400000 	ldr	x0, [x0]
    2294:	f900001f 	str	xzr, [x0]
    2298:	f0000120 	adrp	x0, 29000 <rmr+0x1188>
    229c:	91230000 	add	x0, x0, #0x8c0
    22a0:	f9400000 	ldr	x0, [x0]
    22a4:	f900041f 	str	xzr, [x0,#8]
    22a8:	f0000120 	adrp	x0, 29000 <rmr+0x1188>
    22ac:	91230000 	add	x0, x0, #0x8c0
    22b0:	f9400000 	ldr	x0, [x0]
    22b4:	900000c1 	adrp	x1, 1a000 <w+0x2f0>
    22b8:	91386021 	add	x1, x1, #0xe18
    22bc:	b9400421 	ldr	w1, [x1,#4]
    22c0:	b9001001 	str	w1, [x0,#16]
    22c4:	52800040 	mov	w0, #0x2                   	// #2
    22c8:	b9001fa0 	str	w0, [x29,#28]
    22cc:	1400000e 	b	2304 <Trees+0xa0>
    22d0:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    22d4:	91386000 	add	x0, x0, #0xe18
    22d8:	b9801fa1 	ldrsw	x1, [x29,#28]
    22dc:	b8617802 	ldr	w2, [x0,x1,lsl #2]
    22e0:	f0000120 	adrp	x0, 29000 <rmr+0x1188>
    22e4:	91230000 	add	x0, x0, #0x8c0
    22e8:	f9400000 	ldr	x0, [x0]
    22ec:	aa0003e1 	mov	x1, x0
    22f0:	2a0203e0 	mov	w0, w2
    22f4:	97ffff75 	bl	20c8 <Insert>
    22f8:	b9401fa0 	ldr	w0, [x29,#28]
    22fc:	11000400 	add	w0, w0, #0x1
    2300:	b9001fa0 	str	w0, [x29,#28]
    2304:	b9401fa1 	ldr	w1, [x29,#28]
    2308:	52827100 	mov	w0, #0x1388                	// #5000
    230c:	6b00003f 	cmp	w1, w0
    2310:	54fffe0d 	b.le	22d0 <Trees+0x6c>
    2314:	f0000120 	adrp	x0, 29000 <rmr+0x1188>
    2318:	91230000 	add	x0, x0, #0x8c0
    231c:	f9400000 	ldr	x0, [x0]
    2320:	97ffff97 	bl	217c <Checktree>
    2324:	6b1f001f 	cmp	w0, wzr
    2328:	54000101 	b.ne	2348 <Trees+0xe4>
    232c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2330:	91384000 	add	x0, x0, #0xe10
    2334:	b9400000 	ldr	w0, [x0]
    2338:	32180001 	orr	w1, w0, #0x100
    233c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2340:	91384000 	add	x0, x0, #0xe10
    2344:	b9000001 	str	w1, [x0]
    2348:	d503201f 	nop
    234c:	a8c27bfd 	ldp	x29, x30, [sp],#32
    2350:	d65f03c0 	ret

0000000000002354 <bInitarr>:
    2354:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    2358:	910003fd 	mov	x29, sp
    235c:	97fff746 	bl	74 <Initrand>
    2360:	b00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    2364:	9130f000 	add	x0, x0, #0xc3c
    2368:	b900001f 	str	wzr, [x0]
    236c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2370:	91385000 	add	x0, x0, #0xe14
    2374:	b900001f 	str	wzr, [x0]
    2378:	52800020 	mov	w0, #0x1                   	// #1
    237c:	b9001fa0 	str	w0, [x29,#28]
    2380:	14000035 	b	2454 <bInitarr+0x100>
    2384:	97fff743 	bl	90 <Rand>
    2388:	b9001ba0 	str	w0, [x29,#24]
    238c:	b9401ba0 	ldr	w0, [x29,#24]
    2390:	5290d401 	mov	w1, #0x86a0                	// #34464
    2394:	72a00021 	movk	w1, #0x1, lsl #16
    2398:	1ac10c02 	sdiv	w2, w0, w1
    239c:	5290d401 	mov	w1, #0x86a0                	// #34464
    23a0:	72a00021 	movk	w1, #0x1, lsl #16
    23a4:	1b017c41 	mul	w1, w2, w1
    23a8:	4b010001 	sub	w1, w0, w1
    23ac:	129869e0 	mov	w0, #0xffff3cb0            	// #-50000
    23b0:	0b000022 	add	w2, w1, w0
    23b4:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    23b8:	91386000 	add	x0, x0, #0xe18
    23bc:	b9801fa1 	ldrsw	x1, [x29,#28]
    23c0:	b8217802 	str	w2, [x0,x1,lsl #2]
    23c4:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    23c8:	91386000 	add	x0, x0, #0xe18
    23cc:	b9801fa1 	ldrsw	x1, [x29,#28]
    23d0:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    23d4:	b00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    23d8:	9130f000 	add	x0, x0, #0xc3c
    23dc:	b9400000 	ldr	w0, [x0]
    23e0:	6b00003f 	cmp	w1, w0
    23e4:	5400012d 	b.le	2408 <bInitarr+0xb4>
    23e8:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    23ec:	91386000 	add	x0, x0, #0xe18
    23f0:	b9801fa1 	ldrsw	x1, [x29,#28]
    23f4:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    23f8:	b00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    23fc:	9130f000 	add	x0, x0, #0xc3c
    2400:	b9000001 	str	w1, [x0]
    2404:	14000011 	b	2448 <bInitarr+0xf4>
    2408:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    240c:	91386000 	add	x0, x0, #0xe18
    2410:	b9801fa1 	ldrsw	x1, [x29,#28]
    2414:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    2418:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    241c:	91385000 	add	x0, x0, #0xe14
    2420:	b9400000 	ldr	w0, [x0]
    2424:	6b00003f 	cmp	w1, w0
    2428:	5400010a 	b.ge	2448 <bInitarr+0xf4>
    242c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2430:	91386000 	add	x0, x0, #0xe18
    2434:	b9801fa1 	ldrsw	x1, [x29,#28]
    2438:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    243c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2440:	91385000 	add	x0, x0, #0xe14
    2444:	b9000001 	str	w1, [x0]
    2448:	b9401fa0 	ldr	w0, [x29,#28]
    244c:	11000400 	add	w0, w0, #0x1
    2450:	b9001fa0 	str	w0, [x29,#28]
    2454:	b9401fa0 	ldr	w0, [x29,#28]
    2458:	7107d01f 	cmp	w0, #0x1f4
    245c:	54fff94d 	b.le	2384 <bInitarr+0x30>
    2460:	d503201f 	nop
    2464:	a8c27bfd 	ldp	x29, x30, [sp],#32
    2468:	d65f03c0 	ret

000000000000246c <Bubble>:
    246c:	a9be7bfd 	stp	x29, x30, [sp,#-32]!
    2470:	910003fd 	mov	x29, sp
    2474:	97ffffb8 	bl	2354 <bInitarr>
    2478:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    247c:	91180000 	add	x0, x0, #0x600
    2480:	52803e81 	mov	w1, #0x1f4                 	// #500
    2484:	b9000001 	str	w1, [x0]
    2488:	14000036 	b	2560 <Bubble+0xf4>
    248c:	52800020 	mov	w0, #0x1                   	// #1
    2490:	b9001fa0 	str	w0, [x29,#28]
    2494:	14000026 	b	252c <Bubble+0xc0>
    2498:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    249c:	91386000 	add	x0, x0, #0xe18
    24a0:	b9801fa1 	ldrsw	x1, [x29,#28]
    24a4:	b8617801 	ldr	w1, [x0,x1,lsl #2]
    24a8:	b9401fa0 	ldr	w0, [x29,#28]
    24ac:	11000402 	add	w2, w0, #0x1
    24b0:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    24b4:	91386000 	add	x0, x0, #0xe18
    24b8:	93407c42 	sxtw	x2, w2
    24bc:	b8627800 	ldr	w0, [x0,x2,lsl #2]
    24c0:	6b00003f 	cmp	w1, w0
    24c4:	540002ed 	b.le	2520 <Bubble+0xb4>
    24c8:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    24cc:	91386000 	add	x0, x0, #0xe18
    24d0:	b9801fa1 	ldrsw	x1, [x29,#28]
    24d4:	b8617800 	ldr	w0, [x0,x1,lsl #2]
    24d8:	b9001ba0 	str	w0, [x29,#24]
    24dc:	b9401fa0 	ldr	w0, [x29,#28]
    24e0:	11000401 	add	w1, w0, #0x1
    24e4:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    24e8:	91386000 	add	x0, x0, #0xe18
    24ec:	93407c21 	sxtw	x1, w1
    24f0:	b8617802 	ldr	w2, [x0,x1,lsl #2]
    24f4:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    24f8:	91386000 	add	x0, x0, #0xe18
    24fc:	b9801fa1 	ldrsw	x1, [x29,#28]
    2500:	b8217802 	str	w2, [x0,x1,lsl #2]
    2504:	b9401fa0 	ldr	w0, [x29,#28]
    2508:	11000401 	add	w1, w0, #0x1
    250c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2510:	91386000 	add	x0, x0, #0xe18
    2514:	93407c21 	sxtw	x1, w1
    2518:	b9401ba2 	ldr	w2, [x29,#24]
    251c:	b8217802 	str	w2, [x0,x1,lsl #2]
    2520:	b9401fa0 	ldr	w0, [x29,#28]
    2524:	11000400 	add	w0, w0, #0x1
    2528:	b9001fa0 	str	w0, [x29,#28]
    252c:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2530:	91180000 	add	x0, x0, #0x600
    2534:	b9400000 	ldr	w0, [x0]
    2538:	b9401fa1 	ldr	w1, [x29,#28]
    253c:	6b00003f 	cmp	w1, w0
    2540:	54fffacb 	b.lt	2498 <Bubble+0x2c>
    2544:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2548:	91180000 	add	x0, x0, #0x600
    254c:	b9400000 	ldr	w0, [x0]
    2550:	51000401 	sub	w1, w0, #0x1
    2554:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2558:	91180000 	add	x0, x0, #0x600
    255c:	b9000001 	str	w1, [x0]
    2560:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2564:	91180000 	add	x0, x0, #0x600
    2568:	b9400000 	ldr	w0, [x0]
    256c:	7100041f 	cmp	w0, #0x1
    2570:	54fff8ec 	b.gt	248c <Bubble+0x20>
    2574:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2578:	91386000 	add	x0, x0, #0xe18
    257c:	b9400401 	ldr	w1, [x0,#4]
    2580:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2584:	91385000 	add	x0, x0, #0xe14
    2588:	b9400000 	ldr	w0, [x0]
    258c:	6b00003f 	cmp	w1, w0
    2590:	54000121 	b.ne	25b4 <Bubble+0x148>
    2594:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    2598:	91386000 	add	x0, x0, #0xe18
    259c:	b947d001 	ldr	w1, [x0,#2000]
    25a0:	b00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    25a4:	9130f000 	add	x0, x0, #0xc3c
    25a8:	b9400000 	ldr	w0, [x0]
    25ac:	6b00003f 	cmp	w1, w0
    25b0:	54000100 	b.eq	25d0 <Bubble+0x164>
    25b4:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    25b8:	91384000 	add	x0, x0, #0xe10
    25bc:	b9400000 	ldr	w0, [x0]
    25c0:	32190001 	orr	w1, w0, #0x80
    25c4:	900000c0 	adrp	x0, 1a000 <w+0x2f0>
    25c8:	91384000 	add	x0, x0, #0xe10
    25cc:	b9000001 	str	w1, [x0]
    25d0:	d503201f 	nop
    25d4:	a8c27bfd 	ldp	x29, x30, [sp],#32
    25d8:	d65f03c0 	ret

00000000000025dc <Cos>:
    25dc:	d10083ff 	sub	sp, sp, #0x20
    25e0:	bd000fe0 	str	s0, [sp,#12]
    25e4:	1e2e1000 	fmov	s0, #1.000000000000000000e+000
    25e8:	bd0017e0 	str	s0, [sp,#20]
    25ec:	52800020 	mov	w0, #0x1                   	// #1
    25f0:	b9001be0 	str	w0, [sp,#24]
    25f4:	b9400fe0 	ldr	w0, [sp,#12]
    25f8:	b90013e0 	str	w0, [sp,#16]
    25fc:	52800040 	mov	w0, #0x2                   	// #2
    2600:	b9001fe0 	str	w0, [sp,#28]
    2604:	14000023 	b	2690 <Cos+0xb4>
    2608:	b9401be1 	ldr	w1, [sp,#24]
    260c:	b9401fe0 	ldr	w0, [sp,#28]
    2610:	1b007c20 	mul	w0, w1, w0
    2614:	b9001be0 	str	w0, [sp,#24]
    2618:	bd4013e1 	ldr	s1, [sp,#16]
    261c:	bd400fe0 	ldr	s0, [sp,#12]
    2620:	1e200820 	fmul	s0, s1, s0
    2624:	bd0013e0 	str	s0, [sp,#16]
    2628:	b9401fe0 	ldr	w0, [sp,#28]
    262c:	12000000 	and	w0, w0, #0x1
    2630:	6b1f001f 	cmp	w0, wzr
    2634:	54000281 	b.ne	2684 <Cos+0xa8>
    2638:	b9401fe0 	ldr	w0, [sp,#28]
    263c:	12000400 	and	w0, w0, #0x3
    2640:	6b1f001f 	cmp	w0, wzr
    2644:	54000121 	b.ne	2668 <Cos+0x8c>
    2648:	b9401be0 	ldr	w0, [sp,#24]
    264c:	1e220000 	scvtf	s0, w0
    2650:	bd4013e1 	ldr	s1, [sp,#16]
    2654:	1e201820 	fdiv	s0, s1, s0
    2658:	bd4017e1 	ldr	s1, [sp,#20]
    265c:	1e202820 	fadd	s0, s1, s0
    2660:	bd0017e0 	str	s0, [sp,#20]
    2664:	14000008 	b	2684 <Cos+0xa8>
    2668:	b9401be0 	ldr	w0, [sp,#24]
    266c:	1e220000 	scvtf	s0, w0
    2670:	bd4013e1 	ldr	s1, [sp,#16]
    2674:	1e201820 	fdiv	s0, s1, s0
    2678:	bd4017e1 	ldr	s1, [sp,#20]
    267c:	1e203820 	fsub	s0, s1, s0
    2680:	bd0017e0 	str	s0, [sp,#20]
    2684:	b9401fe0 	ldr	w0, [sp,#28]
    2688:	11000400 	add	w0, w0, #0x1
    268c:	b9001fe0 	str	w0, [sp,#28]
    2690:	b9401fe0 	ldr	w0, [sp,#28]
    2694:	7100281f 	cmp	w0, #0xa
    2698:	54fffb8d 	b.le	2608 <Cos+0x2c>
    269c:	b94017e0 	ldr	w0, [sp,#20]
    26a0:	1e270000 	fmov	s0, w0
    26a4:	910083ff 	add	sp, sp, #0x20
    26a8:	d65f03c0 	ret

00000000000026ac <Min0>:
    26ac:	d10043ff 	sub	sp, sp, #0x10
    26b0:	b9000fe0 	str	w0, [sp,#12]
    26b4:	b9000be1 	str	w1, [sp,#8]
    26b8:	b9400fe1 	ldr	w1, [sp,#12]
    26bc:	b9400be0 	ldr	w0, [sp,#8]
    26c0:	6b00003f 	cmp	w1, w0
    26c4:	5400006a 	b.ge	26d0 <Min0+0x24>
    26c8:	b9400fe0 	ldr	w0, [sp,#12]
    26cc:	14000002 	b	26d4 <Min0+0x28>
    26d0:	b9400be0 	ldr	w0, [sp,#8]
    26d4:	910043ff 	add	sp, sp, #0x10
    26d8:	d65f03c0 	ret

00000000000026dc <Malloc>:
    26dc:	d10083ff 	sub	sp, sp, #0x20
    26e0:	b9000fe0 	str	w0, [sp,#12]
    26e4:	d0000060 	adrp	x0, 10000 <heap_p>
    26e8:	91000000 	add	x0, x0, #0x0
    26ec:	b9400000 	ldr	w0, [x0]
    26f0:	93407c01 	sxtw	x1, w0
    26f4:	b00000e0 	adrp	x0, 1f000 <sortlist+0x41e8>
    26f8:	91312000 	add	x0, x0, #0xc48
    26fc:	8b000020 	add	x0, x1, x0
    2700:	f9000fe0 	str	x0, [sp,#24]
    2704:	d0000060 	adrp	x0, 10000 <heap_p>
    2708:	91000000 	add	x0, x0, #0x0
    270c:	b9400001 	ldr	w1, [x0]
    2710:	b9400fe0 	ldr	w0, [sp,#12]
    2714:	0b000020 	add	w0, w1, w0
    2718:	32000c00 	orr	w0, w0, #0xf
    271c:	11000401 	add	w1, w0, #0x1
    2720:	d0000060 	adrp	x0, 10000 <heap_p>
    2724:	91000000 	add	x0, x0, #0x0
    2728:	b9000001 	str	w1, [x0]
    272c:	f9400fe0 	ldr	x0, [sp,#24]
    2730:	910083ff 	add	sp, sp, #0x20
    2734:	d65f03c0 	ret

Disassembly of section .rodata:

0000000000002738 <.rodata>:
    2738:	2074756f 	.word	0x2074756f
    273c:	7320666f 	.word	0x7320666f
    2740:	65636170 	.word	0x65636170
    2744:	00202020 	.word	0x00202020
    2748:	63736964 	.word	0x63736964
    274c:	7a697320 	.word	0x7a697320
    2750:	72652065 	.word	0x72652065
    2754:	00726f72 	.word	0x00726f72
    2758:	68746f6e 	.word	0x68746f6e
    275c:	20676e69 	.word	0x20676e69
    2760:	70206f74 	.word	0x70206f74
    2764:	0020706f 	.word	0x0020706f

Disassembly of section .bss:

0000000000010000 <heap_p>:
	...

0000000000010008 <piecemax>:
	...

0000000000010040 <p>:
	...

0000000000016840 <rma>:
	...

0000000000018284 <timer>:
   18284:	00000000 	.word	0x00000000

0000000000018288 <n>:
   18288:	00000000 	.word	0x00000000

000000000001828c <movesdone>:
   1828c:	00000000 	.word	0x00000000

0000000000018290 <zi>:
	...

0000000000018298 <xtimes>:
	...

00000000000182c4 <pctr>:
   182c4:	00000000 	.word	0x00000000

00000000000182c8 <rmb>:
	...

0000000000019d10 <w>:
	...

000000000001a518 <piececount>:
	...

000000000001a528 <permarray>:
	...

000000000001a558 <cellspace>:
	...

000000000001a5f0 <stack>:
	...

000000000001a600 <top>:
   1a600:	00000000 	.word	0x00000000

000000000001a604 <zr>:
   1a604:	00000000 	.word	0x00000000

000000000001a608 <z>:
	...

000000000001ae10 <results>:
   1ae10:	00000000 	.word	0x00000000

000000000001ae14 <littlest>:
   1ae14:	00000000 	.word	0x00000000

000000000001ae18 <sortlist>:
	...

000000000001fc3c <biggest>:
   1fc3c:	00000000 	.word	0x00000000

000000000001fc40 <seed>:
	...

000000000001fc48 <heap>:
	...

0000000000022358 <ima>:
	...

0000000000023da0 <imb>:
	...

00000000000257e4 <kount>:
   257e4:	00000000 	.word	0x00000000

00000000000257e8 <class>:
	...

0000000000025820 <puzzl>:
	...

0000000000026020 <imr>:
	...

0000000000027a68 <e>:
	...

0000000000027e78 <rmr>:
	...

00000000000298c0 <tree>:
	...

00000000000298c8 <freelist>:
   298c8:	00000000 	.word	0x00000000

00000000000298cc <value>:
   298cc:	00000000 	.word	0x00000000

Disassembly of section .comment:

0000000000000000 <.comment>:
   0:	3a434347 	ccmn	w26, w3, #0x7, mi
   4:	694c2820 	ldpsw	x0, x10, [x1,#96]
   8:	6f72616e 	umlsl2	v14.4s, v11.8h, v2.h[3]
   c:	43434720 	.inst	0x43434720 ; undefined
  10:	322e3520 	orr	w0, w9, #0xfffc0000
  14:	3130322d 	adds	w13, w17, #0xc0c
  18:	31312e35 	adds	w21, w17, #0xc4b
  1c:	2029322d 	.inst	0x2029322d ; undefined
  20:	2e322e35 	uqsub	v21.8b, v17.8b, v18.8b
  24:	30322031 	adr	x17, 64429 <value+0x3ab5d>
  28:	30313531 	adr	x17, 626cd <value+0x38e01>
  2c:	Address 0x000000000000002c is out of bounds.

