	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function restore
_restore:                               ## @restore
	.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	%r12
	pushq	%rbx
	subq	$64, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%esi, %eax
	movss	%xmm0, -84(%rbp)                ## 4-byte Spill
	movq	%rdi, %r15
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, -40(%rbp)
	movups	L___const.restore.buf+9(%rip), %xmm0
	movups	%xmm0, -71(%rbp)
	movaps	L___const.restore.buf(%rip), %xmm0
	movaps	%xmm0, -80(%rbp)
	movq	_FLT_DIG@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%eax, %edi
	callq	_Min
	movl	%eax, %r14d
	leal	-1(%r14), %edx
	movss	-84(%rbp), %xmm0                ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	cvtss2sd	%xmm0, %xmm0
	leaq	L_.str(%rip), %rsi
	movq	%r15, %rdi
	movb	$1, %al
	callq	_sprintf
	movq	%r15, %rdi
	movl	$101, %esi
	callq	_strchr
	testq	%rax, %rax
	je	LBB0_1
## %bb.3:
	movq	%rax, %rbx
	leaq	1(%rax), %rdi
	callq	_atoi
	testl	%eax, %eax
	je	LBB0_4
## %bb.5:
	movl	%eax, %r12d
	movl	%eax, %edi
	callq	_Abs
	cmpl	$4, %eax
	jg	LBB0_31
## %bb.6:
	xorps	%xmm0, %xmm0
	xorl	%eax, %eax
	movss	-84(%rbp), %xmm1                ## 4-byte Reload
                                        ## xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm0
	seta	%al
	movb	(%r15,%rax), %bl
	movl	$10, %ecx
	cmpb	$101, %bl
	je	LBB0_10
## %bb.7:
	addq	%r15, %rax
	incq	%rax
	movl	$10, %ecx
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movslq	%ecx, %rcx
	movb	%bl, -80(%rbp,%rcx)
	xorl	%esi, %esi
	cmpb	$46, %bl
	sete	%sil
	cmovel	%ecx, %edx
	negl	%esi
	addl	%esi, %ecx
	incl	%ecx
	movzbl	(%rax), %ebx
	incq	%rax
	cmpb	$101, %bl
	jne	LBB0_8
## %bb.9:
	testl	%edx, %edx
	jne	LBB0_11
LBB0_10:
	movl	%ecx, %edx
LBB0_11:
	addl	%r12d, %edx
	testl	%r12d, %r12d
	jle	LBB0_27
## %bb.12:
	leal	-10(%rdx), %eax
	cmpl	%r14d, %eax
	jge	LBB0_13
## %bb.17:
	cmpl	$23, %edx
	jge	LBB0_18
## %bb.19:
	movslq	%edx, %rax
	movl	$23, %esi
	movl	$23, %edx
	subq	%rax, %rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	leaq	-20(%rax), %rdi
	cmpq	$3, %rdi
	jb	LBB0_22
## %bb.20:
	andq	$-4, %rdx
	movl	$23, %edi
	.p2align	4, 0x90
LBB0_21:                                ## =>This Inner Loop Header: Depth=1
	leaq	-4(%rdi), %rsi
	movl	-84(%rbp,%rdi), %ebx
	movl	%ebx, -83(%rbp,%rdi)
	leaq	(%rdx,%rdi), %rbx
	addq	$-4, %rbx
	movq	%rsi, %rdi
	cmpq	$23, %rbx
	jne	LBB0_21
LBB0_22:
	testq	%rcx, %rcx
	je	LBB0_25
## %bb.23:
	leaq	(%rsi,%rbp), %rdx
	addq	$-80, %rdx
	negq	%rcx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_24:                                ## =>This Inner Loop Header: Depth=1
	movzbl	-1(%rdx,%rsi), %ebx
	movb	%bl, (%rdx,%rsi)
	decq	%rsi
	cmpq	%rsi, %rcx
	jne	LBB0_24
	jmp	LBB0_25
LBB0_1:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-40(%rbp), %rax
	jne	LBB0_33
## %bb.2:
	movq	%r15, %rdi
	addq	$64, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_strlen                         ## TAILCALL
LBB0_4:
	movb	$0, (%rbx)
	jmp	LBB0_31
LBB0_27:
	leal	-1(%rdx), %eax
	xorps	%xmm0, %xmm0
	ucomiss	%xmm1, %xmm0
	movslq	%r14d, %rcx
	leaq	-80(%rbp), %rsi
	movb	$0, 10(%rcx,%rsi)
	cltq
	movb	$46, -80(%rbp,%rax)
	jbe	LBB0_29
## %bb.28:
	addl	$-3, %edx
	movslq	%edx, %rax
	leaq	(%rax,%rbp), %rsi
	addq	$-80, %rsi
	movb	$45, -80(%rbp,%rax)
	jmp	LBB0_30
LBB0_13:
	movslq	%r14d, %rax
	leaq	-80(%rbp), %rcx
	movb	$0, 10(%rax,%rcx)
	movl	$11, %eax
	cmpl	$2, %r14d
	jl	LBB0_15
## %bb.14:
	movl	-61(%rbp), %eax
	movl	%eax, -60(%rbp)
	movq	-69(%rbp), %rax
	movq	%rax, -68(%rbp)
	movb	$46, -69(%rbp)
	addl	$11, %r14d
	movq	%r14, %rax
LBB0_15:
	leaq	(%rax,%rbp), %rdi
	addq	$-80, %rdi
	addl	$-11, %edx
	leaq	L_.str.1(%rip), %rsi
                                        ## kill: def $edx killed $edx killed $rdx
	xorl	%eax, %eax
	callq	_sprintf
	xorps	%xmm0, %xmm0
	ucomiss	-84(%rbp), %xmm0                ## 4-byte Folded Reload
	jbe	LBB0_26
LBB0_16:
	leaq	-71(%rbp), %rsi
	movb	$45, -71(%rbp)
	jmp	LBB0_30
LBB0_29:
	addl	$-2, %edx
	movslq	%edx, %rax
	leaq	(%rax,%rbp), %rsi
	addq	$-80, %rsi
	jmp	LBB0_30
LBB0_18:
	movl	%edx, %eax
LBB0_25:
	xorps	%xmm0, %xmm0
	ucomiss	%xmm1, %xmm0
	movslq	%r14d, %rcx
	leaq	-80(%rbp), %rdx
	movb	$0, 11(%rcx,%rdx)
	movb	$46, -80(%rbp,%rax)
	ja	LBB0_16
LBB0_26:
	leaq	-70(%rbp), %rsi
LBB0_30:
	movq	%r15, %rdi
	callq	_strcpy
LBB0_31:
	movq	%r15, %rdi
	callq	_strlen
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-40(%rbp), %rcx
	jne	LBB0_33
## %bb.32:
	addq	$64, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_33:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
	.p2align	4                               ## @__const.restore.buf
L___const.restore.buf:
	.asciz	"000000000000000000000000"

	.comm	_FLT_DIG,4,2                    ## @FLT_DIG
L_.str:                                 ## @.str
	.asciz	"%.*e"

L_.str.1:                               ## @.str.1
	.asciz	"e%d"

	.no_dead_strip	_restore
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function restore
_restore:                               ; @restore
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	d9, d8, [sp, #64]               ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.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 b8, -56
	.cfi_offset b9, -64
	mov	x8, x1
	fmov	s8, s0
	mov	x19, x0
Lloh0:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	str	x9, [sp, #56]
Lloh3:
	adrp	x9, l___const.restore.buf@PAGE
Lloh4:
	add	x9, x9, l___const.restore.buf@PAGEOFF
	ldr	q0, [x9]
	str	q0, [sp, #16]
	ldur	q0, [x9, #9]
	stur	q0, [sp, #25]
Lloh5:
	adrp	x9, _FLT_DIG@GOTPAGE
Lloh6:
	ldr	x9, [x9, _FLT_DIG@GOTPAGEOFF]
Lloh7:
	ldr	w1, [x9]
	mov	x0, x8
	bl	_Min
	mov	x20, x0
	sub	w2, w0, #1
	fcvt	d0, s8
	str	d0, [sp]
Lloh8:
	adrp	x1, l_.str@PAGE
Lloh9:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x19
	bl	_sprintf
	mov	x0, x19
	mov	w1, #101
	bl	_strchr
	cbz	x0, LBB0_5
; %bb.1:
	mov	x22, x0
	add	x0, x0, #1
	bl	_atoi
	cbz	w0, LBB0_7
; %bb.2:
	mov	x21, x0
	bl	_Abs
	cmp	w0, #4
	b.gt	LBB0_32
; %bb.3:
	fcmp	s8, #0.0
	cset	w9, mi
	ldrb	w11, [x19, x9]
	cmp	w11, #101
	b.ne	LBB0_8
; %bb.4:
	mov	w9, #10
	b	LBB0_11
LBB0_5:
	ldr	x8, [sp, #56]
Lloh10:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh11:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh12:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_34
; %bb.6:
	mov	x0, x19
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #64]               ; 16-byte Folded Reload
	add	sp, sp, #128
	b	_strlen
LBB0_7:
	strb	wzr, [x22]
	b	LBB0_32
LBB0_8:
	mov	w8, #0
	add	x9, x9, x19
	add	x10, x9, #1
	mov	w9, #10
	add	x12, sp, #16
LBB0_9:                                 ; =>This Inner Loop Header: Depth=1
	strb	w11, [x12, w9, sxtw]
	cmp	w11, #46
	csel	w8, w9, w8, eq
	cset	w11, eq
	sub	w9, w9, w11
	add	w9, w9, #1
	ldrb	w11, [x10], #1
	cmp	w11, #101
	b.ne	LBB0_9
; %bb.10:
	cbnz	w8, LBB0_12
LBB0_11:
	mov	x8, x9
LBB0_12:
	add	w8, w8, w21
	cmp	w21, #1
	b.lt	LBB0_19
; %bb.13:
	sub	w9, w8, #10
	cmp	w9, w20
	b.ge	LBB0_21
; %bb.14:
	cmp	w8, #23
	b.ge	LBB0_17
; %bb.15:
	mov	x9, #0
                                        ; kill: def $w8 killed $w8 killed $x8 def $x8
	sxtw	x8, w8
	add	x10, sp, #16
LBB0_16:                                ; =>This Inner Loop Header: Depth=1
	add	x11, x10, x9
	ldrb	w12, [x11, #22]
	strb	w12, [x11, #23]
	add	x11, x9, #22
	sub	x9, x9, #1
	cmp	x11, x8
	b.gt	LBB0_16
LBB0_17:
	add	x9, sp, #16
	add	x10, x9, w20, sxtw
	strb	wzr, [x10, #11]
	mov	w10, #46
	strb	w10, [x9, x8]
	fcmp	s8, #0.0
	b.pl	LBB0_24
; %bb.18:
	mov	w8, #9
	b	LBB0_28
LBB0_19:
	sub	w10, w8, #1
	add	x9, sp, #16
	add	x11, x9, w20, sxtw
	strb	wzr, [x11, #10]
	mov	w11, #46
	strb	w11, [x9, w10, sxtw]
	fcmp	s8, #0.0
	b.pl	LBB0_23
; %bb.20:
	sub	w8, w8, #3
	add	x1, x9, w8, sxtw
	mov	w8, #45
	strb	w8, [x1]
	b	LBB0_31
LBB0_21:
	add	x9, sp, #16
	add	x10, x9, w20, sxtw
	strb	wzr, [x10, #10]
	cmp	w20, #2
	b.lt	LBB0_25
; %bb.22:
	ldur	w10, [sp, #35]
	str	w10, [sp, #36]
	ldur	x10, [sp, #27]
	stur	x10, [sp, #28]
	mov	w10, #46
	strb	w10, [sp, #27]
	add	w10, w20, #11
	b	LBB0_26
LBB0_23:
	sub	w8, w8, #2
	add	x1, x9, w8, sxtw
	b	LBB0_31
LBB0_24:
	mov	w8, #10
	b	LBB0_30
LBB0_25:
	mov	w10, #11
LBB0_26:
	add	x0, x9, x10
	sub	w2, w8, #11
Lloh13:
	adrp	x1, l_.str.1@PAGE
Lloh14:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_sprintf
	fcmp	s8, #0.0
	b.pl	LBB0_29
; %bb.27:
	mov	w8, #9
	add	x9, sp, #16
LBB0_28:
	orr	x1, x9, x8
	mov	w8, #45
	strb	w8, [sp, #25]
	b	LBB0_31
LBB0_29:
	mov	w8, #10
	add	x9, sp, #16
LBB0_30:
	orr	x1, x9, x8
LBB0_31:
	mov	x0, x19
	bl	_strcpy
LBB0_32:
	mov	x0, x19
	bl	_strlen
	ldr	x8, [sp, #56]
Lloh15:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh16:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh17:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_34
; %bb.33:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #64]               ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_34:
	bl	___stack_chk_fail
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l___const.restore.buf:                  ; @__const.restore.buf
	.asciz	"000000000000000000000000"

	.comm	_FLT_DIG,4,2                    ; @FLT_DIG
l_.str:                                 ; @.str
	.asciz	"%.*e"

l_.str.1:                               ; @.str.1
	.asciz	"e%d"

	.no_dead_strip	_restore
.subsections_via_symbols
