digraph g { B0 [ label="_init\n0x400580: sub $0x8,%rsp\n0x400584: mov 0x200a6d(%rip),%rax\n0x40058b: test %rax,%rax\n0x40058e: jz 0x7(%rip) 1, 0"]; B1 [ label="_init\n0x400590: call 0x30(%rip) 1, 0"]; B2 [ label="_init\n0x400595: add $0x8,%rsp\n0x400599: ret near (%rsp) 1, 0"]; B3 [ label="printf\n0x4005b0: jmp 0x200a62(%rip) 1, 0"]; B4 [ label="__gmon_start__\n0x4005c0: jmp 0x200a5a(%rip) 1, 0"]; B5 [ label="puts\n0x4005d0: jmp 0x200a52(%rip) 1, 0"]; B6 [ label="_ZNSt8ios_base4InitC1Ev\n0x4005e0: jmp 0x200a4a(%rip) 1, 0"]; B7 [ label="__libc_start_main\n0x4005f0: jmp 0x200a42(%rip) 1, 0"]; B8 [ label="__cxa_atexit\n0x400600: jmp 0x200a3a(%rip) 1, 0"]; B9 [ label="main\n0x400620: sub $0x8,%rsp\n0x400624: mov $0x400ae6,%edi\n0x400629: call 0xffffffa7(%rip) 1, 0"]; B10 [ label="main\n0x40062e: call 0x3c2(%rip) 1, 0"]; B11 [ label="main\n0x400633: movsd 0x50d(%rip),%xmm0\n0x40063b: mov $0x400ae2,%edi\n0x400640: mov $0x1,%eax\n0x400645: call 0xffffff6b(%rip) 1, 0"]; B12 [ label="main\n0x40064a: mov $0x3b6,%esi\n0x40064f: mov $0x400afc,%edi\n0x400654: xor %eax,%eax\n0x400656: call 0xffffff5a(%rip) 1, 0"]; B13 [ label="main\n0x40065b: mov $0x400ab4,%edi\n0x400660: call 0xffffff70(%rip) 1, 0"]; B14 [ label="main\n0x400665: mov $0x400ab4,%edi\n0x40066a: call 0xffffff66(%rip) 1, 0"]; B15 [ label="main\n0x40066f: mov $0xb,%esi\n0x400674: mov $0x400afc,%edi\n0x400679: xor %eax,%eax\n0x40067b: call 0xffffff35(%rip) 1, 0"]; B16 [ label="main\n0x400680: xor %eax,%eax\n0x400682: add $0x8,%rsp\n0x400686: ret near (%rsp) 1, 0"]; B17 [ label="_GLOBAL__sub_I__Z7printMev\n0x400690: sub $0x8,%rsp\n0x400694: mov $0x601061,%edi\n0x400699: call 0xffffff47(%rip) 1, 0"]; B18 [ label="_GLOBAL__sub_I__Z7printMev\n0x40069e: mov $0x601058,%edx\n0x4006a3: mov $0x601061,%esi\n0x4006a8: mov $0x400610,%edi\n0x4006ad: add $0x8,%rsp\n0x4006b1: jmp 0xffffff4f(%rip) 1, 0"]; B19 [ label="_start\n0x4006b6: xor %ebp,%ebp\n0x4006b8: mov %rdx,%r9\n0x4006bb: pop %rsi\n0x4006bc: mov %rsp,%rdx\n0x4006bf: and $0xfffffff0,%rsp\n0x4006c3: push %rax\n0x4006c4: push %rsp\n0x4006c5: mov $0x400aa0,%r8\n0x4006cc: mov $0x400a30,%rcx\n0x4006d3: mov $0x400620,%rdi\n0x4006da: call 0xffffff16(%rip) 1, 0"]; B20 [ label="_start\n0x4006df: hlt 1, 0"]; B21 [ label="deregister_tm_clones\n0x4006e0: push %rbp\n0x4006e1: mov $0x601060,%eax\n0x4006e6: cmp $0x601060,%rax\n0x4006ec: mov %rsp,%rbp\n0x4006ef: jz 0x19(%rip) 1, 0"]; B22 [ label="deregister_tm_clones\n0x4006f1: mov $0x0,%eax\n0x4006f6: test %rax,%rax\n0x4006f9: jz 0xf(%rip) 1, 0"]; B23 [ label="deregister_tm_clones\n0x4006fb: pop %rbp\n0x4006fc: mov $0x601060,%edi\n0x400701: jmp %rax 1, 0"]; B24 [ label="deregister_tm_clones\n0x400708: pop %rbp\n0x400709: ret near (%rsp) 1, 0"]; B25 [ label="register_tm_clones\n0x400710: mov $0x601060,%esi\n0x400715: push %rbp\n0x400716: sub $0x601060,%rsi\n0x40071d: mov %rsp,%rbp\n0x400720: sar $0x3,%rsi\n0x400724: mov %rsi,%rax\n0x400727: shr $0x3f,%rax\n0x40072b: add %rax,%rsi\n0x40072e: sar $0x1,%rsi\n0x400731: jz 0x17(%rip) 1, 0"]; B26 [ label="register_tm_clones\n0x400733: mov $0x0,%eax\n0x400738: test %rax,%rax\n0x40073b: jz 0xd(%rip) 1, 0"]; B27 [ label="register_tm_clones\n0x40073d: pop %rbp\n0x40073e: mov $0x601060,%edi\n0x400743: jmp %rax 1, 0"]; B28 [ label="register_tm_clones\n0x400748: pop %rbp\n0x400749: ret near (%rsp) 1, 0"]; B29 [ label="__do_global_dtors_aux\n0x400750: cmp $0x0,0x200909(%rip)\n0x400757: jnz 0x19(%rip) 1, 0"]; B30 [ label="__do_global_dtors_aux\n0x400759: push %rbp\n0x40075a: mov %rsp,%rbp\n0x40075d: call 0xffffff83(%rip) 1, 0"]; B31 [ label="__do_global_dtors_aux\n0x400762: mov $0x1,0x2008f7(%rip)\n0x400769: pop %rbp\n0x40076a: ret near (%rsp) 1, 0"]; B32 [ label="__do_global_dtors_aux\n0x400770: REP ret near (%rsp) 1, 0"]; B33 [ label="frame_dummy\n0x400780: push %rbp\n0x400781: mov %rsp,%rbp\n0x400784: pop %rbp\n0x400785: jmp 0xffffff8b(%rip) 1, 0"]; B34 [ label="printMe\n0x400790: mov $0x400ab4,%edi\n0x400795: jmp 0xfffffe3b(%rip) 1, 0"]; B35 [ label="sum\n0x4007a0: push %rbp\n0x4007a1: push %rbx\n0x4007a2: mov %edi,%ebx\n0x4007a4: mov $0x400ab4,%edi\n0x4007a9: mov %esi,%ebp\n0x4007ab: sub $0x8,%rsp\n0x4007af: call 0xfffffe21(%rip) 1, 0"]; B36 [ label="sum\n0x4007b4: add $0x8,%rsp\n0x4007b8: lea 0x0(%rbx,%rbp,1),%eax\n0x4007bb: pop %rbx\n0x4007bc: pop %rbp\n0x4007bd: ret near (%rsp) 1, 0"]; B37 [ label="multiply\n0x4007c0: push %rbp\n0x4007c1: push %rbx\n0x4007c2: mov %edi,%ebx\n0x4007c4: mov $0x400ab4,%edi\n0x4007c9: mov %esi,%ebp\n0x4007cb: sub $0x8,%rsp\n0x4007cf: call 0xfffffe01(%rip) 1, 0"]; B38 [ label="multiply\n0x4007d4: mov %ebx,%eax\n0x4007d6: add $0x8,%rsp\n0x4007da: imul %ebp,%eax\n0x4007dd: pop %rbx\n0x4007de: pop %rbp\n0x4007df: ret near (%rsp) 1, 0"]; B39 [ label="simple\n0x4007e0: push %rbp\n0x4007e1: push %rbx\n0x4007e2: mov %edi,%ebx\n0x4007e4: mov $0x400ab4,%edi\n0x4007e9: mov %esi,%ebp\n0x4007eb: sub $0x8,%rsp\n0x4007ef: call 0xfffffde1(%rip) 1, 0"]; B40 [ label="simple\n0x4007f4: mov $0x400ab4,%edi\n0x4007f9: call 0xfffffdd7(%rip) 1, 0"]; B41 [ label="simple\n0x4007fe: mov %ebx,%eax\n0x400800: add $0x8,%rsp\n0x400804: add %ebp,%ebx\n0x400806: imul %ebp,%eax\n0x400809: add %ebx,%eax\n0x40080b: pop %rbx\n0x40080c: pop %rbp\n0x40080d: ret near (%rsp) 1, 0"]; B42 [ label="floatLoop\n0x400810: pxor %xmm2,%xmm2\n0x400814: movaps %xmm0,%xmm1\n0x400817: mulss %xmm2,%xmm1\n0x40081b: addss %xmm2,%xmm1\n0x40081f: movaps %xmm0,%xmm2\n0x400822: addss %xmm0,%xmm2\n0x400826: addss %xmm0,%xmm1\n0x40082a: addss %xmm1,%xmm2\n0x40082e: movss 0x2ca(%rip),%xmm1\n0x400836: mulss %xmm0,%xmm1\n0x40083a: addss %xmm1,%xmm2\n0x40083e: movss 0x2be(%rip),%xmm1\n0x400846: mulss %xmm0,%xmm1\n0x40084a: addss %xmm2,%xmm1\n0x40084e: movss 0x2b2(%rip),%xmm2\n0x400856: mulss %xmm0,%xmm2\n0x40085a: addss %xmm2,%xmm1\n0x40085e: movss 0x2a6(%rip),%xmm2\n0x400866: mulss %xmm0,%xmm2\n0x40086a: addss %xmm1,%xmm2\n0x40086e: movss 0x29a(%rip),%xmm1\n0x400876: mulss %xmm0,%xmm1\n0x40087a: addss %xmm1,%xmm2\n0x40087e: movss 0x28e(%rip),%xmm1\n0x400886: mulss %xmm0,%xmm1\n0x40088a: mulss 0x286(%rip),%xmm0\n0x400892: addss %xmm2,%xmm1\n0x400896: addss %xmm1,%xmm0\n0x40089a: ret near (%rsp) 1, 0"]; B43 [ label="nestedLoops\n0x4008a0: test %edi,%edi\n0x4008a2: jle 0x149(%rip) 1, 0"]; B44 [ label="nestedLoops\n0x4008a8: lea 0x0(%rdi,%rdi,4),%r10d\n0x4008ac: mov %esi,%r9d\n0x4008af: mov %esi,%edi\n0x4008b1: lea 0xffffffff(%rsi),%r11d\n0x4008b5: movdqa 0x263(%rip),%xmm7\n0x4008bd: shr $0x2,%edi\n0x4008c0: and $0xfc,%r9d\n0x4008c4: xor %ecx,%ecx\n0x4008c6: movdqa 0x262(%rip),%xmm6\n0x4008ce: xor %r8d,%r8d\n0x4008d1: xor %eax,%eax 1, 0"]; B45 [ label="nestedLoops\n0x4008d3: add %r8d,%eax\n0x4008d6: test %esi,%esi\n0x4008d8: jle 0xfa(%rip) 1, 0"]; B46 [ label="nestedLoops\n0x4008de: cmp $0x5,%r11d\n0x4008e2: push %rbp\n0x4008e3: push %rbx\n0x4008e4: jbe 0xea(%rip) 1, 0"]; B47 [ label="nestedLoops\n0x4008ea: nop 0x0(%rax,%rax,1) 1, 0"]; B48 [ label="nestedLoops\n0x4008f0: mov %ecx,0xfffffff4(%rsp)\n0x4008f4: pxor %xmm3,%xmm3\n0x4008f8: movd 0xfffffff4(%rsp),%xmm4\n0x4008fe: movdqa %xmm7,%xmm2\n0x400902: xor %edx,%edx\n0x400904: pshufd %xmm4,$0x0,%xmm4\n0x400909: movdqa %xmm4,%xmm5\n0x40090d: psrlq $0x20,%xmm5\n0x400912: nop 0x0(%rax,%rax,1) 1, 0"]; B49 [ label="nestedLoops\n0x400918: movdqa %xmm2,%xmm0\n0x40091c: add $0x1,%edx\n0x40091f: movdqa %xmm2,%xmm1\n0x400923: cmp %edi,%edx\n0x400925: paddd %xmm6,%xmm2\n0x400929: pmuludq %xmm4,%xmm0\n0x40092d: pshufd %xmm0,$0x8,%xmm0\n0x400932: psrlq $0x20,%xmm1\n0x400937: pmuludq %xmm5,%xmm1\n0x40093b: pshufd %xmm1,$0x8,%xmm1\n0x400940: punpcklqd %xmm1,%xmm0\n0x400944: paddd %xmm0,%xmm3\n0x400948: jb 0xffffffd0(%rip) 1, 0"]; B50 [ label="nestedLoops\n0x40094a: movdqa %xmm3,%xmm0\n0x40094e: mov %r9d,%ebx\n0x400951: psrldq $0x8,%xmm0\n0x400956: paddd %xmm0,%xmm3\n0x40095a: movdqa %xmm3,%xmm0\n0x40095e: psrldq $0x4,%xmm0\n0x400963: paddd %xmm0,%xmm3\n0x400967: movd %xmm3,%dx\n0x40096b: add %edx,%eax\n0x40096d: cmp %r9d,%esi\n0x400970: jz 0x41(%rip) 1, 0"]; B51 [ label="nestedLoops\n0x400972: mov %ecx,%edx\n0x400974: lea 0x1(%rbx),%ebp\n0x400977: imul %ebx,%edx\n0x40097a: add %edx,%eax\n0x40097c: cmp %esi,%ebp\n0x40097e: jnl 0x33(%rip) 1, 0"]; B52 [ label="nestedLoops\n0x400980: lea 0x2(%rbx),%ebp\n0x400983: add %ecx,%edx\n0x400985: add %edx,%eax\n0x400987: cmp %ebp,%esi\n0x400989: jle 0x28(%rip) 1, 0"]; B53 [ label="nestedLoops\n0x40098b: lea 0x3(%rbx),%ebp\n0x40098e: add %ecx,%edx\n0x400990: add %edx,%eax\n0x400992: cmp %ebp,%esi\n0x400994: jle 0x1d(%rip) 1, 0"]; B54 [ label="nestedLoops\n0x400996: lea 0x4(%rbx),%ebp\n0x400999: add %ecx,%edx\n0x40099b: add %edx,%eax\n0x40099d: cmp %ebp,%esi\n0x40099f: jle 0x12(%rip) 1, 0"]; B55 [ label="nestedLoops\n0x4009a1: add %ecx,%edx\n0x4009a3: add $0x5,%ebx\n0x4009a6: add %edx,%eax\n0x4009a8: add %ecx,%edx\n0x4009aa: add %eax,%edx\n0x4009ac: cmp %ebx,%esi\n0x4009ae: cmovnl %edx,%eax 1, 0"]; B56 [ label="nestedLoops\n0x4009b1: add $0x5,%r8d\n0x4009b5: add $0x2,%ecx\n0x4009b8: cmp %r10d,%r8d\n0x4009bb: jz 0x2d(%rip) 1, 0"]; B57 [ label="nestedLoops\n0x4009bd: add %r8d,%eax\n0x4009c0: test %esi,%esi\n0x4009c2: jle 0xffffffef(%rip) 1, 0"]; B58 [ label="nestedLoops\n0x4009c4: cmp $0x5,%r11d\n0x4009c8: jnbe 0xffffff28(%rip) 1, 0"]; B59 [ label="nestedLoops\n0x4009ce: xor %ebx,%ebx\n0x4009d0: jmp 0xffffffa2(%rip) 1, 0"]; B60 [ label="nestedLoops\n0x4009d2: add $0x5,%r8d\n0x4009d6: add $0x2,%ecx\n0x4009d9: cmp %r10d,%r8d\n0x4009dc: jnz 0xfffffef7(%rip) 1, 0"]; B61 [ label="nestedLoops\n0x4009e2: REP ret near (%rsp) 1, 0"]; B62 [ label="nestedLoops\n0x4009e8: pop %rbx\n0x4009e9: pop %rbp\n0x4009ea: ret near (%rsp) 1, 0"]; B63 [ label="nestedLoops\n0x4009eb: xor %eax,%eax\n0x4009ed: ret near (%rsp) 1, 0"]; B64 [ label="foo\n0x4009f0: sub $0x8,%rsp\n0x4009f4: mov $0x400acd,%edi\n0x4009f9: call 0xfffffbd7(%rip) 1, 0"]; B65 [ label="foo\n0x4009fe: mov $0x400ab4,%edi\n0x400a03: call 0xfffffbcd(%rip) 1, 0"]; B66 [ label="foo\n0x400a08: movsd 0x130(%rip),%xmm0\n0x400a10: mov $0x400ae2,%edi\n0x400a15: mov $0x1,%eax\n0x400a1a: add $0x8,%rsp\n0x400a1e: jmp 0xfffffb92(%rip) 1, 0"]; B67 [ label="__libc_csu_init\n0x400a30: push %r15\n0x400a32: mov %edi,%r15d\n0x400a35: push %r14\n0x400a37: mov %rsi,%r14\n0x400a3a: push %r13\n0x400a3c: mov %rdx,%r13\n0x400a3f: push %r12\n0x400a41: lea 0x200388(%rip),%r12\n0x400a48: push %rbp\n0x400a49: lea 0x200390(%rip),%rbp\n0x400a50: push %rbx\n0x400a51: sub %r12,%rbp\n0x400a54: xor %ebx,%ebx\n0x400a56: sar $0x3,%rbp\n0x400a5a: sub $0x8,%rsp\n0x400a5e: call 0xfffffb22(%rip) 1, 0"]; B68 [ label="__libc_csu_init\n0x400a63: test %rbp,%rbp\n0x400a66: jz 0x20(%rip) 1, 0"]; B69 [ label="__libc_csu_init\n0x400a68: nop 0x0(%rax,%rax,1) 1, 0"]; B70 [ label="__libc_csu_init\n0x400a70: mov %r13,%rdx\n0x400a73: mov %r14,%rsi\n0x400a76: mov %r15d,%edi\n0x400a79: call 0x0(%r12,%rbx,8) 1, 0"]; B71 [ label="__libc_csu_init\n0x400a7d: add $0x1,%rbx\n0x400a81: cmp %rbp,%rbx\n0x400a84: jnz 0xffffffec(%rip) 1, 0"]; B72 [ label="__libc_csu_init\n0x400a86: add $0x8,%rsp\n0x400a8a: pop %rbx\n0x400a8b: pop %rbp\n0x400a8c: pop %r12\n0x400a8e: pop %r13\n0x400a90: pop %r14\n0x400a92: pop %r15\n0x400a94: ret near (%rsp) 1, 0"]; B73 [ label="__libc_csu_fini\n0x400aa0: REP ret near (%rsp) 1, 0"]; B74 [ label="_fini\n0x400aa4: sub $0x8,%rsp\n0x400aa8: add $0x8,%rsp\n0x400aac: ret near (%rsp) 1, 0"]; B67 -> B0 ; B0 -> B1 ; B0 -> B2 ; B1 -> B2 ; B66 -> B3 ; B11 -> B3 ; B12 -> B3 ; B15 -> B3 ; B1 -> B4 ; B37 -> B5 ; B34 -> B5 ; B64 -> B5 ; B39 -> B5 ; B35 -> B5 ; B9 -> B5 ; B65 -> B5 ; B40 -> B5 ; B13 -> B5 ; B14 -> B5 ; B17 -> B6 ; B19 -> B7 ; B18 -> B8 ; B9 -> B10 ; B10 -> B11 ; B11 -> B12 ; B12 -> B13 ; B13 -> B14 ; B14 -> B15 ; B15 -> B16 ; B17 -> B18 ; B19 -> B20 ; B30 -> B21 ; B21 -> B22 ; B22 -> B23 ; B22 -> B24 ; B21 -> B24 ; B33 -> B25 ; B25 -> B26 ; B26 -> B27 ; B26 -> B28 ; B25 -> B28 ; B29 -> B30 ; B30 -> B31 ; B24 -> B31 ; B29 -> B32 ; B35 -> B36 ; B37 -> B38 ; B39 -> B40 ; B40 -> B41 ; B43 -> B44 ; B60 -> B45 ; B44 -> B45 ; B45 -> B46 ; B46 -> B47 ; B47 -> B48 ; B58 -> B48 ; B49 -> B49 ; B48 -> B49 ; B49 -> B50 ; B50 -> B51 ; B59 -> B51 ; B51 -> B52 ; B52 -> B53 ; B53 -> B54 ; B54 -> B55 ; B51 -> B56 ; B55 -> B56 ; B52 -> B56 ; B50 -> B56 ; B57 -> B56 ; B53 -> B56 ; B54 -> B56 ; B56 -> B57 ; B57 -> B58 ; B58 -> B59 ; B46 -> B59 ; B45 -> B60 ; B60 -> B61 ; B56 -> B62 ; B43 -> B63 ; B10 -> B64 ; B64 -> B65 ; B65 -> B66 ; B67 -> B68 ; B2 -> B68 ; B68 -> B69 ; B69 -> B70 ; B71 -> B70 ; B70 -> B71 ; B71 -> B72 ; B68 -> B72 ; }