	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pretwiddle
_pretwiddle:                            ## @pretwiddle
	.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
	movl	%edx, %ebx
	movq	24(%rbp), %r10
	movl	%ecx, %r11d
	testl	%ecx, %ecx
	jle	LBB0_1
## %bb.2:
	movl	%ebx, -44(%rbp)                 ## 4-byte Spill
	movq	%r10, %rbx
	movq	(%r10), %r10
	movl	%r9d, %r12d
	movl	%r12d, %ebx
	andl	$-2, %ebx
	movq	%r11, %rax
	shlq	$4, %rax
	xorl	%edx, %edx
	movq	%r10, %r15
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_10:                                ##   in Loop: Header=BB0_3 Depth=1
	movss	(%rsi,%rdx,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	addsd	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtsd2ss	%xmm1, %xmm0
	movss	%xmm0, (%rsi,%rdx,4)
	incq	%rdx
	addq	$8, %r15
	cmpq	%r11, %rdx
	je	LBB0_11
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_7 Depth 2
	xorpd	%xmm0, %xmm0
	testl	%r9d, %r9d
	jle	LBB0_10
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	cmpl	$1, %r9d
	jne	LBB0_6
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	xorl	%r14d, %r14d
	jmp	LBB0_8
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_3 Depth=1
	movq	%r15, %r13
	xorl	%r14d, %r14d
	.p2align	4, 0x90
LBB0_7:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movss	(%rdi,%r14,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	movss	4(%rdi,%r14,4), %xmm2           ## xmm2 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	mulsd	(%r13), %xmm1
	addsd	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm2, %xmm0
	mulsd	(%r13,%r11,8), %xmm0
	addsd	%xmm1, %xmm0
	addq	$2, %r14
	addq	%rax, %r13
	cmpq	%r14, %rbx
	jne	LBB0_7
LBB0_8:                                 ##   in Loop: Header=BB0_3 Depth=1
	testb	$1, %r12b
	je	LBB0_10
## %bb.9:                               ##   in Loop: Header=BB0_3 Depth=1
	movss	(%rdi,%r14,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	imulq	%r11, %r14
	addq	%rdx, %r14
	mulsd	(%r10,%r14,8), %xmm1
	addsd	%xmm1, %xmm0
	jmp	LBB0_10
LBB0_11:
	movq	%r11, %r15
	movq	24(%rbp), %r10
	movl	-44(%rbp), %ebx                 ## 4-byte Reload
	jmp	LBB0_12
LBB0_1:
	movslq	%ecx, %r15
LBB0_12:
	movl	%ebx, %eax
	subl	%ecx, %eax
	cltd
	idivl	%r8d
	testl	%ecx, %ecx
	jle	LBB0_22
## %bb.13:
	movl	16(%rbp), %r12d
	movslq	%ebx, %rcx
	leaq	(%rsi,%rcx,4), %r14
	leaq	(,%r15,4), %rcx
	subq	%rcx, %r14
	movslq	%r9d, %rcx
	movq	(%r10,%rcx,8), %r9
	movslq	%eax, %rdx
	leaq	(%rdi,%rdx,4), %rax
	leaq	(%rax,%rcx,4), %r8
	addq	$4, %r8
	movl	%r12d, %r10d
	movl	%r10d, %eax
	andl	$-2, %eax
	addq	%rcx, %rdx
	leaq	(%rdi,%rdx,4), %rdi
	addq	$8, %rdi
	movq	%r15, %rbx
	shlq	$4, %rbx
	xorl	%esi, %esi
	movq	%r9, %r13
	jmp	LBB0_14
	.p2align	4, 0x90
LBB0_21:                                ##   in Loop: Header=BB0_14 Depth=1
	movss	(%r14,%rsi,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	addsd	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtsd2ss	%xmm1, %xmm0
	movss	%xmm0, (%r14,%rsi,4)
	incq	%rsi
	addq	$8, %r13
	cmpq	%r11, %rsi
	je	LBB0_22
LBB0_14:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_18 Depth 2
	xorps	%xmm0, %xmm0
	testl	%r12d, %r12d
	jle	LBB0_21
## %bb.15:                              ##   in Loop: Header=BB0_14 Depth=1
	cmpl	$1, %r12d
	jne	LBB0_17
## %bb.16:                              ##   in Loop: Header=BB0_14 Depth=1
	xorl	%edx, %edx
	jmp	LBB0_19
	.p2align	4, 0x90
LBB0_17:                                ##   in Loop: Header=BB0_14 Depth=1
	movq	%r13, %rcx
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_18:                                ##   Parent Loop BB0_14 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movss	-4(%rdi,%rdx,4), %xmm1          ## xmm1 = mem[0],zero,zero,zero
	movss	(%rdi,%rdx,4), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	mulsd	(%rcx), %xmm1
	addsd	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm2, %xmm0
	mulsd	(%rcx,%r15,8), %xmm0
	addsd	%xmm1, %xmm0
	addq	$2, %rdx
	addq	%rbx, %rcx
	cmpq	%rdx, %rax
	jne	LBB0_18
LBB0_19:                                ##   in Loop: Header=BB0_14 Depth=1
	testb	$1, %r10b
	je	LBB0_21
## %bb.20:                              ##   in Loop: Header=BB0_14 Depth=1
	movss	(%r8,%rdx,4), %xmm1             ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	imulq	%r15, %rdx
	addq	%rsi, %rdx
	mulsd	(%r9,%rdx,8), %xmm1
	addsd	%xmm1, %xmm0
	jmp	LBB0_21
LBB0_22:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_pretwiddle
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pretwiddle
_pretwiddle:                            ; @pretwiddle
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	.cfi_offset w21, -24
	.cfi_offset w22, -32
                                        ; kill: def $w5 killed $w5 def $x5
	cmp	w3, #1
	b.lt	LBB0_23
; %bb.1:
	mov	x11, #0
	ldr	x12, [x7]
	mov	w8, w3
	mov	w13, w5
	cmp	w5, #7
	ccmp	w3, #1, #0, hi
	cset	w14, eq
	and	x15, x13, #0xfffffff8
	add	x16, x12, #32
	lsl	x9, x8, #6
	add	x17, x0, #16
	lsl	x10, x8, #3
	b	LBB0_4
LBB0_2:                                 ;   in Loop: Header=BB0_4 Depth=1
	movi	d0, #0000000000000000
LBB0_3:                                 ;   in Loop: Header=BB0_4 Depth=1
	lsl	x19, x11, #2
	ldr	s1, [x1, x19]
	fcvt	d1, s1
	fadd	d0, d0, d1
	fcvt	s0, d0
	str	s0, [x1, x19]
	add	x11, x11, #1
	add	x16, x16, #8
	cmp	x11, x8
	b.eq	LBB0_12
LBB0_4:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_7 Depth 2
                                        ;     Child Loop BB0_11 Depth 2
	cmp	w5, #1
	b.lt	LBB0_2
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	cbz	w14, LBB0_9
; %bb.6:                                ;   in Loop: Header=BB0_4 Depth=1
	movi	d0, #0000000000000000
	mov	x19, x17
	mov	x20, x16
	mov	x21, x15
LBB0_7:                                 ;   Parent Loop BB0_4 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	d1, d2, [x19, #-16]
	ldp	d3, d4, [x19], #32
	fcvtl	v1.2d, v1.2s
	fcvtl	v2.2d, v2.2s
	fcvtl	v3.2d, v3.2s
	fcvtl	v4.2d, v4.2s
	ldp	q5, q6, [x20, #-32]
	ldp	q7, q16, [x20]
	fmul.2d	v1, v5, v1
	mov	d5, v1[1]
	fmul.2d	v2, v6, v2
	mov	d6, v2[1]
	fmul.2d	v3, v7, v3
	mov	d7, v3[1]
	fmul.2d	v4, v16, v4
	mov	d16, v4[1]
	fadd	d0, d0, d1
	fadd	d0, d0, d5
	fadd	d0, d0, d2
	fadd	d0, d0, d6
	fadd	d0, d0, d3
	fadd	d0, d0, d7
	fadd	d0, d0, d4
	fadd	d0, d0, d16
	add	x20, x20, x9
	subs	x21, x21, #8
	b.ne	LBB0_7
; %bb.8:                                ;   in Loop: Header=BB0_4 Depth=1
	mov	x21, x15
	cmp	x15, x13
	b.eq	LBB0_3
	b	LBB0_10
LBB0_9:                                 ;   in Loop: Header=BB0_4 Depth=1
	mov	x21, #0
	movi	d0, #0000000000000000
LBB0_10:                                ;   in Loop: Header=BB0_4 Depth=1
	madd	x19, x8, x21, x11
	add	x19, x12, x19, lsl #3
	add	x20, x0, x21, lsl #2
	sub	x21, x13, x21
LBB0_11:                                ;   Parent Loop BB0_4 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	s1, [x20], #4
	fcvt	d1, s1
	ldr	d2, [x19]
	fmadd	d0, d1, d2, d0
	add	x19, x19, x10
	subs	x21, x21, #1
	b.ne	LBB0_11
	b	LBB0_3
LBB0_12:
	mov	x11, #0
	add	x12, x1, w2, sxtw #2
	sub	x12, x12, x8, lsl #2
	sxtw	x17, w5
	ldr	x13, [x7, w5, sxtw #3]
	sub	w14, w2, w3
	sdiv	w1, w14, w4
	mov	w14, w6
	cmp	w6, #7
	ccmp	w3, #1, #0, hi
	cset	w15, eq
	and	x16, x14, #0xfffffff8
	add	x1, x17, w1, sxtw
	add	x17, x13, #32
	add	x1, x0, x1, lsl #2
	add	x0, x1, #20
	add	x1, x1, #4
	b	LBB0_15
LBB0_13:                                ;   in Loop: Header=BB0_15 Depth=1
	movi	d0, #0000000000000000
LBB0_14:                                ;   in Loop: Header=BB0_15 Depth=1
	lsl	x2, x11, #2
	ldr	s1, [x12, x2]
	fcvt	d1, s1
	fadd	d0, d0, d1
	fcvt	s0, d0
	str	s0, [x12, x2]
	add	x11, x11, #1
	add	x17, x17, #8
	cmp	x11, x8
	b.eq	LBB0_23
LBB0_15:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_18 Depth 2
                                        ;     Child Loop BB0_22 Depth 2
	cmp	w6, #1
	b.lt	LBB0_13
; %bb.16:                               ;   in Loop: Header=BB0_15 Depth=1
	cbz	w15, LBB0_20
; %bb.17:                               ;   in Loop: Header=BB0_15 Depth=1
	movi	d0, #0000000000000000
	mov	x2, x0
	mov	x3, x17
	mov	x4, x16
LBB0_18:                                ;   Parent Loop BB0_15 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	d1, d2, [x2, #-16]
	ldp	d3, d4, [x2], #32
	fcvtl	v1.2d, v1.2s
	fcvtl	v2.2d, v2.2s
	fcvtl	v3.2d, v3.2s
	fcvtl	v4.2d, v4.2s
	ldp	q5, q6, [x3, #-32]
	ldp	q7, q16, [x3]
	fmul.2d	v1, v5, v1
	mov	d5, v1[1]
	fmul.2d	v2, v6, v2
	mov	d6, v2[1]
	fmul.2d	v3, v7, v3
	mov	d7, v3[1]
	fmul.2d	v4, v16, v4
	mov	d16, v4[1]
	fadd	d0, d0, d1
	fadd	d0, d0, d5
	fadd	d0, d0, d2
	fadd	d0, d0, d6
	fadd	d0, d0, d3
	fadd	d0, d0, d7
	fadd	d0, d0, d4
	fadd	d0, d0, d16
	add	x3, x3, x9
	subs	x4, x4, #8
	b.ne	LBB0_18
; %bb.19:                               ;   in Loop: Header=BB0_15 Depth=1
	mov	x4, x16
	cmp	x16, x14
	b.eq	LBB0_14
	b	LBB0_21
LBB0_20:                                ;   in Loop: Header=BB0_15 Depth=1
	mov	x4, #0
	movi	d0, #0000000000000000
LBB0_21:                                ;   in Loop: Header=BB0_15 Depth=1
	madd	x2, x8, x4, x11
	add	x2, x13, x2, lsl #3
	add	x3, x1, x4, lsl #2
	sub	x4, x14, x4
LBB0_22:                                ;   Parent Loop BB0_15 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	s1, [x3], #4
	fcvt	d1, s1
	ldr	d2, [x2]
	fmadd	d0, d1, d2, d0
	add	x2, x2, x10
	subs	x4, x4, #1
	b.ne	LBB0_22
	b	LBB0_14
LBB0_23:
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #32             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_pretwiddle
.subsections_via_symbols
