	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function p256_double
_p256_double:                           ## @p256_double
	.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
	subq	$344, %rsp                      ## imm = 0x158
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	(%rdi), %rsi
	leaq	-128(%rbp), %r15
	movq	%r15, %rdi
	callq	_square_f256
	movq	_F256@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	movq	%rbx, -376(%rbp)                ## 8-byte Spill
	movq	8(%rbx), %rax
	leaq	-128(%rbp), %r8
	leaq	-48(%rbp), %r12
	leaq	80(%rcx), %rsi
	leaq	80(%rax), %rdi
	leaq	-208(%rbp), %rdx
	cmpq	%r12, %rdx
	setb	%r14b
	cmpq	%r8, %r15
	setb	%r13b
	cmpq	%rsi, %rdx
	setb	%bl
	cmpq	%r8, %rcx
	setb	%r11b
	cmpq	%rdi, %rdx
	setb	%r9b
	cmpq	%r8, %rax
	setb	%r10b
	cmpq	%rsi, %r15
	setb	%r8b
	cmpq	%r12, %rcx
	setb	%dl
	cmpq	%rdi, %r15
	setb	%sil
	cmpq	%r12, %rax
	setb	%dil
	testb	%r13b, %r14b
	jne	LBB0_5
## %bb.1:
	andb	%r11b, %bl
	jne	LBB0_5
## %bb.2:
	andb	%r10b, %r9b
	jne	LBB0_5
## %bb.3:
	andb	%dl, %r8b
	jne	LBB0_5
## %bb.4:
	andb	%dil, %sil
	jne	LBB0_5
## %bb.21:
	movdqu	(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	(%rax), %xmm1
	paddd	%xmm0, %xmm1
	movdqa	-128(%rbp), %xmm0
	movdqa	-112(%rbp), %xmm2
	movdqa	-96(%rbp), %xmm3
	psubd	%xmm0, %xmm1
	movdqa	%xmm1, -208(%rbp)
	movdqu	(%rax), %xmm1
	paddd	%xmm0, %xmm1
	movdqa	%xmm1, -128(%rbp)
	movdqu	16(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	16(%rax), %xmm1
	paddd	%xmm0, %xmm1
	psubd	%xmm2, %xmm1
	movdqa	%xmm1, -192(%rbp)
	movdqu	16(%rax), %xmm0
	paddd	%xmm2, %xmm0
	movdqa	%xmm0, -112(%rbp)
	movdqu	32(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	32(%rax), %xmm1
	paddd	%xmm0, %xmm1
	psubd	%xmm3, %xmm1
	movdqa	%xmm1, -176(%rbp)
	movdqu	32(%rax), %xmm0
	paddd	%xmm3, %xmm0
	movdqa	%xmm0, -96(%rbp)
	movdqu	48(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	48(%rax), %xmm1
	paddd	%xmm0, %xmm1
	movdqa	-80(%rbp), %xmm0
	psubd	%xmm0, %xmm1
	movdqa	%xmm1, -160(%rbp)
	movdqu	48(%rax), %xmm1
	paddd	%xmm0, %xmm1
	movdqa	%xmm1, -80(%rbp)
	movdqu	64(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	64(%rax), %xmm1
	paddd	%xmm0, %xmm1
	movdqa	-64(%rbp), %xmm0
	psubd	%xmm0, %xmm1
	movdqa	%xmm1, -144(%rbp)
	movdqu	64(%rax), %xmm1
	paddd	%xmm0, %xmm1
	movdqa	%xmm1, -64(%rbp)
	jmp	LBB0_7
LBB0_5:
	movl	$1, %edx
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movl	-4(%rcx,%rdx,4), %esi
	addl	%esi, %esi
	addl	-4(%rax,%rdx,4), %esi
	movl	-132(%rbp,%rdx,4), %edi
	movl	-128(%rbp,%rdx,4), %ebx
	subl	%edi, %esi
	movl	%esi, -212(%rbp,%rdx,4)
	addl	-4(%rax,%rdx,4), %edi
	movl	%edi, -132(%rbp,%rdx,4)
	movl	(%rcx,%rdx,4), %esi
	addl	%esi, %esi
	addl	(%rax,%rdx,4), %esi
	subl	%ebx, %esi
	movl	%esi, -208(%rbp,%rdx,4)
	addl	(%rax,%rdx,4), %ebx
	movl	%ebx, -128(%rbp,%rdx,4)
	addq	$2, %rdx
	cmpq	$21, %rdx
	jne	LBB0_6
LBB0_7:
	leaq	-128(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$20, %edx
	callq	_norm13
	leaq	-208(%rbp), %r15
	movq	%r15, %rdi
	movq	%r15, %rsi
	movl	$20, %edx
	callq	_norm13
	leaq	-288(%rbp), %r12
	movq	%r12, %rdi
	movq	%rbx, %rsi
	movq	%r15, %rdx
	callq	_mul_f256
	movl	-288(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -128(%rbp)
	movl	-284(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -124(%rbp)
	movl	-280(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -120(%rbp)
	movl	-276(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -116(%rbp)
	movl	-272(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -112(%rbp)
	movl	-268(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -108(%rbp)
	movl	-264(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -104(%rbp)
	movl	-260(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -100(%rbp)
	movl	-256(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -96(%rbp)
	movl	-252(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -92(%rbp)
	movl	-248(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -88(%rbp)
	movl	-244(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -84(%rbp)
	movl	-240(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -80(%rbp)
	movl	-236(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -76(%rbp)
	movl	-232(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -72(%rbp)
	movl	-228(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -68(%rbp)
	movl	-224(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -64(%rbp)
	movl	-220(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -60(%rbp)
	movl	-216(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -56(%rbp)
	movl	-212(%rbp), %esi
	movl	$3, %edi
	callq	_MUL15
	movl	%eax, -52(%rbp)
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	-376(%rbp), %r14                ## 8-byte Reload
	movq	16(%r14), %rsi
	movq	%r12, %rdi
	callq	_square_f256
	movdqa	-288(%rbp), %xmm0
	movdqa	-272(%rbp), %xmm1
	movdqa	-256(%rbp), %xmm2
	movdqa	-240(%rbp), %xmm3
	paddd	%xmm0, %xmm0
	movdqa	%xmm0, -288(%rbp)
	paddd	%xmm1, %xmm1
	movdqa	%xmm1, -272(%rbp)
	paddd	%xmm2, %xmm2
	movdqa	%xmm2, -256(%rbp)
	paddd	%xmm3, %xmm3
	movdqa	%xmm3, -240(%rbp)
	movdqa	-224(%rbp), %xmm0
	paddd	%xmm0, %xmm0
	movdqa	%xmm0, -224(%rbp)
	movq	%r12, %rdi
	movq	%r12, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	8(%r14), %rsi
	movq	%r15, %rdi
	movq	%r12, %rdx
	callq	_mul_f256
	movdqa	-208(%rbp), %xmm0
	movdqa	-192(%rbp), %xmm1
	movdqa	-176(%rbp), %xmm2
	movdqa	-160(%rbp), %xmm3
	paddd	%xmm0, %xmm0
	movdqa	%xmm0, -208(%rbp)
	paddd	%xmm1, %xmm1
	movdqa	%xmm1, -192(%rbp)
	paddd	%xmm2, %xmm2
	movdqa	%xmm2, -176(%rbp)
	paddd	%xmm3, %xmm3
	movdqa	%xmm3, -160(%rbp)
	movdqa	-144(%rbp), %xmm0
	paddd	%xmm0, %xmm0
	movdqa	%xmm0, -144(%rbp)
	movq	%r15, %rdi
	movq	%r15, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	%r15, %rdi
	callq	_reduce_f256
	movq	8(%r14), %rdi
	movq	%rbx, %rsi
	callq	_square_f256
	movq	_F256@GOTPCREL(%rip), %r12
	movq	(%r12), %rax
	movq	8(%r14), %rdi
	leaq	80(%rdi), %rdx
	leaq	80(%rax), %rcx
	cmpq	%rcx, %rdi
	setb	%sil
	cmpq	%rdx, %rax
	setb	%bl
	leaq	-128(%rbp), %r13
	cmpq	%r13, %rdi
	setb	%cl
	cmpq	%rdx, %r15
	setb	%dl
	testb	%bl, %sil
	jne	LBB0_9
## %bb.8:
	andb	%dl, %cl
	jne	LBB0_9
## %bb.22:
	movdqu	(%rax), %xmm0
	pslld	$2, %xmm0
	movdqa	-208(%rbp), %xmm1
	paddd	%xmm1, %xmm1
	psubd	%xmm1, %xmm0
	movdqu	(%rdi), %xmm1
	paddd	%xmm0, %xmm1
	movdqu	16(%rdi), %xmm2
	movdqu	32(%rdi), %xmm3
	movdqu	48(%rdi), %xmm0
	movdqu	%xmm1, (%rdi)
	movdqu	16(%rax), %xmm1
	pslld	$2, %xmm1
	movdqa	-192(%rbp), %xmm4
	paddd	%xmm4, %xmm4
	psubd	%xmm4, %xmm1
	paddd	%xmm2, %xmm1
	movdqu	%xmm1, 16(%rdi)
	movdqu	32(%rax), %xmm1
	pslld	$2, %xmm1
	movdqa	-176(%rbp), %xmm2
	paddd	%xmm2, %xmm2
	psubd	%xmm2, %xmm1
	paddd	%xmm3, %xmm1
	movdqu	%xmm1, 32(%rdi)
	movdqu	48(%rax), %xmm1
	pslld	$2, %xmm1
	movdqa	-160(%rbp), %xmm2
	paddd	%xmm2, %xmm2
	psubd	%xmm2, %xmm1
	paddd	%xmm0, %xmm1
	movdqu	%xmm1, 48(%rdi)
	movdqu	64(%rax), %xmm0
	pslld	$2, %xmm0
	movdqa	-144(%rbp), %xmm1
	paddd	%xmm1, %xmm1
	psubd	%xmm1, %xmm0
	movdqu	64(%rdi), %xmm1
	paddd	%xmm0, %xmm1
	movdqu	%xmm1, 64(%rdi)
	jmp	LBB0_11
LBB0_9:
	movl	$1, %ecx
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movl	-4(%rax,%rcx,4), %edx
	shll	$2, %edx
	movl	-212(%rbp,%rcx,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	%edx, -4(%rdi,%rcx,4)
	movl	(%rax,%rcx,4), %edx
	shll	$2, %edx
	movl	-208(%rbp,%rcx,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	%edx, (%rdi,%rcx,4)
	addq	$2, %rcx
	cmpq	$21, %rcx
	jne	LBB0_10
LBB0_11:
	movq	%rdi, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	8(%r14), %rdi
	callq	_reduce_f256
	movq	(%r14), %rdx
	movq	16(%r14), %rsi
	leaq	-368(%rbp), %r15
	movq	%r15, %rdi
	callq	_mul_f256
	movq	(%r14), %rdi
	movl	-368(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, (%rdi)
	movl	-364(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 4(%rdi)
	movl	-360(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 8(%rdi)
	movl	-356(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 12(%rdi)
	movl	-352(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 16(%rdi)
	movl	-348(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 20(%rdi)
	movl	-344(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 24(%rdi)
	movl	-340(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 28(%rdi)
	movl	-336(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 32(%rdi)
	movl	-332(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 36(%rdi)
	movl	-328(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 40(%rdi)
	movl	-324(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 44(%rdi)
	movl	-320(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 48(%rdi)
	movl	-316(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 52(%rdi)
	movl	-312(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 56(%rdi)
	movl	-308(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 60(%rdi)
	movl	-304(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 64(%rdi)
	movl	-300(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 68(%rdi)
	movl	-296(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 72(%rdi)
	movl	-292(%rbp), %eax
	addl	%eax, %eax
	movl	%eax, 76(%rdi)
	movq	%rdi, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	(%r14), %rdi
	callq	_reduce_f256
	movq	(%r12), %rcx
	movq	8(%r14), %rax
	leaq	80(%rcx), %rdx
	leaq	80(%rax), %rsi
	leaq	-208(%rbp), %r8
	cmpq	%rdx, %r8
	setb	%dil
	cmpq	%r13, %rcx
	setb	%bl
	cmpq	%rsi, %r8
	setb	%dl
	cmpq	%r13, %rax
	setb	%sil
	testb	%bl, %dil
	jne	LBB0_13
## %bb.12:
	andb	%sil, %dl
	jne	LBB0_13
## %bb.23:
	movdqu	(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	(%rax), %xmm1
	psubd	%xmm1, %xmm0
	paddd	-208(%rbp), %xmm0
	movdqa	%xmm0, -208(%rbp)
	movdqu	16(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	16(%rax), %xmm1
	psubd	%xmm1, %xmm0
	paddd	-192(%rbp), %xmm0
	movdqa	%xmm0, -192(%rbp)
	movdqu	32(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	32(%rax), %xmm1
	psubd	%xmm1, %xmm0
	paddd	-176(%rbp), %xmm0
	movdqa	%xmm0, -176(%rbp)
	movdqu	48(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	48(%rax), %xmm1
	psubd	%xmm1, %xmm0
	paddd	-160(%rbp), %xmm0
	movdqa	%xmm0, -160(%rbp)
	movdqu	64(%rcx), %xmm0
	paddd	%xmm0, %xmm0
	movdqu	64(%rax), %xmm1
	psubd	%xmm1, %xmm0
	paddd	-144(%rbp), %xmm0
	movdqa	%xmm0, -144(%rbp)
	jmp	LBB0_15
LBB0_13:
	movl	$1, %edx
	.p2align	4, 0x90
LBB0_14:                                ## =>This Inner Loop Header: Depth=1
	movl	-4(%rcx,%rdx,4), %esi
	addl	%esi, %esi
	subl	-4(%rax,%rdx,4), %esi
	addl	%esi, -212(%rbp,%rdx,4)
	movl	(%rcx,%rdx,4), %esi
	addl	%esi, %esi
	subl	(%rax,%rdx,4), %esi
	addl	%esi, -208(%rbp,%rdx,4)
	addq	$2, %rdx
	cmpq	$21, %rdx
	jne	LBB0_14
LBB0_15:
	leaq	-208(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	16(%r14), %rdi
	leaq	-128(%rbp), %rsi
	movq	%rbx, %rdx
	callq	_mul_f256
	leaq	-288(%rbp), %rsi
	movq	%r15, %rdi
	callq	_square_f256
	movq	(%r12), %rax
	movq	16(%r14), %rdi
	leaq	80(%rdi), %rdx
	leaq	80(%rax), %rcx
	leaq	-288(%rbp), %rsi
	cmpq	%rcx, %rdi
	setb	%r8b
	cmpq	%rdx, %rax
	setb	%bl
	cmpq	%rsi, %rdi
	setb	%cl
	cmpq	%rdx, %r15
	setb	%dl
	testb	%bl, %r8b
	jne	LBB0_17
## %bb.16:
	andb	%dl, %cl
	jne	LBB0_17
## %bb.24:
	movdqu	(%rax), %xmm0
	pslld	$2, %xmm0
	movdqa	-368(%rbp), %xmm1
	paddd	%xmm1, %xmm1
	psubd	%xmm1, %xmm0
	movdqu	(%rdi), %xmm1
	paddd	%xmm0, %xmm1
	movdqu	16(%rdi), %xmm2
	movdqu	32(%rdi), %xmm3
	movdqu	48(%rdi), %xmm0
	movdqu	%xmm1, (%rdi)
	movdqu	16(%rax), %xmm1
	pslld	$2, %xmm1
	movdqa	-352(%rbp), %xmm4
	paddd	%xmm4, %xmm4
	psubd	%xmm4, %xmm1
	paddd	%xmm2, %xmm1
	movdqu	%xmm1, 16(%rdi)
	movdqu	32(%rax), %xmm1
	pslld	$2, %xmm1
	movdqa	-336(%rbp), %xmm2
	paddd	%xmm2, %xmm2
	psubd	%xmm2, %xmm1
	paddd	%xmm3, %xmm1
	movdqu	%xmm1, 32(%rdi)
	movdqu	48(%rax), %xmm1
	pslld	$2, %xmm1
	movdqa	-320(%rbp), %xmm2
	paddd	%xmm2, %xmm2
	psubd	%xmm2, %xmm1
	paddd	%xmm0, %xmm1
	movdqu	%xmm1, 48(%rdi)
	movdqu	64(%rax), %xmm0
	pslld	$2, %xmm0
	movdqa	-304(%rbp), %xmm1
	paddd	%xmm1, %xmm1
	psubd	%xmm1, %xmm0
	movdqu	64(%rdi), %xmm1
	paddd	%xmm0, %xmm1
	movdqu	%xmm1, 64(%rdi)
	jmp	LBB0_19
LBB0_17:
	movl	$1, %ecx
	.p2align	4, 0x90
LBB0_18:                                ## =>This Inner Loop Header: Depth=1
	movl	-4(%rax,%rcx,4), %edx
	shll	$2, %edx
	movl	-372(%rbp,%rcx,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	%edx, -4(%rdi,%rcx,4)
	movl	(%rax,%rcx,4), %edx
	shll	$2, %edx
	movl	-368(%rbp,%rcx,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	%edx, (%rdi,%rcx,4)
	addq	$2, %rcx
	cmpq	$21, %rcx
	jne	LBB0_18
LBB0_19:
	movq	%rdi, %rsi
	movl	$20, %edx
	callq	_norm13
	movq	16(%r14), %rdi
	callq	_reduce_f256
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_25
## %bb.20:
	addq	$344, %rsp                      ## imm = 0x158
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_25:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_F256,8,3                       ## @F256
	.no_dead_strip	_p256_double
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function p256_double
_p256_double:                           ; @p256_double
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #384
	.cfi_def_cfa_offset 384
	stp	x22, x21, [sp, #336]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #352]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #368]            ; 16-byte Folded Spill
	add	x29, sp, #368
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-40]
	ldr	x1, [x0]
	sub	x21, x29, #128
	sub	x0, x29, #128
	bl	_square_f256
Lloh3:
	adrp	x20, _F256@GOTPAGE
Lloh4:
	ldr	x20, [x20, _F256@GOTPAGEOFF]
	ldr	x9, [x20]
	ldr	x8, [x19, #8]
	add	x10, sp, #160
	add	x15, x10, #80
	add	x16, x21, #80
	add	x13, x9, #80
	add	x14, x8, #80
	cmp	x10, x13
	ccmp	x9, x15, #2, lo
	cset	w11, lo
	cmp	x10, x14
	ccmp	x8, x15, #2, lo
	cset	w12, lo
	cmp	x21, x13
	ccmp	x9, x16, #2, lo
	cset	w13, lo
	cmp	x21, x14
	ccmp	x8, x16, #2, lo
	cset	w14, lo
	cmp	x21, x15
	ccmp	x10, x16, #2, lo
	b.lo	LBB0_6
; %bb.1:
	tbnz	w11, #0, LBB0_6
; %bb.2:
	tbnz	w12, #0, LBB0_6
; %bb.3:
	tbnz	w13, #0, LBB0_6
; %bb.4:
	cbnz	w14, LBB0_6
; %bb.5:
	ldp	q0, q1, [x9]
	shl.4s	v0, v0, #1
	ldp	q2, q3, [x8]
	add.4s	v0, v2, v0
	ldp	q4, q5, [x29, #-128]
	sub.4s	v0, v0, v4
	add.4s	v2, v2, v4
	shl.4s	v1, v1, #1
	add.4s	v1, v3, v1
	sub.4s	v1, v1, v5
	stp	q0, q1, [sp, #160]
	add.4s	v0, v3, v5
	stp	q2, q0, [x29, #-128]
	ldp	q0, q1, [x9, #32]
	shl.4s	v0, v0, #1
	ldp	q2, q3, [x8, #32]
	add.4s	v0, v2, v0
	ldp	q4, q5, [x29, #-96]
	sub.4s	v0, v0, v4
	add.4s	v2, v2, v4
	shl.4s	v1, v1, #1
	add.4s	v1, v3, v1
	sub.4s	v1, v1, v5
	stp	q0, q1, [sp, #192]
	ldp	q0, q1, [x8, #48]
	add.4s	v0, v0, v5
	stp	q2, q0, [x29, #-96]
	ldr	q0, [x9, #64]
	shl.4s	v0, v0, #1
	add.4s	v0, v1, v0
	ldur	q1, [x29, #-64]
	sub.4s	v0, v0, v1
	str	q0, [sp, #224]
	ldr	q0, [x8, #64]
	add.4s	v0, v0, v1
	stur	q0, [x29, #-64]
	b	LBB0_8
LBB0_6:
	mov	x11, #0
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x9, x11]
	ldr	w13, [x8, x11]
	ldr	w14, [x21, x11]
	add	w12, w13, w12, lsl #1
	sub	w12, w12, w14
	str	w12, [x10, x11]
	ldr	w12, [x8, x11]
	add	w12, w12, w14
	str	w12, [x21, x11]
	add	x11, x11, #4
	cmp	x11, #80
	b.ne	LBB0_7
LBB0_8:
	sub	x0, x29, #128
	sub	x1, x29, #128
	mov	w2, #20
	bl	_norm13
	add	x21, sp, #160
	add	x0, sp, #160
	add	x1, sp, #160
	mov	w2, #20
	bl	_norm13
	add	x0, sp, #80
	sub	x1, x29, #128
	add	x2, sp, #160
	bl	_mul_f256
	ldr	w1, [sp, #80]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-128]
	ldr	w1, [sp, #84]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-124]
	ldr	w1, [sp, #88]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-120]
	ldr	w1, [sp, #92]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-116]
	ldr	w1, [sp, #96]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-112]
	ldr	w1, [sp, #100]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-108]
	ldr	w1, [sp, #104]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-104]
	ldr	w1, [sp, #108]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-100]
	ldr	w1, [sp, #112]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-96]
	ldr	w1, [sp, #116]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-92]
	ldr	w1, [sp, #120]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-88]
	ldr	w1, [sp, #124]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-84]
	ldr	w1, [sp, #128]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-80]
	ldr	w1, [sp, #132]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-76]
	ldr	w1, [sp, #136]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-72]
	ldr	w1, [sp, #140]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-68]
	ldr	w1, [sp, #144]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-64]
	ldr	w1, [sp, #148]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-60]
	ldr	w1, [sp, #152]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-56]
	ldr	w1, [sp, #156]
	mov	w0, #3
	bl	_MUL15
	stur	w0, [x29, #-52]
	sub	x0, x29, #128
	sub	x1, x29, #128
	mov	w2, #20
	bl	_norm13
	ldr	x1, [x19, #16]
	add	x0, sp, #80
	bl	_square_f256
	ldp	q0, q1, [sp, #80]
	shl.4s	v0, v0, #1
	shl.4s	v1, v1, #1
	stp	q0, q1, [sp, #80]
	ldp	q0, q1, [sp, #112]
	shl.4s	v0, v0, #1
	shl.4s	v1, v1, #1
	stp	q0, q1, [sp, #112]
	ldr	q0, [sp, #144]
	shl.4s	v0, v0, #1
	str	q0, [sp, #144]
	add	x0, sp, #80
	add	x1, sp, #80
	mov	w2, #20
	bl	_norm13
	ldr	x1, [x19, #8]
	add	x0, sp, #160
	add	x2, sp, #80
	bl	_mul_f256
	ldp	q0, q1, [sp, #160]
	shl.4s	v0, v0, #1
	shl.4s	v1, v1, #1
	stp	q0, q1, [sp, #160]
	ldp	q0, q1, [sp, #192]
	shl.4s	v0, v0, #1
	shl.4s	v1, v1, #1
	stp	q0, q1, [sp, #192]
	ldr	q0, [sp, #224]
	shl.4s	v0, v0, #1
	str	q0, [sp, #224]
	add	x0, sp, #160
	add	x1, sp, #160
	mov	w2, #20
	bl	_norm13
	add	x0, sp, #160
	bl	_reduce_f256
	ldr	x0, [x19, #8]
	sub	x1, x29, #128
	bl	_square_f256
	ldr	x8, [x20]
	ldr	x0, [x19, #8]
	add	x10, x0, #80
	add	x11, x8, #80
	add	x9, x21, #80
	cmp	x0, x9
	ccmp	x21, x10, #2, lo
	cset	w9, lo
	cmp	x8, x10
	ccmp	x0, x11, #2, lo
	b.lo	LBB0_11
; %bb.9:
	cbnz	w9, LBB0_11
; %bb.10:
	ldr	q0, [x8]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #160]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	ldp	q1, q2, [x0]
	add.4s	v0, v0, v1
	str	q0, [x0]
	ldr	q0, [x8, #16]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #176]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	add.4s	v0, v0, v2
	str	q0, [x0, #16]
	ldr	q0, [x8, #32]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #192]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	ldp	q1, q2, [x0, #32]
	add.4s	v0, v0, v1
	str	q0, [x0, #32]
	ldr	q0, [x8, #48]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #208]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	add.4s	v0, v0, v2
	str	q0, [x0, #48]
	ldr	q0, [x8, #64]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #224]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	ldr	q1, [x0, #64]
	add.4s	v0, v0, v1
	str	q0, [x0, #64]
	b	LBB0_13
LBB0_11:
	mov	x9, #0
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	ldr	w10, [x8, x9]
	lsl	w10, w10, #2
	ldr	w11, [x21, x9]
	ldr	w12, [x0, x9]
	sub	w10, w10, w11, lsl #1
	add	w10, w10, w12
	str	w10, [x0, x9]
	add	x9, x9, #4
	cmp	x9, #80
	b.ne	LBB0_12
LBB0_13:
	mov	x1, x0
	mov	w2, #20
	bl	_norm13
	ldr	x0, [x19, #8]
	bl	_reduce_f256
	ldr	x1, [x19, #16]
	ldr	x2, [x19]
	mov	x0, sp
	bl	_mul_f256
	ldr	x0, [x19]
	ldr	w8, [sp]
	lsl	w8, w8, #1
	str	w8, [x0]
	ldr	w8, [sp, #4]
	lsl	w8, w8, #1
	str	w8, [x0, #4]
	ldr	w8, [sp, #8]
	lsl	w8, w8, #1
	str	w8, [x0, #8]
	ldr	w8, [sp, #12]
	lsl	w8, w8, #1
	str	w8, [x0, #12]
	ldr	w8, [sp, #16]
	lsl	w8, w8, #1
	str	w8, [x0, #16]
	ldr	w8, [sp, #20]
	lsl	w8, w8, #1
	str	w8, [x0, #20]
	ldr	w8, [sp, #24]
	lsl	w8, w8, #1
	str	w8, [x0, #24]
	ldr	w8, [sp, #28]
	lsl	w8, w8, #1
	str	w8, [x0, #28]
	ldr	w8, [sp, #32]
	lsl	w8, w8, #1
	str	w8, [x0, #32]
	ldr	w8, [sp, #36]
	lsl	w8, w8, #1
	str	w8, [x0, #36]
	ldr	w8, [sp, #40]
	lsl	w8, w8, #1
	str	w8, [x0, #40]
	ldr	w8, [sp, #44]
	lsl	w8, w8, #1
	str	w8, [x0, #44]
	ldr	w8, [sp, #48]
	lsl	w8, w8, #1
	str	w8, [x0, #48]
	ldr	w8, [sp, #52]
	lsl	w8, w8, #1
	str	w8, [x0, #52]
	ldr	w8, [sp, #56]
	lsl	w8, w8, #1
	str	w8, [x0, #56]
	ldr	w8, [sp, #60]
	lsl	w8, w8, #1
	str	w8, [x0, #60]
	ldr	w8, [sp, #64]
	lsl	w8, w8, #1
	str	w8, [x0, #64]
	ldr	w8, [sp, #68]
	lsl	w8, w8, #1
	str	w8, [x0, #68]
	ldr	w8, [sp, #72]
	lsl	w8, w8, #1
	str	w8, [x0, #72]
	ldr	w8, [sp, #76]
	lsl	w8, w8, #1
	str	w8, [x0, #76]
	mov	x1, x0
	mov	w2, #20
	bl	_norm13
	ldr	x0, [x19]
	bl	_reduce_f256
	ldr	x8, [x20]
	ldr	x9, [x19, #8]
	add	x10, sp, #160
	add	x12, x10, #80
	add	x13, x8, #80
	add	x11, x9, #80
	cmp	x10, x11
	ccmp	x9, x12, #2, lo
	cset	w11, lo
	cmp	x8, x12
	ccmp	x10, x13, #2, lo
	b.lo	LBB0_16
; %bb.14:
	cbnz	w11, LBB0_16
; %bb.15:
	ldp	q0, q1, [x8]
	shl.4s	v0, v0, #1
	ldp	q2, q3, [x9]
	sub.4s	v0, v0, v2
	ldp	q2, q4, [sp, #160]
	add.4s	v0, v0, v2
	shl.4s	v1, v1, #1
	sub.4s	v1, v1, v3
	add.4s	v1, v1, v4
	stp	q0, q1, [sp, #160]
	ldp	q0, q1, [x8, #32]
	shl.4s	v0, v0, #1
	ldp	q2, q3, [x9, #32]
	sub.4s	v0, v0, v2
	ldp	q2, q4, [sp, #192]
	add.4s	v0, v0, v2
	shl.4s	v1, v1, #1
	sub.4s	v1, v1, v3
	add.4s	v1, v1, v4
	stp	q0, q1, [sp, #192]
	ldr	q0, [x8, #64]
	shl.4s	v0, v0, #1
	ldr	q1, [x9, #64]
	sub.4s	v0, v0, v1
	ldr	q1, [sp, #224]
	add.4s	v0, v0, v1
	str	q0, [sp, #224]
	b	LBB0_18
LBB0_16:
	mov	x11, #0
LBB0_17:                                ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x8, x11]
	lsl	w12, w12, #1
	ldr	w13, [x9, x11]
	ldr	w14, [x10, x11]
	sub	w12, w12, w13
	add	w12, w12, w14
	str	w12, [x10, x11]
	add	x11, x11, #4
	cmp	x11, #80
	b.ne	LBB0_17
LBB0_18:
	add	x0, sp, #160
	add	x1, sp, #160
	mov	w2, #20
	bl	_norm13
	ldr	x0, [x19, #16]
	sub	x1, x29, #128
	add	x2, sp, #160
	bl	_mul_f256
	mov	x21, sp
	mov	x0, sp
	add	x1, sp, #80
	bl	_square_f256
	ldr	x8, [x20]
	ldr	x0, [x19, #16]
	add	x9, x0, #80
	add	x10, x8, #80
	add	x11, x21, #80
	cmp	x0, x11
	ccmp	x21, x9, #2, lo
	cset	w11, lo
	cmp	x8, x9
	ccmp	x0, x10, #2, lo
	ccmp	w11, #0, #0, hs
	b.eq	LBB0_21
; %bb.19:
	mov	x9, #0
LBB0_20:                                ; =>This Inner Loop Header: Depth=1
	ldr	w10, [x8, x9]
	lsl	w10, w10, #2
	ldr	w11, [x21, x9]
	ldr	w12, [x0, x9]
	sub	w10, w10, w11, lsl #1
	add	w10, w10, w12
	str	w10, [x0, x9]
	add	x9, x9, #4
	cmp	x9, #80
	b.ne	LBB0_20
	b	LBB0_22
LBB0_21:
	ldr	q0, [x8]
	shl.4s	v0, v0, #2
	ldr	q1, [sp]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	ldp	q1, q2, [x0]
	add.4s	v0, v0, v1
	str	q0, [x0]
	ldr	q0, [x8, #16]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #16]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	add.4s	v0, v0, v2
	str	q0, [x0, #16]
	ldr	q0, [x8, #32]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #32]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	ldp	q1, q2, [x0, #32]
	add.4s	v0, v0, v1
	str	q0, [x0, #32]
	ldr	q0, [x8, #48]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #48]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	add.4s	v0, v0, v2
	str	q0, [x0, #48]
	ldr	q0, [x8, #64]
	shl.4s	v0, v0, #2
	ldr	q1, [sp, #64]
	shl.4s	v1, v1, #1
	sub.4s	v0, v0, v1
	ldr	q1, [x0, #64]
	add.4s	v0, v0, v1
	str	q0, [x0, #64]
LBB0_22:
	mov	x1, x0
	mov	w2, #20
	bl	_norm13
	ldr	x0, [x19, #16]
	bl	_reduce_f256
	ldur	x8, [x29, #-40]
Lloh5:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh6:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh7:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_24
; %bb.23:
	ldp	x29, x30, [sp, #368]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #352]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #336]            ; 16-byte Folded Reload
	add	sp, sp, #384
	ret
LBB0_24:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.cfi_endproc
                                        ; -- End function
	.comm	_F256,8,3                       ; @F256
	.no_dead_strip	_p256_double
.subsections_via_symbols
