	.file	"d4dag.c"
# GNU C17 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)
#	compiled by GNU C version 10.2.1 20210110, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.0, isl version isl-0.23-GMP

# GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
# options passed:  -fpreprocessed d4dag.i -mtune=generic -march=x86-64 -g
# -fverbose-asm -fasynchronous-unwind-tables
# options enabled:  -fPIC -fPIE -faggressive-loop-optimizations
# -fallocation-dce -fasynchronous-unwind-tables -fauto-inc-dec
# -fdelete-null-pointer-checks -fdwarf2-cfi-asm -fearly-inlining
# -feliminate-unused-debug-symbols -feliminate-unused-debug-types
# -ffp-int-builtin-inexact -ffunction-cse -fgcse-lm -fgnu-unique -fident
# -finline-atomics -fipa-stack-alignment -fira-hoist-pressure
# -fira-share-save-slots -fira-share-spill-slots -fivopts
# -fkeep-static-consts -fleading-underscore -flifetime-dse -fmath-errno
# -fmerge-debug-strings -fpeephole -fplt -fprefetch-loop-arrays
# -freg-struct-return -fsched-critical-path-heuristic
# -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
# -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
# -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fschedule-fusion
# -fsemantic-interposition -fshow-column -fshrink-wrap-separate
# -fsigned-zeros -fsplit-ivs-in-unroller -fssa-backprop -fstdarg-opt
# -fstrict-volatile-bitfields -fsync-libcalls -ftrapping-math -ftree-cselim
# -ftree-forwprop -ftree-loop-if-convert -ftree-loop-im -ftree-loop-ivcanon
# -ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop
# -ftree-reassoc -ftree-scev-cprop -funit-at-a-time -funwind-tables
# -fverbose-asm -fzero-initialized-in-bss -m128bit-long-double -m64 -m80387
# -malign-stringops -mavx256-split-unaligned-load
# -mavx256-split-unaligned-store -mfancy-math-387 -mfp-ret-in-387 -mfxsr
# -mglibc -mieee-fp -mlong-double-80 -mmmx -mno-sse4 -mpush-args -mred-zone
# -msse -msse2 -mstv -mtls-direct-seg-refs -mvzeroupper

	.text
.Ltext0:
	.local	d4d__main
	.comm	d4d__main,8,8
	.globl	d4d_version
	.type	d4d_version, @function
d4d_version:
.LFB0:
	.file 1 "d4dag.c"
	.loc 1 86 1
	.cfi_startproc
	pushq	%rbp	#
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp	#,
	.cfi_def_cfa_register 6
# d4dag.c:87: 	return (D4DAG_VERSION);
	.loc 1 87 9
	movl	$10, %eax	#, _1
# d4dag.c:88: }
	.loc 1 88 1
	popq	%rbp	#
	.cfi_def_cfa 7, 8
	ret	
	.cfi_endproc
.LFE0:
	.size	d4d_version, .-d4d_version
	.globl	d4d_init
	.type	d4d_init, @function
d4d_init:
.LFB1:
	.loc 1 101 1
	.cfi_startproc
	pushq	%rbp	#
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp	#,
	.cfi_def_cfa_register 6
	subq	$16, %rsp	#,
	movq	%rdi, -8(%rbp)	# mallocer, mallocer
	movq	%rsi, -16(%rbp)	# freeer, freeer
# d4dag.c:103: 	if(!mallocer) {
	.loc 1 103 4
	cmpq	$0, -8(%rbp)	#, mallocer
	jne	.L4	#,
# d4dag.c:104: 		return(-1);
	.loc 1 104 9
	movl	$-1, %eax	#, _6
	jmp	.L5	#
.L4:
# d4dag.c:106: 	if (!freeer) {
	.loc 1 106 5
	cmpq	$0, -16(%rbp)	#, freeer
	jne	.L6	#,
# d4dag.c:107: 		return (-1);
	.loc 1 107 10
	movl	$-1, %eax	#, _6
	jmp	.L5	#
.L6:
# d4dag.c:109: 	d4d__main = (struct d4d__maing *)(*mallocer) ((unsigned int)sizeof(struct d4d__maing));
	.loc 1 109 36
	movq	-8(%rbp), %rax	# mallocer, tmp89
	movl	$16, %edi	#,
	call	*%rax	# tmp89
.LVL0:
# d4dag.c:109: 	d4d__main = (struct d4d__maing *)(*mallocer) ((unsigned int)sizeof(struct d4d__maing));
	.loc 1 109 12
	movq	%rax, d4d__main(%rip)	# _1, d4d__main
# d4dag.c:110: 	if (!d4d__main) {
	.loc 1 110 6
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.0_2
# d4dag.c:110: 	if (!d4d__main) {
	.loc 1 110 5
	testq	%rax, %rax	# d4d__main.0_2
	jne	.L7	#,
# d4dag.c:111: 		return (-2);
	.loc 1 111 10
	movl	$-2, %eax	#, _6
	jmp	.L5	#
.L7:
# d4dag.c:114: 	d4d__memzero(d4d__main, sizeof(struct d4d__maing));
	.loc 1 114 2
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.1_3
	movl	$16, %esi	#,
	movq	%rax, %rdi	# d4d__main.1_3,
	call	d4d__memzero	#
# d4dag.c:115: 	d4d__main->d4d__malloc = mallocer;
	.loc 1 115 11
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.2_4
# d4dag.c:115: 	d4d__main->d4d__malloc = mallocer;
	.loc 1 115 25
	movq	-8(%rbp), %rdx	# mallocer, tmp90
	movq	%rdx, (%rax)	# tmp90, d4d__main.2_4->d4d__malloc
# d4dag.c:116: 	d4d__main->d4d__free = freeer;
	.loc 1 116 11
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.3_5
# d4dag.c:116: 	d4d__main->d4d__free = freeer;
	.loc 1 116 23
	movq	-16(%rbp), %rdx	# freeer, tmp91
	movq	%rdx, 8(%rax)	# tmp91, d4d__main.3_5->d4d__free
# d4dag.c:117: 	return (0);
	.loc 1 117 9
	movl	$0, %eax	#, _6
.L5:
# d4dag.c:118: }
	.loc 1 118 1
	leave	
	.cfi_def_cfa 7, 8
	ret	
	.cfi_endproc
.LFE1:
	.size	d4d_init, .-d4d_init
	.globl	d4d_deinit
	.type	d4d_deinit, @function
d4d_deinit:
.LFB2:
	.loc 1 124 1
	.cfi_startproc
	pushq	%rbp	#
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp	#,
	.cfi_def_cfa_register 6
# d4dag.c:126: 	if (!d4d__main) {
	.loc 1 126 6
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.4_1
# d4dag.c:126: 	if (!d4d__main) {
	.loc 1 126 5
	testq	%rax, %rax	# d4d__main.4_1
	jne	.L9	#,
# d4dag.c:127: 		return (0);
	.loc 1 127 10
	movl	$0, %eax	#, _5
	jmp	.L10	#
.L9:
# d4dag.c:131: 	d4d__main->d4d__free(d4d__main);
	.loc 1 131 11
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.5_2
	movq	8(%rax), %rdx	# d4d__main.5_2->d4d__free, _3
# d4dag.c:131: 	d4d__main->d4d__free(d4d__main);
	.loc 1 131 2
	movq	d4d__main(%rip), %rax	# d4d__main, d4d__main.6_4
	movq	%rax, %rdi	# d4d__main.6_4,
	call	*%rdx	# _3
.LVL1:
# d4dag.c:132: 	d4d__main = (struct d4d__maing *)0;
	.loc 1 132 12
	movq	$0, d4d__main(%rip)	#, d4d__main
# d4dag.c:133: 	return (0);
	.loc 1 133 9
	movl	$0, %eax	#, _5
.L10:
# d4dag.c:134: }
	.loc 1 134 1
	popq	%rbp	#
	.cfi_def_cfa 7, 8
	ret	
	.cfi_endproc
.LFE2:
	.size	d4d_deinit, .-d4d_deinit
	.type	d4d__memzero, @function
d4d__memzero:
.LFB3:
	.loc 1 140 1
	.cfi_startproc
	pushq	%rbp	#
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp	#,
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)	# ptr, ptr
	movl	%esi, -28(%rbp)	# n, n
# d4dag.c:141: 	unsigned char *p = (unsigned char *)0;
	.loc 1 141 17
	movq	$0, -8(%rbp)	#, p
# d4dag.c:142: 	p = (unsigned char *)ptr;
	.loc 1 142 4
	movq	-24(%rbp), %rax	# ptr, tmp82
	movq	%rax, -8(%rbp)	# tmp82, p
# d4dag.c:143: 	while (n) {
	.loc 1 143 8
	jmp	.L12	#
.L13:
# d4dag.c:144: 		*p = 0;
	.loc 1 144 6
	movq	-8(%rbp), %rax	# p, tmp83
	movb	$0, (%rax)	#, *p_2
# d4dag.c:145: 		p++;
	.loc 1 145 4
	addq	$1, -8(%rbp)	#, p
# d4dag.c:146: 		n--;
	.loc 1 146 4
	subl	$1, -28(%rbp)	#, n
.L12:
# d4dag.c:143: 	while (n) {
	.loc 1 143 8
	cmpl	$0, -28(%rbp)	#, n
	jne	.L13	#,
# d4dag.c:148: 	return;
	.loc 1 148 2
	nop	
# d4dag.c:149: }
	.loc 1 149 1
	popq	%rbp	#
	.cfi_def_cfa 7, 8
	ret	
	.cfi_endproc
.LFE3:
	.size	d4d__memzero, .-d4d__memzero
.Letext0:
	.section	.debug_info,"",@progbits
.Ldebug_info0:
	.long	0x18e
	.value	0x4
	.long	.Ldebug_abbrev0
	.byte	0x8
	.uleb128 0x1
	.long	.LASF11
	.byte	0xc
	.long	.LASF12
	.long	.LASF13
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.long	.Ldebug_line0
	.uleb128 0x2
	.long	.LASF0
	.byte	0x1
	.byte	0x43
	.byte	0x11
	.long	0x39
	.uleb128 0x3
	.byte	0x8
	.long	0x3f
	.uleb128 0x4
	.long	0x4e
	.long	0x4e
	.uleb128 0x5
	.long	0x50
	.byte	0
	.uleb128 0x6
	.byte	0x8
	.uleb128 0x7
	.byte	0x4
	.byte	0x7
	.long	.LASF5
	.uleb128 0x2
	.long	.LASF1
	.byte	0x1
	.byte	0x44
	.byte	0x10
	.long	0x63
	.uleb128 0x3
	.byte	0x8
	.long	0x69
	.uleb128 0x8
	.long	0x74
	.uleb128 0x5
	.long	0x4e
	.byte	0
	.uleb128 0x9
	.long	.LASF14
	.byte	0x10
	.byte	0x1
	.byte	0x47
	.byte	0x8
	.long	0x9c
	.uleb128 0xa
	.long	.LASF2
	.byte	0x1
	.byte	0x49
	.byte	0xc
	.long	0x2d
	.byte	0
	.uleb128 0xa
	.long	.LASF3
	.byte	0x1
	.byte	0x4a
	.byte	0xa
	.long	0x57
	.byte	0x8
	.byte	0
	.uleb128 0xb
	.long	.LASF4
	.byte	0x1
	.byte	0x4e
	.byte	0x1b
	.long	0xb2
	.uleb128 0x9
	.byte	0x3
	.quad	d4d__main
	.uleb128 0x3
	.byte	0x8
	.long	0x74
	.uleb128 0xc
	.long	.LASF15
	.byte	0x1
	.byte	0x8b
	.byte	0xd
	.quad	.LFB3
	.quad	.LFE3-.LFB3
	.uleb128 0x1
	.byte	0x9c
	.long	0x100
	.uleb128 0xd
	.string	"ptr"
	.byte	0x1
	.byte	0x8b
	.byte	0x20
	.long	0x4e
	.uleb128 0x2
	.byte	0x91
	.sleb128 -40
	.uleb128 0xd
	.string	"n"
	.byte	0x1
	.byte	0x8b
	.byte	0x32
	.long	0x50
	.uleb128 0x2
	.byte	0x91
	.sleb128 -44
	.uleb128 0xe
	.string	"p"
	.byte	0x1
	.byte	0x8d
	.byte	0x11
	.long	0x100
	.uleb128 0x2
	.byte	0x91
	.sleb128 -24
	.byte	0
	.uleb128 0x3
	.byte	0x8
	.long	0x106
	.uleb128 0x7
	.byte	0x1
	.byte	0x8
	.long	.LASF6
	.uleb128 0xf
	.long	.LASF9
	.byte	0x1
	.byte	0x7b
	.byte	0x5
	.long	0x12b
	.quad	.LFB2
	.quad	.LFE2-.LFB2
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x10
	.byte	0x4
	.byte	0x5
	.string	"int"
	.uleb128 0x11
	.long	.LASF16
	.byte	0x1
	.byte	0x64
	.byte	0x5
	.long	0x12b
	.quad	.LFB1
	.quad	.LFE1-.LFB1
	.uleb128 0x1
	.byte	0x9c
	.long	0x173
	.uleb128 0x12
	.long	.LASF7
	.byte	0x1
	.byte	0x64
	.byte	0x16
	.long	0x39
	.uleb128 0x2
	.byte	0x91
	.sleb128 -24
	.uleb128 0x12
	.long	.LASF8
	.byte	0x1
	.byte	0x64
	.byte	0x37
	.long	0x63
	.uleb128 0x2
	.byte	0x91
	.sleb128 -32
	.byte	0
	.uleb128 0x13
	.long	.LASF10
	.byte	0x1
	.byte	0x55
	.byte	0x5
	.long	0x12b
	.quad	.LFB0
	.quad	.LFE0-.LFB0
	.uleb128 0x1
	.byte	0x9c
	.byte	0
	.section	.debug_abbrev,"",@progbits
.Ldebug_abbrev0:
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1b
	.uleb128 0xe
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x10
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x2
	.uleb128 0x16
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x3
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x4
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x5
	.uleb128 0x5
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x6
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x7
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.byte	0
	.byte	0
	.uleb128 0x8
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x9
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xa
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0xb
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0xc
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2117
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xd
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0xe
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0xf
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2116
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x10
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0
	.byte	0
	.uleb128 0x11
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2116
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x12
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x13
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2117
	.uleb128 0x19
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_aranges,"",@progbits
	.long	0x2c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x8
	.byte	0
	.value	0
	.value	0
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.quad	0
	.quad	0
	.section	.debug_line,"",@progbits
.Ldebug_line0:
	.section	.debug_str,"MS",@progbits,1
.LASF4:
	.string	"d4d__main"
.LASF5:
	.string	"unsigned int"
.LASF13:
	.string	"/home/gold/repo/notabug/sfgraph/d4dag"
.LASF8:
	.string	"freeer"
.LASF7:
	.string	"mallocer"
.LASF14:
	.string	"d4d__maing"
.LASF0:
	.string	"malloc_fn"
.LASF12:
	.string	"d4dag.c"
.LASF9:
	.string	"d4d_deinit"
.LASF11:
	.string	"GNU C17 10.2.1 20210110 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables"
.LASF10:
	.string	"d4d_version"
.LASF6:
	.string	"unsigned char"
.LASF1:
	.string	"free_fn"
.LASF2:
	.string	"d4d__malloc"
.LASF15:
	.string	"d4d__memzero"
.LASF3:
	.string	"d4d__free"
.LASF16:
	.string	"d4d_init"
	.ident	"GCC: (Debian 10.2.1-6) 10.2.1 20210110"
	.section	.note.GNU-stack,"",@progbits
