	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function main_thread
LCPI0_0:
	.quad	0x7ff8000000000000              ## double NaN
LCPI0_1:
	.quad	0x4020000000000000              ## double 8
LCPI0_2:
	.quad	0x412e848000000000              ## double 1.0E+6
LCPI0_3:
	.quad	0x3eb0c6f7a0b5ed8d              ## double 9.9999999999999995E-7
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_main_thread:                           ## @main_thread
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$424, %rsp                      ## imm = 0x1A8
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r12
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	leaq	-384(%rbp), %r14
	pxor	%xmm0, %xmm0
	movdqa	%xmm0, -416(%rbp)
	movq	$0, -400(%rbp)
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_gettimeofday
	leaq	-336(%rbp), %rbx
	leaq	-144(%rbp), %r15
	movq	%r12, -312(%rbp)                ## 8-byte Spill
	jmp	LBB0_1
LBB0_14:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	%r15, %r13
	movq	_normalize@GOTPCREL(%rip), %r15
	leaq	-304(%rbp), %rdi
	leaq	L_.str(%rip), %rsi
	callq	_strcpy
	leaq	-96(%rbp), %r12
LBB0_38:                                ##   in Loop: Header=BB0_1 Depth=1
	movl	(%r15), %edx
	movq	%r12, %rdi
	movq	-432(%rbp), %rsi                ## 8-byte Reload
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_norm
	movq	%rax, %r12
	movl	(%r15), %edx
	movq	%r13, %rdi
	movq	-448(%rbp), %rsi                ## 8-byte Reload
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_norm
	xorps	%xmm0, %xmm0
	cvtsi2sdq	-320(%rbp), %xmm0       ## 8-byte Folded Reload
	movq	%rax, -320(%rbp)                ## 8-byte Spill
	movq	-312(%rbp), %rbx                ## 8-byte Reload
	movsd	-440(%rbp), %xmm1               ## 8-byte Reload
                                        ## xmm1 = mem[0],zero
	mulsd	24(%rbx), %xmm1
	mulsd	LCPI0_1(%rip), %xmm0
	addsd	%xmm1, %xmm0
	mulsd	LCPI0_2(%rip), %xmm0
	xorps	%xmm1, %xmm1
	cvtsi2sdl	-324(%rbp), %xmm1       ## 4-byte Folded Reload
	divsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %esi
	movl	(%r15), %edx
	leaq	-192(%rbp), %rdi
	callq	_norm
	movl	-344(%rbp), %ecx
	movl	%ecx, (%rsp)
	leaq	L_.str.2(%rip), %rdi
	movq	%r12, %rsi
	movq	%rbx, %r12
	leaq	-304(%rbp), %rdx
	movq	-320(%rbp), %rcx                ## 8-byte Reload
	movq	%rax, %r8
	movq	-456(%rbp), %r9                 ## 8-byte Reload
	movsd	-376(%rbp), %xmm0               ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	movb	$1, %al
	callq	_D
	movq	-336(%rbp), %rax
	movq	%rax, -384(%rbp)
	movdqa	-368(%rbp), %xmm0
	movdqa	-352(%rbp), %xmm1
	movdqa	%xmm1, -400(%rbp)
	movdqa	%xmm0, -416(%rbp)
	cmpl	(%rbx), %r14d
	leaq	-384(%rbp), %r14
	leaq	-336(%rbp), %rbx
	movq	%r13, %r15
	je	LBB0_39
LBB0_1:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_5 Depth 2
                                        ##     Child Loop BB0_22 Depth 2
                                        ##     Child Loop BB0_28 Depth 2
	movl	48(%r12), %edx
	movq	%r14, %rdi
	movq	%rbx, %rsi
	callq	_wait_for_next_report
	pxor	%xmm0, %xmm0
	movdqa	%xmm0, -368(%rbp)
	movdqa	%xmm0, -352(%rbp)
	cmpl	$10000, %eax                    ## imm = 0x2710
	jl	LBB0_1
## %bb.2:                               ##   in Loop: Header=BB0_1 Depth=1
	movl	%eax, %r8d
	movl	(%r12), %ecx
	testl	%ecx, %ecx
	jle	LBB0_3
## %bb.4:                               ##   in Loop: Header=BB0_1 Depth=1
	movq	_targs@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	shlq	$4, %rcx
	leaq	(%rcx,%rcx,4), %rdx
	pxor	%xmm0, %xmm0
	xorl	%esi, %esi
	xorl	%r14d, %r14d
	xorl	%ecx, %ecx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_5:                                 ##   Parent Loop BB0_1 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	24(%rax,%rsi), %xmm1
	paddq	%xmm1, %xmm0
	addq	40(%rax,%rsi), %rcx
	movslq	48(%rax,%rsi), %rbx
	addq	%rbx, %rdi
	movl	$99999, 48(%rax,%rsi)           ## imm = 0x1869F
	cmpq	$1, (%rax,%rsi)
	adcl	$0, %r14d
	addq	$80, %rsi
	cmpq	%rsi, %rdx
	jne	LBB0_5
## %bb.6:                               ##   in Loop: Header=BB0_1 Depth=1
	movdqa	%xmm0, -368(%rbp)
	movq	%rcx, -352(%rbp)
	movq	%rdi, -344(%rbp)
	movq	%xmm0, %rsi
	pextrq	$1, %xmm0, %rax
	jmp	LBB0_7
LBB0_3:                                 ##   in Loop: Header=BB0_1 Depth=1
	xorl	%ecx, %ecx
	xorl	%eax, %eax
	xorl	%esi, %esi
	xorl	%r14d, %r14d
LBB0_7:                                 ##   in Loop: Header=BB0_1 Depth=1
	subq	-416(%rbp), %rsi
	subq	-408(%rbp), %rax
	movq	%rax, -320(%rbp)                ## 8-byte Spill
	imulq	$1000000, %rsi, %rdx            ## imm = 0xF4240
	movl	%r8d, %eax
	shrl	$31, %eax
	addl	%r8d, %eax
	sarl	%eax
	addq	%rdx, %rax
	movslq	%r8d, %rbx
	movq	%rax, %rdx
	orq	%rbx, %rdx
	subq	-400(%rbp), %rcx
	shrq	$32, %rdx
	je	LBB0_8
## %bb.9:                               ##   in Loop: Header=BB0_1 Depth=1
	cqto
	idivq	%rbx
	movq	%rax, %rdx
	jmp	LBB0_10
LBB0_8:                                 ##   in Loop: Header=BB0_1 Depth=1
                                        ## kill: def $eax killed $eax killed $rax
	xorl	%edx, %edx
	divl	%r8d
	movl	%eax, %edx
LBB0_10:                                ##   in Loop: Header=BB0_1 Depth=1
	xorps	%xmm1, %xmm1
	cvtsi2sd	%rsi, %xmm1
	testq	%rcx, %rcx
	movsd	%xmm1, -440(%rbp)               ## 8-byte Spill
	jle	LBB0_11
## %bb.12:                              ##   in Loop: Header=BB0_1 Depth=1
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rcx, %xmm0
	divsd	%xmm0, %xmm1
	movsd	%xmm1, -376(%rbp)               ## 8-byte Spill
	jmp	LBB0_13
LBB0_11:                                ##   in Loop: Header=BB0_1 Depth=1
	pxor	%xmm0, %xmm0
	movq	%xmm0, -376(%rbp)               ## 8-byte Folded Spill
LBB0_13:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	%rsi, -448(%rbp)                ## 8-byte Spill
	movq	_OPT_PPS_STATS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 4(%r12)
	movl	%r8d, -324(%rbp)                ## 4-byte Spill
	movq	%rbx, -456(%rbp)                ## 8-byte Spill
	movq	%rdx, -432(%rbp)                ## 8-byte Spill
	je	LBB0_14
## %bb.15:                              ##   in Loop: Header=BB0_1 Depth=1
	movq	8(%r12), %rcx
	movq	16(%r12), %rax
	movl	%edx, (%rcx,%rax,4)
	incq	%rax
	movq	_STATS_WIN@GOTPCREL(%rip), %rdx
	movslq	(%rdx), %rsi
	movq	%rax, %rdx
	orq	%rsi, %rdx
	shrq	$32, %rdx
	je	LBB0_16
## %bb.17:                              ##   in Loop: Header=BB0_1 Depth=1
	xorl	%edx, %edx
	divq	%rsi
	jmp	LBB0_18
LBB0_16:                                ##   in Loop: Header=BB0_1 Depth=1
                                        ## kill: def $eax killed $eax killed $rax
	xorl	%edx, %edx
	divl	%esi
                                        ## kill: def $edx killed $edx def $rdx
LBB0_18:                                ##   in Loop: Header=BB0_1 Depth=1
	leaq	-96(%rbp), %rdi
	movq	%rdx, 16(%r12)
	movsd	LCPI0_0(%rip), %xmm2            ## xmm2 = mem[0],zero
	movapd	%xmm2, %xmm0
	testl	%esi, %esi
	jle	LBB0_37
## %bb.19:                              ##   in Loop: Header=BB0_1 Depth=1
	movl	%esi, %r8d
	movq	%r8, %r9
	decq	%r9
	je	LBB0_20
## %bb.21:                              ##   in Loop: Header=BB0_1 Depth=1
	movl	%r8d, %r10d
	andl	$-2, %r10d
	xorl	%eax, %eax
	xorpd	%xmm0, %xmm0
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_22:                                ##   Parent Loop BB0_1 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rcx,%rax,4), %ebx
	movl	4(%rcx,%rax,4), %edx
	xorps	%xmm1, %xmm1
	cvtsi2sd	%ebx, %xmm1
	addsd	%xmm0, %xmm1
	cmpl	$1, %ebx
	sbbl	$-1, %esi
	xorps	%xmm0, %xmm0
	cvtsi2sd	%edx, %xmm0
	addsd	%xmm1, %xmm0
	cmpl	$1, %edx
	sbbl	$-1, %esi
	addq	$2, %rax
	cmpq	%rax, %r10
	jne	LBB0_22
## %bb.23:                              ##   in Loop: Header=BB0_1 Depth=1
	testb	$1, %r8b
	je	LBB0_25
LBB0_24:                                ##   in Loop: Header=BB0_1 Depth=1
	movl	(%rcx,%rax,4), %eax
	xorps	%xmm1, %xmm1
	cvtsi2sd	%eax, %xmm1
	addsd	%xmm1, %xmm0
	cmpl	$1, %eax
	sbbl	$-1, %esi
LBB0_25:                                ##   in Loop: Header=BB0_1 Depth=1
	xorps	%xmm1, %xmm1
	cvtsi2sd	%esi, %xmm1
	divsd	%xmm1, %xmm0
	testq	%r9, %r9
	je	LBB0_26
## %bb.27:                              ##   in Loop: Header=BB0_1 Depth=1
	movl	%r8d, %esi
	andl	$-2, %esi
	xorpd	%xmm2, %xmm2
	xorl	%edx, %edx
	jmp	LBB0_28
	.p2align	4, 0x90
LBB0_32:                                ##   in Loop: Header=BB0_28 Depth=2
	addq	$2, %rdx
	cmpq	%rdx, %rsi
	je	LBB0_33
LBB0_28:                                ##   Parent Loop BB0_1 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rcx,%rdx,4), %eax
	testl	%eax, %eax
	je	LBB0_30
## %bb.29:                              ##   in Loop: Header=BB0_28 Depth=2
	xorps	%xmm3, %xmm3
	cvtsi2sd	%eax, %xmm3
	subsd	%xmm0, %xmm3
	mulsd	%xmm3, %xmm3
	addsd	%xmm3, %xmm2
LBB0_30:                                ##   in Loop: Header=BB0_28 Depth=2
	movl	4(%rcx,%rdx,4), %eax
	testl	%eax, %eax
	je	LBB0_32
## %bb.31:                              ##   in Loop: Header=BB0_28 Depth=2
	xorps	%xmm3, %xmm3
	cvtsi2sd	%eax, %xmm3
	subsd	%xmm0, %xmm3
	mulsd	%xmm3, %xmm3
	addsd	%xmm3, %xmm2
	jmp	LBB0_32
LBB0_20:                                ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	xorpd	%xmm0, %xmm0
	xorl	%esi, %esi
	testb	$1, %r8b
	jne	LBB0_24
	jmp	LBB0_25
LBB0_26:                                ##   in Loop: Header=BB0_1 Depth=1
	xorpd	%xmm2, %xmm2
	xorl	%edx, %edx
LBB0_33:                                ##   in Loop: Header=BB0_1 Depth=1
	testb	$1, %r8b
	je	LBB0_36
## %bb.34:                              ##   in Loop: Header=BB0_1 Depth=1
	movl	(%rcx,%rdx,4), %eax
	testl	%eax, %eax
	je	LBB0_36
## %bb.35:                              ##   in Loop: Header=BB0_1 Depth=1
	xorps	%xmm3, %xmm3
	cvtsi2sd	%eax, %xmm3
	subsd	%xmm0, %xmm3
	mulsd	%xmm3, %xmm3
	addsd	%xmm3, %xmm2
LBB0_36:                                ##   in Loop: Header=BB0_1 Depth=1
	divsd	%xmm1, %xmm2
LBB0_37:                                ##   in Loop: Header=BB0_1 Depth=1
	xorps	%xmm1, %xmm1
	sqrtsd	%xmm2, %xmm1
	movsd	%xmm1, -424(%rbp)               ## 8-byte Spill
	cvttsd2si	%xmm0, %esi
	movq	_normalize@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edx
	movq	%rdi, %r12
	callq	_norm
	movq	%rax, %r13
	cvttsd2si	-424(%rbp), %esi        ## 8-byte Folded Reload
	movl	(%rbx), %edx
	movq	%r15, %rdi
	callq	_norm
	leaq	-304(%rbp), %rdi
	movl	$100, %esi
	leaq	L_.str.1(%rip), %rdx
	movq	%r13, %rcx
	movq	%rax, %r8
	callq	_snprintf
	movq	%r15, %r13
	movq	%rbx, %r15
	jmp	LBB0_38
LBB0_39:
	leaq	-304(%rbp), %rdi
	callq	_timerclear
	leaq	-96(%rbp), %rdi
	callq	_timerclear
	pxor	%xmm0, %xmm0
	movdqa	%xmm0, -368(%rbp)
	movq	$0, -352(%rbp)
	cmpl	$0, (%r12)
	movq	_targs@GOTPCREL(%rip), %rdx
	jle	LBB0_55
## %bb.40:
	leaq	-304(%rbp), %r15
	leaq	-96(%rbp), %r12
	xorl	%r14d, %r14d
	xorl	%r13d, %r13d
	jmp	LBB0_41
	.p2align	4, 0x90
LBB0_53:                                ##   in Loop: Header=BB0_41 Depth=1
	movq	_targs@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	leaq	(%rax,%r14), %rdi
	addq	$16, %rdi
	callq	_timespec2val
	movq	%rax, -96(%rbp)
LBB0_54:                                ##   in Loop: Header=BB0_41 Depth=1
	incq	%r13
	movq	-312(%rbp), %rax                ## 8-byte Reload
	movslq	(%rax), %rax
	addq	$80, %r14
	cmpq	%rax, %r13
	movq	_targs@GOTPCREL(%rip), %rdx
	jge	LBB0_55
LBB0_41:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rdx), %rax
	cmpq	$0, (%rax,%r14)
	je	LBB0_43
## %bb.42:                              ##   in Loop: Header=BB0_41 Depth=1
	movl	72(%rax,%r14), %edi
	xorl	%esi, %esi
	callq	_pthread_join
	movq	_targs@GOTPCREL(%rip), %rdx
LBB0_43:                                ##   in Loop: Header=BB0_41 Depth=1
	movq	-312(%rbp), %rax                ## 8-byte Reload
	movq	32(%rax), %rcx
	movq	(%rdx), %rax
	movq	_DEV_NETMAP@GOTPCREL(%rip), %rsi
	cmpq	(%rsi), %rcx
	movq	%rdx, %rbx
	jne	LBB0_45
## %bb.44:                              ##   in Loop: Header=BB0_41 Depth=1
	movq	64(%rax,%r14), %rdi
	callq	_nm_close
	movq	(%rbx), %rax
	movq	$0, 64(%rax,%r14)
	jmp	LBB0_46
	.p2align	4, 0x90
LBB0_45:                                ##   in Loop: Header=BB0_41 Depth=1
	movl	56(%rax,%r14), %edi
	callq	_close
LBB0_46:                                ##   in Loop: Header=BB0_41 Depth=1
	movq	(%rbx), %rax
	cmpq	$0, 8(%rax,%r14)
	jne	LBB0_48
## %bb.47:                              ##   in Loop: Header=BB0_41 Depth=1
	leaq	L_.str.3(%rip), %rdi
	movl	%r13d, %esi
	xorl	%eax, %eax
	callq	_D
	movq	_targs@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
LBB0_48:                                ##   in Loop: Header=BB0_41 Depth=1
	movdqu	24(%rax,%r14), %xmm0
	paddq	-368(%rbp), %xmm0
	movdqa	%xmm0, -368(%rbp)
	movq	40(%rax,%r14), %rax
	addq	%rax, -352(%rbp)
	movq	%r15, %rdi
	callq	_timeval2spec
	movl	%eax, -144(%rbp)
	movq	%r12, %rdi
	callq	_timeval2spec
	movl	%eax, -192(%rbp)
	movq	%r15, %rdi
	callq	_timerisset
	testl	%eax, %eax
	je	LBB0_50
## %bb.49:                              ##   in Loop: Header=BB0_41 Depth=1
	movq	_targs@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	leaq	(%rax,%r14), %rdi
	addq	$20, %rdi
	leaq	-144(%rbp), %rsi
	callq	_timespec_ge
	testq	%rax, %rax
	je	LBB0_51
LBB0_50:                                ##   in Loop: Header=BB0_41 Depth=1
	movq	_targs@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	leaq	(%rax,%r14), %rdi
	addq	$20, %rdi
	callq	_timespec2val
	movq	%rax, -304(%rbp)
LBB0_51:                                ##   in Loop: Header=BB0_41 Depth=1
	movq	%r12, %rdi
	callq	_timerisset
	testl	%eax, %eax
	je	LBB0_53
## %bb.52:                              ##   in Loop: Header=BB0_41 Depth=1
	movq	_targs@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	leaq	(%rax,%r14), %rdi
	addq	$16, %rdi
	leaq	-192(%rbp), %rsi
	callq	_timespec_ge
	testq	%rax, %rax
	jne	LBB0_53
	jmp	LBB0_54
LBB0_55:
	leaq	-304(%rbp), %rsi
	leaq	-96(%rbp), %rdi
	movq	%rdi, %rdx
	callq	_timersub
	xorps	%xmm1, %xmm1
	cvtsi2sdl	-96(%rbp), %xmm1
	xorps	%xmm0, %xmm0
	cvtsi2sdl	-92(%rbp), %xmm0
	movq	-312(%rbp), %rdi                ## 8-byte Reload
	movq	40(%rdi), %rax
	movq	_TD_TYPE_SENDER@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_57
## %bb.56:
	leaq	L_.str.4(%rip), %rdx
	jmp	LBB0_59
LBB0_57:
	movq	_TD_TYPE_RECEIVER@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_60
## %bb.58:
	leaq	L_.str.5(%rip), %rdx
LBB0_59:
	mulsd	LCPI0_3(%rip), %xmm0
	addsd	%xmm1, %xmm0
	leaq	-368(%rbp), %rsi
	callq	_tx_output
LBB0_60:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_62
## %bb.61:
	addq	$424, %rsp                      ## imm = 0x1A8
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_62:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_targs,8,3                      ## @targs
	.comm	_OPT_PPS_STATS,4,2              ## @OPT_PPS_STATS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.space	1

	.comm	_STATS_WIN,4,2                  ## @STATS_WIN
L_.str.1:                               ## @.str.1
	.asciz	"[avg/std %s/%s pps]"

	.comm	_normalize,4,2                  ## @normalize
L_.str.2:                               ## @.str.2
	.asciz	"%spps %s(%spkts %sbps in %llu usec) %.2f avg_batch %d min_space"

	.comm	_DEV_NETMAP,8,3                 ## @DEV_NETMAP
L_.str.3:                               ## @.str.3
	.asciz	"ouch, thread %d exited with error"

	.comm	_TD_TYPE_SENDER,8,3             ## @TD_TYPE_SENDER
L_.str.4:                               ## @.str.4
	.asciz	"Sent"

	.comm	_TD_TYPE_RECEIVER,8,3           ## @TD_TYPE_RECEIVER
L_.str.5:                               ## @.str.5
	.asciz	"Received"

	.no_dead_strip	_main_thread
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function main_thread
_main_thread:                           ; @main_thread
	.cfi_startproc
; %bb.0:
	stp	d13, d12, [sp, #-144]!          ; 16-byte Folded Spill
	.cfi_def_cfa_offset 144
	stp	d11, d10, [sp, #16]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #32]               ; 16-byte Folded Spill
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #80]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	.cfi_offset b8, -104
	.cfi_offset b9, -112
	.cfi_offset b10, -120
	.cfi_offset b11, -128
	.cfi_offset b12, -136
	.cfi_offset b13, -144
	sub	sp, sp, #416
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-144]
	add	x8, sp, #128
	stp	xzr, xzr, [sp, #136]
	add	x20, x8, #32
	str	xzr, [sp, #128]
	mov	x0, x20
	mov	x1, #0
	bl	_gettimeofday
	add	x8, sp, #80
	add	x21, x8, #32
	mov	w22, #10000
Lloh3:
	adrp	x28, _targs@GOTPAGE
Lloh4:
	ldr	x28, [x28, _targs@GOTPAGEOFF]
	mov	w23, #34463
	movk	w23, #1, lsl #16
	movi	d8, #0000000000000000
Lloh5:
	adrp	x24, _normalize@GOTPAGE
Lloh6:
	ldr	x24, [x24, _normalize@GOTPAGEOFF]
	fmov	d9, #8.00000000
	stp	x21, x20, [sp, #64]             ; 16-byte Folded Spill
	b	LBB0_3
LBB0_1:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x0, sp, #176
Lloh7:
	adrp	x1, l_.str@PAGE
Lloh8:
	add	x1, x1, l_.str@PAGEOFF
	bl	_strcpy
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	w2, [x24]
	sub	x0, x29, #184
	mov	x1, x27
	bl	_norm
	mov	x27, x0
	ldr	w2, [x24]
	sub	x0, x29, #224
	mov	x1, x26
	bl	_norm
	mov	x26, x0
	scvtf	d0, x21
	ldr	d1, [x19, #24]
	fmul	d1, d1, d11
	fmadd	d0, d0, d9, d1
	mov	x8, #145685290680320
	movk	x8, #16686, lsl #48
	fmov	d1, x8
	fmul	d0, d0, d1
	scvtf	d1, w25
	fdiv	d0, d0, d1
	fcvtzs	w1, d0
	ldr	w2, [x24]
	add	x0, sp, #280
	bl	_norm
	ldr	x8, [sp, #104]
	str	x8, [sp, #48]
	str	d10, [sp, #40]
	stp	x0, x20, [sp, #24]
	add	x8, sp, #176
	stp	x8, x26, [sp, #8]
	str	x27, [sp]
Lloh9:
	adrp	x0, l_.str.2@PAGE
Lloh10:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_D
	ldp	q0, q1, [sp, #80]
	stp	q0, q1, [sp, #128]
	ldr	x8, [sp, #112]
	str	x8, [sp, #160]
	ldr	w8, [x19]
	cmp	w22, w8
	ldp	x21, x20, [sp, #64]             ; 16-byte Folded Reload
	mov	w22, #10000
	b.eq	LBB0_23
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_6 Depth 2
                                        ;     Child Loop BB0_15 Depth 2
                                        ;     Child Loop BB0_18 Depth 2
                                        ;     Child Loop BB0_20 Depth 2
	ldr	w2, [x19, #48]
	mov	x0, x20
	mov	x1, x21
	bl	_wait_for_next_report
	movi.2d	v0, #0000000000000000
	stp	q0, q0, [sp, #80]
	cmp	w0, w22
	b.lt	LBB0_3
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x25, x0
	ldr	w11, [x19]
	cmp	w11, #1
	b.lt	LBB0_8
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w22, #0
	mov	x10, #0
	mov	x9, #0
	mov	x8, #0
	mov	x12, #0
	ldr	x13, [x28]
	add	x13, x13, #48
LBB0_6:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	x14, x15, [x13, #-24]
	add	x10, x10, x14
	add	x9, x9, x15
	ldur	x14, [x13, #-8]
	add	x8, x8, x14
	ldrsw	x14, [x13]
	add	x12, x12, x14
	str	w23, [x13]
	ldur	x14, [x13, #-48]
	cmp	x14, #0
	cinc	w22, w22, eq
	add	x13, x13, #80
	subs	x11, x11, #1
	b.ne	LBB0_6
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	stp	x10, x9, [sp, #80]
	stp	x8, x12, [sp, #96]
	b	LBB0_9
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	x8, #0
	mov	x9, #0
	mov	x10, #0
	mov	w22, #0
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldp	x11, x12, [sp, #128]
	sub	x26, x10, x11
	sub	x21, x9, x12
	ldr	x9, [sp, #144]
	sub	x8, x8, x9
	cmp	w25, #0
	cinc	w9, w25, lt
	asr	w9, w9, #1
	mov	w10, #16960
	movk	w10, #15, lsl #16
	madd	x9, x26, x10, x9
	sxtw	x20, w25
	sdiv	x27, x9, x20
	scvtf	d11, x26
	scvtf	d0, x8
	cmp	x8, #1
	fdiv	d0, d11, d0
	fcsel	d10, d8, d0, lt
	ldr	w8, [x19, #4]
Lloh11:
	adrp	x9, _OPT_PPS_STATS@GOTPAGE
Lloh12:
	ldr	x9, [x9, _OPT_PPS_STATS@GOTPAGEOFF]
Lloh13:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_1
; %bb.10:                               ;   in Loop: Header=BB0_3 Depth=1
	ldp	x8, x9, [x19, #8]
	str	w27, [x8, x9, lsl #2]
	add	x10, x9, #1
Lloh14:
	adrp	x9, _STATS_WIN@GOTPAGE
Lloh15:
	ldr	x9, [x9, _STATS_WIN@GOTPAGEOFF]
Lloh16:
	ldrsw	x9, [x9]
	udiv	x11, x10, x9
	msub	x10, x11, x9, x10
	str	x10, [x19, #16]
	cmp	w9, #1
	b.lt	LBB0_13
; %bb.11:                               ;   in Loop: Header=BB0_3 Depth=1
	and	x9, x9, #0xffffffff
	cmp	w9, #16
	b.hs	LBB0_14
; %bb.12:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	x10, #0
	mov	w11, #0
	movi	d0, #0000000000000000
	b	LBB0_17
LBB0_13:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x8, #9221120237041090560
	fmov	d0, x8
	fmov	d1, d0
	b	LBB0_22
LBB0_14:                                ;   in Loop: Header=BB0_3 Depth=1
	and	x10, x9, #0xfffffff0
	add	x11, x8, #32
	movi.2d	v1, #0000000000000000
	movi	d0, #0000000000000000
	mov	x12, x10
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
	movi.2d	v4, #0000000000000000
LBB0_15:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q5, q6, [x11, #-32]
	ldp	q7, q16, [x11], #64
	sshll2.2d	v17, v5, #0
	scvtf.2d	v17, v17
	mov	d18, v17[1]
	sshll.2d	v19, v5, #0
	scvtf.2d	v19, v19
	mov	d20, v19[1]
	sshll2.2d	v21, v6, #0
	scvtf.2d	v21, v21
	mov	d22, v21[1]
	sshll.2d	v23, v6, #0
	scvtf.2d	v23, v23
	mov	d24, v23[1]
	sshll2.2d	v25, v7, #0
	scvtf.2d	v25, v25
	mov	d26, v25[1]
	sshll.2d	v27, v7, #0
	scvtf.2d	v27, v27
	mov	d28, v27[1]
	sshll2.2d	v29, v16, #0
	scvtf.2d	v29, v29
	mov	d30, v29[1]
	sshll.2d	v31, v16, #0
	scvtf.2d	v31, v31
	mov	d12, v31[1]
	fadd	d0, d0, d19
	fadd	d0, d0, d20
	fadd	d0, d0, d17
	fadd	d0, d0, d18
	fadd	d0, d0, d23
	fadd	d0, d0, d24
	fadd	d0, d0, d21
	fadd	d0, d0, d22
	fadd	d0, d0, d27
	fadd	d0, d0, d28
	fadd	d0, d0, d25
	fadd	d0, d0, d26
	fadd	d0, d0, d31
	fadd	d0, d0, d12
	fadd	d0, d0, d29
	fadd	d0, d0, d30
	cmtst.4s	v5, v5, v5
	cmtst.4s	v6, v6, v6
	cmtst.4s	v7, v7, v7
	cmtst.4s	v16, v16, v16
	sub.4s	v1, v1, v5
	sub.4s	v2, v2, v6
	sub.4s	v3, v3, v7
	sub.4s	v4, v4, v16
	subs	x12, x12, #16
	b.ne	LBB0_15
; %bb.16:                               ;   in Loop: Header=BB0_3 Depth=1
	add.4s	v1, v2, v1
	add.4s	v1, v3, v1
	add.4s	v1, v4, v1
	addv.4s	s1, v1
	fmov	w11, s1
	cmp	x10, x9
	b.eq	LBB0_19
LBB0_17:                                ;   in Loop: Header=BB0_3 Depth=1
	add	x12, x8, x10, lsl #2
	sub	x10, x9, x10
LBB0_18:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w13, [x12], #4
	scvtf	d1, w13
	fadd	d0, d0, d1
	cmp	w13, #0
	cinc	w11, w11, ne
	subs	x10, x10, #1
	b.ne	LBB0_18
LBB0_19:                                ;   in Loop: Header=BB0_3 Depth=1
	scvtf	d1, w11
	fdiv	d0, d0, d1
	movi	d2, #0000000000000000
LBB0_20:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w10, [x8], #4
	scvtf	d3, w10
	fsub	d3, d3, d0
	fmadd	d3, d3, d3, d2
	cmp	w10, #0
	fcsel	d2, d2, d3, eq
	subs	x9, x9, #1
	b.ne	LBB0_20
; %bb.21:                               ;   in Loop: Header=BB0_3 Depth=1
	fdiv	d1, d2, d1
LBB0_22:                                ;   in Loop: Header=BB0_3 Depth=1
	fcvtzs	w1, d0
	ldr	w2, [x24]
	fsqrt	d12, d1
	sub	x0, x29, #184
	bl	_norm
	mov	x28, x0
	fcvtzs	w1, d12
	ldr	w2, [x24]
	sub	x0, x29, #224
	bl	_norm
	mov	x4, x0
	add	x0, sp, #176
	mov	w1, #100
Lloh17:
	adrp	x2, l_.str.1@PAGE
Lloh18:
	add	x2, x2, l_.str.1@PAGEOFF
	mov	x3, x28
	bl	_snprintf
Lloh19:
	adrp	x28, _targs@GOTPAGE
Lloh20:
	ldr	x28, [x28, _targs@GOTPAGEOFF]
	b	LBB0_2
LBB0_23:
	add	x0, sp, #176
	bl	_timerclear
	sub	x0, x29, #184
	bl	_timerclear
	stp	xzr, xzr, [sp, #88]
	str	xzr, [sp, #80]
	ldr	w8, [x19]
	cmp	w8, #1
	b.lt	LBB0_39
; %bb.24:
	mov	x21, #0
	mov	w22, #40
Lloh21:
	adrp	x23, _DEV_NETMAP@GOTPAGE
Lloh22:
	ldr	x23, [x23, _DEV_NETMAP@GOTPAGEOFF]
Lloh23:
	adrp	x20, l_.str.3@PAGE
Lloh24:
	add	x20, x20, l_.str.3@PAGEOFF
	b	LBB0_27
LBB0_25:                                ;   in Loop: Header=BB0_27 Depth=1
	ldr	x8, [x28]
	add	x8, x8, x22
	sub	x0, x8, #24
	bl	_timespec2val
	stur	x0, [x29, #-184]
LBB0_26:                                ;   in Loop: Header=BB0_27 Depth=1
	add	x21, x21, #1
	ldrsw	x8, [x19]
	add	x22, x22, #80
	cmp	x21, x8
	b.ge	LBB0_39
LBB0_27:                                ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x28]
	add	x8, x8, x22
	ldur	x9, [x8, #-40]
	cbz	x9, LBB0_29
; %bb.28:                               ;   in Loop: Header=BB0_27 Depth=1
	ldr	w0, [x8, #32]
	mov	x1, #0
	bl	_pthread_join
LBB0_29:                                ;   in Loop: Header=BB0_27 Depth=1
	ldr	x9, [x19, #32]
	ldr	x10, [x23]
	ldr	x8, [x28]
	add	x8, x8, x22
	cmp	x9, x10
	b.ne	LBB0_31
; %bb.30:                               ;   in Loop: Header=BB0_27 Depth=1
	ldr	x0, [x8, #24]
	bl	_nm_close
	ldr	x8, [x28]
	add	x8, x8, x22
	str	xzr, [x8, #24]
	b	LBB0_32
LBB0_31:                                ;   in Loop: Header=BB0_27 Depth=1
	ldr	w0, [x8, #16]
	bl	_close
LBB0_32:                                ;   in Loop: Header=BB0_27 Depth=1
	ldr	x8, [x28]
	add	x9, x8, x22
	ldur	x9, [x9, #-32]
	cbnz	x9, LBB0_34
; %bb.33:                               ;   in Loop: Header=BB0_27 Depth=1
	str	x21, [sp]
	mov	x0, x20
	bl	_D
	ldr	x8, [x28]
LBB0_34:                                ;   in Loop: Header=BB0_27 Depth=1
	add	x8, x8, x22
	ldur	q0, [x8, #-16]
	ldr	q1, [sp, #80]
	add.2d	v0, v1, v0
	str	q0, [sp, #80]
	ldr	x8, [x8]
	ldr	x9, [sp, #96]
	add	x8, x9, x8
	str	x8, [sp, #96]
	add	x0, sp, #176
	bl	_timeval2spec
	stur	w0, [x29, #-224]
	sub	x0, x29, #184
	bl	_timeval2spec
	str	w0, [sp, #280]
	add	x0, sp, #176
	bl	_timerisset
	cbz	w0, LBB0_36
; %bb.35:                               ;   in Loop: Header=BB0_27 Depth=1
	ldr	x8, [x28]
	add	x8, x8, x22
	sub	x0, x8, #20
	sub	x1, x29, #224
	bl	_timespec_ge
	cbz	x0, LBB0_37
LBB0_36:                                ;   in Loop: Header=BB0_27 Depth=1
	ldr	x8, [x28]
	add	x8, x8, x22
	sub	x0, x8, #20
	bl	_timespec2val
	str	x0, [sp, #176]
LBB0_37:                                ;   in Loop: Header=BB0_27 Depth=1
	sub	x0, x29, #184
	bl	_timerisset
	cbz	w0, LBB0_25
; %bb.38:                               ;   in Loop: Header=BB0_27 Depth=1
	ldr	x8, [x28]
	add	x8, x8, x22
	sub	x0, x8, #24
	add	x1, sp, #280
	bl	_timespec_ge
	cbnz	x0, LBB0_25
	b	LBB0_26
LBB0_39:
	sub	x0, x29, #184
	add	x1, sp, #176
	sub	x2, x29, #184
	bl	_timersub
	ldp	s1, s0, [x29, #-184]
	ldr	x8, [x19, #40]
Lloh25:
	adrp	x9, _TD_TYPE_SENDER@GOTPAGE
Lloh26:
	ldr	x9, [x9, _TD_TYPE_SENDER@GOTPAGEOFF]
Lloh27:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_41
; %bb.40:
Lloh28:
	adrp	x2, l_.str.4@PAGE
Lloh29:
	add	x2, x2, l_.str.4@PAGEOFF
	b	LBB0_43
LBB0_41:
Lloh30:
	adrp	x9, _TD_TYPE_RECEIVER@GOTPAGE
Lloh31:
	ldr	x9, [x9, _TD_TYPE_RECEIVER@GOTPAGEOFF]
Lloh32:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_44
; %bb.42:
Lloh33:
	adrp	x2, l_.str.5@PAGE
Lloh34:
	add	x2, x2, l_.str.5@PAGEOFF
LBB0_43:
	sshll.2d	v1, v1, #0
	scvtf	d1, d1
	sshll.2d	v0, v0, #0
	scvtf	d0, d0
	mov	x8, #60813
	movk	x8, #41141, lsl #16
	movk	x8, #50935, lsl #32
	movk	x8, #16048, lsl #48
	fmov	d2, x8
	fmadd	d0, d0, d2, d1
	add	x1, sp, #80
	mov	x0, x19
	bl	_tx_output
LBB0_44:
	ldur	x8, [x29, #-144]
Lloh35:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh36:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh37:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_46
; %bb.45:
	add	sp, sp, #416
	ldp	x29, x30, [sp, #128]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #112]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #96]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #80]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #64]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #48]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #32]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #16]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp], #144            ; 16-byte Folded Reload
	ret
LBB0_46:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.cfi_endproc
                                        ; -- End function
	.comm	_targs,8,3                      ; @targs
	.comm	_OPT_PPS_STATS,4,2              ; @OPT_PPS_STATS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.space	1

	.comm	_STATS_WIN,4,2                  ; @STATS_WIN
l_.str.1:                               ; @.str.1
	.asciz	"[avg/std %s/%s pps]"

	.comm	_normalize,4,2                  ; @normalize
l_.str.2:                               ; @.str.2
	.asciz	"%spps %s(%spkts %sbps in %llu usec) %.2f avg_batch %d min_space"

	.comm	_DEV_NETMAP,8,3                 ; @DEV_NETMAP
l_.str.3:                               ; @.str.3
	.asciz	"ouch, thread %d exited with error"

	.comm	_TD_TYPE_SENDER,8,3             ; @TD_TYPE_SENDER
l_.str.4:                               ; @.str.4
	.asciz	"Sent"

	.comm	_TD_TYPE_RECEIVER,8,3           ; @TD_TYPE_RECEIVER
l_.str.5:                               ; @.str.5
	.asciz	"Received"

	.no_dead_strip	_main_thread
.subsections_via_symbols
