	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function check_one_character
_check_one_character:                   ## @check_one_character
	.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	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%esi, %r14d
	movq	%rdi, %rbx
	leaq	16(%rbp), %r12
	movl	$0, -48(%rbp)
	movb	%r14b, -41(%rbp)
	leaq	64(%rbp), %rdx
	leaq	-41(%rbp), %rdi
	leaq	-48(%rbp), %rcx
	movl	$1, %esi
	callq	_png_check_fp_number
	movl	%eax, %r15d
	movl	-48(%rbp), %r13d
	movq	16(%rbp), %rax
	movq	_exponent@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_4
## %bb.1:
	movl	%r14d, %edi
	callq	_isdigit
	cmpl	$48, %r14d
	je	LBB0_4
## %bb.2:
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	movq	$0, 40(%r12)
LBB0_4:
	movq	_start@GOTPCREL(%rip), %rax
	cmpl	$45, %r14d
	jne	LBB0_8
## %bb.5:
	movq	(%rax), %rax
	cmpq	%rax, (%r12)
	jne	LBB0_8
## %bb.6:
	cmpl	$0, 8(%r12)
	je	LBB0_8
## %bb.7:
	movl	$1, 12(%r12)
LBB0_8:
	movl	%r14d, %edi
	callq	_isprint
	movq	16(%r12), %rcx
	leaq	1(%rcx), %rsi
	movq	(%rbx), %rdx
	movq	%rsi, 16(%r12)
	testq	%rax, %rax
	je	LBB0_10
## %bb.9:
	movb	%r14b, (%rdx,%rcx)
	jmp	LBB0_11
LBB0_10:
	movb	$60, (%rdx,%rcx)
	movq	_hexdigits@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	movl	%r14d, %edx
	shrl	$4, %edx
	andl	$15, %edx
	movb	(%rcx,%rdx,8), %cl
	movq	(%rbx), %rdx
	movq	16(%r12), %rsi
	leaq	1(%rsi), %rdi
	movq	%rdi, 16(%r12)
	movb	%cl, (%rdx,%rsi)
	movq	(%rax), %rax
	movl	%r14d, %ecx
	andl	$15, %ecx
	movb	(%rax,%rcx,8), %al
	movq	(%rbx), %rcx
	movq	16(%r12), %rdx
	leaq	1(%rdx), %rsi
	movq	%rsi, 16(%r12)
	movb	%al, (%rcx,%rdx)
	movq	(%rbx), %rax
	movq	16(%r12), %rcx
	leaq	1(%rcx), %rdx
	movq	%rdx, 16(%r12)
	movb	$62, (%rax,%rcx)
LBB0_11:
	movq	(%rbx), %rax
	movq	16(%r12), %rcx
	movb	$0, (%rax,%rcx)
	cmpl	$2, 8(%rbx)
	jl	LBB0_13
## %bb.12:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
LBB0_13:
	movl	12(%rbx), %eax
	incl	%eax
	movl	%eax, 12(%rbx)
	cmpl	$1000000, %eax                  ## imm = 0xF4240
	je	LBB0_14
## %bb.17:
	testl	%r15d, %r15d
	je	LBB0_18
LBB0_19:
	cmpl	$1, %r13d
	je	LBB0_21
LBB0_20:
	incl	20(%rbx)
LBB0_21:
	movslq	-48(%rbp), %rcx
	cmpq	$2, %rcx
	jae	LBB0_22
## %bb.23:
	movl	48(%r12), %edi
	callq	_PNG_FP_IS_NEGATIVE
	xorl	%ecx, %ecx
	testl	%r15d, %r15d
	je	LBB0_26
## %bb.24:
	cmpq	$0, 40(%r12)
	jne	LBB0_26
## %bb.25:
	cmpl	$0, 12(%r12)
	setne	%cl
LBB0_26:
	movzbl	%cl, %ecx
	cmpl	%ecx, %eax
	jne	LBB0_27
## %bb.29:
	movl	%r13d, -52(%rbp)                ## 4-byte Spill
	testl	%r15d, %r15d
	setne	%r13b
	movl	48(%r12), %edi
	callq	_PNG_FP_IS_ZERO
	cmpq	$0, 40(%r12)
	setne	%cl
	andb	%r13b, %cl
	movzbl	%cl, %ecx
	cmpl	%ecx, %eax
	jne	LBB0_30
## %bb.31:
	testl	%r15d, %r15d
	setne	%r13b
	movl	48(%r12), %edi
	callq	_PNG_FP_IS_POSITIVE
	cmpq	$0, 40(%r12)
	sete	%cl
	andb	%r13b, %cl
	cmpl	$0, 12(%r12)
	sete	%dl
	andb	%cl, %dl
	movzbl	%dl, %ecx
	cmpl	%ecx, %eax
	jne	LBB0_32
## %bb.33:
	movl	%r14d, %edi
	callq	_isdigit
	testq	%rax, %rax
	je	LBB0_42
## %bb.34:
	cmpl	$1, -52(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_35
## %bb.37:
	testl	%r15d, %r15d
	je	LBB0_38
## %bb.39:
	movl	24(%r12), %eax
	leal	1(%rax), %ecx
	movl	%ecx, 24(%r12)
	movl	$0, 8(%r12)
	movl	$1, 28(%r12)
	testl	%eax, %eax
	js	LBB0_40
## %bb.41:
	movq	_state_characters@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%r12), %rcx
	movl	(%rax,%rcx,4), %esi
	movq	48(%r12), %rax
	movq	%rax, 48(%rsp)
	movups	(%r12), %xmm0
	movups	16(%r12), %xmm1
	movups	32(%r12), %xmm2
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	movq	%rbx, %rdi
	callq	_check_some_characters
	movl	%eax, %r12d
	jmp	LBB0_74
LBB0_14:
	cmpl	$1, 8(%rbx)
	jne	LBB0_16
## %bb.15:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$46, %edi
	callq	_fputc
LBB0_16:
	movl	$0, 12(%rbx)
	incl	28(%rbx)
	testl	%r15d, %r15d
	jne	LBB0_19
LBB0_18:
	incl	24(%rbx)
	cmpl	$1, %r13d
	jne	LBB0_20
	jmp	LBB0_21
LBB0_22:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.1(%rip), %rsi
	xorl	%r12d, %r12d
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_74
LBB0_27:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.2(%rip), %rsi
	jmp	LBB0_28
LBB0_30:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.3(%rip), %rsi
	jmp	LBB0_28
LBB0_32:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.4(%rip), %rsi
LBB0_28:
	xorl	%r12d, %r12d
	xorl	%eax, %eax
	callq	_fprintf
LBB0_74:
	movl	%r12d, %eax
	addq	$72, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_42:
	cmpl	$43, %r14d
	movq	_exponent@GOTPCREL(%rip), %rdx
	movl	-52(%rbp), %esi                 ## 4-byte Reload
	je	LBB0_45
## %bb.43:
	cmpl	$46, %r14d
	je	LBB0_52
## %bb.44:
	cmpl	$45, %r14d
	jne	LBB0_47
LBB0_45:
	movq	(%r12), %rax
	movq	_fraction@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_47
## %bb.46:
	cmpl	$0, 8(%r12)
	jne	LBB0_50
LBB0_47:
	movl	%r14d, %eax
	andl	$-33, %eax
	movl	28(%r12), %ecx
	cmpl	$69, %eax
	jne	LBB0_54
## %bb.48:
	testl	%ecx, %ecx
	je	LBB0_54
## %bb.49:
	movq	(%r12), %rax
	cmpq	(%rdx), %rax
	jne	LBB0_50
	jmp	LBB0_54
LBB0_35:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.5(%rip), %rsi
	jmp	LBB0_36
LBB0_38:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.6(%rip), %rsi
	jmp	LBB0_36
LBB0_52:
	movq	(%r12), %rax
	movq	_start@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_53
LBB0_50:
	cmpl	$1, %esi
	jne	LBB0_51
## %bb.56:
	movq	_start@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	testl	%r15d, %r15d
	je	LBB0_60
## %bb.57:
	cmpl	$46, %r14d
	jne	LBB0_59
## %bb.58:
	cmpq	%rcx, %rax
	movq	%rax, %rcx
	jne	LBB0_59
LBB0_60:
	movl	%r15d, 28(%r12)
	cmpl	$46, %r14d
	jne	LBB0_63
## %bb.61:
	cmpq	%rcx, %rax
	jne	LBB0_63
## %bb.62:
	xorl	%eax, %eax
	testl	%r15d, %r15d
	sete	%al
	movq	_fraction@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, (%r12)
	movl	%eax, 8(%r12)
	jmp	LBB0_66
LBB0_51:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.7(%rip), %rsi
	jmp	LBB0_36
LBB0_53:
	movl	28(%r12), %ecx
LBB0_54:
	cmpl	$1, %esi
	jne	LBB0_71
## %bb.55:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.10(%rip), %rsi
	jmp	LBB0_73
LBB0_71:
	movl	$1, %r12d
	cmpl	%ecx, %r15d
	je	LBB0_74
## %bb.72:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.11(%rip), %rsi
LBB0_73:
	xorl	%r12d, %r12d
	movl	%r14d, %ecx
	movl	%r14d, %r8d
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_74
LBB0_63:
	movl	%r14d, %ecx
	andl	$-33, %ecx
	cmpl	$69, %ecx
	jne	LBB0_67
## %bb.64:
	movq	(%rdx), %rcx
	cmpq	%rcx, %rax
	jae	LBB0_67
## %bb.65:
	movq	%rcx, (%r12)
	movl	$1, 8(%r12)
LBB0_66:
	movl	$0, 24(%r12)
	movl	16(%rbx), %eax
	movl	%eax, 32(%r12)
LBB0_40:
	movq	48(%r12), %rax
	movq	%rax, 48(%rsp)
	movups	(%r12), %xmm0
	movups	16(%r12), %xmm1
	movups	32(%r12), %xmm2
	movups	%xmm2, 32(%rsp)
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	movq	%rbx, %rdi
	callq	_check_all_characters
	movl	%eax, %r12d
	jmp	LBB0_74
LBB0_59:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.8(%rip), %rsi
LBB0_36:
	xorl	%r12d, %r12d
	movl	%r14d, %ecx
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_74
LBB0_67:
	cmpl	$43, %r14d
	je	LBB0_70
## %bb.68:
	cmpl	$45, %r14d
	jne	LBB0_69
LBB0_70:
	movl	$0, 8(%r12)
	jmp	LBB0_40
LBB0_69:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.9(%rip), %rsi
	xorl	%r12d, %r12d
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_74
	.cfi_endproc
                                        ## -- End function
	.comm	_exponent,8,3                   ## @exponent
	.comm	_start,8,3                      ## @start
	.comm	_hexdigits,8,3                  ## @hexdigits
	.comm	_stderr,4,2                     ## @stderr
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%s\n"

L_.str.1:                               ## @.str.1
	.asciz	"%s: read beyond end of string (%lu)\n"

L_.str.2:                               ## @.str.2
	.asciz	"%s: negative when it is not\n"

L_.str.3:                               ## @.str.3
	.asciz	"%s: zero when it is not\n"

L_.str.4:                               ## @.str.4
	.asciz	"%s: positive when it is not\n"

L_.str.5:                               ## @.str.5
	.asciz	"%s: digit '%c' not accepted\n"

L_.str.6:                               ## @.str.6
	.asciz	"%s: saw a digit (%c) but number not valid\n"

	.comm	_state_characters,8,3           ## @state_characters
	.comm	_fraction,8,3                   ## @fraction
L_.str.7:                               ## @.str.7
	.asciz	"%s: character '%c' not accepted\n"

L_.str.8:                               ## @.str.8
	.asciz	"%s: saw a non-digit (%c) but number valid\n"

L_.str.9:                               ## @.str.9
	.asciz	"checkfp: internal error (1)\n"

L_.str.10:                              ## @.str.10
	.asciz	"%s: character '%c' [0x%.2x] accepted\n"

L_.str.11:                              ## @.str.11
	.asciz	"%s: character '%c' [0x%.2x] changed number validity\n"

	.no_dead_strip	_check_one_character
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function check_one_character
_check_one_character:                   ; @check_one_character
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x26, x25, [sp, #96]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #112]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #128]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #144]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.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
	mov	x21, x2
	mov	x20, x1
	mov	x19, x0
	stur	wzr, [x29, #-68]
	sturb	w2, [x29, #-69]
	add	x23, x1, #48
	sub	x0, x29, #69
	sub	x3, x29, #68
	mov	w1, #1
	mov	x2, x23
	bl	_png_check_fp_number
	mov	x22, x0
	ldur	w25, [x29, #-68]
	ldr	x8, [x20]
Lloh0:
	adrp	x24, _exponent@GOTPAGE
Lloh1:
	ldr	x24, [x24, _exponent@GOTPAGEOFF]
	ldr	x9, [x24]
	cmp	x8, x9
	b.eq	LBB0_4
; %bb.1:
	mov	x0, x21
	bl	_isdigit
	cmp	w21, #48
	b.eq	LBB0_4
; %bb.2:
	cbz	x0, LBB0_4
; %bb.3:
	str	xzr, [x20, #40]
LBB0_4:
	ldr	x8, [x20]
Lloh2:
	adrp	x26, _start@GOTPAGE
Lloh3:
	ldr	x26, [x26, _start@GOTPAGEOFF]
	ldr	x9, [x26]
	cmp	x8, x9
	b.ne	LBB0_8
; %bb.5:
	cmp	w21, #45
	b.ne	LBB0_8
; %bb.6:
	ldr	w8, [x20, #8]
	cbz	w8, LBB0_8
; %bb.7:
	mov	w8, #1
	str	w8, [x20, #12]
LBB0_8:
	mov	x0, x21
	bl	_isprint
	ldr	x8, [x19]
	ldr	x9, [x20, #16]
	add	x10, x9, #1
	str	x10, [x20, #16]
	cbz	x0, LBB0_10
; %bb.9:
	strb	w21, [x8, x9]
	b	LBB0_11
LBB0_10:
	mov	w10, #60
	strb	w10, [x8, x9]
Lloh4:
	adrp	x8, _hexdigits@GOTPAGE
Lloh5:
	ldr	x8, [x8, _hexdigits@GOTPAGEOFF]
	ldr	x9, [x8]
	ubfx	w10, w21, #4, #4
	ldr	x9, [x9, w10, uxtw #3]
	ldr	x10, [x19]
	ldr	x11, [x20, #16]
	add	x12, x11, #1
	str	x12, [x20, #16]
	strb	w9, [x10, x11]
	ldr	x8, [x8]
	and	w9, w21, #0xf
	ldr	x8, [x8, w9, uxtw #3]
	ldr	x9, [x19]
	ldr	x10, [x20, #16]
	add	x11, x10, #1
	str	x11, [x20, #16]
	strb	w8, [x9, x10]
	ldr	x8, [x19]
	ldr	x9, [x20, #16]
	add	x10, x9, #1
	str	x10, [x20, #16]
	mov	w10, #62
	strb	w10, [x8, x9]
LBB0_11:
	ldr	x8, [x19]
	ldr	x9, [x20, #16]
	strb	wzr, [x8, x9]
	ldr	w8, [x19, #8]
	cmp	w8, #2
	b.lt	LBB0_13
; %bb.12:
Lloh6:
	adrp	x8, _stderr@GOTPAGE
Lloh7:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh8:
	ldr	w0, [x8]
	ldr	x8, [x19]
	str	x8, [sp]
Lloh9:
	adrp	x1, l_.str@PAGE
Lloh10:
	add	x1, x1, l_.str@PAGEOFF
	bl	_fprintf
LBB0_13:
	ldr	w8, [x19, #12]
	add	w8, w8, #1
	str	w8, [x19, #12]
	sub	w8, w8, #244, lsl #12           ; =999424
	cmp	w8, #576
	b.ne	LBB0_18
; %bb.14:
	ldr	w8, [x19, #8]
	cmp	w8, #1
	b.ne	LBB0_16
; %bb.15:
Lloh11:
	adrp	x8, _stderr@GOTPAGE
Lloh12:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh13:
	ldr	w1, [x8]
	mov	w0, #46
	bl	_fputc
LBB0_16:
	str	wzr, [x19, #12]
	ldr	w8, [x19, #28]
	add	w8, w8, #1
	str	w8, [x19, #28]
	cbnz	w22, LBB0_19
LBB0_17:
	ldr	w8, [x19, #24]
	add	w8, w8, #1
	str	w8, [x19, #24]
	cmp	w25, #1
	b.ne	LBB0_20
	b	LBB0_21
LBB0_18:
	cbz	w22, LBB0_17
LBB0_19:
	cmp	w25, #1
	b.eq	LBB0_21
LBB0_20:
	ldr	w8, [x19, #20]
	add	w8, w8, #1
	str	w8, [x19, #20]
LBB0_21:
	ldursw	x8, [x29, #-68]
	cmp	w8, #2
	b.hs	LBB0_35
; %bb.22:
	ldr	w0, [x23]
	bl	_PNG_FP_IS_NEGATIVE
	cbz	w22, LBB0_24
; %bb.23:
	ldr	x8, [x20, #40]
	cbz	x8, LBB0_36
LBB0_24:
	mov	w8, #0
	cmp	w0, w8
	b.ne	LBB0_37
LBB0_25:
	ldr	w0, [x23]
	bl	_PNG_FP_IS_ZERO
	cbz	w22, LBB0_38
; %bb.26:
	ldr	x8, [x20, #40]
	cmp	x8, #0
	cset	w8, ne
	cmp	w0, w8
	b.ne	LBB0_39
LBB0_27:
	ldr	w0, [x23]
	bl	_PNG_FP_IS_POSITIVE
	cbz	w22, LBB0_29
; %bb.28:
	ldr	x8, [x20, #40]
	cbz	x8, LBB0_40
LBB0_29:
	mov	w8, #0
	cmp	w0, w8
	b.ne	LBB0_41
LBB0_30:
	mov	x0, x21
	bl	_isdigit
	cbz	x0, LBB0_42
; %bb.31:
	cmp	w25, #1
	b.ne	LBB0_57
; %bb.32:
	cbz	w22, LBB0_58
; %bb.33:
	ldr	w8, [x20, #24]
	add	w9, w8, #1
	str	wzr, [x20, #8]
	mov	w10, #1
	stp	w9, w10, [x20, #24]
	tbnz	w8, #31, LBB0_70
; %bb.34:
Lloh14:
	adrp	x8, _state_characters@GOTPAGE
Lloh15:
	ldr	x8, [x8, _state_characters@GOTPAGEOFF]
Lloh16:
	ldr	x8, [x8]
	ldr	x9, [x20]
	ldr	w2, [x8, x9, lsl #2]
	ldp	q0, q1, [x20]
	stp	q0, q1, [sp, #32]
	ldr	q0, [x20, #32]
	str	q0, [sp, #64]
	ldr	x8, [x20, #48]
	str	x8, [sp, #80]
	add	x1, sp, #32
	mov	x0, x19
	bl	_check_some_characters
	b	LBB0_73
LBB0_35:
Lloh17:
	adrp	x9, _stderr@GOTPAGE
Lloh18:
	ldr	x9, [x9, _stderr@GOTPAGEOFF]
Lloh19:
	ldr	w0, [x9]
	ldr	x9, [x19]
	stp	x9, x8, [sp]
Lloh20:
	adrp	x1, l_.str.1@PAGE
Lloh21:
	add	x1, x1, l_.str.1@PAGEOFF
	b	LBB0_72
LBB0_36:
	ldr	w8, [x20, #12]
	cmp	w8, #0
	cset	w8, ne
	cmp	w0, w8
	b.eq	LBB0_25
LBB0_37:
Lloh22:
	adrp	x8, _stderr@GOTPAGE
Lloh23:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh24:
	ldr	w0, [x8]
	ldr	x8, [x19]
	str	x8, [sp]
Lloh25:
	adrp	x1, l_.str.2@PAGE
Lloh26:
	add	x1, x1, l_.str.2@PAGEOFF
	b	LBB0_72
LBB0_38:
	mov	w8, #0
	cmp	w0, w8
	b.eq	LBB0_27
LBB0_39:
Lloh27:
	adrp	x8, _stderr@GOTPAGE
Lloh28:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh29:
	ldr	w0, [x8]
	ldr	x8, [x19]
	str	x8, [sp]
Lloh30:
	adrp	x1, l_.str.3@PAGE
Lloh31:
	add	x1, x1, l_.str.3@PAGEOFF
	b	LBB0_72
LBB0_40:
	ldr	w8, [x20, #12]
	cmp	w8, #0
	cset	w8, eq
	cmp	w0, w8
	b.eq	LBB0_30
LBB0_41:
Lloh32:
	adrp	x8, _stderr@GOTPAGE
Lloh33:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh34:
	ldr	w0, [x8]
	ldr	x8, [x19]
	str	x8, [sp]
Lloh35:
	adrp	x1, l_.str.4@PAGE
Lloh36:
	add	x1, x1, l_.str.4@PAGEOFF
	b	LBB0_72
LBB0_42:
	cmp	w21, #43
	b.eq	LBB0_45
; %bb.43:
	cmp	w21, #46
	b.eq	LBB0_59
; %bb.44:
	cmp	w21, #45
	b.ne	LBB0_47
LBB0_45:
	ldr	x8, [x20]
Lloh37:
	adrp	x9, _fraction@GOTPAGE
Lloh38:
	ldr	x9, [x9, _fraction@GOTPAGEOFF]
Lloh39:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_47
; %bb.46:
	ldr	w9, [x20, #8]
	cbnz	w9, LBB0_50
LBB0_47:
	and	w8, w21, #0xffffffdf
	cmp	w8, #69
	b.ne	LBB0_60
; %bb.48:
	ldr	w8, [x20, #28]
	cbz	w8, LBB0_60
; %bb.49:
	ldr	x8, [x20]
	ldr	x9, [x24]
	cmp	x8, x9
	b.eq	LBB0_60
LBB0_50:
	cmp	w25, #1
	b.ne	LBB0_64
; %bb.51:
	ldr	x9, [x26]
	cbz	w22, LBB0_54
; %bb.52:
	cmp	w21, #46
	b.ne	LBB0_71
; %bb.53:
	cmp	x8, x9
	mov	x9, x8
	b.ne	LBB0_71
LBB0_54:
	str	w22, [x20, #28]
	cmp	w21, #46
	b.ne	LBB0_66
; %bb.55:
	cmp	x8, x9
	b.ne	LBB0_66
; %bb.56:
	cmp	w22, #0
	cset	w8, eq
Lloh40:
	adrp	x9, _fraction@GOTPAGE
Lloh41:
	ldr	x9, [x9, _fraction@GOTPAGEOFF]
Lloh42:
	ldr	x9, [x9]
	str	x9, [x20]
	b	LBB0_69
LBB0_57:
Lloh43:
	adrp	x8, _stderr@GOTPAGE
Lloh44:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	ldr	x8, [x19]
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
	stp	x8, x21, [sp]
Lloh46:
	adrp	x1, l_.str.5@PAGE
Lloh47:
	add	x1, x1, l_.str.5@PAGEOFF
	b	LBB0_72
LBB0_58:
Lloh48:
	adrp	x8, _stderr@GOTPAGE
Lloh49:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh50:
	ldr	w0, [x8]
	ldr	x8, [x19]
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
	stp	x8, x21, [sp]
Lloh51:
	adrp	x1, l_.str.6@PAGE
Lloh52:
	add	x1, x1, l_.str.6@PAGEOFF
	b	LBB0_72
LBB0_59:
	ldr	x8, [x20]
	ldr	x9, [x26]
	cmp	x8, x9
	b.eq	LBB0_50
LBB0_60:
	cmp	w25, #1
	b.ne	LBB0_62
; %bb.61:
Lloh53:
	adrp	x8, _stderr@GOTPAGE
Lloh54:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh55:
	ldr	w0, [x8]
	ldr	x8, [x19]
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
	stp	x21, x21, [sp, #8]
	str	x8, [sp]
Lloh56:
	adrp	x1, l_.str.10@PAGE
Lloh57:
	add	x1, x1, l_.str.10@PAGEOFF
	b	LBB0_72
LBB0_62:
	ldr	w8, [x20, #28]
	cmp	w22, w8
	b.ne	LBB0_65
; %bb.63:
	mov	w0, #1
	b	LBB0_73
LBB0_64:
Lloh58:
	adrp	x8, _stderr@GOTPAGE
Lloh59:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh60:
	ldr	w0, [x8]
	ldr	x8, [x19]
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
	stp	x8, x21, [sp]
Lloh61:
	adrp	x1, l_.str.7@PAGE
Lloh62:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_72
LBB0_65:
Lloh63:
	adrp	x8, _stderr@GOTPAGE
Lloh64:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh65:
	ldr	w0, [x8]
	ldr	x8, [x19]
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
	stp	x21, x21, [sp, #8]
	str	x8, [sp]
Lloh66:
	adrp	x1, l_.str.11@PAGE
Lloh67:
	add	x1, x1, l_.str.11@PAGEOFF
	b	LBB0_72
LBB0_66:
	and	w9, w21, #0xffffffdf
	cmp	w9, #69
	b.ne	LBB0_74
; %bb.67:
	ldr	x9, [x24]
	cmp	x8, x9
	b.hs	LBB0_74
; %bb.68:
	str	x9, [x20]
	mov	w8, #1
LBB0_69:
	str	w8, [x20, #8]
	str	wzr, [x20, #24]
	ldr	w8, [x19, #16]
	str	w8, [x20, #32]
LBB0_70:
	ldp	q0, q1, [x20]
	stp	q0, q1, [sp, #32]
	ldr	q0, [x20, #32]
	str	q0, [sp, #64]
	ldr	x8, [x20, #48]
	str	x8, [sp, #80]
	add	x1, sp, #32
	mov	x0, x19
	bl	_check_all_characters
	b	LBB0_73
LBB0_71:
Lloh68:
	adrp	x8, _stderr@GOTPAGE
Lloh69:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh70:
	ldr	w0, [x8]
	ldr	x8, [x19]
	stp	x8, x21, [sp]
Lloh71:
	adrp	x1, l_.str.8@PAGE
Lloh72:
	add	x1, x1, l_.str.8@PAGEOFF
LBB0_72:
	bl	_fprintf
	mov	w0, #0
LBB0_73:
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #128]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #112]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #96]             ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
LBB0_74:
	cmp	w21, #43
	b.eq	LBB0_76
; %bb.75:
	cmp	w21, #45
	b.ne	LBB0_77
LBB0_76:
	str	wzr, [x20, #8]
	b	LBB0_70
LBB0_77:
Lloh73:
	adrp	x8, _stderr@GOTPAGE
Lloh74:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh75:
	ldr	w0, [x8]
Lloh76:
	adrp	x1, l_.str.9@PAGE
Lloh77:
	add	x1, x1, l_.str.9@PAGEOFF
	b	LBB0_72
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpAdd	Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpAdd	Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.cfi_endproc
                                        ; -- End function
	.comm	_exponent,8,3                   ; @exponent
	.comm	_start,8,3                      ; @start
	.comm	_hexdigits,8,3                  ; @hexdigits
	.comm	_stderr,4,2                     ; @stderr
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%s\n"

l_.str.1:                               ; @.str.1
	.asciz	"%s: read beyond end of string (%lu)\n"

l_.str.2:                               ; @.str.2
	.asciz	"%s: negative when it is not\n"

l_.str.3:                               ; @.str.3
	.asciz	"%s: zero when it is not\n"

l_.str.4:                               ; @.str.4
	.asciz	"%s: positive when it is not\n"

l_.str.5:                               ; @.str.5
	.asciz	"%s: digit '%c' not accepted\n"

l_.str.6:                               ; @.str.6
	.asciz	"%s: saw a digit (%c) but number not valid\n"

	.comm	_state_characters,8,3           ; @state_characters
	.comm	_fraction,8,3                   ; @fraction
l_.str.7:                               ; @.str.7
	.asciz	"%s: character '%c' not accepted\n"

l_.str.8:                               ; @.str.8
	.asciz	"%s: saw a non-digit (%c) but number valid\n"

l_.str.9:                               ; @.str.9
	.asciz	"checkfp: internal error (1)\n"

l_.str.10:                              ; @.str.10
	.asciz	"%s: character '%c' [0x%.2x] accepted\n"

l_.str.11:                              ; @.str.11
	.asciz	"%s: character '%c' [0x%.2x] changed number validity\n"

	.no_dead_strip	_check_one_character
.subsections_via_symbols
