	.file	"464432.c"
	.intel_syntax noprefix
	.text
	.type	__get_cpuid_max, @function
__get_cpuid_max:
.LFB4096:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	.cfi_offset 3, -24
	mov	DWORD PTR -28[rbp], edi
	mov	QWORD PTR -40[rbp], rsi
	mov	eax, DWORD PTR -28[rbp]
#APP
# 269 "/usr/lib/gcc/x86_64-linux-gnu/10/include/cpuid.h" 1
	cpuid
	
# 0 "" 2
#NO_APP
	mov	esi, ebx
	mov	DWORD PTR -24[rbp], eax
	mov	DWORD PTR -20[rbp], esi
	mov	DWORD PTR -16[rbp], ecx
	mov	DWORD PTR -12[rbp], edx
	cmp	QWORD PTR -40[rbp], 0
	je	.L2
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
.L2:
	mov	eax, DWORD PTR -24[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4096:
	.size	__get_cpuid_max, .-__get_cpuid_max
	.type	__get_cpuid_count, @function
__get_cpuid_count:
.LFB4098:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -28[rbp], edi
	mov	DWORD PTR -32[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	eax, DWORD PTR -28[rbp]
	and	eax, -2147483648
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, 0
	mov	edi, eax
	call	__get_cpuid_max
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L5
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jnb	.L6
.L5:
	mov	eax, 0
	jmp	.L7
.L6:
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, edx
#APP
# 310 "/usr/lib/gcc/x86_64-linux-gnu/10/include/cpuid.h" 1
	cpuid
	
# 0 "" 2
#NO_APP
	mov	esi, ebx
	mov	rdi, QWORD PTR -40[rbp]
	mov	DWORD PTR [rdi], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], esi
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], ecx
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
.L7:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4098:
	.size	__get_cpuid_count, .-__get_cpuid_count
	.globl	has_avx512_vl_bw
	.type	has_avx512_vl_bw, @function
has_avx512_vl_bw:
.LFB4099:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	lea	rsi, -12[rbp]
	lea	rcx, -16[rbp]
	lea	rdx, -20[rbp]
	lea	rax, -24[rbp]
	mov	r9, rsi
	mov	r8, rcx
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 0
	mov	edi, 7
	call	__get_cpuid_count
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 1073741824
	test	eax, eax
	setne	al
	mov	BYTE PTR -26[rbp], al
	mov	eax, DWORD PTR -20[rbp]
	and	eax, -2147483648
	test	eax, eax
	setne	al
	mov	BYTE PTR -25[rbp], al
	cmp	BYTE PTR -26[rbp], 0
	je	.L9
	cmp	BYTE PTR -25[rbp], 0
	je	.L9
	mov	eax, 1
	jmp	.L10
.L9:
	mov	eax, 0
.L10:
	and	eax, 1
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4099:
	.size	has_avx512_vl_bw, .-has_avx512_vl_bw
	.globl	__popcountdi2
	.type	measure_off_naive, @function
measure_off_naive:
.LFB4100:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L14
.L17:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	or	rdx, rax
	movabs	rax, -9187201950435737472
	and	rax, rdx
	mov	rdi, rax
	call	__popcountdi2@PLT
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L29
	mov	rax, QWORD PTR -16[rbp]
	sub	QWORD PTR -56[rbp], rax
	add	QWORD PTR -40[rbp], 8
.L14:
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, 7
	cmp	QWORD PTR -40[rbp], rax
	jb	.L17
	jmp	.L18
.L29:
	nop
	jmp	.L18
.L21:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -26[rbp], al
	movzx	eax, BYTE PTR -26[rbp]
	cmp	al, -64
	jge	.L30
	add	QWORD PTR -40[rbp], 1
.L18:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jb	.L21
	jmp	.L22
.L30:
	nop
	jmp	.L22
.L24:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -25[rbp], al
	sub	QWORD PTR -56[rbp], 1
	cmp	BYTE PTR -25[rbp], -65
	seta	al
	movzx	edx, al
	cmp	BYTE PTR -25[rbp], -33
	seta	al
	movzx	eax, al
	add	edx, eax
	cmp	BYTE PTR -25[rbp], -17
	seta	al
	movzx	eax, al
	add	eax, edx
	cdqe
	add	QWORD PTR -40[rbp], rax
.L22:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jnb	.L23
	cmp	QWORD PTR -56[rbp], 0
	jne	.L24
.L23:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L25
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -40[rbp]
	jmp	.L27
.L25:
	mov	rax, QWORD PTR -56[rbp]
	neg	rax
.L27:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L28
	call	__stack_chk_fail@PLT
.L28:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4100:
	.size	measure_off_naive, .-measure_off_naive
	.type	measure_off_avx, @function
measure_off_avx:
.LFB4101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	and	rsp, -64
	sub	rsp, 576
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR 104[rsp], rdi
	mov	QWORD PTR 96[rsp], rsi
	mov	QWORD PTR 88[rsp], rdx
	jmp	.L32
.L38:
	mov	rax, QWORD PTR 104[rsp]
	mov	QWORD PTR 216[rsp], rax
	mov	rax, QWORD PTR 216[rsp]
	vmovdqu64	zmm0, ZMMWORD PTR [rax]
	vmovdqa64	ZMMWORD PTR 384[rsp], zmm0
	mov	BYTE PTR 126[rsp], -65
	vpbroadcastb	zmm0, BYTE PTR 126[rsp]
	vmovdqa64	zmm1, zmm0
	vmovdqa64	zmm0, ZMMWORD PTR 384[rsp]
	vmovdqa64	ZMMWORD PTR 448[rsp], zmm0
	vmovdqa64	ZMMWORD PTR 512[rsp], zmm1
	vmovdqa64	zmm1, ZMMWORD PTR 512[rsp]
	vmovdqa64	zmm0, ZMMWORD PTR 448[rsp]
	mov	rax, -1
	kmovq	k2, rax
	vpcmpgtb	k5{k2}, zmm0, zmm1
	kmovq	rax, k5
	mov	QWORD PTR 184[rsp], rax
	xor	eax, eax
	popcnt	rax, QWORD PTR 184[rsp]
	cdqe
	mov	QWORD PTR 192[rsp], rax
	mov	rax, QWORD PTR 88[rsp]
	cmp	rax, QWORD PTR 192[rsp]
	jb	.L51
	mov	rax, QWORD PTR 192[rsp]
	sub	QWORD PTR 88[rsp], rax
	add	QWORD PTR 104[rsp], 64
.L32:
	mov	rax, QWORD PTR 96[rsp]
	sub	rax, 63
	cmp	QWORD PTR 104[rsp], rax
	jb	.L38
	jmp	.L37
.L51:
	nop
.L37:
	mov	rax, QWORD PTR 96[rsp]
	sub	rax, 31
	cmp	QWORD PTR 104[rsp], rax
	jnb	.L39
	mov	rax, QWORD PTR 104[rsp]
	mov	QWORD PTR 224[rsp], rax
	mov	rax, QWORD PTR 224[rsp]
	vmovdqu8	xmm0, XMMWORD PTR [rax]
	vinserti128	ymm0, ymm0, XMMWORD PTR 16[rax], 0x1
	vmovdqa	YMMWORD PTR 288[rsp], ymm0
	mov	BYTE PTR 127[rsp], -65
	movsx	eax, BYTE PTR 127[rsp]
	mov	DWORD PTR 84[rsp], eax
	movsx	ebx, BYTE PTR 127[rsp]
	mov	DWORD PTR 80[rsp], ebx
	movsx	ecx, BYTE PTR 127[rsp]
	mov	DWORD PTR 76[rsp], ecx
	movsx	esi, BYTE PTR 127[rsp]
	mov	DWORD PTR 72[rsp], esi
	movsx	edi, BYTE PTR 127[rsp]
	mov	DWORD PTR 68[rsp], edi
	movsx	edx, BYTE PTR 127[rsp]
	mov	DWORD PTR 64[rsp], edx
	movsx	r8d, BYTE PTR 127[rsp]
	mov	DWORD PTR 60[rsp], r8d
	movsx	r9d, BYTE PTR 127[rsp]
	mov	DWORD PTR 56[rsp], r9d
	movsx	r10d, BYTE PTR 127[rsp]
	mov	DWORD PTR 52[rsp], r10d
	movsx	r11d, BYTE PTR 127[rsp]
	mov	DWORD PTR 48[rsp], r11d
	movsx	r14d, BYTE PTR 127[rsp]
	mov	DWORD PTR 44[rsp], r14d
	movsx	r15d, BYTE PTR 127[rsp]
	mov	DWORD PTR 40[rsp], r15d
	movsx	r12d, BYTE PTR 127[rsp]
	mov	DWORD PTR 36[rsp], r12d
	movsx	r13d, BYTE PTR 127[rsp]
	mov	DWORD PTR 32[rsp], r13d
	movsx	eax, BYTE PTR 127[rsp]
	mov	DWORD PTR 28[rsp], eax
	movsx	ebx, BYTE PTR 127[rsp]
	mov	DWORD PTR 24[rsp], ebx
	movsx	ecx, BYTE PTR 127[rsp]
	mov	DWORD PTR 20[rsp], ecx
	movsx	esi, BYTE PTR 127[rsp]
	mov	DWORD PTR 16[rsp], esi
	movsx	r15d, BYTE PTR 127[rsp]
	movsx	r14d, BYTE PTR 127[rsp]
	movsx	r13d, BYTE PTR 127[rsp]
	movsx	r12d, BYTE PTR 127[rsp]
	movsx	ebx, BYTE PTR 127[rsp]
	movsx	r11d, BYTE PTR 127[rsp]
	movsx	r10d, BYTE PTR 127[rsp]
	movsx	r9d, BYTE PTR 127[rsp]
	movsx	r8d, BYTE PTR 127[rsp]
	movsx	edi, BYTE PTR 127[rsp]
	movsx	esi, BYTE PTR 127[rsp]
	movsx	ecx, BYTE PTR 127[rsp]
	movsx	edx, BYTE PTR 127[rsp]
	movsx	eax, BYTE PTR 127[rsp]
	mov	BYTE PTR 128[rsp], al
	mov	BYTE PTR 129[rsp], dl
	mov	BYTE PTR 130[rsp], cl
	mov	BYTE PTR 131[rsp], sil
	mov	BYTE PTR 132[rsp], dil
	mov	BYTE PTR 133[rsp], r8b
	mov	BYTE PTR 134[rsp], r9b
	mov	BYTE PTR 135[rsp], r10b
	mov	BYTE PTR 136[rsp], r11b
	mov	BYTE PTR 137[rsp], bl
	mov	BYTE PTR 138[rsp], r12b
	mov	BYTE PTR 139[rsp], r13b
	mov	BYTE PTR 140[rsp], r14b
	mov	BYTE PTR 141[rsp], r15b
	movzx	edi, BYTE PTR 16[rsp]
	mov	BYTE PTR 142[rsp], dil
	movzx	ecx, BYTE PTR 20[rsp]
	mov	BYTE PTR 143[rsp], cl
	movzx	ebx, BYTE PTR 24[rsp]
	mov	BYTE PTR 144[rsp], bl
	movzx	eax, BYTE PTR 28[rsp]
	mov	BYTE PTR 145[rsp], al
	movzx	r13d, BYTE PTR 32[rsp]
	mov	BYTE PTR 146[rsp], r13b
	movzx	r12d, BYTE PTR 36[rsp]
	mov	BYTE PTR 147[rsp], r12b
	movzx	r15d, BYTE PTR 40[rsp]
	mov	BYTE PTR 148[rsp], r15b
	movzx	r14d, BYTE PTR 44[rsp]
	mov	BYTE PTR 149[rsp], r14b
	movzx	r11d, BYTE PTR 48[rsp]
	mov	BYTE PTR 150[rsp], r11b
	movzx	r10d, BYTE PTR 52[rsp]
	mov	BYTE PTR 151[rsp], r10b
	movzx	r9d, BYTE PTR 56[rsp]
	mov	BYTE PTR 152[rsp], r9b
	movzx	r8d, BYTE PTR 60[rsp]
	mov	BYTE PTR 153[rsp], r8b
	movzx	edx, BYTE PTR 64[rsp]
	mov	BYTE PTR 154[rsp], dl
	movzx	edi, BYTE PTR 68[rsp]
	mov	BYTE PTR 155[rsp], dil
	movzx	esi, BYTE PTR 72[rsp]
	mov	BYTE PTR 156[rsp], sil
	movzx	ecx, BYTE PTR 76[rsp]
	mov	BYTE PTR 157[rsp], cl
	movzx	ebx, BYTE PTR 80[rsp]
	mov	BYTE PTR 158[rsp], bl
	movzx	eax, BYTE PTR 84[rsp]
	mov	BYTE PTR 159[rsp], al
	movzx	eax, BYTE PTR 159[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 158[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm1, xmm0
	movzx	eax, BYTE PTR 157[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 156[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm8, xmm0
	movzx	eax, BYTE PTR 155[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 154[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm4, xmm0
	movzx	eax, BYTE PTR 153[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 152[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm7, xmm0
	movzx	eax, BYTE PTR 151[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 150[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm2, xmm0
	movzx	eax, BYTE PTR 149[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 148[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm6, xmm0
	movzx	eax, BYTE PTR 147[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 146[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm3, xmm0
	movzx	eax, BYTE PTR 145[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 144[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm5, xmm0
	vpunpcklwd	xmm0, xmm1, xmm8
	vmovdqa	xmm1, xmm0
	vpunpcklwd	xmm0, xmm4, xmm7
	vmovdqa	xmm4, xmm0
	vpunpcklwd	xmm0, xmm2, xmm6
	vmovdqa	xmm2, xmm0
	vpunpcklwd	xmm0, xmm3, xmm5
	vmovdqa	xmm3, xmm0
	vpunpckldq	xmm0, xmm1, xmm4
	vmovdqa	xmm1, xmm0
	vpunpckldq	xmm0, xmm2, xmm3
	vpunpcklqdq	xmm0, xmm1, xmm0
	vmovdqa	xmm1, xmm0
	movzx	eax, BYTE PTR 143[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 142[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm2, xmm0
	movzx	eax, BYTE PTR 141[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 140[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm9, xmm0
	movzx	eax, BYTE PTR 139[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 138[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm5, xmm0
	movzx	eax, BYTE PTR 137[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 136[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm8, xmm0
	movzx	eax, BYTE PTR 135[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 134[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm3, xmm0
	movzx	eax, BYTE PTR 133[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 132[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm7, xmm0
	movzx	eax, BYTE PTR 131[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 130[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm4, xmm0
	movzx	eax, BYTE PTR 129[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 128[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm6, xmm0
	vpunpcklwd	xmm0, xmm2, xmm9
	vmovdqa	xmm2, xmm0
	vpunpcklwd	xmm0, xmm5, xmm8
	vmovdqa	xmm5, xmm0
	vpunpcklwd	xmm0, xmm3, xmm7
	vmovdqa	xmm3, xmm0
	vpunpcklwd	xmm0, xmm4, xmm6
	vmovdqa	xmm4, xmm0
	vpunpckldq	xmm0, xmm2, xmm5
	vmovdqa	xmm2, xmm0
	vpunpckldq	xmm0, xmm3, xmm4
	vpunpcklqdq	xmm0, xmm2, xmm0
	vinserti128	ymm0, ymm1, xmm0, 0x1
	vmovdqa	ymm1, ymm0
	nop
	vmovdqa	ymm0, YMMWORD PTR 288[rsp]
	vmovdqa	YMMWORD PTR 320[rsp], ymm0
	vmovdqa	YMMWORD PTR 352[rsp], ymm1
	vmovdqa	ymm1, YMMWORD PTR 352[rsp]
	vmovdqa	ymm0, YMMWORD PTR 320[rsp]
	mov	eax, -1
	kmovd	k3, eax
	vpcmpgtb	k6{k3}, ymm0, ymm1
	kmovd	eax, k6
	mov	DWORD PTR 180[rsp], eax
	mov	eax, DWORD PTR 180[rsp]
	popcnt	rax, rax
	cdqe
	mov	QWORD PTR 200[rsp], rax
	mov	rax, QWORD PTR 88[rsp]
	cmp	rax, QWORD PTR 200[rsp]
	jb	.L39
	mov	rax, QWORD PTR 200[rsp]
	sub	QWORD PTR 88[rsp], rax
	add	QWORD PTR 104[rsp], 32
.L39:
	mov	rax, QWORD PTR 96[rsp]
	sub	rax, 15
	cmp	QWORD PTR 104[rsp], rax
	jnb	.L44
	mov	BYTE PTR 177[rsp], -1
	mov	rax, QWORD PTR 104[rsp]
	mov	QWORD PTR 232[rsp], rax
	movzx	edx, BYTE PTR 177[rsp]
	vpxor	xmm0, xmm0, xmm0
	mov	rax, QWORD PTR 232[rsp]
	kmovw	k4, edx
	vmovdqu16	xmm0{k4}, XMMWORD PTR [rax]
	vmovdqa	XMMWORD PTR 240[rsp], xmm0
	mov	BYTE PTR 160[rsp], -65
	movsx	edx, BYTE PTR 160[rsp]
	movsx	ecx, BYTE PTR 160[rsp]
	movsx	esi, BYTE PTR 160[rsp]
	movsx	edi, BYTE PTR 160[rsp]
	movsx	r8d, BYTE PTR 160[rsp]
	movsx	r9d, BYTE PTR 160[rsp]
	movsx	r10d, BYTE PTR 160[rsp]
	movsx	r11d, BYTE PTR 160[rsp]
	movsx	ebx, BYTE PTR 160[rsp]
	movsx	r12d, BYTE PTR 160[rsp]
	movsx	r13d, BYTE PTR 160[rsp]
	movsx	r14d, BYTE PTR 160[rsp]
	movsx	r15d, BYTE PTR 160[rsp]
	movsx	eax, BYTE PTR 160[rsp]
	mov	DWORD PTR 84[rsp], eax
	movsx	eax, BYTE PTR 160[rsp]
	mov	DWORD PTR 80[rsp], eax
	movsx	eax, BYTE PTR 160[rsp]
	mov	BYTE PTR 161[rsp], al
	movzx	eax, BYTE PTR 80[rsp]
	mov	BYTE PTR 162[rsp], al
	movzx	eax, BYTE PTR 84[rsp]
	mov	BYTE PTR 163[rsp], al
	mov	BYTE PTR 164[rsp], r15b
	mov	BYTE PTR 165[rsp], r14b
	mov	BYTE PTR 166[rsp], r13b
	mov	BYTE PTR 167[rsp], r12b
	mov	BYTE PTR 168[rsp], bl
	mov	BYTE PTR 169[rsp], r11b
	mov	BYTE PTR 170[rsp], r10b
	mov	BYTE PTR 171[rsp], r9b
	mov	BYTE PTR 172[rsp], r8b
	mov	BYTE PTR 173[rsp], dil
	mov	BYTE PTR 174[rsp], sil
	mov	BYTE PTR 175[rsp], cl
	mov	BYTE PTR 176[rsp], dl
	movzx	eax, BYTE PTR 176[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 175[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm1, xmm0
	movzx	eax, BYTE PTR 174[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 173[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm8, xmm0
	movzx	eax, BYTE PTR 172[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 171[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm4, xmm0
	movzx	eax, BYTE PTR 170[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 169[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm7, xmm0
	movzx	eax, BYTE PTR 168[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 167[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm2, xmm0
	movzx	eax, BYTE PTR 166[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 165[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm6, xmm0
	movzx	eax, BYTE PTR 164[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 163[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm3, xmm0
	movzx	eax, BYTE PTR 162[rsp]
	vmovd	xmm0, eax
	movzx	eax, BYTE PTR 161[rsp]
	vpinsrb	xmm0, xmm0, eax, 1
	vmovdqa	xmm5, xmm0
	vpunpcklwd	xmm0, xmm1, xmm8
	vmovdqa	xmm1, xmm0
	vpunpcklwd	xmm0, xmm4, xmm7
	vmovdqa	xmm4, xmm0
	vpunpcklwd	xmm0, xmm2, xmm6
	vmovdqa	xmm2, xmm0
	vpunpcklwd	xmm0, xmm3, xmm5
	vmovdqa	xmm3, xmm0
	vpunpckldq	xmm0, xmm1, xmm4
	vmovdqa	xmm1, xmm0
	vpunpckldq	xmm0, xmm2, xmm3
	vpunpcklqdq	xmm0, xmm1, xmm0
	vmovdqa	xmm1, xmm0
	nop
	vmovdqa	xmm0, XMMWORD PTR 240[rsp]
	vmovdqa	XMMWORD PTR 256[rsp], xmm0
	vmovdqa	XMMWORD PTR 272[rsp], xmm1
	vmovdqa	xmm1, XMMWORD PTR 272[rsp]
	vmovdqa	xmm0, XMMWORD PTR 256[rsp]
	kxnorw	k1, k1, k1
	vpcmpgtb	k0{k1}, xmm0, xmm1
	kmovw	WORD PTR 178[rsp], k0
	movzx	eax, WORD PTR 178[rsp]
	popcnt	rax, rax
	cdqe
	mov	QWORD PTR 208[rsp], rax
	mov	rax, QWORD PTR 88[rsp]
	cmp	rax, QWORD PTR 208[rsp]
	jb	.L44
	mov	rax, QWORD PTR 208[rsp]
	sub	QWORD PTR 88[rsp], rax
	add	QWORD PTR 104[rsp], 16
.L44:
	mov	rdx, QWORD PTR 88[rsp]
	mov	rcx, QWORD PTR 96[rsp]
	mov	rax, QWORD PTR 104[rsp]
	mov	rsi, rcx
	mov	rdi, rax
	call	measure_off_naive
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4101:
	.size	measure_off_avx, .-measure_off_avx
	.type	measure_off_sse, @function
measure_off_sse:
.LFB4102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 168
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	jmp	.L53
.L61:
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	movdqu	xmm0, XMMWORD PTR [rax]
	movaps	XMMWORD PTR -112[rbp], xmm0
	mov	BYTE PTR -147[rbp], -65
	movsx	edx, BYTE PTR -147[rbp]
	movsx	ecx, BYTE PTR -147[rbp]
	movsx	esi, BYTE PTR -147[rbp]
	movsx	edi, BYTE PTR -147[rbp]
	movsx	r8d, BYTE PTR -147[rbp]
	movsx	r9d, BYTE PTR -147[rbp]
	movsx	r10d, BYTE PTR -147[rbp]
	movsx	r11d, BYTE PTR -147[rbp]
	movsx	ebx, BYTE PTR -147[rbp]
	movsx	r12d, BYTE PTR -147[rbp]
	movsx	r13d, BYTE PTR -147[rbp]
	movsx	r14d, BYTE PTR -147[rbp]
	movsx	r15d, BYTE PTR -147[rbp]
	movsx	eax, BYTE PTR -147[rbp]
	mov	DWORD PTR -208[rbp], eax
	movsx	eax, BYTE PTR -147[rbp]
	mov	DWORD PTR -188[rbp], eax
	movsx	eax, BYTE PTR -147[rbp]
	mov	BYTE PTR -146[rbp], al
	movzx	eax, BYTE PTR -188[rbp]
	mov	BYTE PTR -145[rbp], al
	movzx	eax, BYTE PTR -208[rbp]
	mov	BYTE PTR -144[rbp], al
	mov	BYTE PTR -143[rbp], r15b
	mov	BYTE PTR -142[rbp], r14b
	mov	BYTE PTR -141[rbp], r13b
	mov	BYTE PTR -140[rbp], r12b
	mov	BYTE PTR -139[rbp], bl
	mov	BYTE PTR -138[rbp], r11b
	mov	BYTE PTR -137[rbp], r10b
	mov	BYTE PTR -136[rbp], r9b
	mov	BYTE PTR -135[rbp], r8b
	mov	BYTE PTR -134[rbp], dil
	mov	BYTE PTR -133[rbp], sil
	mov	BYTE PTR -132[rbp], cl
	mov	BYTE PTR -131[rbp], dl
	movzx	eax, BYTE PTR -138[rbp]
	movzx	edx, BYTE PTR -137[rbp]
	sal	rax, 8
	or	rax, rdx
	movzx	edx, BYTE PTR -136[rbp]
	sal	rax, 8
	or	rax, rdx
	movzx	edx, BYTE PTR -135[rbp]
	sal	rax, 8
	or	rax, rdx
	movzx	edx, BYTE PTR -134[rbp]
	sal	rax, 8
	or	rax, rdx
	movzx	edx, BYTE PTR -133[rbp]
	sal	rax, 8
	or	rax, rdx
	movzx	edx, BYTE PTR -132[rbp]
	sal	rax, 8
	or	rax, rdx
	movzx	edx, BYTE PTR -131[rbp]
	sal	rax, 8
	or	rdx, rax
	movzx	eax, BYTE PTR -146[rbp]
	movzx	ecx, BYTE PTR -145[rbp]
	sal	rax, 8
	or	rax, rcx
	movzx	ecx, BYTE PTR -144[rbp]
	sal	rax, 8
	or	rax, rcx
	movzx	ecx, BYTE PTR -143[rbp]
	sal	rax, 8
	or	rax, rcx
	movzx	ecx, BYTE PTR -142[rbp]
	sal	rax, 8
	or	rax, rcx
	movzx	ecx, BYTE PTR -141[rbp]
	sal	rax, 8
	or	rax, rcx
	movzx	ecx, BYTE PTR -140[rbp]
	sal	rax, 8
	or	rax, rcx
	movzx	ecx, BYTE PTR -139[rbp]
	sal	rax, 8
	or	rax, rcx
	mov	QWORD PTR -208[rbp], rdx
	mov	QWORD PTR -200[rbp], rax
	movdqa	xmm0, XMMWORD PTR -208[rbp]
	movdqa	xmm1, xmm0
	nop
	movdqa	xmm0, XMMWORD PTR -112[rbp]
	movaps	XMMWORD PTR -80[rbp], xmm0
	movaps	XMMWORD PTR -64[rbp], xmm1
	movdqa	xmm0, XMMWORD PTR -80[rbp]
	movdqa	xmm1, XMMWORD PTR -64[rbp]
	pcmpgtb	xmm0, xmm1
	movaps	XMMWORD PTR -96[rbp], xmm0
	movdqa	xmm0, XMMWORD PTR -96[rbp]
	pmovmskb	eax, xmm0
	mov	WORD PTR -130[rbp], ax
	movzx	eax, WORD PTR -130[rbp]
	mov	eax, eax
	mov	rdi, rax
	call	__popcountdi2@PLT
	cdqe
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jb	.L63
	mov	rax, QWORD PTR -128[rbp]
	sub	QWORD PTR -184[rbp], rax
	add	QWORD PTR -168[rbp], 16
.L53:
	mov	rax, QWORD PTR -176[rbp]
	sub	rax, 15
	cmp	QWORD PTR -168[rbp], rax
	jb	.L61
	jmp	.L60
.L63:
	nop
.L60:
	mov	rdx, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	measure_off_naive
	add	rsp, 168
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4102:
	.size	measure_off_sse, .-measure_off_sse
	.globl	_hs_text_measure_off
	.type	_hs_text_measure_off, @function
_hs_text_measure_off:
.LFB4103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, s_impl.0[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L65
	mov	eax, 0
	call	has_avx512_vl_bw
	test	al, al
	je	.L66
	lea	rax, measure_off_avx[rip]
	jmp	.L67
.L66:
	lea	rax, measure_off_sse[rip]
.L67:
	mov	QWORD PTR -40[rbp], rax
	lea	rax, s_impl.0[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L65:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, [rdx+rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -64[rbp]
	lea	rdi, [rdx+rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rdx, rax
	call	rcx
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	js	.L68
	mov	rax, QWORD PTR -72[rbp]
	sub	rax, QWORD PTR -16[rbp]
	jmp	.L70
.L68:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	neg	rax
.L70:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L71
	call	__stack_chk_fail@PLT
.L71:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4103:
	.size	_hs_text_measure_off, .-_hs_text_measure_off
	.local	s_impl.0
	.comm	s_impl.0,8,8
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"464432.c"
	.text
	.global	__popcountdi2
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	measure_off_naive, %function
measure_off_naive:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #48
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L19+8
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	b	.L2
.L5:
	sub	r3, fp, #44
	mov	r2, #8
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adds	r1, r2, r2
	str	r1, [fp, #-76]
	adc	r3, r3, r3
	str	r3, [fp, #-72]
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mvn	r4, r2
	mvn	r5, r3
	orr	r6, r0, r4
	orr	r7, r1, r5
	adr	r3, .L19
	ldmia	r3, {r2-r3}
	and	r8, r6, r2
	and	r9, r7, r3
	mov	r0, r8
	mov	r1, r9
	bl	__popcountdi2
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bcc	.L17
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	str	r3, [fp, #-56]
.L2:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #7
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bcc	.L5
	b	.L6
.L17:
	nop
	b	.L6
.L9:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]
	strb	r3, [fp, #-50]
	ldrsb	r3, [fp, #-50]
	cmn	r3, #64
	bge	.L18
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L6:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bcc	.L9
	b	.L10
.L18:
	nop
	b	.L10
.L12:
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldrb	r3, [r3]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	cmp	r3, #191
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	cmp	r3, #223
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	add	r3, r2, r3
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	cmp	r2, #239
	movhi	r2, #1
	movls	r2, #0
	and	r2, r2, #255
	add	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	str	r3, [fp, #-56]
.L10:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bcs	.L11
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L12
.L11:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L13
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	b	.L15
.L13:
	ldr	r3, [fp, #-64]
	rsb	r3, r3, #0
.L15:
	ldr	r2, .L19+8
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L16
	bl	__stack_chk_fail
.L16:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L20:
	.align	3
.L19:
	.word	-2139062144
	.word	-2139062144
	.word	.LC0
	.size	measure_off_naive, .-measure_off_naive
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	measure_off_sse, %function
measure_off_sse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	measure_off_naive
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	measure_off_sse, .-measure_off_sse
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_hs_text_measure_off
	.syntax unified
	.arm
	.fpu softvfp
	.type	_hs_text_measure_off, %function
_hs_text_measure_off:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L29
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L29+4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L24
	ldr	r3, .L29+8
	str	r3, [fp, #-24]
	ldr	r3, .L29+4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
.L24:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	add	r0, r2, r3
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	add	r1, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L25
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	b	.L27
.L25:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	rsb	r3, r3, #0
.L27:
	ldr	r2, .L29
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L28
	bl	__stack_chk_fail
.L28:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	.LC1
	.word	s_impl.4739
	.word	measure_off_sse
	.size	_hs_text_measure_off, .-_hs_text_measure_off
	.local	s_impl.4739
	.comm	s_impl.4739,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
