	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function train_glove
LCPI0_0:
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	1                               ## 0x1
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
LCPI0_1:
	.quad	2                               ## 0x2
	.quad	2                               ## 0x2
LCPI0_2:
	.quad	4                               ## 0x4
	.quad	4                               ## 0x4
LCPI0_3:
	.quad	6                               ## 0x6
	.quad	6                               ## 0x6
LCPI0_4:
	.quad	8                               ## 0x8
	.quad	8                               ## 0x8
LCPI0_5:
	.quad	10                              ## 0xa
	.quad	10                              ## 0xa
LCPI0_6:
	.quad	12                              ## 0xc
	.quad	12                              ## 0xc
LCPI0_7:
	.quad	14                              ## 0xe
	.quad	14                              ## 0xe
LCPI0_8:
	.quad	16                              ## 0x10
	.quad	16                              ## 0x10
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_train_glove
	.p2align	4, 0x90
_train_glove:                           ## @train_glove
	.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	$120, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_stderr@GOTPCREL(%rip), %r12
	movl	(%r12), %edi
	leaq	L_.str(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	movq	_input_file@GOTPCREL(%rip), %r14
	movq	(%r14), %rdi
	leaq	L_.str.1(%rip), %rsi
	callq	_fopen
	testq	%rax, %rax
	je	LBB0_1
## %bb.4:
	movq	%rax, %rbx
	movq	_SEEK_END@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_fseeko
	movq	%rbx, %rdi
	callq	_ftello
	shrq	$2, %rax
	movq	_num_lines@GOTPCREL(%rip), %r15
	movl	%eax, (%r15)
	movq	%rbx, %rdi
	callq	_fclose
	movl	(%r12), %edi
	movl	(%r15), %edx
	leaq	L_.str.3(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	movq	_verbose@GOTPCREL(%rip), %rbx
	cmpl	$2, (%rbx)
	jl	LBB0_6
## %bb.5:
	movl	(%r12), %edi
	leaq	L_.str.4(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
LBB0_6:
	xorl	%eax, %eax
	callq	_initialize_parameters
	movl	(%rbx), %eax
	cmpl	$2, %eax
	jl	LBB0_8
## %bb.7:
	movl	(%r12), %edi
	leaq	L_.str.5(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	movl	(%rbx), %eax
LBB0_8:
	testl	%eax, %eax
	jle	LBB0_13
## %bb.9:
	movl	(%r12), %edi
	movq	_vector_size@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.6(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	cmpl	$0, (%rbx)
	jle	LBB0_13
## %bb.10:
	movl	(%r12), %edi
	movq	_vocab_size@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	cmpl	$0, (%rbx)
	jle	LBB0_13
## %bb.11:
	movl	(%r12), %edi
	movq	_x_max@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.8(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	cmpl	$0, (%rbx)
	jle	LBB0_13
## %bb.12:
	movl	(%r12), %edi
	movq	_alpha@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.9(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
LBB0_13:
	movq	_num_threads@GOTPCREL(%rip), %r14
	movl	(%r14), %edi
	shll	$3, %edi
	callq	_malloc
	movq	%rax, -144(%rbp)                ## 8-byte Spill
	movl	(%r14), %edi
	shll	$3, %edi
	callq	_malloc
	movq	_lines_per_thread@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movq	_num_iter@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	jle	LBB0_62
## %bb.14:
	xorl	%r13d, %r13d
	jmp	LBB0_15
	.p2align	4, 0x90
LBB0_61:                                ##   in Loop: Header=BB0_15 Depth=1
	movq	_num_iter@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r13d
	jge	LBB0_62
LBB0_15:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_22 Depth 2
                                        ##     Child Loop BB0_25 Depth 2
                                        ##     Child Loop BB0_27 Depth 2
                                        ##     Child Loop BB0_35 Depth 2
                                        ##     Child Loop BB0_38 Depth 2
                                        ##     Child Loop BB0_31 Depth 2
                                        ##     Child Loop BB0_45 Depth 2
                                        ##     Child Loop BB0_64 Depth 2
                                        ##     Child Loop BB0_52 Depth 2
                                        ##     Child Loop BB0_56 Depth 2
	movl	(%r14), %edi
	movl	(%r15), %r9d
	cmpl	$1, %edi
	jle	LBB0_16
## %bb.17:                              ##   in Loop: Header=BB0_15 Depth=1
	movl	%r9d, %eax
	cltd
	idivl	%edi
	movl	%eax, %r8d
	movslq	%eax, %r11
	movq	_lines_per_thread@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	leal	-1(%rdi), %esi
	cmpl	$4, %esi
	jae	LBB0_19
## %bb.18:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%edx, %edx
	jmp	LBB0_27
	.p2align	4, 0x90
LBB0_16:                                ##   in Loop: Header=BB0_15 Depth=1
	movq	_lines_per_thread@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	movl	%r9d, %eax
	cltd
	idivl	%edi
	movl	%eax, %r8d
	xorl	%esi, %esi
	jmp	LBB0_28
	.p2align	4, 0x90
LBB0_19:                                ##   in Loop: Header=BB0_15 Depth=1
	movl	%esi, %edx
	andl	$-4, %edx
	movq	%r11, %xmm0
	pshufd	$68, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,0,1]
	leaq	-4(%rdx), %rax
	movq	%rax, %rcx
	shrq	$2, %rcx
	incq	%rcx
	movl	%ecx, %r10d
	andl	$7, %r10d
	cmpq	$28, %rax
	jae	LBB0_21
## %bb.20:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%eax, %eax
	jmp	LBB0_23
LBB0_21:                                ##   in Loop: Header=BB0_15 Depth=1
	movabsq	$9223372036854775800, %rax      ## imm = 0x7FFFFFFFFFFFFFF8
	andq	%rax, %rcx
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_22:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	%xmm0, (%rbx,%rax,8)
	movdqu	%xmm0, 16(%rbx,%rax,8)
	movdqu	%xmm0, 32(%rbx,%rax,8)
	movdqu	%xmm0, 48(%rbx,%rax,8)
	movdqu	%xmm0, 64(%rbx,%rax,8)
	movdqu	%xmm0, 80(%rbx,%rax,8)
	movdqu	%xmm0, 96(%rbx,%rax,8)
	movdqu	%xmm0, 112(%rbx,%rax,8)
	movdqu	%xmm0, 128(%rbx,%rax,8)
	movdqu	%xmm0, 144(%rbx,%rax,8)
	movdqu	%xmm0, 160(%rbx,%rax,8)
	movdqu	%xmm0, 176(%rbx,%rax,8)
	movdqu	%xmm0, 192(%rbx,%rax,8)
	movdqu	%xmm0, 208(%rbx,%rax,8)
	movdqu	%xmm0, 224(%rbx,%rax,8)
	movdqu	%xmm0, 240(%rbx,%rax,8)
	addq	$32, %rax
	addq	$-8, %rcx
	jne	LBB0_22
LBB0_23:                                ##   in Loop: Header=BB0_15 Depth=1
	testq	%r10, %r10
	je	LBB0_26
## %bb.24:                              ##   in Loop: Header=BB0_15 Depth=1
	leaq	(%rbx,%rax,8), %rax
	addq	$16, %rax
	shlq	$5, %r10
	xorl	%ecx, %ecx
	.p2align	4, 0x90
LBB0_25:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	%xmm0, -16(%rax,%rcx)
	movdqu	%xmm0, (%rax,%rcx)
	addq	$32, %rcx
	cmpq	%rcx, %r10
	jne	LBB0_25
LBB0_26:                                ##   in Loop: Header=BB0_15 Depth=1
	cmpq	%rsi, %rdx
	je	LBB0_28
	.p2align	4, 0x90
LBB0_27:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%r11, (%rbx,%rdx,8)
	incq	%rdx
	cmpq	%rdx, %rsi
	jne	LBB0_27
LBB0_28:                                ##   in Loop: Header=BB0_15 Depth=1
	movl	%r9d, %eax
	cltd
	idivl	%edi
	addl	%r8d, %edx
	movslq	%edx, %rax
	movq	%rax, (%rbx,%rsi,8)
	shll	$3, %edi
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_malloc
	movslq	(%r14), %rbx
	xorl	%r14d, %r14d
	testq	%rbx, %rbx
	jle	LBB0_57
## %bb.29:                              ##   in Loop: Header=BB0_15 Depth=1
	cmpl	$4, %ebx
	movdqa	LCPI0_1(%rip), %xmm3            ## xmm3 = [2,2]
	movdqa	LCPI0_2(%rip), %xmm4            ## xmm4 = [4,4]
	movdqa	LCPI0_3(%rip), %xmm8            ## xmm8 = [6,6]
	movdqa	LCPI0_4(%rip), %xmm9            ## xmm9 = [8,8]
	movdqa	LCPI0_5(%rip), %xmm10           ## xmm10 = [10,10]
	movdqa	LCPI0_6(%rip), %xmm5            ## xmm5 = [12,12]
	movdqa	LCPI0_7(%rip), %xmm6            ## xmm6 = [14,14]
	movdqa	LCPI0_8(%rip), %xmm7            ## xmm7 = [16,16]
	jae	LBB0_32
## %bb.30:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%ecx, %ecx
	jmp	LBB0_31
	.p2align	4, 0x90
LBB0_32:                                ##   in Loop: Header=BB0_15 Depth=1
	movq	%rbx, %rcx
	andq	$-4, %rcx
	leaq	-4(%rcx), %rdi
	movq	%rdi, %rsi
	shrq	$2, %rsi
	incq	%rsi
	movl	%esi, %edx
	andl	$3, %edx
	cmpq	$12, %rdi
	jae	LBB0_34
## %bb.33:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%edi, %edi
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
	jmp	LBB0_36
LBB0_34:                                ##   in Loop: Header=BB0_15 Depth=1
	movabsq	$9223372036854775800, %rdi      ## imm = 0x7FFFFFFFFFFFFFF8
	addq	$4, %rdi
	andq	%rdi, %rsi
	xorl	%edi, %edi
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
	.p2align	4, 0x90
LBB0_35:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqa	%xmm0, %xmm1
	paddq	%xmm3, %xmm1
	movdqu	%xmm0, (%rax,%rdi,8)
	movdqu	%xmm1, 16(%rax,%rdi,8)
	movdqa	%xmm0, %xmm1
	paddq	%xmm4, %xmm1
	movdqa	%xmm0, %xmm2
	paddq	%xmm8, %xmm2
	movdqu	%xmm1, 32(%rax,%rdi,8)
	movdqu	%xmm2, 48(%rax,%rdi,8)
	movdqa	%xmm0, %xmm1
	paddq	%xmm9, %xmm1
	movdqa	%xmm0, %xmm2
	paddq	%xmm10, %xmm2
	movdqu	%xmm1, 64(%rax,%rdi,8)
	movdqu	%xmm2, 80(%rax,%rdi,8)
	movdqa	%xmm0, %xmm1
	paddq	%xmm5, %xmm1
	movdqa	%xmm0, %xmm2
	paddq	%xmm6, %xmm2
	movdqu	%xmm1, 96(%rax,%rdi,8)
	movdqu	%xmm2, 112(%rax,%rdi,8)
	addq	$16, %rdi
	paddq	%xmm7, %xmm0
	addq	$-4, %rsi
	jne	LBB0_35
LBB0_36:                                ##   in Loop: Header=BB0_15 Depth=1
	testq	%rdx, %rdx
	je	LBB0_39
## %bb.37:                              ##   in Loop: Header=BB0_15 Depth=1
	leaq	(%rax,%rdi,8), %rsi
	addq	$16, %rsi
	shlq	$5, %rdx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_38:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqa	%xmm0, %xmm1
	paddq	%xmm3, %xmm1
	movdqu	%xmm0, -16(%rsi,%rdi)
	movdqu	%xmm1, (%rsi,%rdi)
	paddq	%xmm4, %xmm0
	addq	$32, %rdi
	cmpq	%rdi, %rdx
	jne	LBB0_38
LBB0_39:                                ##   in Loop: Header=BB0_15 Depth=1
	cmpq	%rbx, %rcx
	je	LBB0_40
	.p2align	4, 0x90
LBB0_31:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%rcx, (%rax,%rcx,8)
	incq	%rcx
	cmpq	%rcx, %rbx
	jne	LBB0_31
LBB0_40:                                ##   in Loop: Header=BB0_15 Depth=1
	movl	%r13d, -132(%rbp)               ## 4-byte Spill
	testl	%ebx, %ebx
	movq	-144(%rbp), %rbx                ## 8-byte Reload
	jle	LBB0_41
## %bb.44:                              ##   in Loop: Header=BB0_15 Depth=1
	movq	%rax, -152(%rbp)                ## 8-byte Spill
	movq	%rax, %r13
	xorl	%r12d, %r12d
	movq	_num_threads@GOTPCREL(%rip), %r14
	movq	_glove_thread@GOTPCREL(%rip), %r15
	.p2align	4, 0x90
LBB0_45:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%r15), %edx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movq	%r13, %rcx
	callq	_pthread_create
	incq	%r12
	movslq	(%r14), %rax
	addq	$8, %r13
	addq	$8, %rbx
	cmpq	%rax, %r12
	jl	LBB0_45
## %bb.42:                              ##   in Loop: Header=BB0_15 Depth=1
	testl	%eax, %eax
	movq	_stderr@GOTPCREL(%rip), %r12
	movq	_num_lines@GOTPCREL(%rip), %r15
	jle	LBB0_43
## %bb.63:                              ##   in Loop: Header=BB0_15 Depth=1
	movq	%r12, %r13
	xorl	%ebx, %ebx
	movq	_num_threads@GOTPCREL(%rip), %r14
	movq	-144(%rbp), %r12                ## 8-byte Reload
	.p2align	4, 0x90
LBB0_64:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	(%r12,%rbx,8), %rdi
	xorl	%esi, %esi
	callq	_pthread_join
	incq	%rbx
	movslq	(%r14), %rdx
	cmpq	%rdx, %rbx
	jl	LBB0_64
## %bb.46:                              ##   in Loop: Header=BB0_15 Depth=1
	testl	%edx, %edx
	movq	%r13, %r12
	movl	-132(%rbp), %r13d               ## 4-byte Reload
	movq	-152(%rbp), %rax                ## 8-byte Reload
	movl	$0, %r14d
	jle	LBB0_57
## %bb.47:                              ##   in Loop: Header=BB0_15 Depth=1
	movq	_cost@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$4, %edx
	jae	LBB0_49
## %bb.48:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%esi, %esi
	xorl	%r14d, %r14d
	jmp	LBB0_56
	.p2align	4, 0x90
LBB0_41:                                ##   in Loop: Header=BB0_15 Depth=1
	movq	_stderr@GOTPCREL(%rip), %r12
	movq	_num_lines@GOTPCREL(%rip), %r15
	movl	-132(%rbp), %r13d               ## 4-byte Reload
	jmp	LBB0_57
LBB0_43:                                ##   in Loop: Header=BB0_15 Depth=1
	movl	-132(%rbp), %r13d               ## 4-byte Reload
	movq	-152(%rbp), %rax                ## 8-byte Reload
	xorl	%r14d, %r14d
	jmp	LBB0_57
LBB0_49:                                ##   in Loop: Header=BB0_15 Depth=1
	movq	%rdx, %rsi
	andq	$-4, %rsi
	leaq	-4(%rsi), %rdi
	movq	%rdi, %r8
	shrq	$2, %r8
	incq	%r8
	testq	%rdi, %rdi
	je	LBB0_50
## %bb.51:                              ##   in Loop: Header=BB0_15 Depth=1
	movabsq	$9223372036854775800, %rdi      ## imm = 0x7FFFFFFFFFFFFFF8
	leaq	6(%rdi), %rbx
	andq	%r8, %rbx
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	.p2align	4, 0x90
LBB0_52:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	(%rcx,%rdi,8), %xmm2
	movdqu	16(%rcx,%rdi,8), %xmm3
	movdqu	32(%rcx,%rdi,8), %xmm4
	movdqu	48(%rcx,%rdi,8), %xmm5
	pshufd	$232, %xmm2, %xmm2              ## xmm2 = xmm2[0,2,2,3]
	paddd	%xmm0, %xmm2
	pshufd	$232, %xmm3, %xmm3              ## xmm3 = xmm3[0,2,2,3]
	paddd	%xmm1, %xmm3
	pshufd	$232, %xmm4, %xmm0              ## xmm0 = xmm4[0,2,2,3]
	paddd	%xmm2, %xmm0
	pshufd	$232, %xmm5, %xmm1              ## xmm1 = xmm5[0,2,2,3]
	paddd	%xmm3, %xmm1
	addq	$8, %rdi
	addq	$-2, %rbx
	jne	LBB0_52
## %bb.53:                              ##   in Loop: Header=BB0_15 Depth=1
	testb	$1, %r8b
	je	LBB0_55
LBB0_54:                                ##   in Loop: Header=BB0_15 Depth=1
	movdqu	(%rcx,%rdi,8), %xmm2
	movdqu	16(%rcx,%rdi,8), %xmm3
	pshufd	$232, %xmm2, %xmm2              ## xmm2 = xmm2[0,2,2,3]
	paddd	%xmm2, %xmm0
	pshufd	$232, %xmm3, %xmm2              ## xmm2 = xmm3[0,2,2,3]
	paddd	%xmm2, %xmm1
LBB0_55:                                ##   in Loop: Header=BB0_15 Depth=1
	paddd	%xmm1, %xmm0
	pshufd	$85, %xmm0, %xmm1               ## xmm1 = xmm0[1,1,1,1]
	paddd	%xmm0, %xmm1
	movd	%xmm1, %r14d
	cmpq	%rdx, %rsi
	je	LBB0_57
	.p2align	4, 0x90
LBB0_56:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	addl	(%rcx,%rsi,8), %r14d
	incq	%rsi
	cmpq	%rsi, %rdx
	jne	LBB0_56
	.p2align	4, 0x90
LBB0_57:                                ##   in Loop: Header=BB0_15 Depth=1
	movq	%rax, %rdi
	callq	_free
	leaq	-156(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_time
	movq	%rbx, %rdi
	callq	_localtime
	leaq	-128(%rbp), %rbx
	movq	%rbx, %rdi
	movl	$80, %esi
	leaq	L_.str.10(%rip), %rdx
	movq	%rax, %rcx
	callq	_strftime
	movl	(%r12), %edi
	incl	%r13d
	movl	%r14d, %eax
	cltd
	idivl	(%r15)
	leaq	L_.str.11(%rip), %rsi
	movq	%rbx, %rdx
	movl	%r13d, %ecx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_fprintf
	movq	_checkpoint_every@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	testl	%ecx, %ecx
	movq	_num_threads@GOTPCREL(%rip), %r14
	jle	LBB0_61
## %bb.58:                              ##   in Loop: Header=BB0_15 Depth=1
	movl	%r13d, %eax
	cltd
	idivl	%ecx
	testl	%edx, %edx
	jne	LBB0_61
## %bb.59:                              ##   in Loop: Header=BB0_15 Depth=1
	movl	(%r12), %edi
	leaq	L_.str.12(%rip), %rsi
	movl	%r13d, %edx
	xorl	%eax, %eax
	callq	_fprintf
	movl	%r13d, %edi
	callq	_save_params
	testl	%eax, %eax
	jne	LBB0_2
## %bb.60:                              ##   in Loop: Header=BB0_15 Depth=1
	movl	(%r12), %edi
	leaq	L_.str.5(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_61
LBB0_50:                                ##   in Loop: Header=BB0_15 Depth=1
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	pxor	%xmm1, %xmm1
	testb	$1, %r8b
	jne	LBB0_54
	jmp	LBB0_55
LBB0_62:
	movq	-144(%rbp), %rdi                ## 8-byte Reload
	callq	_free
	movq	_lines_per_thread@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	callq	_free
	xorl	%edi, %edi
	callq	_save_params
	jmp	LBB0_2
LBB0_1:
	movl	(%r12), %edi
	movq	(%r14), %rdx
	leaq	L_.str.2(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	movl	$1, %eax
LBB0_2:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-48(%rbp), %rcx
	jne	LBB0_3
## %bb.65:
	addq	$120, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_3:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_stderr,4,2                     ## @stderr
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"TRAINING MODEL\n"

	.comm	_input_file,8,3                 ## @input_file
L_.str.1:                               ## @.str.1
	.asciz	"rb"

L_.str.2:                               ## @.str.2
	.asciz	"Unable to open cooccurrence file %s.\n"

	.comm	_SEEK_END,4,2                   ## @SEEK_END
	.comm	_num_lines,4,2                  ## @num_lines
L_.str.3:                               ## @.str.3
	.asciz	"Read %lld lines.\n"

	.comm	_verbose,4,2                    ## @verbose
L_.str.4:                               ## @.str.4
	.asciz	"Initializing parameters..."

L_.str.5:                               ## @.str.5
	.asciz	"done.\n"

L_.str.6:                               ## @.str.6
	.asciz	"vector size: %d\n"

	.comm	_vector_size,4,2                ## @vector_size
L_.str.7:                               ## @.str.7
	.asciz	"vocab size: %lld\n"

	.comm	_vocab_size,4,2                 ## @vocab_size
L_.str.8:                               ## @.str.8
	.asciz	"x_max: %lf\n"

	.comm	_x_max,4,2                      ## @x_max
L_.str.9:                               ## @.str.9
	.asciz	"alpha: %lf\n"

	.comm	_alpha,4,2                      ## @alpha
	.comm	_num_threads,4,2                ## @num_threads
	.comm	_lines_per_thread,8,3           ## @lines_per_thread
	.comm	_num_iter,4,2                   ## @num_iter
	.comm	_glove_thread,4,2               ## @glove_thread
	.comm	_cost,8,3                       ## @cost
L_.str.10:                              ## @.str.10
	.asciz	"%x - %I:%M.%S%p"

L_.str.11:                              ## @.str.11
	.asciz	"%s, iter: %03d, cost: %lf\n"

	.comm	_checkpoint_every,4,2           ## @checkpoint_every
L_.str.12:                              ## @.str.12
	.asciz	"    saving itermediate parameters for iter %03d..."

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function train_glove
lCPI0_0:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_train_glove
	.p2align	2
_train_glove:                           ; @train_glove
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #320
	.cfi_def_cfa_offset 320
	stp	x28, x27, [sp, #224]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #240]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #256]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #272]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #288]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #304]            ; 16-byte Folded Spill
	add	x29, sp, #304
	.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
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-96]
Lloh3:
	adrp	x27, _stderr@GOTPAGE
Lloh4:
	ldr	x27, [x27, _stderr@GOTPAGEOFF]
	ldr	w0, [x27]
Lloh5:
	adrp	x1, l_.str@PAGE
Lloh6:
	add	x1, x1, l_.str@PAGEOFF
	bl	_fprintf
Lloh7:
	adrp	x20, _input_file@GOTPAGE
Lloh8:
	ldr	x20, [x20, _input_file@GOTPAGEOFF]
	ldr	x0, [x20]
Lloh9:
	adrp	x1, l_.str.1@PAGE
Lloh10:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_fopen
	cbz	x0, LBB0_50
; %bb.1:
	mov	x19, x0
Lloh11:
	adrp	x8, _SEEK_END@GOTPAGE
Lloh12:
	ldr	x8, [x8, _SEEK_END@GOTPAGEOFF]
Lloh13:
	ldr	w2, [x8]
	mov	w1, #0
	bl	_fseeko
	mov	x0, x19
	bl	_ftello
	lsr	x8, x0, #2
Lloh14:
	adrp	x24, _num_lines@GOTPAGE
Lloh15:
	ldr	x24, [x24, _num_lines@GOTPAGEOFF]
	str	w8, [x24]
	mov	x0, x19
	bl	_fclose
	ldr	w0, [x27]
	ldr	w8, [x24]
	str	x8, [sp]
Lloh16:
	adrp	x1, l_.str.3@PAGE
Lloh17:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_fprintf
Lloh18:
	adrp	x19, _verbose@GOTPAGE
Lloh19:
	ldr	x19, [x19, _verbose@GOTPAGEOFF]
	ldr	w8, [x19]
	cmp	w8, #2
	b.lt	LBB0_3
; %bb.2:
	ldr	w0, [x27]
Lloh20:
	adrp	x1, l_.str.4@PAGE
Lloh21:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_fprintf
LBB0_3:
	bl	_initialize_parameters
	ldr	w8, [x19]
	cmp	w8, #1
	b.le	LBB0_5
; %bb.4:
	ldr	w0, [x27]
Lloh22:
	adrp	x1, l_.str.5@PAGE
Lloh23:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_fprintf
	ldr	w8, [x19]
LBB0_5:
	cmp	w8, #1
	b.lt	LBB0_10
; %bb.6:
	ldr	w0, [x27]
Lloh24:
	adrp	x8, _vector_size@GOTPAGE
Lloh25:
	ldr	x8, [x8, _vector_size@GOTPAGEOFF]
Lloh26:
	ldr	w8, [x8]
	str	x8, [sp]
Lloh27:
	adrp	x1, l_.str.6@PAGE
Lloh28:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_fprintf
	ldr	w8, [x19]
	cmp	w8, #1
	b.lt	LBB0_10
; %bb.7:
	ldr	w0, [x27]
Lloh29:
	adrp	x8, _vocab_size@GOTPAGE
Lloh30:
	ldr	x8, [x8, _vocab_size@GOTPAGEOFF]
Lloh31:
	ldr	w8, [x8]
	str	x8, [sp]
Lloh32:
	adrp	x1, l_.str.7@PAGE
Lloh33:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	_fprintf
	ldr	w8, [x19]
	cmp	w8, #1
	b.lt	LBB0_10
; %bb.8:
	ldr	w0, [x27]
Lloh34:
	adrp	x8, _x_max@GOTPAGE
Lloh35:
	ldr	x8, [x8, _x_max@GOTPAGEOFF]
Lloh36:
	ldr	w8, [x8]
	str	x8, [sp]
Lloh37:
	adrp	x1, l_.str.8@PAGE
Lloh38:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_fprintf
	ldr	w8, [x19]
	cmp	w8, #1
	b.lt	LBB0_10
; %bb.9:
	ldr	w0, [x27]
Lloh39:
	adrp	x8, _alpha@GOTPAGE
Lloh40:
	ldr	x8, [x8, _alpha@GOTPAGEOFF]
Lloh41:
	ldr	w8, [x8]
	str	x8, [sp]
Lloh42:
	adrp	x1, l_.str.9@PAGE
Lloh43:
	add	x1, x1, l_.str.9@PAGEOFF
	bl	_fprintf
LBB0_10:
Lloh44:
	adrp	x23, _num_threads@GOTPAGE
Lloh45:
	ldr	x23, [x23, _num_threads@GOTPAGEOFF]
	ldr	w8, [x23]
	lsl	w0, w8, #3
	bl	_malloc
	mov	x19, x0
	ldr	w8, [x23]
	lsl	w0, w8, #3
	bl	_malloc
Lloh46:
	adrp	x21, _lines_per_thread@GOTPAGE
Lloh47:
	ldr	x21, [x21, _lines_per_thread@GOTPAGEOFF]
	str	x0, [x21]
Lloh48:
	adrp	x8, _num_iter@GOTPAGE
Lloh49:
	ldr	x8, [x8, _num_iter@GOTPAGEOFF]
Lloh50:
	ldr	w8, [x8]
	cmp	w8, #1
	b.lt	LBB0_49
; %bb.11:
	mov	w20, #0
Lloh51:
	adrp	x22, _glove_thread@GOTPAGE
Lloh52:
	ldr	x22, [x22, _glove_thread@GOTPAGEOFF]
	mov	w8, #2
	dup.2d	v1, x8
	mov	w8, #4
	dup.2d	v0, x8
	stp	q0, q1, [sp, #80]               ; 32-byte Folded Spill
	mov	w8, #6
	dup.2d	v1, x8
	mov	w8, #8
	dup.2d	v0, x8
	stp	q0, q1, [sp, #48]               ; 32-byte Folded Spill
Lloh53:
	adrp	x8, lCPI0_0@PAGE
Lloh54:
	ldr	q0, [x8, lCPI0_0@PAGEOFF]
	str	q0, [sp, #32]                   ; 16-byte Folded Spill
Lloh55:
	adrp	x28, l_.str.10@PAGE
Lloh56:
	add	x28, x28, l_.str.10@PAGEOFF
	b	LBB0_13
LBB0_12:                                ;   in Loop: Header=BB0_13 Depth=1
Lloh57:
	adrp	x8, _num_iter@GOTPAGE
Lloh58:
	ldr	x8, [x8, _num_iter@GOTPAGEOFF]
Lloh59:
	ldr	w8, [x8]
	cmp	w20, w8
	b.ge	LBB0_49
LBB0_13:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_18 Depth 2
                                        ;     Child Loop BB0_20 Depth 2
                                        ;     Child Loop BB0_26 Depth 2
                                        ;     Child Loop BB0_28 Depth 2
                                        ;     Child Loop BB0_31 Depth 2
                                        ;     Child Loop BB0_34 Depth 2
                                        ;     Child Loop BB0_41 Depth 2
                                        ;     Child Loop BB0_44 Depth 2
	ldr	w8, [x23]
	ldr	w10, [x24]
	sdiv	w11, w10, w8
	subs	w9, w8, #1
	b.le	LBB0_16
; %bb.14:                               ;   in Loop: Header=BB0_13 Depth=1
	sxtw	x13, w11
	ldr	x12, [x21]
	cmp	w9, #8
	b.hs	LBB0_17
; %bb.15:                               ;   in Loop: Header=BB0_13 Depth=1
	mov	x14, #0
	b	LBB0_20
LBB0_16:                                ;   in Loop: Header=BB0_13 Depth=1
	mov	x9, #0
	ldr	x12, [x21]
	b	LBB0_21
LBB0_17:                                ;   in Loop: Header=BB0_13 Depth=1
	and	x14, x9, #0xfffffff8
	dup.2d	v0, x13
	add	x15, x12, #32
	mov	x16, x14
LBB0_18:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	stp	q0, q0, [x15, #-32]
	stp	q0, q0, [x15], #64
	subs	x16, x16, #8
	b.ne	LBB0_18
; %bb.19:                               ;   in Loop: Header=BB0_13 Depth=1
	cmp	x14, x9
	b.eq	LBB0_21
LBB0_20:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	str	x13, [x12, x14, lsl #3]
	add	x14, x14, #1
	cmp	x9, x14
	b.ne	LBB0_20
LBB0_21:                                ;   in Loop: Header=BB0_13 Depth=1
	msub	w10, w11, w8, w10
	add	w10, w10, w11
	sxtw	x10, w10
	str	x10, [x12, x9, lsl #3]
	lsl	w0, w8, #3
	bl	_malloc
	mov	x25, x0
	ldrsw	x8, [x23]
	cmp	w8, #1
	b.lt	LBB0_24
; %bb.22:                               ;   in Loop: Header=BB0_13 Depth=1
	cmp	w8, #8
	b.hs	LBB0_25
; %bb.23:                               ;   in Loop: Header=BB0_13 Depth=1
	mov	x9, #0
	b	LBB0_28
LBB0_24:                                ;   in Loop: Header=BB0_13 Depth=1
	mov	w26, #0
	b	LBB0_45
LBB0_25:                                ;   in Loop: Header=BB0_13 Depth=1
	and	x9, x8, #0xfffffffffffffff8
	add	x10, x25, #32
	mov	x11, x9
	ldp	q0, q7, [sp, #32]               ; 32-byte Folded Reload
	ldp	q5, q4, [sp, #80]               ; 32-byte Folded Reload
	ldr	q6, [sp, #64]                   ; 16-byte Folded Reload
LBB0_26:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add.2d	v1, v0, v4
	add.2d	v2, v0, v5
	add.2d	v3, v0, v6
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	add.2d	v0, v0, v7
	subs	x11, x11, #8
	b.ne	LBB0_26
; %bb.27:                               ;   in Loop: Header=BB0_13 Depth=1
	cmp	x9, x8
	b.eq	LBB0_29
LBB0_28:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	str	x9, [x25, x9, lsl #3]
	add	x9, x9, #1
	cmp	x8, x9
	b.ne	LBB0_28
LBB0_29:                                ;   in Loop: Header=BB0_13 Depth=1
	cmp	w8, #1
	b.lt	LBB0_39
; %bb.30:                               ;   in Loop: Header=BB0_13 Depth=1
	mov	x24, x27
	mov	x28, x21
	mov	x21, #0
	mov	x26, x19
	mov	x27, x25
LBB0_31:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w2, [x22]
	mov	x0, x26
	mov	x1, #0
	mov	x3, x27
	bl	_pthread_create
	add	x21, x21, #1
	ldrsw	x8, [x23]
	add	x27, x27, #8
	add	x26, x26, #8
	cmp	x21, x8
	b.lt	LBB0_31
; %bb.32:                               ;   in Loop: Header=BB0_13 Depth=1
	cmp	w8, #1
	b.lt	LBB0_38
; %bb.33:                               ;   in Loop: Header=BB0_13 Depth=1
	mov	x21, #0
LBB0_34:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x0, [x19, x21, lsl #3]
	mov	x1, #0
	bl	_pthread_join
	add	x21, x21, #1
	ldrsw	x8, [x23]
	cmp	x21, x8
	b.lt	LBB0_34
; %bb.35:                               ;   in Loop: Header=BB0_13 Depth=1
	cmp	w8, #1
	b.lt	LBB0_38
; %bb.36:                               ;   in Loop: Header=BB0_13 Depth=1
Lloh60:
	adrp	x9, _cost@GOTPAGE
Lloh61:
	ldr	x9, [x9, _cost@GOTPAGEOFF]
Lloh62:
	ldr	x9, [x9]
	cmp	w8, #8
	mov	x21, x28
	b.hs	LBB0_40
; %bb.37:                               ;   in Loop: Header=BB0_13 Depth=1
	mov	x10, #0
	mov	w26, #0
	mov	x27, x24
Lloh63:
	adrp	x24, _num_lines@GOTPAGE
Lloh64:
	ldr	x24, [x24, _num_lines@GOTPAGEOFF]
Lloh65:
	adrp	x28, l_.str.10@PAGE
Lloh66:
	add	x28, x28, l_.str.10@PAGEOFF
	b	LBB0_43
LBB0_38:                                ;   in Loop: Header=BB0_13 Depth=1
	mov	w26, #0
	mov	x21, x28
	mov	x27, x24
Lloh67:
	adrp	x24, _num_lines@GOTPAGE
Lloh68:
	ldr	x24, [x24, _num_lines@GOTPAGEOFF]
Lloh69:
	adrp	x28, l_.str.10@PAGE
Lloh70:
	add	x28, x28, l_.str.10@PAGEOFF
	b	LBB0_45
LBB0_39:                                ;   in Loop: Header=BB0_13 Depth=1
	mov	w26, #0
Lloh71:
	adrp	x24, _num_lines@GOTPAGE
Lloh72:
	ldr	x24, [x24, _num_lines@GOTPAGEOFF]
	b	LBB0_45
LBB0_40:                                ;   in Loop: Header=BB0_13 Depth=1
	and	x10, x8, #0xfffffffffffffff8
	movi.2d	v0, #0000000000000000
	add	x11, x9, #32
	mov	x12, x10
	movi.2d	v1, #0000000000000000
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
	mov	x27, x24
Lloh73:
	adrp	x28, l_.str.10@PAGE
Lloh74:
	add	x28, x28, l_.str.10@PAGEOFF
LBB0_41:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	xtn.2s	v4, v4
	xtn.2s	v5, v5
	xtn.2s	v6, v6
	xtn.2s	v7, v7
	add.2s	v0, v0, v4
	add.2s	v1, v1, v5
	add.2s	v2, v2, v6
	add.2s	v3, v3, v7
	subs	x12, x12, #8
	b.ne	LBB0_41
; %bb.42:                               ;   in Loop: Header=BB0_13 Depth=1
	add.2s	v0, v1, v0
	add.2s	v0, v2, v0
	add.2s	v0, v3, v0
	addp.2s	v0, v0, v0
	fmov	w26, s0
	cmp	x10, x8
Lloh75:
	adrp	x24, _num_lines@GOTPAGE
Lloh76:
	ldr	x24, [x24, _num_lines@GOTPAGEOFF]
	b.eq	LBB0_45
LBB0_43:                                ;   in Loop: Header=BB0_13 Depth=1
	sub	x8, x8, x10
	add	x9, x9, x10, lsl #3
LBB0_44:                                ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w10, [x9], #8
	add	w26, w26, w10
	subs	x8, x8, #1
	b.ne	LBB0_44
LBB0_45:                                ;   in Loop: Header=BB0_13 Depth=1
	mov	x0, x25
	bl	_free
	add	x0, sp, #124
	bl	_time
	add	x0, sp, #124
	bl	_localtime
	mov	x3, x0
	add	x0, sp, #128
	mov	w1, #80
	mov	x2, x28
	bl	_strftime
	ldr	w0, [x27]
	add	w20, w20, #1
	ldr	w8, [x24]
	sdiv	w8, w26, w8
	stp	x20, x8, [sp, #8]
	add	x8, sp, #128
	str	x8, [sp]
Lloh77:
	adrp	x1, l_.str.11@PAGE
Lloh78:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_fprintf
Lloh79:
	adrp	x8, _checkpoint_every@GOTPAGE
Lloh80:
	ldr	x8, [x8, _checkpoint_every@GOTPAGEOFF]
Lloh81:
	ldr	w8, [x8]
	cmp	w8, #1
	b.lt	LBB0_12
; %bb.46:                               ;   in Loop: Header=BB0_13 Depth=1
	sdiv	w9, w20, w8
	msub	w8, w9, w8, w20
	cbnz	w8, LBB0_12
; %bb.47:                               ;   in Loop: Header=BB0_13 Depth=1
	ldr	w0, [x27]
	mov	x8, x20
	str	x8, [sp]
Lloh82:
	adrp	x1, l_.str.12@PAGE
Lloh83:
	add	x1, x1, l_.str.12@PAGEOFF
	bl	_fprintf
	mov	x0, x20
	bl	_save_params
	cbnz	w0, LBB0_51
; %bb.48:                               ;   in Loop: Header=BB0_13 Depth=1
	ldr	w0, [x27]
Lloh84:
	adrp	x1, l_.str.5@PAGE
Lloh85:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_fprintf
	b	LBB0_12
LBB0_49:
	mov	x0, x19
	bl	_free
	ldr	x0, [x21]
	bl	_free
	mov	w0, #0
	bl	_save_params
	b	LBB0_51
LBB0_50:
	ldr	w0, [x27]
	ldr	x8, [x20]
	str	x8, [sp]
Lloh86:
	adrp	x1, l_.str.2@PAGE
Lloh87:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_fprintf
	mov	w0, #1
LBB0_51:
	ldur	x8, [x29, #-96]
Lloh88:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh89:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh90:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_53
; %bb.52:
	ldp	x29, x30, [sp, #304]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #288]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #272]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #256]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #240]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #224]            ; 16-byte Folded Reload
	add	sp, sp, #320
	ret
LBB0_53:
	bl	___stack_chk_fail
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpAdd	Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpAdd	Lloh55, Lloh56
	.loh AdrpLdr	Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpAdd	Lloh65, Lloh66
	.loh AdrpLdrGot	Lloh63, Lloh64
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh71, Lloh72
	.loh AdrpAdd	Lloh73, Lloh74
	.loh AdrpLdrGot	Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpAdd	Lloh77, Lloh78
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpAdd	Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh90
	.cfi_endproc
                                        ; -- End function
	.comm	_stderr,4,2                     ; @stderr
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"TRAINING MODEL\n"

	.comm	_input_file,8,3                 ; @input_file
l_.str.1:                               ; @.str.1
	.asciz	"rb"

l_.str.2:                               ; @.str.2
	.asciz	"Unable to open cooccurrence file %s.\n"

	.comm	_SEEK_END,4,2                   ; @SEEK_END
	.comm	_num_lines,4,2                  ; @num_lines
l_.str.3:                               ; @.str.3
	.asciz	"Read %lld lines.\n"

	.comm	_verbose,4,2                    ; @verbose
l_.str.4:                               ; @.str.4
	.asciz	"Initializing parameters..."

l_.str.5:                               ; @.str.5
	.asciz	"done.\n"

l_.str.6:                               ; @.str.6
	.asciz	"vector size: %d\n"

	.comm	_vector_size,4,2                ; @vector_size
l_.str.7:                               ; @.str.7
	.asciz	"vocab size: %lld\n"

	.comm	_vocab_size,4,2                 ; @vocab_size
l_.str.8:                               ; @.str.8
	.asciz	"x_max: %lf\n"

	.comm	_x_max,4,2                      ; @x_max
l_.str.9:                               ; @.str.9
	.asciz	"alpha: %lf\n"

	.comm	_alpha,4,2                      ; @alpha
	.comm	_num_threads,4,2                ; @num_threads
	.comm	_lines_per_thread,8,3           ; @lines_per_thread
	.comm	_num_iter,4,2                   ; @num_iter
	.comm	_glove_thread,4,2               ; @glove_thread
	.comm	_cost,8,3                       ; @cost
l_.str.10:                              ; @.str.10
	.asciz	"%x - %I:%M.%S%p"

l_.str.11:                              ; @.str.11
	.asciz	"%s, iter: %03d, cost: %lf\n"

	.comm	_checkpoint_every,4,2           ; @checkpoint_every
l_.str.12:                              ; @.str.12
	.asciz	"    saving itermediate parameters for iter %03d..."

.subsections_via_symbols
