	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function fe_sq2
_fe_sq2:                                ## @fe_sq2
	.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
	movq	%rsi, %r12
	movq	%rdi, -160(%rbp)                ## 8-byte Spill
	movl	(%rsi), %edx
	movq	%rdx, -152(%rbp)                ## 8-byte Spill
	movl	4(%rsi), %eax
	movl	8(%rsi), %esi
	movl	12(%r12), %r8d
	movl	36(%r12), %r9d
	movl	%r9d, -56(%rbp)                 ## 4-byte Spill
	leal	(%rdx,%rdx), %r15d
	leal	(%rax,%rax), %r11d
	leal	(%r8,%r8), %r10d
	movl	%r15d, %edx
	imull	%eax, %edx
	movl	%edx, -104(%rbp)                ## 4-byte Spill
	movl	%esi, %edi
	imull	%r15d, %edi
	movl	%r8d, %edx
	imull	%r15d, %edx
	imull	%r11d, %eax
	addl	%edi, %eax
	movq	%rax, -144(%rbp)                ## 8-byte Spill
	movl	%r11d, %eax
	imull	%esi, %eax
	addl	%edx, %eax
	movl	%eax, -100(%rbp)                ## 4-byte Spill
	movl	%r10d, %edi
	movl	%r10d, -80(%rbp)                ## 4-byte Spill
	movl	%r10d, %eax
	imull	%r11d, %eax
	movl	%r11d, %r10d
	imull	$38, %r9d, %ecx
	movq	%rcx, -64(%rbp)                 ## 8-byte Spill
                                        ## kill: def $ecx killed $ecx killed $rcx
	imull	%esi, %ecx
	movl	%ecx, -96(%rbp)                 ## 4-byte Spill
	leal	(%rsi,%rsi), %r11d
	imull	%esi, %esi
	addl	%eax, %esi
	movl	16(%r12), %ebx
	movl	%ebx, %eax
	imull	%r15d, %eax
	addl	%eax, %esi
	movq	%rsi, -136(%rbp)                ## 8-byte Spill
	movl	%ebx, %eax
	imull	%r10d, %eax
	movl	%r11d, %ecx
	movq	%r8, %rdx
	imull	%edx, %ecx
	addl	%eax, %ecx
	movl	20(%r12), %r8d
	movl	%r8d, %eax
	imull	%r15d, %eax
	addl	%eax, %ecx
	movl	%ecx, -92(%rbp)                 ## 4-byte Spill
	movl	%ebx, %eax
	imull	%r11d, %eax
	imull	%edi, %edx
	addl	%eax, %edx
	leal	(%r8,%r8), %ecx
	movl	%ecx, %eax
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	imull	%r10d, %eax
	addl	%eax, %edx
	movl	24(%r12), %r14d
	movl	%r14d, %eax
	imull	%r15d, %eax
	addl	%eax, %edx
	movq	%rdx, -120(%rbp)                ## 8-byte Spill
	movl	%r8d, %eax
	imull	%r11d, %eax
	movl	%edi, %edx
	imull	%ebx, %edx
	addl	%eax, %edx
	movl	%r14d, %eax
	imull	%r10d, %eax
	addl	%eax, %edx
	movl	28(%r12), %r13d
	movl	%r13d, %eax
	imull	%r15d, %eax
	addl	%eax, %edx
	movl	%edx, -84(%rbp)                 ## 4-byte Spill
	movl	%r14d, %edx
	imull	%r11d, %edx
	movq	%rbx, -112(%rbp)                ## 8-byte Spill
	movl	%ebx, %esi
	imull	%ebx, %esi
	addl	%edx, %esi
	movl	%ecx, %edx
	imull	%edi, %edx
	addl	%edx, %esi
	leal	(%r13,%r13), %edx
	movl	%edx, -88(%rbp)                 ## 4-byte Spill
	imull	%r10d, %edx
	movl	%r10d, %eax
	addl	%edx, %esi
	movl	32(%r12), %r9d
	movl	%r9d, %ecx
	imull	%r15d, %ecx
	addl	%ecx, %esi
	movl	%r14d, %ecx
	imull	%edi, %ecx
	leal	(%rbx,%rbx), %edx
	movl	%r8d, %ebx
	imull	%edx, %r8d
	movl	%edx, %r12d
	movl	%edx, -68(%rbp)                 ## 4-byte Spill
	addl	%ecx, %r8d
	movq	%r8, %rdi
	imull	$38, %r13d, %r8d
	movl	%r8d, %ecx
	movl	%r8d, -76(%rbp)                 ## 4-byte Spill
	movl	%r8d, -72(%rbp)                 ## 4-byte Spill
	movl	%r8d, %r10d
	imull	%r13d, %r8d
	movl	%r13d, %edx
	imull	%r11d, %edx
	addl	%edx, %edi
	movl	%r9d, %edx
	imull	%eax, %edx
	addl	%edx, %edi
	imull	-56(%rbp), %r15d                ## 4-byte Folded Reload
	addl	%r15d, %edi
	movq	%rdi, -128(%rbp)                ## 8-byte Spill
	imull	%ebx, %ebx
	movq	-152(%rbp), %rdi                ## 8-byte Reload
	imull	%edi, %edi
	imull	$38, %ebx, %edx
	addl	%edi, %edx
	leal	(%r14,%r14,8), %ebx
	leal	(%r14,%rbx,2), %ebx
	movl	%ebx, %edi
	imull	%r12d, %edi
	addl	%edi, %edx
	movl	-80(%rbp), %r12d                ## 4-byte Reload
	imull	%r12d, %ecx
	addl	%ecx, %edx
	leal	(%r9,%r9,8), %edi
	movq	%r9, %r15
	leal	(%r9,%rdi,2), %r13d
	imull	%r13d, %r11d
	addl	%r11d, %edx
	movq	-64(%rbp), %r9                  ## 8-byte Reload
	imull	%r9d, %eax
	addl	%eax, %edx
	movl	%ebx, %r11d
	movl	-44(%rbp), %eax                 ## 4-byte Reload
	imull	%eax, %r11d
	addl	-104(%rbp), %r11d               ## 4-byte Folded Reload
	movq	-112(%rbp), %rcx                ## 8-byte Reload
	movl	-76(%rbp), %edi                 ## 4-byte Reload
	imull	%ecx, %edi
	addl	%edi, %r11d
	movl	%r13d, %edi
	imull	%r12d, %edi
	addl	%edi, %r11d
	addl	-96(%rbp), %r11d                ## 4-byte Folded Reload
	imull	%r14d, %ebx
	addl	-144(%rbp), %ebx                ## 4-byte Folded Reload
	movl	-72(%rbp), %edi                 ## 4-byte Reload
	imull	%eax, %edi
	addl	%edi, %ebx
	movl	-68(%rbp), %edi                 ## 4-byte Reload
	imull	%r13d, %edi
	addl	%edi, %ebx
	imull	%r9d, %r12d
	addl	%r12d, %ebx
	imull	%r14d, %r10d
	addl	-100(%rbp), %r10d               ## 4-byte Folded Reload
	movl	%r13d, %edi
	imull	%eax, %edi
	addl	%edi, %r10d
	imull	%r9d, %ecx
	addl	%ecx, %r10d
	addl	-136(%rbp), %r8d                ## 4-byte Folded Reload
	movl	%r13d, %r12d
	movl	-88(%rbp), %eax                 ## 4-byte Reload
	imull	%eax, %r12d
	addl	-92(%rbp), %r12d                ## 4-byte Folded Reload
	movl	%r9d, %edi
	imull	%r14d, %edi
	addl	%edi, %r12d
	imull	%r13d, %r14d
	imull	%r15d, %r13d
	addl	-120(%rbp), %r13d               ## 4-byte Folded Reload
	movq	%r9, %rcx
	imull	%ecx, %eax
	addl	%eax, %r13d
	imull	%ecx, %r15d
	addl	-84(%rbp), %r15d                ## 4-byte Folded Reload
	movl	-44(%rbp), %r9d                 ## 4-byte Reload
	imull	%ecx, %r9d
	imull	-56(%rbp), %ecx                 ## 4-byte Folded Reload
	addl	%esi, %ecx
	movq	%rcx, -64(%rbp)                 ## 8-byte Spill
	leal	(%r8,%r14,2), %r8d
	addl	%r9d, %r8d
	leal	(%rdx,%rdx), %esi
	addl	$33554432, %esi                 ## imm = 0x2000000
	movl	%edx, %edi
	addl	%edi, %edi
	movq	_kTop38Bits@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%esi, %r9d
	andl	%edx, %esi
	subl	%esi, %edi
	movq	%rdi, -56(%rbp)                 ## 8-byte Spill
	leal	(%r8,%r8), %esi
	leal	(%r8,%r8), %edi
	addl	$33554432, %edi                 ## imm = 0x2000000
	movl	%edi, %r14d
	andl	%edx, %edi
	subl	%edi, %esi
	sarl	$26, %r9d
	leal	(%r9,%r11,2), %eax
	leal	(%r9,%r11,2), %r9d
	addl	$16777216, %r9d                 ## imm = 0x1000000
	movq	_kTop39Bits@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	movl	%r9d, %r8d
	andl	%edi, %r9d
	subl	%r9d, %eax
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	sarl	$26, %r14d
	leal	(%r14,%r12,2), %r9d
	leal	(%r14,%r12,2), %r11d
	addl	$16777216, %r11d                ## imm = 0x1000000
	movl	%r11d, %r12d
	andl	%edi, %r11d
	subl	%r11d, %r9d
	sarl	$25, %r8d
	leal	(%r8,%rbx,2), %r11d
	leal	(%r8,%rbx,2), %eax
	addl	$33554432, %eax                 ## imm = 0x2000000
	movl	%eax, %ebx
	andl	%edx, %eax
	subl	%eax, %r11d
	sarl	$25, %r12d
	leal	(%r12,%r13,2), %r14d
	leal	(%r12,%r13,2), %eax
	addl	$33554432, %eax                 ## imm = 0x2000000
	movl	%eax, %r12d
	andl	%edx, %eax
	subl	%eax, %r14d
	sarl	$26, %ebx
	leal	(%rbx,%r10,2), %r8d
	leal	(%rbx,%r10,2), %ecx
	addl	$16777216, %ecx                 ## imm = 0x1000000
	movl	%ecx, %ebx
	andl	%edi, %ecx
	subl	%ecx, %r8d
	sarl	$26, %r12d
	leal	(%r12,%r15,2), %r13d
	leal	(%r12,%r15,2), %ecx
	addl	$16777216, %ecx                 ## imm = 0x1000000
	movl	%ecx, %r12d
	andl	%edi, %ecx
	subl	%ecx, %r13d
	sarl	$25, %ebx
	leal	(%rbx,%rsi), %r10d
	leal	(%rbx,%rsi), %ecx
	addl	$33554432, %ecx                 ## imm = 0x2000000
	movl	%ecx, %esi
	sarl	$26, %esi
	addl	%r9d, %esi
	andl	%edx, %ecx
	subl	%ecx, %r10d
	sarl	$25, %r12d
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	leal	(%r12,%rax,2), %r9d
	leal	(%r12,%rax,2), %ebx
	addl	$33554432, %ebx                 ## imm = 0x2000000
	movl	%ebx, %ecx
	andl	%edx, %ebx
	subl	%ebx, %r9d
	sarl	$26, %ecx
	movq	-128(%rbp), %rax                ## 8-byte Reload
	leal	(%rcx,%rax,2), %r12d
	leal	(%rcx,%rax,2), %ecx
	addl	$16777216, %ecx                 ## imm = 0x1000000
	movl	%ecx, %ebx
	sarl	$25, %ebx
	leal	(%rbx,%rbx,8), %eax
	leal	(%rbx,%rax,2), %eax
	andl	%edi, %ecx
	subl	%ecx, %r12d
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	leal	(%rdi,%rax), %ecx
	addl	$33554432, %ecx                 ## imm = 0x2000000
                                        ## kill: def $eax killed $eax killed $rax
	addl	%edi, %eax
	movl	%ecx, %edi
	sarl	$26, %edi
	addl	-44(%rbp), %edi                 ## 4-byte Folded Reload
	andl	%edx, %ecx
	subl	%ecx, %eax
	movq	-160(%rbp), %rcx                ## 8-byte Reload
	movl	%eax, (%rcx)
	movl	%edi, 4(%rcx)
	movl	%r11d, 8(%rcx)
	movl	%r8d, 12(%rcx)
	movl	%r10d, 16(%rcx)
	movl	%esi, 20(%rcx)
	movl	%r14d, 24(%rcx)
	movl	%r13d, 28(%rcx)
	movl	%r9d, 32(%rcx)
	movl	%r12d, 36(%rcx)
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_kTop38Bits,4,2                 ## @kTop38Bits
	.comm	_kTop39Bits,4,2                 ## @kTop39Bits
	.no_dead_strip	_fe_sq2
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function fe_sq2
_fe_sq2:                                ; @fe_sq2
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	.cfi_offset w21, -24
	.cfi_offset w22, -32
	.cfi_offset w23, -40
	.cfi_offset w24, -48
	.cfi_offset w25, -56
	.cfi_offset w26, -64
	.cfi_offset w27, -72
	.cfi_offset w28, -80
	ldp	w4, w2, [x1, #16]
	mul	w5, w2, w2
	ldp	w17, w13, [x1, #24]
	mov	w8, #19
	mul	w6, w17, w8
	ldp	w7, w19, [x1]
	mov	w20, #38
	mul	w21, w13, w20
	ldp	w11, w9, [x1, #32]
	mul	w22, w11, w8
	ldp	w23, w24, [x1, #8]
	lsl	w10, w7, #1
	lsl	w12, w19, #1
	lsl	w16, w23, #1
	lsl	w1, w24, #1
	lsl	w25, w4, #1
	lsl	w3, w2, #1
	lsl	w15, w13, #1
	mul	w14, w9, w20
	mul	w7, w7, w7
	mul	w26, w10, w19
	mul	w19, w12, w19
	mul	w27, w12, w23
	mul	w28, w23, w23
	madd	w5, w5, w20, w7
	mul	w7, w16, w24
	mul	w20, w4, w16
	madd	w26, w6, w3, w26
	madd	w26, w21, w4, w26
	madd	w26, w22, w1, w26
	madd	w26, w14, w23, w26
	madd	w19, w23, w10, w19
	mul	w23, w1, w4
	madd	w5, w6, w25, w5
	madd	w6, w6, w17, w19
	mul	w19, w4, w4
	madd	w6, w21, w3, w6
	madd	w6, w22, w25, w6
	mul	w25, w25, w2
	madd	w5, w21, w1, w5
	madd	w27, w24, w10, w27
	madd	w27, w21, w17, w27
	madd	w28, w1, w12, w28
	madd	w28, w4, w10, w28
	madd	w21, w21, w13, w28
	mul	w28, w17, w22
	madd	w5, w22, w16, w5
	madd	w5, w14, w12, w5
	madd	w6, w14, w1, w6
	madd	w27, w22, w3, w27
	madd	w27, w14, w4, w27
	add	w21, w21, w28, lsl #1
	madd	w21, w14, w3, w21
	madd	w4, w4, w12, w7
	madd	w4, w2, w10, w4
	madd	w4, w22, w15, w4
	madd	w7, w14, w17, w4
	madd	w4, w1, w24, w20
	madd	w4, w3, w12, w4
	madd	w4, w17, w10, w4
	madd	w20, w22, w11, w4
	madd	w22, w2, w16, w23
	lsl	w5, w5, #1
	lsl	w21, w21, #1
	mov	w2, #33554432
Lloh0:
	adrp	x4, _kTop38Bits@GOTPAGE
Lloh1:
	ldr	x4, [x4, _kTop38Bits@GOTPAGEOFF]
	madd	w19, w17, w16, w19
Lloh2:
	ldr	w4, [x4]
	add	w23, w5, w2
	and	w24, w23, w4
	asr	w23, w23, #26
	add	w23, w23, w26, lsl #1
	madd	w3, w3, w1, w19
	sub	w5, w5, w24
	add	w19, w21, w2
	and	w24, w19, w4
	asr	w19, w19, #26
	add	w7, w19, w7, lsl #1
	sub	w19, w21, w24
	mov	w21, #16777216
Lloh3:
	adrp	x24, _kTop39Bits@GOTPAGE
Lloh4:
	ldr	x24, [x24, _kTop39Bits@GOTPAGEOFF]
Lloh5:
	ldr	w24, [x24]
	add	w26, w23, w21
	and	w28, w26, w24
	asr	w26, w26, #25
	add	w6, w26, w6, lsl #1
	sub	w23, w23, w28
	madd	w20, w14, w15, w20
	madd	w22, w17, w12, w22
	madd	w17, w17, w1, w25
	add	w1, w7, w21
	and	w25, w1, w24
	asr	w1, w1, #25
	add	w1, w1, w20, lsl #1
	sub	w7, w7, w25
	add	w20, w6, w2
	and	w25, w20, w4
	asr	w20, w20, #26
	add	w20, w20, w27, lsl #1
	sub	w6, w6, w25
	madd	w22, w13, w10, w22
	madd	w13, w13, w16, w17
	add	w16, w1, w2
	and	w17, w16, w4
	asr	w16, w16, #26
	madd	w22, w14, w11, w22
	add	w16, w16, w22, lsl #1
	madd	w15, w15, w12, w3
	madd	w15, w11, w10, w15
	madd	w14, w14, w9, w15
	madd	w11, w11, w12, w13
	add	w12, w16, w21
	and	w13, w12, w24
	asr	w12, w12, #25
	add	w12, w12, w14, lsl #1
	madd	w9, w9, w10, w11
	add	w10, w12, w2
	and	w11, w10, w4
	asr	w10, w10, #26
	add	w9, w10, w9, lsl #1
	add	w10, w9, w21
	and	w14, w10, w24
	asr	w10, w10, #25
	madd	w8, w10, w8, w5
	add	w10, w8, w2
	and	w15, w10, w4
	add	w10, w23, w10, asr #26
	sub	w8, w8, w15
	stp	w8, w10, [x0]
	add	w8, w20, w21
	and	w10, w8, w24
	add	w8, w19, w8, asr #25
	sub	w10, w20, w10
	stp	w6, w10, [x0, #8]
	add	w10, w8, w2
	and	w15, w10, w4
	add	w10, w7, w10, asr #26
	sub	w8, w8, w15
	stp	w8, w10, [x0, #16]
	sub	w8, w1, w17
	sub	w10, w16, w13
	sub	w11, w12, w11
	stp	w8, w10, [x0, #24]
	sub	w8, w9, w14
	stp	w11, w8, [x0, #32]
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #80             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_kTop38Bits,4,2                 ; @kTop38Bits
	.comm	_kTop39Bits,4,2                 ; @kTop39Bits
	.no_dead_strip	_fe_sq2
.subsections_via_symbols
