	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function mm_gen
LCPI0_0:
	.quad	0x3ff0000000000000              ## double 1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	1                               ## 0x1
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
LCPI0_2:
	.quad	2                               ## 0x2
	.quad	2                               ## 0x2
LCPI0_3:
	.quad	4                               ## 0x4
	.quad	4                               ## 0x4
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_mm_gen
	.p2align	4, 0x90
_mm_gen:                                ## @mm_gen
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%edi, %r14d
	callq	_mm_init
	testl	%r14d, %r14d
	jle	LBB0_10
## %bb.1:
	cvtsi2sd	%r14d, %xmm1
	movsd	LCPI0_0(%rip), %xmm0            ## xmm0 = mem[0],zero
	divsd	%xmm1, %xmm0
	divsd	%xmm1, %xmm0
	movl	%r14d, %r9d
	movl	%r9d, %r8d
	andl	$-4, %r8d
	movddup	%xmm0, %xmm1                    ## xmm1 = xmm0[0,0]
	leaq	(,%r9,8), %r11
	andq	$-32, %r11
	xorl	%r10d, %r10d
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
	movdqa	LCPI0_2(%rip), %xmm9            ## xmm9 = [2,2]
	movdqa	LCPI0_3(%rip), %xmm10           ## xmm10 = [4,4]
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_9:                                 ##   in Loop: Header=BB0_2 Depth=1
	incq	%r10
	cmpq	%r9, %r10
	je	LBB0_10
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_5 Depth 2
                                        ##     Child Loop BB0_8 Depth 2
	movq	(%rax,%r10,8), %rbx
	cmpl	$4, %r14d
	jae	LBB0_4
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	xorl	%esi, %esi
	jmp	LBB0_7
	.p2align	4, 0x90
LBB0_4:                                 ##   in Loop: Header=BB0_2 Depth=1
	movq	%r10, %xmm5
	pshufd	$68, %xmm5, %xmm3               ## xmm3 = xmm5[0,1,0,1]
	xorl	%edx, %edx
	movdqa	%xmm8, %xmm4
	.p2align	4, 0x90
LBB0_5:                                 ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqa	%xmm4, %xmm7
	paddq	%xmm9, %xmm7
	movdqa	%xmm3, %xmm5
	psubq	%xmm4, %xmm5
	movdqa	%xmm3, %xmm2
	psubq	%xmm7, %xmm2
	pshufd	$232, %xmm5, %xmm5              ## xmm5 = xmm5[0,2,2,3]
	cvtdq2pd	%xmm5, %xmm5
	pshufd	$232, %xmm2, %xmm2              ## xmm2 = xmm2[0,2,2,3]
	cvtdq2pd	%xmm2, %xmm2
	mulpd	%xmm1, %xmm5
	mulpd	%xmm1, %xmm2
	movdqa	%xmm4, %xmm6
	paddq	%xmm3, %xmm6
	paddq	%xmm3, %xmm7
	pshufd	$232, %xmm6, %xmm6              ## xmm6 = xmm6[0,2,2,3]
	pshufd	$232, %xmm7, %xmm7              ## xmm7 = xmm7[0,2,2,3]
	cvtdq2pd	%xmm6, %xmm6
	mulpd	%xmm5, %xmm6
	cvtdq2pd	%xmm7, %xmm5
	mulpd	%xmm2, %xmm5
	movupd	%xmm6, (%rbx,%rdx)
	movupd	%xmm5, 16(%rbx,%rdx)
	paddq	%xmm10, %xmm4
	addq	$32, %rdx
	cmpq	%rdx, %r11
	jne	LBB0_5
## %bb.6:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	%r8, %rsi
	cmpq	%r9, %r8
	je	LBB0_9
LBB0_7:                                 ##   in Loop: Header=BB0_2 Depth=1
	leal	(%r10,%rsi), %r15d
	movl	%r10d, %ecx
	subl	%esi, %ecx
	leaq	(%rbx,%rsi,8), %rbx
	movq	%r9, %rdi
	subq	%rsi, %rdi
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_8:                                 ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	xorps	%xmm2, %xmm2
	cvtsi2sd	%ecx, %xmm2
	mulsd	%xmm0, %xmm2
	leal	(%r15,%rsi), %edx
	xorps	%xmm3, %xmm3
	cvtsi2sd	%edx, %xmm3
	mulsd	%xmm2, %xmm3
	movsd	%xmm3, (%rbx,%rsi,8)
	incq	%rsi
	decl	%ecx
	cmpq	%rsi, %rdi
	jne	LBB0_8
	jmp	LBB0_9
LBB0_10:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function mm_gen
lCPI0_0:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_mm_gen
	.p2align	2
_mm_gen:                                ; @mm_gen
	.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
	mov	x19, x0
	bl	_mm_init
	cmp	w19, #1
	b.lt	LBB0_10
; %bb.1:
	mov	x8, #0
	scvtf	d0, w19
	fmov	d1, #1.00000000
	fdiv	d1, d1, d0
	fdiv	d0, d1, d0
	mov	w9, w19
Lloh0:
	adrp	x10, lCPI0_0@PAGE
Lloh1:
	ldr	q1, [x10, lCPI0_0@PAGEOFF]
	mov	w10, #2
	dup.2d	v2, x10
	mov	w10, #4
	dup.2d	v3, x10
	mov	w10, #6
	dup.2d	v4, x10
	mov	w10, #8
	dup.2d	v5, x10
	and	x10, x9, #0xfffffff8
	dup.2d	v6, v0[0]
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x8, x8, #1
	cmp	x8, x9
	b.eq	LBB0_10
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_6 Depth 2
                                        ;     Child Loop BB0_9 Depth 2
	ldr	x11, [x0, x8, lsl #3]
	cmp	w19, #8
	b.hs	LBB0_5
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x12, #0
	b	LBB0_8
LBB0_5:                                 ;   in Loop: Header=BB0_3 Depth=1
	dup.2d	v7, x8
	add	x12, x11, #32
	mov	x13, x10
	mov.16b	v16, v1
LBB0_6:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add.2d	v17, v16, v2
	add.2d	v18, v16, v3
	add.2d	v19, v16, v4
	sub.2d	v20, v7, v16
	sub.2d	v21, v7, v17
	sub.2d	v22, v7, v18
	sub.2d	v23, v7, v19
	xtn.2s	v20, v20
	xtn.2s	v21, v21
	xtn.2s	v22, v22
	xtn.2s	v23, v23
	sshll.2d	v20, v20, #0
	scvtf.2d	v20, v20
	sshll.2d	v21, v21, #0
	scvtf.2d	v21, v21
	sshll.2d	v22, v22, #0
	scvtf.2d	v22, v22
	sshll.2d	v23, v23, #0
	scvtf.2d	v23, v23
	fmul.2d	v20, v6, v20
	fmul.2d	v21, v6, v21
	fmul.2d	v22, v6, v22
	fmul.2d	v23, v23, v0[0]
	add.2d	v24, v16, v7
	add.2d	v17, v17, v7
	add.2d	v18, v18, v7
	add.2d	v19, v19, v7
	xtn.2s	v24, v24
	xtn.2s	v17, v17
	xtn.2s	v18, v18
	xtn.2s	v19, v19
	sshll.2d	v24, v24, #0
	scvtf.2d	v24, v24
	sshll.2d	v17, v17, #0
	scvtf.2d	v17, v17
	sshll.2d	v18, v18, #0
	scvtf.2d	v18, v18
	sshll.2d	v19, v19, #0
	scvtf.2d	v19, v19
	fmul.2d	v20, v20, v24
	fmul.2d	v17, v21, v17
	fmul.2d	v18, v22, v18
	fmul.2d	v19, v23, v19
	stp	q20, q17, [x12, #-32]
	stp	q18, q19, [x12], #64
	add.2d	v16, v16, v5
	subs	x13, x13, #8
	b.ne	LBB0_6
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x12, x10
	cmp	x10, x9
	b.eq	LBB0_2
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	neg	w13, w12
LBB0_9:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	w14, w8, w13
	scvtf	d7, w14
	fmul	d7, d0, d7
	add	w14, w8, w12
	scvtf	d16, w14
	fmul	d7, d7, d16
	str	d7, [x11, x12, lsl #3]
	add	x12, x12, #1
	sub	x13, x13, #1
	cmp	x9, x12
	b.ne	LBB0_9
	b	LBB0_2
LBB0_10:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
