	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dual_inner_prod
_dual_inner_prod:                       ## @dual_inner_prod
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testl	%ecx, %ecx
	jle	LBB0_1
## %bb.2:
	movl	%ecx, %r10d
	cmpl	$1, %ecx
	jne	LBB0_8
## %bb.3:
	xorps	%xmm0, %xmm0
	xorl	%ecx, %ecx
                                        ## implicit-def: $xmm1
	testb	$1, %r10b
	jne	LBB0_6
	jmp	LBB0_7
LBB0_1:
	xorps	%xmm1, %xmm1
	jmp	LBB0_7
LBB0_8:
	movl	%r10d, %eax
	andl	$-2, %eax
	xorps	%xmm0, %xmm0
	xorl	%ecx, %ecx
	.p2align	4, 0x90
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	movss	(%rdi,%rcx,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	movss	4(%rdi,%rcx,4), %xmm3           ## xmm3 = mem[0],zero,zero,zero
	movsldup	%xmm1, %xmm4                    ## xmm4 = xmm1[0,0,2,2]
	movss	(%rsi,%rcx,4), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	movss	4(%rsi,%rcx,4), %xmm1           ## xmm1 = mem[0],zero,zero,zero
	insertps	$16, (%rdx,%rcx,4), %xmm2       ## xmm2 = xmm2[0],mem[0],xmm2[2,3]
	mulps	%xmm4, %xmm2
	addps	%xmm0, %xmm2
	movsldup	%xmm3, %xmm0                    ## xmm0 = xmm3[0,0,2,2]
	insertps	$16, 4(%rdx,%rcx,4), %xmm1      ## xmm1 = xmm1[0],mem[0],xmm1[2,3]
	mulps	%xmm0, %xmm1
	movaps	%xmm1, %xmm0
	addps	%xmm2, %xmm0
	addq	$2, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_9
## %bb.4:
	addps	%xmm2, %xmm1
	testb	$1, %r10b
	je	LBB0_7
LBB0_6:
	movss	(%rdi,%rcx,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	movsldup	%xmm1, %xmm2                    ## xmm2 = xmm1[0,0,2,2]
	movss	(%rsi,%rcx,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	insertps	$16, (%rdx,%rcx,4), %xmm1       ## xmm1 = xmm1[0],mem[0],xmm1[2,3]
	mulps	%xmm2, %xmm1
	addps	%xmm0, %xmm1
LBB0_7:
	movss	%xmm1, (%r8)
	extractps	$1, %xmm1, (%r9)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_dual_inner_prod
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dual_inner_prod
_dual_inner_prod:                       ; @dual_inner_prod
	.cfi_startproc
; %bb.0:
	cmp	w3, #1
	b.lt	LBB0_3
; %bb.1:
	mov	w8, w3
	cmp	w3, #4
	b.hs	LBB0_4
; %bb.2:
	mov	x9, #0
	movi	d0, #0000000000000000
	movi	d1, #0000000000000000
	b	LBB0_7
LBB0_3:
	movi	d1, #0000000000000000
	movi	d0, #0000000000000000
	b	LBB0_9
LBB0_4:
	and	x9, x8, #0xfffffffc
	add	x10, x1, #8
	add	x11, x2, #8
	add	x12, x0, #8
	movi	d0, #0000000000000000
	mov	x13, x9
	movi	d1, #0000000000000000
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldp	s2, s3, [x12, #-8]
	ldp	s4, s5, [x12], #16
	ldp	s6, s7, [x10, #-8]
	ldp	s16, s17, [x10], #16
	fmul	s6, s2, s6
	fmul	s7, s3, s7
	fmul	s16, s4, s16
	fmul	s17, s5, s17
	fadd	s1, s1, s6
	fadd	s1, s1, s7
	fadd	s1, s1, s16
	fadd	s1, s1, s17
	ldp	s6, s7, [x11, #-8]
	ldp	s16, s17, [x11], #16
	fmul	s2, s2, s6
	fmul	s3, s3, s7
	fmul	s4, s4, s16
	fmul	s5, s5, s17
	fadd	s0, s0, s2
	fadd	s0, s0, s3
	fadd	s0, s0, s4
	fadd	s0, s0, s5
	subs	x13, x13, #4
	b.ne	LBB0_5
; %bb.6:
	cmp	x9, x8
	b.eq	LBB0_9
LBB0_7:
	lsl	x12, x9, #2
	add	x10, x2, x12
	add	x11, x1, x12
	add	x12, x0, x12
	sub	x8, x8, x9
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	s2, [x12], #4
	ldr	s3, [x11], #4
	fmadd	s1, s2, s3, s1
	ldr	s3, [x10], #4
	fmadd	s0, s2, s3, s0
	subs	x8, x8, #1
	b.ne	LBB0_8
LBB0_9:
	str	s1, [x4]
	str	s0, [x5]
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_dual_inner_prod
.subsections_via_symbols
