	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function save_reductions
_save_reductions:                       ## @save_reductions
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	_itemset@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_itemsetend@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	%rcx, %rax
	jae	LBB0_23
## %bb.1:
	movq	_ritem@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movq	_redset@GOTPCREL(%rip), %r14
	movq	(%r14), %rsi
	xorl	%ebx, %ebx
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_4:                                 ##   in Loop: Header=BB0_2 Depth=1
	addq	$8, %rax
	cmpq	%rcx, %rax
	jae	LBB0_5
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movq	(%rax), %rdi
	movl	(%rdx,%rdi,4), %edi
	testl	%edi, %edi
	jns	LBB0_4
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	negl	%edi
	movq	%rdi, (%rsi,%rbx,8)
	incq	%rbx
	jmp	LBB0_4
LBB0_5:
	testq	%rbx, %rbx
	je	LBB0_23
## %bb.6:
	leal	24(,%rbx,8), %edi
	callq	_allocate
	movq	_this_state@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, 24(%rax)
	movq	%rbx, (%rax)
	testq	%rbx, %rbx
	jle	LBB0_19
## %bb.7:
	movq	(%r14), %rcx
	leaq	(%rcx,%rbx,8), %r11
	leaq	8(%rcx), %rdx
	cmpq	%rdx, %r11
	cmovaq	%r11, %rdx
	movq	8(%rax), %rsi
	movq	%rcx, %r9
	notq	%r9
	addq	%rdx, %r9
	cmpq	$24, %r9
	jb	LBB0_18
## %bb.8:
	movq	%rsi, %rdx
	subq	%rcx, %rdx
	cmpq	$32, %rdx
	jb	LBB0_18
## %bb.9:
	shrq	$3, %r9
	incq	%r9
	movq	%r9, %r8
	andq	$-4, %r8
	leaq	-4(%r8), %rdx
	movq	%rdx, %rdi
	shrq	$2, %rdi
	incq	%rdi
	movl	%edi, %r10d
	andl	$3, %r10d
	cmpq	$12, %rdx
	jae	LBB0_11
## %bb.10:
	xorl	%ebx, %ebx
	jmp	LBB0_13
LBB0_11:
	andq	$-4, %rdi
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	movups	(%rcx,%rbx,8), %xmm0
	movups	16(%rcx,%rbx,8), %xmm1
	movups	%xmm0, (%rsi,%rbx,8)
	movups	%xmm1, 16(%rsi,%rbx,8)
	movups	32(%rcx,%rbx,8), %xmm0
	movups	48(%rcx,%rbx,8), %xmm1
	movups	%xmm0, 32(%rsi,%rbx,8)
	movups	%xmm1, 48(%rsi,%rbx,8)
	movups	64(%rcx,%rbx,8), %xmm0
	movups	80(%rcx,%rbx,8), %xmm1
	movups	%xmm0, 64(%rsi,%rbx,8)
	movups	%xmm1, 80(%rsi,%rbx,8)
	movups	96(%rcx,%rbx,8), %xmm0
	movups	112(%rcx,%rbx,8), %xmm1
	movups	%xmm0, 96(%rsi,%rbx,8)
	movups	%xmm1, 112(%rsi,%rbx,8)
	addq	$16, %rbx
	addq	$-4, %rdi
	jne	LBB0_12
LBB0_13:
	testq	%r10, %r10
	je	LBB0_16
## %bb.14:
	leaq	(%rsi,%rbx,8), %rdi
	addq	$16, %rdi
	leaq	(%rcx,%rbx,8), %rbx
	addq	$16, %rbx
	shlq	$5, %r10
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_15:                                ## =>This Inner Loop Header: Depth=1
	movups	-16(%rbx,%rdx), %xmm0
	movups	(%rbx,%rdx), %xmm1
	movups	%xmm0, -16(%rdi,%rdx)
	movups	%xmm1, (%rdi,%rdx)
	addq	$32, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_15
LBB0_16:
	cmpq	%r8, %r9
	je	LBB0_19
## %bb.17:
	leaq	(%rcx,%r8,8), %rcx
	leaq	(%rsi,%r8,8), %rsi
	.p2align	4, 0x90
LBB0_18:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rcx), %rdx
	addq	$8, %rcx
	movq	%rdx, (%rsi)
	addq	$8, %rsi
	cmpq	%r11, %rcx
	jb	LBB0_18
LBB0_19:
	movq	_last_reduction@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdx
	testq	%rdx, %rdx
	jne	LBB0_20
## %bb.21:
	movq	_first_reduction@GOTPCREL(%rip), %rdx
	jmp	LBB0_22
LBB0_20:
	addq	$16, %rdx
LBB0_22:
	movq	%rax, (%rdx)
	movq	%rax, (%rcx)
LBB0_23:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_itemset,8,3                    ## @itemset
	.comm	_itemsetend,8,3                 ## @itemsetend
	.comm	_ritem,8,3                      ## @ritem
	.comm	_redset,8,3                     ## @redset
	.comm	_this_state,8,3                 ## @this_state
	.comm	_last_reduction,8,3             ## @last_reduction
	.comm	_first_reduction,8,3            ## @first_reduction
	.no_dead_strip	_save_reductions
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function save_reductions
_save_reductions:                       ; @save_reductions
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
Lloh0:
	adrp	x8, _itemset@GOTPAGE
Lloh1:
	ldr	x8, [x8, _itemset@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
Lloh3:
	adrp	x9, _itemsetend@GOTPAGE
Lloh4:
	ldr	x9, [x9, _itemsetend@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	cmp	x8, x9
	b.hs	LBB0_14
; %bb.1:
	mov	x19, #0
Lloh6:
	adrp	x10, _ritem@GOTPAGE
Lloh7:
	ldr	x10, [x10, _ritem@GOTPAGEOFF]
Lloh8:
	ldr	x10, [x10]
Lloh9:
	adrp	x20, _redset@GOTPAGE
Lloh10:
	ldr	x20, [x20, _redset@GOTPAGEOFF]
	ldr	x11, [x20]
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x8, x8, #8
	cmp	x8, x9
	b.hs	LBB0_5
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x12, [x8]
	ldr	w12, [x10, x12, lsl #2]
	tbz	w12, #31, LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	neg	w12, w12
	str	x12, [x11, x19, lsl #3]
	add	x19, x19, #1
	b	LBB0_2
LBB0_5:
	cbz	x19, LBB0_14
; %bb.6:
	lsl	w8, w19, #3
	add	w0, w8, #24
	bl	_allocate
Lloh11:
	adrp	x8, _this_state@GOTPAGE
Lloh12:
	ldr	x8, [x8, _this_state@GOTPAGEOFF]
Lloh13:
	ldr	x8, [x8]
	ldr	w8, [x8]
	str	w8, [x0, #24]
	str	x19, [x0]
	cmp	x19, #1
	b.lt	LBB0_13
; %bb.7:
	ldr	x9, [x20]
	add	x8, x9, x19, lsl #3
	ldr	x10, [x0, #8]
	add	x11, x9, #8
	cmp	x8, x11
	csel	x11, x8, x11, hi
	mvn	x12, x9
	add	x11, x11, x12
	cmp	x11, #56
	b.lo	LBB0_12
; %bb.8:
	sub	x12, x10, x9
	cmp	x12, #64
	b.lo	LBB0_12
; %bb.9:
	lsr	x11, x11, #3
	add	x11, x11, #1
	and	x12, x11, #0x3ffffffffffffff8
	lsl	x14, x12, #3
	add	x13, x9, x14
	add	x14, x10, x14
	add	x9, x9, #32
	add	x10, x10, #32
	mov	x15, x12
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x15, x15, #8
	b.ne	LBB0_10
; %bb.11:
	mov	x9, x13
	mov	x10, x14
	cmp	x11, x12
	b.eq	LBB0_13
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	ldr	x11, [x9], #8
	str	x11, [x10], #8
	cmp	x9, x8
	b.lo	LBB0_12
LBB0_13:
Lloh14:
	adrp	x8, _last_reduction@GOTPAGE
Lloh15:
	ldr	x8, [x8, _last_reduction@GOTPAGEOFF]
	ldr	x9, [x8]
	add	x10, x9, #16
Lloh16:
	adrp	x11, _first_reduction@GOTPAGE
Lloh17:
	ldr	x11, [x11, _first_reduction@GOTPAGEOFF]
	cmp	x9, #0
	csel	x9, x11, x10, eq
	str	x0, [x9]
	str	x0, [x8]
LBB0_14:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh14, Lloh15
	.cfi_endproc
                                        ; -- End function
	.comm	_itemset,8,3                    ; @itemset
	.comm	_itemsetend,8,3                 ; @itemsetend
	.comm	_ritem,8,3                      ; @ritem
	.comm	_redset,8,3                     ; @redset
	.comm	_this_state,8,3                 ; @this_state
	.comm	_last_reduction,8,3             ; @last_reduction
	.comm	_first_reduction,8,3            ; @first_reduction
	.no_dead_strip	_save_reductions
.subsections_via_symbols
