	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function mul
LCPI0_0:
	.long	38                              ## 0x26
	.long	38                              ## 0x26
	.long	38                              ## 0x26
	.long	38                              ## 0x26
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_mul:                                   ## @mul
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	subq	$136, %rsp
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -16(%rbp)
	pxor	%xmm0, %xmm0
	movdqu	%xmm0, -36(%rbp)
	movdqa	%xmm0, -48(%rbp)
	movdqa	%xmm0, -64(%rbp)
	movdqa	%xmm0, -80(%rbp)
	movdqa	%xmm0, -96(%rbp)
	movdqa	%xmm0, -112(%rbp)
	movdqa	%xmm0, -128(%rbp)
	movdqa	%xmm0, -144(%rbp)
	movdqu	(%rdx), %xmm8
	movdqu	16(%rdx), %xmm1
	movdqu	32(%rdx), %xmm2
	movdqu	48(%rdx), %xmm3
	xorl	%ecx, %ecx
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movq	-136(%rbp,%rax,4), %xmm4        ## xmm4 = mem[0],zero
	movd	(%rsi,%rax,4), %xmm5            ## xmm5 = mem[0],zero,zero,zero
	pshufd	$0, %xmm5, %xmm5                ## xmm5 = xmm5[0,0,0,0]
	movdqa	%xmm8, %xmm6
	movd	%ecx, %xmm7
	pinsrd	$1, -140(%rbp,%rax,4), %xmm7
	pmulld	%xmm5, %xmm6
	punpcklqdq	%xmm4, %xmm7            ## xmm7 = xmm7[0],xmm4[0]
	paddd	%xmm6, %xmm7
	movdqu	%xmm7, -144(%rbp,%rax,4)
	movdqa	%xmm1, %xmm4
	pmulld	%xmm5, %xmm4
	movdqu	-128(%rbp,%rax,4), %xmm6
	paddd	%xmm4, %xmm6
	movdqu	-112(%rbp,%rax,4), %xmm4
	movdqu	-96(%rbp,%rax,4), %xmm0
	movdqu	%xmm6, -128(%rbp,%rax,4)
	movdqa	%xmm2, %xmm6
	pmulld	%xmm5, %xmm6
	paddd	%xmm4, %xmm6
	movdqu	%xmm6, -112(%rbp,%rax,4)
	pmulld	%xmm3, %xmm5
	paddd	%xmm0, %xmm5
	movdqu	%xmm5, -96(%rbp,%rax,4)
	leaq	1(%rax), %rdx
	pextrd	$1, %xmm7, %ecx
	movq	%rdx, %rax
	cmpq	$16, %rdx
	jne	LBB0_1
## %bb.2:
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [38,38,38,38]
	movdqa	-80(%rbp), %xmm1
	pmulld	%xmm0, %xmm1
	paddd	-144(%rbp), %xmm1
	movdqa	%xmm1, -144(%rbp)
	movdqa	-64(%rbp), %xmm1
	pmulld	%xmm0, %xmm1
	paddd	-128(%rbp), %xmm1
	movdqa	%xmm1, -128(%rbp)
	pmulld	-48(%rbp), %xmm0
	paddd	-112(%rbp), %xmm0
	movdqa	%xmm0, -112(%rbp)
	imull	$38, -32(%rbp), %eax
	addl	%eax, -96(%rbp)
	imull	$38, -28(%rbp), %eax
	addl	%eax, -92(%rbp)
	imull	$38, -24(%rbp), %eax
	addl	%eax, -88(%rbp)
	movaps	-96(%rbp), %xmm0
	movups	%xmm0, 48(%rbx)
	movaps	-112(%rbp), %xmm0
	movups	%xmm0, 32(%rbx)
	movaps	-128(%rbp), %xmm0
	movups	%xmm0, 16(%rbx)
	movaps	-144(%rbp), %xmm0
	movups	%xmm0, (%rbx)
	movq	%rbx, %rdi
	callq	_car25519
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-16(%rbp), %rax
	jne	LBB0_3
## %bb.4:
	movq	%rbx, %rdi
	addq	$136, %rsp
	popq	%rbx
	popq	%rbp
	jmp	_car25519                       ## TAILCALL
LBB0_3:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_mul
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mul
_mul:                                   ; @mul
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x20, x19, [sp, #144]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	mov	x8, #0
	mov	w12, #0
Lloh0:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	stur	x9, [x29, #-24]
	movi.2d	v0, #0000000000000000
	stur	q0, [sp, #108]
	stp	q0, q0, [sp, #80]
	stp	q0, q0, [sp, #48]
	stp	q0, q0, [sp, #16]
	str	q0, [sp]
	ldur	q0, [x2, #20]
	ldur	q1, [x2, #36]
	ldr	w9, [x2]
	ldur	q2, [x2, #4]
	ldur	d3, [x2, #52]
	mov	x10, sp
	ldr	w11, [x2, #60]
LBB0_1:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w13, [x1, x8]
	add	x14, x10, x8
	madd	w12, w9, w13, w12
	str	w12, [x14]
	dup.4s	v4, w13
	ldur	q5, [x14, #4]
	mla.4s	v5, v2, v4
	stur	q5, [x14, #4]
	ldur	q6, [x14, #20]
	mla.4s	v6, v0, v4
	stur	q6, [x14, #20]
	ldur	q6, [x14, #36]
	mla.4s	v6, v1, v4
	stur	q6, [x14, #36]
	dup.2s	v4, w13
	ldur	d6, [x14, #52]
	mla.2s	v6, v3, v4
	stur	d6, [x14, #52]
	ldr	w12, [x14, #60]
	madd	w12, w11, w13, w12
	str	w12, [x14, #60]
	fmov	w12, s5
	add	x8, x8, #4
	cmp	x8, #64
	b.ne	LBB0_1
; %bb.2:
	movi.4s	v0, #38
	ldp	q1, q2, [sp]
	ldr	d3, [sp, #112]
	movi.2s	v4, #38
	ldr	d5, [sp, #48]
	mla.2s	v5, v3, v4
	str	d5, [sp, #48]
	ldr	w8, [sp, #120]
	mov	w9, #38
	ldr	w10, [sp, #56]
	madd	w8, w8, w9, w10
	str	w8, [sp, #56]
	ldp	q4, q3, [sp, #48]
	mla.4s	v1, v3, v0
	ldp	q3, q5, [sp, #80]
	mla.4s	v2, v3, v0
	stp	q1, q2, [sp]
	ldr	q1, [sp, #32]
	mla.4s	v1, v5, v0
	str	q1, [sp, #32]
	ldp	q0, q1, [sp]
	ldr	q2, [sp, #32]
	stp	q2, q4, [x19, #32]
	stp	q0, q1, [x19]
	mov	x0, x19
	bl	_car25519
	ldur	x8, [x29, #-24]
Lloh3:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh4:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_4
; %bb.3:
	mov	x0, x19
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	add	sp, sp, #176
	b	_car25519
LBB0_4:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_mul
.subsections_via_symbols
