	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function str_insert
_str_insert:                            ## @str_insert
	.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
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testl	%r8d, %r8d
	jle	LBB0_36
## %bb.1:
	movl	%edx, %r11d
	subl	%esi, %r11d
	cmpl	%r8d, %r11d
	cmovgel	%r8d, %r11d
	testl	%r11d, %r11d
	jle	LBB0_36
## %bb.2:
	movslq	%edx, %rax
	leaq	(%rdi,%rax), %r8
	leaq	(%rdi,%rax), %r15
	decq	%r15
	movl	%r11d, %r10d
	movq	%r15, %rbx
	subq	%r10, %rbx
	movslq	%esi, %r13
	leaq	(%rdi,%r13), %r9
	cmpq	%r9, %rbx
	jb	LBB0_24
## %bb.3:
	movq	%r8, %r14
	subq	%r10, %r14
	addq	$-2, %r14
	leaq	(%rdi,%r13), %r12
	decq	%r12
	cmpq	%r12, %r14
	cmovaeq	%r12, %r14
	notq	%r14
	addq	%r8, %r14
	subq	%r10, %r14
	cmpq	$8, %r14
	jae	LBB0_4
	.p2align	4, 0x90
LBB0_23:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rbx), %eax
	decq	%rbx
	movb	%al, (%r15)
	decq	%r15
	cmpq	%r9, %rbx
	jae	LBB0_23
LBB0_24:
	movb	$0, (%r8)
	cmpl	%esi, %edx
	jle	LBB0_36
## %bb.25:
	leaq	(%rdi,%r13), %rax
	incq	%rax
	cmpq	%r8, %rax
	cmovbeq	%r8, %rax
	movq	%rdi, %rdx
	notq	%rdx
	addq	%rax, %rdx
	leal	-1(%r11), %eax
	movq	%rdx, %rsi
	subq	%r13, %rsi
	cmpq	%rsi, %rax
	cmovbq	%rax, %rsi
	incq	%rsi
	cmpq	%r13, %rdx
	movl	$1, %r14d
	cmovneq	%rsi, %r14
	cmpq	$8, %r14
	jb	LBB0_26
## %bb.27:
	leaq	(%rdi,%r13), %rax
	subq	%rcx, %rax
	cmpq	$32, %rax
	jae	LBB0_28
LBB0_26:
	movq	%r9, %rdi
	movq	%rcx, %rbx
LBB0_33:
	incq	%rdi
	.p2align	4, 0x90
LBB0_34:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rbx), %eax
	movb	%al, -1(%rdi)
	cmpq	%r8, %rdi
	jae	LBB0_36
## %bb.35:                              ##   in Loop: Header=BB0_34 Depth=1
	incq	%rbx
	leal	-1(%r11), %eax
	incq	%rdi
	cmpl	$1, %r11d
	movl	%eax, %r11d
	ja	LBB0_34
LBB0_36:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_4:
	movq	%r13, -56(%rbp)                 ## 8-byte Spill
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movq	%r10, %r13
	leaq	(%rdi,%rax), %r10
	addq	$-2, %r10
	movq	%r10, %rax
	subq	%r13, %rax
	cmpq	%r12, %rax
	cmovaeq	%r12, %rax
	movq	%r13, -64(%rbp)                 ## 8-byte Spill
	addq	%r13, %rax
	subq	%rax, %r10
	movq	%r15, %rax
	subq	%r10, %rax
	cmpq	%r15, %rax
	ja	LBB0_5
## %bb.6:
	movq	%rbx, %rax
	subq	%r10, %rax
	cmpq	%rbx, %rax
	ja	LBB0_7
## %bb.8:
	cmpq	$32, %r14
	jae	LBB0_13
## %bb.9:
	xorl	%eax, %eax
	jmp	LBB0_10
LBB0_28:
	movabsq	$8589934560, %r10               ## imm = 0x1FFFFFFE0
	cmpq	$32, %r14
	jae	LBB0_37
## %bb.29:
	xorl	%edx, %edx
	jmp	LBB0_30
LBB0_5:
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	jmp	LBB0_23
LBB0_7:
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	jmp	LBB0_23
LBB0_13:
	movq	%r14, %rax
	andq	$-32, %rax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	addq	$-32, %rax
	movq	%rax, %r12
	shrq	$5, %r12
	incq	%r12
	testq	%rax, %rax
	je	LBB0_14
## %bb.15:
	movabsq	$1152921504606846972, %rax      ## imm = 0xFFFFFFFFFFFFFFC
	orq	$2, %rax
	movq	%r12, -80(%rbp)                 ## 8-byte Spill
	andq	%r12, %rax
	movq	%rdi, %r10
	movq	-72(%rbp), %r13                 ## 8-byte Reload
	leaq	-16(%r13), %r12
	subq	-64(%rbp), %r12                 ## 8-byte Folded Reload
	addq	%rdi, %r12
	addq	%rdi, %r13
	addq	$-16, %r13
	xorl	%r10d, %r10d
	.p2align	4, 0x90
LBB0_16:                                ## =>This Inner Loop Header: Depth=1
	movups	-16(%r12,%r10), %xmm0
	movups	(%r12,%r10), %xmm1
	movups	%xmm1, (%r13,%r10)
	movups	%xmm0, -16(%r13,%r10)
	movups	-48(%r12,%r10), %xmm0
	movups	-32(%r12,%r10), %xmm1
	movups	%xmm1, -32(%r13,%r10)
	movups	%xmm0, -48(%r13,%r10)
	addq	$-64, %r10
	addq	$-2, %rax
	jne	LBB0_16
## %bb.17:
	negq	%r10
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	-80(%rbp), %r12                 ## 8-byte Reload
	jmp	LBB0_18
LBB0_37:
	movq	%r14, %rdx
	andq	%r10, %rdx
	leaq	-32(%rdx), %rax
	movq	%rax, %rbx
	shrq	$5, %rbx
	incq	%rbx
	movl	%ebx, %r15d
	andl	$3, %r15d
	cmpq	$96, %rax
	jae	LBB0_39
## %bb.38:
	xorl	%eax, %eax
	jmp	LBB0_41
LBB0_39:
	andq	$-4, %rbx
	leaq	(%rdi,%r13), %rsi
	addq	$112, %rsi
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_40:                                ## =>This Inner Loop Header: Depth=1
	movups	(%rcx,%rax), %xmm0
	movups	16(%rcx,%rax), %xmm1
	movups	%xmm0, -112(%rsi,%rax)
	movups	%xmm1, -96(%rsi,%rax)
	movups	32(%rcx,%rax), %xmm0
	movups	48(%rcx,%rax), %xmm1
	movups	%xmm0, -80(%rsi,%rax)
	movups	%xmm1, -64(%rsi,%rax)
	movups	64(%rcx,%rax), %xmm0
	movups	80(%rcx,%rax), %xmm1
	movups	%xmm0, -48(%rsi,%rax)
	movups	%xmm1, -32(%rsi,%rax)
	movups	96(%rcx,%rax), %xmm0
	movups	112(%rcx,%rax), %xmm1
	movups	%xmm0, -16(%rsi,%rax)
	movups	%xmm1, (%rsi,%rax)
	subq	$-128, %rax
	addq	$-4, %rbx
	jne	LBB0_40
LBB0_41:
	testq	%r15, %r15
	je	LBB0_44
## %bb.42:
	leaq	(%rax,%rcx), %rsi
	addq	$16, %rsi
	addq	%rax, %r13
	leaq	(%rdi,%r13), %rax
	addq	$16, %rax
	shlq	$5, %r15
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_43:                                ## =>This Inner Loop Header: Depth=1
	movups	-16(%rsi,%rdi), %xmm0
	movups	(%rsi,%rdi), %xmm1
	movups	%xmm0, -16(%rax,%rdi)
	movups	%xmm1, (%rax,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %r15
	jne	LBB0_43
LBB0_44:
	cmpq	%rdx, %r14
	je	LBB0_36
## %bb.45:
	testb	$24, %r14b
	je	LBB0_46
LBB0_30:
	addq	$24, %r10
	andq	%r14, %r10
	leaq	(%r9,%r10), %rdi
	subl	%r10d, %r11d
	leaq	(%rcx,%r10), %rbx
	.p2align	4, 0x90
LBB0_31:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rcx,%rdx), %rax
	movq	%rax, (%r9,%rdx)
	addq	$8, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_31
## %bb.32:
	cmpq	%r10, %r14
	jne	LBB0_33
	jmp	LBB0_36
LBB0_14:
	xorl	%r10d, %r10d
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	movq	-48(%rbp), %rax                 ## 8-byte Reload
LBB0_18:
	testb	$1, %r12b
	je	LBB0_20
## %bb.19:
	movq	%r15, %r12
	subq	%r10, %r12
	movq	%rbx, %rax
	subq	%r10, %rax
	movups	-31(%rax), %xmm0
	movups	-15(%rax), %xmm1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movups	%xmm1, -15(%r12)
	movups	%xmm0, -31(%r12)
LBB0_20:
	cmpq	%rax, %r14
	je	LBB0_24
## %bb.21:
	testb	$24, %r14b
	je	LBB0_22
LBB0_10:
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movq	%r14, %r10
	andq	$-8, %r10
	subq	%r10, %r15
	subq	%r10, %rbx
	movq	-72(%rbp), %r12                 ## 8-byte Reload
	subq	%rax, %r12
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	negq	%rax
	leaq	(%r12,%rax), %r13
	addq	$-8, %r13
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	addq	%rdi, %r13
	movq	%rdi, -72(%rbp)                 ## 8-byte Spill
	addq	%rdi, %r12
	addq	$-8, %r12
	movq	%r10, -64(%rbp)                 ## 8-byte Spill
	subq	%r10, %rax
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	movq	%rax, %r10
	movq	(%r13,%rdi), %rax
	movq	%rax, (%r12,%rdi)
	movq	%r10, %rax
	addq	$-8, %rdi
	cmpq	%rdi, %r10
	jne	LBB0_11
## %bb.12:
	cmpq	-64(%rbp), %r14                 ## 8-byte Folded Reload
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	jne	LBB0_23
	jmp	LBB0_24
LBB0_46:
	addq	%rdx, %rcx
	subl	%edx, %r11d
	addq	%rdx, %r9
	jmp	LBB0_26
LBB0_22:
	subq	%rax, %rbx
	subq	%rax, %r15
	jmp	LBB0_23
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_str_insert
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function str_insert
_str_insert:                            ; @str_insert
	.cfi_startproc
; %bb.0:
                                        ; kill: def $w2 killed $w2 def $x2
                                        ; kill: def $w1 killed $w1 def $x1
	cmp	w4, #1
	b.lt	LBB0_12
; %bb.1:
	sub	w8, w2, w1
	cmp	w8, w4
	csel	w8, w8, w4, lt
	subs	w12, w8, #1
	b.lt	LBB0_12
; %bb.2:
	sxtw	x13, w2
	add	x9, x0, x13
	sub	x14, x9, #1
	sub	x15, x14, x8
	sxtw	x11, w1
	add	x10, x0, x11
	cmp	x15, x10
	b.lo	LBB0_5
; %bb.3:
	neg	x15, x8
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	ldrb	w16, [x14, x15]
	strb	w16, [x14], #-1
	add	x16, x14, x15
	cmp	x16, x10
	b.hs	LBB0_4
LBB0_5:
	strb	wzr, [x9]
	cmp	w2, w1
	b.le	LBB0_12
; %bb.6:
	add	x14, x0, x11
	add	x15, x14, #1
	add	x13, x0, x13
	cmp	x15, x13
	csinc	x13, x13, x14, ls
	mvn	x15, x0
	add	x13, x13, x15
	subs	x15, x13, x11
	cmp	x12, x15
	csel	x12, x12, x15, lo
	cmp	x13, x11
	mov	w13, #1
	csinc	x12, x13, x12, eq
	cmp	x12, #8
	b.lo	LBB0_8
; %bb.7:
	sub	x13, x14, x3
	cmp	x13, #64
	b.hs	LBB0_13
LBB0_8:
	mov	x13, x3
LBB0_9:
	add	x10, x10, #1
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x13], #1
	sturb	w11, [x10, #-1]
	cmp	x10, x9
	b.hs	LBB0_12
; %bb.11:                               ;   in Loop: Header=BB0_10 Depth=1
	sub	w11, w8, #1
	add	x10, x10, #1
	cmp	w8, #1
	mov	x8, x11
	b.hi	LBB0_10
LBB0_12:
	ret
LBB0_13:
	cmp	x12, #64
	b.hs	LBB0_15
; %bb.14:
	mov	x14, #0
	b	LBB0_19
LBB0_15:
	and	x14, x12, #0x1ffffffc0
	add	x13, x3, #32
	add	x15, x11, x0
	add	x15, x15, #32
	mov	x16, x14
LBB0_16:                                ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x13, #-32]
	ldp	q2, q3, [x13], #64
	stp	q0, q1, [x15, #-32]
	stp	q2, q3, [x15], #64
	subs	x16, x16, #64
	b.ne	LBB0_16
; %bb.17:
	cmp	x12, x14
	b.eq	LBB0_12
; %bb.18:
	tst	x12, #0x38
	b.eq	LBB0_22
LBB0_19:
	and	x15, x12, #0x1fffffff8
	add	x10, x10, x15
	sub	w8, w8, w15
	add	x13, x3, x15
	add	x16, x3, x14
	add	x11, x14, x11
	add	x11, x0, x11
	sub	x14, x14, x15
LBB0_20:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x16], #8
	str	d0, [x11], #8
	adds	x14, x14, #8
	b.ne	LBB0_20
; %bb.21:
	cmp	x12, x15
	b.ne	LBB0_9
	b	LBB0_12
LBB0_22:
	add	x13, x3, x14
	sub	w8, w8, w14
	add	x10, x10, x14
	b	LBB0_9
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_str_insert
.subsections_via_symbols
