
ledger-x86_64-O2.o:	file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <percent_change>:
       0: 85 ff                        	testl	%edi, %edi
       2: 74 09                        	je	0xd <percent_change+0xd>
       4: 29 fe                        	subl	%edi, %esi
       6: 6b c6 64                     	imull	$0x64, %esi, %eax
       9: 99                           	cltd
       a: f7 ff                        	idivl	%edi
       c: c3                           	retq
       d: 31 c0                        	xorl	%eax, %eax
       f: c3                           	retq

0000000000000010 <grade>:
      10: 48 63 c7                     	movslq	%edi, %rax
      13: 48 69 c0 67 66 66 66         	imulq	$0x66666667, %rax, %rax # imm = 0x66666667
      1a: 48 89 c1                     	movq	%rax, %rcx
      1d: 48 c1 f9 22                  	sarq	$0x22, %rcx
      21: 48 c1 e8 3f                  	shrq	$0x3f, %rax
      25: 01 c1                        	addl	%eax, %ecx
      27: 83 c1 fa                     	addl	$-0x6, %ecx
      2a: 31 c0                        	xorl	%eax, %eax
      2c: 83 f9 04                     	cmpl	$0x4, %ecx
      2f: 77 0c                        	ja	0x3d <grade+0x2d>
      31: 89 c8                        	movl	%ecx, %eax
      33: 48 8d 0d 00 00 00 00         	leaq	(%rip), %rcx            # 0x3a <grade+0x2a>
      3a: 8b 04 81                     	movl	(%rcx,%rax,4), %eax
      3d: c3                           	retq
      3e: 66 90                        	nop

0000000000000040 <total>:
      40: 85 f6                        	testl	%esi, %esi
      42: 7e 0d                        	jle	0x51 <total+0x11>
      44: 89 f1                        	movl	%esi, %ecx
      46: 83 fe 07                     	cmpl	$0x7, %esi
      49: 77 09                        	ja	0x54 <total+0x14>
      4b: 31 d2                        	xorl	%edx, %edx
      4d: 31 c0                        	xorl	%eax, %eax
      4f: eb 6f                        	jmp	0xc0 <total+0x80>
      51: 31 c0                        	xorl	%eax, %eax
      53: c3                           	retq
      54: 89 ca                        	movl	%ecx, %edx
      56: 81 e2 f8 ff ff 7f            	andl	$0x7ffffff8, %edx       # imm = 0x7FFFFFF8
      5c: 89 c8                        	movl	%ecx, %eax
      5e: c1 e8 03                     	shrl	$0x3, %eax
      61: 25 ff ff ff 0f               	andl	$0xfffffff, %eax        # imm = 0xFFFFFFF
      66: 48 c1 e0 05                  	shlq	$0x5, %rax
      6a: 66 0f ef c0                  	pxor	%xmm0, %xmm0
      6e: 31 f6                        	xorl	%esi, %esi
      70: 66 0f ef c9                  	pxor	%xmm1, %xmm1
      74: 66 66 66 2e 0f 1f 84 00 00 00 00 00  	nopw	%cs:(%rax,%rax)
      80: f3 0f 6f 14 37               	movdqu	(%rdi,%rsi), %xmm2
      85: 66 0f fe c2                  	paddd	%xmm2, %xmm0
      89: f3 0f 6f 54 37 10            	movdqu	0x10(%rdi,%rsi), %xmm2
      8f: 66 0f fe ca                  	paddd	%xmm2, %xmm1
      93: 48 83 c6 20                  	addq	$0x20, %rsi
      97: 48 39 f0                     	cmpq	%rsi, %rax
      9a: 75 e4                        	jne	0x80 <total+0x40>
      9c: 66 0f fe c8                  	paddd	%xmm0, %xmm1
      a0: 66 0f 70 c1 ee               	pshufd	$0xee, %xmm1, %xmm0     # xmm0 = xmm1[2,3,2,3]
      a5: 66 0f fe c1                  	paddd	%xmm1, %xmm0
      a9: 66 0f 70 c8 55               	pshufd	$0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
      ae: 66 0f fe c8                  	paddd	%xmm0, %xmm1
      b2: 66 0f 7e c8                  	movd	%xmm1, %eax
      b6: 39 ca                        	cmpl	%ecx, %edx
      b8: 74 11                        	je	0xcb <total+0x8b>
      ba: 66 0f 1f 44 00 00            	nopw	(%rax,%rax)
      c0: 03 04 97                     	addl	(%rdi,%rdx,4), %eax
      c3: 48 ff c2                     	incq	%rdx
      c6: 48 39 d1                     	cmpq	%rdx, %rcx
      c9: 75 f5                        	jne	0xc0 <total+0x80>
      cb: c3                           	retq
      cc: 0f 1f 40 00                  	nopl	(%rax)

00000000000000d0 <grade_label>:
      d0: 48 63 c7                     	movslq	%edi, %rax
      d3: 48 69 c0 67 66 66 66         	imulq	$0x66666667, %rax, %rax # imm = 0x66666667
      da: 48 89 c1                     	movq	%rax, %rcx
      dd: 48 c1 f9 22                  	sarq	$0x22, %rcx
      e1: 48 c1 e8 3f                  	shrq	$0x3f, %rax
      e5: 01 c8                        	addl	%ecx, %eax
      e7: 83 c0 fa                     	addl	$-0x6, %eax
      ea: 83 f8 04                     	cmpl	$0x4, %eax
      ed: 77 0f                        	ja	0xfe <grade_label+0x2e>
      ef: 89 c0                        	movl	%eax, %eax
      f1: 48 8d 0d 00 00 00 00         	leaq	(%rip), %rcx            # 0xf8 <grade_label+0x28>
      f8: 48 8b 04 c1                  	movq	(%rcx,%rax,8), %rax
      fc: eb 02                        	jmp	0x100 <grade_label+0x30>
      fe: 31 c0                        	xorl	%eax, %eax
     100: 48 8d 0d 00 00 00 00         	leaq	(%rip), %rcx            # 0x107 <grade_label+0x37>
     107: 48 63 04 81                  	movslq	(%rcx,%rax,4), %rax
     10b: 48 01 c8                     	addq	%rcx, %rax
     10e: c3                           	retq
