	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ean2isn
_ean2isn:                               ## @ean2isn
	.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	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%ecx, %ebx
	movq	%rdx, -128(%rbp)                ## 8-byte Spill
	movl	%esi, %r15d
	movl	%edi, %r13d
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_INVALID@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	movq	_MAXEAN13LEN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	incl	%eax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %r14
	movl	%r13d, %r12d
	sarl	%r12d
	movl	$1316134911, %edi               ## imm = 0x4E729FFF
	callq	_UINT64CONST
	cmpl	%eax, %r12d
	jle	LBB0_1
## %bb.25:
	xorl	%r13d, %r13d
	testl	%r15d, %r15d
	jne	LBB0_28
## %bb.26:
	movq	_EAN13_FORMAT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	leaq	-112(%rbp), %r14
	movq	%r14, %rdi
	movl	$64, %esi
	movl	%r12d, %ecx
	callq	_snprintf
	movq	_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	_ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_errcode
	movq	_isn_names@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	-120(%rbp), %rcx                ## 8-byte Reload
	movl	(%rax,%rcx,4), %edx
	leaq	L_.str.6(%rip), %rdi
	xorl	%r13d, %r13d
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_errmsg
	movl	%ebx, %edi
LBB0_27:
	movl	%eax, %esi
	callq	_ereport
	jmp	LBB0_28
LBB0_1:
	movl	%r15d, -120(%rbp)               ## 4-byte Spill
	movl	%ebx, %r15d
	movb	$0, 13(%r14)
	movq	%r14, %rdi
	addq	$11, %rdi
	movl	$11, %eax
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movslq	%r12d, %rcx
	imulq	$1717986919, %rcx, %r12         ## imm = 0x66666667
	movq	%r12, %rsi
	shrq	$63, %rsi
	sarq	$34, %r12
	addl	%esi, %r12d
	leal	(%r12,%r12), %esi
	leal	(%rsi,%rsi,4), %esi
	movl	%ecx, %ebx
	subl	%esi, %ebx
	addb	$48, %bl
	movb	%bl, 12(%r14,%rdx)
	addl	$9, %ecx
	cmpl	$19, %ecx
	jb	LBB0_4
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	decq	%rdi
	decl	%eax
	decq	%rdx
	cmpl	$-13, %edx
	jne	LBB0_2
	jmp	LBB0_6
LBB0_4:
	movl	%edx, %ecx
	negl	%ecx
	cmpl	$11, %ecx
	ja	LBB0_6
## %bb.5:
	addl	$11, %edx
	movl	%eax, %eax
	subq	%rax, %rdi
	incq	%rdx
	movl	$48, %esi
	callq	_memset
LBB0_6:
	leaq	L_.str(%rip), %rdi
	movq	%r14, %rsi
	movl	$3, %edx
	callq	_strncmp
	movq	_ISBN@GOTPCREL(%rip), %r12
	testq	%rax, %rax
	je	LBB0_7
## %bb.8:
	leaq	L_.str.1(%rip), %rdi
	movq	%r14, %rsi
	movl	$3, %edx
	callq	_strncmp
	testq	%rax, %rax
	movl	%r15d, %ebx
	je	LBB0_9
## %bb.10:
	leaq	L_.str.2(%rip), %rdi
	movq	%r14, %rsi
	movl	$4, %edx
	callq	_strncmp
	testq	%rax, %rax
	je	LBB0_11
## %bb.12:
	leaq	L_.str.3(%rip), %rdi
	movq	%r14, %rsi
	movl	$3, %edx
	callq	_strncmp
	testq	%rax, %rax
	movl	-120(%rbp), %ecx                ## 4-byte Reload
	je	LBB0_16
## %bb.13:
	cmpb	$48, (%r14)
	jne	LBB0_14
## %bb.15:
	movq	_UPC@GOTPCREL(%rip), %r12
	jmp	LBB0_16
LBB0_7:
	movl	%r15d, %ebx
	movl	-120(%rbp), %ecx                ## 4-byte Reload
	jmp	LBB0_16
LBB0_9:
	movq	_ISSN@GOTPCREL(%rip), %r12
	movl	-120(%rbp), %ecx                ## 4-byte Reload
	jmp	LBB0_16
LBB0_11:
	movq	_ISMN@GOTPCREL(%rip), %r12
	movl	-120(%rbp), %ecx                ## 4-byte Reload
	jmp	LBB0_16
LBB0_14:
	movq	_EAN13@GOTPCREL(%rip), %r12
LBB0_16:
	movq	_ANY@GOTPCREL(%rip), %rax
	cmpl	%ebx, (%rax)
	je	LBB0_19
## %bb.17:
	movq	_EAN13@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	cmpl	%ebx, %r15d
	je	LBB0_19
## %bb.18:
	movl	(%r12), %r12d
	cmpl	%ebx, %r12d
	je	LBB0_19
## %bb.20:
	xorl	%r13d, %r13d
	testl	%ecx, %ecx
	jne	LBB0_28
## %bb.21:
	movq	_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -128(%rbp)                ## 4-byte Spill
	movq	_ERRCODE_INVALID_TEXT_REPRESENTATION@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_errcode
	movq	_isn_names@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movslq	(%rax,%r12,4), %rsi
	movl	%ebx, %ecx
	movl	(%rax,%rcx,4), %edx
	cmpl	%r15d, %r12d
	jne	LBB0_22
## %bb.24:
	leaq	L_.str.5(%rip), %rdi
	jmp	LBB0_23
LBB0_19:
	movq	-128(%rbp), %rax                ## 8-byte Reload
	movl	%r13d, (%rax)
	movl	$1, %r13d
LBB0_28:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_30
## %bb.29:
	movl	%r13d, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_22:
	leaq	L_.str.4(%rip), %rdi
LBB0_23:
	xorl	%r13d, %r13d
	movq	%r14, %rcx
	xorl	%eax, %eax
	callq	_errmsg
	movl	-128(%rbp), %edi                ## 4-byte Reload
	jmp	LBB0_27
LBB0_30:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_INVALID,4,2                    ## @INVALID
	.comm	_MAXEAN13LEN,4,2                ## @MAXEAN13LEN
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"978"

	.comm	_ISBN,4,2                       ## @ISBN
L_.str.1:                               ## @.str.1
	.asciz	"977"

	.comm	_ISSN,4,2                       ## @ISSN
L_.str.2:                               ## @.str.2
	.asciz	"9790"

	.comm	_ISMN,4,2                       ## @ISMN
L_.str.3:                               ## @.str.3
	.asciz	"979"

	.comm	_UPC,4,2                        ## @UPC
	.comm	_EAN13,4,2                      ## @EAN13
	.comm	_ANY,4,2                        ## @ANY
	.comm	_ERROR,4,2                      ## @ERROR
	.comm	_ERRCODE_INVALID_TEXT_REPRESENTATION,4,2 ## @ERRCODE_INVALID_TEXT_REPRESENTATION
L_.str.4:                               ## @.str.4
	.asciz	"cannot cast EAN13(%s) to %s for number: \"%s\""

	.comm	_isn_names,8,3                  ## @isn_names
L_.str.5:                               ## @.str.5
	.asciz	"cannot cast %s to %s for number: \"%s\""

	.comm	_EAN13_FORMAT,8,3               ## @EAN13_FORMAT
	.comm	_ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE,4,2 ## @ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE
L_.str.6:                               ## @.str.6
	.asciz	"value \"%s\" is out of range for %s type"

	.no_dead_strip	_ean2isn
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ean2isn
_ean2isn:                               ; @ean2isn
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	sub	sp, sp, #80
	mov	x19, x3
	mov	x22, x2
	mov	x21, x1
	mov	x23, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
Lloh3:
	adrp	x9, _INVALID@GOTPAGE
Lloh4:
	ldr	x9, [x9, _INVALID@GOTPAGEOFF]
	stur	x8, [x29, #-72]
Lloh5:
	ldr	w25, [x9]
Lloh6:
	adrp	x8, _MAXEAN13LEN@GOTPAGE
Lloh7:
	ldr	x8, [x8, _MAXEAN13LEN@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
	add	w8, w8, #1
	mov	x9, x8
Lloh9:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh10:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	add	x8, x8, #15
	and	x8, x8, #0x1fffffff0
	sub	x20, x9, x8
	mov	sp, x20
	asr	w24, w0, #1
	mov	w0, #40959
	movk	w0, #20082, lsl #16
	bl	_UINT64CONST
	cmp	w24, w0
	b.le	LBB0_3
; %bb.1:
	cbnz	w21, LBB0_25
; %bb.2:
Lloh11:
	adrp	x8, _EAN13_FORMAT@GOTPAGE
Lloh12:
	ldr	x8, [x8, _EAN13_FORMAT@GOTPAGEOFF]
Lloh13:
	ldr	x2, [x8]
	sub	x0, x29, #136
	mov	w1, #64
	mov	x3, x24
	bl	_snprintf
Lloh14:
	adrp	x8, _ERROR@GOTPAGE
Lloh15:
	ldr	x8, [x8, _ERROR@GOTPAGEOFF]
Lloh16:
	ldr	w19, [x8]
Lloh17:
	adrp	x8, _ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE@GOTPAGE
Lloh18:
	ldr	x8, [x8, _ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE@GOTPAGEOFF]
Lloh19:
	ldr	w0, [x8]
	bl	_errcode
Lloh20:
	adrp	x8, _isn_names@GOTPAGE
Lloh21:
	ldr	x8, [x8, _isn_names@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	ldr	w2, [x8, x25, lsl #2]
Lloh23:
	adrp	x0, l_.str.6@PAGE
Lloh24:
	add	x0, x0, l_.str.6@PAGEOFF
	sub	x1, x29, #136
	bl	_errmsg
	mov	x1, x0
	mov	x0, x19
	b	LBB0_24
LBB0_3:
	mov	x8, #0
	strb	wzr, [x20, #13]
	mov	w9, #11
	mov	w10, #26215
	movk	w10, #26214, lsl #16
	mov	w11, #10
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	smull	x12, w24, w10
	lsr	x13, x12, #63
	asr	x12, x12, #34
	add	w12, w12, w13
	msub	w13, w12, w11, w24
	add	w13, w13, #48
	add	x14, x20, x8
	strb	w13, [x14, #12]
	add	w13, w24, #9
	cmp	w13, #19
	b.lo	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	sub	x9, x9, #1
	sub	x8, x8, #1
	mov	x24, x12
	cmn	w8, #13
	b.ne	LBB0_4
	b	LBB0_8
LBB0_6:
	neg	w10, w8
	cmp	w10, #11
	b.hi	LBB0_8
; %bb.7:
	add	w8, w8, #11
	sub	x9, x9, w9, uxtw
	add	x0, x20, x9
	add	x2, x8, #1
	mov	w1, #48
	bl	_memset
LBB0_8:
Lloh25:
	adrp	x0, l_.str@PAGE
Lloh26:
	add	x0, x0, l_.str@PAGEOFF
	mov	x1, x20
	mov	w2, #3
	bl	_strncmp
	cbz	x0, LBB0_13
; %bb.9:
Lloh27:
	adrp	x0, l_.str.1@PAGE
Lloh28:
	add	x0, x0, l_.str.1@PAGEOFF
	mov	x1, x20
	mov	w2, #3
	bl	_strncmp
	cbz	x0, LBB0_14
; %bb.10:
Lloh29:
	adrp	x0, l_.str.2@PAGE
Lloh30:
	add	x0, x0, l_.str.2@PAGEOFF
	mov	x1, x20
	mov	w2, #4
	bl	_strncmp
	cbz	x0, LBB0_15
; %bb.11:
Lloh31:
	adrp	x0, l_.str.3@PAGE
Lloh32:
	add	x0, x0, l_.str.3@PAGEOFF
	mov	x1, x20
	mov	w2, #3
	bl	_strncmp
	cbz	x0, LBB0_13
; %bb.12:
	ldrb	w8, [x20]
Lloh33:
	adrp	x9, _EAN13@GOTPAGE
Lloh34:
	ldr	x9, [x9, _EAN13@GOTPAGEOFF]
Lloh35:
	adrp	x10, _UPC@GOTPAGE
Lloh36:
	ldr	x10, [x10, _UPC@GOTPAGEOFF]
	cmp	w8, #48
	csel	x8, x10, x9, eq
	b	LBB0_16
LBB0_13:
Lloh37:
	adrp	x8, _ISBN@GOTPAGE
Lloh38:
	ldr	x8, [x8, _ISBN@GOTPAGEOFF]
	b	LBB0_16
LBB0_14:
Lloh39:
	adrp	x8, _ISSN@GOTPAGE
Lloh40:
	ldr	x8, [x8, _ISSN@GOTPAGEOFF]
	b	LBB0_16
LBB0_15:
Lloh41:
	adrp	x8, _ISMN@GOTPAGE
Lloh42:
	ldr	x8, [x8, _ISMN@GOTPAGEOFF]
LBB0_16:
Lloh43:
	adrp	x9, _ANY@GOTPAGE
Lloh44:
	ldr	x9, [x9, _ANY@GOTPAGEOFF]
Lloh45:
	ldr	w9, [x9]
	cmp	w9, w19
	b.eq	LBB0_18
; %bb.17:
	ldr	w24, [x8]
Lloh46:
	adrp	x8, _EAN13@GOTPAGE
Lloh47:
	ldr	x8, [x8, _EAN13@GOTPAGEOFF]
Lloh48:
	ldr	w25, [x8]
	cmp	w25, w19
	ccmp	w24, w19, #4, ne
	b.ne	LBB0_19
LBB0_18:
	str	w23, [x22]
	mov	w0, #1
	b	LBB0_26
LBB0_19:
	cbnz	w21, LBB0_25
; %bb.20:
Lloh49:
	adrp	x8, _ERROR@GOTPAGE
Lloh50:
	ldr	x8, [x8, _ERROR@GOTPAGEOFF]
Lloh51:
	ldr	w21, [x8]
Lloh52:
	adrp	x8, _ERRCODE_INVALID_TEXT_REPRESENTATION@GOTPAGE
Lloh53:
	ldr	x8, [x8, _ERRCODE_INVALID_TEXT_REPRESENTATION@GOTPAGEOFF]
Lloh54:
	ldr	w0, [x8]
	bl	_errcode
Lloh55:
	adrp	x8, _isn_names@GOTPAGE
Lloh56:
	ldr	x8, [x8, _isn_names@GOTPAGEOFF]
Lloh57:
	ldr	x8, [x8]
	ldrsw	x1, [x8, x24, lsl #2]
	ldr	w2, [x8, w19, uxtw #2]
	sub	sp, sp, #16
	cmp	w24, w25
	b.ne	LBB0_22
; %bb.21:
	str	x20, [sp]
Lloh58:
	adrp	x0, l_.str.5@PAGE
Lloh59:
	add	x0, x0, l_.str.5@PAGEOFF
	b	LBB0_23
LBB0_22:
	str	x20, [sp]
Lloh60:
	adrp	x0, l_.str.4@PAGE
Lloh61:
	add	x0, x0, l_.str.4@PAGEOFF
LBB0_23:
	bl	_errmsg
	add	sp, sp, #16
	mov	x1, x0
	mov	x0, x21
LBB0_24:
	bl	_ereport
LBB0_25:
	mov	w0, #0
LBB0_26:
	ldur	x8, [x29, #-72]
Lloh62:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh63:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh64:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_28
; %bb.27:
	sub	sp, x29, #64
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
LBB0_28:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.cfi_endproc
                                        ; -- End function
	.comm	_INVALID,4,2                    ; @INVALID
	.comm	_MAXEAN13LEN,4,2                ; @MAXEAN13LEN
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"978"

	.comm	_ISBN,4,2                       ; @ISBN
l_.str.1:                               ; @.str.1
	.asciz	"977"

	.comm	_ISSN,4,2                       ; @ISSN
l_.str.2:                               ; @.str.2
	.asciz	"9790"

	.comm	_ISMN,4,2                       ; @ISMN
l_.str.3:                               ; @.str.3
	.asciz	"979"

	.comm	_UPC,4,2                        ; @UPC
	.comm	_EAN13,4,2                      ; @EAN13
	.comm	_ANY,4,2                        ; @ANY
	.comm	_ERROR,4,2                      ; @ERROR
	.comm	_ERRCODE_INVALID_TEXT_REPRESENTATION,4,2 ; @ERRCODE_INVALID_TEXT_REPRESENTATION
l_.str.4:                               ; @.str.4
	.asciz	"cannot cast EAN13(%s) to %s for number: \"%s\""

	.comm	_isn_names,8,3                  ; @isn_names
l_.str.5:                               ; @.str.5
	.asciz	"cannot cast %s to %s for number: \"%s\""

	.comm	_EAN13_FORMAT,8,3               ; @EAN13_FORMAT
	.comm	_ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE,4,2 ; @ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE
l_.str.6:                               ; @.str.6
	.asciz	"value \"%s\" is out of range for %s type"

	.no_dead_strip	_ean2isn
.subsections_via_symbols
