	.file	"693468.c"
	.intel_syntax noprefix
	.text
	.type	fiat_p384_addcarryx_u32, @function
fiat_p384_addcarryx_u32:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	BYTE PTR -36[rbp], al
	movzx	edx, BYTE PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 32
	mov	BYTE PTR -13[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR -13[rbp]
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	fiat_p384_addcarryx_u32, .-fiat_p384_addcarryx_u32
	.type	fiat_p384_subborrowx_u32, @function
fiat_p384_subborrowx_u32:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	BYTE PTR -36[rbp], al
	mov	eax, DWORD PTR -40[rbp]
	movzx	edx, BYTE PTR -36[rbp]
	sub	rax, rdx
	mov	edx, DWORD PTR -44[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sar	rax, 32
	mov	BYTE PTR -13[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	movzx	eax, BYTE PTR -13[rbp]
	neg	eax
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	fiat_p384_subborrowx_u32, .-fiat_p384_subborrowx_u32
	.type	fiat_p384_mulx_u32, @function
fiat_p384_mulx_u32:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	imul	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 32
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	fiat_p384_mulx_u32, .-fiat_p384_mulx_u32
	.type	fiat_p384_cmovznz_u32, @function
fiat_p384_cmovznz_u32:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	BYTE PTR -28[rbp], al
	cmp	BYTE PTR -28[rbp], 0
	setne	al
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -9[rbp]
	neg	eax
	movsx	eax, al
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	and	eax, DWORD PTR -36[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -8[rbp]
	not	eax
	and	eax, DWORD PTR -32[rbp]
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	fiat_p384_cmovznz_u32, .-fiat_p384_cmovznz_u32
	.type	fiat_p384_mul, @function
fiat_p384_mul:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 992
	mov	QWORD PTR -5064[rbp], rdi
	mov	QWORD PTR -5072[rbp], rsi
	mov	QWORD PTR -5080[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -196[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -192[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -160[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4512[rbp]
	lea	rax, -4516[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4504[rbp]
	lea	rax, -4508[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4496[rbp]
	lea	rax, -4500[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4488[rbp]
	lea	rax, -4492[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4480[rbp]
	lea	rax, -4484[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4472[rbp]
	lea	rax, -4476[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4464[rbp]
	lea	rax, -4468[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4456[rbp]
	lea	rax, -4460[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4448[rbp]
	lea	rax, -4452[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4440[rbp]
	lea	rax, -4444[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4432[rbp]
	lea	rax, -4436[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4424[rbp]
	lea	rax, -4428[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -4436[rbp]
	mov	edx, DWORD PTR -4424[rbp]
	lea	rsi, -5056[rbp]
	lea	rax, -4420[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4444[rbp]
	mov	ecx, DWORD PTR -4432[rbp]
	movzx	eax, BYTE PTR -5056[rbp]
	movzx	edx, al
	lea	rsi, -5055[rbp]
	lea	rax, -4416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4452[rbp]
	mov	ecx, DWORD PTR -4440[rbp]
	movzx	eax, BYTE PTR -5055[rbp]
	movzx	edx, al
	lea	rsi, -5054[rbp]
	lea	rax, -4412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4460[rbp]
	mov	ecx, DWORD PTR -4448[rbp]
	movzx	eax, BYTE PTR -5054[rbp]
	movzx	edx, al
	lea	rsi, -5053[rbp]
	lea	rax, -4408[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4468[rbp]
	mov	ecx, DWORD PTR -4456[rbp]
	movzx	eax, BYTE PTR -5053[rbp]
	movzx	edx, al
	lea	rsi, -5052[rbp]
	lea	rax, -4404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4476[rbp]
	mov	ecx, DWORD PTR -4464[rbp]
	movzx	eax, BYTE PTR -5052[rbp]
	movzx	edx, al
	lea	rsi, -5051[rbp]
	lea	rax, -4400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4484[rbp]
	mov	ecx, DWORD PTR -4472[rbp]
	movzx	eax, BYTE PTR -5051[rbp]
	movzx	edx, al
	lea	rsi, -5050[rbp]
	lea	rax, -4396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4492[rbp]
	mov	ecx, DWORD PTR -4480[rbp]
	movzx	eax, BYTE PTR -5050[rbp]
	movzx	edx, al
	lea	rsi, -5049[rbp]
	lea	rax, -4392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4500[rbp]
	mov	ecx, DWORD PTR -4488[rbp]
	movzx	eax, BYTE PTR -5049[rbp]
	movzx	edx, al
	lea	rsi, -5048[rbp]
	lea	rax, -4388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4508[rbp]
	mov	ecx, DWORD PTR -4496[rbp]
	movzx	eax, BYTE PTR -5048[rbp]
	movzx	edx, al
	lea	rsi, -5047[rbp]
	lea	rax, -4384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4516[rbp]
	mov	ecx, DWORD PTR -4504[rbp]
	movzx	eax, BYTE PTR -5047[rbp]
	movzx	edx, al
	lea	rsi, -5046[rbp]
	lea	rax, -4380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5046[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4512[rbp]
	add	eax, edx
	mov	DWORD PTR -148[rbp], eax
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4372[rbp]
	lea	rax, -4376[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4364[rbp]
	lea	rax, -4368[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4356[rbp]
	lea	rax, -4360[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4348[rbp]
	lea	rax, -4352[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4340[rbp]
	lea	rax, -4344[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4332[rbp]
	lea	rax, -4336[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4324[rbp]
	lea	rax, -4328[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4316[rbp]
	lea	rax, -4320[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4308[rbp]
	lea	rax, -4312[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4300[rbp]
	lea	rax, -4304[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -4320[rbp]
	mov	edx, DWORD PTR -4308[rbp]
	lea	rsi, -5045[rbp]
	lea	rax, -4296[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4328[rbp]
	mov	ecx, DWORD PTR -4316[rbp]
	movzx	eax, BYTE PTR -5045[rbp]
	movzx	edx, al
	lea	rsi, -5044[rbp]
	lea	rax, -4292[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4336[rbp]
	mov	ecx, DWORD PTR -4324[rbp]
	movzx	eax, BYTE PTR -5044[rbp]
	movzx	edx, al
	lea	rsi, -5043[rbp]
	lea	rax, -4288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4344[rbp]
	mov	ecx, DWORD PTR -4332[rbp]
	movzx	eax, BYTE PTR -5043[rbp]
	movzx	edx, al
	lea	rsi, -5042[rbp]
	lea	rax, -4284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4352[rbp]
	mov	ecx, DWORD PTR -4340[rbp]
	movzx	eax, BYTE PTR -5042[rbp]
	movzx	edx, al
	lea	rsi, -5041[rbp]
	lea	rax, -4280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4360[rbp]
	mov	ecx, DWORD PTR -4348[rbp]
	movzx	eax, BYTE PTR -5041[rbp]
	movzx	edx, al
	lea	rsi, -5040[rbp]
	lea	rax, -4276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4368[rbp]
	mov	ecx, DWORD PTR -4356[rbp]
	movzx	eax, BYTE PTR -5040[rbp]
	movzx	edx, al
	lea	rsi, -5039[rbp]
	lea	rax, -4272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4376[rbp]
	mov	ecx, DWORD PTR -4364[rbp]
	movzx	eax, BYTE PTR -5039[rbp]
	movzx	edx, al
	lea	rsi, -5038[rbp]
	lea	rax, -4268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5038[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4372[rbp]
	add	eax, edx
	mov	DWORD PTR -144[rbp], eax
	mov	ecx, DWORD PTR -4304[rbp]
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -5037[rbp]
	lea	rax, -4264[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4300[rbp]
	mov	ecx, DWORD PTR -4420[rbp]
	movzx	eax, BYTE PTR -5037[rbp]
	movzx	edx, al
	lea	rsi, -5036[rbp]
	lea	rax, -4260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -4416[rbp]
	movzx	eax, BYTE PTR -5036[rbp]
	movzx	edx, al
	lea	rsi, -5035[rbp]
	lea	rax, -4256[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4312[rbp]
	mov	ecx, DWORD PTR -4412[rbp]
	movzx	eax, BYTE PTR -5035[rbp]
	movzx	edx, al
	lea	rsi, -5034[rbp]
	lea	rax, -4252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4296[rbp]
	mov	ecx, DWORD PTR -4408[rbp]
	movzx	eax, BYTE PTR -5034[rbp]
	movzx	edx, al
	lea	rsi, -5033[rbp]
	lea	rax, -4248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4292[rbp]
	mov	ecx, DWORD PTR -4404[rbp]
	movzx	eax, BYTE PTR -5033[rbp]
	movzx	edx, al
	lea	rsi, -5032[rbp]
	lea	rax, -4244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4288[rbp]
	mov	ecx, DWORD PTR -4400[rbp]
	movzx	eax, BYTE PTR -5032[rbp]
	movzx	edx, al
	lea	rsi, -5031[rbp]
	lea	rax, -4240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4284[rbp]
	mov	ecx, DWORD PTR -4396[rbp]
	movzx	eax, BYTE PTR -5031[rbp]
	movzx	edx, al
	lea	rsi, -5030[rbp]
	lea	rax, -4236[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4280[rbp]
	mov	ecx, DWORD PTR -4392[rbp]
	movzx	eax, BYTE PTR -5030[rbp]
	movzx	edx, al
	lea	rsi, -5029[rbp]
	lea	rax, -4232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4276[rbp]
	mov	ecx, DWORD PTR -4388[rbp]
	movzx	eax, BYTE PTR -5029[rbp]
	movzx	edx, al
	lea	rsi, -5028[rbp]
	lea	rax, -4228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4272[rbp]
	mov	ecx, DWORD PTR -4384[rbp]
	movzx	eax, BYTE PTR -5028[rbp]
	movzx	edx, al
	lea	rsi, -5027[rbp]
	lea	rax, -4224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4268[rbp]
	mov	ecx, DWORD PTR -4380[rbp]
	movzx	eax, BYTE PTR -5027[rbp]
	movzx	edx, al
	lea	rsi, -5026[rbp]
	lea	rax, -4220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5026[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -144[rbp]
	mov	ecx, DWORD PTR -148[rbp]
	lea	rsi, -5025[rbp]
	lea	rax, -4216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4208[rbp]
	lea	rax, -4212[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4200[rbp]
	lea	rax, -4204[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4192[rbp]
	lea	rax, -4196[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4184[rbp]
	lea	rax, -4188[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4176[rbp]
	lea	rax, -4180[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4168[rbp]
	lea	rax, -4172[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4160[rbp]
	lea	rax, -4164[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4152[rbp]
	lea	rax, -4156[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4144[rbp]
	lea	rax, -4148[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4136[rbp]
	lea	rax, -4140[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4128[rbp]
	lea	rax, -4132[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4120[rbp]
	lea	rax, -4124[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -4132[rbp]
	mov	edx, DWORD PTR -4120[rbp]
	lea	rsi, -5024[rbp]
	lea	rax, -4116[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4140[rbp]
	mov	ecx, DWORD PTR -4128[rbp]
	movzx	eax, BYTE PTR -5024[rbp]
	movzx	edx, al
	lea	rsi, -5023[rbp]
	lea	rax, -4112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4148[rbp]
	mov	ecx, DWORD PTR -4136[rbp]
	movzx	eax, BYTE PTR -5023[rbp]
	movzx	edx, al
	lea	rsi, -5022[rbp]
	lea	rax, -4108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4156[rbp]
	mov	ecx, DWORD PTR -4144[rbp]
	movzx	eax, BYTE PTR -5022[rbp]
	movzx	edx, al
	lea	rsi, -5021[rbp]
	lea	rax, -4104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4164[rbp]
	mov	ecx, DWORD PTR -4152[rbp]
	movzx	eax, BYTE PTR -5021[rbp]
	movzx	edx, al
	lea	rsi, -5020[rbp]
	lea	rax, -4100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4172[rbp]
	mov	ecx, DWORD PTR -4160[rbp]
	movzx	eax, BYTE PTR -5020[rbp]
	movzx	edx, al
	lea	rsi, -5019[rbp]
	lea	rax, -4096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4180[rbp]
	mov	ecx, DWORD PTR -4168[rbp]
	movzx	eax, BYTE PTR -5019[rbp]
	movzx	edx, al
	lea	rsi, -5018[rbp]
	lea	rax, -4092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4188[rbp]
	mov	ecx, DWORD PTR -4176[rbp]
	movzx	eax, BYTE PTR -5018[rbp]
	movzx	edx, al
	lea	rsi, -5017[rbp]
	lea	rax, -4088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4196[rbp]
	mov	ecx, DWORD PTR -4184[rbp]
	movzx	eax, BYTE PTR -5017[rbp]
	movzx	edx, al
	lea	rsi, -5016[rbp]
	lea	rax, -4084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4204[rbp]
	mov	ecx, DWORD PTR -4192[rbp]
	movzx	eax, BYTE PTR -5016[rbp]
	movzx	edx, al
	lea	rsi, -5015[rbp]
	lea	rax, -4080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4212[rbp]
	mov	ecx, DWORD PTR -4200[rbp]
	movzx	eax, BYTE PTR -5015[rbp]
	movzx	edx, al
	lea	rsi, -5014[rbp]
	lea	rax, -4076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5014[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4208[rbp]
	add	eax, edx
	mov	DWORD PTR -140[rbp], eax
	mov	ecx, DWORD PTR -4124[rbp]
	mov	edx, DWORD PTR -4260[rbp]
	lea	rsi, -5013[rbp]
	lea	rax, -4072[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4116[rbp]
	mov	ecx, DWORD PTR -4256[rbp]
	movzx	eax, BYTE PTR -5013[rbp]
	movzx	edx, al
	lea	rsi, -5012[rbp]
	lea	rax, -4068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4112[rbp]
	mov	ecx, DWORD PTR -4252[rbp]
	movzx	eax, BYTE PTR -5012[rbp]
	movzx	edx, al
	lea	rsi, -5011[rbp]
	lea	rax, -4064[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4108[rbp]
	mov	ecx, DWORD PTR -4248[rbp]
	movzx	eax, BYTE PTR -5011[rbp]
	movzx	edx, al
	lea	rsi, -5010[rbp]
	lea	rax, -4060[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4104[rbp]
	mov	ecx, DWORD PTR -4244[rbp]
	movzx	eax, BYTE PTR -5010[rbp]
	movzx	edx, al
	lea	rsi, -5009[rbp]
	lea	rax, -4056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4100[rbp]
	mov	ecx, DWORD PTR -4240[rbp]
	movzx	eax, BYTE PTR -5009[rbp]
	movzx	edx, al
	lea	rsi, -5008[rbp]
	lea	rax, -4052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4096[rbp]
	mov	ecx, DWORD PTR -4236[rbp]
	movzx	eax, BYTE PTR -5008[rbp]
	movzx	edx, al
	lea	rsi, -5007[rbp]
	lea	rax, -4048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4092[rbp]
	mov	ecx, DWORD PTR -4232[rbp]
	movzx	eax, BYTE PTR -5007[rbp]
	movzx	edx, al
	lea	rsi, -5006[rbp]
	lea	rax, -4044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4088[rbp]
	mov	ecx, DWORD PTR -4228[rbp]
	movzx	eax, BYTE PTR -5006[rbp]
	movzx	edx, al
	lea	rsi, -5005[rbp]
	lea	rax, -4040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4084[rbp]
	mov	ecx, DWORD PTR -4224[rbp]
	movzx	eax, BYTE PTR -5005[rbp]
	movzx	edx, al
	lea	rsi, -5004[rbp]
	lea	rax, -4036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4080[rbp]
	mov	ecx, DWORD PTR -4220[rbp]
	movzx	eax, BYTE PTR -5004[rbp]
	movzx	edx, al
	lea	rsi, -5003[rbp]
	lea	rax, -4032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4076[rbp]
	mov	ecx, DWORD PTR -4216[rbp]
	movzx	eax, BYTE PTR -5003[rbp]
	movzx	edx, al
	lea	rsi, -5002[rbp]
	lea	rax, -4028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5025[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -5002[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -140[rbp]
	lea	rsi, -5001[rbp]
	lea	rax, -4024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4016[rbp]
	lea	rax, -4020[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4008[rbp]
	lea	rax, -4012[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4000[rbp]
	lea	rax, -4004[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3992[rbp]
	lea	rax, -3996[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3984[rbp]
	lea	rax, -3988[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3976[rbp]
	lea	rax, -3980[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3968[rbp]
	lea	rax, -3972[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3960[rbp]
	lea	rax, -3964[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3952[rbp]
	lea	rax, -3956[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3944[rbp]
	lea	rax, -3948[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3964[rbp]
	mov	edx, DWORD PTR -3952[rbp]
	lea	rsi, -5000[rbp]
	lea	rax, -3940[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3972[rbp]
	mov	ecx, DWORD PTR -3960[rbp]
	movzx	eax, BYTE PTR -5000[rbp]
	movzx	edx, al
	lea	rsi, -4999[rbp]
	lea	rax, -3936[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3980[rbp]
	mov	ecx, DWORD PTR -3968[rbp]
	movzx	eax, BYTE PTR -4999[rbp]
	movzx	edx, al
	lea	rsi, -4998[rbp]
	lea	rax, -3932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3988[rbp]
	mov	ecx, DWORD PTR -3976[rbp]
	movzx	eax, BYTE PTR -4998[rbp]
	movzx	edx, al
	lea	rsi, -4997[rbp]
	lea	rax, -3928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3996[rbp]
	mov	ecx, DWORD PTR -3984[rbp]
	movzx	eax, BYTE PTR -4997[rbp]
	movzx	edx, al
	lea	rsi, -4996[rbp]
	lea	rax, -3924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4004[rbp]
	mov	ecx, DWORD PTR -3992[rbp]
	movzx	eax, BYTE PTR -4996[rbp]
	movzx	edx, al
	lea	rsi, -4995[rbp]
	lea	rax, -3920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4012[rbp]
	mov	ecx, DWORD PTR -4000[rbp]
	movzx	eax, BYTE PTR -4995[rbp]
	movzx	edx, al
	lea	rsi, -4994[rbp]
	lea	rax, -3916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4020[rbp]
	mov	ecx, DWORD PTR -4008[rbp]
	movzx	eax, BYTE PTR -4994[rbp]
	movzx	edx, al
	lea	rsi, -4993[rbp]
	lea	rax, -3912[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4993[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4016[rbp]
	add	eax, edx
	mov	DWORD PTR -136[rbp], eax
	mov	ecx, DWORD PTR -3948[rbp]
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4992[rbp]
	lea	rax, -3908[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3944[rbp]
	mov	ecx, DWORD PTR -4068[rbp]
	movzx	eax, BYTE PTR -4992[rbp]
	movzx	edx, al
	lea	rsi, -4991[rbp]
	lea	rax, -3904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -4064[rbp]
	movzx	eax, BYTE PTR -4991[rbp]
	movzx	edx, al
	lea	rsi, -4990[rbp]
	lea	rax, -3900[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3956[rbp]
	mov	ecx, DWORD PTR -4060[rbp]
	movzx	eax, BYTE PTR -4990[rbp]
	movzx	edx, al
	lea	rsi, -4989[rbp]
	lea	rax, -3896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3940[rbp]
	mov	ecx, DWORD PTR -4056[rbp]
	movzx	eax, BYTE PTR -4989[rbp]
	movzx	edx, al
	lea	rsi, -4988[rbp]
	lea	rax, -3892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3936[rbp]
	mov	ecx, DWORD PTR -4052[rbp]
	movzx	eax, BYTE PTR -4988[rbp]
	movzx	edx, al
	lea	rsi, -4987[rbp]
	lea	rax, -3888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3932[rbp]
	mov	ecx, DWORD PTR -4048[rbp]
	movzx	eax, BYTE PTR -4987[rbp]
	movzx	edx, al
	lea	rsi, -4986[rbp]
	lea	rax, -3884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3928[rbp]
	mov	ecx, DWORD PTR -4044[rbp]
	movzx	eax, BYTE PTR -4986[rbp]
	movzx	edx, al
	lea	rsi, -4985[rbp]
	lea	rax, -3880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3924[rbp]
	mov	ecx, DWORD PTR -4040[rbp]
	movzx	eax, BYTE PTR -4985[rbp]
	movzx	edx, al
	lea	rsi, -4984[rbp]
	lea	rax, -3876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3920[rbp]
	mov	ecx, DWORD PTR -4036[rbp]
	movzx	eax, BYTE PTR -4984[rbp]
	movzx	edx, al
	lea	rsi, -4983[rbp]
	lea	rax, -3872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3916[rbp]
	mov	ecx, DWORD PTR -4032[rbp]
	movzx	eax, BYTE PTR -4983[rbp]
	movzx	edx, al
	lea	rsi, -4982[rbp]
	lea	rax, -3868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3912[rbp]
	mov	ecx, DWORD PTR -4028[rbp]
	movzx	eax, BYTE PTR -4982[rbp]
	movzx	edx, al
	lea	rsi, -4981[rbp]
	lea	rax, -3864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -4024[rbp]
	movzx	eax, BYTE PTR -4981[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -136[rbp]
	lea	rsi, -4980[rbp]
	lea	rax, -3860[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4980[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -5001[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3852[rbp]
	lea	rax, -3856[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3844[rbp]
	lea	rax, -3848[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3836[rbp]
	lea	rax, -3840[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3828[rbp]
	lea	rax, -3832[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3820[rbp]
	lea	rax, -3824[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3812[rbp]
	lea	rax, -3816[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3804[rbp]
	lea	rax, -3808[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3796[rbp]
	lea	rax, -3800[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3788[rbp]
	lea	rax, -3792[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3780[rbp]
	lea	rax, -3784[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3772[rbp]
	lea	rax, -3776[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3764[rbp]
	lea	rax, -3768[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3776[rbp]
	mov	edx, DWORD PTR -3764[rbp]
	lea	rsi, -4979[rbp]
	lea	rax, -3760[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3784[rbp]
	mov	ecx, DWORD PTR -3772[rbp]
	movzx	eax, BYTE PTR -4979[rbp]
	movzx	edx, al
	lea	rsi, -4978[rbp]
	lea	rax, -3756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3792[rbp]
	mov	ecx, DWORD PTR -3780[rbp]
	movzx	eax, BYTE PTR -4978[rbp]
	movzx	edx, al
	lea	rsi, -4977[rbp]
	lea	rax, -3752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3800[rbp]
	mov	ecx, DWORD PTR -3788[rbp]
	movzx	eax, BYTE PTR -4977[rbp]
	movzx	edx, al
	lea	rsi, -4976[rbp]
	lea	rax, -3748[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3808[rbp]
	mov	ecx, DWORD PTR -3796[rbp]
	movzx	eax, BYTE PTR -4976[rbp]
	movzx	edx, al
	lea	rsi, -4975[rbp]
	lea	rax, -3744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3816[rbp]
	mov	ecx, DWORD PTR -3804[rbp]
	movzx	eax, BYTE PTR -4975[rbp]
	movzx	edx, al
	lea	rsi, -4974[rbp]
	lea	rax, -3740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3824[rbp]
	mov	ecx, DWORD PTR -3812[rbp]
	movzx	eax, BYTE PTR -4974[rbp]
	movzx	edx, al
	lea	rsi, -4973[rbp]
	lea	rax, -3736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3832[rbp]
	mov	ecx, DWORD PTR -3820[rbp]
	movzx	eax, BYTE PTR -4973[rbp]
	movzx	edx, al
	lea	rsi, -4972[rbp]
	lea	rax, -3732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3840[rbp]
	mov	ecx, DWORD PTR -3828[rbp]
	movzx	eax, BYTE PTR -4972[rbp]
	movzx	edx, al
	lea	rsi, -4971[rbp]
	lea	rax, -3728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3848[rbp]
	mov	ecx, DWORD PTR -3836[rbp]
	movzx	eax, BYTE PTR -4971[rbp]
	movzx	edx, al
	lea	rsi, -4970[rbp]
	lea	rax, -3724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3856[rbp]
	mov	ecx, DWORD PTR -3844[rbp]
	movzx	eax, BYTE PTR -4970[rbp]
	movzx	edx, al
	lea	rsi, -4969[rbp]
	lea	rax, -3720[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4969[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3852[rbp]
	add	eax, edx
	mov	DWORD PTR -128[rbp], eax
	mov	ecx, DWORD PTR -3768[rbp]
	mov	edx, DWORD PTR -3904[rbp]
	lea	rsi, -4968[rbp]
	lea	rax, -3716[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3760[rbp]
	mov	ecx, DWORD PTR -3900[rbp]
	movzx	eax, BYTE PTR -4968[rbp]
	movzx	edx, al
	lea	rsi, -4967[rbp]
	lea	rax, -3712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3756[rbp]
	mov	ecx, DWORD PTR -3896[rbp]
	movzx	eax, BYTE PTR -4967[rbp]
	movzx	edx, al
	lea	rsi, -4966[rbp]
	lea	rax, -3708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3752[rbp]
	mov	ecx, DWORD PTR -3892[rbp]
	movzx	eax, BYTE PTR -4966[rbp]
	movzx	edx, al
	lea	rsi, -4965[rbp]
	lea	rax, -3704[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3748[rbp]
	mov	ecx, DWORD PTR -3888[rbp]
	movzx	eax, BYTE PTR -4965[rbp]
	movzx	edx, al
	lea	rsi, -4964[rbp]
	lea	rax, -3700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3744[rbp]
	mov	ecx, DWORD PTR -3884[rbp]
	movzx	eax, BYTE PTR -4964[rbp]
	movzx	edx, al
	lea	rsi, -4963[rbp]
	lea	rax, -3696[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3740[rbp]
	mov	ecx, DWORD PTR -3880[rbp]
	movzx	eax, BYTE PTR -4963[rbp]
	movzx	edx, al
	lea	rsi, -4962[rbp]
	lea	rax, -3692[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3736[rbp]
	mov	ecx, DWORD PTR -3876[rbp]
	movzx	eax, BYTE PTR -4962[rbp]
	movzx	edx, al
	lea	rsi, -4961[rbp]
	lea	rax, -3688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3732[rbp]
	mov	ecx, DWORD PTR -3872[rbp]
	movzx	eax, BYTE PTR -4961[rbp]
	movzx	edx, al
	lea	rsi, -4960[rbp]
	lea	rax, -3684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3728[rbp]
	mov	ecx, DWORD PTR -3868[rbp]
	movzx	eax, BYTE PTR -4960[rbp]
	movzx	edx, al
	lea	rsi, -4959[rbp]
	lea	rax, -3680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3724[rbp]
	mov	ecx, DWORD PTR -3864[rbp]
	movzx	eax, BYTE PTR -4959[rbp]
	movzx	edx, al
	lea	rsi, -4958[rbp]
	lea	rax, -3676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3720[rbp]
	mov	ecx, DWORD PTR -3860[rbp]
	movzx	eax, BYTE PTR -4958[rbp]
	movzx	edx, al
	lea	rsi, -4957[rbp]
	lea	rax, -3672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4957[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -128[rbp]
	mov	ecx, DWORD PTR -132[rbp]
	lea	rsi, -4956[rbp]
	lea	rax, -3668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3660[rbp]
	lea	rax, -3664[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3652[rbp]
	lea	rax, -3656[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3644[rbp]
	lea	rax, -3648[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3636[rbp]
	lea	rax, -3640[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3628[rbp]
	lea	rax, -3632[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3620[rbp]
	lea	rax, -3624[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3612[rbp]
	lea	rax, -3616[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3604[rbp]
	lea	rax, -3608[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3596[rbp]
	lea	rax, -3600[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3588[rbp]
	lea	rax, -3592[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3608[rbp]
	mov	edx, DWORD PTR -3596[rbp]
	lea	rsi, -4955[rbp]
	lea	rax, -3584[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3616[rbp]
	mov	ecx, DWORD PTR -3604[rbp]
	movzx	eax, BYTE PTR -4955[rbp]
	movzx	edx, al
	lea	rsi, -4954[rbp]
	lea	rax, -3580[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3624[rbp]
	mov	ecx, DWORD PTR -3612[rbp]
	movzx	eax, BYTE PTR -4954[rbp]
	movzx	edx, al
	lea	rsi, -4953[rbp]
	lea	rax, -3576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3632[rbp]
	mov	ecx, DWORD PTR -3620[rbp]
	movzx	eax, BYTE PTR -4953[rbp]
	movzx	edx, al
	lea	rsi, -4952[rbp]
	lea	rax, -3572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3640[rbp]
	mov	ecx, DWORD PTR -3628[rbp]
	movzx	eax, BYTE PTR -4952[rbp]
	movzx	edx, al
	lea	rsi, -4951[rbp]
	lea	rax, -3568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3648[rbp]
	mov	ecx, DWORD PTR -3636[rbp]
	movzx	eax, BYTE PTR -4951[rbp]
	movzx	edx, al
	lea	rsi, -4950[rbp]
	lea	rax, -3564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3656[rbp]
	mov	ecx, DWORD PTR -3644[rbp]
	movzx	eax, BYTE PTR -4950[rbp]
	movzx	edx, al
	lea	rsi, -4949[rbp]
	lea	rax, -3560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3664[rbp]
	mov	ecx, DWORD PTR -3652[rbp]
	movzx	eax, BYTE PTR -4949[rbp]
	movzx	edx, al
	lea	rsi, -4948[rbp]
	lea	rax, -3556[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4948[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3660[rbp]
	add	eax, edx
	mov	DWORD PTR -124[rbp], eax
	mov	ecx, DWORD PTR -3592[rbp]
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -4947[rbp]
	lea	rax, -3552[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3588[rbp]
	mov	ecx, DWORD PTR -3712[rbp]
	movzx	eax, BYTE PTR -4947[rbp]
	movzx	edx, al
	lea	rsi, -4946[rbp]
	lea	rax, -3548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3708[rbp]
	movzx	eax, BYTE PTR -4946[rbp]
	movzx	edx, al
	lea	rsi, -4945[rbp]
	lea	rax, -3544[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3600[rbp]
	mov	ecx, DWORD PTR -3704[rbp]
	movzx	eax, BYTE PTR -4945[rbp]
	movzx	edx, al
	lea	rsi, -4944[rbp]
	lea	rax, -3540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3584[rbp]
	mov	ecx, DWORD PTR -3700[rbp]
	movzx	eax, BYTE PTR -4944[rbp]
	movzx	edx, al
	lea	rsi, -4943[rbp]
	lea	rax, -3536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3580[rbp]
	mov	ecx, DWORD PTR -3696[rbp]
	movzx	eax, BYTE PTR -4943[rbp]
	movzx	edx, al
	lea	rsi, -4942[rbp]
	lea	rax, -3532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3576[rbp]
	mov	ecx, DWORD PTR -3692[rbp]
	movzx	eax, BYTE PTR -4942[rbp]
	movzx	edx, al
	lea	rsi, -4941[rbp]
	lea	rax, -3528[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3572[rbp]
	mov	ecx, DWORD PTR -3688[rbp]
	movzx	eax, BYTE PTR -4941[rbp]
	movzx	edx, al
	lea	rsi, -4940[rbp]
	lea	rax, -3524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3568[rbp]
	mov	ecx, DWORD PTR -3684[rbp]
	movzx	eax, BYTE PTR -4940[rbp]
	movzx	edx, al
	lea	rsi, -4939[rbp]
	lea	rax, -3520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3564[rbp]
	mov	ecx, DWORD PTR -3680[rbp]
	movzx	eax, BYTE PTR -4939[rbp]
	movzx	edx, al
	lea	rsi, -4938[rbp]
	lea	rax, -3516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3560[rbp]
	mov	ecx, DWORD PTR -3676[rbp]
	movzx	eax, BYTE PTR -4938[rbp]
	movzx	edx, al
	lea	rsi, -4937[rbp]
	lea	rax, -3512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3556[rbp]
	mov	ecx, DWORD PTR -3672[rbp]
	movzx	eax, BYTE PTR -4937[rbp]
	movzx	edx, al
	lea	rsi, -4936[rbp]
	lea	rax, -3508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3668[rbp]
	movzx	eax, BYTE PTR -4936[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -124[rbp]
	lea	rsi, -4935[rbp]
	lea	rax, -3504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4935[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4956[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3496[rbp]
	lea	rax, -3500[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3488[rbp]
	lea	rax, -3492[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3480[rbp]
	lea	rax, -3484[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3472[rbp]
	lea	rax, -3476[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3464[rbp]
	lea	rax, -3468[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3456[rbp]
	lea	rax, -3460[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3448[rbp]
	lea	rax, -3452[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3440[rbp]
	lea	rax, -3444[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3432[rbp]
	lea	rax, -3436[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3424[rbp]
	lea	rax, -3428[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3416[rbp]
	lea	rax, -3420[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3408[rbp]
	lea	rax, -3412[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3420[rbp]
	mov	edx, DWORD PTR -3408[rbp]
	lea	rsi, -4934[rbp]
	lea	rax, -3404[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3428[rbp]
	mov	ecx, DWORD PTR -3416[rbp]
	movzx	eax, BYTE PTR -4934[rbp]
	movzx	edx, al
	lea	rsi, -4933[rbp]
	lea	rax, -3400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3436[rbp]
	mov	ecx, DWORD PTR -3424[rbp]
	movzx	eax, BYTE PTR -4933[rbp]
	movzx	edx, al
	lea	rsi, -4932[rbp]
	lea	rax, -3396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3444[rbp]
	mov	ecx, DWORD PTR -3432[rbp]
	movzx	eax, BYTE PTR -4932[rbp]
	movzx	edx, al
	lea	rsi, -4931[rbp]
	lea	rax, -3392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3452[rbp]
	mov	ecx, DWORD PTR -3440[rbp]
	movzx	eax, BYTE PTR -4931[rbp]
	movzx	edx, al
	lea	rsi, -4930[rbp]
	lea	rax, -3388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3460[rbp]
	mov	ecx, DWORD PTR -3448[rbp]
	movzx	eax, BYTE PTR -4930[rbp]
	movzx	edx, al
	lea	rsi, -4929[rbp]
	lea	rax, -3384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3468[rbp]
	mov	ecx, DWORD PTR -3456[rbp]
	movzx	eax, BYTE PTR -4929[rbp]
	movzx	edx, al
	lea	rsi, -4928[rbp]
	lea	rax, -3380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3476[rbp]
	mov	ecx, DWORD PTR -3464[rbp]
	movzx	eax, BYTE PTR -4928[rbp]
	movzx	edx, al
	lea	rsi, -4927[rbp]
	lea	rax, -3376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3484[rbp]
	mov	ecx, DWORD PTR -3472[rbp]
	movzx	eax, BYTE PTR -4927[rbp]
	movzx	edx, al
	lea	rsi, -4926[rbp]
	lea	rax, -3372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3492[rbp]
	mov	ecx, DWORD PTR -3480[rbp]
	movzx	eax, BYTE PTR -4926[rbp]
	movzx	edx, al
	lea	rsi, -4925[rbp]
	lea	rax, -3368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3500[rbp]
	mov	ecx, DWORD PTR -3488[rbp]
	movzx	eax, BYTE PTR -4925[rbp]
	movzx	edx, al
	lea	rsi, -4924[rbp]
	lea	rax, -3364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4924[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3496[rbp]
	add	eax, edx
	mov	DWORD PTR -116[rbp], eax
	mov	ecx, DWORD PTR -3412[rbp]
	mov	edx, DWORD PTR -3548[rbp]
	lea	rsi, -4923[rbp]
	lea	rax, -3360[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3404[rbp]
	mov	ecx, DWORD PTR -3544[rbp]
	movzx	eax, BYTE PTR -4923[rbp]
	movzx	edx, al
	lea	rsi, -4922[rbp]
	lea	rax, -3356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3400[rbp]
	mov	ecx, DWORD PTR -3540[rbp]
	movzx	eax, BYTE PTR -4922[rbp]
	movzx	edx, al
	lea	rsi, -4921[rbp]
	lea	rax, -3352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3396[rbp]
	mov	ecx, DWORD PTR -3536[rbp]
	movzx	eax, BYTE PTR -4921[rbp]
	movzx	edx, al
	lea	rsi, -4920[rbp]
	lea	rax, -3348[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3392[rbp]
	mov	ecx, DWORD PTR -3532[rbp]
	movzx	eax, BYTE PTR -4920[rbp]
	movzx	edx, al
	lea	rsi, -4919[rbp]
	lea	rax, -3344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3388[rbp]
	mov	ecx, DWORD PTR -3528[rbp]
	movzx	eax, BYTE PTR -4919[rbp]
	movzx	edx, al
	lea	rsi, -4918[rbp]
	lea	rax, -3340[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3384[rbp]
	mov	ecx, DWORD PTR -3524[rbp]
	movzx	eax, BYTE PTR -4918[rbp]
	movzx	edx, al
	lea	rsi, -4917[rbp]
	lea	rax, -3336[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3380[rbp]
	mov	ecx, DWORD PTR -3520[rbp]
	movzx	eax, BYTE PTR -4917[rbp]
	movzx	edx, al
	lea	rsi, -4916[rbp]
	lea	rax, -3332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3376[rbp]
	mov	ecx, DWORD PTR -3516[rbp]
	movzx	eax, BYTE PTR -4916[rbp]
	movzx	edx, al
	lea	rsi, -4915[rbp]
	lea	rax, -3328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3372[rbp]
	mov	ecx, DWORD PTR -3512[rbp]
	movzx	eax, BYTE PTR -4915[rbp]
	movzx	edx, al
	lea	rsi, -4914[rbp]
	lea	rax, -3324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3368[rbp]
	mov	ecx, DWORD PTR -3508[rbp]
	movzx	eax, BYTE PTR -4914[rbp]
	movzx	edx, al
	lea	rsi, -4913[rbp]
	lea	rax, -3320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3364[rbp]
	mov	ecx, DWORD PTR -3504[rbp]
	movzx	eax, BYTE PTR -4913[rbp]
	movzx	edx, al
	lea	rsi, -4912[rbp]
	lea	rax, -3316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4912[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -116[rbp]
	mov	ecx, DWORD PTR -120[rbp]
	lea	rsi, -4911[rbp]
	lea	rax, -3312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3304[rbp]
	lea	rax, -3308[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3296[rbp]
	lea	rax, -3300[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3288[rbp]
	lea	rax, -3292[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3280[rbp]
	lea	rax, -3284[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3272[rbp]
	lea	rax, -3276[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3264[rbp]
	lea	rax, -3268[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3256[rbp]
	lea	rax, -3260[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3248[rbp]
	lea	rax, -3252[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3240[rbp]
	lea	rax, -3244[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3232[rbp]
	lea	rax, -3236[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3252[rbp]
	mov	edx, DWORD PTR -3240[rbp]
	lea	rsi, -4910[rbp]
	lea	rax, -3228[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3260[rbp]
	mov	ecx, DWORD PTR -3248[rbp]
	movzx	eax, BYTE PTR -4910[rbp]
	movzx	edx, al
	lea	rsi, -4909[rbp]
	lea	rax, -3224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3268[rbp]
	mov	ecx, DWORD PTR -3256[rbp]
	movzx	eax, BYTE PTR -4909[rbp]
	movzx	edx, al
	lea	rsi, -4908[rbp]
	lea	rax, -3220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3276[rbp]
	mov	ecx, DWORD PTR -3264[rbp]
	movzx	eax, BYTE PTR -4908[rbp]
	movzx	edx, al
	lea	rsi, -4907[rbp]
	lea	rax, -3216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3284[rbp]
	mov	ecx, DWORD PTR -3272[rbp]
	movzx	eax, BYTE PTR -4907[rbp]
	movzx	edx, al
	lea	rsi, -4906[rbp]
	lea	rax, -3212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3292[rbp]
	mov	ecx, DWORD PTR -3280[rbp]
	movzx	eax, BYTE PTR -4906[rbp]
	movzx	edx, al
	lea	rsi, -4905[rbp]
	lea	rax, -3208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3300[rbp]
	mov	ecx, DWORD PTR -3288[rbp]
	movzx	eax, BYTE PTR -4905[rbp]
	movzx	edx, al
	lea	rsi, -4904[rbp]
	lea	rax, -3204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3308[rbp]
	mov	ecx, DWORD PTR -3296[rbp]
	movzx	eax, BYTE PTR -4904[rbp]
	movzx	edx, al
	lea	rsi, -4903[rbp]
	lea	rax, -3200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4903[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3304[rbp]
	add	eax, edx
	mov	DWORD PTR -112[rbp], eax
	mov	ecx, DWORD PTR -3236[rbp]
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -4902[rbp]
	lea	rax, -3196[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3232[rbp]
	mov	ecx, DWORD PTR -3356[rbp]
	movzx	eax, BYTE PTR -4902[rbp]
	movzx	edx, al
	lea	rsi, -4901[rbp]
	lea	rax, -3192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3352[rbp]
	movzx	eax, BYTE PTR -4901[rbp]
	movzx	edx, al
	lea	rsi, -4900[rbp]
	lea	rax, -3188[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3244[rbp]
	mov	ecx, DWORD PTR -3348[rbp]
	movzx	eax, BYTE PTR -4900[rbp]
	movzx	edx, al
	lea	rsi, -4899[rbp]
	lea	rax, -3184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3228[rbp]
	mov	ecx, DWORD PTR -3344[rbp]
	movzx	eax, BYTE PTR -4899[rbp]
	movzx	edx, al
	lea	rsi, -4898[rbp]
	lea	rax, -3180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3224[rbp]
	mov	ecx, DWORD PTR -3340[rbp]
	movzx	eax, BYTE PTR -4898[rbp]
	movzx	edx, al
	lea	rsi, -4897[rbp]
	lea	rax, -3176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3220[rbp]
	mov	ecx, DWORD PTR -3336[rbp]
	movzx	eax, BYTE PTR -4897[rbp]
	movzx	edx, al
	lea	rsi, -4896[rbp]
	lea	rax, -3172[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3216[rbp]
	mov	ecx, DWORD PTR -3332[rbp]
	movzx	eax, BYTE PTR -4896[rbp]
	movzx	edx, al
	lea	rsi, -4895[rbp]
	lea	rax, -3168[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3212[rbp]
	mov	ecx, DWORD PTR -3328[rbp]
	movzx	eax, BYTE PTR -4895[rbp]
	movzx	edx, al
	lea	rsi, -4894[rbp]
	lea	rax, -3164[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3208[rbp]
	mov	ecx, DWORD PTR -3324[rbp]
	movzx	eax, BYTE PTR -4894[rbp]
	movzx	edx, al
	lea	rsi, -4893[rbp]
	lea	rax, -3160[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3204[rbp]
	mov	ecx, DWORD PTR -3320[rbp]
	movzx	eax, BYTE PTR -4893[rbp]
	movzx	edx, al
	lea	rsi, -4892[rbp]
	lea	rax, -3156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3200[rbp]
	mov	ecx, DWORD PTR -3316[rbp]
	movzx	eax, BYTE PTR -4892[rbp]
	movzx	edx, al
	lea	rsi, -4891[rbp]
	lea	rax, -3152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3312[rbp]
	movzx	eax, BYTE PTR -4891[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -112[rbp]
	lea	rsi, -4890[rbp]
	lea	rax, -3148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4890[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4911[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3140[rbp]
	lea	rax, -3144[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3132[rbp]
	lea	rax, -3136[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3124[rbp]
	lea	rax, -3128[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3116[rbp]
	lea	rax, -3120[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3108[rbp]
	lea	rax, -3112[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3100[rbp]
	lea	rax, -3104[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3092[rbp]
	lea	rax, -3096[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3084[rbp]
	lea	rax, -3088[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3076[rbp]
	lea	rax, -3080[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3068[rbp]
	lea	rax, -3072[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3060[rbp]
	lea	rax, -3064[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3052[rbp]
	lea	rax, -3056[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3064[rbp]
	mov	edx, DWORD PTR -3052[rbp]
	lea	rsi, -4889[rbp]
	lea	rax, -3048[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3072[rbp]
	mov	ecx, DWORD PTR -3060[rbp]
	movzx	eax, BYTE PTR -4889[rbp]
	movzx	edx, al
	lea	rsi, -4888[rbp]
	lea	rax, -3044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3080[rbp]
	mov	ecx, DWORD PTR -3068[rbp]
	movzx	eax, BYTE PTR -4888[rbp]
	movzx	edx, al
	lea	rsi, -4887[rbp]
	lea	rax, -3040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3088[rbp]
	mov	ecx, DWORD PTR -3076[rbp]
	movzx	eax, BYTE PTR -4887[rbp]
	movzx	edx, al
	lea	rsi, -4886[rbp]
	lea	rax, -3036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3096[rbp]
	mov	ecx, DWORD PTR -3084[rbp]
	movzx	eax, BYTE PTR -4886[rbp]
	movzx	edx, al
	lea	rsi, -4885[rbp]
	lea	rax, -3032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3104[rbp]
	mov	ecx, DWORD PTR -3092[rbp]
	movzx	eax, BYTE PTR -4885[rbp]
	movzx	edx, al
	lea	rsi, -4884[rbp]
	lea	rax, -3028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3112[rbp]
	mov	ecx, DWORD PTR -3100[rbp]
	movzx	eax, BYTE PTR -4884[rbp]
	movzx	edx, al
	lea	rsi, -4883[rbp]
	lea	rax, -3024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3120[rbp]
	mov	ecx, DWORD PTR -3108[rbp]
	movzx	eax, BYTE PTR -4883[rbp]
	movzx	edx, al
	lea	rsi, -4882[rbp]
	lea	rax, -3020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3128[rbp]
	mov	ecx, DWORD PTR -3116[rbp]
	movzx	eax, BYTE PTR -4882[rbp]
	movzx	edx, al
	lea	rsi, -4881[rbp]
	lea	rax, -3016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3136[rbp]
	mov	ecx, DWORD PTR -3124[rbp]
	movzx	eax, BYTE PTR -4881[rbp]
	movzx	edx, al
	lea	rsi, -4880[rbp]
	lea	rax, -3012[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3144[rbp]
	mov	ecx, DWORD PTR -3132[rbp]
	movzx	eax, BYTE PTR -4880[rbp]
	movzx	edx, al
	lea	rsi, -4879[rbp]
	lea	rax, -3008[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4879[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3140[rbp]
	add	eax, edx
	mov	DWORD PTR -104[rbp], eax
	mov	ecx, DWORD PTR -3056[rbp]
	mov	edx, DWORD PTR -3192[rbp]
	lea	rsi, -4878[rbp]
	lea	rax, -3004[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3048[rbp]
	mov	ecx, DWORD PTR -3188[rbp]
	movzx	eax, BYTE PTR -4878[rbp]
	movzx	edx, al
	lea	rsi, -4877[rbp]
	lea	rax, -3000[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3044[rbp]
	mov	ecx, DWORD PTR -3184[rbp]
	movzx	eax, BYTE PTR -4877[rbp]
	movzx	edx, al
	lea	rsi, -4876[rbp]
	lea	rax, -2996[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3040[rbp]
	mov	ecx, DWORD PTR -3180[rbp]
	movzx	eax, BYTE PTR -4876[rbp]
	movzx	edx, al
	lea	rsi, -4875[rbp]
	lea	rax, -2992[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3036[rbp]
	mov	ecx, DWORD PTR -3176[rbp]
	movzx	eax, BYTE PTR -4875[rbp]
	movzx	edx, al
	lea	rsi, -4874[rbp]
	lea	rax, -2988[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3032[rbp]
	mov	ecx, DWORD PTR -3172[rbp]
	movzx	eax, BYTE PTR -4874[rbp]
	movzx	edx, al
	lea	rsi, -4873[rbp]
	lea	rax, -2984[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3028[rbp]
	mov	ecx, DWORD PTR -3168[rbp]
	movzx	eax, BYTE PTR -4873[rbp]
	movzx	edx, al
	lea	rsi, -4872[rbp]
	lea	rax, -2980[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3024[rbp]
	mov	ecx, DWORD PTR -3164[rbp]
	movzx	eax, BYTE PTR -4872[rbp]
	movzx	edx, al
	lea	rsi, -4871[rbp]
	lea	rax, -2976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3020[rbp]
	mov	ecx, DWORD PTR -3160[rbp]
	movzx	eax, BYTE PTR -4871[rbp]
	movzx	edx, al
	lea	rsi, -4870[rbp]
	lea	rax, -2972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3016[rbp]
	mov	ecx, DWORD PTR -3156[rbp]
	movzx	eax, BYTE PTR -4870[rbp]
	movzx	edx, al
	lea	rsi, -4869[rbp]
	lea	rax, -2968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3012[rbp]
	mov	ecx, DWORD PTR -3152[rbp]
	movzx	eax, BYTE PTR -4869[rbp]
	movzx	edx, al
	lea	rsi, -4868[rbp]
	lea	rax, -2964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3008[rbp]
	mov	ecx, DWORD PTR -3148[rbp]
	movzx	eax, BYTE PTR -4868[rbp]
	movzx	edx, al
	lea	rsi, -4867[rbp]
	lea	rax, -2960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4867[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -104[rbp]
	mov	ecx, DWORD PTR -108[rbp]
	lea	rsi, -4866[rbp]
	lea	rax, -2956[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2948[rbp]
	lea	rax, -2952[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2940[rbp]
	lea	rax, -2944[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2932[rbp]
	lea	rax, -2936[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2924[rbp]
	lea	rax, -2928[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2916[rbp]
	lea	rax, -2920[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2908[rbp]
	lea	rax, -2912[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2900[rbp]
	lea	rax, -2904[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2892[rbp]
	lea	rax, -2896[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2884[rbp]
	lea	rax, -2888[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2876[rbp]
	lea	rax, -2880[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2896[rbp]
	mov	edx, DWORD PTR -2884[rbp]
	lea	rsi, -4865[rbp]
	lea	rax, -2872[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2904[rbp]
	mov	ecx, DWORD PTR -2892[rbp]
	movzx	eax, BYTE PTR -4865[rbp]
	movzx	edx, al
	lea	rsi, -4864[rbp]
	lea	rax, -2868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2912[rbp]
	mov	ecx, DWORD PTR -2900[rbp]
	movzx	eax, BYTE PTR -4864[rbp]
	movzx	edx, al
	lea	rsi, -4863[rbp]
	lea	rax, -2864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2920[rbp]
	mov	ecx, DWORD PTR -2908[rbp]
	movzx	eax, BYTE PTR -4863[rbp]
	movzx	edx, al
	lea	rsi, -4862[rbp]
	lea	rax, -2860[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2928[rbp]
	mov	ecx, DWORD PTR -2916[rbp]
	movzx	eax, BYTE PTR -4862[rbp]
	movzx	edx, al
	lea	rsi, -4861[rbp]
	lea	rax, -2856[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2936[rbp]
	mov	ecx, DWORD PTR -2924[rbp]
	movzx	eax, BYTE PTR -4861[rbp]
	movzx	edx, al
	lea	rsi, -4860[rbp]
	lea	rax, -2852[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2944[rbp]
	mov	ecx, DWORD PTR -2932[rbp]
	movzx	eax, BYTE PTR -4860[rbp]
	movzx	edx, al
	lea	rsi, -4859[rbp]
	lea	rax, -2848[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2952[rbp]
	mov	ecx, DWORD PTR -2940[rbp]
	movzx	eax, BYTE PTR -4859[rbp]
	movzx	edx, al
	lea	rsi, -4858[rbp]
	lea	rax, -2844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4858[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2948[rbp]
	add	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	ecx, DWORD PTR -2880[rbp]
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -4857[rbp]
	lea	rax, -2840[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2876[rbp]
	mov	ecx, DWORD PTR -3000[rbp]
	movzx	eax, BYTE PTR -4857[rbp]
	movzx	edx, al
	lea	rsi, -4856[rbp]
	lea	rax, -2836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2996[rbp]
	movzx	eax, BYTE PTR -4856[rbp]
	movzx	edx, al
	lea	rsi, -4855[rbp]
	lea	rax, -2832[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2888[rbp]
	mov	ecx, DWORD PTR -2992[rbp]
	movzx	eax, BYTE PTR -4855[rbp]
	movzx	edx, al
	lea	rsi, -4854[rbp]
	lea	rax, -2828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2872[rbp]
	mov	ecx, DWORD PTR -2988[rbp]
	movzx	eax, BYTE PTR -4854[rbp]
	movzx	edx, al
	lea	rsi, -4853[rbp]
	lea	rax, -2824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2868[rbp]
	mov	ecx, DWORD PTR -2984[rbp]
	movzx	eax, BYTE PTR -4853[rbp]
	movzx	edx, al
	lea	rsi, -4852[rbp]
	lea	rax, -2820[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2864[rbp]
	mov	ecx, DWORD PTR -2980[rbp]
	movzx	eax, BYTE PTR -4852[rbp]
	movzx	edx, al
	lea	rsi, -4851[rbp]
	lea	rax, -2816[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2860[rbp]
	mov	ecx, DWORD PTR -2976[rbp]
	movzx	eax, BYTE PTR -4851[rbp]
	movzx	edx, al
	lea	rsi, -4850[rbp]
	lea	rax, -2812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2856[rbp]
	mov	ecx, DWORD PTR -2972[rbp]
	movzx	eax, BYTE PTR -4850[rbp]
	movzx	edx, al
	lea	rsi, -4849[rbp]
	lea	rax, -2808[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2852[rbp]
	mov	ecx, DWORD PTR -2968[rbp]
	movzx	eax, BYTE PTR -4849[rbp]
	movzx	edx, al
	lea	rsi, -4848[rbp]
	lea	rax, -2804[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2848[rbp]
	mov	ecx, DWORD PTR -2964[rbp]
	movzx	eax, BYTE PTR -4848[rbp]
	movzx	edx, al
	lea	rsi, -4847[rbp]
	lea	rax, -2800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2844[rbp]
	mov	ecx, DWORD PTR -2960[rbp]
	movzx	eax, BYTE PTR -4847[rbp]
	movzx	edx, al
	lea	rsi, -4846[rbp]
	lea	rax, -2796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2956[rbp]
	movzx	eax, BYTE PTR -4846[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -100[rbp]
	lea	rsi, -4845[rbp]
	lea	rax, -2792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4845[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4866[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2784[rbp]
	lea	rax, -2788[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2776[rbp]
	lea	rax, -2780[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2768[rbp]
	lea	rax, -2772[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2760[rbp]
	lea	rax, -2764[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2752[rbp]
	lea	rax, -2756[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2744[rbp]
	lea	rax, -2748[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2736[rbp]
	lea	rax, -2740[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2728[rbp]
	lea	rax, -2732[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2720[rbp]
	lea	rax, -2724[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2712[rbp]
	lea	rax, -2716[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2704[rbp]
	lea	rax, -2708[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2696[rbp]
	lea	rax, -2700[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2708[rbp]
	mov	edx, DWORD PTR -2696[rbp]
	lea	rsi, -4844[rbp]
	lea	rax, -2692[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2716[rbp]
	mov	ecx, DWORD PTR -2704[rbp]
	movzx	eax, BYTE PTR -4844[rbp]
	movzx	edx, al
	lea	rsi, -4843[rbp]
	lea	rax, -2688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2724[rbp]
	mov	ecx, DWORD PTR -2712[rbp]
	movzx	eax, BYTE PTR -4843[rbp]
	movzx	edx, al
	lea	rsi, -4842[rbp]
	lea	rax, -2684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2732[rbp]
	mov	ecx, DWORD PTR -2720[rbp]
	movzx	eax, BYTE PTR -4842[rbp]
	movzx	edx, al
	lea	rsi, -4841[rbp]
	lea	rax, -2680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2740[rbp]
	mov	ecx, DWORD PTR -2728[rbp]
	movzx	eax, BYTE PTR -4841[rbp]
	movzx	edx, al
	lea	rsi, -4840[rbp]
	lea	rax, -2676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2748[rbp]
	mov	ecx, DWORD PTR -2736[rbp]
	movzx	eax, BYTE PTR -4840[rbp]
	movzx	edx, al
	lea	rsi, -4839[rbp]
	lea	rax, -2672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2756[rbp]
	mov	ecx, DWORD PTR -2744[rbp]
	movzx	eax, BYTE PTR -4839[rbp]
	movzx	edx, al
	lea	rsi, -4838[rbp]
	lea	rax, -2668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2764[rbp]
	mov	ecx, DWORD PTR -2752[rbp]
	movzx	eax, BYTE PTR -4838[rbp]
	movzx	edx, al
	lea	rsi, -4837[rbp]
	lea	rax, -2664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2772[rbp]
	mov	ecx, DWORD PTR -2760[rbp]
	movzx	eax, BYTE PTR -4837[rbp]
	movzx	edx, al
	lea	rsi, -4836[rbp]
	lea	rax, -2660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2780[rbp]
	mov	ecx, DWORD PTR -2768[rbp]
	movzx	eax, BYTE PTR -4836[rbp]
	movzx	edx, al
	lea	rsi, -4835[rbp]
	lea	rax, -2656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2788[rbp]
	mov	ecx, DWORD PTR -2776[rbp]
	movzx	eax, BYTE PTR -4835[rbp]
	movzx	edx, al
	lea	rsi, -4834[rbp]
	lea	rax, -2652[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4834[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2784[rbp]
	add	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	ecx, DWORD PTR -2700[rbp]
	mov	edx, DWORD PTR -2836[rbp]
	lea	rsi, -4833[rbp]
	lea	rax, -2648[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2692[rbp]
	mov	ecx, DWORD PTR -2832[rbp]
	movzx	eax, BYTE PTR -4833[rbp]
	movzx	edx, al
	lea	rsi, -4832[rbp]
	lea	rax, -2644[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2688[rbp]
	mov	ecx, DWORD PTR -2828[rbp]
	movzx	eax, BYTE PTR -4832[rbp]
	movzx	edx, al
	lea	rsi, -4831[rbp]
	lea	rax, -2640[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2684[rbp]
	mov	ecx, DWORD PTR -2824[rbp]
	movzx	eax, BYTE PTR -4831[rbp]
	movzx	edx, al
	lea	rsi, -4830[rbp]
	lea	rax, -2636[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2680[rbp]
	mov	ecx, DWORD PTR -2820[rbp]
	movzx	eax, BYTE PTR -4830[rbp]
	movzx	edx, al
	lea	rsi, -4829[rbp]
	lea	rax, -2632[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2676[rbp]
	mov	ecx, DWORD PTR -2816[rbp]
	movzx	eax, BYTE PTR -4829[rbp]
	movzx	edx, al
	lea	rsi, -4828[rbp]
	lea	rax, -2628[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2672[rbp]
	mov	ecx, DWORD PTR -2812[rbp]
	movzx	eax, BYTE PTR -4828[rbp]
	movzx	edx, al
	lea	rsi, -4827[rbp]
	lea	rax, -2624[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2668[rbp]
	mov	ecx, DWORD PTR -2808[rbp]
	movzx	eax, BYTE PTR -4827[rbp]
	movzx	edx, al
	lea	rsi, -4826[rbp]
	lea	rax, -2620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2664[rbp]
	mov	ecx, DWORD PTR -2804[rbp]
	movzx	eax, BYTE PTR -4826[rbp]
	movzx	edx, al
	lea	rsi, -4825[rbp]
	lea	rax, -2616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2660[rbp]
	mov	ecx, DWORD PTR -2800[rbp]
	movzx	eax, BYTE PTR -4825[rbp]
	movzx	edx, al
	lea	rsi, -4824[rbp]
	lea	rax, -2612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2656[rbp]
	mov	ecx, DWORD PTR -2796[rbp]
	movzx	eax, BYTE PTR -4824[rbp]
	movzx	edx, al
	lea	rsi, -4823[rbp]
	lea	rax, -2608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2652[rbp]
	mov	ecx, DWORD PTR -2792[rbp]
	movzx	eax, BYTE PTR -4823[rbp]
	movzx	edx, al
	lea	rsi, -4822[rbp]
	lea	rax, -2604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4822[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -92[rbp]
	mov	ecx, DWORD PTR -96[rbp]
	lea	rsi, -4821[rbp]
	lea	rax, -2600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2592[rbp]
	lea	rax, -2596[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2584[rbp]
	lea	rax, -2588[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2576[rbp]
	lea	rax, -2580[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2568[rbp]
	lea	rax, -2572[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2560[rbp]
	lea	rax, -2564[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2552[rbp]
	lea	rax, -2556[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2544[rbp]
	lea	rax, -2548[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2536[rbp]
	lea	rax, -2540[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2528[rbp]
	lea	rax, -2532[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2520[rbp]
	lea	rax, -2524[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2540[rbp]
	mov	edx, DWORD PTR -2528[rbp]
	lea	rsi, -4820[rbp]
	lea	rax, -2516[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2548[rbp]
	mov	ecx, DWORD PTR -2536[rbp]
	movzx	eax, BYTE PTR -4820[rbp]
	movzx	edx, al
	lea	rsi, -4819[rbp]
	lea	rax, -2512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2556[rbp]
	mov	ecx, DWORD PTR -2544[rbp]
	movzx	eax, BYTE PTR -4819[rbp]
	movzx	edx, al
	lea	rsi, -4818[rbp]
	lea	rax, -2508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2564[rbp]
	mov	ecx, DWORD PTR -2552[rbp]
	movzx	eax, BYTE PTR -4818[rbp]
	movzx	edx, al
	lea	rsi, -4817[rbp]
	lea	rax, -2504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2572[rbp]
	mov	ecx, DWORD PTR -2560[rbp]
	movzx	eax, BYTE PTR -4817[rbp]
	movzx	edx, al
	lea	rsi, -4816[rbp]
	lea	rax, -2500[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2580[rbp]
	mov	ecx, DWORD PTR -2568[rbp]
	movzx	eax, BYTE PTR -4816[rbp]
	movzx	edx, al
	lea	rsi, -4815[rbp]
	lea	rax, -2496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2588[rbp]
	mov	ecx, DWORD PTR -2576[rbp]
	movzx	eax, BYTE PTR -4815[rbp]
	movzx	edx, al
	lea	rsi, -4814[rbp]
	lea	rax, -2492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2596[rbp]
	mov	ecx, DWORD PTR -2584[rbp]
	movzx	eax, BYTE PTR -4814[rbp]
	movzx	edx, al
	lea	rsi, -4813[rbp]
	lea	rax, -2488[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4813[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2592[rbp]
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	ecx, DWORD PTR -2524[rbp]
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -4812[rbp]
	lea	rax, -2484[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2520[rbp]
	mov	ecx, DWORD PTR -2644[rbp]
	movzx	eax, BYTE PTR -4812[rbp]
	movzx	edx, al
	lea	rsi, -4811[rbp]
	lea	rax, -2480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2640[rbp]
	movzx	eax, BYTE PTR -4811[rbp]
	movzx	edx, al
	lea	rsi, -4810[rbp]
	lea	rax, -2476[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2532[rbp]
	mov	ecx, DWORD PTR -2636[rbp]
	movzx	eax, BYTE PTR -4810[rbp]
	movzx	edx, al
	lea	rsi, -4809[rbp]
	lea	rax, -2472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2516[rbp]
	mov	ecx, DWORD PTR -2632[rbp]
	movzx	eax, BYTE PTR -4809[rbp]
	movzx	edx, al
	lea	rsi, -4808[rbp]
	lea	rax, -2468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2512[rbp]
	mov	ecx, DWORD PTR -2628[rbp]
	movzx	eax, BYTE PTR -4808[rbp]
	movzx	edx, al
	lea	rsi, -4807[rbp]
	lea	rax, -2464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2508[rbp]
	mov	ecx, DWORD PTR -2624[rbp]
	movzx	eax, BYTE PTR -4807[rbp]
	movzx	edx, al
	lea	rsi, -4806[rbp]
	lea	rax, -2460[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2504[rbp]
	mov	ecx, DWORD PTR -2620[rbp]
	movzx	eax, BYTE PTR -4806[rbp]
	movzx	edx, al
	lea	rsi, -4805[rbp]
	lea	rax, -2456[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2500[rbp]
	mov	ecx, DWORD PTR -2616[rbp]
	movzx	eax, BYTE PTR -4805[rbp]
	movzx	edx, al
	lea	rsi, -4804[rbp]
	lea	rax, -2452[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2496[rbp]
	mov	ecx, DWORD PTR -2612[rbp]
	movzx	eax, BYTE PTR -4804[rbp]
	movzx	edx, al
	lea	rsi, -4803[rbp]
	lea	rax, -2448[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2492[rbp]
	mov	ecx, DWORD PTR -2608[rbp]
	movzx	eax, BYTE PTR -4803[rbp]
	movzx	edx, al
	lea	rsi, -4802[rbp]
	lea	rax, -2444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2488[rbp]
	mov	ecx, DWORD PTR -2604[rbp]
	movzx	eax, BYTE PTR -4802[rbp]
	movzx	edx, al
	lea	rsi, -4801[rbp]
	lea	rax, -2440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2600[rbp]
	movzx	eax, BYTE PTR -4801[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -88[rbp]
	lea	rsi, -4800[rbp]
	lea	rax, -2436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4800[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4821[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2428[rbp]
	lea	rax, -2432[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2420[rbp]
	lea	rax, -2424[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2412[rbp]
	lea	rax, -2416[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2404[rbp]
	lea	rax, -2408[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2396[rbp]
	lea	rax, -2400[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2388[rbp]
	lea	rax, -2392[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2380[rbp]
	lea	rax, -2384[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2372[rbp]
	lea	rax, -2376[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2364[rbp]
	lea	rax, -2368[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2356[rbp]
	lea	rax, -2360[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2348[rbp]
	lea	rax, -2352[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2340[rbp]
	lea	rax, -2344[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2352[rbp]
	mov	edx, DWORD PTR -2340[rbp]
	lea	rsi, -4799[rbp]
	lea	rax, -2336[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2360[rbp]
	mov	ecx, DWORD PTR -2348[rbp]
	movzx	eax, BYTE PTR -4799[rbp]
	movzx	edx, al
	lea	rsi, -4798[rbp]
	lea	rax, -2332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2368[rbp]
	mov	ecx, DWORD PTR -2356[rbp]
	movzx	eax, BYTE PTR -4798[rbp]
	movzx	edx, al
	lea	rsi, -4797[rbp]
	lea	rax, -2328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2376[rbp]
	mov	ecx, DWORD PTR -2364[rbp]
	movzx	eax, BYTE PTR -4797[rbp]
	movzx	edx, al
	lea	rsi, -4796[rbp]
	lea	rax, -2324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2384[rbp]
	mov	ecx, DWORD PTR -2372[rbp]
	movzx	eax, BYTE PTR -4796[rbp]
	movzx	edx, al
	lea	rsi, -4795[rbp]
	lea	rax, -2320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2392[rbp]
	mov	ecx, DWORD PTR -2380[rbp]
	movzx	eax, BYTE PTR -4795[rbp]
	movzx	edx, al
	lea	rsi, -4794[rbp]
	lea	rax, -2316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2400[rbp]
	mov	ecx, DWORD PTR -2388[rbp]
	movzx	eax, BYTE PTR -4794[rbp]
	movzx	edx, al
	lea	rsi, -4793[rbp]
	lea	rax, -2312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2408[rbp]
	mov	ecx, DWORD PTR -2396[rbp]
	movzx	eax, BYTE PTR -4793[rbp]
	movzx	edx, al
	lea	rsi, -4792[rbp]
	lea	rax, -2308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2416[rbp]
	mov	ecx, DWORD PTR -2404[rbp]
	movzx	eax, BYTE PTR -4792[rbp]
	movzx	edx, al
	lea	rsi, -4791[rbp]
	lea	rax, -2304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2424[rbp]
	mov	ecx, DWORD PTR -2412[rbp]
	movzx	eax, BYTE PTR -4791[rbp]
	movzx	edx, al
	lea	rsi, -4790[rbp]
	lea	rax, -2300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2432[rbp]
	mov	ecx, DWORD PTR -2420[rbp]
	movzx	eax, BYTE PTR -4790[rbp]
	movzx	edx, al
	lea	rsi, -4789[rbp]
	lea	rax, -2296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4789[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2428[rbp]
	add	eax, edx
	mov	DWORD PTR -80[rbp], eax
	mov	ecx, DWORD PTR -2344[rbp]
	mov	edx, DWORD PTR -2480[rbp]
	lea	rsi, -4788[rbp]
	lea	rax, -2292[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2336[rbp]
	mov	ecx, DWORD PTR -2476[rbp]
	movzx	eax, BYTE PTR -4788[rbp]
	movzx	edx, al
	lea	rsi, -4787[rbp]
	lea	rax, -2288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2332[rbp]
	mov	ecx, DWORD PTR -2472[rbp]
	movzx	eax, BYTE PTR -4787[rbp]
	movzx	edx, al
	lea	rsi, -4786[rbp]
	lea	rax, -2284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2328[rbp]
	mov	ecx, DWORD PTR -2468[rbp]
	movzx	eax, BYTE PTR -4786[rbp]
	movzx	edx, al
	lea	rsi, -4785[rbp]
	lea	rax, -2280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2324[rbp]
	mov	ecx, DWORD PTR -2464[rbp]
	movzx	eax, BYTE PTR -4785[rbp]
	movzx	edx, al
	lea	rsi, -4784[rbp]
	lea	rax, -2276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2320[rbp]
	mov	ecx, DWORD PTR -2460[rbp]
	movzx	eax, BYTE PTR -4784[rbp]
	movzx	edx, al
	lea	rsi, -4783[rbp]
	lea	rax, -2272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2316[rbp]
	mov	ecx, DWORD PTR -2456[rbp]
	movzx	eax, BYTE PTR -4783[rbp]
	movzx	edx, al
	lea	rsi, -4782[rbp]
	lea	rax, -2268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2312[rbp]
	mov	ecx, DWORD PTR -2452[rbp]
	movzx	eax, BYTE PTR -4782[rbp]
	movzx	edx, al
	lea	rsi, -4781[rbp]
	lea	rax, -2264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2308[rbp]
	mov	ecx, DWORD PTR -2448[rbp]
	movzx	eax, BYTE PTR -4781[rbp]
	movzx	edx, al
	lea	rsi, -4780[rbp]
	lea	rax, -2260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2304[rbp]
	mov	ecx, DWORD PTR -2444[rbp]
	movzx	eax, BYTE PTR -4780[rbp]
	movzx	edx, al
	lea	rsi, -4779[rbp]
	lea	rax, -2256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2300[rbp]
	mov	ecx, DWORD PTR -2440[rbp]
	movzx	eax, BYTE PTR -4779[rbp]
	movzx	edx, al
	lea	rsi, -4778[rbp]
	lea	rax, -2252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2296[rbp]
	mov	ecx, DWORD PTR -2436[rbp]
	movzx	eax, BYTE PTR -4778[rbp]
	movzx	edx, al
	lea	rsi, -4777[rbp]
	lea	rax, -2248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4777[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -80[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	lea	rsi, -4776[rbp]
	lea	rax, -2244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2236[rbp]
	lea	rax, -2240[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2228[rbp]
	lea	rax, -2232[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2220[rbp]
	lea	rax, -2224[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2212[rbp]
	lea	rax, -2216[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2204[rbp]
	lea	rax, -2208[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2196[rbp]
	lea	rax, -2200[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2188[rbp]
	lea	rax, -2192[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2180[rbp]
	lea	rax, -2184[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2172[rbp]
	lea	rax, -2176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2164[rbp]
	lea	rax, -2168[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2184[rbp]
	mov	edx, DWORD PTR -2172[rbp]
	lea	rsi, -4775[rbp]
	lea	rax, -2160[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2192[rbp]
	mov	ecx, DWORD PTR -2180[rbp]
	movzx	eax, BYTE PTR -4775[rbp]
	movzx	edx, al
	lea	rsi, -4774[rbp]
	lea	rax, -2156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2200[rbp]
	mov	ecx, DWORD PTR -2188[rbp]
	movzx	eax, BYTE PTR -4774[rbp]
	movzx	edx, al
	lea	rsi, -4773[rbp]
	lea	rax, -2152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2208[rbp]
	mov	ecx, DWORD PTR -2196[rbp]
	movzx	eax, BYTE PTR -4773[rbp]
	movzx	edx, al
	lea	rsi, -4772[rbp]
	lea	rax, -2148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2216[rbp]
	mov	ecx, DWORD PTR -2204[rbp]
	movzx	eax, BYTE PTR -4772[rbp]
	movzx	edx, al
	lea	rsi, -4771[rbp]
	lea	rax, -2144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2224[rbp]
	mov	ecx, DWORD PTR -2212[rbp]
	movzx	eax, BYTE PTR -4771[rbp]
	movzx	edx, al
	lea	rsi, -4770[rbp]
	lea	rax, -2140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2232[rbp]
	mov	ecx, DWORD PTR -2220[rbp]
	movzx	eax, BYTE PTR -4770[rbp]
	movzx	edx, al
	lea	rsi, -4769[rbp]
	lea	rax, -2136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2240[rbp]
	mov	ecx, DWORD PTR -2228[rbp]
	movzx	eax, BYTE PTR -4769[rbp]
	movzx	edx, al
	lea	rsi, -4768[rbp]
	lea	rax, -2132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4768[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2236[rbp]
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	mov	ecx, DWORD PTR -2168[rbp]
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -4767[rbp]
	lea	rax, -2128[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2164[rbp]
	mov	ecx, DWORD PTR -2288[rbp]
	movzx	eax, BYTE PTR -4767[rbp]
	movzx	edx, al
	lea	rsi, -4766[rbp]
	lea	rax, -2124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2284[rbp]
	movzx	eax, BYTE PTR -4766[rbp]
	movzx	edx, al
	lea	rsi, -4765[rbp]
	lea	rax, -2120[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2176[rbp]
	mov	ecx, DWORD PTR -2280[rbp]
	movzx	eax, BYTE PTR -4765[rbp]
	movzx	edx, al
	lea	rsi, -4764[rbp]
	lea	rax, -2116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2160[rbp]
	mov	ecx, DWORD PTR -2276[rbp]
	movzx	eax, BYTE PTR -4764[rbp]
	movzx	edx, al
	lea	rsi, -4763[rbp]
	lea	rax, -2112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2156[rbp]
	mov	ecx, DWORD PTR -2272[rbp]
	movzx	eax, BYTE PTR -4763[rbp]
	movzx	edx, al
	lea	rsi, -4762[rbp]
	lea	rax, -2108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2152[rbp]
	mov	ecx, DWORD PTR -2268[rbp]
	movzx	eax, BYTE PTR -4762[rbp]
	movzx	edx, al
	lea	rsi, -4761[rbp]
	lea	rax, -2104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2148[rbp]
	mov	ecx, DWORD PTR -2264[rbp]
	movzx	eax, BYTE PTR -4761[rbp]
	movzx	edx, al
	lea	rsi, -4760[rbp]
	lea	rax, -2100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2144[rbp]
	mov	ecx, DWORD PTR -2260[rbp]
	movzx	eax, BYTE PTR -4760[rbp]
	movzx	edx, al
	lea	rsi, -4759[rbp]
	lea	rax, -2096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2140[rbp]
	mov	ecx, DWORD PTR -2256[rbp]
	movzx	eax, BYTE PTR -4759[rbp]
	movzx	edx, al
	lea	rsi, -4758[rbp]
	lea	rax, -2092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2136[rbp]
	mov	ecx, DWORD PTR -2252[rbp]
	movzx	eax, BYTE PTR -4758[rbp]
	movzx	edx, al
	lea	rsi, -4757[rbp]
	lea	rax, -2088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2132[rbp]
	mov	ecx, DWORD PTR -2248[rbp]
	movzx	eax, BYTE PTR -4757[rbp]
	movzx	edx, al
	lea	rsi, -4756[rbp]
	lea	rax, -2084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2244[rbp]
	movzx	eax, BYTE PTR -4756[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -76[rbp]
	lea	rsi, -4755[rbp]
	lea	rax, -2080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4755[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4776[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2072[rbp]
	lea	rax, -2076[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2064[rbp]
	lea	rax, -2068[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2056[rbp]
	lea	rax, -2060[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2048[rbp]
	lea	rax, -2052[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2040[rbp]
	lea	rax, -2044[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2032[rbp]
	lea	rax, -2036[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2024[rbp]
	lea	rax, -2028[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2016[rbp]
	lea	rax, -2020[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2008[rbp]
	lea	rax, -2012[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2000[rbp]
	lea	rax, -2004[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -1992[rbp]
	lea	rax, -1996[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -1984[rbp]
	lea	rax, -1988[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1996[rbp]
	mov	edx, DWORD PTR -1984[rbp]
	lea	rsi, -4754[rbp]
	lea	rax, -1980[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2004[rbp]
	mov	ecx, DWORD PTR -1992[rbp]
	movzx	eax, BYTE PTR -4754[rbp]
	movzx	edx, al
	lea	rsi, -4753[rbp]
	lea	rax, -1976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2012[rbp]
	mov	ecx, DWORD PTR -2000[rbp]
	movzx	eax, BYTE PTR -4753[rbp]
	movzx	edx, al
	lea	rsi, -4752[rbp]
	lea	rax, -1972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2020[rbp]
	mov	ecx, DWORD PTR -2008[rbp]
	movzx	eax, BYTE PTR -4752[rbp]
	movzx	edx, al
	lea	rsi, -4751[rbp]
	lea	rax, -1968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2028[rbp]
	mov	ecx, DWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR -4751[rbp]
	movzx	edx, al
	lea	rsi, -4750[rbp]
	lea	rax, -1964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2036[rbp]
	mov	ecx, DWORD PTR -2024[rbp]
	movzx	eax, BYTE PTR -4750[rbp]
	movzx	edx, al
	lea	rsi, -4749[rbp]
	lea	rax, -1960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2044[rbp]
	mov	ecx, DWORD PTR -2032[rbp]
	movzx	eax, BYTE PTR -4749[rbp]
	movzx	edx, al
	lea	rsi, -4748[rbp]
	lea	rax, -1956[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2052[rbp]
	mov	ecx, DWORD PTR -2040[rbp]
	movzx	eax, BYTE PTR -4748[rbp]
	movzx	edx, al
	lea	rsi, -4747[rbp]
	lea	rax, -1952[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2060[rbp]
	mov	ecx, DWORD PTR -2048[rbp]
	movzx	eax, BYTE PTR -4747[rbp]
	movzx	edx, al
	lea	rsi, -4746[rbp]
	lea	rax, -1948[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2068[rbp]
	mov	ecx, DWORD PTR -2056[rbp]
	movzx	eax, BYTE PTR -4746[rbp]
	movzx	edx, al
	lea	rsi, -4745[rbp]
	lea	rax, -1944[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2076[rbp]
	mov	ecx, DWORD PTR -2064[rbp]
	movzx	eax, BYTE PTR -4745[rbp]
	movzx	edx, al
	lea	rsi, -4744[rbp]
	lea	rax, -1940[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4744[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2072[rbp]
	add	eax, edx
	mov	DWORD PTR -68[rbp], eax
	mov	ecx, DWORD PTR -1988[rbp]
	mov	edx, DWORD PTR -2124[rbp]
	lea	rsi, -4743[rbp]
	lea	rax, -1936[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1980[rbp]
	mov	ecx, DWORD PTR -2120[rbp]
	movzx	eax, BYTE PTR -4743[rbp]
	movzx	edx, al
	lea	rsi, -4742[rbp]
	lea	rax, -1932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1976[rbp]
	mov	ecx, DWORD PTR -2116[rbp]
	movzx	eax, BYTE PTR -4742[rbp]
	movzx	edx, al
	lea	rsi, -4741[rbp]
	lea	rax, -1928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1972[rbp]
	mov	ecx, DWORD PTR -2112[rbp]
	movzx	eax, BYTE PTR -4741[rbp]
	movzx	edx, al
	lea	rsi, -4740[rbp]
	lea	rax, -1924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1968[rbp]
	mov	ecx, DWORD PTR -2108[rbp]
	movzx	eax, BYTE PTR -4740[rbp]
	movzx	edx, al
	lea	rsi, -4739[rbp]
	lea	rax, -1920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1964[rbp]
	mov	ecx, DWORD PTR -2104[rbp]
	movzx	eax, BYTE PTR -4739[rbp]
	movzx	edx, al
	lea	rsi, -4738[rbp]
	lea	rax, -1916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1960[rbp]
	mov	ecx, DWORD PTR -2100[rbp]
	movzx	eax, BYTE PTR -4738[rbp]
	movzx	edx, al
	lea	rsi, -4737[rbp]
	lea	rax, -1912[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1956[rbp]
	mov	ecx, DWORD PTR -2096[rbp]
	movzx	eax, BYTE PTR -4737[rbp]
	movzx	edx, al
	lea	rsi, -4736[rbp]
	lea	rax, -1908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1952[rbp]
	mov	ecx, DWORD PTR -2092[rbp]
	movzx	eax, BYTE PTR -4736[rbp]
	movzx	edx, al
	lea	rsi, -4735[rbp]
	lea	rax, -1904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1948[rbp]
	mov	ecx, DWORD PTR -2088[rbp]
	movzx	eax, BYTE PTR -4735[rbp]
	movzx	edx, al
	lea	rsi, -4734[rbp]
	lea	rax, -1900[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1944[rbp]
	mov	ecx, DWORD PTR -2084[rbp]
	movzx	eax, BYTE PTR -4734[rbp]
	movzx	edx, al
	lea	rsi, -4733[rbp]
	lea	rax, -1896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1940[rbp]
	mov	ecx, DWORD PTR -2080[rbp]
	movzx	eax, BYTE PTR -4733[rbp]
	movzx	edx, al
	lea	rsi, -4732[rbp]
	lea	rax, -1892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4732[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -68[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	lea	rsi, -4731[rbp]
	lea	rax, -1888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1880[rbp]
	lea	rax, -1884[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1872[rbp]
	lea	rax, -1876[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1864[rbp]
	lea	rax, -1868[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1856[rbp]
	lea	rax, -1860[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1848[rbp]
	lea	rax, -1852[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1840[rbp]
	lea	rax, -1844[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1832[rbp]
	lea	rax, -1836[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1824[rbp]
	lea	rax, -1828[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1816[rbp]
	lea	rax, -1820[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1808[rbp]
	lea	rax, -1812[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1828[rbp]
	mov	edx, DWORD PTR -1816[rbp]
	lea	rsi, -4730[rbp]
	lea	rax, -1804[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1836[rbp]
	mov	ecx, DWORD PTR -1824[rbp]
	movzx	eax, BYTE PTR -4730[rbp]
	movzx	edx, al
	lea	rsi, -4729[rbp]
	lea	rax, -1800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1844[rbp]
	mov	ecx, DWORD PTR -1832[rbp]
	movzx	eax, BYTE PTR -4729[rbp]
	movzx	edx, al
	lea	rsi, -4728[rbp]
	lea	rax, -1796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1852[rbp]
	mov	ecx, DWORD PTR -1840[rbp]
	movzx	eax, BYTE PTR -4728[rbp]
	movzx	edx, al
	lea	rsi, -4727[rbp]
	lea	rax, -1792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1860[rbp]
	mov	ecx, DWORD PTR -1848[rbp]
	movzx	eax, BYTE PTR -4727[rbp]
	movzx	edx, al
	lea	rsi, -4726[rbp]
	lea	rax, -1788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1868[rbp]
	mov	ecx, DWORD PTR -1856[rbp]
	movzx	eax, BYTE PTR -4726[rbp]
	movzx	edx, al
	lea	rsi, -4725[rbp]
	lea	rax, -1784[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1876[rbp]
	mov	ecx, DWORD PTR -1864[rbp]
	movzx	eax, BYTE PTR -4725[rbp]
	movzx	edx, al
	lea	rsi, -4724[rbp]
	lea	rax, -1780[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1884[rbp]
	mov	ecx, DWORD PTR -1872[rbp]
	movzx	eax, BYTE PTR -4724[rbp]
	movzx	edx, al
	lea	rsi, -4723[rbp]
	lea	rax, -1776[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4723[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1880[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	ecx, DWORD PTR -1812[rbp]
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -4722[rbp]
	lea	rax, -1772[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1808[rbp]
	mov	ecx, DWORD PTR -1932[rbp]
	movzx	eax, BYTE PTR -4722[rbp]
	movzx	edx, al
	lea	rsi, -4721[rbp]
	lea	rax, -1768[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1928[rbp]
	movzx	eax, BYTE PTR -4721[rbp]
	movzx	edx, al
	lea	rsi, -4720[rbp]
	lea	rax, -1764[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1820[rbp]
	mov	ecx, DWORD PTR -1924[rbp]
	movzx	eax, BYTE PTR -4720[rbp]
	movzx	edx, al
	lea	rsi, -4719[rbp]
	lea	rax, -1760[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1804[rbp]
	mov	ecx, DWORD PTR -1920[rbp]
	movzx	eax, BYTE PTR -4719[rbp]
	movzx	edx, al
	lea	rsi, -4718[rbp]
	lea	rax, -1756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1800[rbp]
	mov	ecx, DWORD PTR -1916[rbp]
	movzx	eax, BYTE PTR -4718[rbp]
	movzx	edx, al
	lea	rsi, -4717[rbp]
	lea	rax, -1752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1796[rbp]
	mov	ecx, DWORD PTR -1912[rbp]
	movzx	eax, BYTE PTR -4717[rbp]
	movzx	edx, al
	lea	rsi, -4716[rbp]
	lea	rax, -1748[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1792[rbp]
	mov	ecx, DWORD PTR -1908[rbp]
	movzx	eax, BYTE PTR -4716[rbp]
	movzx	edx, al
	lea	rsi, -4715[rbp]
	lea	rax, -1744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1788[rbp]
	mov	ecx, DWORD PTR -1904[rbp]
	movzx	eax, BYTE PTR -4715[rbp]
	movzx	edx, al
	lea	rsi, -4714[rbp]
	lea	rax, -1740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1784[rbp]
	mov	ecx, DWORD PTR -1900[rbp]
	movzx	eax, BYTE PTR -4714[rbp]
	movzx	edx, al
	lea	rsi, -4713[rbp]
	lea	rax, -1736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1780[rbp]
	mov	ecx, DWORD PTR -1896[rbp]
	movzx	eax, BYTE PTR -4713[rbp]
	movzx	edx, al
	lea	rsi, -4712[rbp]
	lea	rax, -1732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1776[rbp]
	mov	ecx, DWORD PTR -1892[rbp]
	movzx	eax, BYTE PTR -4712[rbp]
	movzx	edx, al
	lea	rsi, -4711[rbp]
	lea	rax, -1728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1888[rbp]
	movzx	eax, BYTE PTR -4711[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -64[rbp]
	lea	rsi, -4710[rbp]
	lea	rax, -1724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4710[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4731[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1716[rbp]
	lea	rax, -1720[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1708[rbp]
	lea	rax, -1712[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1700[rbp]
	lea	rax, -1704[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1692[rbp]
	lea	rax, -1696[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1684[rbp]
	lea	rax, -1688[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1676[rbp]
	lea	rax, -1680[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1668[rbp]
	lea	rax, -1672[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1660[rbp]
	lea	rax, -1664[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1652[rbp]
	lea	rax, -1656[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1644[rbp]
	lea	rax, -1648[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1636[rbp]
	lea	rax, -1640[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1628[rbp]
	lea	rax, -1632[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1640[rbp]
	mov	edx, DWORD PTR -1628[rbp]
	lea	rsi, -4709[rbp]
	lea	rax, -1624[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1648[rbp]
	mov	ecx, DWORD PTR -1636[rbp]
	movzx	eax, BYTE PTR -4709[rbp]
	movzx	edx, al
	lea	rsi, -4708[rbp]
	lea	rax, -1620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1656[rbp]
	mov	ecx, DWORD PTR -1644[rbp]
	movzx	eax, BYTE PTR -4708[rbp]
	movzx	edx, al
	lea	rsi, -4707[rbp]
	lea	rax, -1616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1664[rbp]
	mov	ecx, DWORD PTR -1652[rbp]
	movzx	eax, BYTE PTR -4707[rbp]
	movzx	edx, al
	lea	rsi, -4706[rbp]
	lea	rax, -1612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1672[rbp]
	mov	ecx, DWORD PTR -1660[rbp]
	movzx	eax, BYTE PTR -4706[rbp]
	movzx	edx, al
	lea	rsi, -4705[rbp]
	lea	rax, -1608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1680[rbp]
	mov	ecx, DWORD PTR -1668[rbp]
	movzx	eax, BYTE PTR -4705[rbp]
	movzx	edx, al
	lea	rsi, -4704[rbp]
	lea	rax, -1604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1688[rbp]
	mov	ecx, DWORD PTR -1676[rbp]
	movzx	eax, BYTE PTR -4704[rbp]
	movzx	edx, al
	lea	rsi, -4703[rbp]
	lea	rax, -1600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1696[rbp]
	mov	ecx, DWORD PTR -1684[rbp]
	movzx	eax, BYTE PTR -4703[rbp]
	movzx	edx, al
	lea	rsi, -4702[rbp]
	lea	rax, -1596[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1704[rbp]
	mov	ecx, DWORD PTR -1692[rbp]
	movzx	eax, BYTE PTR -4702[rbp]
	movzx	edx, al
	lea	rsi, -4701[rbp]
	lea	rax, -1592[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1712[rbp]
	mov	ecx, DWORD PTR -1700[rbp]
	movzx	eax, BYTE PTR -4701[rbp]
	movzx	edx, al
	lea	rsi, -4700[rbp]
	lea	rax, -1588[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1720[rbp]
	mov	ecx, DWORD PTR -1708[rbp]
	movzx	eax, BYTE PTR -4700[rbp]
	movzx	edx, al
	lea	rsi, -4699[rbp]
	lea	rax, -1584[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4699[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1716[rbp]
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	mov	ecx, DWORD PTR -1632[rbp]
	mov	edx, DWORD PTR -1768[rbp]
	lea	rsi, -4698[rbp]
	lea	rax, -1580[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1624[rbp]
	mov	ecx, DWORD PTR -1764[rbp]
	movzx	eax, BYTE PTR -4698[rbp]
	movzx	edx, al
	lea	rsi, -4697[rbp]
	lea	rax, -1576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1620[rbp]
	mov	ecx, DWORD PTR -1760[rbp]
	movzx	eax, BYTE PTR -4697[rbp]
	movzx	edx, al
	lea	rsi, -4696[rbp]
	lea	rax, -1572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1616[rbp]
	mov	ecx, DWORD PTR -1756[rbp]
	movzx	eax, BYTE PTR -4696[rbp]
	movzx	edx, al
	lea	rsi, -4695[rbp]
	lea	rax, -1568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1612[rbp]
	mov	ecx, DWORD PTR -1752[rbp]
	movzx	eax, BYTE PTR -4695[rbp]
	movzx	edx, al
	lea	rsi, -4694[rbp]
	lea	rax, -1564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1608[rbp]
	mov	ecx, DWORD PTR -1748[rbp]
	movzx	eax, BYTE PTR -4694[rbp]
	movzx	edx, al
	lea	rsi, -4693[rbp]
	lea	rax, -1560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1604[rbp]
	mov	ecx, DWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR -4693[rbp]
	movzx	edx, al
	lea	rsi, -4692[rbp]
	lea	rax, -1556[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1600[rbp]
	mov	ecx, DWORD PTR -1740[rbp]
	movzx	eax, BYTE PTR -4692[rbp]
	movzx	edx, al
	lea	rsi, -4691[rbp]
	lea	rax, -1552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1596[rbp]
	mov	ecx, DWORD PTR -1736[rbp]
	movzx	eax, BYTE PTR -4691[rbp]
	movzx	edx, al
	lea	rsi, -4690[rbp]
	lea	rax, -1548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1592[rbp]
	mov	ecx, DWORD PTR -1732[rbp]
	movzx	eax, BYTE PTR -4690[rbp]
	movzx	edx, al
	lea	rsi, -4689[rbp]
	lea	rax, -1544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1588[rbp]
	mov	ecx, DWORD PTR -1728[rbp]
	movzx	eax, BYTE PTR -4689[rbp]
	movzx	edx, al
	lea	rsi, -4688[rbp]
	lea	rax, -1540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1584[rbp]
	mov	ecx, DWORD PTR -1724[rbp]
	movzx	eax, BYTE PTR -4688[rbp]
	movzx	edx, al
	lea	rsi, -4687[rbp]
	lea	rax, -1536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4687[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	lea	rsi, -4686[rbp]
	lea	rax, -1532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1524[rbp]
	lea	rax, -1528[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1516[rbp]
	lea	rax, -1520[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1508[rbp]
	lea	rax, -1512[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1500[rbp]
	lea	rax, -1504[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1492[rbp]
	lea	rax, -1496[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1484[rbp]
	lea	rax, -1488[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1476[rbp]
	lea	rax, -1480[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1468[rbp]
	lea	rax, -1472[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1460[rbp]
	lea	rax, -1464[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1452[rbp]
	lea	rax, -1456[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1472[rbp]
	mov	edx, DWORD PTR -1460[rbp]
	lea	rsi, -4685[rbp]
	lea	rax, -1448[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1480[rbp]
	mov	ecx, DWORD PTR -1468[rbp]
	movzx	eax, BYTE PTR -4685[rbp]
	movzx	edx, al
	lea	rsi, -4684[rbp]
	lea	rax, -1444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1488[rbp]
	mov	ecx, DWORD PTR -1476[rbp]
	movzx	eax, BYTE PTR -4684[rbp]
	movzx	edx, al
	lea	rsi, -4683[rbp]
	lea	rax, -1440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1496[rbp]
	mov	ecx, DWORD PTR -1484[rbp]
	movzx	eax, BYTE PTR -4683[rbp]
	movzx	edx, al
	lea	rsi, -4682[rbp]
	lea	rax, -1436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1504[rbp]
	mov	ecx, DWORD PTR -1492[rbp]
	movzx	eax, BYTE PTR -4682[rbp]
	movzx	edx, al
	lea	rsi, -4681[rbp]
	lea	rax, -1432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1512[rbp]
	mov	ecx, DWORD PTR -1500[rbp]
	movzx	eax, BYTE PTR -4681[rbp]
	movzx	edx, al
	lea	rsi, -4680[rbp]
	lea	rax, -1428[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1520[rbp]
	mov	ecx, DWORD PTR -1508[rbp]
	movzx	eax, BYTE PTR -4680[rbp]
	movzx	edx, al
	lea	rsi, -4679[rbp]
	lea	rax, -1424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1528[rbp]
	mov	ecx, DWORD PTR -1516[rbp]
	movzx	eax, BYTE PTR -4679[rbp]
	movzx	edx, al
	lea	rsi, -4678[rbp]
	lea	rax, -1420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4678[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1524[rbp]
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	mov	ecx, DWORD PTR -1456[rbp]
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -4677[rbp]
	lea	rax, -1416[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1452[rbp]
	mov	ecx, DWORD PTR -1576[rbp]
	movzx	eax, BYTE PTR -4677[rbp]
	movzx	edx, al
	lea	rsi, -4676[rbp]
	lea	rax, -1412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1572[rbp]
	movzx	eax, BYTE PTR -4676[rbp]
	movzx	edx, al
	lea	rsi, -4675[rbp]
	lea	rax, -1408[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1464[rbp]
	mov	ecx, DWORD PTR -1568[rbp]
	movzx	eax, BYTE PTR -4675[rbp]
	movzx	edx, al
	lea	rsi, -4674[rbp]
	lea	rax, -1404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1448[rbp]
	mov	ecx, DWORD PTR -1564[rbp]
	movzx	eax, BYTE PTR -4674[rbp]
	movzx	edx, al
	lea	rsi, -4673[rbp]
	lea	rax, -1400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1444[rbp]
	mov	ecx, DWORD PTR -1560[rbp]
	movzx	eax, BYTE PTR -4673[rbp]
	movzx	edx, al
	lea	rsi, -4672[rbp]
	lea	rax, -1396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1440[rbp]
	mov	ecx, DWORD PTR -1556[rbp]
	movzx	eax, BYTE PTR -4672[rbp]
	movzx	edx, al
	lea	rsi, -4671[rbp]
	lea	rax, -1392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1436[rbp]
	mov	ecx, DWORD PTR -1552[rbp]
	movzx	eax, BYTE PTR -4671[rbp]
	movzx	edx, al
	lea	rsi, -4670[rbp]
	lea	rax, -1388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1432[rbp]
	mov	ecx, DWORD PTR -1548[rbp]
	movzx	eax, BYTE PTR -4670[rbp]
	movzx	edx, al
	lea	rsi, -4669[rbp]
	lea	rax, -1384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1428[rbp]
	mov	ecx, DWORD PTR -1544[rbp]
	movzx	eax, BYTE PTR -4669[rbp]
	movzx	edx, al
	lea	rsi, -4668[rbp]
	lea	rax, -1380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1424[rbp]
	mov	ecx, DWORD PTR -1540[rbp]
	movzx	eax, BYTE PTR -4668[rbp]
	movzx	edx, al
	lea	rsi, -4667[rbp]
	lea	rax, -1376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1420[rbp]
	mov	ecx, DWORD PTR -1536[rbp]
	movzx	eax, BYTE PTR -4667[rbp]
	movzx	edx, al
	lea	rsi, -4666[rbp]
	lea	rax, -1372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1532[rbp]
	movzx	eax, BYTE PTR -4666[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -52[rbp]
	lea	rsi, -4665[rbp]
	lea	rax, -1368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4665[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4686[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1360[rbp]
	lea	rax, -1364[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1352[rbp]
	lea	rax, -1356[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1344[rbp]
	lea	rax, -1348[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1336[rbp]
	lea	rax, -1340[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1328[rbp]
	lea	rax, -1332[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1320[rbp]
	lea	rax, -1324[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1312[rbp]
	lea	rax, -1316[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1304[rbp]
	lea	rax, -1308[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1296[rbp]
	lea	rax, -1300[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1288[rbp]
	lea	rax, -1292[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1280[rbp]
	lea	rax, -1284[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1272[rbp]
	lea	rax, -1276[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1284[rbp]
	mov	edx, DWORD PTR -1272[rbp]
	lea	rsi, -4664[rbp]
	lea	rax, -1268[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1292[rbp]
	mov	ecx, DWORD PTR -1280[rbp]
	movzx	eax, BYTE PTR -4664[rbp]
	movzx	edx, al
	lea	rsi, -4663[rbp]
	lea	rax, -1264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1300[rbp]
	mov	ecx, DWORD PTR -1288[rbp]
	movzx	eax, BYTE PTR -4663[rbp]
	movzx	edx, al
	lea	rsi, -4662[rbp]
	lea	rax, -1260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1308[rbp]
	mov	ecx, DWORD PTR -1296[rbp]
	movzx	eax, BYTE PTR -4662[rbp]
	movzx	edx, al
	lea	rsi, -4661[rbp]
	lea	rax, -1256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1316[rbp]
	mov	ecx, DWORD PTR -1304[rbp]
	movzx	eax, BYTE PTR -4661[rbp]
	movzx	edx, al
	lea	rsi, -4660[rbp]
	lea	rax, -1252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1324[rbp]
	mov	ecx, DWORD PTR -1312[rbp]
	movzx	eax, BYTE PTR -4660[rbp]
	movzx	edx, al
	lea	rsi, -4659[rbp]
	lea	rax, -1248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1332[rbp]
	mov	ecx, DWORD PTR -1320[rbp]
	movzx	eax, BYTE PTR -4659[rbp]
	movzx	edx, al
	lea	rsi, -4658[rbp]
	lea	rax, -1244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1340[rbp]
	mov	ecx, DWORD PTR -1328[rbp]
	movzx	eax, BYTE PTR -4658[rbp]
	movzx	edx, al
	lea	rsi, -4657[rbp]
	lea	rax, -1240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1348[rbp]
	mov	ecx, DWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR -4657[rbp]
	movzx	edx, al
	lea	rsi, -4656[rbp]
	lea	rax, -1236[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1356[rbp]
	mov	ecx, DWORD PTR -1344[rbp]
	movzx	eax, BYTE PTR -4656[rbp]
	movzx	edx, al
	lea	rsi, -4655[rbp]
	lea	rax, -1232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1364[rbp]
	mov	ecx, DWORD PTR -1352[rbp]
	movzx	eax, BYTE PTR -4655[rbp]
	movzx	edx, al
	lea	rsi, -4654[rbp]
	lea	rax, -1228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4654[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1360[rbp]
	add	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	ecx, DWORD PTR -1276[rbp]
	mov	edx, DWORD PTR -1412[rbp]
	lea	rsi, -4653[rbp]
	lea	rax, -1224[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1268[rbp]
	mov	ecx, DWORD PTR -1408[rbp]
	movzx	eax, BYTE PTR -4653[rbp]
	movzx	edx, al
	lea	rsi, -4652[rbp]
	lea	rax, -1220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1264[rbp]
	mov	ecx, DWORD PTR -1404[rbp]
	movzx	eax, BYTE PTR -4652[rbp]
	movzx	edx, al
	lea	rsi, -4651[rbp]
	lea	rax, -1216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1260[rbp]
	mov	ecx, DWORD PTR -1400[rbp]
	movzx	eax, BYTE PTR -4651[rbp]
	movzx	edx, al
	lea	rsi, -4650[rbp]
	lea	rax, -1212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1256[rbp]
	mov	ecx, DWORD PTR -1396[rbp]
	movzx	eax, BYTE PTR -4650[rbp]
	movzx	edx, al
	lea	rsi, -4649[rbp]
	lea	rax, -1208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1252[rbp]
	mov	ecx, DWORD PTR -1392[rbp]
	movzx	eax, BYTE PTR -4649[rbp]
	movzx	edx, al
	lea	rsi, -4648[rbp]
	lea	rax, -1204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1248[rbp]
	mov	ecx, DWORD PTR -1388[rbp]
	movzx	eax, BYTE PTR -4648[rbp]
	movzx	edx, al
	lea	rsi, -4647[rbp]
	lea	rax, -1200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1244[rbp]
	mov	ecx, DWORD PTR -1384[rbp]
	movzx	eax, BYTE PTR -4647[rbp]
	movzx	edx, al
	lea	rsi, -4646[rbp]
	lea	rax, -1196[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1380[rbp]
	movzx	eax, BYTE PTR -4646[rbp]
	movzx	edx, al
	lea	rsi, -4645[rbp]
	lea	rax, -1192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1236[rbp]
	mov	ecx, DWORD PTR -1376[rbp]
	movzx	eax, BYTE PTR -4645[rbp]
	movzx	edx, al
	lea	rsi, -4644[rbp]
	lea	rax, -1188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1232[rbp]
	mov	ecx, DWORD PTR -1372[rbp]
	movzx	eax, BYTE PTR -4644[rbp]
	movzx	edx, al
	lea	rsi, -4643[rbp]
	lea	rax, -1184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1228[rbp]
	mov	ecx, DWORD PTR -1368[rbp]
	movzx	eax, BYTE PTR -4643[rbp]
	movzx	edx, al
	lea	rsi, -4642[rbp]
	lea	rax, -1180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4642[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	lea	rsi, -4641[rbp]
	lea	rax, -1176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1168[rbp]
	lea	rax, -1172[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1160[rbp]
	lea	rax, -1164[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1152[rbp]
	lea	rax, -1156[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1144[rbp]
	lea	rax, -1148[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1136[rbp]
	lea	rax, -1140[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1128[rbp]
	lea	rax, -1132[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1120[rbp]
	lea	rax, -1124[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1112[rbp]
	lea	rax, -1116[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1104[rbp]
	lea	rax, -1108[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1096[rbp]
	lea	rax, -1100[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1116[rbp]
	mov	edx, DWORD PTR -1104[rbp]
	lea	rsi, -4640[rbp]
	lea	rax, -1092[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1124[rbp]
	mov	ecx, DWORD PTR -1112[rbp]
	movzx	eax, BYTE PTR -4640[rbp]
	movzx	edx, al
	lea	rsi, -4639[rbp]
	lea	rax, -1088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1132[rbp]
	mov	ecx, DWORD PTR -1120[rbp]
	movzx	eax, BYTE PTR -4639[rbp]
	movzx	edx, al
	lea	rsi, -4638[rbp]
	lea	rax, -1084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1140[rbp]
	mov	ecx, DWORD PTR -1128[rbp]
	movzx	eax, BYTE PTR -4638[rbp]
	movzx	edx, al
	lea	rsi, -4637[rbp]
	lea	rax, -1080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1148[rbp]
	mov	ecx, DWORD PTR -1136[rbp]
	movzx	eax, BYTE PTR -4637[rbp]
	movzx	edx, al
	lea	rsi, -4636[rbp]
	lea	rax, -1076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1156[rbp]
	mov	ecx, DWORD PTR -1144[rbp]
	movzx	eax, BYTE PTR -4636[rbp]
	movzx	edx, al
	lea	rsi, -4635[rbp]
	lea	rax, -1072[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1164[rbp]
	mov	ecx, DWORD PTR -1152[rbp]
	movzx	eax, BYTE PTR -4635[rbp]
	movzx	edx, al
	lea	rsi, -4634[rbp]
	lea	rax, -1068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1172[rbp]
	mov	ecx, DWORD PTR -1160[rbp]
	movzx	eax, BYTE PTR -4634[rbp]
	movzx	edx, al
	lea	rsi, -4633[rbp]
	lea	rax, -1064[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4633[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1168[rbp]
	add	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	ecx, DWORD PTR -1100[rbp]
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -4632[rbp]
	lea	rax, -1060[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1096[rbp]
	mov	ecx, DWORD PTR -1220[rbp]
	movzx	eax, BYTE PTR -4632[rbp]
	movzx	edx, al
	lea	rsi, -4631[rbp]
	lea	rax, -1056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1216[rbp]
	movzx	eax, BYTE PTR -4631[rbp]
	movzx	edx, al
	lea	rsi, -4630[rbp]
	lea	rax, -1052[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1108[rbp]
	mov	ecx, DWORD PTR -1212[rbp]
	movzx	eax, BYTE PTR -4630[rbp]
	movzx	edx, al
	lea	rsi, -4629[rbp]
	lea	rax, -1048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1092[rbp]
	mov	ecx, DWORD PTR -1208[rbp]
	movzx	eax, BYTE PTR -4629[rbp]
	movzx	edx, al
	lea	rsi, -4628[rbp]
	lea	rax, -1044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1088[rbp]
	mov	ecx, DWORD PTR -1204[rbp]
	movzx	eax, BYTE PTR -4628[rbp]
	movzx	edx, al
	lea	rsi, -4627[rbp]
	lea	rax, -1040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1084[rbp]
	mov	ecx, DWORD PTR -1200[rbp]
	movzx	eax, BYTE PTR -4627[rbp]
	movzx	edx, al
	lea	rsi, -4626[rbp]
	lea	rax, -1036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1080[rbp]
	mov	ecx, DWORD PTR -1196[rbp]
	movzx	eax, BYTE PTR -4626[rbp]
	movzx	edx, al
	lea	rsi, -4625[rbp]
	lea	rax, -1032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1076[rbp]
	mov	ecx, DWORD PTR -1192[rbp]
	movzx	eax, BYTE PTR -4625[rbp]
	movzx	edx, al
	lea	rsi, -4624[rbp]
	lea	rax, -1028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1072[rbp]
	mov	ecx, DWORD PTR -1188[rbp]
	movzx	eax, BYTE PTR -4624[rbp]
	movzx	edx, al
	lea	rsi, -4623[rbp]
	lea	rax, -1024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1068[rbp]
	mov	ecx, DWORD PTR -1184[rbp]
	movzx	eax, BYTE PTR -4623[rbp]
	movzx	edx, al
	lea	rsi, -4622[rbp]
	lea	rax, -1020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1064[rbp]
	mov	ecx, DWORD PTR -1180[rbp]
	movzx	eax, BYTE PTR -4622[rbp]
	movzx	edx, al
	lea	rsi, -4621[rbp]
	lea	rax, -1016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1176[rbp]
	movzx	eax, BYTE PTR -4621[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -40[rbp]
	lea	rsi, -4620[rbp]
	lea	rax, -1012[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4620[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4641[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -1004[rbp]
	lea	rax, -1008[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -996[rbp]
	lea	rax, -1000[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -988[rbp]
	lea	rax, -992[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -980[rbp]
	lea	rax, -984[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -972[rbp]
	lea	rax, -976[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -964[rbp]
	lea	rax, -968[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -956[rbp]
	lea	rax, -960[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -948[rbp]
	lea	rax, -952[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -940[rbp]
	lea	rax, -944[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -932[rbp]
	lea	rax, -936[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -924[rbp]
	lea	rax, -928[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -916[rbp]
	lea	rax, -920[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -928[rbp]
	mov	edx, DWORD PTR -916[rbp]
	lea	rsi, -4619[rbp]
	lea	rax, -912[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -936[rbp]
	mov	ecx, DWORD PTR -924[rbp]
	movzx	eax, BYTE PTR -4619[rbp]
	movzx	edx, al
	lea	rsi, -4618[rbp]
	lea	rax, -908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -944[rbp]
	mov	ecx, DWORD PTR -932[rbp]
	movzx	eax, BYTE PTR -4618[rbp]
	movzx	edx, al
	lea	rsi, -4617[rbp]
	lea	rax, -904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -952[rbp]
	mov	ecx, DWORD PTR -940[rbp]
	movzx	eax, BYTE PTR -4617[rbp]
	movzx	edx, al
	lea	rsi, -4616[rbp]
	lea	rax, -900[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -960[rbp]
	mov	ecx, DWORD PTR -948[rbp]
	movzx	eax, BYTE PTR -4616[rbp]
	movzx	edx, al
	lea	rsi, -4615[rbp]
	lea	rax, -896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -968[rbp]
	mov	ecx, DWORD PTR -956[rbp]
	movzx	eax, BYTE PTR -4615[rbp]
	movzx	edx, al
	lea	rsi, -4614[rbp]
	lea	rax, -892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -976[rbp]
	mov	ecx, DWORD PTR -964[rbp]
	movzx	eax, BYTE PTR -4614[rbp]
	movzx	edx, al
	lea	rsi, -4613[rbp]
	lea	rax, -888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -984[rbp]
	mov	ecx, DWORD PTR -972[rbp]
	movzx	eax, BYTE PTR -4613[rbp]
	movzx	edx, al
	lea	rsi, -4612[rbp]
	lea	rax, -884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -992[rbp]
	mov	ecx, DWORD PTR -980[rbp]
	movzx	eax, BYTE PTR -4612[rbp]
	movzx	edx, al
	lea	rsi, -4611[rbp]
	lea	rax, -880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1000[rbp]
	mov	ecx, DWORD PTR -988[rbp]
	movzx	eax, BYTE PTR -4611[rbp]
	movzx	edx, al
	lea	rsi, -4610[rbp]
	lea	rax, -876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1008[rbp]
	mov	ecx, DWORD PTR -996[rbp]
	movzx	eax, BYTE PTR -4610[rbp]
	movzx	edx, al
	lea	rsi, -4609[rbp]
	lea	rax, -872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4609[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1004[rbp]
	add	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	ecx, DWORD PTR -920[rbp]
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -4608[rbp]
	lea	rax, -868[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -912[rbp]
	mov	ecx, DWORD PTR -1052[rbp]
	movzx	eax, BYTE PTR -4608[rbp]
	movzx	edx, al
	lea	rsi, -4607[rbp]
	lea	rax, -864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -908[rbp]
	mov	ecx, DWORD PTR -1048[rbp]
	movzx	eax, BYTE PTR -4607[rbp]
	movzx	edx, al
	lea	rsi, -4606[rbp]
	lea	rax, -860[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -904[rbp]
	mov	ecx, DWORD PTR -1044[rbp]
	movzx	eax, BYTE PTR -4606[rbp]
	movzx	edx, al
	lea	rsi, -4605[rbp]
	lea	rax, -856[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -900[rbp]
	mov	ecx, DWORD PTR -1040[rbp]
	movzx	eax, BYTE PTR -4605[rbp]
	movzx	edx, al
	lea	rsi, -4604[rbp]
	lea	rax, -852[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -896[rbp]
	mov	ecx, DWORD PTR -1036[rbp]
	movzx	eax, BYTE PTR -4604[rbp]
	movzx	edx, al
	lea	rsi, -4603[rbp]
	lea	rax, -848[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -892[rbp]
	mov	ecx, DWORD PTR -1032[rbp]
	movzx	eax, BYTE PTR -4603[rbp]
	movzx	edx, al
	lea	rsi, -4602[rbp]
	lea	rax, -844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -888[rbp]
	mov	ecx, DWORD PTR -1028[rbp]
	movzx	eax, BYTE PTR -4602[rbp]
	movzx	edx, al
	lea	rsi, -4601[rbp]
	lea	rax, -840[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -884[rbp]
	mov	ecx, DWORD PTR -1024[rbp]
	movzx	eax, BYTE PTR -4601[rbp]
	movzx	edx, al
	lea	rsi, -4600[rbp]
	lea	rax, -836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -880[rbp]
	mov	ecx, DWORD PTR -1020[rbp]
	movzx	eax, BYTE PTR -4600[rbp]
	movzx	edx, al
	lea	rsi, -4599[rbp]
	lea	rax, -832[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -876[rbp]
	mov	ecx, DWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR -4599[rbp]
	movzx	edx, al
	lea	rsi, -4598[rbp]
	lea	rax, -828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -872[rbp]
	mov	ecx, DWORD PTR -1012[rbp]
	movzx	eax, BYTE PTR -4598[rbp]
	movzx	edx, al
	lea	rsi, -4597[rbp]
	lea	rax, -824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4597[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	lea	rsi, -4596[rbp]
	lea	rax, -820[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -812[rbp]
	lea	rax, -816[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -804[rbp]
	lea	rax, -808[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -796[rbp]
	lea	rax, -800[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -788[rbp]
	lea	rax, -792[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -780[rbp]
	lea	rax, -784[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -772[rbp]
	lea	rax, -776[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -764[rbp]
	lea	rax, -768[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -756[rbp]
	lea	rax, -760[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -748[rbp]
	lea	rax, -752[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -740[rbp]
	lea	rax, -744[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -760[rbp]
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -4595[rbp]
	lea	rax, -736[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -768[rbp]
	mov	ecx, DWORD PTR -756[rbp]
	movzx	eax, BYTE PTR -4595[rbp]
	movzx	edx, al
	lea	rsi, -4594[rbp]
	lea	rax, -732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -776[rbp]
	mov	ecx, DWORD PTR -764[rbp]
	movzx	eax, BYTE PTR -4594[rbp]
	movzx	edx, al
	lea	rsi, -4593[rbp]
	lea	rax, -728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -784[rbp]
	mov	ecx, DWORD PTR -772[rbp]
	movzx	eax, BYTE PTR -4593[rbp]
	movzx	edx, al
	lea	rsi, -4592[rbp]
	lea	rax, -724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -792[rbp]
	mov	ecx, DWORD PTR -780[rbp]
	movzx	eax, BYTE PTR -4592[rbp]
	movzx	edx, al
	lea	rsi, -4591[rbp]
	lea	rax, -720[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -800[rbp]
	mov	ecx, DWORD PTR -788[rbp]
	movzx	eax, BYTE PTR -4591[rbp]
	movzx	edx, al
	lea	rsi, -4590[rbp]
	lea	rax, -716[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -808[rbp]
	mov	ecx, DWORD PTR -796[rbp]
	movzx	eax, BYTE PTR -4590[rbp]
	movzx	edx, al
	lea	rsi, -4589[rbp]
	lea	rax, -712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -816[rbp]
	mov	ecx, DWORD PTR -804[rbp]
	movzx	eax, BYTE PTR -4589[rbp]
	movzx	edx, al
	lea	rsi, -4588[rbp]
	lea	rax, -708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4588[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -812[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	ecx, DWORD PTR -744[rbp]
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -4587[rbp]
	lea	rax, -704[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -740[rbp]
	mov	ecx, DWORD PTR -864[rbp]
	movzx	eax, BYTE PTR -4587[rbp]
	movzx	edx, al
	lea	rsi, -4586[rbp]
	lea	rax, -700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -860[rbp]
	movzx	eax, BYTE PTR -4586[rbp]
	movzx	edx, al
	lea	rsi, -4585[rbp]
	lea	rax, -696[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -752[rbp]
	mov	ecx, DWORD PTR -856[rbp]
	movzx	eax, BYTE PTR -4585[rbp]
	movzx	edx, al
	lea	rsi, -4584[rbp]
	lea	rax, -692[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -736[rbp]
	mov	ecx, DWORD PTR -852[rbp]
	movzx	eax, BYTE PTR -4584[rbp]
	movzx	edx, al
	lea	rsi, -4583[rbp]
	lea	rax, -688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -732[rbp]
	mov	ecx, DWORD PTR -848[rbp]
	movzx	eax, BYTE PTR -4583[rbp]
	movzx	edx, al
	lea	rsi, -4582[rbp]
	lea	rax, -684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -728[rbp]
	mov	ecx, DWORD PTR -844[rbp]
	movzx	eax, BYTE PTR -4582[rbp]
	movzx	edx, al
	lea	rsi, -4581[rbp]
	lea	rax, -680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -724[rbp]
	mov	ecx, DWORD PTR -840[rbp]
	movzx	eax, BYTE PTR -4581[rbp]
	movzx	edx, al
	lea	rsi, -4580[rbp]
	lea	rax, -676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -720[rbp]
	mov	ecx, DWORD PTR -836[rbp]
	movzx	eax, BYTE PTR -4580[rbp]
	movzx	edx, al
	lea	rsi, -4579[rbp]
	lea	rax, -672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -716[rbp]
	mov	ecx, DWORD PTR -832[rbp]
	movzx	eax, BYTE PTR -4579[rbp]
	movzx	edx, al
	lea	rsi, -4578[rbp]
	lea	rax, -668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -712[rbp]
	mov	ecx, DWORD PTR -828[rbp]
	movzx	eax, BYTE PTR -4578[rbp]
	movzx	edx, al
	lea	rsi, -4577[rbp]
	lea	rax, -664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -708[rbp]
	mov	ecx, DWORD PTR -824[rbp]
	movzx	eax, BYTE PTR -4577[rbp]
	movzx	edx, al
	lea	rsi, -4576[rbp]
	lea	rax, -660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -820[rbp]
	movzx	eax, BYTE PTR -4576[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -28[rbp]
	lea	rsi, -4575[rbp]
	lea	rax, -656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4575[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4596[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -648[rbp]
	lea	rax, -652[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -640[rbp]
	lea	rax, -644[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -632[rbp]
	lea	rax, -636[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -624[rbp]
	lea	rax, -628[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -616[rbp]
	lea	rax, -620[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -608[rbp]
	lea	rax, -612[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -600[rbp]
	lea	rax, -604[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -592[rbp]
	lea	rax, -596[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -584[rbp]
	lea	rax, -588[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -576[rbp]
	lea	rax, -580[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -568[rbp]
	lea	rax, -572[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5080[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -560[rbp]
	lea	rax, -564[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -572[rbp]
	mov	edx, DWORD PTR -560[rbp]
	lea	rsi, -4574[rbp]
	lea	rax, -556[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -580[rbp]
	mov	ecx, DWORD PTR -568[rbp]
	movzx	eax, BYTE PTR -4574[rbp]
	movzx	edx, al
	lea	rsi, -4573[rbp]
	lea	rax, -552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -588[rbp]
	mov	ecx, DWORD PTR -576[rbp]
	movzx	eax, BYTE PTR -4573[rbp]
	movzx	edx, al
	lea	rsi, -4572[rbp]
	lea	rax, -548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -596[rbp]
	mov	ecx, DWORD PTR -584[rbp]
	movzx	eax, BYTE PTR -4572[rbp]
	movzx	edx, al
	lea	rsi, -4571[rbp]
	lea	rax, -544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -604[rbp]
	mov	ecx, DWORD PTR -592[rbp]
	movzx	eax, BYTE PTR -4571[rbp]
	movzx	edx, al
	lea	rsi, -4570[rbp]
	lea	rax, -540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -612[rbp]
	mov	ecx, DWORD PTR -600[rbp]
	movzx	eax, BYTE PTR -4570[rbp]
	movzx	edx, al
	lea	rsi, -4569[rbp]
	lea	rax, -536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -620[rbp]
	mov	ecx, DWORD PTR -608[rbp]
	movzx	eax, BYTE PTR -4569[rbp]
	movzx	edx, al
	lea	rsi, -4568[rbp]
	lea	rax, -532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -628[rbp]
	mov	ecx, DWORD PTR -616[rbp]
	movzx	eax, BYTE PTR -4568[rbp]
	movzx	edx, al
	lea	rsi, -4567[rbp]
	lea	rax, -528[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -636[rbp]
	mov	ecx, DWORD PTR -624[rbp]
	movzx	eax, BYTE PTR -4567[rbp]
	movzx	edx, al
	lea	rsi, -4566[rbp]
	lea	rax, -524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -644[rbp]
	mov	ecx, DWORD PTR -632[rbp]
	movzx	eax, BYTE PTR -4566[rbp]
	movzx	edx, al
	lea	rsi, -4565[rbp]
	lea	rax, -520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -652[rbp]
	mov	ecx, DWORD PTR -640[rbp]
	movzx	eax, BYTE PTR -4565[rbp]
	movzx	edx, al
	lea	rsi, -4564[rbp]
	lea	rax, -516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4564[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -648[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	ecx, DWORD PTR -564[rbp]
	mov	edx, DWORD PTR -700[rbp]
	lea	rsi, -4563[rbp]
	lea	rax, -512[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -556[rbp]
	mov	ecx, DWORD PTR -696[rbp]
	movzx	eax, BYTE PTR -4563[rbp]
	movzx	edx, al
	lea	rsi, -4562[rbp]
	lea	rax, -508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -552[rbp]
	mov	ecx, DWORD PTR -692[rbp]
	movzx	eax, BYTE PTR -4562[rbp]
	movzx	edx, al
	lea	rsi, -4561[rbp]
	lea	rax, -504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -548[rbp]
	mov	ecx, DWORD PTR -688[rbp]
	movzx	eax, BYTE PTR -4561[rbp]
	movzx	edx, al
	lea	rsi, -4560[rbp]
	lea	rax, -500[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -544[rbp]
	mov	ecx, DWORD PTR -684[rbp]
	movzx	eax, BYTE PTR -4560[rbp]
	movzx	edx, al
	lea	rsi, -4559[rbp]
	lea	rax, -496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -540[rbp]
	mov	ecx, DWORD PTR -680[rbp]
	movzx	eax, BYTE PTR -4559[rbp]
	movzx	edx, al
	lea	rsi, -4558[rbp]
	lea	rax, -492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -536[rbp]
	mov	ecx, DWORD PTR -676[rbp]
	movzx	eax, BYTE PTR -4558[rbp]
	movzx	edx, al
	lea	rsi, -4557[rbp]
	lea	rax, -488[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -532[rbp]
	mov	ecx, DWORD PTR -672[rbp]
	movzx	eax, BYTE PTR -4557[rbp]
	movzx	edx, al
	lea	rsi, -4556[rbp]
	lea	rax, -484[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -528[rbp]
	mov	ecx, DWORD PTR -668[rbp]
	movzx	eax, BYTE PTR -4556[rbp]
	movzx	edx, al
	lea	rsi, -4555[rbp]
	lea	rax, -480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -524[rbp]
	mov	ecx, DWORD PTR -664[rbp]
	movzx	eax, BYTE PTR -4555[rbp]
	movzx	edx, al
	lea	rsi, -4554[rbp]
	lea	rax, -476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -520[rbp]
	mov	ecx, DWORD PTR -660[rbp]
	movzx	eax, BYTE PTR -4554[rbp]
	movzx	edx, al
	lea	rsi, -4553[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -516[rbp]
	mov	ecx, DWORD PTR -656[rbp]
	movzx	eax, BYTE PTR -4553[rbp]
	movzx	edx, al
	lea	rsi, -4552[rbp]
	lea	rax, -468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4552[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	lea	rsi, -4551[rbp]
	lea	rax, -464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -456[rbp]
	lea	rax, -460[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -448[rbp]
	lea	rax, -452[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -440[rbp]
	lea	rax, -444[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -432[rbp]
	lea	rax, -436[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -424[rbp]
	lea	rax, -428[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -416[rbp]
	lea	rax, -420[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -408[rbp]
	lea	rax, -412[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -400[rbp]
	lea	rax, -404[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -392[rbp]
	lea	rax, -396[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -384[rbp]
	lea	rax, -388[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -404[rbp]
	mov	edx, DWORD PTR -392[rbp]
	lea	rsi, -4550[rbp]
	lea	rax, -380[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -412[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	movzx	eax, BYTE PTR -4550[rbp]
	movzx	edx, al
	lea	rsi, -4549[rbp]
	lea	rax, -376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -420[rbp]
	mov	ecx, DWORD PTR -408[rbp]
	movzx	eax, BYTE PTR -4549[rbp]
	movzx	edx, al
	lea	rsi, -4548[rbp]
	lea	rax, -372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -428[rbp]
	mov	ecx, DWORD PTR -416[rbp]
	movzx	eax, BYTE PTR -4548[rbp]
	movzx	edx, al
	lea	rsi, -4547[rbp]
	lea	rax, -368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -436[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	movzx	eax, BYTE PTR -4547[rbp]
	movzx	edx, al
	lea	rsi, -4546[rbp]
	lea	rax, -364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -444[rbp]
	mov	ecx, DWORD PTR -432[rbp]
	movzx	eax, BYTE PTR -4546[rbp]
	movzx	edx, al
	lea	rsi, -4545[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -452[rbp]
	mov	ecx, DWORD PTR -440[rbp]
	movzx	eax, BYTE PTR -4545[rbp]
	movzx	edx, al
	lea	rsi, -4544[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -460[rbp]
	mov	ecx, DWORD PTR -448[rbp]
	movzx	eax, BYTE PTR -4544[rbp]
	movzx	edx, al
	lea	rsi, -4543[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4543[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -456[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	ecx, DWORD PTR -388[rbp]
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -4542[rbp]
	lea	rax, -348[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -508[rbp]
	movzx	eax, BYTE PTR -4542[rbp]
	movzx	edx, al
	lea	rsi, -4541[rbp]
	lea	rax, -344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -504[rbp]
	movzx	eax, BYTE PTR -4541[rbp]
	movzx	edx, al
	lea	rsi, -4540[rbp]
	lea	rax, -340[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -500[rbp]
	movzx	eax, BYTE PTR -4540[rbp]
	movzx	edx, al
	lea	rsi, -4539[rbp]
	lea	rax, -336[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -380[rbp]
	mov	ecx, DWORD PTR -496[rbp]
	movzx	eax, BYTE PTR -4539[rbp]
	movzx	edx, al
	lea	rsi, -4538[rbp]
	lea	rax, -332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -4538[rbp]
	movzx	edx, al
	lea	rsi, -4537[rbp]
	lea	rax, -328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -372[rbp]
	mov	ecx, DWORD PTR -488[rbp]
	movzx	eax, BYTE PTR -4537[rbp]
	movzx	edx, al
	lea	rsi, -4536[rbp]
	lea	rax, -324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -368[rbp]
	mov	ecx, DWORD PTR -484[rbp]
	movzx	eax, BYTE PTR -4536[rbp]
	movzx	edx, al
	lea	rsi, -4535[rbp]
	lea	rax, -320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -364[rbp]
	mov	ecx, DWORD PTR -480[rbp]
	movzx	eax, BYTE PTR -4535[rbp]
	movzx	edx, al
	lea	rsi, -4534[rbp]
	lea	rax, -316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -360[rbp]
	mov	ecx, DWORD PTR -476[rbp]
	movzx	eax, BYTE PTR -4534[rbp]
	movzx	edx, al
	lea	rsi, -4533[rbp]
	lea	rax, -312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -356[rbp]
	mov	ecx, DWORD PTR -472[rbp]
	movzx	eax, BYTE PTR -4533[rbp]
	movzx	edx, al
	lea	rsi, -4532[rbp]
	lea	rax, -308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -352[rbp]
	mov	ecx, DWORD PTR -468[rbp]
	movzx	eax, BYTE PTR -4532[rbp]
	movzx	edx, al
	lea	rsi, -4531[rbp]
	lea	rax, -304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -464[rbp]
	movzx	eax, BYTE PTR -4531[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -16[rbp]
	lea	rsi, -4530[rbp]
	lea	rax, -300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4530[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4551[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -344[rbp]
	lea	rsi, -4529[rbp]
	lea	rax, -296[rbp]
	mov	r8d, -1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -4529[rbp]
	movzx	edx, al
	lea	rsi, -4528[rbp]
	lea	rax, -292[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -336[rbp]
	movzx	eax, BYTE PTR -4528[rbp]
	movzx	edx, al
	lea	rsi, -4527[rbp]
	lea	rax, -288[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -332[rbp]
	movzx	eax, BYTE PTR -4527[rbp]
	movzx	edx, al
	lea	rsi, -4526[rbp]
	lea	rax, -284[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -328[rbp]
	movzx	eax, BYTE PTR -4526[rbp]
	movzx	edx, al
	lea	rsi, -4525[rbp]
	lea	rax, -280[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -324[rbp]
	movzx	eax, BYTE PTR -4525[rbp]
	movzx	edx, al
	lea	rsi, -4524[rbp]
	lea	rax, -276[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -320[rbp]
	movzx	eax, BYTE PTR -4524[rbp]
	movzx	edx, al
	lea	rsi, -4523[rbp]
	lea	rax, -272[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -316[rbp]
	movzx	eax, BYTE PTR -4523[rbp]
	movzx	edx, al
	lea	rsi, -4522[rbp]
	lea	rax, -268[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -312[rbp]
	movzx	eax, BYTE PTR -4522[rbp]
	movzx	edx, al
	lea	rsi, -4521[rbp]
	lea	rax, -264[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -308[rbp]
	movzx	eax, BYTE PTR -4521[rbp]
	movzx	edx, al
	lea	rsi, -4520[rbp]
	lea	rax, -260[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -304[rbp]
	movzx	eax, BYTE PTR -4520[rbp]
	movzx	edx, al
	lea	rsi, -4519[rbp]
	lea	rax, -256[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -300[rbp]
	movzx	eax, BYTE PTR -4519[rbp]
	movzx	edx, al
	lea	rsi, -4518[rbp]
	lea	rax, -252[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	movzx	eax, BYTE PTR -4518[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -12[rbp]
	lea	rsi, -4517[rbp]
	lea	rax, -248[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -344[rbp]
	mov	edx, DWORD PTR -296[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -244[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -340[rbp]
	mov	edx, DWORD PTR -292[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -240[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -336[rbp]
	mov	edx, DWORD PTR -288[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -236[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -332[rbp]
	mov	edx, DWORD PTR -284[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -232[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -328[rbp]
	mov	edx, DWORD PTR -280[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -228[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -324[rbp]
	mov	edx, DWORD PTR -276[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -224[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -320[rbp]
	mov	edx, DWORD PTR -272[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -220[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -316[rbp]
	mov	edx, DWORD PTR -268[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -216[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -312[rbp]
	mov	edx, DWORD PTR -264[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -212[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -308[rbp]
	mov	edx, DWORD PTR -260[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -304[rbp]
	mov	edx, DWORD PTR -256[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -204[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -300[rbp]
	mov	edx, DWORD PTR -252[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -200[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	edx, DWORD PTR -244[rbp]
	mov	rax, QWORD PTR -5064[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -240[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -236[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -232[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -228[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -224[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -216[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -204[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -200[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L6
	call	__stack_chk_fail@PLT
.L6:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	fiat_p384_mul, .-fiat_p384_mul
	.type	fiat_p384_square, @function
fiat_p384_square:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 976
	mov	QWORD PTR -5064[rbp], rdi
	mov	QWORD PTR -5072[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -196[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -192[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -160[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4512[rbp]
	lea	rax, -4516[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4504[rbp]
	lea	rax, -4508[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4496[rbp]
	lea	rax, -4500[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4488[rbp]
	lea	rax, -4492[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4480[rbp]
	lea	rax, -4484[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4472[rbp]
	lea	rax, -4476[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4464[rbp]
	lea	rax, -4468[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4456[rbp]
	lea	rax, -4460[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4448[rbp]
	lea	rax, -4452[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4440[rbp]
	lea	rax, -4444[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4432[rbp]
	lea	rax, -4436[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -152[rbp]
	lea	rsi, -4424[rbp]
	lea	rax, -4428[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -4436[rbp]
	mov	edx, DWORD PTR -4424[rbp]
	lea	rsi, -5056[rbp]
	lea	rax, -4420[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4444[rbp]
	mov	ecx, DWORD PTR -4432[rbp]
	movzx	eax, BYTE PTR -5056[rbp]
	movzx	edx, al
	lea	rsi, -5055[rbp]
	lea	rax, -4416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4452[rbp]
	mov	ecx, DWORD PTR -4440[rbp]
	movzx	eax, BYTE PTR -5055[rbp]
	movzx	edx, al
	lea	rsi, -5054[rbp]
	lea	rax, -4412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4460[rbp]
	mov	ecx, DWORD PTR -4448[rbp]
	movzx	eax, BYTE PTR -5054[rbp]
	movzx	edx, al
	lea	rsi, -5053[rbp]
	lea	rax, -4408[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4468[rbp]
	mov	ecx, DWORD PTR -4456[rbp]
	movzx	eax, BYTE PTR -5053[rbp]
	movzx	edx, al
	lea	rsi, -5052[rbp]
	lea	rax, -4404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4476[rbp]
	mov	ecx, DWORD PTR -4464[rbp]
	movzx	eax, BYTE PTR -5052[rbp]
	movzx	edx, al
	lea	rsi, -5051[rbp]
	lea	rax, -4400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4484[rbp]
	mov	ecx, DWORD PTR -4472[rbp]
	movzx	eax, BYTE PTR -5051[rbp]
	movzx	edx, al
	lea	rsi, -5050[rbp]
	lea	rax, -4396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4492[rbp]
	mov	ecx, DWORD PTR -4480[rbp]
	movzx	eax, BYTE PTR -5050[rbp]
	movzx	edx, al
	lea	rsi, -5049[rbp]
	lea	rax, -4392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4500[rbp]
	mov	ecx, DWORD PTR -4488[rbp]
	movzx	eax, BYTE PTR -5049[rbp]
	movzx	edx, al
	lea	rsi, -5048[rbp]
	lea	rax, -4388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4508[rbp]
	mov	ecx, DWORD PTR -4496[rbp]
	movzx	eax, BYTE PTR -5048[rbp]
	movzx	edx, al
	lea	rsi, -5047[rbp]
	lea	rax, -4384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4516[rbp]
	mov	ecx, DWORD PTR -4504[rbp]
	movzx	eax, BYTE PTR -5047[rbp]
	movzx	edx, al
	lea	rsi, -5046[rbp]
	lea	rax, -4380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5046[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4512[rbp]
	add	eax, edx
	mov	DWORD PTR -148[rbp], eax
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4372[rbp]
	lea	rax, -4376[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4364[rbp]
	lea	rax, -4368[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4356[rbp]
	lea	rax, -4360[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4348[rbp]
	lea	rax, -4352[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4340[rbp]
	lea	rax, -4344[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4332[rbp]
	lea	rax, -4336[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4324[rbp]
	lea	rax, -4328[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4316[rbp]
	lea	rax, -4320[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4308[rbp]
	lea	rax, -4312[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -4300[rbp]
	lea	rax, -4304[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -4320[rbp]
	mov	edx, DWORD PTR -4308[rbp]
	lea	rsi, -5045[rbp]
	lea	rax, -4296[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4328[rbp]
	mov	ecx, DWORD PTR -4316[rbp]
	movzx	eax, BYTE PTR -5045[rbp]
	movzx	edx, al
	lea	rsi, -5044[rbp]
	lea	rax, -4292[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4336[rbp]
	mov	ecx, DWORD PTR -4324[rbp]
	movzx	eax, BYTE PTR -5044[rbp]
	movzx	edx, al
	lea	rsi, -5043[rbp]
	lea	rax, -4288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4344[rbp]
	mov	ecx, DWORD PTR -4332[rbp]
	movzx	eax, BYTE PTR -5043[rbp]
	movzx	edx, al
	lea	rsi, -5042[rbp]
	lea	rax, -4284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4352[rbp]
	mov	ecx, DWORD PTR -4340[rbp]
	movzx	eax, BYTE PTR -5042[rbp]
	movzx	edx, al
	lea	rsi, -5041[rbp]
	lea	rax, -4280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4360[rbp]
	mov	ecx, DWORD PTR -4348[rbp]
	movzx	eax, BYTE PTR -5041[rbp]
	movzx	edx, al
	lea	rsi, -5040[rbp]
	lea	rax, -4276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4368[rbp]
	mov	ecx, DWORD PTR -4356[rbp]
	movzx	eax, BYTE PTR -5040[rbp]
	movzx	edx, al
	lea	rsi, -5039[rbp]
	lea	rax, -4272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4376[rbp]
	mov	ecx, DWORD PTR -4364[rbp]
	movzx	eax, BYTE PTR -5039[rbp]
	movzx	edx, al
	lea	rsi, -5038[rbp]
	lea	rax, -4268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5038[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4372[rbp]
	add	eax, edx
	mov	DWORD PTR -144[rbp], eax
	mov	ecx, DWORD PTR -4304[rbp]
	mov	edx, DWORD PTR -4428[rbp]
	lea	rsi, -5037[rbp]
	lea	rax, -4264[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4300[rbp]
	mov	ecx, DWORD PTR -4420[rbp]
	movzx	eax, BYTE PTR -5037[rbp]
	movzx	edx, al
	lea	rsi, -5036[rbp]
	lea	rax, -4260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -4416[rbp]
	movzx	eax, BYTE PTR -5036[rbp]
	movzx	edx, al
	lea	rsi, -5035[rbp]
	lea	rax, -4256[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4312[rbp]
	mov	ecx, DWORD PTR -4412[rbp]
	movzx	eax, BYTE PTR -5035[rbp]
	movzx	edx, al
	lea	rsi, -5034[rbp]
	lea	rax, -4252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4296[rbp]
	mov	ecx, DWORD PTR -4408[rbp]
	movzx	eax, BYTE PTR -5034[rbp]
	movzx	edx, al
	lea	rsi, -5033[rbp]
	lea	rax, -4248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4292[rbp]
	mov	ecx, DWORD PTR -4404[rbp]
	movzx	eax, BYTE PTR -5033[rbp]
	movzx	edx, al
	lea	rsi, -5032[rbp]
	lea	rax, -4244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4288[rbp]
	mov	ecx, DWORD PTR -4400[rbp]
	movzx	eax, BYTE PTR -5032[rbp]
	movzx	edx, al
	lea	rsi, -5031[rbp]
	lea	rax, -4240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4284[rbp]
	mov	ecx, DWORD PTR -4396[rbp]
	movzx	eax, BYTE PTR -5031[rbp]
	movzx	edx, al
	lea	rsi, -5030[rbp]
	lea	rax, -4236[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4280[rbp]
	mov	ecx, DWORD PTR -4392[rbp]
	movzx	eax, BYTE PTR -5030[rbp]
	movzx	edx, al
	lea	rsi, -5029[rbp]
	lea	rax, -4232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4276[rbp]
	mov	ecx, DWORD PTR -4388[rbp]
	movzx	eax, BYTE PTR -5029[rbp]
	movzx	edx, al
	lea	rsi, -5028[rbp]
	lea	rax, -4228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4272[rbp]
	mov	ecx, DWORD PTR -4384[rbp]
	movzx	eax, BYTE PTR -5028[rbp]
	movzx	edx, al
	lea	rsi, -5027[rbp]
	lea	rax, -4224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4268[rbp]
	mov	ecx, DWORD PTR -4380[rbp]
	movzx	eax, BYTE PTR -5027[rbp]
	movzx	edx, al
	lea	rsi, -5026[rbp]
	lea	rax, -4220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5026[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -144[rbp]
	mov	ecx, DWORD PTR -148[rbp]
	lea	rsi, -5025[rbp]
	lea	rax, -4216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4208[rbp]
	lea	rax, -4212[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4200[rbp]
	lea	rax, -4204[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4192[rbp]
	lea	rax, -4196[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4184[rbp]
	lea	rax, -4188[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4176[rbp]
	lea	rax, -4180[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4168[rbp]
	lea	rax, -4172[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4160[rbp]
	lea	rax, -4164[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4152[rbp]
	lea	rax, -4156[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4144[rbp]
	lea	rax, -4148[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4136[rbp]
	lea	rax, -4140[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4128[rbp]
	lea	rax, -4132[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -196[rbp]
	lea	rsi, -4120[rbp]
	lea	rax, -4124[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -4132[rbp]
	mov	edx, DWORD PTR -4120[rbp]
	lea	rsi, -5024[rbp]
	lea	rax, -4116[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4140[rbp]
	mov	ecx, DWORD PTR -4128[rbp]
	movzx	eax, BYTE PTR -5024[rbp]
	movzx	edx, al
	lea	rsi, -5023[rbp]
	lea	rax, -4112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4148[rbp]
	mov	ecx, DWORD PTR -4136[rbp]
	movzx	eax, BYTE PTR -5023[rbp]
	movzx	edx, al
	lea	rsi, -5022[rbp]
	lea	rax, -4108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4156[rbp]
	mov	ecx, DWORD PTR -4144[rbp]
	movzx	eax, BYTE PTR -5022[rbp]
	movzx	edx, al
	lea	rsi, -5021[rbp]
	lea	rax, -4104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4164[rbp]
	mov	ecx, DWORD PTR -4152[rbp]
	movzx	eax, BYTE PTR -5021[rbp]
	movzx	edx, al
	lea	rsi, -5020[rbp]
	lea	rax, -4100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4172[rbp]
	mov	ecx, DWORD PTR -4160[rbp]
	movzx	eax, BYTE PTR -5020[rbp]
	movzx	edx, al
	lea	rsi, -5019[rbp]
	lea	rax, -4096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4180[rbp]
	mov	ecx, DWORD PTR -4168[rbp]
	movzx	eax, BYTE PTR -5019[rbp]
	movzx	edx, al
	lea	rsi, -5018[rbp]
	lea	rax, -4092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4188[rbp]
	mov	ecx, DWORD PTR -4176[rbp]
	movzx	eax, BYTE PTR -5018[rbp]
	movzx	edx, al
	lea	rsi, -5017[rbp]
	lea	rax, -4088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4196[rbp]
	mov	ecx, DWORD PTR -4184[rbp]
	movzx	eax, BYTE PTR -5017[rbp]
	movzx	edx, al
	lea	rsi, -5016[rbp]
	lea	rax, -4084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4204[rbp]
	mov	ecx, DWORD PTR -4192[rbp]
	movzx	eax, BYTE PTR -5016[rbp]
	movzx	edx, al
	lea	rsi, -5015[rbp]
	lea	rax, -4080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4212[rbp]
	mov	ecx, DWORD PTR -4200[rbp]
	movzx	eax, BYTE PTR -5015[rbp]
	movzx	edx, al
	lea	rsi, -5014[rbp]
	lea	rax, -4076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5014[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4208[rbp]
	add	eax, edx
	mov	DWORD PTR -140[rbp], eax
	mov	ecx, DWORD PTR -4124[rbp]
	mov	edx, DWORD PTR -4260[rbp]
	lea	rsi, -5013[rbp]
	lea	rax, -4072[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4116[rbp]
	mov	ecx, DWORD PTR -4256[rbp]
	movzx	eax, BYTE PTR -5013[rbp]
	movzx	edx, al
	lea	rsi, -5012[rbp]
	lea	rax, -4068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4112[rbp]
	mov	ecx, DWORD PTR -4252[rbp]
	movzx	eax, BYTE PTR -5012[rbp]
	movzx	edx, al
	lea	rsi, -5011[rbp]
	lea	rax, -4064[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4108[rbp]
	mov	ecx, DWORD PTR -4248[rbp]
	movzx	eax, BYTE PTR -5011[rbp]
	movzx	edx, al
	lea	rsi, -5010[rbp]
	lea	rax, -4060[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4104[rbp]
	mov	ecx, DWORD PTR -4244[rbp]
	movzx	eax, BYTE PTR -5010[rbp]
	movzx	edx, al
	lea	rsi, -5009[rbp]
	lea	rax, -4056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4100[rbp]
	mov	ecx, DWORD PTR -4240[rbp]
	movzx	eax, BYTE PTR -5009[rbp]
	movzx	edx, al
	lea	rsi, -5008[rbp]
	lea	rax, -4052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4096[rbp]
	mov	ecx, DWORD PTR -4236[rbp]
	movzx	eax, BYTE PTR -5008[rbp]
	movzx	edx, al
	lea	rsi, -5007[rbp]
	lea	rax, -4048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4092[rbp]
	mov	ecx, DWORD PTR -4232[rbp]
	movzx	eax, BYTE PTR -5007[rbp]
	movzx	edx, al
	lea	rsi, -5006[rbp]
	lea	rax, -4044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4088[rbp]
	mov	ecx, DWORD PTR -4228[rbp]
	movzx	eax, BYTE PTR -5006[rbp]
	movzx	edx, al
	lea	rsi, -5005[rbp]
	lea	rax, -4040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4084[rbp]
	mov	ecx, DWORD PTR -4224[rbp]
	movzx	eax, BYTE PTR -5005[rbp]
	movzx	edx, al
	lea	rsi, -5004[rbp]
	lea	rax, -4036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4080[rbp]
	mov	ecx, DWORD PTR -4220[rbp]
	movzx	eax, BYTE PTR -5004[rbp]
	movzx	edx, al
	lea	rsi, -5003[rbp]
	lea	rax, -4032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4076[rbp]
	mov	ecx, DWORD PTR -4216[rbp]
	movzx	eax, BYTE PTR -5003[rbp]
	movzx	edx, al
	lea	rsi, -5002[rbp]
	lea	rax, -4028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -5025[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -5002[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -140[rbp]
	lea	rsi, -5001[rbp]
	lea	rax, -4024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4016[rbp]
	lea	rax, -4020[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4008[rbp]
	lea	rax, -4012[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4000[rbp]
	lea	rax, -4004[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3992[rbp]
	lea	rax, -3996[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3984[rbp]
	lea	rax, -3988[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3976[rbp]
	lea	rax, -3980[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3968[rbp]
	lea	rax, -3972[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3960[rbp]
	lea	rax, -3964[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3952[rbp]
	lea	rax, -3956[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -3944[rbp]
	lea	rax, -3948[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3964[rbp]
	mov	edx, DWORD PTR -3952[rbp]
	lea	rsi, -5000[rbp]
	lea	rax, -3940[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3972[rbp]
	mov	ecx, DWORD PTR -3960[rbp]
	movzx	eax, BYTE PTR -5000[rbp]
	movzx	edx, al
	lea	rsi, -4999[rbp]
	lea	rax, -3936[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3980[rbp]
	mov	ecx, DWORD PTR -3968[rbp]
	movzx	eax, BYTE PTR -4999[rbp]
	movzx	edx, al
	lea	rsi, -4998[rbp]
	lea	rax, -3932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3988[rbp]
	mov	ecx, DWORD PTR -3976[rbp]
	movzx	eax, BYTE PTR -4998[rbp]
	movzx	edx, al
	lea	rsi, -4997[rbp]
	lea	rax, -3928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3996[rbp]
	mov	ecx, DWORD PTR -3984[rbp]
	movzx	eax, BYTE PTR -4997[rbp]
	movzx	edx, al
	lea	rsi, -4996[rbp]
	lea	rax, -3924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4004[rbp]
	mov	ecx, DWORD PTR -3992[rbp]
	movzx	eax, BYTE PTR -4996[rbp]
	movzx	edx, al
	lea	rsi, -4995[rbp]
	lea	rax, -3920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4012[rbp]
	mov	ecx, DWORD PTR -4000[rbp]
	movzx	eax, BYTE PTR -4995[rbp]
	movzx	edx, al
	lea	rsi, -4994[rbp]
	lea	rax, -3916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -4020[rbp]
	mov	ecx, DWORD PTR -4008[rbp]
	movzx	eax, BYTE PTR -4994[rbp]
	movzx	edx, al
	lea	rsi, -4993[rbp]
	lea	rax, -3912[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4993[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -4016[rbp]
	add	eax, edx
	mov	DWORD PTR -136[rbp], eax
	mov	ecx, DWORD PTR -3948[rbp]
	mov	edx, DWORD PTR -4072[rbp]
	lea	rsi, -4992[rbp]
	lea	rax, -3908[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3944[rbp]
	mov	ecx, DWORD PTR -4068[rbp]
	movzx	eax, BYTE PTR -4992[rbp]
	movzx	edx, al
	lea	rsi, -4991[rbp]
	lea	rax, -3904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -4064[rbp]
	movzx	eax, BYTE PTR -4991[rbp]
	movzx	edx, al
	lea	rsi, -4990[rbp]
	lea	rax, -3900[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3956[rbp]
	mov	ecx, DWORD PTR -4060[rbp]
	movzx	eax, BYTE PTR -4990[rbp]
	movzx	edx, al
	lea	rsi, -4989[rbp]
	lea	rax, -3896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3940[rbp]
	mov	ecx, DWORD PTR -4056[rbp]
	movzx	eax, BYTE PTR -4989[rbp]
	movzx	edx, al
	lea	rsi, -4988[rbp]
	lea	rax, -3892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3936[rbp]
	mov	ecx, DWORD PTR -4052[rbp]
	movzx	eax, BYTE PTR -4988[rbp]
	movzx	edx, al
	lea	rsi, -4987[rbp]
	lea	rax, -3888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3932[rbp]
	mov	ecx, DWORD PTR -4048[rbp]
	movzx	eax, BYTE PTR -4987[rbp]
	movzx	edx, al
	lea	rsi, -4986[rbp]
	lea	rax, -3884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3928[rbp]
	mov	ecx, DWORD PTR -4044[rbp]
	movzx	eax, BYTE PTR -4986[rbp]
	movzx	edx, al
	lea	rsi, -4985[rbp]
	lea	rax, -3880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3924[rbp]
	mov	ecx, DWORD PTR -4040[rbp]
	movzx	eax, BYTE PTR -4985[rbp]
	movzx	edx, al
	lea	rsi, -4984[rbp]
	lea	rax, -3876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3920[rbp]
	mov	ecx, DWORD PTR -4036[rbp]
	movzx	eax, BYTE PTR -4984[rbp]
	movzx	edx, al
	lea	rsi, -4983[rbp]
	lea	rax, -3872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3916[rbp]
	mov	ecx, DWORD PTR -4032[rbp]
	movzx	eax, BYTE PTR -4983[rbp]
	movzx	edx, al
	lea	rsi, -4982[rbp]
	lea	rax, -3868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3912[rbp]
	mov	ecx, DWORD PTR -4028[rbp]
	movzx	eax, BYTE PTR -4982[rbp]
	movzx	edx, al
	lea	rsi, -4981[rbp]
	lea	rax, -3864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -4024[rbp]
	movzx	eax, BYTE PTR -4981[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -136[rbp]
	lea	rsi, -4980[rbp]
	lea	rax, -3860[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4980[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -5001[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3852[rbp]
	lea	rax, -3856[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3844[rbp]
	lea	rax, -3848[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3836[rbp]
	lea	rax, -3840[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3828[rbp]
	lea	rax, -3832[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3820[rbp]
	lea	rax, -3824[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3812[rbp]
	lea	rax, -3816[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3804[rbp]
	lea	rax, -3808[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3796[rbp]
	lea	rax, -3800[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3788[rbp]
	lea	rax, -3792[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3780[rbp]
	lea	rax, -3784[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3772[rbp]
	lea	rax, -3776[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -192[rbp]
	lea	rsi, -3764[rbp]
	lea	rax, -3768[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3776[rbp]
	mov	edx, DWORD PTR -3764[rbp]
	lea	rsi, -4979[rbp]
	lea	rax, -3760[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3784[rbp]
	mov	ecx, DWORD PTR -3772[rbp]
	movzx	eax, BYTE PTR -4979[rbp]
	movzx	edx, al
	lea	rsi, -4978[rbp]
	lea	rax, -3756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3792[rbp]
	mov	ecx, DWORD PTR -3780[rbp]
	movzx	eax, BYTE PTR -4978[rbp]
	movzx	edx, al
	lea	rsi, -4977[rbp]
	lea	rax, -3752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3800[rbp]
	mov	ecx, DWORD PTR -3788[rbp]
	movzx	eax, BYTE PTR -4977[rbp]
	movzx	edx, al
	lea	rsi, -4976[rbp]
	lea	rax, -3748[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3808[rbp]
	mov	ecx, DWORD PTR -3796[rbp]
	movzx	eax, BYTE PTR -4976[rbp]
	movzx	edx, al
	lea	rsi, -4975[rbp]
	lea	rax, -3744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3816[rbp]
	mov	ecx, DWORD PTR -3804[rbp]
	movzx	eax, BYTE PTR -4975[rbp]
	movzx	edx, al
	lea	rsi, -4974[rbp]
	lea	rax, -3740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3824[rbp]
	mov	ecx, DWORD PTR -3812[rbp]
	movzx	eax, BYTE PTR -4974[rbp]
	movzx	edx, al
	lea	rsi, -4973[rbp]
	lea	rax, -3736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3832[rbp]
	mov	ecx, DWORD PTR -3820[rbp]
	movzx	eax, BYTE PTR -4973[rbp]
	movzx	edx, al
	lea	rsi, -4972[rbp]
	lea	rax, -3732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3840[rbp]
	mov	ecx, DWORD PTR -3828[rbp]
	movzx	eax, BYTE PTR -4972[rbp]
	movzx	edx, al
	lea	rsi, -4971[rbp]
	lea	rax, -3728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3848[rbp]
	mov	ecx, DWORD PTR -3836[rbp]
	movzx	eax, BYTE PTR -4971[rbp]
	movzx	edx, al
	lea	rsi, -4970[rbp]
	lea	rax, -3724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3856[rbp]
	mov	ecx, DWORD PTR -3844[rbp]
	movzx	eax, BYTE PTR -4970[rbp]
	movzx	edx, al
	lea	rsi, -4969[rbp]
	lea	rax, -3720[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4969[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3852[rbp]
	add	eax, edx
	mov	DWORD PTR -128[rbp], eax
	mov	ecx, DWORD PTR -3768[rbp]
	mov	edx, DWORD PTR -3904[rbp]
	lea	rsi, -4968[rbp]
	lea	rax, -3716[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3760[rbp]
	mov	ecx, DWORD PTR -3900[rbp]
	movzx	eax, BYTE PTR -4968[rbp]
	movzx	edx, al
	lea	rsi, -4967[rbp]
	lea	rax, -3712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3756[rbp]
	mov	ecx, DWORD PTR -3896[rbp]
	movzx	eax, BYTE PTR -4967[rbp]
	movzx	edx, al
	lea	rsi, -4966[rbp]
	lea	rax, -3708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3752[rbp]
	mov	ecx, DWORD PTR -3892[rbp]
	movzx	eax, BYTE PTR -4966[rbp]
	movzx	edx, al
	lea	rsi, -4965[rbp]
	lea	rax, -3704[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3748[rbp]
	mov	ecx, DWORD PTR -3888[rbp]
	movzx	eax, BYTE PTR -4965[rbp]
	movzx	edx, al
	lea	rsi, -4964[rbp]
	lea	rax, -3700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3744[rbp]
	mov	ecx, DWORD PTR -3884[rbp]
	movzx	eax, BYTE PTR -4964[rbp]
	movzx	edx, al
	lea	rsi, -4963[rbp]
	lea	rax, -3696[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3740[rbp]
	mov	ecx, DWORD PTR -3880[rbp]
	movzx	eax, BYTE PTR -4963[rbp]
	movzx	edx, al
	lea	rsi, -4962[rbp]
	lea	rax, -3692[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3736[rbp]
	mov	ecx, DWORD PTR -3876[rbp]
	movzx	eax, BYTE PTR -4962[rbp]
	movzx	edx, al
	lea	rsi, -4961[rbp]
	lea	rax, -3688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3732[rbp]
	mov	ecx, DWORD PTR -3872[rbp]
	movzx	eax, BYTE PTR -4961[rbp]
	movzx	edx, al
	lea	rsi, -4960[rbp]
	lea	rax, -3684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3728[rbp]
	mov	ecx, DWORD PTR -3868[rbp]
	movzx	eax, BYTE PTR -4960[rbp]
	movzx	edx, al
	lea	rsi, -4959[rbp]
	lea	rax, -3680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3724[rbp]
	mov	ecx, DWORD PTR -3864[rbp]
	movzx	eax, BYTE PTR -4959[rbp]
	movzx	edx, al
	lea	rsi, -4958[rbp]
	lea	rax, -3676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3720[rbp]
	mov	ecx, DWORD PTR -3860[rbp]
	movzx	eax, BYTE PTR -4958[rbp]
	movzx	edx, al
	lea	rsi, -4957[rbp]
	lea	rax, -3672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4957[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -128[rbp]
	mov	ecx, DWORD PTR -132[rbp]
	lea	rsi, -4956[rbp]
	lea	rax, -3668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3660[rbp]
	lea	rax, -3664[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3652[rbp]
	lea	rax, -3656[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3644[rbp]
	lea	rax, -3648[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3636[rbp]
	lea	rax, -3640[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3628[rbp]
	lea	rax, -3632[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3620[rbp]
	lea	rax, -3624[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3612[rbp]
	lea	rax, -3616[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3604[rbp]
	lea	rax, -3608[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3596[rbp]
	lea	rax, -3600[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -3588[rbp]
	lea	rax, -3592[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3608[rbp]
	mov	edx, DWORD PTR -3596[rbp]
	lea	rsi, -4955[rbp]
	lea	rax, -3584[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3616[rbp]
	mov	ecx, DWORD PTR -3604[rbp]
	movzx	eax, BYTE PTR -4955[rbp]
	movzx	edx, al
	lea	rsi, -4954[rbp]
	lea	rax, -3580[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3624[rbp]
	mov	ecx, DWORD PTR -3612[rbp]
	movzx	eax, BYTE PTR -4954[rbp]
	movzx	edx, al
	lea	rsi, -4953[rbp]
	lea	rax, -3576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3632[rbp]
	mov	ecx, DWORD PTR -3620[rbp]
	movzx	eax, BYTE PTR -4953[rbp]
	movzx	edx, al
	lea	rsi, -4952[rbp]
	lea	rax, -3572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3640[rbp]
	mov	ecx, DWORD PTR -3628[rbp]
	movzx	eax, BYTE PTR -4952[rbp]
	movzx	edx, al
	lea	rsi, -4951[rbp]
	lea	rax, -3568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3648[rbp]
	mov	ecx, DWORD PTR -3636[rbp]
	movzx	eax, BYTE PTR -4951[rbp]
	movzx	edx, al
	lea	rsi, -4950[rbp]
	lea	rax, -3564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3656[rbp]
	mov	ecx, DWORD PTR -3644[rbp]
	movzx	eax, BYTE PTR -4950[rbp]
	movzx	edx, al
	lea	rsi, -4949[rbp]
	lea	rax, -3560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3664[rbp]
	mov	ecx, DWORD PTR -3652[rbp]
	movzx	eax, BYTE PTR -4949[rbp]
	movzx	edx, al
	lea	rsi, -4948[rbp]
	lea	rax, -3556[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4948[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3660[rbp]
	add	eax, edx
	mov	DWORD PTR -124[rbp], eax
	mov	ecx, DWORD PTR -3592[rbp]
	mov	edx, DWORD PTR -3716[rbp]
	lea	rsi, -4947[rbp]
	lea	rax, -3552[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3588[rbp]
	mov	ecx, DWORD PTR -3712[rbp]
	movzx	eax, BYTE PTR -4947[rbp]
	movzx	edx, al
	lea	rsi, -4946[rbp]
	lea	rax, -3548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3708[rbp]
	movzx	eax, BYTE PTR -4946[rbp]
	movzx	edx, al
	lea	rsi, -4945[rbp]
	lea	rax, -3544[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3600[rbp]
	mov	ecx, DWORD PTR -3704[rbp]
	movzx	eax, BYTE PTR -4945[rbp]
	movzx	edx, al
	lea	rsi, -4944[rbp]
	lea	rax, -3540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3584[rbp]
	mov	ecx, DWORD PTR -3700[rbp]
	movzx	eax, BYTE PTR -4944[rbp]
	movzx	edx, al
	lea	rsi, -4943[rbp]
	lea	rax, -3536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3580[rbp]
	mov	ecx, DWORD PTR -3696[rbp]
	movzx	eax, BYTE PTR -4943[rbp]
	movzx	edx, al
	lea	rsi, -4942[rbp]
	lea	rax, -3532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3576[rbp]
	mov	ecx, DWORD PTR -3692[rbp]
	movzx	eax, BYTE PTR -4942[rbp]
	movzx	edx, al
	lea	rsi, -4941[rbp]
	lea	rax, -3528[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3572[rbp]
	mov	ecx, DWORD PTR -3688[rbp]
	movzx	eax, BYTE PTR -4941[rbp]
	movzx	edx, al
	lea	rsi, -4940[rbp]
	lea	rax, -3524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3568[rbp]
	mov	ecx, DWORD PTR -3684[rbp]
	movzx	eax, BYTE PTR -4940[rbp]
	movzx	edx, al
	lea	rsi, -4939[rbp]
	lea	rax, -3520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3564[rbp]
	mov	ecx, DWORD PTR -3680[rbp]
	movzx	eax, BYTE PTR -4939[rbp]
	movzx	edx, al
	lea	rsi, -4938[rbp]
	lea	rax, -3516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3560[rbp]
	mov	ecx, DWORD PTR -3676[rbp]
	movzx	eax, BYTE PTR -4938[rbp]
	movzx	edx, al
	lea	rsi, -4937[rbp]
	lea	rax, -3512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3556[rbp]
	mov	ecx, DWORD PTR -3672[rbp]
	movzx	eax, BYTE PTR -4937[rbp]
	movzx	edx, al
	lea	rsi, -4936[rbp]
	lea	rax, -3508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3668[rbp]
	movzx	eax, BYTE PTR -4936[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -124[rbp]
	lea	rsi, -4935[rbp]
	lea	rax, -3504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4935[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4956[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3496[rbp]
	lea	rax, -3500[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3488[rbp]
	lea	rax, -3492[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3480[rbp]
	lea	rax, -3484[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3472[rbp]
	lea	rax, -3476[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3464[rbp]
	lea	rax, -3468[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3456[rbp]
	lea	rax, -3460[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3448[rbp]
	lea	rax, -3452[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3440[rbp]
	lea	rax, -3444[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3432[rbp]
	lea	rax, -3436[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3424[rbp]
	lea	rax, -3428[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3416[rbp]
	lea	rax, -3420[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -188[rbp]
	lea	rsi, -3408[rbp]
	lea	rax, -3412[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3420[rbp]
	mov	edx, DWORD PTR -3408[rbp]
	lea	rsi, -4934[rbp]
	lea	rax, -3404[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3428[rbp]
	mov	ecx, DWORD PTR -3416[rbp]
	movzx	eax, BYTE PTR -4934[rbp]
	movzx	edx, al
	lea	rsi, -4933[rbp]
	lea	rax, -3400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3436[rbp]
	mov	ecx, DWORD PTR -3424[rbp]
	movzx	eax, BYTE PTR -4933[rbp]
	movzx	edx, al
	lea	rsi, -4932[rbp]
	lea	rax, -3396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3444[rbp]
	mov	ecx, DWORD PTR -3432[rbp]
	movzx	eax, BYTE PTR -4932[rbp]
	movzx	edx, al
	lea	rsi, -4931[rbp]
	lea	rax, -3392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3452[rbp]
	mov	ecx, DWORD PTR -3440[rbp]
	movzx	eax, BYTE PTR -4931[rbp]
	movzx	edx, al
	lea	rsi, -4930[rbp]
	lea	rax, -3388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3460[rbp]
	mov	ecx, DWORD PTR -3448[rbp]
	movzx	eax, BYTE PTR -4930[rbp]
	movzx	edx, al
	lea	rsi, -4929[rbp]
	lea	rax, -3384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3468[rbp]
	mov	ecx, DWORD PTR -3456[rbp]
	movzx	eax, BYTE PTR -4929[rbp]
	movzx	edx, al
	lea	rsi, -4928[rbp]
	lea	rax, -3380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3476[rbp]
	mov	ecx, DWORD PTR -3464[rbp]
	movzx	eax, BYTE PTR -4928[rbp]
	movzx	edx, al
	lea	rsi, -4927[rbp]
	lea	rax, -3376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3484[rbp]
	mov	ecx, DWORD PTR -3472[rbp]
	movzx	eax, BYTE PTR -4927[rbp]
	movzx	edx, al
	lea	rsi, -4926[rbp]
	lea	rax, -3372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3492[rbp]
	mov	ecx, DWORD PTR -3480[rbp]
	movzx	eax, BYTE PTR -4926[rbp]
	movzx	edx, al
	lea	rsi, -4925[rbp]
	lea	rax, -3368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3500[rbp]
	mov	ecx, DWORD PTR -3488[rbp]
	movzx	eax, BYTE PTR -4925[rbp]
	movzx	edx, al
	lea	rsi, -4924[rbp]
	lea	rax, -3364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4924[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3496[rbp]
	add	eax, edx
	mov	DWORD PTR -116[rbp], eax
	mov	ecx, DWORD PTR -3412[rbp]
	mov	edx, DWORD PTR -3548[rbp]
	lea	rsi, -4923[rbp]
	lea	rax, -3360[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3404[rbp]
	mov	ecx, DWORD PTR -3544[rbp]
	movzx	eax, BYTE PTR -4923[rbp]
	movzx	edx, al
	lea	rsi, -4922[rbp]
	lea	rax, -3356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3400[rbp]
	mov	ecx, DWORD PTR -3540[rbp]
	movzx	eax, BYTE PTR -4922[rbp]
	movzx	edx, al
	lea	rsi, -4921[rbp]
	lea	rax, -3352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3396[rbp]
	mov	ecx, DWORD PTR -3536[rbp]
	movzx	eax, BYTE PTR -4921[rbp]
	movzx	edx, al
	lea	rsi, -4920[rbp]
	lea	rax, -3348[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3392[rbp]
	mov	ecx, DWORD PTR -3532[rbp]
	movzx	eax, BYTE PTR -4920[rbp]
	movzx	edx, al
	lea	rsi, -4919[rbp]
	lea	rax, -3344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3388[rbp]
	mov	ecx, DWORD PTR -3528[rbp]
	movzx	eax, BYTE PTR -4919[rbp]
	movzx	edx, al
	lea	rsi, -4918[rbp]
	lea	rax, -3340[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3384[rbp]
	mov	ecx, DWORD PTR -3524[rbp]
	movzx	eax, BYTE PTR -4918[rbp]
	movzx	edx, al
	lea	rsi, -4917[rbp]
	lea	rax, -3336[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3380[rbp]
	mov	ecx, DWORD PTR -3520[rbp]
	movzx	eax, BYTE PTR -4917[rbp]
	movzx	edx, al
	lea	rsi, -4916[rbp]
	lea	rax, -3332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3376[rbp]
	mov	ecx, DWORD PTR -3516[rbp]
	movzx	eax, BYTE PTR -4916[rbp]
	movzx	edx, al
	lea	rsi, -4915[rbp]
	lea	rax, -3328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3372[rbp]
	mov	ecx, DWORD PTR -3512[rbp]
	movzx	eax, BYTE PTR -4915[rbp]
	movzx	edx, al
	lea	rsi, -4914[rbp]
	lea	rax, -3324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3368[rbp]
	mov	ecx, DWORD PTR -3508[rbp]
	movzx	eax, BYTE PTR -4914[rbp]
	movzx	edx, al
	lea	rsi, -4913[rbp]
	lea	rax, -3320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3364[rbp]
	mov	ecx, DWORD PTR -3504[rbp]
	movzx	eax, BYTE PTR -4913[rbp]
	movzx	edx, al
	lea	rsi, -4912[rbp]
	lea	rax, -3316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4912[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -116[rbp]
	mov	ecx, DWORD PTR -120[rbp]
	lea	rsi, -4911[rbp]
	lea	rax, -3312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3304[rbp]
	lea	rax, -3308[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3296[rbp]
	lea	rax, -3300[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3288[rbp]
	lea	rax, -3292[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3280[rbp]
	lea	rax, -3284[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3272[rbp]
	lea	rax, -3276[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3264[rbp]
	lea	rax, -3268[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3256[rbp]
	lea	rax, -3260[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3248[rbp]
	lea	rax, -3252[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3240[rbp]
	lea	rax, -3244[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -3232[rbp]
	lea	rax, -3236[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3252[rbp]
	mov	edx, DWORD PTR -3240[rbp]
	lea	rsi, -4910[rbp]
	lea	rax, -3228[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3260[rbp]
	mov	ecx, DWORD PTR -3248[rbp]
	movzx	eax, BYTE PTR -4910[rbp]
	movzx	edx, al
	lea	rsi, -4909[rbp]
	lea	rax, -3224[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3268[rbp]
	mov	ecx, DWORD PTR -3256[rbp]
	movzx	eax, BYTE PTR -4909[rbp]
	movzx	edx, al
	lea	rsi, -4908[rbp]
	lea	rax, -3220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3276[rbp]
	mov	ecx, DWORD PTR -3264[rbp]
	movzx	eax, BYTE PTR -4908[rbp]
	movzx	edx, al
	lea	rsi, -4907[rbp]
	lea	rax, -3216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3284[rbp]
	mov	ecx, DWORD PTR -3272[rbp]
	movzx	eax, BYTE PTR -4907[rbp]
	movzx	edx, al
	lea	rsi, -4906[rbp]
	lea	rax, -3212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3292[rbp]
	mov	ecx, DWORD PTR -3280[rbp]
	movzx	eax, BYTE PTR -4906[rbp]
	movzx	edx, al
	lea	rsi, -4905[rbp]
	lea	rax, -3208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3300[rbp]
	mov	ecx, DWORD PTR -3288[rbp]
	movzx	eax, BYTE PTR -4905[rbp]
	movzx	edx, al
	lea	rsi, -4904[rbp]
	lea	rax, -3204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3308[rbp]
	mov	ecx, DWORD PTR -3296[rbp]
	movzx	eax, BYTE PTR -4904[rbp]
	movzx	edx, al
	lea	rsi, -4903[rbp]
	lea	rax, -3200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4903[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3304[rbp]
	add	eax, edx
	mov	DWORD PTR -112[rbp], eax
	mov	ecx, DWORD PTR -3236[rbp]
	mov	edx, DWORD PTR -3360[rbp]
	lea	rsi, -4902[rbp]
	lea	rax, -3196[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3232[rbp]
	mov	ecx, DWORD PTR -3356[rbp]
	movzx	eax, BYTE PTR -4902[rbp]
	movzx	edx, al
	lea	rsi, -4901[rbp]
	lea	rax, -3192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3352[rbp]
	movzx	eax, BYTE PTR -4901[rbp]
	movzx	edx, al
	lea	rsi, -4900[rbp]
	lea	rax, -3188[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3244[rbp]
	mov	ecx, DWORD PTR -3348[rbp]
	movzx	eax, BYTE PTR -4900[rbp]
	movzx	edx, al
	lea	rsi, -4899[rbp]
	lea	rax, -3184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3228[rbp]
	mov	ecx, DWORD PTR -3344[rbp]
	movzx	eax, BYTE PTR -4899[rbp]
	movzx	edx, al
	lea	rsi, -4898[rbp]
	lea	rax, -3180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3224[rbp]
	mov	ecx, DWORD PTR -3340[rbp]
	movzx	eax, BYTE PTR -4898[rbp]
	movzx	edx, al
	lea	rsi, -4897[rbp]
	lea	rax, -3176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3220[rbp]
	mov	ecx, DWORD PTR -3336[rbp]
	movzx	eax, BYTE PTR -4897[rbp]
	movzx	edx, al
	lea	rsi, -4896[rbp]
	lea	rax, -3172[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3216[rbp]
	mov	ecx, DWORD PTR -3332[rbp]
	movzx	eax, BYTE PTR -4896[rbp]
	movzx	edx, al
	lea	rsi, -4895[rbp]
	lea	rax, -3168[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3212[rbp]
	mov	ecx, DWORD PTR -3328[rbp]
	movzx	eax, BYTE PTR -4895[rbp]
	movzx	edx, al
	lea	rsi, -4894[rbp]
	lea	rax, -3164[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3208[rbp]
	mov	ecx, DWORD PTR -3324[rbp]
	movzx	eax, BYTE PTR -4894[rbp]
	movzx	edx, al
	lea	rsi, -4893[rbp]
	lea	rax, -3160[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3204[rbp]
	mov	ecx, DWORD PTR -3320[rbp]
	movzx	eax, BYTE PTR -4893[rbp]
	movzx	edx, al
	lea	rsi, -4892[rbp]
	lea	rax, -3156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3200[rbp]
	mov	ecx, DWORD PTR -3316[rbp]
	movzx	eax, BYTE PTR -4892[rbp]
	movzx	edx, al
	lea	rsi, -4891[rbp]
	lea	rax, -3152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -3312[rbp]
	movzx	eax, BYTE PTR -4891[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -112[rbp]
	lea	rsi, -4890[rbp]
	lea	rax, -3148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4890[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4911[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3140[rbp]
	lea	rax, -3144[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3132[rbp]
	lea	rax, -3136[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3124[rbp]
	lea	rax, -3128[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3116[rbp]
	lea	rax, -3120[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3108[rbp]
	lea	rax, -3112[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3100[rbp]
	lea	rax, -3104[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3092[rbp]
	lea	rax, -3096[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3084[rbp]
	lea	rax, -3088[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3076[rbp]
	lea	rax, -3080[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3068[rbp]
	lea	rax, -3072[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3060[rbp]
	lea	rax, -3064[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -184[rbp]
	lea	rsi, -3052[rbp]
	lea	rax, -3056[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -3064[rbp]
	mov	edx, DWORD PTR -3052[rbp]
	lea	rsi, -4889[rbp]
	lea	rax, -3048[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3072[rbp]
	mov	ecx, DWORD PTR -3060[rbp]
	movzx	eax, BYTE PTR -4889[rbp]
	movzx	edx, al
	lea	rsi, -4888[rbp]
	lea	rax, -3044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3080[rbp]
	mov	ecx, DWORD PTR -3068[rbp]
	movzx	eax, BYTE PTR -4888[rbp]
	movzx	edx, al
	lea	rsi, -4887[rbp]
	lea	rax, -3040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3088[rbp]
	mov	ecx, DWORD PTR -3076[rbp]
	movzx	eax, BYTE PTR -4887[rbp]
	movzx	edx, al
	lea	rsi, -4886[rbp]
	lea	rax, -3036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3096[rbp]
	mov	ecx, DWORD PTR -3084[rbp]
	movzx	eax, BYTE PTR -4886[rbp]
	movzx	edx, al
	lea	rsi, -4885[rbp]
	lea	rax, -3032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3104[rbp]
	mov	ecx, DWORD PTR -3092[rbp]
	movzx	eax, BYTE PTR -4885[rbp]
	movzx	edx, al
	lea	rsi, -4884[rbp]
	lea	rax, -3028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3112[rbp]
	mov	ecx, DWORD PTR -3100[rbp]
	movzx	eax, BYTE PTR -4884[rbp]
	movzx	edx, al
	lea	rsi, -4883[rbp]
	lea	rax, -3024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3120[rbp]
	mov	ecx, DWORD PTR -3108[rbp]
	movzx	eax, BYTE PTR -4883[rbp]
	movzx	edx, al
	lea	rsi, -4882[rbp]
	lea	rax, -3020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3128[rbp]
	mov	ecx, DWORD PTR -3116[rbp]
	movzx	eax, BYTE PTR -4882[rbp]
	movzx	edx, al
	lea	rsi, -4881[rbp]
	lea	rax, -3016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3136[rbp]
	mov	ecx, DWORD PTR -3124[rbp]
	movzx	eax, BYTE PTR -4881[rbp]
	movzx	edx, al
	lea	rsi, -4880[rbp]
	lea	rax, -3012[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3144[rbp]
	mov	ecx, DWORD PTR -3132[rbp]
	movzx	eax, BYTE PTR -4880[rbp]
	movzx	edx, al
	lea	rsi, -4879[rbp]
	lea	rax, -3008[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4879[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -3140[rbp]
	add	eax, edx
	mov	DWORD PTR -104[rbp], eax
	mov	ecx, DWORD PTR -3056[rbp]
	mov	edx, DWORD PTR -3192[rbp]
	lea	rsi, -4878[rbp]
	lea	rax, -3004[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3048[rbp]
	mov	ecx, DWORD PTR -3188[rbp]
	movzx	eax, BYTE PTR -4878[rbp]
	movzx	edx, al
	lea	rsi, -4877[rbp]
	lea	rax, -3000[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3044[rbp]
	mov	ecx, DWORD PTR -3184[rbp]
	movzx	eax, BYTE PTR -4877[rbp]
	movzx	edx, al
	lea	rsi, -4876[rbp]
	lea	rax, -2996[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3040[rbp]
	mov	ecx, DWORD PTR -3180[rbp]
	movzx	eax, BYTE PTR -4876[rbp]
	movzx	edx, al
	lea	rsi, -4875[rbp]
	lea	rax, -2992[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3036[rbp]
	mov	ecx, DWORD PTR -3176[rbp]
	movzx	eax, BYTE PTR -4875[rbp]
	movzx	edx, al
	lea	rsi, -4874[rbp]
	lea	rax, -2988[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3032[rbp]
	mov	ecx, DWORD PTR -3172[rbp]
	movzx	eax, BYTE PTR -4874[rbp]
	movzx	edx, al
	lea	rsi, -4873[rbp]
	lea	rax, -2984[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3028[rbp]
	mov	ecx, DWORD PTR -3168[rbp]
	movzx	eax, BYTE PTR -4873[rbp]
	movzx	edx, al
	lea	rsi, -4872[rbp]
	lea	rax, -2980[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3024[rbp]
	mov	ecx, DWORD PTR -3164[rbp]
	movzx	eax, BYTE PTR -4872[rbp]
	movzx	edx, al
	lea	rsi, -4871[rbp]
	lea	rax, -2976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3020[rbp]
	mov	ecx, DWORD PTR -3160[rbp]
	movzx	eax, BYTE PTR -4871[rbp]
	movzx	edx, al
	lea	rsi, -4870[rbp]
	lea	rax, -2972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3016[rbp]
	mov	ecx, DWORD PTR -3156[rbp]
	movzx	eax, BYTE PTR -4870[rbp]
	movzx	edx, al
	lea	rsi, -4869[rbp]
	lea	rax, -2968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3012[rbp]
	mov	ecx, DWORD PTR -3152[rbp]
	movzx	eax, BYTE PTR -4869[rbp]
	movzx	edx, al
	lea	rsi, -4868[rbp]
	lea	rax, -2964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -3008[rbp]
	mov	ecx, DWORD PTR -3148[rbp]
	movzx	eax, BYTE PTR -4868[rbp]
	movzx	edx, al
	lea	rsi, -4867[rbp]
	lea	rax, -2960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4867[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -104[rbp]
	mov	ecx, DWORD PTR -108[rbp]
	lea	rsi, -4866[rbp]
	lea	rax, -2956[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2948[rbp]
	lea	rax, -2952[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2940[rbp]
	lea	rax, -2944[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2932[rbp]
	lea	rax, -2936[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2924[rbp]
	lea	rax, -2928[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2916[rbp]
	lea	rax, -2920[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2908[rbp]
	lea	rax, -2912[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2900[rbp]
	lea	rax, -2904[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2892[rbp]
	lea	rax, -2896[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2884[rbp]
	lea	rax, -2888[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -2876[rbp]
	lea	rax, -2880[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2896[rbp]
	mov	edx, DWORD PTR -2884[rbp]
	lea	rsi, -4865[rbp]
	lea	rax, -2872[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2904[rbp]
	mov	ecx, DWORD PTR -2892[rbp]
	movzx	eax, BYTE PTR -4865[rbp]
	movzx	edx, al
	lea	rsi, -4864[rbp]
	lea	rax, -2868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2912[rbp]
	mov	ecx, DWORD PTR -2900[rbp]
	movzx	eax, BYTE PTR -4864[rbp]
	movzx	edx, al
	lea	rsi, -4863[rbp]
	lea	rax, -2864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2920[rbp]
	mov	ecx, DWORD PTR -2908[rbp]
	movzx	eax, BYTE PTR -4863[rbp]
	movzx	edx, al
	lea	rsi, -4862[rbp]
	lea	rax, -2860[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2928[rbp]
	mov	ecx, DWORD PTR -2916[rbp]
	movzx	eax, BYTE PTR -4862[rbp]
	movzx	edx, al
	lea	rsi, -4861[rbp]
	lea	rax, -2856[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2936[rbp]
	mov	ecx, DWORD PTR -2924[rbp]
	movzx	eax, BYTE PTR -4861[rbp]
	movzx	edx, al
	lea	rsi, -4860[rbp]
	lea	rax, -2852[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2944[rbp]
	mov	ecx, DWORD PTR -2932[rbp]
	movzx	eax, BYTE PTR -4860[rbp]
	movzx	edx, al
	lea	rsi, -4859[rbp]
	lea	rax, -2848[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2952[rbp]
	mov	ecx, DWORD PTR -2940[rbp]
	movzx	eax, BYTE PTR -4859[rbp]
	movzx	edx, al
	lea	rsi, -4858[rbp]
	lea	rax, -2844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4858[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2948[rbp]
	add	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	ecx, DWORD PTR -2880[rbp]
	mov	edx, DWORD PTR -3004[rbp]
	lea	rsi, -4857[rbp]
	lea	rax, -2840[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2876[rbp]
	mov	ecx, DWORD PTR -3000[rbp]
	movzx	eax, BYTE PTR -4857[rbp]
	movzx	edx, al
	lea	rsi, -4856[rbp]
	lea	rax, -2836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2996[rbp]
	movzx	eax, BYTE PTR -4856[rbp]
	movzx	edx, al
	lea	rsi, -4855[rbp]
	lea	rax, -2832[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2888[rbp]
	mov	ecx, DWORD PTR -2992[rbp]
	movzx	eax, BYTE PTR -4855[rbp]
	movzx	edx, al
	lea	rsi, -4854[rbp]
	lea	rax, -2828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2872[rbp]
	mov	ecx, DWORD PTR -2988[rbp]
	movzx	eax, BYTE PTR -4854[rbp]
	movzx	edx, al
	lea	rsi, -4853[rbp]
	lea	rax, -2824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2868[rbp]
	mov	ecx, DWORD PTR -2984[rbp]
	movzx	eax, BYTE PTR -4853[rbp]
	movzx	edx, al
	lea	rsi, -4852[rbp]
	lea	rax, -2820[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2864[rbp]
	mov	ecx, DWORD PTR -2980[rbp]
	movzx	eax, BYTE PTR -4852[rbp]
	movzx	edx, al
	lea	rsi, -4851[rbp]
	lea	rax, -2816[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2860[rbp]
	mov	ecx, DWORD PTR -2976[rbp]
	movzx	eax, BYTE PTR -4851[rbp]
	movzx	edx, al
	lea	rsi, -4850[rbp]
	lea	rax, -2812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2856[rbp]
	mov	ecx, DWORD PTR -2972[rbp]
	movzx	eax, BYTE PTR -4850[rbp]
	movzx	edx, al
	lea	rsi, -4849[rbp]
	lea	rax, -2808[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2852[rbp]
	mov	ecx, DWORD PTR -2968[rbp]
	movzx	eax, BYTE PTR -4849[rbp]
	movzx	edx, al
	lea	rsi, -4848[rbp]
	lea	rax, -2804[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2848[rbp]
	mov	ecx, DWORD PTR -2964[rbp]
	movzx	eax, BYTE PTR -4848[rbp]
	movzx	edx, al
	lea	rsi, -4847[rbp]
	lea	rax, -2800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2844[rbp]
	mov	ecx, DWORD PTR -2960[rbp]
	movzx	eax, BYTE PTR -4847[rbp]
	movzx	edx, al
	lea	rsi, -4846[rbp]
	lea	rax, -2796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2956[rbp]
	movzx	eax, BYTE PTR -4846[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -100[rbp]
	lea	rsi, -4845[rbp]
	lea	rax, -2792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4845[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4866[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2784[rbp]
	lea	rax, -2788[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2776[rbp]
	lea	rax, -2780[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2768[rbp]
	lea	rax, -2772[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2760[rbp]
	lea	rax, -2764[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2752[rbp]
	lea	rax, -2756[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2744[rbp]
	lea	rax, -2748[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2736[rbp]
	lea	rax, -2740[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2728[rbp]
	lea	rax, -2732[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2720[rbp]
	lea	rax, -2724[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2712[rbp]
	lea	rax, -2716[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2704[rbp]
	lea	rax, -2708[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -180[rbp]
	lea	rsi, -2696[rbp]
	lea	rax, -2700[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2708[rbp]
	mov	edx, DWORD PTR -2696[rbp]
	lea	rsi, -4844[rbp]
	lea	rax, -2692[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2716[rbp]
	mov	ecx, DWORD PTR -2704[rbp]
	movzx	eax, BYTE PTR -4844[rbp]
	movzx	edx, al
	lea	rsi, -4843[rbp]
	lea	rax, -2688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2724[rbp]
	mov	ecx, DWORD PTR -2712[rbp]
	movzx	eax, BYTE PTR -4843[rbp]
	movzx	edx, al
	lea	rsi, -4842[rbp]
	lea	rax, -2684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2732[rbp]
	mov	ecx, DWORD PTR -2720[rbp]
	movzx	eax, BYTE PTR -4842[rbp]
	movzx	edx, al
	lea	rsi, -4841[rbp]
	lea	rax, -2680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2740[rbp]
	mov	ecx, DWORD PTR -2728[rbp]
	movzx	eax, BYTE PTR -4841[rbp]
	movzx	edx, al
	lea	rsi, -4840[rbp]
	lea	rax, -2676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2748[rbp]
	mov	ecx, DWORD PTR -2736[rbp]
	movzx	eax, BYTE PTR -4840[rbp]
	movzx	edx, al
	lea	rsi, -4839[rbp]
	lea	rax, -2672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2756[rbp]
	mov	ecx, DWORD PTR -2744[rbp]
	movzx	eax, BYTE PTR -4839[rbp]
	movzx	edx, al
	lea	rsi, -4838[rbp]
	lea	rax, -2668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2764[rbp]
	mov	ecx, DWORD PTR -2752[rbp]
	movzx	eax, BYTE PTR -4838[rbp]
	movzx	edx, al
	lea	rsi, -4837[rbp]
	lea	rax, -2664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2772[rbp]
	mov	ecx, DWORD PTR -2760[rbp]
	movzx	eax, BYTE PTR -4837[rbp]
	movzx	edx, al
	lea	rsi, -4836[rbp]
	lea	rax, -2660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2780[rbp]
	mov	ecx, DWORD PTR -2768[rbp]
	movzx	eax, BYTE PTR -4836[rbp]
	movzx	edx, al
	lea	rsi, -4835[rbp]
	lea	rax, -2656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2788[rbp]
	mov	ecx, DWORD PTR -2776[rbp]
	movzx	eax, BYTE PTR -4835[rbp]
	movzx	edx, al
	lea	rsi, -4834[rbp]
	lea	rax, -2652[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4834[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2784[rbp]
	add	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	ecx, DWORD PTR -2700[rbp]
	mov	edx, DWORD PTR -2836[rbp]
	lea	rsi, -4833[rbp]
	lea	rax, -2648[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2692[rbp]
	mov	ecx, DWORD PTR -2832[rbp]
	movzx	eax, BYTE PTR -4833[rbp]
	movzx	edx, al
	lea	rsi, -4832[rbp]
	lea	rax, -2644[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2688[rbp]
	mov	ecx, DWORD PTR -2828[rbp]
	movzx	eax, BYTE PTR -4832[rbp]
	movzx	edx, al
	lea	rsi, -4831[rbp]
	lea	rax, -2640[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2684[rbp]
	mov	ecx, DWORD PTR -2824[rbp]
	movzx	eax, BYTE PTR -4831[rbp]
	movzx	edx, al
	lea	rsi, -4830[rbp]
	lea	rax, -2636[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2680[rbp]
	mov	ecx, DWORD PTR -2820[rbp]
	movzx	eax, BYTE PTR -4830[rbp]
	movzx	edx, al
	lea	rsi, -4829[rbp]
	lea	rax, -2632[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2676[rbp]
	mov	ecx, DWORD PTR -2816[rbp]
	movzx	eax, BYTE PTR -4829[rbp]
	movzx	edx, al
	lea	rsi, -4828[rbp]
	lea	rax, -2628[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2672[rbp]
	mov	ecx, DWORD PTR -2812[rbp]
	movzx	eax, BYTE PTR -4828[rbp]
	movzx	edx, al
	lea	rsi, -4827[rbp]
	lea	rax, -2624[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2668[rbp]
	mov	ecx, DWORD PTR -2808[rbp]
	movzx	eax, BYTE PTR -4827[rbp]
	movzx	edx, al
	lea	rsi, -4826[rbp]
	lea	rax, -2620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2664[rbp]
	mov	ecx, DWORD PTR -2804[rbp]
	movzx	eax, BYTE PTR -4826[rbp]
	movzx	edx, al
	lea	rsi, -4825[rbp]
	lea	rax, -2616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2660[rbp]
	mov	ecx, DWORD PTR -2800[rbp]
	movzx	eax, BYTE PTR -4825[rbp]
	movzx	edx, al
	lea	rsi, -4824[rbp]
	lea	rax, -2612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2656[rbp]
	mov	ecx, DWORD PTR -2796[rbp]
	movzx	eax, BYTE PTR -4824[rbp]
	movzx	edx, al
	lea	rsi, -4823[rbp]
	lea	rax, -2608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2652[rbp]
	mov	ecx, DWORD PTR -2792[rbp]
	movzx	eax, BYTE PTR -4823[rbp]
	movzx	edx, al
	lea	rsi, -4822[rbp]
	lea	rax, -2604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4822[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -92[rbp]
	mov	ecx, DWORD PTR -96[rbp]
	lea	rsi, -4821[rbp]
	lea	rax, -2600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2592[rbp]
	lea	rax, -2596[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2584[rbp]
	lea	rax, -2588[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2576[rbp]
	lea	rax, -2580[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2568[rbp]
	lea	rax, -2572[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2560[rbp]
	lea	rax, -2564[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2552[rbp]
	lea	rax, -2556[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2544[rbp]
	lea	rax, -2548[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2536[rbp]
	lea	rax, -2540[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2528[rbp]
	lea	rax, -2532[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -2520[rbp]
	lea	rax, -2524[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2540[rbp]
	mov	edx, DWORD PTR -2528[rbp]
	lea	rsi, -4820[rbp]
	lea	rax, -2516[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2548[rbp]
	mov	ecx, DWORD PTR -2536[rbp]
	movzx	eax, BYTE PTR -4820[rbp]
	movzx	edx, al
	lea	rsi, -4819[rbp]
	lea	rax, -2512[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2556[rbp]
	mov	ecx, DWORD PTR -2544[rbp]
	movzx	eax, BYTE PTR -4819[rbp]
	movzx	edx, al
	lea	rsi, -4818[rbp]
	lea	rax, -2508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2564[rbp]
	mov	ecx, DWORD PTR -2552[rbp]
	movzx	eax, BYTE PTR -4818[rbp]
	movzx	edx, al
	lea	rsi, -4817[rbp]
	lea	rax, -2504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2572[rbp]
	mov	ecx, DWORD PTR -2560[rbp]
	movzx	eax, BYTE PTR -4817[rbp]
	movzx	edx, al
	lea	rsi, -4816[rbp]
	lea	rax, -2500[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2580[rbp]
	mov	ecx, DWORD PTR -2568[rbp]
	movzx	eax, BYTE PTR -4816[rbp]
	movzx	edx, al
	lea	rsi, -4815[rbp]
	lea	rax, -2496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2588[rbp]
	mov	ecx, DWORD PTR -2576[rbp]
	movzx	eax, BYTE PTR -4815[rbp]
	movzx	edx, al
	lea	rsi, -4814[rbp]
	lea	rax, -2492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2596[rbp]
	mov	ecx, DWORD PTR -2584[rbp]
	movzx	eax, BYTE PTR -4814[rbp]
	movzx	edx, al
	lea	rsi, -4813[rbp]
	lea	rax, -2488[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4813[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2592[rbp]
	add	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	ecx, DWORD PTR -2524[rbp]
	mov	edx, DWORD PTR -2648[rbp]
	lea	rsi, -4812[rbp]
	lea	rax, -2484[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2520[rbp]
	mov	ecx, DWORD PTR -2644[rbp]
	movzx	eax, BYTE PTR -4812[rbp]
	movzx	edx, al
	lea	rsi, -4811[rbp]
	lea	rax, -2480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2640[rbp]
	movzx	eax, BYTE PTR -4811[rbp]
	movzx	edx, al
	lea	rsi, -4810[rbp]
	lea	rax, -2476[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2532[rbp]
	mov	ecx, DWORD PTR -2636[rbp]
	movzx	eax, BYTE PTR -4810[rbp]
	movzx	edx, al
	lea	rsi, -4809[rbp]
	lea	rax, -2472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2516[rbp]
	mov	ecx, DWORD PTR -2632[rbp]
	movzx	eax, BYTE PTR -4809[rbp]
	movzx	edx, al
	lea	rsi, -4808[rbp]
	lea	rax, -2468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2512[rbp]
	mov	ecx, DWORD PTR -2628[rbp]
	movzx	eax, BYTE PTR -4808[rbp]
	movzx	edx, al
	lea	rsi, -4807[rbp]
	lea	rax, -2464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2508[rbp]
	mov	ecx, DWORD PTR -2624[rbp]
	movzx	eax, BYTE PTR -4807[rbp]
	movzx	edx, al
	lea	rsi, -4806[rbp]
	lea	rax, -2460[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2504[rbp]
	mov	ecx, DWORD PTR -2620[rbp]
	movzx	eax, BYTE PTR -4806[rbp]
	movzx	edx, al
	lea	rsi, -4805[rbp]
	lea	rax, -2456[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2500[rbp]
	mov	ecx, DWORD PTR -2616[rbp]
	movzx	eax, BYTE PTR -4805[rbp]
	movzx	edx, al
	lea	rsi, -4804[rbp]
	lea	rax, -2452[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2496[rbp]
	mov	ecx, DWORD PTR -2612[rbp]
	movzx	eax, BYTE PTR -4804[rbp]
	movzx	edx, al
	lea	rsi, -4803[rbp]
	lea	rax, -2448[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2492[rbp]
	mov	ecx, DWORD PTR -2608[rbp]
	movzx	eax, BYTE PTR -4803[rbp]
	movzx	edx, al
	lea	rsi, -4802[rbp]
	lea	rax, -2444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2488[rbp]
	mov	ecx, DWORD PTR -2604[rbp]
	movzx	eax, BYTE PTR -4802[rbp]
	movzx	edx, al
	lea	rsi, -4801[rbp]
	lea	rax, -2440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2600[rbp]
	movzx	eax, BYTE PTR -4801[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -88[rbp]
	lea	rsi, -4800[rbp]
	lea	rax, -2436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4800[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4821[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2428[rbp]
	lea	rax, -2432[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2420[rbp]
	lea	rax, -2424[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2412[rbp]
	lea	rax, -2416[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2404[rbp]
	lea	rax, -2408[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2396[rbp]
	lea	rax, -2400[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2388[rbp]
	lea	rax, -2392[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2380[rbp]
	lea	rax, -2384[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2372[rbp]
	lea	rax, -2376[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2364[rbp]
	lea	rax, -2368[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2356[rbp]
	lea	rax, -2360[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2348[rbp]
	lea	rax, -2352[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -176[rbp]
	lea	rsi, -2340[rbp]
	lea	rax, -2344[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2352[rbp]
	mov	edx, DWORD PTR -2340[rbp]
	lea	rsi, -4799[rbp]
	lea	rax, -2336[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2360[rbp]
	mov	ecx, DWORD PTR -2348[rbp]
	movzx	eax, BYTE PTR -4799[rbp]
	movzx	edx, al
	lea	rsi, -4798[rbp]
	lea	rax, -2332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2368[rbp]
	mov	ecx, DWORD PTR -2356[rbp]
	movzx	eax, BYTE PTR -4798[rbp]
	movzx	edx, al
	lea	rsi, -4797[rbp]
	lea	rax, -2328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2376[rbp]
	mov	ecx, DWORD PTR -2364[rbp]
	movzx	eax, BYTE PTR -4797[rbp]
	movzx	edx, al
	lea	rsi, -4796[rbp]
	lea	rax, -2324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2384[rbp]
	mov	ecx, DWORD PTR -2372[rbp]
	movzx	eax, BYTE PTR -4796[rbp]
	movzx	edx, al
	lea	rsi, -4795[rbp]
	lea	rax, -2320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2392[rbp]
	mov	ecx, DWORD PTR -2380[rbp]
	movzx	eax, BYTE PTR -4795[rbp]
	movzx	edx, al
	lea	rsi, -4794[rbp]
	lea	rax, -2316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2400[rbp]
	mov	ecx, DWORD PTR -2388[rbp]
	movzx	eax, BYTE PTR -4794[rbp]
	movzx	edx, al
	lea	rsi, -4793[rbp]
	lea	rax, -2312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2408[rbp]
	mov	ecx, DWORD PTR -2396[rbp]
	movzx	eax, BYTE PTR -4793[rbp]
	movzx	edx, al
	lea	rsi, -4792[rbp]
	lea	rax, -2308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2416[rbp]
	mov	ecx, DWORD PTR -2404[rbp]
	movzx	eax, BYTE PTR -4792[rbp]
	movzx	edx, al
	lea	rsi, -4791[rbp]
	lea	rax, -2304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2424[rbp]
	mov	ecx, DWORD PTR -2412[rbp]
	movzx	eax, BYTE PTR -4791[rbp]
	movzx	edx, al
	lea	rsi, -4790[rbp]
	lea	rax, -2300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2432[rbp]
	mov	ecx, DWORD PTR -2420[rbp]
	movzx	eax, BYTE PTR -4790[rbp]
	movzx	edx, al
	lea	rsi, -4789[rbp]
	lea	rax, -2296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4789[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2428[rbp]
	add	eax, edx
	mov	DWORD PTR -80[rbp], eax
	mov	ecx, DWORD PTR -2344[rbp]
	mov	edx, DWORD PTR -2480[rbp]
	lea	rsi, -4788[rbp]
	lea	rax, -2292[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2336[rbp]
	mov	ecx, DWORD PTR -2476[rbp]
	movzx	eax, BYTE PTR -4788[rbp]
	movzx	edx, al
	lea	rsi, -4787[rbp]
	lea	rax, -2288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2332[rbp]
	mov	ecx, DWORD PTR -2472[rbp]
	movzx	eax, BYTE PTR -4787[rbp]
	movzx	edx, al
	lea	rsi, -4786[rbp]
	lea	rax, -2284[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2328[rbp]
	mov	ecx, DWORD PTR -2468[rbp]
	movzx	eax, BYTE PTR -4786[rbp]
	movzx	edx, al
	lea	rsi, -4785[rbp]
	lea	rax, -2280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2324[rbp]
	mov	ecx, DWORD PTR -2464[rbp]
	movzx	eax, BYTE PTR -4785[rbp]
	movzx	edx, al
	lea	rsi, -4784[rbp]
	lea	rax, -2276[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2320[rbp]
	mov	ecx, DWORD PTR -2460[rbp]
	movzx	eax, BYTE PTR -4784[rbp]
	movzx	edx, al
	lea	rsi, -4783[rbp]
	lea	rax, -2272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2316[rbp]
	mov	ecx, DWORD PTR -2456[rbp]
	movzx	eax, BYTE PTR -4783[rbp]
	movzx	edx, al
	lea	rsi, -4782[rbp]
	lea	rax, -2268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2312[rbp]
	mov	ecx, DWORD PTR -2452[rbp]
	movzx	eax, BYTE PTR -4782[rbp]
	movzx	edx, al
	lea	rsi, -4781[rbp]
	lea	rax, -2264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2308[rbp]
	mov	ecx, DWORD PTR -2448[rbp]
	movzx	eax, BYTE PTR -4781[rbp]
	movzx	edx, al
	lea	rsi, -4780[rbp]
	lea	rax, -2260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2304[rbp]
	mov	ecx, DWORD PTR -2444[rbp]
	movzx	eax, BYTE PTR -4780[rbp]
	movzx	edx, al
	lea	rsi, -4779[rbp]
	lea	rax, -2256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2300[rbp]
	mov	ecx, DWORD PTR -2440[rbp]
	movzx	eax, BYTE PTR -4779[rbp]
	movzx	edx, al
	lea	rsi, -4778[rbp]
	lea	rax, -2252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2296[rbp]
	mov	ecx, DWORD PTR -2436[rbp]
	movzx	eax, BYTE PTR -4778[rbp]
	movzx	edx, al
	lea	rsi, -4777[rbp]
	lea	rax, -2248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4777[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -80[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	lea	rsi, -4776[rbp]
	lea	rax, -2244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2236[rbp]
	lea	rax, -2240[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2228[rbp]
	lea	rax, -2232[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2220[rbp]
	lea	rax, -2224[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2212[rbp]
	lea	rax, -2216[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2204[rbp]
	lea	rax, -2208[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2196[rbp]
	lea	rax, -2200[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2188[rbp]
	lea	rax, -2192[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2180[rbp]
	lea	rax, -2184[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2172[rbp]
	lea	rax, -2176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -2164[rbp]
	lea	rax, -2168[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2184[rbp]
	mov	edx, DWORD PTR -2172[rbp]
	lea	rsi, -4775[rbp]
	lea	rax, -2160[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2192[rbp]
	mov	ecx, DWORD PTR -2180[rbp]
	movzx	eax, BYTE PTR -4775[rbp]
	movzx	edx, al
	lea	rsi, -4774[rbp]
	lea	rax, -2156[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2200[rbp]
	mov	ecx, DWORD PTR -2188[rbp]
	movzx	eax, BYTE PTR -4774[rbp]
	movzx	edx, al
	lea	rsi, -4773[rbp]
	lea	rax, -2152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2208[rbp]
	mov	ecx, DWORD PTR -2196[rbp]
	movzx	eax, BYTE PTR -4773[rbp]
	movzx	edx, al
	lea	rsi, -4772[rbp]
	lea	rax, -2148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2216[rbp]
	mov	ecx, DWORD PTR -2204[rbp]
	movzx	eax, BYTE PTR -4772[rbp]
	movzx	edx, al
	lea	rsi, -4771[rbp]
	lea	rax, -2144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2224[rbp]
	mov	ecx, DWORD PTR -2212[rbp]
	movzx	eax, BYTE PTR -4771[rbp]
	movzx	edx, al
	lea	rsi, -4770[rbp]
	lea	rax, -2140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2232[rbp]
	mov	ecx, DWORD PTR -2220[rbp]
	movzx	eax, BYTE PTR -4770[rbp]
	movzx	edx, al
	lea	rsi, -4769[rbp]
	lea	rax, -2136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2240[rbp]
	mov	ecx, DWORD PTR -2228[rbp]
	movzx	eax, BYTE PTR -4769[rbp]
	movzx	edx, al
	lea	rsi, -4768[rbp]
	lea	rax, -2132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4768[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2236[rbp]
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	mov	ecx, DWORD PTR -2168[rbp]
	mov	edx, DWORD PTR -2292[rbp]
	lea	rsi, -4767[rbp]
	lea	rax, -2128[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2164[rbp]
	mov	ecx, DWORD PTR -2288[rbp]
	movzx	eax, BYTE PTR -4767[rbp]
	movzx	edx, al
	lea	rsi, -4766[rbp]
	lea	rax, -2124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2284[rbp]
	movzx	eax, BYTE PTR -4766[rbp]
	movzx	edx, al
	lea	rsi, -4765[rbp]
	lea	rax, -2120[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2176[rbp]
	mov	ecx, DWORD PTR -2280[rbp]
	movzx	eax, BYTE PTR -4765[rbp]
	movzx	edx, al
	lea	rsi, -4764[rbp]
	lea	rax, -2116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2160[rbp]
	mov	ecx, DWORD PTR -2276[rbp]
	movzx	eax, BYTE PTR -4764[rbp]
	movzx	edx, al
	lea	rsi, -4763[rbp]
	lea	rax, -2112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2156[rbp]
	mov	ecx, DWORD PTR -2272[rbp]
	movzx	eax, BYTE PTR -4763[rbp]
	movzx	edx, al
	lea	rsi, -4762[rbp]
	lea	rax, -2108[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2152[rbp]
	mov	ecx, DWORD PTR -2268[rbp]
	movzx	eax, BYTE PTR -4762[rbp]
	movzx	edx, al
	lea	rsi, -4761[rbp]
	lea	rax, -2104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2148[rbp]
	mov	ecx, DWORD PTR -2264[rbp]
	movzx	eax, BYTE PTR -4761[rbp]
	movzx	edx, al
	lea	rsi, -4760[rbp]
	lea	rax, -2100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2144[rbp]
	mov	ecx, DWORD PTR -2260[rbp]
	movzx	eax, BYTE PTR -4760[rbp]
	movzx	edx, al
	lea	rsi, -4759[rbp]
	lea	rax, -2096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2140[rbp]
	mov	ecx, DWORD PTR -2256[rbp]
	movzx	eax, BYTE PTR -4759[rbp]
	movzx	edx, al
	lea	rsi, -4758[rbp]
	lea	rax, -2092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2136[rbp]
	mov	ecx, DWORD PTR -2252[rbp]
	movzx	eax, BYTE PTR -4758[rbp]
	movzx	edx, al
	lea	rsi, -4757[rbp]
	lea	rax, -2088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2132[rbp]
	mov	ecx, DWORD PTR -2248[rbp]
	movzx	eax, BYTE PTR -4757[rbp]
	movzx	edx, al
	lea	rsi, -4756[rbp]
	lea	rax, -2084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2244[rbp]
	movzx	eax, BYTE PTR -4756[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -76[rbp]
	lea	rsi, -4755[rbp]
	lea	rax, -2080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4755[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4776[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2072[rbp]
	lea	rax, -2076[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2064[rbp]
	lea	rax, -2068[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2056[rbp]
	lea	rax, -2060[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2048[rbp]
	lea	rax, -2052[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2040[rbp]
	lea	rax, -2044[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2032[rbp]
	lea	rax, -2036[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2024[rbp]
	lea	rax, -2028[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2016[rbp]
	lea	rax, -2020[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2008[rbp]
	lea	rax, -2012[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -2000[rbp]
	lea	rax, -2004[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -1992[rbp]
	lea	rax, -1996[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -172[rbp]
	lea	rsi, -1984[rbp]
	lea	rax, -1988[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1996[rbp]
	mov	edx, DWORD PTR -1984[rbp]
	lea	rsi, -4754[rbp]
	lea	rax, -1980[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2004[rbp]
	mov	ecx, DWORD PTR -1992[rbp]
	movzx	eax, BYTE PTR -4754[rbp]
	movzx	edx, al
	lea	rsi, -4753[rbp]
	lea	rax, -1976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2012[rbp]
	mov	ecx, DWORD PTR -2000[rbp]
	movzx	eax, BYTE PTR -4753[rbp]
	movzx	edx, al
	lea	rsi, -4752[rbp]
	lea	rax, -1972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2020[rbp]
	mov	ecx, DWORD PTR -2008[rbp]
	movzx	eax, BYTE PTR -4752[rbp]
	movzx	edx, al
	lea	rsi, -4751[rbp]
	lea	rax, -1968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2028[rbp]
	mov	ecx, DWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR -4751[rbp]
	movzx	edx, al
	lea	rsi, -4750[rbp]
	lea	rax, -1964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2036[rbp]
	mov	ecx, DWORD PTR -2024[rbp]
	movzx	eax, BYTE PTR -4750[rbp]
	movzx	edx, al
	lea	rsi, -4749[rbp]
	lea	rax, -1960[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2044[rbp]
	mov	ecx, DWORD PTR -2032[rbp]
	movzx	eax, BYTE PTR -4749[rbp]
	movzx	edx, al
	lea	rsi, -4748[rbp]
	lea	rax, -1956[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2052[rbp]
	mov	ecx, DWORD PTR -2040[rbp]
	movzx	eax, BYTE PTR -4748[rbp]
	movzx	edx, al
	lea	rsi, -4747[rbp]
	lea	rax, -1952[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2060[rbp]
	mov	ecx, DWORD PTR -2048[rbp]
	movzx	eax, BYTE PTR -4747[rbp]
	movzx	edx, al
	lea	rsi, -4746[rbp]
	lea	rax, -1948[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2068[rbp]
	mov	ecx, DWORD PTR -2056[rbp]
	movzx	eax, BYTE PTR -4746[rbp]
	movzx	edx, al
	lea	rsi, -4745[rbp]
	lea	rax, -1944[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2076[rbp]
	mov	ecx, DWORD PTR -2064[rbp]
	movzx	eax, BYTE PTR -4745[rbp]
	movzx	edx, al
	lea	rsi, -4744[rbp]
	lea	rax, -1940[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4744[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2072[rbp]
	add	eax, edx
	mov	DWORD PTR -68[rbp], eax
	mov	ecx, DWORD PTR -1988[rbp]
	mov	edx, DWORD PTR -2124[rbp]
	lea	rsi, -4743[rbp]
	lea	rax, -1936[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1980[rbp]
	mov	ecx, DWORD PTR -2120[rbp]
	movzx	eax, BYTE PTR -4743[rbp]
	movzx	edx, al
	lea	rsi, -4742[rbp]
	lea	rax, -1932[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1976[rbp]
	mov	ecx, DWORD PTR -2116[rbp]
	movzx	eax, BYTE PTR -4742[rbp]
	movzx	edx, al
	lea	rsi, -4741[rbp]
	lea	rax, -1928[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1972[rbp]
	mov	ecx, DWORD PTR -2112[rbp]
	movzx	eax, BYTE PTR -4741[rbp]
	movzx	edx, al
	lea	rsi, -4740[rbp]
	lea	rax, -1924[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1968[rbp]
	mov	ecx, DWORD PTR -2108[rbp]
	movzx	eax, BYTE PTR -4740[rbp]
	movzx	edx, al
	lea	rsi, -4739[rbp]
	lea	rax, -1920[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1964[rbp]
	mov	ecx, DWORD PTR -2104[rbp]
	movzx	eax, BYTE PTR -4739[rbp]
	movzx	edx, al
	lea	rsi, -4738[rbp]
	lea	rax, -1916[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1960[rbp]
	mov	ecx, DWORD PTR -2100[rbp]
	movzx	eax, BYTE PTR -4738[rbp]
	movzx	edx, al
	lea	rsi, -4737[rbp]
	lea	rax, -1912[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1956[rbp]
	mov	ecx, DWORD PTR -2096[rbp]
	movzx	eax, BYTE PTR -4737[rbp]
	movzx	edx, al
	lea	rsi, -4736[rbp]
	lea	rax, -1908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1952[rbp]
	mov	ecx, DWORD PTR -2092[rbp]
	movzx	eax, BYTE PTR -4736[rbp]
	movzx	edx, al
	lea	rsi, -4735[rbp]
	lea	rax, -1904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1948[rbp]
	mov	ecx, DWORD PTR -2088[rbp]
	movzx	eax, BYTE PTR -4735[rbp]
	movzx	edx, al
	lea	rsi, -4734[rbp]
	lea	rax, -1900[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1944[rbp]
	mov	ecx, DWORD PTR -2084[rbp]
	movzx	eax, BYTE PTR -4734[rbp]
	movzx	edx, al
	lea	rsi, -4733[rbp]
	lea	rax, -1896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1940[rbp]
	mov	ecx, DWORD PTR -2080[rbp]
	movzx	eax, BYTE PTR -4733[rbp]
	movzx	edx, al
	lea	rsi, -4732[rbp]
	lea	rax, -1892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4732[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -68[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	lea	rsi, -4731[rbp]
	lea	rax, -1888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1880[rbp]
	lea	rax, -1884[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1872[rbp]
	lea	rax, -1876[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1864[rbp]
	lea	rax, -1868[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1856[rbp]
	lea	rax, -1860[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1848[rbp]
	lea	rax, -1852[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1840[rbp]
	lea	rax, -1844[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1832[rbp]
	lea	rax, -1836[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1824[rbp]
	lea	rax, -1828[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1816[rbp]
	lea	rax, -1820[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -1808[rbp]
	lea	rax, -1812[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1828[rbp]
	mov	edx, DWORD PTR -1816[rbp]
	lea	rsi, -4730[rbp]
	lea	rax, -1804[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1836[rbp]
	mov	ecx, DWORD PTR -1824[rbp]
	movzx	eax, BYTE PTR -4730[rbp]
	movzx	edx, al
	lea	rsi, -4729[rbp]
	lea	rax, -1800[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1844[rbp]
	mov	ecx, DWORD PTR -1832[rbp]
	movzx	eax, BYTE PTR -4729[rbp]
	movzx	edx, al
	lea	rsi, -4728[rbp]
	lea	rax, -1796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1852[rbp]
	mov	ecx, DWORD PTR -1840[rbp]
	movzx	eax, BYTE PTR -4728[rbp]
	movzx	edx, al
	lea	rsi, -4727[rbp]
	lea	rax, -1792[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1860[rbp]
	mov	ecx, DWORD PTR -1848[rbp]
	movzx	eax, BYTE PTR -4727[rbp]
	movzx	edx, al
	lea	rsi, -4726[rbp]
	lea	rax, -1788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1868[rbp]
	mov	ecx, DWORD PTR -1856[rbp]
	movzx	eax, BYTE PTR -4726[rbp]
	movzx	edx, al
	lea	rsi, -4725[rbp]
	lea	rax, -1784[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1876[rbp]
	mov	ecx, DWORD PTR -1864[rbp]
	movzx	eax, BYTE PTR -4725[rbp]
	movzx	edx, al
	lea	rsi, -4724[rbp]
	lea	rax, -1780[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1884[rbp]
	mov	ecx, DWORD PTR -1872[rbp]
	movzx	eax, BYTE PTR -4724[rbp]
	movzx	edx, al
	lea	rsi, -4723[rbp]
	lea	rax, -1776[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4723[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1880[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	ecx, DWORD PTR -1812[rbp]
	mov	edx, DWORD PTR -1936[rbp]
	lea	rsi, -4722[rbp]
	lea	rax, -1772[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1808[rbp]
	mov	ecx, DWORD PTR -1932[rbp]
	movzx	eax, BYTE PTR -4722[rbp]
	movzx	edx, al
	lea	rsi, -4721[rbp]
	lea	rax, -1768[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1928[rbp]
	movzx	eax, BYTE PTR -4721[rbp]
	movzx	edx, al
	lea	rsi, -4720[rbp]
	lea	rax, -1764[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1820[rbp]
	mov	ecx, DWORD PTR -1924[rbp]
	movzx	eax, BYTE PTR -4720[rbp]
	movzx	edx, al
	lea	rsi, -4719[rbp]
	lea	rax, -1760[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1804[rbp]
	mov	ecx, DWORD PTR -1920[rbp]
	movzx	eax, BYTE PTR -4719[rbp]
	movzx	edx, al
	lea	rsi, -4718[rbp]
	lea	rax, -1756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1800[rbp]
	mov	ecx, DWORD PTR -1916[rbp]
	movzx	eax, BYTE PTR -4718[rbp]
	movzx	edx, al
	lea	rsi, -4717[rbp]
	lea	rax, -1752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1796[rbp]
	mov	ecx, DWORD PTR -1912[rbp]
	movzx	eax, BYTE PTR -4717[rbp]
	movzx	edx, al
	lea	rsi, -4716[rbp]
	lea	rax, -1748[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1792[rbp]
	mov	ecx, DWORD PTR -1908[rbp]
	movzx	eax, BYTE PTR -4716[rbp]
	movzx	edx, al
	lea	rsi, -4715[rbp]
	lea	rax, -1744[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1788[rbp]
	mov	ecx, DWORD PTR -1904[rbp]
	movzx	eax, BYTE PTR -4715[rbp]
	movzx	edx, al
	lea	rsi, -4714[rbp]
	lea	rax, -1740[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1784[rbp]
	mov	ecx, DWORD PTR -1900[rbp]
	movzx	eax, BYTE PTR -4714[rbp]
	movzx	edx, al
	lea	rsi, -4713[rbp]
	lea	rax, -1736[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1780[rbp]
	mov	ecx, DWORD PTR -1896[rbp]
	movzx	eax, BYTE PTR -4713[rbp]
	movzx	edx, al
	lea	rsi, -4712[rbp]
	lea	rax, -1732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1776[rbp]
	mov	ecx, DWORD PTR -1892[rbp]
	movzx	eax, BYTE PTR -4712[rbp]
	movzx	edx, al
	lea	rsi, -4711[rbp]
	lea	rax, -1728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1888[rbp]
	movzx	eax, BYTE PTR -4711[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -64[rbp]
	lea	rsi, -4710[rbp]
	lea	rax, -1724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4710[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4731[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1716[rbp]
	lea	rax, -1720[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1708[rbp]
	lea	rax, -1712[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1700[rbp]
	lea	rax, -1704[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1692[rbp]
	lea	rax, -1696[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1684[rbp]
	lea	rax, -1688[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1676[rbp]
	lea	rax, -1680[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1668[rbp]
	lea	rax, -1672[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1660[rbp]
	lea	rax, -1664[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1652[rbp]
	lea	rax, -1656[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1644[rbp]
	lea	rax, -1648[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1636[rbp]
	lea	rax, -1640[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -168[rbp]
	lea	rsi, -1628[rbp]
	lea	rax, -1632[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1640[rbp]
	mov	edx, DWORD PTR -1628[rbp]
	lea	rsi, -4709[rbp]
	lea	rax, -1624[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1648[rbp]
	mov	ecx, DWORD PTR -1636[rbp]
	movzx	eax, BYTE PTR -4709[rbp]
	movzx	edx, al
	lea	rsi, -4708[rbp]
	lea	rax, -1620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1656[rbp]
	mov	ecx, DWORD PTR -1644[rbp]
	movzx	eax, BYTE PTR -4708[rbp]
	movzx	edx, al
	lea	rsi, -4707[rbp]
	lea	rax, -1616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1664[rbp]
	mov	ecx, DWORD PTR -1652[rbp]
	movzx	eax, BYTE PTR -4707[rbp]
	movzx	edx, al
	lea	rsi, -4706[rbp]
	lea	rax, -1612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1672[rbp]
	mov	ecx, DWORD PTR -1660[rbp]
	movzx	eax, BYTE PTR -4706[rbp]
	movzx	edx, al
	lea	rsi, -4705[rbp]
	lea	rax, -1608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1680[rbp]
	mov	ecx, DWORD PTR -1668[rbp]
	movzx	eax, BYTE PTR -4705[rbp]
	movzx	edx, al
	lea	rsi, -4704[rbp]
	lea	rax, -1604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1688[rbp]
	mov	ecx, DWORD PTR -1676[rbp]
	movzx	eax, BYTE PTR -4704[rbp]
	movzx	edx, al
	lea	rsi, -4703[rbp]
	lea	rax, -1600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1696[rbp]
	mov	ecx, DWORD PTR -1684[rbp]
	movzx	eax, BYTE PTR -4703[rbp]
	movzx	edx, al
	lea	rsi, -4702[rbp]
	lea	rax, -1596[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1704[rbp]
	mov	ecx, DWORD PTR -1692[rbp]
	movzx	eax, BYTE PTR -4702[rbp]
	movzx	edx, al
	lea	rsi, -4701[rbp]
	lea	rax, -1592[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1712[rbp]
	mov	ecx, DWORD PTR -1700[rbp]
	movzx	eax, BYTE PTR -4701[rbp]
	movzx	edx, al
	lea	rsi, -4700[rbp]
	lea	rax, -1588[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1720[rbp]
	mov	ecx, DWORD PTR -1708[rbp]
	movzx	eax, BYTE PTR -4700[rbp]
	movzx	edx, al
	lea	rsi, -4699[rbp]
	lea	rax, -1584[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4699[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1716[rbp]
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	mov	ecx, DWORD PTR -1632[rbp]
	mov	edx, DWORD PTR -1768[rbp]
	lea	rsi, -4698[rbp]
	lea	rax, -1580[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1624[rbp]
	mov	ecx, DWORD PTR -1764[rbp]
	movzx	eax, BYTE PTR -4698[rbp]
	movzx	edx, al
	lea	rsi, -4697[rbp]
	lea	rax, -1576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1620[rbp]
	mov	ecx, DWORD PTR -1760[rbp]
	movzx	eax, BYTE PTR -4697[rbp]
	movzx	edx, al
	lea	rsi, -4696[rbp]
	lea	rax, -1572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1616[rbp]
	mov	ecx, DWORD PTR -1756[rbp]
	movzx	eax, BYTE PTR -4696[rbp]
	movzx	edx, al
	lea	rsi, -4695[rbp]
	lea	rax, -1568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1612[rbp]
	mov	ecx, DWORD PTR -1752[rbp]
	movzx	eax, BYTE PTR -4695[rbp]
	movzx	edx, al
	lea	rsi, -4694[rbp]
	lea	rax, -1564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1608[rbp]
	mov	ecx, DWORD PTR -1748[rbp]
	movzx	eax, BYTE PTR -4694[rbp]
	movzx	edx, al
	lea	rsi, -4693[rbp]
	lea	rax, -1560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1604[rbp]
	mov	ecx, DWORD PTR -1744[rbp]
	movzx	eax, BYTE PTR -4693[rbp]
	movzx	edx, al
	lea	rsi, -4692[rbp]
	lea	rax, -1556[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1600[rbp]
	mov	ecx, DWORD PTR -1740[rbp]
	movzx	eax, BYTE PTR -4692[rbp]
	movzx	edx, al
	lea	rsi, -4691[rbp]
	lea	rax, -1552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1596[rbp]
	mov	ecx, DWORD PTR -1736[rbp]
	movzx	eax, BYTE PTR -4691[rbp]
	movzx	edx, al
	lea	rsi, -4690[rbp]
	lea	rax, -1548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1592[rbp]
	mov	ecx, DWORD PTR -1732[rbp]
	movzx	eax, BYTE PTR -4690[rbp]
	movzx	edx, al
	lea	rsi, -4689[rbp]
	lea	rax, -1544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1588[rbp]
	mov	ecx, DWORD PTR -1728[rbp]
	movzx	eax, BYTE PTR -4689[rbp]
	movzx	edx, al
	lea	rsi, -4688[rbp]
	lea	rax, -1540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1584[rbp]
	mov	ecx, DWORD PTR -1724[rbp]
	movzx	eax, BYTE PTR -4688[rbp]
	movzx	edx, al
	lea	rsi, -4687[rbp]
	lea	rax, -1536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4687[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -60[rbp]
	lea	rsi, -4686[rbp]
	lea	rax, -1532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1524[rbp]
	lea	rax, -1528[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1516[rbp]
	lea	rax, -1520[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1508[rbp]
	lea	rax, -1512[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1500[rbp]
	lea	rax, -1504[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1492[rbp]
	lea	rax, -1496[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1484[rbp]
	lea	rax, -1488[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1476[rbp]
	lea	rax, -1480[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1468[rbp]
	lea	rax, -1472[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1460[rbp]
	lea	rax, -1464[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -1452[rbp]
	lea	rax, -1456[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1472[rbp]
	mov	edx, DWORD PTR -1460[rbp]
	lea	rsi, -4685[rbp]
	lea	rax, -1448[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1480[rbp]
	mov	ecx, DWORD PTR -1468[rbp]
	movzx	eax, BYTE PTR -4685[rbp]
	movzx	edx, al
	lea	rsi, -4684[rbp]
	lea	rax, -1444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1488[rbp]
	mov	ecx, DWORD PTR -1476[rbp]
	movzx	eax, BYTE PTR -4684[rbp]
	movzx	edx, al
	lea	rsi, -4683[rbp]
	lea	rax, -1440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1496[rbp]
	mov	ecx, DWORD PTR -1484[rbp]
	movzx	eax, BYTE PTR -4683[rbp]
	movzx	edx, al
	lea	rsi, -4682[rbp]
	lea	rax, -1436[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1504[rbp]
	mov	ecx, DWORD PTR -1492[rbp]
	movzx	eax, BYTE PTR -4682[rbp]
	movzx	edx, al
	lea	rsi, -4681[rbp]
	lea	rax, -1432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1512[rbp]
	mov	ecx, DWORD PTR -1500[rbp]
	movzx	eax, BYTE PTR -4681[rbp]
	movzx	edx, al
	lea	rsi, -4680[rbp]
	lea	rax, -1428[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1520[rbp]
	mov	ecx, DWORD PTR -1508[rbp]
	movzx	eax, BYTE PTR -4680[rbp]
	movzx	edx, al
	lea	rsi, -4679[rbp]
	lea	rax, -1424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1528[rbp]
	mov	ecx, DWORD PTR -1516[rbp]
	movzx	eax, BYTE PTR -4679[rbp]
	movzx	edx, al
	lea	rsi, -4678[rbp]
	lea	rax, -1420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4678[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1524[rbp]
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	mov	ecx, DWORD PTR -1456[rbp]
	mov	edx, DWORD PTR -1580[rbp]
	lea	rsi, -4677[rbp]
	lea	rax, -1416[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1452[rbp]
	mov	ecx, DWORD PTR -1576[rbp]
	movzx	eax, BYTE PTR -4677[rbp]
	movzx	edx, al
	lea	rsi, -4676[rbp]
	lea	rax, -1412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1572[rbp]
	movzx	eax, BYTE PTR -4676[rbp]
	movzx	edx, al
	lea	rsi, -4675[rbp]
	lea	rax, -1408[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1464[rbp]
	mov	ecx, DWORD PTR -1568[rbp]
	movzx	eax, BYTE PTR -4675[rbp]
	movzx	edx, al
	lea	rsi, -4674[rbp]
	lea	rax, -1404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1448[rbp]
	mov	ecx, DWORD PTR -1564[rbp]
	movzx	eax, BYTE PTR -4674[rbp]
	movzx	edx, al
	lea	rsi, -4673[rbp]
	lea	rax, -1400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1444[rbp]
	mov	ecx, DWORD PTR -1560[rbp]
	movzx	eax, BYTE PTR -4673[rbp]
	movzx	edx, al
	lea	rsi, -4672[rbp]
	lea	rax, -1396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1440[rbp]
	mov	ecx, DWORD PTR -1556[rbp]
	movzx	eax, BYTE PTR -4672[rbp]
	movzx	edx, al
	lea	rsi, -4671[rbp]
	lea	rax, -1392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1436[rbp]
	mov	ecx, DWORD PTR -1552[rbp]
	movzx	eax, BYTE PTR -4671[rbp]
	movzx	edx, al
	lea	rsi, -4670[rbp]
	lea	rax, -1388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1432[rbp]
	mov	ecx, DWORD PTR -1548[rbp]
	movzx	eax, BYTE PTR -4670[rbp]
	movzx	edx, al
	lea	rsi, -4669[rbp]
	lea	rax, -1384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1428[rbp]
	mov	ecx, DWORD PTR -1544[rbp]
	movzx	eax, BYTE PTR -4669[rbp]
	movzx	edx, al
	lea	rsi, -4668[rbp]
	lea	rax, -1380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1424[rbp]
	mov	ecx, DWORD PTR -1540[rbp]
	movzx	eax, BYTE PTR -4668[rbp]
	movzx	edx, al
	lea	rsi, -4667[rbp]
	lea	rax, -1376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1420[rbp]
	mov	ecx, DWORD PTR -1536[rbp]
	movzx	eax, BYTE PTR -4667[rbp]
	movzx	edx, al
	lea	rsi, -4666[rbp]
	lea	rax, -1372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1532[rbp]
	movzx	eax, BYTE PTR -4666[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -52[rbp]
	lea	rsi, -4665[rbp]
	lea	rax, -1368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4665[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4686[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1360[rbp]
	lea	rax, -1364[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1352[rbp]
	lea	rax, -1356[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1344[rbp]
	lea	rax, -1348[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1336[rbp]
	lea	rax, -1340[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1328[rbp]
	lea	rax, -1332[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1320[rbp]
	lea	rax, -1324[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1312[rbp]
	lea	rax, -1316[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1304[rbp]
	lea	rax, -1308[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1296[rbp]
	lea	rax, -1300[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1288[rbp]
	lea	rax, -1292[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1280[rbp]
	lea	rax, -1284[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -164[rbp]
	lea	rsi, -1272[rbp]
	lea	rax, -1276[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1284[rbp]
	mov	edx, DWORD PTR -1272[rbp]
	lea	rsi, -4664[rbp]
	lea	rax, -1268[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1292[rbp]
	mov	ecx, DWORD PTR -1280[rbp]
	movzx	eax, BYTE PTR -4664[rbp]
	movzx	edx, al
	lea	rsi, -4663[rbp]
	lea	rax, -1264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1300[rbp]
	mov	ecx, DWORD PTR -1288[rbp]
	movzx	eax, BYTE PTR -4663[rbp]
	movzx	edx, al
	lea	rsi, -4662[rbp]
	lea	rax, -1260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1308[rbp]
	mov	ecx, DWORD PTR -1296[rbp]
	movzx	eax, BYTE PTR -4662[rbp]
	movzx	edx, al
	lea	rsi, -4661[rbp]
	lea	rax, -1256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1316[rbp]
	mov	ecx, DWORD PTR -1304[rbp]
	movzx	eax, BYTE PTR -4661[rbp]
	movzx	edx, al
	lea	rsi, -4660[rbp]
	lea	rax, -1252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1324[rbp]
	mov	ecx, DWORD PTR -1312[rbp]
	movzx	eax, BYTE PTR -4660[rbp]
	movzx	edx, al
	lea	rsi, -4659[rbp]
	lea	rax, -1248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1332[rbp]
	mov	ecx, DWORD PTR -1320[rbp]
	movzx	eax, BYTE PTR -4659[rbp]
	movzx	edx, al
	lea	rsi, -4658[rbp]
	lea	rax, -1244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1340[rbp]
	mov	ecx, DWORD PTR -1328[rbp]
	movzx	eax, BYTE PTR -4658[rbp]
	movzx	edx, al
	lea	rsi, -4657[rbp]
	lea	rax, -1240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1348[rbp]
	mov	ecx, DWORD PTR -1336[rbp]
	movzx	eax, BYTE PTR -4657[rbp]
	movzx	edx, al
	lea	rsi, -4656[rbp]
	lea	rax, -1236[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1356[rbp]
	mov	ecx, DWORD PTR -1344[rbp]
	movzx	eax, BYTE PTR -4656[rbp]
	movzx	edx, al
	lea	rsi, -4655[rbp]
	lea	rax, -1232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1364[rbp]
	mov	ecx, DWORD PTR -1352[rbp]
	movzx	eax, BYTE PTR -4655[rbp]
	movzx	edx, al
	lea	rsi, -4654[rbp]
	lea	rax, -1228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4654[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1360[rbp]
	add	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	ecx, DWORD PTR -1276[rbp]
	mov	edx, DWORD PTR -1412[rbp]
	lea	rsi, -4653[rbp]
	lea	rax, -1224[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1268[rbp]
	mov	ecx, DWORD PTR -1408[rbp]
	movzx	eax, BYTE PTR -4653[rbp]
	movzx	edx, al
	lea	rsi, -4652[rbp]
	lea	rax, -1220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1264[rbp]
	mov	ecx, DWORD PTR -1404[rbp]
	movzx	eax, BYTE PTR -4652[rbp]
	movzx	edx, al
	lea	rsi, -4651[rbp]
	lea	rax, -1216[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1260[rbp]
	mov	ecx, DWORD PTR -1400[rbp]
	movzx	eax, BYTE PTR -4651[rbp]
	movzx	edx, al
	lea	rsi, -4650[rbp]
	lea	rax, -1212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1256[rbp]
	mov	ecx, DWORD PTR -1396[rbp]
	movzx	eax, BYTE PTR -4650[rbp]
	movzx	edx, al
	lea	rsi, -4649[rbp]
	lea	rax, -1208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1252[rbp]
	mov	ecx, DWORD PTR -1392[rbp]
	movzx	eax, BYTE PTR -4649[rbp]
	movzx	edx, al
	lea	rsi, -4648[rbp]
	lea	rax, -1204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1248[rbp]
	mov	ecx, DWORD PTR -1388[rbp]
	movzx	eax, BYTE PTR -4648[rbp]
	movzx	edx, al
	lea	rsi, -4647[rbp]
	lea	rax, -1200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1244[rbp]
	mov	ecx, DWORD PTR -1384[rbp]
	movzx	eax, BYTE PTR -4647[rbp]
	movzx	edx, al
	lea	rsi, -4646[rbp]
	lea	rax, -1196[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1380[rbp]
	movzx	eax, BYTE PTR -4646[rbp]
	movzx	edx, al
	lea	rsi, -4645[rbp]
	lea	rax, -1192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1236[rbp]
	mov	ecx, DWORD PTR -1376[rbp]
	movzx	eax, BYTE PTR -4645[rbp]
	movzx	edx, al
	lea	rsi, -4644[rbp]
	lea	rax, -1188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1232[rbp]
	mov	ecx, DWORD PTR -1372[rbp]
	movzx	eax, BYTE PTR -4644[rbp]
	movzx	edx, al
	lea	rsi, -4643[rbp]
	lea	rax, -1184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1228[rbp]
	mov	ecx, DWORD PTR -1368[rbp]
	movzx	eax, BYTE PTR -4643[rbp]
	movzx	edx, al
	lea	rsi, -4642[rbp]
	lea	rax, -1180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4642[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	lea	rsi, -4641[rbp]
	lea	rax, -1176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1168[rbp]
	lea	rax, -1172[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1160[rbp]
	lea	rax, -1164[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1152[rbp]
	lea	rax, -1156[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1144[rbp]
	lea	rax, -1148[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1136[rbp]
	lea	rax, -1140[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1128[rbp]
	lea	rax, -1132[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1120[rbp]
	lea	rax, -1124[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1112[rbp]
	lea	rax, -1116[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1104[rbp]
	lea	rax, -1108[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -1096[rbp]
	lea	rax, -1100[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1116[rbp]
	mov	edx, DWORD PTR -1104[rbp]
	lea	rsi, -4640[rbp]
	lea	rax, -1092[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1124[rbp]
	mov	ecx, DWORD PTR -1112[rbp]
	movzx	eax, BYTE PTR -4640[rbp]
	movzx	edx, al
	lea	rsi, -4639[rbp]
	lea	rax, -1088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1132[rbp]
	mov	ecx, DWORD PTR -1120[rbp]
	movzx	eax, BYTE PTR -4639[rbp]
	movzx	edx, al
	lea	rsi, -4638[rbp]
	lea	rax, -1084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1140[rbp]
	mov	ecx, DWORD PTR -1128[rbp]
	movzx	eax, BYTE PTR -4638[rbp]
	movzx	edx, al
	lea	rsi, -4637[rbp]
	lea	rax, -1080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1148[rbp]
	mov	ecx, DWORD PTR -1136[rbp]
	movzx	eax, BYTE PTR -4637[rbp]
	movzx	edx, al
	lea	rsi, -4636[rbp]
	lea	rax, -1076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1156[rbp]
	mov	ecx, DWORD PTR -1144[rbp]
	movzx	eax, BYTE PTR -4636[rbp]
	movzx	edx, al
	lea	rsi, -4635[rbp]
	lea	rax, -1072[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1164[rbp]
	mov	ecx, DWORD PTR -1152[rbp]
	movzx	eax, BYTE PTR -4635[rbp]
	movzx	edx, al
	lea	rsi, -4634[rbp]
	lea	rax, -1068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1172[rbp]
	mov	ecx, DWORD PTR -1160[rbp]
	movzx	eax, BYTE PTR -4634[rbp]
	movzx	edx, al
	lea	rsi, -4633[rbp]
	lea	rax, -1064[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4633[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1168[rbp]
	add	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	ecx, DWORD PTR -1100[rbp]
	mov	edx, DWORD PTR -1224[rbp]
	lea	rsi, -4632[rbp]
	lea	rax, -1060[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1096[rbp]
	mov	ecx, DWORD PTR -1220[rbp]
	movzx	eax, BYTE PTR -4632[rbp]
	movzx	edx, al
	lea	rsi, -4631[rbp]
	lea	rax, -1056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1216[rbp]
	movzx	eax, BYTE PTR -4631[rbp]
	movzx	edx, al
	lea	rsi, -4630[rbp]
	lea	rax, -1052[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1108[rbp]
	mov	ecx, DWORD PTR -1212[rbp]
	movzx	eax, BYTE PTR -4630[rbp]
	movzx	edx, al
	lea	rsi, -4629[rbp]
	lea	rax, -1048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1092[rbp]
	mov	ecx, DWORD PTR -1208[rbp]
	movzx	eax, BYTE PTR -4629[rbp]
	movzx	edx, al
	lea	rsi, -4628[rbp]
	lea	rax, -1044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1088[rbp]
	mov	ecx, DWORD PTR -1204[rbp]
	movzx	eax, BYTE PTR -4628[rbp]
	movzx	edx, al
	lea	rsi, -4627[rbp]
	lea	rax, -1040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1084[rbp]
	mov	ecx, DWORD PTR -1200[rbp]
	movzx	eax, BYTE PTR -4627[rbp]
	movzx	edx, al
	lea	rsi, -4626[rbp]
	lea	rax, -1036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1080[rbp]
	mov	ecx, DWORD PTR -1196[rbp]
	movzx	eax, BYTE PTR -4626[rbp]
	movzx	edx, al
	lea	rsi, -4625[rbp]
	lea	rax, -1032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1076[rbp]
	mov	ecx, DWORD PTR -1192[rbp]
	movzx	eax, BYTE PTR -4625[rbp]
	movzx	edx, al
	lea	rsi, -4624[rbp]
	lea	rax, -1028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1072[rbp]
	mov	ecx, DWORD PTR -1188[rbp]
	movzx	eax, BYTE PTR -4624[rbp]
	movzx	edx, al
	lea	rsi, -4623[rbp]
	lea	rax, -1024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1068[rbp]
	mov	ecx, DWORD PTR -1184[rbp]
	movzx	eax, BYTE PTR -4623[rbp]
	movzx	edx, al
	lea	rsi, -4622[rbp]
	lea	rax, -1020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1064[rbp]
	mov	ecx, DWORD PTR -1180[rbp]
	movzx	eax, BYTE PTR -4622[rbp]
	movzx	edx, al
	lea	rsi, -4621[rbp]
	lea	rax, -1016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1176[rbp]
	movzx	eax, BYTE PTR -4621[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -40[rbp]
	lea	rsi, -4620[rbp]
	lea	rax, -1012[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4620[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4641[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -1004[rbp]
	lea	rax, -1008[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -996[rbp]
	lea	rax, -1000[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -988[rbp]
	lea	rax, -992[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -980[rbp]
	lea	rax, -984[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -972[rbp]
	lea	rax, -976[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -964[rbp]
	lea	rax, -968[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -956[rbp]
	lea	rax, -960[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -948[rbp]
	lea	rax, -952[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -940[rbp]
	lea	rax, -944[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -932[rbp]
	lea	rax, -936[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -924[rbp]
	lea	rax, -928[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -916[rbp]
	lea	rax, -920[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -928[rbp]
	mov	edx, DWORD PTR -916[rbp]
	lea	rsi, -4619[rbp]
	lea	rax, -912[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -936[rbp]
	mov	ecx, DWORD PTR -924[rbp]
	movzx	eax, BYTE PTR -4619[rbp]
	movzx	edx, al
	lea	rsi, -4618[rbp]
	lea	rax, -908[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -944[rbp]
	mov	ecx, DWORD PTR -932[rbp]
	movzx	eax, BYTE PTR -4618[rbp]
	movzx	edx, al
	lea	rsi, -4617[rbp]
	lea	rax, -904[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -952[rbp]
	mov	ecx, DWORD PTR -940[rbp]
	movzx	eax, BYTE PTR -4617[rbp]
	movzx	edx, al
	lea	rsi, -4616[rbp]
	lea	rax, -900[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -960[rbp]
	mov	ecx, DWORD PTR -948[rbp]
	movzx	eax, BYTE PTR -4616[rbp]
	movzx	edx, al
	lea	rsi, -4615[rbp]
	lea	rax, -896[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -968[rbp]
	mov	ecx, DWORD PTR -956[rbp]
	movzx	eax, BYTE PTR -4615[rbp]
	movzx	edx, al
	lea	rsi, -4614[rbp]
	lea	rax, -892[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -976[rbp]
	mov	ecx, DWORD PTR -964[rbp]
	movzx	eax, BYTE PTR -4614[rbp]
	movzx	edx, al
	lea	rsi, -4613[rbp]
	lea	rax, -888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -984[rbp]
	mov	ecx, DWORD PTR -972[rbp]
	movzx	eax, BYTE PTR -4613[rbp]
	movzx	edx, al
	lea	rsi, -4612[rbp]
	lea	rax, -884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -992[rbp]
	mov	ecx, DWORD PTR -980[rbp]
	movzx	eax, BYTE PTR -4612[rbp]
	movzx	edx, al
	lea	rsi, -4611[rbp]
	lea	rax, -880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1000[rbp]
	mov	ecx, DWORD PTR -988[rbp]
	movzx	eax, BYTE PTR -4611[rbp]
	movzx	edx, al
	lea	rsi, -4610[rbp]
	lea	rax, -876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1008[rbp]
	mov	ecx, DWORD PTR -996[rbp]
	movzx	eax, BYTE PTR -4610[rbp]
	movzx	edx, al
	lea	rsi, -4609[rbp]
	lea	rax, -872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4609[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1004[rbp]
	add	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	ecx, DWORD PTR -920[rbp]
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -4608[rbp]
	lea	rax, -868[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -912[rbp]
	mov	ecx, DWORD PTR -1052[rbp]
	movzx	eax, BYTE PTR -4608[rbp]
	movzx	edx, al
	lea	rsi, -4607[rbp]
	lea	rax, -864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -908[rbp]
	mov	ecx, DWORD PTR -1048[rbp]
	movzx	eax, BYTE PTR -4607[rbp]
	movzx	edx, al
	lea	rsi, -4606[rbp]
	lea	rax, -860[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -904[rbp]
	mov	ecx, DWORD PTR -1044[rbp]
	movzx	eax, BYTE PTR -4606[rbp]
	movzx	edx, al
	lea	rsi, -4605[rbp]
	lea	rax, -856[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -900[rbp]
	mov	ecx, DWORD PTR -1040[rbp]
	movzx	eax, BYTE PTR -4605[rbp]
	movzx	edx, al
	lea	rsi, -4604[rbp]
	lea	rax, -852[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -896[rbp]
	mov	ecx, DWORD PTR -1036[rbp]
	movzx	eax, BYTE PTR -4604[rbp]
	movzx	edx, al
	lea	rsi, -4603[rbp]
	lea	rax, -848[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -892[rbp]
	mov	ecx, DWORD PTR -1032[rbp]
	movzx	eax, BYTE PTR -4603[rbp]
	movzx	edx, al
	lea	rsi, -4602[rbp]
	lea	rax, -844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -888[rbp]
	mov	ecx, DWORD PTR -1028[rbp]
	movzx	eax, BYTE PTR -4602[rbp]
	movzx	edx, al
	lea	rsi, -4601[rbp]
	lea	rax, -840[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -884[rbp]
	mov	ecx, DWORD PTR -1024[rbp]
	movzx	eax, BYTE PTR -4601[rbp]
	movzx	edx, al
	lea	rsi, -4600[rbp]
	lea	rax, -836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -880[rbp]
	mov	ecx, DWORD PTR -1020[rbp]
	movzx	eax, BYTE PTR -4600[rbp]
	movzx	edx, al
	lea	rsi, -4599[rbp]
	lea	rax, -832[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -876[rbp]
	mov	ecx, DWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR -4599[rbp]
	movzx	edx, al
	lea	rsi, -4598[rbp]
	lea	rax, -828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -872[rbp]
	mov	ecx, DWORD PTR -1012[rbp]
	movzx	eax, BYTE PTR -4598[rbp]
	movzx	edx, al
	lea	rsi, -4597[rbp]
	lea	rax, -824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4597[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	lea	rsi, -4596[rbp]
	lea	rax, -820[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -812[rbp]
	lea	rax, -816[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -804[rbp]
	lea	rax, -808[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -796[rbp]
	lea	rax, -800[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -788[rbp]
	lea	rax, -792[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -780[rbp]
	lea	rax, -784[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -772[rbp]
	lea	rax, -776[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -764[rbp]
	lea	rax, -768[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -756[rbp]
	lea	rax, -760[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -748[rbp]
	lea	rax, -752[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -740[rbp]
	lea	rax, -744[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -760[rbp]
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -4595[rbp]
	lea	rax, -736[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -768[rbp]
	mov	ecx, DWORD PTR -756[rbp]
	movzx	eax, BYTE PTR -4595[rbp]
	movzx	edx, al
	lea	rsi, -4594[rbp]
	lea	rax, -732[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -776[rbp]
	mov	ecx, DWORD PTR -764[rbp]
	movzx	eax, BYTE PTR -4594[rbp]
	movzx	edx, al
	lea	rsi, -4593[rbp]
	lea	rax, -728[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -784[rbp]
	mov	ecx, DWORD PTR -772[rbp]
	movzx	eax, BYTE PTR -4593[rbp]
	movzx	edx, al
	lea	rsi, -4592[rbp]
	lea	rax, -724[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -792[rbp]
	mov	ecx, DWORD PTR -780[rbp]
	movzx	eax, BYTE PTR -4592[rbp]
	movzx	edx, al
	lea	rsi, -4591[rbp]
	lea	rax, -720[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -800[rbp]
	mov	ecx, DWORD PTR -788[rbp]
	movzx	eax, BYTE PTR -4591[rbp]
	movzx	edx, al
	lea	rsi, -4590[rbp]
	lea	rax, -716[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -808[rbp]
	mov	ecx, DWORD PTR -796[rbp]
	movzx	eax, BYTE PTR -4590[rbp]
	movzx	edx, al
	lea	rsi, -4589[rbp]
	lea	rax, -712[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -816[rbp]
	mov	ecx, DWORD PTR -804[rbp]
	movzx	eax, BYTE PTR -4589[rbp]
	movzx	edx, al
	lea	rsi, -4588[rbp]
	lea	rax, -708[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4588[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -812[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	ecx, DWORD PTR -744[rbp]
	mov	edx, DWORD PTR -868[rbp]
	lea	rsi, -4587[rbp]
	lea	rax, -704[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -740[rbp]
	mov	ecx, DWORD PTR -864[rbp]
	movzx	eax, BYTE PTR -4587[rbp]
	movzx	edx, al
	lea	rsi, -4586[rbp]
	lea	rax, -700[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -860[rbp]
	movzx	eax, BYTE PTR -4586[rbp]
	movzx	edx, al
	lea	rsi, -4585[rbp]
	lea	rax, -696[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -752[rbp]
	mov	ecx, DWORD PTR -856[rbp]
	movzx	eax, BYTE PTR -4585[rbp]
	movzx	edx, al
	lea	rsi, -4584[rbp]
	lea	rax, -692[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -736[rbp]
	mov	ecx, DWORD PTR -852[rbp]
	movzx	eax, BYTE PTR -4584[rbp]
	movzx	edx, al
	lea	rsi, -4583[rbp]
	lea	rax, -688[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -732[rbp]
	mov	ecx, DWORD PTR -848[rbp]
	movzx	eax, BYTE PTR -4583[rbp]
	movzx	edx, al
	lea	rsi, -4582[rbp]
	lea	rax, -684[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -728[rbp]
	mov	ecx, DWORD PTR -844[rbp]
	movzx	eax, BYTE PTR -4582[rbp]
	movzx	edx, al
	lea	rsi, -4581[rbp]
	lea	rax, -680[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -724[rbp]
	mov	ecx, DWORD PTR -840[rbp]
	movzx	eax, BYTE PTR -4581[rbp]
	movzx	edx, al
	lea	rsi, -4580[rbp]
	lea	rax, -676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -720[rbp]
	mov	ecx, DWORD PTR -836[rbp]
	movzx	eax, BYTE PTR -4580[rbp]
	movzx	edx, al
	lea	rsi, -4579[rbp]
	lea	rax, -672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -716[rbp]
	mov	ecx, DWORD PTR -832[rbp]
	movzx	eax, BYTE PTR -4579[rbp]
	movzx	edx, al
	lea	rsi, -4578[rbp]
	lea	rax, -668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -712[rbp]
	mov	ecx, DWORD PTR -828[rbp]
	movzx	eax, BYTE PTR -4578[rbp]
	movzx	edx, al
	lea	rsi, -4577[rbp]
	lea	rax, -664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -708[rbp]
	mov	ecx, DWORD PTR -824[rbp]
	movzx	eax, BYTE PTR -4577[rbp]
	movzx	edx, al
	lea	rsi, -4576[rbp]
	lea	rax, -660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -820[rbp]
	movzx	eax, BYTE PTR -4576[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -28[rbp]
	lea	rsi, -4575[rbp]
	lea	rax, -656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4575[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4596[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -648[rbp]
	lea	rax, -652[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -640[rbp]
	lea	rax, -644[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -632[rbp]
	lea	rax, -636[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -624[rbp]
	lea	rax, -628[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -616[rbp]
	lea	rax, -620[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -608[rbp]
	lea	rax, -612[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -600[rbp]
	lea	rax, -604[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -592[rbp]
	lea	rax, -596[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -584[rbp]
	lea	rax, -588[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -576[rbp]
	lea	rax, -580[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -568[rbp]
	lea	rax, -572[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	rax, QWORD PTR -5072[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -560[rbp]
	lea	rax, -564[rbp]
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -572[rbp]
	mov	edx, DWORD PTR -560[rbp]
	lea	rsi, -4574[rbp]
	lea	rax, -556[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -580[rbp]
	mov	ecx, DWORD PTR -568[rbp]
	movzx	eax, BYTE PTR -4574[rbp]
	movzx	edx, al
	lea	rsi, -4573[rbp]
	lea	rax, -552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -588[rbp]
	mov	ecx, DWORD PTR -576[rbp]
	movzx	eax, BYTE PTR -4573[rbp]
	movzx	edx, al
	lea	rsi, -4572[rbp]
	lea	rax, -548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -596[rbp]
	mov	ecx, DWORD PTR -584[rbp]
	movzx	eax, BYTE PTR -4572[rbp]
	movzx	edx, al
	lea	rsi, -4571[rbp]
	lea	rax, -544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -604[rbp]
	mov	ecx, DWORD PTR -592[rbp]
	movzx	eax, BYTE PTR -4571[rbp]
	movzx	edx, al
	lea	rsi, -4570[rbp]
	lea	rax, -540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -612[rbp]
	mov	ecx, DWORD PTR -600[rbp]
	movzx	eax, BYTE PTR -4570[rbp]
	movzx	edx, al
	lea	rsi, -4569[rbp]
	lea	rax, -536[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -620[rbp]
	mov	ecx, DWORD PTR -608[rbp]
	movzx	eax, BYTE PTR -4569[rbp]
	movzx	edx, al
	lea	rsi, -4568[rbp]
	lea	rax, -532[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -628[rbp]
	mov	ecx, DWORD PTR -616[rbp]
	movzx	eax, BYTE PTR -4568[rbp]
	movzx	edx, al
	lea	rsi, -4567[rbp]
	lea	rax, -528[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -636[rbp]
	mov	ecx, DWORD PTR -624[rbp]
	movzx	eax, BYTE PTR -4567[rbp]
	movzx	edx, al
	lea	rsi, -4566[rbp]
	lea	rax, -524[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -644[rbp]
	mov	ecx, DWORD PTR -632[rbp]
	movzx	eax, BYTE PTR -4566[rbp]
	movzx	edx, al
	lea	rsi, -4565[rbp]
	lea	rax, -520[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -652[rbp]
	mov	ecx, DWORD PTR -640[rbp]
	movzx	eax, BYTE PTR -4565[rbp]
	movzx	edx, al
	lea	rsi, -4564[rbp]
	lea	rax, -516[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4564[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -648[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	ecx, DWORD PTR -564[rbp]
	mov	edx, DWORD PTR -700[rbp]
	lea	rsi, -4563[rbp]
	lea	rax, -512[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -556[rbp]
	mov	ecx, DWORD PTR -696[rbp]
	movzx	eax, BYTE PTR -4563[rbp]
	movzx	edx, al
	lea	rsi, -4562[rbp]
	lea	rax, -508[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -552[rbp]
	mov	ecx, DWORD PTR -692[rbp]
	movzx	eax, BYTE PTR -4562[rbp]
	movzx	edx, al
	lea	rsi, -4561[rbp]
	lea	rax, -504[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -548[rbp]
	mov	ecx, DWORD PTR -688[rbp]
	movzx	eax, BYTE PTR -4561[rbp]
	movzx	edx, al
	lea	rsi, -4560[rbp]
	lea	rax, -500[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -544[rbp]
	mov	ecx, DWORD PTR -684[rbp]
	movzx	eax, BYTE PTR -4560[rbp]
	movzx	edx, al
	lea	rsi, -4559[rbp]
	lea	rax, -496[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -540[rbp]
	mov	ecx, DWORD PTR -680[rbp]
	movzx	eax, BYTE PTR -4559[rbp]
	movzx	edx, al
	lea	rsi, -4558[rbp]
	lea	rax, -492[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -536[rbp]
	mov	ecx, DWORD PTR -676[rbp]
	movzx	eax, BYTE PTR -4558[rbp]
	movzx	edx, al
	lea	rsi, -4557[rbp]
	lea	rax, -488[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -532[rbp]
	mov	ecx, DWORD PTR -672[rbp]
	movzx	eax, BYTE PTR -4557[rbp]
	movzx	edx, al
	lea	rsi, -4556[rbp]
	lea	rax, -484[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -528[rbp]
	mov	ecx, DWORD PTR -668[rbp]
	movzx	eax, BYTE PTR -4556[rbp]
	movzx	edx, al
	lea	rsi, -4555[rbp]
	lea	rax, -480[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -524[rbp]
	mov	ecx, DWORD PTR -664[rbp]
	movzx	eax, BYTE PTR -4555[rbp]
	movzx	edx, al
	lea	rsi, -4554[rbp]
	lea	rax, -476[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -520[rbp]
	mov	ecx, DWORD PTR -660[rbp]
	movzx	eax, BYTE PTR -4554[rbp]
	movzx	edx, al
	lea	rsi, -4553[rbp]
	lea	rax, -472[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -516[rbp]
	mov	ecx, DWORD PTR -656[rbp]
	movzx	eax, BYTE PTR -4553[rbp]
	movzx	edx, al
	lea	rsi, -4552[rbp]
	lea	rax, -468[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4552[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	lea	rsi, -4551[rbp]
	lea	rax, -464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -456[rbp]
	lea	rax, -460[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -448[rbp]
	lea	rax, -452[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -440[rbp]
	lea	rax, -444[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -432[rbp]
	lea	rax, -436[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -424[rbp]
	lea	rax, -428[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -416[rbp]
	lea	rax, -420[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -408[rbp]
	lea	rax, -412[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -400[rbp]
	lea	rax, -404[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -392[rbp]
	lea	rax, -396[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -384[rbp]
	lea	rax, -388[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -404[rbp]
	mov	edx, DWORD PTR -392[rbp]
	lea	rsi, -4550[rbp]
	lea	rax, -380[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -412[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	movzx	eax, BYTE PTR -4550[rbp]
	movzx	edx, al
	lea	rsi, -4549[rbp]
	lea	rax, -376[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -420[rbp]
	mov	ecx, DWORD PTR -408[rbp]
	movzx	eax, BYTE PTR -4549[rbp]
	movzx	edx, al
	lea	rsi, -4548[rbp]
	lea	rax, -372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -428[rbp]
	mov	ecx, DWORD PTR -416[rbp]
	movzx	eax, BYTE PTR -4548[rbp]
	movzx	edx, al
	lea	rsi, -4547[rbp]
	lea	rax, -368[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -436[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	movzx	eax, BYTE PTR -4547[rbp]
	movzx	edx, al
	lea	rsi, -4546[rbp]
	lea	rax, -364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -444[rbp]
	mov	ecx, DWORD PTR -432[rbp]
	movzx	eax, BYTE PTR -4546[rbp]
	movzx	edx, al
	lea	rsi, -4545[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -452[rbp]
	mov	ecx, DWORD PTR -440[rbp]
	movzx	eax, BYTE PTR -4545[rbp]
	movzx	edx, al
	lea	rsi, -4544[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -460[rbp]
	mov	ecx, DWORD PTR -448[rbp]
	movzx	eax, BYTE PTR -4544[rbp]
	movzx	edx, al
	lea	rsi, -4543[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4543[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -456[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	ecx, DWORD PTR -388[rbp]
	mov	edx, DWORD PTR -512[rbp]
	lea	rsi, -4542[rbp]
	lea	rax, -348[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -508[rbp]
	movzx	eax, BYTE PTR -4542[rbp]
	movzx	edx, al
	lea	rsi, -4541[rbp]
	lea	rax, -344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -504[rbp]
	movzx	eax, BYTE PTR -4541[rbp]
	movzx	edx, al
	lea	rsi, -4540[rbp]
	lea	rax, -340[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -500[rbp]
	movzx	eax, BYTE PTR -4540[rbp]
	movzx	edx, al
	lea	rsi, -4539[rbp]
	lea	rax, -336[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -380[rbp]
	mov	ecx, DWORD PTR -496[rbp]
	movzx	eax, BYTE PTR -4539[rbp]
	movzx	edx, al
	lea	rsi, -4538[rbp]
	lea	rax, -332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -4538[rbp]
	movzx	edx, al
	lea	rsi, -4537[rbp]
	lea	rax, -328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -372[rbp]
	mov	ecx, DWORD PTR -488[rbp]
	movzx	eax, BYTE PTR -4537[rbp]
	movzx	edx, al
	lea	rsi, -4536[rbp]
	lea	rax, -324[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -368[rbp]
	mov	ecx, DWORD PTR -484[rbp]
	movzx	eax, BYTE PTR -4536[rbp]
	movzx	edx, al
	lea	rsi, -4535[rbp]
	lea	rax, -320[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -364[rbp]
	mov	ecx, DWORD PTR -480[rbp]
	movzx	eax, BYTE PTR -4535[rbp]
	movzx	edx, al
	lea	rsi, -4534[rbp]
	lea	rax, -316[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -360[rbp]
	mov	ecx, DWORD PTR -476[rbp]
	movzx	eax, BYTE PTR -4534[rbp]
	movzx	edx, al
	lea	rsi, -4533[rbp]
	lea	rax, -312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -356[rbp]
	mov	ecx, DWORD PTR -472[rbp]
	movzx	eax, BYTE PTR -4533[rbp]
	movzx	edx, al
	lea	rsi, -4532[rbp]
	lea	rax, -308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -352[rbp]
	mov	ecx, DWORD PTR -468[rbp]
	movzx	eax, BYTE PTR -4532[rbp]
	movzx	edx, al
	lea	rsi, -4531[rbp]
	lea	rax, -304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -464[rbp]
	movzx	eax, BYTE PTR -4531[rbp]
	movzx	edx, al
	mov	edi, DWORD PTR -16[rbp]
	lea	rsi, -4530[rbp]
	lea	rax, -300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -4530[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -4551[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -344[rbp]
	lea	rsi, -4529[rbp]
	lea	rax, -296[rbp]
	mov	r8d, -1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -4529[rbp]
	movzx	edx, al
	lea	rsi, -4528[rbp]
	lea	rax, -292[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -336[rbp]
	movzx	eax, BYTE PTR -4528[rbp]
	movzx	edx, al
	lea	rsi, -4527[rbp]
	lea	rax, -288[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -332[rbp]
	movzx	eax, BYTE PTR -4527[rbp]
	movzx	edx, al
	lea	rsi, -4526[rbp]
	lea	rax, -284[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -328[rbp]
	movzx	eax, BYTE PTR -4526[rbp]
	movzx	edx, al
	lea	rsi, -4525[rbp]
	lea	rax, -280[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -324[rbp]
	movzx	eax, BYTE PTR -4525[rbp]
	movzx	edx, al
	lea	rsi, -4524[rbp]
	lea	rax, -276[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -320[rbp]
	movzx	eax, BYTE PTR -4524[rbp]
	movzx	edx, al
	lea	rsi, -4523[rbp]
	lea	rax, -272[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -316[rbp]
	movzx	eax, BYTE PTR -4523[rbp]
	movzx	edx, al
	lea	rsi, -4522[rbp]
	lea	rax, -268[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -312[rbp]
	movzx	eax, BYTE PTR -4522[rbp]
	movzx	edx, al
	lea	rsi, -4521[rbp]
	lea	rax, -264[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -308[rbp]
	movzx	eax, BYTE PTR -4521[rbp]
	movzx	edx, al
	lea	rsi, -4520[rbp]
	lea	rax, -260[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -304[rbp]
	movzx	eax, BYTE PTR -4520[rbp]
	movzx	edx, al
	lea	rsi, -4519[rbp]
	lea	rax, -256[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -300[rbp]
	movzx	eax, BYTE PTR -4519[rbp]
	movzx	edx, al
	lea	rsi, -4518[rbp]
	lea	rax, -252[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	movzx	eax, BYTE PTR -4518[rbp]
	movzx	edx, al
	mov	ecx, DWORD PTR -12[rbp]
	lea	rsi, -4517[rbp]
	lea	rax, -248[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -344[rbp]
	mov	edx, DWORD PTR -296[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -244[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -340[rbp]
	mov	edx, DWORD PTR -292[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -240[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -336[rbp]
	mov	edx, DWORD PTR -288[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -236[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -332[rbp]
	mov	edx, DWORD PTR -284[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -232[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -328[rbp]
	mov	edx, DWORD PTR -280[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -228[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -324[rbp]
	mov	edx, DWORD PTR -276[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -224[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -320[rbp]
	mov	edx, DWORD PTR -272[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -220[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -316[rbp]
	mov	edx, DWORD PTR -268[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -216[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -312[rbp]
	mov	edx, DWORD PTR -264[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -212[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -308[rbp]
	mov	edx, DWORD PTR -260[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -304[rbp]
	mov	edx, DWORD PTR -256[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -204[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -300[rbp]
	mov	edx, DWORD PTR -252[rbp]
	movzx	eax, BYTE PTR -4517[rbp]
	movzx	esi, al
	lea	rax, -200[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	edx, DWORD PTR -244[rbp]
	mov	rax, QWORD PTR -5064[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -240[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -236[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -232[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -228[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -224[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -216[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -204[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -5064[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -200[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L8
	call	__stack_chk_fail@PLT
.L8:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	fiat_p384_square, .-fiat_p384_square
	.type	fiat_p384_add, @function
fiat_p384_add:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	QWORD PTR -216[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	edx, DWORD PTR [rax]
	lea	rsi, -181[rbp]
	lea	rax, -156[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 4
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -181[rbp]
	movzx	edx, al
	lea	rsi, -180[rbp]
	lea	rax, -152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 8
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -180[rbp]
	movzx	edx, al
	lea	rsi, -179[rbp]
	lea	rax, -148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 12
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -179[rbp]
	movzx	edx, al
	lea	rsi, -178[rbp]
	lea	rax, -144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 16
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -178[rbp]
	movzx	edx, al
	lea	rsi, -177[rbp]
	lea	rax, -140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 20
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -177[rbp]
	movzx	edx, al
	lea	rsi, -176[rbp]
	lea	rax, -136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 24
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -176[rbp]
	movzx	edx, al
	lea	rsi, -175[rbp]
	lea	rax, -132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 28
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -175[rbp]
	movzx	edx, al
	lea	rsi, -174[rbp]
	lea	rax, -128[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 32
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -174[rbp]
	movzx	edx, al
	lea	rsi, -173[rbp]
	lea	rax, -124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 36
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -173[rbp]
	movzx	edx, al
	lea	rsi, -172[rbp]
	lea	rax, -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 40
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -172[rbp]
	movzx	edx, al
	lea	rsi, -171[rbp]
	lea	rax, -116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 44
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -171[rbp]
	movzx	edx, al
	lea	rsi, -170[rbp]
	lea	rax, -112[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -156[rbp]
	lea	rsi, -169[rbp]
	lea	rax, -108[rbp]
	mov	r8d, -1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -152[rbp]
	movzx	eax, BYTE PTR -169[rbp]
	movzx	edx, al
	lea	rsi, -168[rbp]
	lea	rax, -104[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -148[rbp]
	movzx	eax, BYTE PTR -168[rbp]
	movzx	edx, al
	lea	rsi, -167[rbp]
	lea	rax, -100[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -144[rbp]
	movzx	eax, BYTE PTR -167[rbp]
	movzx	edx, al
	lea	rsi, -166[rbp]
	lea	rax, -96[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -140[rbp]
	movzx	eax, BYTE PTR -166[rbp]
	movzx	edx, al
	lea	rsi, -165[rbp]
	lea	rax, -92[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -136[rbp]
	movzx	eax, BYTE PTR -165[rbp]
	movzx	edx, al
	lea	rsi, -164[rbp]
	lea	rax, -88[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -132[rbp]
	movzx	eax, BYTE PTR -164[rbp]
	movzx	edx, al
	lea	rsi, -163[rbp]
	lea	rax, -84[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -128[rbp]
	movzx	eax, BYTE PTR -163[rbp]
	movzx	edx, al
	lea	rsi, -162[rbp]
	lea	rax, -80[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -124[rbp]
	movzx	eax, BYTE PTR -162[rbp]
	movzx	edx, al
	lea	rsi, -161[rbp]
	lea	rax, -76[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -120[rbp]
	movzx	eax, BYTE PTR -161[rbp]
	movzx	edx, al
	lea	rsi, -160[rbp]
	lea	rax, -72[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -116[rbp]
	movzx	eax, BYTE PTR -160[rbp]
	movzx	edx, al
	lea	rsi, -159[rbp]
	lea	rax, -68[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -112[rbp]
	movzx	eax, BYTE PTR -159[rbp]
	movzx	edx, al
	lea	rsi, -158[rbp]
	lea	rax, -64[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	movzx	eax, BYTE PTR -170[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -158[rbp]
	movzx	edx, al
	lea	rsi, -157[rbp]
	lea	rax, -60[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -156[rbp]
	mov	edx, DWORD PTR -108[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -56[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -152[rbp]
	mov	edx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -52[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -148[rbp]
	mov	edx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -144[rbp]
	mov	edx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -44[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -140[rbp]
	mov	edx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -40[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -136[rbp]
	mov	edx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -36[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -132[rbp]
	mov	edx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -128[rbp]
	mov	edx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -124[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -120[rbp]
	mov	edx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -20[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -116[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -157[rbp]
	movzx	esi, al
	lea	rax, -12[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	fiat_p384_add, .-fiat_p384_add
	.type	fiat_p384_sub, @function
fiat_p384_sub:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, DWORD PTR [rax]
	lea	rsi, -132[rbp]
	lea	rax, -108[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 4
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -132[rbp]
	movzx	edx, al
	lea	rsi, -131[rbp]
	lea	rax, -104[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -131[rbp]
	movzx	edx, al
	lea	rsi, -130[rbp]
	lea	rax, -100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 12
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -130[rbp]
	movzx	edx, al
	lea	rsi, -129[rbp]
	lea	rax, -96[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 16
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -129[rbp]
	movzx	edx, al
	lea	rsi, -128[rbp]
	lea	rax, -92[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 20
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -128[rbp]
	movzx	edx, al
	lea	rsi, -127[rbp]
	lea	rax, -88[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 24
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -127[rbp]
	movzx	edx, al
	lea	rsi, -126[rbp]
	lea	rax, -84[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 28
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -126[rbp]
	movzx	edx, al
	lea	rsi, -125[rbp]
	lea	rax, -80[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 32
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -125[rbp]
	movzx	edx, al
	lea	rsi, -124[rbp]
	lea	rax, -76[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 36
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -124[rbp]
	movzx	edx, al
	lea	rsi, -123[rbp]
	lea	rax, -72[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 40
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -123[rbp]
	movzx	edx, al
	lea	rsi, -122[rbp]
	lea	rax, -68[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 44
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -122[rbp]
	movzx	edx, al
	lea	rsi, -121[rbp]
	lea	rax, -64[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	movzx	eax, BYTE PTR -121[rbp]
	movzx	esi, al
	lea	rax, -60[rbp]
	mov	ecx, -1
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -60[rbp]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -120[rbp]
	lea	rax, -56[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -120[rbp]
	movzx	edx, al
	lea	rsi, -119[rbp]
	lea	rax, -52[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -119[rbp]
	movzx	edx, al
	lea	rsi, -118[rbp]
	lea	rax, -48[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -118[rbp]
	movzx	edx, al
	lea	rsi, -117[rbp]
	lea	rax, -44[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	eax, DWORD PTR -60[rbp]
	and	eax, -2
	mov	edi, eax
	mov	ecx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -117[rbp]
	movzx	edx, al
	lea	rsi, -116[rbp]
	lea	rax, -40[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -116[rbp]
	movzx	edx, al
	lea	rsi, -115[rbp]
	lea	rax, -36[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -115[rbp]
	movzx	edx, al
	lea	rsi, -114[rbp]
	lea	rax, -32[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -114[rbp]
	movzx	edx, al
	lea	rsi, -113[rbp]
	lea	rax, -28[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -76[rbp]
	movzx	eax, BYTE PTR -113[rbp]
	movzx	edx, al
	lea	rsi, -112[rbp]
	lea	rax, -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -112[rbp]
	movzx	edx, al
	lea	rsi, -111[rbp]
	lea	rax, -20[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -111[rbp]
	movzx	edx, al
	lea	rsi, -110[rbp]
	lea	rax, -16[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -110[rbp]
	movzx	edx, al
	lea	rsi, -109[rbp]
	lea	rax, -12[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	fiat_p384_sub, .-fiat_p384_sub
	.type	fiat_p384_opp, @function
fiat_p384_opp:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, DWORD PTR [rax]
	lea	rsi, -132[rbp]
	lea	rax, -108[rbp]
	mov	r8d, edx
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -132[rbp]
	movzx	edx, al
	lea	rsi, -131[rbp]
	lea	rax, -104[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -131[rbp]
	movzx	edx, al
	lea	rsi, -130[rbp]
	lea	rax, -100[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -130[rbp]
	movzx	edx, al
	lea	rsi, -129[rbp]
	lea	rax, -96[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -129[rbp]
	movzx	edx, al
	lea	rsi, -128[rbp]
	lea	rax, -92[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -128[rbp]
	movzx	edx, al
	lea	rsi, -127[rbp]
	lea	rax, -88[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -127[rbp]
	movzx	edx, al
	lea	rsi, -126[rbp]
	lea	rax, -84[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -126[rbp]
	movzx	edx, al
	lea	rsi, -125[rbp]
	lea	rax, -80[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -125[rbp]
	movzx	edx, al
	lea	rsi, -124[rbp]
	lea	rax, -76[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -124[rbp]
	movzx	edx, al
	lea	rsi, -123[rbp]
	lea	rax, -72[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -123[rbp]
	movzx	edx, al
	lea	rsi, -122[rbp]
	lea	rax, -68[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -122[rbp]
	movzx	edx, al
	lea	rsi, -121[rbp]
	lea	rax, -64[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	movzx	eax, BYTE PTR -121[rbp]
	movzx	esi, al
	lea	rax, -60[rbp]
	mov	ecx, -1
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -60[rbp]
	mov	edx, DWORD PTR -108[rbp]
	lea	rsi, -120[rbp]
	lea	rax, -56[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -120[rbp]
	movzx	edx, al
	lea	rsi, -119[rbp]
	lea	rax, -52[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -119[rbp]
	movzx	edx, al
	lea	rsi, -118[rbp]
	lea	rax, -48[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -118[rbp]
	movzx	edx, al
	lea	rsi, -117[rbp]
	lea	rax, -44[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	eax, DWORD PTR -60[rbp]
	and	eax, -2
	mov	edi, eax
	mov	ecx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -117[rbp]
	movzx	edx, al
	lea	rsi, -116[rbp]
	lea	rax, -40[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -116[rbp]
	movzx	edx, al
	lea	rsi, -115[rbp]
	lea	rax, -36[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -115[rbp]
	movzx	edx, al
	lea	rsi, -114[rbp]
	lea	rax, -32[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -114[rbp]
	movzx	edx, al
	lea	rsi, -113[rbp]
	lea	rax, -28[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -76[rbp]
	movzx	eax, BYTE PTR -113[rbp]
	movzx	edx, al
	lea	rsi, -112[rbp]
	lea	rax, -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -112[rbp]
	movzx	edx, al
	lea	rsi, -111[rbp]
	lea	rax, -20[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -111[rbp]
	movzx	edx, al
	lea	rsi, -110[rbp]
	lea	rax, -16[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -60[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	movzx	eax, BYTE PTR -110[rbp]
	movzx	edx, al
	lea	rsi, -109[rbp]
	lea	rax, -12[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L14
	call	__stack_chk_fail@PLT
.L14:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	fiat_p384_opp, .-fiat_p384_opp
	.type	fiat_p384_from_montgomery, @function
fiat_p384_from_montgomery:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2912
	mov	QWORD PTR -2904[rbp], rdi
	mov	QWORD PTR -2912[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2912[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2512[rbp]
	lea	rax, -2516[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2504[rbp]
	lea	rax, -2508[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2496[rbp]
	lea	rax, -2500[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2488[rbp]
	lea	rax, -2492[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2480[rbp]
	lea	rax, -2484[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2472[rbp]
	lea	rax, -2476[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2464[rbp]
	lea	rax, -2468[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2456[rbp]
	lea	rax, -2460[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2448[rbp]
	lea	rax, -2452[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2440[rbp]
	lea	rax, -2444[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2460[rbp]
	mov	edx, DWORD PTR -2448[rbp]
	lea	rsi, -2890[rbp]
	lea	rax, -2436[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2468[rbp]
	mov	ecx, DWORD PTR -2456[rbp]
	movzx	eax, BYTE PTR -2890[rbp]
	movzx	edx, al
	lea	rsi, -2889[rbp]
	lea	rax, -2432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2476[rbp]
	mov	ecx, DWORD PTR -2464[rbp]
	movzx	eax, BYTE PTR -2889[rbp]
	movzx	edx, al
	lea	rsi, -2888[rbp]
	lea	rax, -2428[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2484[rbp]
	mov	ecx, DWORD PTR -2472[rbp]
	movzx	eax, BYTE PTR -2888[rbp]
	movzx	edx, al
	lea	rsi, -2887[rbp]
	lea	rax, -2424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2492[rbp]
	mov	ecx, DWORD PTR -2480[rbp]
	movzx	eax, BYTE PTR -2887[rbp]
	movzx	edx, al
	lea	rsi, -2886[rbp]
	lea	rax, -2420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2500[rbp]
	mov	ecx, DWORD PTR -2488[rbp]
	movzx	eax, BYTE PTR -2886[rbp]
	movzx	edx, al
	lea	rsi, -2885[rbp]
	lea	rax, -2416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2508[rbp]
	mov	ecx, DWORD PTR -2496[rbp]
	movzx	eax, BYTE PTR -2885[rbp]
	movzx	edx, al
	lea	rsi, -2884[rbp]
	lea	rax, -2412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2516[rbp]
	mov	ecx, DWORD PTR -2504[rbp]
	movzx	eax, BYTE PTR -2884[rbp]
	movzx	edx, al
	lea	rsi, -2883[rbp]
	lea	rax, -2408[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2444[rbp]
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, -2882[rbp]
	lea	rax, -2404[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	movzx	eax, BYTE PTR -2882[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2440[rbp]
	add	edx, eax
	lea	rsi, -2881[rbp]
	lea	rax, -2400[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2392[rbp]
	lea	rax, -2396[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2384[rbp]
	lea	rax, -2388[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2376[rbp]
	lea	rax, -2380[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2368[rbp]
	lea	rax, -2372[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2360[rbp]
	lea	rax, -2364[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2352[rbp]
	lea	rax, -2356[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2344[rbp]
	lea	rax, -2348[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2336[rbp]
	lea	rax, -2340[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2328[rbp]
	lea	rax, -2332[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2320[rbp]
	lea	rax, -2324[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2340[rbp]
	mov	edx, DWORD PTR -2328[rbp]
	lea	rsi, -2880[rbp]
	lea	rax, -2316[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2348[rbp]
	mov	ecx, DWORD PTR -2336[rbp]
	movzx	eax, BYTE PTR -2880[rbp]
	movzx	edx, al
	lea	rsi, -2879[rbp]
	lea	rax, -2312[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2356[rbp]
	mov	ecx, DWORD PTR -2344[rbp]
	movzx	eax, BYTE PTR -2879[rbp]
	movzx	edx, al
	lea	rsi, -2878[rbp]
	lea	rax, -2308[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2364[rbp]
	mov	ecx, DWORD PTR -2352[rbp]
	movzx	eax, BYTE PTR -2878[rbp]
	movzx	edx, al
	lea	rsi, -2877[rbp]
	lea	rax, -2304[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2372[rbp]
	mov	ecx, DWORD PTR -2360[rbp]
	movzx	eax, BYTE PTR -2877[rbp]
	movzx	edx, al
	lea	rsi, -2876[rbp]
	lea	rax, -2300[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2380[rbp]
	mov	ecx, DWORD PTR -2368[rbp]
	movzx	eax, BYTE PTR -2876[rbp]
	movzx	edx, al
	lea	rsi, -2875[rbp]
	lea	rax, -2296[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2388[rbp]
	mov	ecx, DWORD PTR -2376[rbp]
	movzx	eax, BYTE PTR -2875[rbp]
	movzx	edx, al
	lea	rsi, -2874[rbp]
	lea	rax, -2292[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2396[rbp]
	mov	ecx, DWORD PTR -2384[rbp]
	movzx	eax, BYTE PTR -2874[rbp]
	movzx	edx, al
	lea	rsi, -2873[rbp]
	lea	rax, -2288[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2324[rbp]
	mov	edx, DWORD PTR -2400[rbp]
	lea	rsi, -2872[rbp]
	lea	rax, -2284[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2320[rbp]
	movzx	eax, BYTE PTR -2881[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -2872[rbp]
	movzx	edx, al
	lea	rsi, -2871[rbp]
	lea	rax, -2280[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2452[rbp]
	movzx	eax, BYTE PTR -2871[rbp]
	movzx	edx, al
	lea	rsi, -2870[rbp]
	lea	rax, -2276[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2332[rbp]
	mov	ecx, DWORD PTR -2436[rbp]
	movzx	eax, BYTE PTR -2870[rbp]
	movzx	edx, al
	lea	rsi, -2869[rbp]
	lea	rax, -2272[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2316[rbp]
	mov	ecx, DWORD PTR -2432[rbp]
	movzx	eax, BYTE PTR -2869[rbp]
	movzx	edx, al
	lea	rsi, -2868[rbp]
	lea	rax, -2268[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2312[rbp]
	mov	ecx, DWORD PTR -2428[rbp]
	movzx	eax, BYTE PTR -2868[rbp]
	movzx	edx, al
	lea	rsi, -2867[rbp]
	lea	rax, -2264[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2308[rbp]
	mov	ecx, DWORD PTR -2424[rbp]
	movzx	eax, BYTE PTR -2867[rbp]
	movzx	edx, al
	lea	rsi, -2866[rbp]
	lea	rax, -2260[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2304[rbp]
	mov	ecx, DWORD PTR -2420[rbp]
	movzx	eax, BYTE PTR -2866[rbp]
	movzx	edx, al
	lea	rsi, -2865[rbp]
	lea	rax, -2256[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2300[rbp]
	mov	ecx, DWORD PTR -2416[rbp]
	movzx	eax, BYTE PTR -2865[rbp]
	movzx	edx, al
	lea	rsi, -2864[rbp]
	lea	rax, -2252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2296[rbp]
	mov	ecx, DWORD PTR -2412[rbp]
	movzx	eax, BYTE PTR -2864[rbp]
	movzx	edx, al
	lea	rsi, -2863[rbp]
	lea	rax, -2248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2292[rbp]
	mov	ecx, DWORD PTR -2408[rbp]
	movzx	eax, BYTE PTR -2863[rbp]
	movzx	edx, al
	lea	rsi, -2862[rbp]
	lea	rax, -2244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2288[rbp]
	movzx	eax, BYTE PTR -2883[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2512[rbp]
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2862[rbp]
	movzx	edx, al
	lea	rsi, -2861[rbp]
	lea	rax, -2240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2873[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2392[rbp]
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2861[rbp]
	movzx	edx, al
	lea	rsi, -2860[rbp]
	lea	rax, -2236[rbp]
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -2280[rbp]
	lea	rsi, -2859[rbp]
	lea	rax, -2232[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2276[rbp]
	movzx	eax, BYTE PTR -2859[rbp]
	movzx	edx, al
	lea	rsi, -2858[rbp]
	lea	rax, -2228[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2272[rbp]
	movzx	eax, BYTE PTR -2858[rbp]
	movzx	edx, al
	lea	rsi, -2857[rbp]
	lea	rax, -2224[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2268[rbp]
	movzx	eax, BYTE PTR -2857[rbp]
	movzx	edx, al
	lea	rsi, -2856[rbp]
	lea	rax, -2220[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2264[rbp]
	movzx	eax, BYTE PTR -2856[rbp]
	movzx	edx, al
	lea	rsi, -2855[rbp]
	lea	rax, -2216[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2260[rbp]
	movzx	eax, BYTE PTR -2855[rbp]
	movzx	edx, al
	lea	rsi, -2854[rbp]
	lea	rax, -2212[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2256[rbp]
	movzx	eax, BYTE PTR -2854[rbp]
	movzx	edx, al
	lea	rsi, -2853[rbp]
	lea	rax, -2208[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2252[rbp]
	movzx	eax, BYTE PTR -2853[rbp]
	movzx	edx, al
	lea	rsi, -2852[rbp]
	lea	rax, -2204[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2248[rbp]
	movzx	eax, BYTE PTR -2852[rbp]
	movzx	edx, al
	lea	rsi, -2851[rbp]
	lea	rax, -2200[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2244[rbp]
	movzx	eax, BYTE PTR -2851[rbp]
	movzx	edx, al
	lea	rsi, -2850[rbp]
	lea	rax, -2196[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2240[rbp]
	movzx	eax, BYTE PTR -2850[rbp]
	movzx	edx, al
	lea	rsi, -2849[rbp]
	lea	rax, -2192[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2236[rbp]
	movzx	eax, BYTE PTR -2849[rbp]
	movzx	edx, al
	lea	rsi, -2848[rbp]
	lea	rax, -2188[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2180[rbp]
	lea	rax, -2184[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2172[rbp]
	lea	rax, -2176[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2164[rbp]
	lea	rax, -2168[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2156[rbp]
	lea	rax, -2160[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2148[rbp]
	lea	rax, -2152[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2140[rbp]
	lea	rax, -2144[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2132[rbp]
	lea	rax, -2136[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2124[rbp]
	lea	rax, -2128[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2116[rbp]
	lea	rax, -2120[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2108[rbp]
	lea	rax, -2112[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -2128[rbp]
	mov	edx, DWORD PTR -2116[rbp]
	lea	rsi, -2847[rbp]
	lea	rax, -2104[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2136[rbp]
	mov	ecx, DWORD PTR -2124[rbp]
	movzx	eax, BYTE PTR -2847[rbp]
	movzx	edx, al
	lea	rsi, -2846[rbp]
	lea	rax, -2100[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2144[rbp]
	mov	ecx, DWORD PTR -2132[rbp]
	movzx	eax, BYTE PTR -2846[rbp]
	movzx	edx, al
	lea	rsi, -2845[rbp]
	lea	rax, -2096[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2152[rbp]
	mov	ecx, DWORD PTR -2140[rbp]
	movzx	eax, BYTE PTR -2845[rbp]
	movzx	edx, al
	lea	rsi, -2844[rbp]
	lea	rax, -2092[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2160[rbp]
	mov	ecx, DWORD PTR -2148[rbp]
	movzx	eax, BYTE PTR -2844[rbp]
	movzx	edx, al
	lea	rsi, -2843[rbp]
	lea	rax, -2088[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2168[rbp]
	mov	ecx, DWORD PTR -2156[rbp]
	movzx	eax, BYTE PTR -2843[rbp]
	movzx	edx, al
	lea	rsi, -2842[rbp]
	lea	rax, -2084[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2176[rbp]
	mov	ecx, DWORD PTR -2164[rbp]
	movzx	eax, BYTE PTR -2842[rbp]
	movzx	edx, al
	lea	rsi, -2841[rbp]
	lea	rax, -2080[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2184[rbp]
	mov	ecx, DWORD PTR -2172[rbp]
	movzx	eax, BYTE PTR -2841[rbp]
	movzx	edx, al
	lea	rsi, -2840[rbp]
	lea	rax, -2076[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2112[rbp]
	mov	edx, DWORD PTR -2232[rbp]
	lea	rsi, -2839[rbp]
	lea	rax, -2072[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2108[rbp]
	mov	ecx, DWORD PTR -2228[rbp]
	movzx	eax, BYTE PTR -2839[rbp]
	movzx	edx, al
	lea	rsi, -2838[rbp]
	lea	rax, -2068[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2224[rbp]
	movzx	eax, BYTE PTR -2838[rbp]
	movzx	edx, al
	lea	rsi, -2837[rbp]
	lea	rax, -2064[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2120[rbp]
	mov	ecx, DWORD PTR -2220[rbp]
	movzx	eax, BYTE PTR -2837[rbp]
	movzx	edx, al
	lea	rsi, -2836[rbp]
	lea	rax, -2060[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2104[rbp]
	mov	ecx, DWORD PTR -2216[rbp]
	movzx	eax, BYTE PTR -2836[rbp]
	movzx	edx, al
	lea	rsi, -2835[rbp]
	lea	rax, -2056[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2100[rbp]
	mov	ecx, DWORD PTR -2212[rbp]
	movzx	eax, BYTE PTR -2835[rbp]
	movzx	edx, al
	lea	rsi, -2834[rbp]
	lea	rax, -2052[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2096[rbp]
	mov	ecx, DWORD PTR -2208[rbp]
	movzx	eax, BYTE PTR -2834[rbp]
	movzx	edx, al
	lea	rsi, -2833[rbp]
	lea	rax, -2048[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2092[rbp]
	mov	ecx, DWORD PTR -2204[rbp]
	movzx	eax, BYTE PTR -2833[rbp]
	movzx	edx, al
	lea	rsi, -2832[rbp]
	lea	rax, -2044[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2088[rbp]
	mov	ecx, DWORD PTR -2200[rbp]
	movzx	eax, BYTE PTR -2832[rbp]
	movzx	edx, al
	lea	rsi, -2831[rbp]
	lea	rax, -2040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2084[rbp]
	mov	ecx, DWORD PTR -2196[rbp]
	movzx	eax, BYTE PTR -2831[rbp]
	movzx	edx, al
	lea	rsi, -2830[rbp]
	lea	rax, -2036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2080[rbp]
	mov	ecx, DWORD PTR -2192[rbp]
	movzx	eax, BYTE PTR -2830[rbp]
	movzx	edx, al
	lea	rsi, -2829[rbp]
	lea	rax, -2032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -2076[rbp]
	mov	ecx, DWORD PTR -2188[rbp]
	movzx	eax, BYTE PTR -2829[rbp]
	movzx	edx, al
	lea	rsi, -2828[rbp]
	lea	rax, -2028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2840[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -2180[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2848[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2860[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2828[rbp]
	movzx	edx, al
	lea	rsi, -2827[rbp]
	lea	rax, -2024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -2068[rbp]
	lea	rsi, -2826[rbp]
	lea	rax, -2020[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2064[rbp]
	movzx	eax, BYTE PTR -2826[rbp]
	movzx	edx, al
	lea	rsi, -2825[rbp]
	lea	rax, -2016[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2060[rbp]
	movzx	eax, BYTE PTR -2825[rbp]
	movzx	edx, al
	lea	rsi, -2824[rbp]
	lea	rax, -2012[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2056[rbp]
	movzx	eax, BYTE PTR -2824[rbp]
	movzx	edx, al
	lea	rsi, -2823[rbp]
	lea	rax, -2008[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2052[rbp]
	movzx	eax, BYTE PTR -2823[rbp]
	movzx	edx, al
	lea	rsi, -2822[rbp]
	lea	rax, -2004[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2048[rbp]
	movzx	eax, BYTE PTR -2822[rbp]
	movzx	edx, al
	lea	rsi, -2821[rbp]
	lea	rax, -2000[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2044[rbp]
	movzx	eax, BYTE PTR -2821[rbp]
	movzx	edx, al
	lea	rsi, -2820[rbp]
	lea	rax, -1996[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2040[rbp]
	movzx	eax, BYTE PTR -2820[rbp]
	movzx	edx, al
	lea	rsi, -2819[rbp]
	lea	rax, -1992[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2036[rbp]
	movzx	eax, BYTE PTR -2819[rbp]
	movzx	edx, al
	lea	rsi, -2818[rbp]
	lea	rax, -1988[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2032[rbp]
	movzx	eax, BYTE PTR -2818[rbp]
	movzx	edx, al
	lea	rsi, -2817[rbp]
	lea	rax, -1984[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2028[rbp]
	movzx	eax, BYTE PTR -2817[rbp]
	movzx	edx, al
	lea	rsi, -2816[rbp]
	lea	rax, -1980[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2024[rbp]
	movzx	eax, BYTE PTR -2816[rbp]
	movzx	edx, al
	lea	rsi, -2815[rbp]
	lea	rax, -1976[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1968[rbp]
	lea	rax, -1972[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1960[rbp]
	lea	rax, -1964[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1952[rbp]
	lea	rax, -1956[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1944[rbp]
	lea	rax, -1948[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1936[rbp]
	lea	rax, -1940[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1928[rbp]
	lea	rax, -1932[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1920[rbp]
	lea	rax, -1924[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1912[rbp]
	lea	rax, -1916[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1904[rbp]
	lea	rax, -1908[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -1896[rbp]
	lea	rax, -1900[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1916[rbp]
	mov	edx, DWORD PTR -1904[rbp]
	lea	rsi, -2814[rbp]
	lea	rax, -1892[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1924[rbp]
	mov	ecx, DWORD PTR -1912[rbp]
	movzx	eax, BYTE PTR -2814[rbp]
	movzx	edx, al
	lea	rsi, -2813[rbp]
	lea	rax, -1888[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1932[rbp]
	mov	ecx, DWORD PTR -1920[rbp]
	movzx	eax, BYTE PTR -2813[rbp]
	movzx	edx, al
	lea	rsi, -2812[rbp]
	lea	rax, -1884[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1940[rbp]
	mov	ecx, DWORD PTR -1928[rbp]
	movzx	eax, BYTE PTR -2812[rbp]
	movzx	edx, al
	lea	rsi, -2811[rbp]
	lea	rax, -1880[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1948[rbp]
	mov	ecx, DWORD PTR -1936[rbp]
	movzx	eax, BYTE PTR -2811[rbp]
	movzx	edx, al
	lea	rsi, -2810[rbp]
	lea	rax, -1876[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1956[rbp]
	mov	ecx, DWORD PTR -1944[rbp]
	movzx	eax, BYTE PTR -2810[rbp]
	movzx	edx, al
	lea	rsi, -2809[rbp]
	lea	rax, -1872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1964[rbp]
	mov	ecx, DWORD PTR -1952[rbp]
	movzx	eax, BYTE PTR -2809[rbp]
	movzx	edx, al
	lea	rsi, -2808[rbp]
	lea	rax, -1868[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1972[rbp]
	mov	ecx, DWORD PTR -1960[rbp]
	movzx	eax, BYTE PTR -2808[rbp]
	movzx	edx, al
	lea	rsi, -2807[rbp]
	lea	rax, -1864[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1900[rbp]
	mov	edx, DWORD PTR -2020[rbp]
	lea	rsi, -2806[rbp]
	lea	rax, -1860[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1896[rbp]
	mov	ecx, DWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR -2806[rbp]
	movzx	edx, al
	lea	rsi, -2805[rbp]
	lea	rax, -1856[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -2012[rbp]
	movzx	eax, BYTE PTR -2805[rbp]
	movzx	edx, al
	lea	rsi, -2804[rbp]
	lea	rax, -1852[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1908[rbp]
	mov	ecx, DWORD PTR -2008[rbp]
	movzx	eax, BYTE PTR -2804[rbp]
	movzx	edx, al
	lea	rsi, -2803[rbp]
	lea	rax, -1848[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1892[rbp]
	mov	ecx, DWORD PTR -2004[rbp]
	movzx	eax, BYTE PTR -2803[rbp]
	movzx	edx, al
	lea	rsi, -2802[rbp]
	lea	rax, -1844[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1888[rbp]
	mov	ecx, DWORD PTR -2000[rbp]
	movzx	eax, BYTE PTR -2802[rbp]
	movzx	edx, al
	lea	rsi, -2801[rbp]
	lea	rax, -1840[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1884[rbp]
	mov	ecx, DWORD PTR -1996[rbp]
	movzx	eax, BYTE PTR -2801[rbp]
	movzx	edx, al
	lea	rsi, -2800[rbp]
	lea	rax, -1836[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1880[rbp]
	mov	ecx, DWORD PTR -1992[rbp]
	movzx	eax, BYTE PTR -2800[rbp]
	movzx	edx, al
	lea	rsi, -2799[rbp]
	lea	rax, -1832[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1876[rbp]
	mov	ecx, DWORD PTR -1988[rbp]
	movzx	eax, BYTE PTR -2799[rbp]
	movzx	edx, al
	lea	rsi, -2798[rbp]
	lea	rax, -1828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1872[rbp]
	mov	ecx, DWORD PTR -1984[rbp]
	movzx	eax, BYTE PTR -2798[rbp]
	movzx	edx, al
	lea	rsi, -2797[rbp]
	lea	rax, -1824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1868[rbp]
	mov	ecx, DWORD PTR -1980[rbp]
	movzx	eax, BYTE PTR -2797[rbp]
	movzx	edx, al
	lea	rsi, -2796[rbp]
	lea	rax, -1820[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1864[rbp]
	mov	ecx, DWORD PTR -1976[rbp]
	movzx	eax, BYTE PTR -2796[rbp]
	movzx	edx, al
	lea	rsi, -2795[rbp]
	lea	rax, -1816[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2807[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1968[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2815[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2827[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2795[rbp]
	movzx	edx, al
	lea	rsi, -2794[rbp]
	lea	rax, -1812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1856[rbp]
	lea	rsi, -2793[rbp]
	lea	rax, -1808[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1852[rbp]
	movzx	eax, BYTE PTR -2793[rbp]
	movzx	edx, al
	lea	rsi, -2792[rbp]
	lea	rax, -1804[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1848[rbp]
	movzx	eax, BYTE PTR -2792[rbp]
	movzx	edx, al
	lea	rsi, -2791[rbp]
	lea	rax, -1800[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1844[rbp]
	movzx	eax, BYTE PTR -2791[rbp]
	movzx	edx, al
	lea	rsi, -2790[rbp]
	lea	rax, -1796[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1840[rbp]
	movzx	eax, BYTE PTR -2790[rbp]
	movzx	edx, al
	lea	rsi, -2789[rbp]
	lea	rax, -1792[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1836[rbp]
	movzx	eax, BYTE PTR -2789[rbp]
	movzx	edx, al
	lea	rsi, -2788[rbp]
	lea	rax, -1788[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1832[rbp]
	movzx	eax, BYTE PTR -2788[rbp]
	movzx	edx, al
	lea	rsi, -2787[rbp]
	lea	rax, -1784[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1828[rbp]
	movzx	eax, BYTE PTR -2787[rbp]
	movzx	edx, al
	lea	rsi, -2786[rbp]
	lea	rax, -1780[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1824[rbp]
	movzx	eax, BYTE PTR -2786[rbp]
	movzx	edx, al
	lea	rsi, -2785[rbp]
	lea	rax, -1776[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1820[rbp]
	movzx	eax, BYTE PTR -2785[rbp]
	movzx	edx, al
	lea	rsi, -2784[rbp]
	lea	rax, -1772[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1816[rbp]
	movzx	eax, BYTE PTR -2784[rbp]
	movzx	edx, al
	lea	rsi, -2783[rbp]
	lea	rax, -1768[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1812[rbp]
	movzx	eax, BYTE PTR -2783[rbp]
	movzx	edx, al
	lea	rsi, -2782[rbp]
	lea	rax, -1764[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1756[rbp]
	lea	rax, -1760[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1748[rbp]
	lea	rax, -1752[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1740[rbp]
	lea	rax, -1744[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1732[rbp]
	lea	rax, -1736[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1724[rbp]
	lea	rax, -1728[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1716[rbp]
	lea	rax, -1720[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1708[rbp]
	lea	rax, -1712[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1700[rbp]
	lea	rax, -1704[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1692[rbp]
	lea	rax, -1696[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -1684[rbp]
	lea	rax, -1688[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1704[rbp]
	mov	edx, DWORD PTR -1692[rbp]
	lea	rsi, -2781[rbp]
	lea	rax, -1680[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1712[rbp]
	mov	ecx, DWORD PTR -1700[rbp]
	movzx	eax, BYTE PTR -2781[rbp]
	movzx	edx, al
	lea	rsi, -2780[rbp]
	lea	rax, -1676[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1720[rbp]
	mov	ecx, DWORD PTR -1708[rbp]
	movzx	eax, BYTE PTR -2780[rbp]
	movzx	edx, al
	lea	rsi, -2779[rbp]
	lea	rax, -1672[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1728[rbp]
	mov	ecx, DWORD PTR -1716[rbp]
	movzx	eax, BYTE PTR -2779[rbp]
	movzx	edx, al
	lea	rsi, -2778[rbp]
	lea	rax, -1668[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1736[rbp]
	mov	ecx, DWORD PTR -1724[rbp]
	movzx	eax, BYTE PTR -2778[rbp]
	movzx	edx, al
	lea	rsi, -2777[rbp]
	lea	rax, -1664[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1744[rbp]
	mov	ecx, DWORD PTR -1732[rbp]
	movzx	eax, BYTE PTR -2777[rbp]
	movzx	edx, al
	lea	rsi, -2776[rbp]
	lea	rax, -1660[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1752[rbp]
	mov	ecx, DWORD PTR -1740[rbp]
	movzx	eax, BYTE PTR -2776[rbp]
	movzx	edx, al
	lea	rsi, -2775[rbp]
	lea	rax, -1656[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1760[rbp]
	mov	ecx, DWORD PTR -1748[rbp]
	movzx	eax, BYTE PTR -2775[rbp]
	movzx	edx, al
	lea	rsi, -2774[rbp]
	lea	rax, -1652[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1688[rbp]
	mov	edx, DWORD PTR -1808[rbp]
	lea	rsi, -2773[rbp]
	lea	rax, -1648[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1684[rbp]
	mov	ecx, DWORD PTR -1804[rbp]
	movzx	eax, BYTE PTR -2773[rbp]
	movzx	edx, al
	lea	rsi, -2772[rbp]
	lea	rax, -1644[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1800[rbp]
	movzx	eax, BYTE PTR -2772[rbp]
	movzx	edx, al
	lea	rsi, -2771[rbp]
	lea	rax, -1640[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1696[rbp]
	mov	ecx, DWORD PTR -1796[rbp]
	movzx	eax, BYTE PTR -2771[rbp]
	movzx	edx, al
	lea	rsi, -2770[rbp]
	lea	rax, -1636[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1680[rbp]
	mov	ecx, DWORD PTR -1792[rbp]
	movzx	eax, BYTE PTR -2770[rbp]
	movzx	edx, al
	lea	rsi, -2769[rbp]
	lea	rax, -1632[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1676[rbp]
	mov	ecx, DWORD PTR -1788[rbp]
	movzx	eax, BYTE PTR -2769[rbp]
	movzx	edx, al
	lea	rsi, -2768[rbp]
	lea	rax, -1628[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1672[rbp]
	mov	ecx, DWORD PTR -1784[rbp]
	movzx	eax, BYTE PTR -2768[rbp]
	movzx	edx, al
	lea	rsi, -2767[rbp]
	lea	rax, -1624[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1668[rbp]
	mov	ecx, DWORD PTR -1780[rbp]
	movzx	eax, BYTE PTR -2767[rbp]
	movzx	edx, al
	lea	rsi, -2766[rbp]
	lea	rax, -1620[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1664[rbp]
	mov	ecx, DWORD PTR -1776[rbp]
	movzx	eax, BYTE PTR -2766[rbp]
	movzx	edx, al
	lea	rsi, -2765[rbp]
	lea	rax, -1616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1660[rbp]
	mov	ecx, DWORD PTR -1772[rbp]
	movzx	eax, BYTE PTR -2765[rbp]
	movzx	edx, al
	lea	rsi, -2764[rbp]
	lea	rax, -1612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1656[rbp]
	mov	ecx, DWORD PTR -1768[rbp]
	movzx	eax, BYTE PTR -2764[rbp]
	movzx	edx, al
	lea	rsi, -2763[rbp]
	lea	rax, -1608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1652[rbp]
	mov	ecx, DWORD PTR -1764[rbp]
	movzx	eax, BYTE PTR -2763[rbp]
	movzx	edx, al
	lea	rsi, -2762[rbp]
	lea	rax, -1604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2774[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1756[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2782[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2794[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2762[rbp]
	movzx	edx, al
	lea	rsi, -2761[rbp]
	lea	rax, -1600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1644[rbp]
	lea	rsi, -2760[rbp]
	lea	rax, -1596[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1640[rbp]
	movzx	eax, BYTE PTR -2760[rbp]
	movzx	edx, al
	lea	rsi, -2759[rbp]
	lea	rax, -1592[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1636[rbp]
	movzx	eax, BYTE PTR -2759[rbp]
	movzx	edx, al
	lea	rsi, -2758[rbp]
	lea	rax, -1588[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1632[rbp]
	movzx	eax, BYTE PTR -2758[rbp]
	movzx	edx, al
	lea	rsi, -2757[rbp]
	lea	rax, -1584[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1628[rbp]
	movzx	eax, BYTE PTR -2757[rbp]
	movzx	edx, al
	lea	rsi, -2756[rbp]
	lea	rax, -1580[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1624[rbp]
	movzx	eax, BYTE PTR -2756[rbp]
	movzx	edx, al
	lea	rsi, -2755[rbp]
	lea	rax, -1576[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1620[rbp]
	movzx	eax, BYTE PTR -2755[rbp]
	movzx	edx, al
	lea	rsi, -2754[rbp]
	lea	rax, -1572[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1616[rbp]
	movzx	eax, BYTE PTR -2754[rbp]
	movzx	edx, al
	lea	rsi, -2753[rbp]
	lea	rax, -1568[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1612[rbp]
	movzx	eax, BYTE PTR -2753[rbp]
	movzx	edx, al
	lea	rsi, -2752[rbp]
	lea	rax, -1564[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1608[rbp]
	movzx	eax, BYTE PTR -2752[rbp]
	movzx	edx, al
	lea	rsi, -2751[rbp]
	lea	rax, -1560[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1604[rbp]
	movzx	eax, BYTE PTR -2751[rbp]
	movzx	edx, al
	lea	rsi, -2750[rbp]
	lea	rax, -1556[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1600[rbp]
	movzx	eax, BYTE PTR -2750[rbp]
	movzx	edx, al
	lea	rsi, -2749[rbp]
	lea	rax, -1552[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1544[rbp]
	lea	rax, -1548[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1536[rbp]
	lea	rax, -1540[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1528[rbp]
	lea	rax, -1532[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1520[rbp]
	lea	rax, -1524[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1512[rbp]
	lea	rax, -1516[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1504[rbp]
	lea	rax, -1508[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1496[rbp]
	lea	rax, -1500[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1488[rbp]
	lea	rax, -1492[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1480[rbp]
	lea	rax, -1484[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -1472[rbp]
	lea	rax, -1476[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1492[rbp]
	mov	edx, DWORD PTR -1480[rbp]
	lea	rsi, -2748[rbp]
	lea	rax, -1468[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1500[rbp]
	mov	ecx, DWORD PTR -1488[rbp]
	movzx	eax, BYTE PTR -2748[rbp]
	movzx	edx, al
	lea	rsi, -2747[rbp]
	lea	rax, -1464[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1508[rbp]
	mov	ecx, DWORD PTR -1496[rbp]
	movzx	eax, BYTE PTR -2747[rbp]
	movzx	edx, al
	lea	rsi, -2746[rbp]
	lea	rax, -1460[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1516[rbp]
	mov	ecx, DWORD PTR -1504[rbp]
	movzx	eax, BYTE PTR -2746[rbp]
	movzx	edx, al
	lea	rsi, -2745[rbp]
	lea	rax, -1456[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1524[rbp]
	mov	ecx, DWORD PTR -1512[rbp]
	movzx	eax, BYTE PTR -2745[rbp]
	movzx	edx, al
	lea	rsi, -2744[rbp]
	lea	rax, -1452[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1532[rbp]
	mov	ecx, DWORD PTR -1520[rbp]
	movzx	eax, BYTE PTR -2744[rbp]
	movzx	edx, al
	lea	rsi, -2743[rbp]
	lea	rax, -1448[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1540[rbp]
	mov	ecx, DWORD PTR -1528[rbp]
	movzx	eax, BYTE PTR -2743[rbp]
	movzx	edx, al
	lea	rsi, -2742[rbp]
	lea	rax, -1444[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1548[rbp]
	mov	ecx, DWORD PTR -1536[rbp]
	movzx	eax, BYTE PTR -2742[rbp]
	movzx	edx, al
	lea	rsi, -2741[rbp]
	lea	rax, -1440[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1476[rbp]
	mov	edx, DWORD PTR -1596[rbp]
	lea	rsi, -2740[rbp]
	lea	rax, -1436[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1472[rbp]
	mov	ecx, DWORD PTR -1592[rbp]
	movzx	eax, BYTE PTR -2740[rbp]
	movzx	edx, al
	lea	rsi, -2739[rbp]
	lea	rax, -1432[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1588[rbp]
	movzx	eax, BYTE PTR -2739[rbp]
	movzx	edx, al
	lea	rsi, -2738[rbp]
	lea	rax, -1428[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1484[rbp]
	mov	ecx, DWORD PTR -1584[rbp]
	movzx	eax, BYTE PTR -2738[rbp]
	movzx	edx, al
	lea	rsi, -2737[rbp]
	lea	rax, -1424[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1468[rbp]
	mov	ecx, DWORD PTR -1580[rbp]
	movzx	eax, BYTE PTR -2737[rbp]
	movzx	edx, al
	lea	rsi, -2736[rbp]
	lea	rax, -1420[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1464[rbp]
	mov	ecx, DWORD PTR -1576[rbp]
	movzx	eax, BYTE PTR -2736[rbp]
	movzx	edx, al
	lea	rsi, -2735[rbp]
	lea	rax, -1416[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1460[rbp]
	mov	ecx, DWORD PTR -1572[rbp]
	movzx	eax, BYTE PTR -2735[rbp]
	movzx	edx, al
	lea	rsi, -2734[rbp]
	lea	rax, -1412[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1456[rbp]
	mov	ecx, DWORD PTR -1568[rbp]
	movzx	eax, BYTE PTR -2734[rbp]
	movzx	edx, al
	lea	rsi, -2733[rbp]
	lea	rax, -1408[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1452[rbp]
	mov	ecx, DWORD PTR -1564[rbp]
	movzx	eax, BYTE PTR -2733[rbp]
	movzx	edx, al
	lea	rsi, -2732[rbp]
	lea	rax, -1404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1448[rbp]
	mov	ecx, DWORD PTR -1560[rbp]
	movzx	eax, BYTE PTR -2732[rbp]
	movzx	edx, al
	lea	rsi, -2731[rbp]
	lea	rax, -1400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1444[rbp]
	mov	ecx, DWORD PTR -1556[rbp]
	movzx	eax, BYTE PTR -2731[rbp]
	movzx	edx, al
	lea	rsi, -2730[rbp]
	lea	rax, -1396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1440[rbp]
	mov	ecx, DWORD PTR -1552[rbp]
	movzx	eax, BYTE PTR -2730[rbp]
	movzx	edx, al
	lea	rsi, -2729[rbp]
	lea	rax, -1392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2741[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1544[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2749[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2761[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2729[rbp]
	movzx	edx, al
	lea	rsi, -2728[rbp]
	lea	rax, -1388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1432[rbp]
	lea	rsi, -2727[rbp]
	lea	rax, -1384[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1428[rbp]
	movzx	eax, BYTE PTR -2727[rbp]
	movzx	edx, al
	lea	rsi, -2726[rbp]
	lea	rax, -1380[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1424[rbp]
	movzx	eax, BYTE PTR -2726[rbp]
	movzx	edx, al
	lea	rsi, -2725[rbp]
	lea	rax, -1376[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1420[rbp]
	movzx	eax, BYTE PTR -2725[rbp]
	movzx	edx, al
	lea	rsi, -2724[rbp]
	lea	rax, -1372[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1416[rbp]
	movzx	eax, BYTE PTR -2724[rbp]
	movzx	edx, al
	lea	rsi, -2723[rbp]
	lea	rax, -1368[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1412[rbp]
	movzx	eax, BYTE PTR -2723[rbp]
	movzx	edx, al
	lea	rsi, -2722[rbp]
	lea	rax, -1364[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1408[rbp]
	movzx	eax, BYTE PTR -2722[rbp]
	movzx	edx, al
	lea	rsi, -2721[rbp]
	lea	rax, -1360[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1404[rbp]
	movzx	eax, BYTE PTR -2721[rbp]
	movzx	edx, al
	lea	rsi, -2720[rbp]
	lea	rax, -1356[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1400[rbp]
	movzx	eax, BYTE PTR -2720[rbp]
	movzx	edx, al
	lea	rsi, -2719[rbp]
	lea	rax, -1352[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1396[rbp]
	movzx	eax, BYTE PTR -2719[rbp]
	movzx	edx, al
	lea	rsi, -2718[rbp]
	lea	rax, -1348[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1392[rbp]
	movzx	eax, BYTE PTR -2718[rbp]
	movzx	edx, al
	lea	rsi, -2717[rbp]
	lea	rax, -1344[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1388[rbp]
	movzx	eax, BYTE PTR -2717[rbp]
	movzx	edx, al
	lea	rsi, -2716[rbp]
	lea	rax, -1340[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1332[rbp]
	lea	rax, -1336[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1324[rbp]
	lea	rax, -1328[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1316[rbp]
	lea	rax, -1320[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1308[rbp]
	lea	rax, -1312[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1300[rbp]
	lea	rax, -1304[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1292[rbp]
	lea	rax, -1296[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1284[rbp]
	lea	rax, -1288[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1276[rbp]
	lea	rax, -1280[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1268[rbp]
	lea	rax, -1272[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -1260[rbp]
	lea	rax, -1264[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1280[rbp]
	mov	edx, DWORD PTR -1268[rbp]
	lea	rsi, -2715[rbp]
	lea	rax, -1256[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1288[rbp]
	mov	ecx, DWORD PTR -1276[rbp]
	movzx	eax, BYTE PTR -2715[rbp]
	movzx	edx, al
	lea	rsi, -2714[rbp]
	lea	rax, -1252[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1296[rbp]
	mov	ecx, DWORD PTR -1284[rbp]
	movzx	eax, BYTE PTR -2714[rbp]
	movzx	edx, al
	lea	rsi, -2713[rbp]
	lea	rax, -1248[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1304[rbp]
	mov	ecx, DWORD PTR -1292[rbp]
	movzx	eax, BYTE PTR -2713[rbp]
	movzx	edx, al
	lea	rsi, -2712[rbp]
	lea	rax, -1244[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1312[rbp]
	mov	ecx, DWORD PTR -1300[rbp]
	movzx	eax, BYTE PTR -2712[rbp]
	movzx	edx, al
	lea	rsi, -2711[rbp]
	lea	rax, -1240[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1320[rbp]
	mov	ecx, DWORD PTR -1308[rbp]
	movzx	eax, BYTE PTR -2711[rbp]
	movzx	edx, al
	lea	rsi, -2710[rbp]
	lea	rax, -1236[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1328[rbp]
	mov	ecx, DWORD PTR -1316[rbp]
	movzx	eax, BYTE PTR -2710[rbp]
	movzx	edx, al
	lea	rsi, -2709[rbp]
	lea	rax, -1232[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1336[rbp]
	mov	ecx, DWORD PTR -1324[rbp]
	movzx	eax, BYTE PTR -2709[rbp]
	movzx	edx, al
	lea	rsi, -2708[rbp]
	lea	rax, -1228[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1264[rbp]
	mov	edx, DWORD PTR -1384[rbp]
	lea	rsi, -2707[rbp]
	lea	rax, -1224[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1260[rbp]
	mov	ecx, DWORD PTR -1380[rbp]
	movzx	eax, BYTE PTR -2707[rbp]
	movzx	edx, al
	lea	rsi, -2706[rbp]
	lea	rax, -1220[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1376[rbp]
	movzx	eax, BYTE PTR -2706[rbp]
	movzx	edx, al
	lea	rsi, -2705[rbp]
	lea	rax, -1216[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1272[rbp]
	mov	ecx, DWORD PTR -1372[rbp]
	movzx	eax, BYTE PTR -2705[rbp]
	movzx	edx, al
	lea	rsi, -2704[rbp]
	lea	rax, -1212[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1256[rbp]
	mov	ecx, DWORD PTR -1368[rbp]
	movzx	eax, BYTE PTR -2704[rbp]
	movzx	edx, al
	lea	rsi, -2703[rbp]
	lea	rax, -1208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1252[rbp]
	mov	ecx, DWORD PTR -1364[rbp]
	movzx	eax, BYTE PTR -2703[rbp]
	movzx	edx, al
	lea	rsi, -2702[rbp]
	lea	rax, -1204[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1248[rbp]
	mov	ecx, DWORD PTR -1360[rbp]
	movzx	eax, BYTE PTR -2702[rbp]
	movzx	edx, al
	lea	rsi, -2701[rbp]
	lea	rax, -1200[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1244[rbp]
	mov	ecx, DWORD PTR -1356[rbp]
	movzx	eax, BYTE PTR -2701[rbp]
	movzx	edx, al
	lea	rsi, -2700[rbp]
	lea	rax, -1196[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1352[rbp]
	movzx	eax, BYTE PTR -2700[rbp]
	movzx	edx, al
	lea	rsi, -2699[rbp]
	lea	rax, -1192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1236[rbp]
	mov	ecx, DWORD PTR -1348[rbp]
	movzx	eax, BYTE PTR -2699[rbp]
	movzx	edx, al
	lea	rsi, -2698[rbp]
	lea	rax, -1188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1232[rbp]
	mov	ecx, DWORD PTR -1344[rbp]
	movzx	eax, BYTE PTR -2698[rbp]
	movzx	edx, al
	lea	rsi, -2697[rbp]
	lea	rax, -1184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1228[rbp]
	mov	ecx, DWORD PTR -1340[rbp]
	movzx	eax, BYTE PTR -2697[rbp]
	movzx	edx, al
	lea	rsi, -2696[rbp]
	lea	rax, -1180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2708[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1332[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2716[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2728[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2696[rbp]
	movzx	edx, al
	lea	rsi, -2695[rbp]
	lea	rax, -1176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1220[rbp]
	lea	rsi, -2694[rbp]
	lea	rax, -1172[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1216[rbp]
	movzx	eax, BYTE PTR -2694[rbp]
	movzx	edx, al
	lea	rsi, -2693[rbp]
	lea	rax, -1168[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1212[rbp]
	movzx	eax, BYTE PTR -2693[rbp]
	movzx	edx, al
	lea	rsi, -2692[rbp]
	lea	rax, -1164[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1208[rbp]
	movzx	eax, BYTE PTR -2692[rbp]
	movzx	edx, al
	lea	rsi, -2691[rbp]
	lea	rax, -1160[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1204[rbp]
	movzx	eax, BYTE PTR -2691[rbp]
	movzx	edx, al
	lea	rsi, -2690[rbp]
	lea	rax, -1156[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1200[rbp]
	movzx	eax, BYTE PTR -2690[rbp]
	movzx	edx, al
	lea	rsi, -2689[rbp]
	lea	rax, -1152[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1196[rbp]
	movzx	eax, BYTE PTR -2689[rbp]
	movzx	edx, al
	lea	rsi, -2688[rbp]
	lea	rax, -1148[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1192[rbp]
	movzx	eax, BYTE PTR -2688[rbp]
	movzx	edx, al
	lea	rsi, -2687[rbp]
	lea	rax, -1144[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1188[rbp]
	movzx	eax, BYTE PTR -2687[rbp]
	movzx	edx, al
	lea	rsi, -2686[rbp]
	lea	rax, -1140[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1184[rbp]
	movzx	eax, BYTE PTR -2686[rbp]
	movzx	edx, al
	lea	rsi, -2685[rbp]
	lea	rax, -1136[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1180[rbp]
	movzx	eax, BYTE PTR -2685[rbp]
	movzx	edx, al
	lea	rsi, -2684[rbp]
	lea	rax, -1132[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1176[rbp]
	movzx	eax, BYTE PTR -2684[rbp]
	movzx	edx, al
	lea	rsi, -2683[rbp]
	lea	rax, -1128[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1120[rbp]
	lea	rax, -1124[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1112[rbp]
	lea	rax, -1116[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1104[rbp]
	lea	rax, -1108[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1096[rbp]
	lea	rax, -1100[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1088[rbp]
	lea	rax, -1092[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1080[rbp]
	lea	rax, -1084[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1072[rbp]
	lea	rax, -1076[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1064[rbp]
	lea	rax, -1068[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1056[rbp]
	lea	rax, -1060[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -1048[rbp]
	lea	rax, -1052[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -1068[rbp]
	mov	edx, DWORD PTR -1056[rbp]
	lea	rsi, -2682[rbp]
	lea	rax, -1044[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1076[rbp]
	mov	ecx, DWORD PTR -1064[rbp]
	movzx	eax, BYTE PTR -2682[rbp]
	movzx	edx, al
	lea	rsi, -2681[rbp]
	lea	rax, -1040[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1084[rbp]
	mov	ecx, DWORD PTR -1072[rbp]
	movzx	eax, BYTE PTR -2681[rbp]
	movzx	edx, al
	lea	rsi, -2680[rbp]
	lea	rax, -1036[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1092[rbp]
	mov	ecx, DWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR -2680[rbp]
	movzx	edx, al
	lea	rsi, -2679[rbp]
	lea	rax, -1032[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1100[rbp]
	mov	ecx, DWORD PTR -1088[rbp]
	movzx	eax, BYTE PTR -2679[rbp]
	movzx	edx, al
	lea	rsi, -2678[rbp]
	lea	rax, -1028[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1108[rbp]
	mov	ecx, DWORD PTR -1096[rbp]
	movzx	eax, BYTE PTR -2678[rbp]
	movzx	edx, al
	lea	rsi, -2677[rbp]
	lea	rax, -1024[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1116[rbp]
	mov	ecx, DWORD PTR -1104[rbp]
	movzx	eax, BYTE PTR -2677[rbp]
	movzx	edx, al
	lea	rsi, -2676[rbp]
	lea	rax, -1020[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1124[rbp]
	mov	ecx, DWORD PTR -1112[rbp]
	movzx	eax, BYTE PTR -2676[rbp]
	movzx	edx, al
	lea	rsi, -2675[rbp]
	lea	rax, -1016[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1052[rbp]
	mov	edx, DWORD PTR -1172[rbp]
	lea	rsi, -2674[rbp]
	lea	rax, -1012[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1048[rbp]
	mov	ecx, DWORD PTR -1168[rbp]
	movzx	eax, BYTE PTR -2674[rbp]
	movzx	edx, al
	lea	rsi, -2673[rbp]
	lea	rax, -1008[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1164[rbp]
	movzx	eax, BYTE PTR -2673[rbp]
	movzx	edx, al
	lea	rsi, -2672[rbp]
	lea	rax, -1004[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1060[rbp]
	mov	ecx, DWORD PTR -1160[rbp]
	movzx	eax, BYTE PTR -2672[rbp]
	movzx	edx, al
	lea	rsi, -2671[rbp]
	lea	rax, -1000[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1044[rbp]
	mov	ecx, DWORD PTR -1156[rbp]
	movzx	eax, BYTE PTR -2671[rbp]
	movzx	edx, al
	lea	rsi, -2670[rbp]
	lea	rax, -996[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1040[rbp]
	mov	ecx, DWORD PTR -1152[rbp]
	movzx	eax, BYTE PTR -2670[rbp]
	movzx	edx, al
	lea	rsi, -2669[rbp]
	lea	rax, -992[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1036[rbp]
	mov	ecx, DWORD PTR -1148[rbp]
	movzx	eax, BYTE PTR -2669[rbp]
	movzx	edx, al
	lea	rsi, -2668[rbp]
	lea	rax, -988[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1032[rbp]
	mov	ecx, DWORD PTR -1144[rbp]
	movzx	eax, BYTE PTR -2668[rbp]
	movzx	edx, al
	lea	rsi, -2667[rbp]
	lea	rax, -984[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1028[rbp]
	mov	ecx, DWORD PTR -1140[rbp]
	movzx	eax, BYTE PTR -2667[rbp]
	movzx	edx, al
	lea	rsi, -2666[rbp]
	lea	rax, -980[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1024[rbp]
	mov	ecx, DWORD PTR -1136[rbp]
	movzx	eax, BYTE PTR -2666[rbp]
	movzx	edx, al
	lea	rsi, -2665[rbp]
	lea	rax, -976[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1020[rbp]
	mov	ecx, DWORD PTR -1132[rbp]
	movzx	eax, BYTE PTR -2665[rbp]
	movzx	edx, al
	lea	rsi, -2664[rbp]
	lea	rax, -972[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -1016[rbp]
	mov	ecx, DWORD PTR -1128[rbp]
	movzx	eax, BYTE PTR -2664[rbp]
	movzx	edx, al
	lea	rsi, -2663[rbp]
	lea	rax, -968[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2675[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -1120[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2683[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2695[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2663[rbp]
	movzx	edx, al
	lea	rsi, -2662[rbp]
	lea	rax, -964[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -1008[rbp]
	lea	rsi, -2661[rbp]
	lea	rax, -960[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1004[rbp]
	movzx	eax, BYTE PTR -2661[rbp]
	movzx	edx, al
	lea	rsi, -2660[rbp]
	lea	rax, -956[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -1000[rbp]
	movzx	eax, BYTE PTR -2660[rbp]
	movzx	edx, al
	lea	rsi, -2659[rbp]
	lea	rax, -952[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -996[rbp]
	movzx	eax, BYTE PTR -2659[rbp]
	movzx	edx, al
	lea	rsi, -2658[rbp]
	lea	rax, -948[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -992[rbp]
	movzx	eax, BYTE PTR -2658[rbp]
	movzx	edx, al
	lea	rsi, -2657[rbp]
	lea	rax, -944[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -988[rbp]
	movzx	eax, BYTE PTR -2657[rbp]
	movzx	edx, al
	lea	rsi, -2656[rbp]
	lea	rax, -940[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -984[rbp]
	movzx	eax, BYTE PTR -2656[rbp]
	movzx	edx, al
	lea	rsi, -2655[rbp]
	lea	rax, -936[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -980[rbp]
	movzx	eax, BYTE PTR -2655[rbp]
	movzx	edx, al
	lea	rsi, -2654[rbp]
	lea	rax, -932[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -976[rbp]
	movzx	eax, BYTE PTR -2654[rbp]
	movzx	edx, al
	lea	rsi, -2653[rbp]
	lea	rax, -928[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -972[rbp]
	movzx	eax, BYTE PTR -2653[rbp]
	movzx	edx, al
	lea	rsi, -2652[rbp]
	lea	rax, -924[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -968[rbp]
	movzx	eax, BYTE PTR -2652[rbp]
	movzx	edx, al
	lea	rsi, -2651[rbp]
	lea	rax, -920[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -964[rbp]
	movzx	eax, BYTE PTR -2651[rbp]
	movzx	edx, al
	lea	rsi, -2650[rbp]
	lea	rax, -916[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -908[rbp]
	lea	rax, -912[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -900[rbp]
	lea	rax, -904[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -892[rbp]
	lea	rax, -896[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -884[rbp]
	lea	rax, -888[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -876[rbp]
	lea	rax, -880[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -868[rbp]
	lea	rax, -872[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -860[rbp]
	lea	rax, -864[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -852[rbp]
	lea	rax, -856[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -844[rbp]
	lea	rax, -848[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -836[rbp]
	lea	rax, -840[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -856[rbp]
	mov	edx, DWORD PTR -844[rbp]
	lea	rsi, -2649[rbp]
	lea	rax, -832[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -864[rbp]
	mov	ecx, DWORD PTR -852[rbp]
	movzx	eax, BYTE PTR -2649[rbp]
	movzx	edx, al
	lea	rsi, -2648[rbp]
	lea	rax, -828[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -872[rbp]
	mov	ecx, DWORD PTR -860[rbp]
	movzx	eax, BYTE PTR -2648[rbp]
	movzx	edx, al
	lea	rsi, -2647[rbp]
	lea	rax, -824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -880[rbp]
	mov	ecx, DWORD PTR -868[rbp]
	movzx	eax, BYTE PTR -2647[rbp]
	movzx	edx, al
	lea	rsi, -2646[rbp]
	lea	rax, -820[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -888[rbp]
	mov	ecx, DWORD PTR -876[rbp]
	movzx	eax, BYTE PTR -2646[rbp]
	movzx	edx, al
	lea	rsi, -2645[rbp]
	lea	rax, -816[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -896[rbp]
	mov	ecx, DWORD PTR -884[rbp]
	movzx	eax, BYTE PTR -2645[rbp]
	movzx	edx, al
	lea	rsi, -2644[rbp]
	lea	rax, -812[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -904[rbp]
	mov	ecx, DWORD PTR -892[rbp]
	movzx	eax, BYTE PTR -2644[rbp]
	movzx	edx, al
	lea	rsi, -2643[rbp]
	lea	rax, -808[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -912[rbp]
	mov	ecx, DWORD PTR -900[rbp]
	movzx	eax, BYTE PTR -2643[rbp]
	movzx	edx, al
	lea	rsi, -2642[rbp]
	lea	rax, -804[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -840[rbp]
	mov	edx, DWORD PTR -960[rbp]
	lea	rsi, -2641[rbp]
	lea	rax, -800[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -836[rbp]
	mov	ecx, DWORD PTR -956[rbp]
	movzx	eax, BYTE PTR -2641[rbp]
	movzx	edx, al
	lea	rsi, -2640[rbp]
	lea	rax, -796[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -952[rbp]
	movzx	eax, BYTE PTR -2640[rbp]
	movzx	edx, al
	lea	rsi, -2639[rbp]
	lea	rax, -792[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -848[rbp]
	mov	ecx, DWORD PTR -948[rbp]
	movzx	eax, BYTE PTR -2639[rbp]
	movzx	edx, al
	lea	rsi, -2638[rbp]
	lea	rax, -788[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -832[rbp]
	mov	ecx, DWORD PTR -944[rbp]
	movzx	eax, BYTE PTR -2638[rbp]
	movzx	edx, al
	lea	rsi, -2637[rbp]
	lea	rax, -784[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -828[rbp]
	mov	ecx, DWORD PTR -940[rbp]
	movzx	eax, BYTE PTR -2637[rbp]
	movzx	edx, al
	lea	rsi, -2636[rbp]
	lea	rax, -780[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -824[rbp]
	mov	ecx, DWORD PTR -936[rbp]
	movzx	eax, BYTE PTR -2636[rbp]
	movzx	edx, al
	lea	rsi, -2635[rbp]
	lea	rax, -776[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -820[rbp]
	mov	ecx, DWORD PTR -932[rbp]
	movzx	eax, BYTE PTR -2635[rbp]
	movzx	edx, al
	lea	rsi, -2634[rbp]
	lea	rax, -772[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -816[rbp]
	mov	ecx, DWORD PTR -928[rbp]
	movzx	eax, BYTE PTR -2634[rbp]
	movzx	edx, al
	lea	rsi, -2633[rbp]
	lea	rax, -768[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -812[rbp]
	mov	ecx, DWORD PTR -924[rbp]
	movzx	eax, BYTE PTR -2633[rbp]
	movzx	edx, al
	lea	rsi, -2632[rbp]
	lea	rax, -764[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -808[rbp]
	mov	ecx, DWORD PTR -920[rbp]
	movzx	eax, BYTE PTR -2632[rbp]
	movzx	edx, al
	lea	rsi, -2631[rbp]
	lea	rax, -760[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -804[rbp]
	mov	ecx, DWORD PTR -916[rbp]
	movzx	eax, BYTE PTR -2631[rbp]
	movzx	edx, al
	lea	rsi, -2630[rbp]
	lea	rax, -756[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2642[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -908[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2650[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2662[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2630[rbp]
	movzx	edx, al
	lea	rsi, -2629[rbp]
	lea	rax, -752[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -796[rbp]
	lea	rsi, -2628[rbp]
	lea	rax, -748[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -792[rbp]
	movzx	eax, BYTE PTR -2628[rbp]
	movzx	edx, al
	lea	rsi, -2627[rbp]
	lea	rax, -744[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -788[rbp]
	movzx	eax, BYTE PTR -2627[rbp]
	movzx	edx, al
	lea	rsi, -2626[rbp]
	lea	rax, -740[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -784[rbp]
	movzx	eax, BYTE PTR -2626[rbp]
	movzx	edx, al
	lea	rsi, -2625[rbp]
	lea	rax, -736[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -780[rbp]
	movzx	eax, BYTE PTR -2625[rbp]
	movzx	edx, al
	lea	rsi, -2624[rbp]
	lea	rax, -732[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -776[rbp]
	movzx	eax, BYTE PTR -2624[rbp]
	movzx	edx, al
	lea	rsi, -2623[rbp]
	lea	rax, -728[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -772[rbp]
	movzx	eax, BYTE PTR -2623[rbp]
	movzx	edx, al
	lea	rsi, -2622[rbp]
	lea	rax, -724[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -768[rbp]
	movzx	eax, BYTE PTR -2622[rbp]
	movzx	edx, al
	lea	rsi, -2621[rbp]
	lea	rax, -720[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -764[rbp]
	movzx	eax, BYTE PTR -2621[rbp]
	movzx	edx, al
	lea	rsi, -2620[rbp]
	lea	rax, -716[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -760[rbp]
	movzx	eax, BYTE PTR -2620[rbp]
	movzx	edx, al
	lea	rsi, -2619[rbp]
	lea	rax, -712[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -756[rbp]
	movzx	eax, BYTE PTR -2619[rbp]
	movzx	edx, al
	lea	rsi, -2618[rbp]
	lea	rax, -708[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -752[rbp]
	movzx	eax, BYTE PTR -2618[rbp]
	movzx	edx, al
	lea	rsi, -2617[rbp]
	lea	rax, -704[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -696[rbp]
	lea	rax, -700[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -688[rbp]
	lea	rax, -692[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -680[rbp]
	lea	rax, -684[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -672[rbp]
	lea	rax, -676[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -664[rbp]
	lea	rax, -668[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -656[rbp]
	lea	rax, -660[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -648[rbp]
	lea	rax, -652[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -640[rbp]
	lea	rax, -644[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -632[rbp]
	lea	rax, -636[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -624[rbp]
	lea	rax, -628[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -644[rbp]
	mov	edx, DWORD PTR -632[rbp]
	lea	rsi, -2616[rbp]
	lea	rax, -620[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -652[rbp]
	mov	ecx, DWORD PTR -640[rbp]
	movzx	eax, BYTE PTR -2616[rbp]
	movzx	edx, al
	lea	rsi, -2615[rbp]
	lea	rax, -616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -660[rbp]
	mov	ecx, DWORD PTR -648[rbp]
	movzx	eax, BYTE PTR -2615[rbp]
	movzx	edx, al
	lea	rsi, -2614[rbp]
	lea	rax, -612[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -668[rbp]
	mov	ecx, DWORD PTR -656[rbp]
	movzx	eax, BYTE PTR -2614[rbp]
	movzx	edx, al
	lea	rsi, -2613[rbp]
	lea	rax, -608[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -676[rbp]
	mov	ecx, DWORD PTR -664[rbp]
	movzx	eax, BYTE PTR -2613[rbp]
	movzx	edx, al
	lea	rsi, -2612[rbp]
	lea	rax, -604[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -684[rbp]
	mov	ecx, DWORD PTR -672[rbp]
	movzx	eax, BYTE PTR -2612[rbp]
	movzx	edx, al
	lea	rsi, -2611[rbp]
	lea	rax, -600[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -692[rbp]
	mov	ecx, DWORD PTR -680[rbp]
	movzx	eax, BYTE PTR -2611[rbp]
	movzx	edx, al
	lea	rsi, -2610[rbp]
	lea	rax, -596[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -700[rbp]
	mov	ecx, DWORD PTR -688[rbp]
	movzx	eax, BYTE PTR -2610[rbp]
	movzx	edx, al
	lea	rsi, -2609[rbp]
	lea	rax, -592[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -628[rbp]
	mov	edx, DWORD PTR -748[rbp]
	lea	rsi, -2608[rbp]
	lea	rax, -588[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -624[rbp]
	mov	ecx, DWORD PTR -744[rbp]
	movzx	eax, BYTE PTR -2608[rbp]
	movzx	edx, al
	lea	rsi, -2607[rbp]
	lea	rax, -584[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -740[rbp]
	movzx	eax, BYTE PTR -2607[rbp]
	movzx	edx, al
	lea	rsi, -2606[rbp]
	lea	rax, -580[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -636[rbp]
	mov	ecx, DWORD PTR -736[rbp]
	movzx	eax, BYTE PTR -2606[rbp]
	movzx	edx, al
	lea	rsi, -2605[rbp]
	lea	rax, -576[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -620[rbp]
	mov	ecx, DWORD PTR -732[rbp]
	movzx	eax, BYTE PTR -2605[rbp]
	movzx	edx, al
	lea	rsi, -2604[rbp]
	lea	rax, -572[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -616[rbp]
	mov	ecx, DWORD PTR -728[rbp]
	movzx	eax, BYTE PTR -2604[rbp]
	movzx	edx, al
	lea	rsi, -2603[rbp]
	lea	rax, -568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -612[rbp]
	mov	ecx, DWORD PTR -724[rbp]
	movzx	eax, BYTE PTR -2603[rbp]
	movzx	edx, al
	lea	rsi, -2602[rbp]
	lea	rax, -564[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -608[rbp]
	mov	ecx, DWORD PTR -720[rbp]
	movzx	eax, BYTE PTR -2602[rbp]
	movzx	edx, al
	lea	rsi, -2601[rbp]
	lea	rax, -560[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -604[rbp]
	mov	ecx, DWORD PTR -716[rbp]
	movzx	eax, BYTE PTR -2601[rbp]
	movzx	edx, al
	lea	rsi, -2600[rbp]
	lea	rax, -556[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -600[rbp]
	mov	ecx, DWORD PTR -712[rbp]
	movzx	eax, BYTE PTR -2600[rbp]
	movzx	edx, al
	lea	rsi, -2599[rbp]
	lea	rax, -552[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -596[rbp]
	mov	ecx, DWORD PTR -708[rbp]
	movzx	eax, BYTE PTR -2599[rbp]
	movzx	edx, al
	lea	rsi, -2598[rbp]
	lea	rax, -548[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -592[rbp]
	mov	ecx, DWORD PTR -704[rbp]
	movzx	eax, BYTE PTR -2598[rbp]
	movzx	edx, al
	lea	rsi, -2597[rbp]
	lea	rax, -544[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2609[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -696[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2617[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2629[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2597[rbp]
	movzx	edx, al
	lea	rsi, -2596[rbp]
	lea	rax, -540[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -584[rbp]
	lea	rsi, -2595[rbp]
	lea	rax, -536[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -580[rbp]
	movzx	eax, BYTE PTR -2595[rbp]
	movzx	edx, al
	lea	rsi, -2594[rbp]
	lea	rax, -532[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -576[rbp]
	movzx	eax, BYTE PTR -2594[rbp]
	movzx	edx, al
	lea	rsi, -2593[rbp]
	lea	rax, -528[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -572[rbp]
	movzx	eax, BYTE PTR -2593[rbp]
	movzx	edx, al
	lea	rsi, -2592[rbp]
	lea	rax, -524[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -568[rbp]
	movzx	eax, BYTE PTR -2592[rbp]
	movzx	edx, al
	lea	rsi, -2591[rbp]
	lea	rax, -520[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -564[rbp]
	movzx	eax, BYTE PTR -2591[rbp]
	movzx	edx, al
	lea	rsi, -2590[rbp]
	lea	rax, -516[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -560[rbp]
	movzx	eax, BYTE PTR -2590[rbp]
	movzx	edx, al
	lea	rsi, -2589[rbp]
	lea	rax, -512[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -556[rbp]
	movzx	eax, BYTE PTR -2589[rbp]
	movzx	edx, al
	lea	rsi, -2588[rbp]
	lea	rax, -508[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -552[rbp]
	movzx	eax, BYTE PTR -2588[rbp]
	movzx	edx, al
	lea	rsi, -2587[rbp]
	lea	rax, -504[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -548[rbp]
	movzx	eax, BYTE PTR -2587[rbp]
	movzx	edx, al
	lea	rsi, -2586[rbp]
	lea	rax, -500[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -544[rbp]
	movzx	eax, BYTE PTR -2586[rbp]
	movzx	edx, al
	lea	rsi, -2585[rbp]
	lea	rax, -496[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -540[rbp]
	movzx	eax, BYTE PTR -2585[rbp]
	movzx	edx, al
	lea	rsi, -2584[rbp]
	lea	rax, -492[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -484[rbp]
	lea	rax, -488[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -476[rbp]
	lea	rax, -480[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -468[rbp]
	lea	rax, -472[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -460[rbp]
	lea	rax, -464[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -452[rbp]
	lea	rax, -456[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -444[rbp]
	lea	rax, -448[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -436[rbp]
	lea	rax, -440[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -428[rbp]
	lea	rax, -432[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -420[rbp]
	lea	rax, -424[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -412[rbp]
	lea	rax, -416[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -432[rbp]
	mov	edx, DWORD PTR -420[rbp]
	lea	rsi, -2583[rbp]
	lea	rax, -408[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -440[rbp]
	mov	ecx, DWORD PTR -428[rbp]
	movzx	eax, BYTE PTR -2583[rbp]
	movzx	edx, al
	lea	rsi, -2582[rbp]
	lea	rax, -404[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -448[rbp]
	mov	ecx, DWORD PTR -436[rbp]
	movzx	eax, BYTE PTR -2582[rbp]
	movzx	edx, al
	lea	rsi, -2581[rbp]
	lea	rax, -400[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -456[rbp]
	mov	ecx, DWORD PTR -444[rbp]
	movzx	eax, BYTE PTR -2581[rbp]
	movzx	edx, al
	lea	rsi, -2580[rbp]
	lea	rax, -396[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -464[rbp]
	mov	ecx, DWORD PTR -452[rbp]
	movzx	eax, BYTE PTR -2580[rbp]
	movzx	edx, al
	lea	rsi, -2579[rbp]
	lea	rax, -392[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -472[rbp]
	mov	ecx, DWORD PTR -460[rbp]
	movzx	eax, BYTE PTR -2579[rbp]
	movzx	edx, al
	lea	rsi, -2578[rbp]
	lea	rax, -388[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -480[rbp]
	mov	ecx, DWORD PTR -468[rbp]
	movzx	eax, BYTE PTR -2578[rbp]
	movzx	edx, al
	lea	rsi, -2577[rbp]
	lea	rax, -384[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -488[rbp]
	mov	ecx, DWORD PTR -476[rbp]
	movzx	eax, BYTE PTR -2577[rbp]
	movzx	edx, al
	lea	rsi, -2576[rbp]
	lea	rax, -380[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -416[rbp]
	mov	edx, DWORD PTR -536[rbp]
	lea	rsi, -2575[rbp]
	lea	rax, -376[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -412[rbp]
	mov	ecx, DWORD PTR -532[rbp]
	movzx	eax, BYTE PTR -2575[rbp]
	movzx	edx, al
	lea	rsi, -2574[rbp]
	lea	rax, -372[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -528[rbp]
	movzx	eax, BYTE PTR -2574[rbp]
	movzx	edx, al
	lea	rsi, -2573[rbp]
	lea	rax, -368[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -424[rbp]
	mov	ecx, DWORD PTR -524[rbp]
	movzx	eax, BYTE PTR -2573[rbp]
	movzx	edx, al
	lea	rsi, -2572[rbp]
	lea	rax, -364[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -408[rbp]
	mov	ecx, DWORD PTR -520[rbp]
	movzx	eax, BYTE PTR -2572[rbp]
	movzx	edx, al
	lea	rsi, -2571[rbp]
	lea	rax, -360[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -404[rbp]
	mov	ecx, DWORD PTR -516[rbp]
	movzx	eax, BYTE PTR -2571[rbp]
	movzx	edx, al
	lea	rsi, -2570[rbp]
	lea	rax, -356[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -400[rbp]
	mov	ecx, DWORD PTR -512[rbp]
	movzx	eax, BYTE PTR -2570[rbp]
	movzx	edx, al
	lea	rsi, -2569[rbp]
	lea	rax, -352[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -508[rbp]
	movzx	eax, BYTE PTR -2569[rbp]
	movzx	edx, al
	lea	rsi, -2568[rbp]
	lea	rax, -348[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -392[rbp]
	mov	ecx, DWORD PTR -504[rbp]
	movzx	eax, BYTE PTR -2568[rbp]
	movzx	edx, al
	lea	rsi, -2567[rbp]
	lea	rax, -344[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -388[rbp]
	mov	ecx, DWORD PTR -500[rbp]
	movzx	eax, BYTE PTR -2567[rbp]
	movzx	edx, al
	lea	rsi, -2566[rbp]
	lea	rax, -340[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -384[rbp]
	mov	ecx, DWORD PTR -496[rbp]
	movzx	eax, BYTE PTR -2566[rbp]
	movzx	edx, al
	lea	rsi, -2565[rbp]
	lea	rax, -336[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -380[rbp]
	mov	ecx, DWORD PTR -492[rbp]
	movzx	eax, BYTE PTR -2565[rbp]
	movzx	edx, al
	lea	rsi, -2564[rbp]
	lea	rax, -332[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2576[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -484[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2584[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2596[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2564[rbp]
	movzx	edx, al
	lea	rsi, -2563[rbp]
	lea	rax, -328[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	rax, QWORD PTR -2912[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -372[rbp]
	lea	rsi, -2562[rbp]
	lea	rax, -324[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -368[rbp]
	movzx	eax, BYTE PTR -2562[rbp]
	movzx	edx, al
	lea	rsi, -2561[rbp]
	lea	rax, -320[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -364[rbp]
	movzx	eax, BYTE PTR -2561[rbp]
	movzx	edx, al
	lea	rsi, -2560[rbp]
	lea	rax, -316[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -360[rbp]
	movzx	eax, BYTE PTR -2560[rbp]
	movzx	edx, al
	lea	rsi, -2559[rbp]
	lea	rax, -312[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -356[rbp]
	movzx	eax, BYTE PTR -2559[rbp]
	movzx	edx, al
	lea	rsi, -2558[rbp]
	lea	rax, -308[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -352[rbp]
	movzx	eax, BYTE PTR -2558[rbp]
	movzx	edx, al
	lea	rsi, -2557[rbp]
	lea	rax, -304[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -348[rbp]
	movzx	eax, BYTE PTR -2557[rbp]
	movzx	edx, al
	lea	rsi, -2556[rbp]
	lea	rax, -300[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -344[rbp]
	movzx	eax, BYTE PTR -2556[rbp]
	movzx	edx, al
	lea	rsi, -2555[rbp]
	lea	rax, -296[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -340[rbp]
	movzx	eax, BYTE PTR -2555[rbp]
	movzx	edx, al
	lea	rsi, -2554[rbp]
	lea	rax, -292[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -336[rbp]
	movzx	eax, BYTE PTR -2554[rbp]
	movzx	edx, al
	lea	rsi, -2553[rbp]
	lea	rax, -288[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -332[rbp]
	movzx	eax, BYTE PTR -2553[rbp]
	movzx	edx, al
	lea	rsi, -2552[rbp]
	lea	rax, -284[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -328[rbp]
	movzx	eax, BYTE PTR -2552[rbp]
	movzx	edx, al
	lea	rsi, -2551[rbp]
	lea	rax, -280[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -272[rbp]
	lea	rax, -276[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -264[rbp]
	lea	rax, -268[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -256[rbp]
	lea	rax, -260[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -248[rbp]
	lea	rax, -252[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -240[rbp]
	lea	rax, -244[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -232[rbp]
	lea	rax, -236[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -224[rbp]
	lea	rax, -228[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -216[rbp]
	lea	rax, -220[rbp]
	mov	ecx, -2
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -208[rbp]
	lea	rax, -212[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -200[rbp]
	lea	rax, -204[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	fiat_p384_mulx_u32
	mov	ecx, DWORD PTR -220[rbp]
	mov	edx, DWORD PTR -208[rbp]
	lea	rsi, -2550[rbp]
	lea	rax, -196[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -228[rbp]
	mov	ecx, DWORD PTR -216[rbp]
	movzx	eax, BYTE PTR -2550[rbp]
	movzx	edx, al
	lea	rsi, -2549[rbp]
	lea	rax, -192[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -236[rbp]
	mov	ecx, DWORD PTR -224[rbp]
	movzx	eax, BYTE PTR -2549[rbp]
	movzx	edx, al
	lea	rsi, -2548[rbp]
	lea	rax, -188[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -244[rbp]
	mov	ecx, DWORD PTR -232[rbp]
	movzx	eax, BYTE PTR -2548[rbp]
	movzx	edx, al
	lea	rsi, -2547[rbp]
	lea	rax, -184[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -252[rbp]
	mov	ecx, DWORD PTR -240[rbp]
	movzx	eax, BYTE PTR -2547[rbp]
	movzx	edx, al
	lea	rsi, -2546[rbp]
	lea	rax, -180[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -260[rbp]
	mov	ecx, DWORD PTR -248[rbp]
	movzx	eax, BYTE PTR -2546[rbp]
	movzx	edx, al
	lea	rsi, -2545[rbp]
	lea	rax, -176[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -268[rbp]
	mov	ecx, DWORD PTR -256[rbp]
	movzx	eax, BYTE PTR -2545[rbp]
	movzx	edx, al
	lea	rsi, -2544[rbp]
	lea	rax, -172[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -276[rbp]
	mov	ecx, DWORD PTR -264[rbp]
	movzx	eax, BYTE PTR -2544[rbp]
	movzx	edx, al
	lea	rsi, -2543[rbp]
	lea	rax, -168[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -204[rbp]
	mov	edx, DWORD PTR -324[rbp]
	lea	rsi, -2542[rbp]
	lea	rax, -164[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -200[rbp]
	mov	ecx, DWORD PTR -320[rbp]
	movzx	eax, BYTE PTR -2542[rbp]
	movzx	edx, al
	lea	rsi, -2541[rbp]
	lea	rax, -160[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	ecx, DWORD PTR -316[rbp]
	movzx	eax, BYTE PTR -2541[rbp]
	movzx	edx, al
	lea	rsi, -2540[rbp]
	lea	rax, -156[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -212[rbp]
	mov	ecx, DWORD PTR -312[rbp]
	movzx	eax, BYTE PTR -2540[rbp]
	movzx	edx, al
	lea	rsi, -2539[rbp]
	lea	rax, -152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -196[rbp]
	mov	ecx, DWORD PTR -308[rbp]
	movzx	eax, BYTE PTR -2539[rbp]
	movzx	edx, al
	lea	rsi, -2538[rbp]
	lea	rax, -148[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -192[rbp]
	mov	ecx, DWORD PTR -304[rbp]
	movzx	eax, BYTE PTR -2538[rbp]
	movzx	edx, al
	lea	rsi, -2537[rbp]
	lea	rax, -144[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -188[rbp]
	mov	ecx, DWORD PTR -300[rbp]
	movzx	eax, BYTE PTR -2537[rbp]
	movzx	edx, al
	lea	rsi, -2536[rbp]
	lea	rax, -140[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -184[rbp]
	mov	ecx, DWORD PTR -296[rbp]
	movzx	eax, BYTE PTR -2536[rbp]
	movzx	edx, al
	lea	rsi, -2535[rbp]
	lea	rax, -136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -180[rbp]
	mov	ecx, DWORD PTR -292[rbp]
	movzx	eax, BYTE PTR -2535[rbp]
	movzx	edx, al
	lea	rsi, -2534[rbp]
	lea	rax, -132[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -176[rbp]
	mov	ecx, DWORD PTR -288[rbp]
	movzx	eax, BYTE PTR -2534[rbp]
	movzx	edx, al
	lea	rsi, -2533[rbp]
	lea	rax, -128[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -172[rbp]
	mov	ecx, DWORD PTR -284[rbp]
	movzx	eax, BYTE PTR -2533[rbp]
	movzx	edx, al
	lea	rsi, -2532[rbp]
	lea	rax, -124[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edi, DWORD PTR -168[rbp]
	mov	ecx, DWORD PTR -280[rbp]
	movzx	eax, BYTE PTR -2532[rbp]
	movzx	edx, al
	lea	rsi, -2531[rbp]
	lea	rax, -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	movzx	eax, BYTE PTR -2543[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -272[rbp]
	lea	edi, [rdx+rax]
	movzx	eax, BYTE PTR -2551[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -2563[rbp]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	movzx	eax, BYTE PTR -2531[rbp]
	movzx	edx, al
	lea	rsi, -2530[rbp]
	lea	rax, -116[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fiat_p384_addcarryx_u32
	mov	edx, DWORD PTR -160[rbp]
	lea	rsi, -2529[rbp]
	lea	rax, -112[rbp]
	mov	r8d, -1
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -156[rbp]
	movzx	eax, BYTE PTR -2529[rbp]
	movzx	edx, al
	lea	rsi, -2528[rbp]
	lea	rax, -108[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -152[rbp]
	movzx	eax, BYTE PTR -2528[rbp]
	movzx	edx, al
	lea	rsi, -2527[rbp]
	lea	rax, -104[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -148[rbp]
	movzx	eax, BYTE PTR -2527[rbp]
	movzx	edx, al
	lea	rsi, -2526[rbp]
	lea	rax, -100[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -144[rbp]
	movzx	eax, BYTE PTR -2526[rbp]
	movzx	edx, al
	lea	rsi, -2525[rbp]
	lea	rax, -96[rbp]
	mov	r8d, -2
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -140[rbp]
	movzx	eax, BYTE PTR -2525[rbp]
	movzx	edx, al
	lea	rsi, -2524[rbp]
	lea	rax, -92[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -136[rbp]
	movzx	eax, BYTE PTR -2524[rbp]
	movzx	edx, al
	lea	rsi, -2523[rbp]
	lea	rax, -88[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -132[rbp]
	movzx	eax, BYTE PTR -2523[rbp]
	movzx	edx, al
	lea	rsi, -2522[rbp]
	lea	rax, -84[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -128[rbp]
	movzx	eax, BYTE PTR -2522[rbp]
	movzx	edx, al
	lea	rsi, -2521[rbp]
	lea	rax, -80[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -124[rbp]
	movzx	eax, BYTE PTR -2521[rbp]
	movzx	edx, al
	lea	rsi, -2520[rbp]
	lea	rax, -76[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -120[rbp]
	movzx	eax, BYTE PTR -2520[rbp]
	movzx	edx, al
	lea	rsi, -2519[rbp]
	lea	rax, -72[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -116[rbp]
	movzx	eax, BYTE PTR -2519[rbp]
	movzx	edx, al
	lea	rsi, -2518[rbp]
	lea	rax, -68[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	movzx	eax, BYTE PTR -2530[rbp]
	movzx	ecx, al
	movzx	eax, BYTE PTR -2518[rbp]
	movzx	edx, al
	lea	rsi, -2517[rbp]
	lea	rax, -64[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	fiat_p384_subborrowx_u32
	mov	ecx, DWORD PTR -160[rbp]
	mov	edx, DWORD PTR -112[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -60[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -156[rbp]
	mov	edx, DWORD PTR -108[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -56[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -152[rbp]
	mov	edx, DWORD PTR -104[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -52[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -148[rbp]
	mov	edx, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -144[rbp]
	mov	edx, DWORD PTR -96[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -44[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -140[rbp]
	mov	edx, DWORD PTR -92[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -40[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -136[rbp]
	mov	edx, DWORD PTR -88[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -36[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -132[rbp]
	mov	edx, DWORD PTR -84[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -128[rbp]
	mov	edx, DWORD PTR -80[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -124[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -120[rbp]
	mov	edx, DWORD PTR -72[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -20[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	ecx, DWORD PTR -116[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR -2517[rbp]
	movzx	esi, al
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -2904[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2904[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	fiat_p384_from_montgomery, .-fiat_p384_from_montgomery
	.type	fiat_p384_nonzero, @function
fiat_p384_nonzero:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -48[rbp], rdi
	mov	QWORD PTR -56[rbp], rsi
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 12
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	r8d, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 20
	mov	r9d, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 24
	mov	r10d, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 28
	mov	r11d, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 32
	mov	ebx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 36
	mov	r12d, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 40
	mov	r13d, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 44
	mov	eax, DWORD PTR [rax]
	or	eax, r13d
	or	eax, r12d
	or	eax, ebx
	or	eax, r11d
	or	eax, r10d
	or	eax, r9d
	or	eax, r8d
	or	eax, edi
	or	eax, esi
	or	eax, ecx
	or	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	fiat_p384_nonzero, .-fiat_p384_nonzero
	.type	fiat_p384_selectznz, @function
fiat_p384_selectznz:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	eax, esi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	mov	BYTE PTR -76[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -56[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 4
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -52[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 12
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 12
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -44[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -40[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 20
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -36[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 24
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 24
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 28
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 28
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -28[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 32
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 36
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 36
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -20[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 40
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 40
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 44
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 44
	mov	edx, DWORD PTR [rax]
	movzx	esi, BYTE PTR -76[rbp]
	lea	rax, -12[rbp]
	mov	rdi, rax
	call	fiat_p384_cmovznz_u32
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	fiat_p384_selectznz, .-fiat_p384_selectznz
	.type	fiat_p384_to_bytes, @function
fiat_p384_to_bytes:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 104
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -140[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	shr	eax, 8
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	mov	BYTE PTR -203[rbp], al
	mov	eax, DWORD PTR -96[rbp]
	shr	eax, 8
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	mov	BYTE PTR -202[rbp], al
	mov	eax, DWORD PTR -92[rbp]
	shr	eax, 8
	mov	BYTE PTR -201[rbp], al
	mov	eax, DWORD PTR -92[rbp]
	mov	BYTE PTR -200[rbp], al
	movzx	eax, BYTE PTR -201[rbp]
	mov	BYTE PTR -199[rbp], al
	mov	eax, DWORD PTR -104[rbp]
	shr	eax, 8
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	mov	BYTE PTR -198[rbp], al
	mov	eax, DWORD PTR -88[rbp]
	shr	eax, 8
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	mov	BYTE PTR -197[rbp], al
	mov	eax, DWORD PTR -84[rbp]
	shr	eax, 8
	mov	BYTE PTR -196[rbp], al
	mov	eax, DWORD PTR -84[rbp]
	mov	BYTE PTR -195[rbp], al
	movzx	eax, BYTE PTR -196[rbp]
	mov	BYTE PTR -194[rbp], al
	mov	eax, DWORD PTR -108[rbp]
	shr	eax, 8
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	mov	BYTE PTR -193[rbp], al
	mov	eax, DWORD PTR -80[rbp]
	shr	eax, 8
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	BYTE PTR -192[rbp], al
	mov	eax, DWORD PTR -76[rbp]
	shr	eax, 8
	mov	BYTE PTR -191[rbp], al
	mov	eax, DWORD PTR -76[rbp]
	mov	BYTE PTR -190[rbp], al
	movzx	eax, BYTE PTR -191[rbp]
	mov	BYTE PTR -189[rbp], al
	mov	eax, DWORD PTR -112[rbp]
	shr	eax, 8
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	mov	BYTE PTR -188[rbp], al
	mov	eax, DWORD PTR -72[rbp]
	shr	eax, 8
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	BYTE PTR -187[rbp], al
	mov	eax, DWORD PTR -68[rbp]
	shr	eax, 8
	mov	BYTE PTR -186[rbp], al
	mov	eax, DWORD PTR -68[rbp]
	mov	BYTE PTR -185[rbp], al
	movzx	eax, BYTE PTR -186[rbp]
	mov	BYTE PTR -184[rbp], al
	mov	eax, DWORD PTR -116[rbp]
	shr	eax, 8
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	mov	BYTE PTR -183[rbp], al
	mov	eax, DWORD PTR -64[rbp]
	shr	eax, 8
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	BYTE PTR -182[rbp], al
	mov	eax, DWORD PTR -60[rbp]
	shr	eax, 8
	mov	BYTE PTR -181[rbp], al
	mov	eax, DWORD PTR -60[rbp]
	mov	BYTE PTR -180[rbp], al
	movzx	eax, BYTE PTR -181[rbp]
	mov	BYTE PTR -179[rbp], al
	mov	eax, DWORD PTR -120[rbp]
	shr	eax, 8
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	mov	BYTE PTR -178[rbp], al
	mov	eax, DWORD PTR -56[rbp]
	shr	eax, 8
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	mov	BYTE PTR -177[rbp], al
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 8
	mov	BYTE PTR -176[rbp], al
	mov	eax, DWORD PTR -52[rbp]
	mov	BYTE PTR -175[rbp], al
	movzx	eax, BYTE PTR -176[rbp]
	mov	BYTE PTR -174[rbp], al
	mov	eax, DWORD PTR -124[rbp]
	shr	eax, 8
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -124[rbp]
	mov	BYTE PTR -173[rbp], al
	mov	eax, DWORD PTR -48[rbp]
	shr	eax, 8
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	mov	BYTE PTR -172[rbp], al
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 8
	mov	BYTE PTR -171[rbp], al
	mov	eax, DWORD PTR -44[rbp]
	mov	BYTE PTR -170[rbp], al
	movzx	eax, BYTE PTR -171[rbp]
	mov	BYTE PTR -169[rbp], al
	mov	eax, DWORD PTR -128[rbp]
	shr	eax, 8
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -128[rbp]
	mov	BYTE PTR -168[rbp], al
	mov	eax, DWORD PTR -40[rbp]
	shr	eax, 8
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	mov	BYTE PTR -167[rbp], al
	mov	eax, DWORD PTR -36[rbp]
	shr	eax, 8
	mov	BYTE PTR -166[rbp], al
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR -165[rbp], al
	movzx	eax, BYTE PTR -166[rbp]
	mov	BYTE PTR -164[rbp], al
	mov	eax, DWORD PTR -132[rbp]
	shr	eax, 8
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -132[rbp]
	mov	BYTE PTR -163[rbp], al
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 8
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	BYTE PTR -162[rbp], al
	mov	eax, DWORD PTR -28[rbp]
	shr	eax, 8
	mov	BYTE PTR -161[rbp], al
	mov	eax, DWORD PTR -28[rbp]
	mov	BYTE PTR -160[rbp], al
	movzx	eax, BYTE PTR -161[rbp]
	mov	BYTE PTR -159[rbp], al
	mov	eax, DWORD PTR -136[rbp]
	shr	eax, 8
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -136[rbp]
	mov	BYTE PTR -158[rbp], al
	mov	eax, DWORD PTR -24[rbp]
	shr	eax, 8
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	BYTE PTR -157[rbp], al
	mov	eax, DWORD PTR -20[rbp]
	shr	eax, 8
	mov	BYTE PTR -156[rbp], al
	mov	eax, DWORD PTR -20[rbp]
	mov	BYTE PTR -155[rbp], al
	movzx	eax, BYTE PTR -156[rbp]
	mov	BYTE PTR -154[rbp], al
	mov	eax, DWORD PTR -140[rbp]
	shr	eax, 8
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -140[rbp]
	mov	BYTE PTR -153[rbp], al
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 8
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	BYTE PTR -152[rbp], al
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 8
	mov	BYTE PTR -151[rbp], al
	mov	eax, DWORD PTR -12[rbp]
	mov	BYTE PTR -150[rbp], al
	movzx	eax, BYTE PTR -151[rbp]
	mov	BYTE PTR -149[rbp], al
	mov	eax, DWORD PTR -144[rbp]
	shr	eax, 8
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -144[rbp]
	mov	BYTE PTR -148[rbp], al
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 8
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	BYTE PTR -147[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 8
	mov	BYTE PTR -146[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	mov	BYTE PTR -145[rbp], al
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR -203[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 1[rax]
	movzx	eax, BYTE PTR -202[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 2[rax]
	movzx	eax, BYTE PTR -200[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 3[rax]
	movzx	eax, BYTE PTR -199[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 4[rax]
	movzx	eax, BYTE PTR -198[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 5[rax]
	movzx	eax, BYTE PTR -197[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 6[rax]
	movzx	eax, BYTE PTR -195[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 7[rax]
	movzx	eax, BYTE PTR -194[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 8[rax]
	movzx	eax, BYTE PTR -193[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 9[rax]
	movzx	eax, BYTE PTR -192[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 10[rax]
	movzx	eax, BYTE PTR -190[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 11[rax]
	movzx	eax, BYTE PTR -189[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 12[rax]
	movzx	eax, BYTE PTR -188[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 13[rax]
	movzx	eax, BYTE PTR -187[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 14[rax]
	movzx	eax, BYTE PTR -185[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 15[rax]
	movzx	eax, BYTE PTR -184[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 16[rax]
	movzx	eax, BYTE PTR -183[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 17[rax]
	movzx	eax, BYTE PTR -182[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 18[rax]
	movzx	eax, BYTE PTR -180[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 19[rax]
	movzx	eax, BYTE PTR -179[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 20[rax]
	movzx	eax, BYTE PTR -178[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 21[rax]
	movzx	eax, BYTE PTR -177[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 22[rax]
	movzx	eax, BYTE PTR -175[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 23[rax]
	movzx	eax, BYTE PTR -174[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 24[rax]
	movzx	eax, BYTE PTR -173[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 25[rax]
	movzx	eax, BYTE PTR -172[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 26[rax]
	movzx	eax, BYTE PTR -170[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 27[rax]
	movzx	eax, BYTE PTR -169[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 28[rax]
	movzx	eax, BYTE PTR -168[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 29[rax]
	movzx	eax, BYTE PTR -167[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 30[rax]
	movzx	eax, BYTE PTR -165[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 31[rax]
	movzx	eax, BYTE PTR -164[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 32[rax]
	movzx	eax, BYTE PTR -163[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 33[rax]
	movzx	eax, BYTE PTR -162[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 34[rax]
	movzx	eax, BYTE PTR -160[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 35[rax]
	movzx	eax, BYTE PTR -159[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 36[rax]
	movzx	eax, BYTE PTR -158[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 37[rax]
	movzx	eax, BYTE PTR -157[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 38[rax]
	movzx	eax, BYTE PTR -155[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 39[rax]
	movzx	eax, BYTE PTR -154[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 40[rax]
	movzx	eax, BYTE PTR -153[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 41[rax]
	movzx	eax, BYTE PTR -152[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 42[rax]
	movzx	eax, BYTE PTR -150[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 43[rax]
	movzx	eax, BYTE PTR -149[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 44[rax]
	movzx	eax, BYTE PTR -148[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 45[rax]
	movzx	eax, BYTE PTR -147[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 46[rax]
	movzx	eax, BYTE PTR -145[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 47[rax]
	movzx	eax, BYTE PTR -146[rbp]
	mov	BYTE PTR [rdx], al
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	fiat_p384_to_bytes, .-fiat_p384_to_bytes
	.type	fiat_p384_from_bytes, @function
fiat_p384_from_bytes:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 152
	mov	QWORD PTR -264[rbp], rdi
	mov	QWORD PTR -272[rbp], rsi
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 47
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -236[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 46
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -232[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 45
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -228[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 44[rax]
	mov	BYTE PTR -248[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 43
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -224[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 42
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -220[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 41
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 40[rax]
	mov	BYTE PTR -247[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 39
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -212[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 38
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -208[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 37
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -204[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 36[rax]
	mov	BYTE PTR -246[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 35
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -200[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 34
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -196[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 33
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -192[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 32[rax]
	mov	BYTE PTR -245[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 31
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 30
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 28[rax]
	mov	BYTE PTR -244[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 27
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 26
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 25
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 24[rax]
	mov	BYTE PTR -243[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -160[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 21
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 20[rax]
	mov	BYTE PTR -242[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 19
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 18
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -144[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 16[rax]
	mov	BYTE PTR -241[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -140[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 14
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 13
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 12[rax]
	mov	BYTE PTR -240[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 11
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 8[rax]
	mov	BYTE PTR -239[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 4[rax]
	mov	BYTE PTR -238[rbp], al
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 24
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 16
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -237[rbp], al
	movzx	eax, BYTE PTR -237[rbp]
	mov	ecx, DWORD PTR -100[rbp]
	mov	edx, DWORD PTR -104[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -96[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -88[rbp], eax
	movzx	eax, BYTE PTR -248[rbp]
	mov	ecx, DWORD PTR -232[rbp]
	mov	edx, DWORD PTR -236[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -228[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -84[rbp], eax
	movzx	eax, BYTE PTR -247[rbp]
	mov	ecx, DWORD PTR -220[rbp]
	mov	edx, DWORD PTR -224[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -216[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -80[rbp], eax
	movzx	eax, BYTE PTR -246[rbp]
	mov	ecx, DWORD PTR -208[rbp]
	mov	edx, DWORD PTR -212[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -204[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	movzx	eax, BYTE PTR -245[rbp]
	mov	ecx, DWORD PTR -196[rbp]
	mov	edx, DWORD PTR -200[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -192[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -72[rbp], eax
	movzx	eax, BYTE PTR -244[rbp]
	mov	ecx, DWORD PTR -184[rbp]
	mov	edx, DWORD PTR -188[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -180[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -68[rbp], eax
	movzx	eax, BYTE PTR -243[rbp]
	mov	ecx, DWORD PTR -172[rbp]
	mov	edx, DWORD PTR -176[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -168[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	movzx	eax, BYTE PTR -242[rbp]
	mov	ecx, DWORD PTR -160[rbp]
	mov	edx, DWORD PTR -164[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -156[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	movzx	eax, BYTE PTR -241[rbp]
	mov	ecx, DWORD PTR -148[rbp]
	mov	edx, DWORD PTR -152[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -144[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -56[rbp], eax
	movzx	eax, BYTE PTR -240[rbp]
	mov	ecx, DWORD PTR -136[rbp]
	mov	edx, DWORD PTR -140[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -132[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	movzx	eax, BYTE PTR -239[rbp]
	mov	ecx, DWORD PTR -124[rbp]
	mov	edx, DWORD PTR -128[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -120[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -48[rbp], eax
	movzx	eax, BYTE PTR -238[rbp]
	mov	ecx, DWORD PTR -112[rbp]
	mov	edx, DWORD PTR -116[rbp]
	add	ecx, edx
	mov	edx, DWORD PTR -108[rbp]
	add	edx, ecx
	add	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -264[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 4[rax]
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 28[rax]
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 32[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 36[rax]
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 40[rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -264[rbp]
	lea	rdx, 44[rax]
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	fiat_p384_from_bytes, .-fiat_p384_from_bytes
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"693468.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_addcarryx_u32, %function
fiat_p384_addcarryx_u32:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, fp}
	add	fp, sp, #16
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r3, [fp, #-52]
	mov	r3, r2
	strb	r3, [fp, #-45]
	ldrb	r0, [fp, #-45]	@ zero_extendqisi2
	mov	r1, #0
	ldr	r3, [fp, #-52]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, [fp, #4]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r4, r2
	adc	r7, r5, r3
	str	r6, [fp, #-28]
	str	r7, [fp, #-24]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r2, [fp, #-33]
	strb	r2, [r3]
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, fp}
	bx	lr
	.size	fiat_p384_addcarryx_u32, .-fiat_p384_addcarryx_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_subborrowx_u32, %function
fiat_p384_subborrowx_u32:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, fp}
	add	fp, sp, #16
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r3, [fp, #-52]
	mov	r3, r2
	strb	r3, [fp, #-45]
	ldr	r3, [fp, #-52]
	mov	r0, r3
	mov	r1, #0
	ldrb	r2, [fp, #-45]	@ zero_extendqisi2
	mov	r3, #0
	subs	r4, r0, r2
	sbc	r5, r1, r3
	ldr	r3, [fp, #4]
	mov	r2, r3
	mov	r3, #0
	subs	r6, r4, r2
	sbc	r7, r5, r3
	str	r6, [fp, #-28]
	str	r7, [fp, #-24]
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	asr	r3, r1, #31
	mov	r3, r2
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	rsb	r3, r3, #0
	and	r2, r3, #255
	ldr	r3, [fp, #-44]
	strb	r2, [r3]
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, fp}
	bx	lr
	.size	fiat_p384_subborrowx_u32, .-fiat_p384_subborrowx_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_mulx_u32, %function
fiat_p384_mulx_u32:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	mov	r4, r3
	mov	r5, #0
	ldr	r3, [fp, #-44]
	mov	r0, r3
	mov	r1, #0
	mul	r2, r0, r5
	mul	r3, r4, r1
	add	ip, r2, r3
	umull	r2, r3, r4, r0
	add	r1, ip, r3
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	mov	r2, r1
	mov	r3, #0
	mov	r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	fiat_p384_mulx_u32, .-fiat_p384_mulx_u32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_cmovznz_u32, %function
fiat_p384_cmovznz_u32:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r3, r1
	strb	r3, [fp, #-25]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]
	rsb	r3, r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-36]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-32]
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_p384_cmovznz_u32, .-fiat_p384_cmovznz_u32
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_mul, %function
fiat_p384_mul:
	@ args = 0, pretend = 0, frame = 5072
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #5056
	sub	sp, sp, #24
	sub	r3, fp, #4096
	sub	r3, r3, #4
	str	r0, [r3, #-964]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	str	r1, [r3, #-968]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	str	r2, [r3, #-972]
	ldr	r3, .L7
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-196]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-192]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-188]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-184]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-180]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-176]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-172]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-168]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-164]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-160]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-156]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	str	r3, [fp, #-152]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #16
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #4480
	sub	r0, r0, #4
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #56
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #48
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #40
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #16
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-324]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-336]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #4416
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-956]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-332]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-344]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-955]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-340]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-352]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-954]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-348]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-360]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #52
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-953]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-356]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-368]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #48
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-952]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-364]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-376]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #44
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-951]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-372]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-384]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #40
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-950]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-380]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-392]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #36
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-949]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-388]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-400]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-948]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-396]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-408]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #28
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-947]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-404]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-416]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-946]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-412]
	add	r3, r2, r3
	str	r3, [fp, #-148]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4352
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #20
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4352
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4352
	sub	r1, r1, #4
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #60
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #52
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #44
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #36
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #28
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #20
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-208]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-220]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-945]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-216]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-228]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #4288
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-944]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-224]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-236]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-943]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-232]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-244]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-942]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-240]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-252]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #52
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-941]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-248]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-260]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #48
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-940]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-256]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-268]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #44
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-939]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-264]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-276]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #40
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-938]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-272]
	add	r3, r2, r3
	str	r3, [fp, #-144]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-204]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #36
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-937]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-320]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-200]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-936]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-316]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #28
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-935]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-312]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-212]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-934]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-308]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-196]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #20
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-933]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-304]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-192]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #16
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-932]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-300]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-188]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-931]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-296]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-184]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-930]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-292]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-180]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-929]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-288]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-176]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #4224
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-928]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-284]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-172]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-927]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-280]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-168]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-926]	@ zero_extendqisi2
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #52
	ldr	r3, [fp, #-144]
	str	r3, [sp]
	ldr	r3, [fp, #-148]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #48
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #40
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #16
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #4160
	sub	r0, r0, #4
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #56
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #48
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	b	.L8
.L9:
	.align	2
.L7:
	.word	.LC0
.L8:
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #40
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-20]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-32]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #16
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-924]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-28]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-40]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-923]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-48]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-922]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-44]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-56]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-921]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-52]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-64]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #4096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-920]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-60]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-72]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #4080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-919]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-68]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-80]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #4080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-918]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-76]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-88]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #4080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-917]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-84]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-96]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-916]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-92]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-104]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #4064
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-915]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-112]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #4064
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-914]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-108]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-160]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-24]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #4064
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-913]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-156]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-16]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #4064
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-912]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-152]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-12]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #4048
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-911]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-148]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-8]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #4048
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-910]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-144]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-4]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #4048
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-909]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4048
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-908]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-136]
	sub	r3, fp, #4096
	ldr	r3, [r3]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #4032
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-907]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-132]
	ldr	r3, [fp, #-4092]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #4032
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-906]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-128]
	ldr	r3, [fp, #-4088]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #4032
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-905]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-124]
	ldr	r3, [fp, #-4084]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #4032
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-904]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-120]
	ldr	r3, [fp, #-4080]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #4016
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-903]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-116]
	ldr	r3, [fp, #-4076]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #4016
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-902]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-925]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #4016
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-140]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #4000
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4016
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #4000
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4000
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3984
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4000
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3984
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3984
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3968
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3984
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3968
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3968
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3952
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3968
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3952
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3952
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3936
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3952
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3936
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3936
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3952]
	ldr	r3, [fp, #-3964]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3936
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-900]	@ zero_extendqisi2
	ldr	ip, [fp, #-3960]
	ldr	r3, [fp, #-3972]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #3920
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-899]	@ zero_extendqisi2
	ldr	ip, [fp, #-3968]
	ldr	r3, [fp, #-3980]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #3920
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-898]	@ zero_extendqisi2
	ldr	ip, [fp, #-3976]
	ldr	r3, [fp, #-3988]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #3920
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-897]	@ zero_extendqisi2
	ldr	ip, [fp, #-3984]
	ldr	r3, [fp, #-3996]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r0, fp, #3920
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-896]	@ zero_extendqisi2
	ldr	ip, [fp, #-3992]
	ldr	r3, [fp, #-4004]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #3904
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-895]	@ zero_extendqisi2
	ldr	ip, [fp, #-4000]
	ldr	r3, [fp, #-4012]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #3904
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-894]	@ zero_extendqisi2
	ldr	ip, [fp, #-4008]
	ldr	r3, [fp, #-4020]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #3904
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-893]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-4016]
	add	r3, r2, r3
	str	r3, [fp, #-136]
	ldr	r2, [fp, #-4072]
	ldr	r3, [fp, #-3948]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #3904
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-892]	@ zero_extendqisi2
	ldr	ip, [fp, #-4068]
	ldr	r3, [fp, #-3944]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #3888
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-891]	@ zero_extendqisi2
	ldr	r3, [fp, #-4064]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #3888
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-890]	@ zero_extendqisi2
	ldr	ip, [fp, #-4060]
	ldr	r3, [fp, #-3956]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #3888
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-889]	@ zero_extendqisi2
	ldr	ip, [fp, #-4056]
	ldr	r3, [fp, #-3940]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #3888
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-888]	@ zero_extendqisi2
	ldr	ip, [fp, #-4052]
	ldr	r3, [fp, #-3936]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #3872
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-887]	@ zero_extendqisi2
	ldr	ip, [fp, #-4048]
	ldr	r3, [fp, #-3932]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #3872
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-886]	@ zero_extendqisi2
	ldr	ip, [fp, #-4044]
	ldr	r3, [fp, #-3928]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #3872
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-885]	@ zero_extendqisi2
	ldr	ip, [fp, #-4040]
	ldr	r3, [fp, #-3924]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #3872
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-884]	@ zero_extendqisi2
	ldr	ip, [fp, #-4036]
	ldr	r3, [fp, #-3920]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #3856
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-883]	@ zero_extendqisi2
	ldr	ip, [fp, #-4032]
	ldr	r3, [fp, #-3916]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #3856
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-882]	@ zero_extendqisi2
	ldr	ip, [fp, #-4028]
	ldr	r3, [fp, #-3912]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #3856
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-881]	@ zero_extendqisi2
	ldr	ip, [fp, #-4024]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #3856
	sub	r0, r0, #4
	ldr	r3, [fp, #-136]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-880]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-901]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-132]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #3840
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3840
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #3840
	sub	r1, r1, #4
	sub	r0, fp, #3840
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #3824
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3824
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #3824
	sub	r1, r1, #4
	sub	r0, fp, #3824
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #3808
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3808
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #3808
	sub	r1, r1, #4
	sub	r0, fp, #3808
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #3792
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3792
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #3792
	sub	r1, r1, #4
	sub	r0, fp, #3792
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #3776
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3776
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #3776
	sub	r1, r1, #4
	sub	r0, fp, #3776
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #3760
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3760
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #3760
	sub	r1, r1, #4
	sub	r0, fp, #3760
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3764]
	ldr	r3, [fp, #-3776]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #3744
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-879]	@ zero_extendqisi2
	ldr	ip, [fp, #-3772]
	ldr	r3, [fp, #-3784]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #3744
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-878]	@ zero_extendqisi2
	ldr	ip, [fp, #-3780]
	ldr	r3, [fp, #-3792]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #3744
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-877]	@ zero_extendqisi2
	ldr	ip, [fp, #-3788]
	ldr	r3, [fp, #-3800]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #3744
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-876]	@ zero_extendqisi2
	ldr	ip, [fp, #-3796]
	ldr	r3, [fp, #-3808]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #3728
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-875]	@ zero_extendqisi2
	ldr	ip, [fp, #-3804]
	ldr	r3, [fp, #-3816]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #3728
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-874]	@ zero_extendqisi2
	ldr	ip, [fp, #-3812]
	ldr	r3, [fp, #-3824]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #3728
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-873]	@ zero_extendqisi2
	ldr	ip, [fp, #-3820]
	ldr	r3, [fp, #-3832]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #3728
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-872]	@ zero_extendqisi2
	ldr	ip, [fp, #-3828]
	ldr	r3, [fp, #-3840]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #3712
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-871]	@ zero_extendqisi2
	ldr	ip, [fp, #-3836]
	ldr	r3, [fp, #-3848]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #3712
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-870]	@ zero_extendqisi2
	ldr	ip, [fp, #-3844]
	ldr	r3, [fp, #-3856]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #3712
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-869]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3852]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r2, [fp, #-3904]
	ldr	r3, [fp, #-3768]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #3712
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-868]	@ zero_extendqisi2
	ldr	ip, [fp, #-3900]
	ldr	r3, [fp, #-3760]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #3696
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-867]	@ zero_extendqisi2
	ldr	ip, [fp, #-3896]
	ldr	r3, [fp, #-3756]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #3696
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-866]	@ zero_extendqisi2
	ldr	ip, [fp, #-3892]
	ldr	r3, [fp, #-3752]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #3696
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-865]	@ zero_extendqisi2
	ldr	ip, [fp, #-3888]
	ldr	r3, [fp, #-3748]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #3696
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-864]	@ zero_extendqisi2
	ldr	ip, [fp, #-3884]
	ldr	r3, [fp, #-3744]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #3680
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-863]	@ zero_extendqisi2
	ldr	ip, [fp, #-3880]
	ldr	r3, [fp, #-3740]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #3680
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-862]	@ zero_extendqisi2
	ldr	ip, [fp, #-3876]
	ldr	r3, [fp, #-3736]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #3680
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-861]	@ zero_extendqisi2
	ldr	ip, [fp, #-3872]
	ldr	r3, [fp, #-3732]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #3680
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-860]	@ zero_extendqisi2
	ldr	ip, [fp, #-3868]
	ldr	r3, [fp, #-3728]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #3664
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-859]	@ zero_extendqisi2
	ldr	ip, [fp, #-3864]
	ldr	r3, [fp, #-3724]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #3664
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-858]	@ zero_extendqisi2
	ldr	ip, [fp, #-3860]
	ldr	r3, [fp, #-3720]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #3664
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-857]	@ zero_extendqisi2
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #3664
	sub	r0, r0, #4
	ldr	r3, [fp, #-128]
	str	r3, [sp]
	ldr	r3, [fp, #-132]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3648
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3648
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3648
	sub	r1, r1, #4
	sub	r0, fp, #3648
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3632
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3632
	sub	r1, r1, #4
	sub	r0, fp, #3632
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3616
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3616
	sub	r1, r1, #4
	sub	r0, fp, #3616
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3600
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3600
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3600
	sub	r1, r1, #4
	sub	r0, fp, #3600
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3584
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3584
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3584
	sub	r1, r1, #4
	sub	r0, fp, #3584
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3596]
	ldr	r3, [fp, #-3608]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #3568
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-855]	@ zero_extendqisi2
	ldr	ip, [fp, #-3604]
	ldr	r3, [fp, #-3616]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #3568
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-854]	@ zero_extendqisi2
	ldr	ip, [fp, #-3612]
	ldr	r3, [fp, #-3624]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #3568
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-853]	@ zero_extendqisi2
	ldr	ip, [fp, #-3620]
	ldr	r3, [fp, #-3632]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #3568
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-852]	@ zero_extendqisi2
	ldr	ip, [fp, #-3628]
	ldr	r3, [fp, #-3640]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #3552
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-851]	@ zero_extendqisi2
	ldr	ip, [fp, #-3636]
	ldr	r3, [fp, #-3648]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #3552
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-850]	@ zero_extendqisi2
	ldr	ip, [fp, #-3644]
	ldr	r3, [fp, #-3656]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #3552
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-849]	@ zero_extendqisi2
	ldr	ip, [fp, #-3652]
	ldr	r3, [fp, #-3664]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #3552
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-848]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3660]
	add	r3, r2, r3
	str	r3, [fp, #-124]
	ldr	r2, [fp, #-3716]
	ldr	r3, [fp, #-3592]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #3536
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-847]	@ zero_extendqisi2
	ldr	ip, [fp, #-3712]
	ldr	r3, [fp, #-3588]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #3536
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-846]	@ zero_extendqisi2
	ldr	r3, [fp, #-3708]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #3536
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-845]	@ zero_extendqisi2
	ldr	ip, [fp, #-3704]
	ldr	r3, [fp, #-3600]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3536
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-844]	@ zero_extendqisi2
	ldr	ip, [fp, #-3700]
	ldr	r3, [fp, #-3584]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #3520
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-843]	@ zero_extendqisi2
	ldr	ip, [fp, #-3696]
	ldr	r3, [fp, #-3580]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #3520
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-842]	@ zero_extendqisi2
	ldr	ip, [fp, #-3692]
	ldr	r3, [fp, #-3576]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #3520
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-841]	@ zero_extendqisi2
	ldr	ip, [fp, #-3688]
	ldr	r3, [fp, #-3572]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3520
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-840]	@ zero_extendqisi2
	ldr	ip, [fp, #-3684]
	ldr	r3, [fp, #-3568]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #3504
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-839]	@ zero_extendqisi2
	ldr	ip, [fp, #-3680]
	ldr	r3, [fp, #-3564]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #3504
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-838]	@ zero_extendqisi2
	ldr	ip, [fp, #-3676]
	ldr	r3, [fp, #-3560]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #3504
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-837]	@ zero_extendqisi2
	ldr	ip, [fp, #-3672]
	ldr	r3, [fp, #-3556]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3504
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-836]	@ zero_extendqisi2
	ldr	ip, [fp, #-3668]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #3488
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-124]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-835]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-856]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-120]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #3488
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3488
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #3472
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3488
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #3472
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3472
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #3456
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3472
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #3456
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3456
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #3440
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3456
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #3440
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3440
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #3424
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3440
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #3424
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3424
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #3408
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3424
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #3408
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3408
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #3392
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3408
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3408]
	ldr	r3, [fp, #-3420]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #3392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-834]	@ zero_extendqisi2
	ldr	ip, [fp, #-3416]
	ldr	r3, [fp, #-3428]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #3392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-833]	@ zero_extendqisi2
	ldr	ip, [fp, #-3424]
	ldr	r3, [fp, #-3436]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r0, fp, #3392
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-832]	@ zero_extendqisi2
	ldr	ip, [fp, #-3432]
	ldr	r3, [fp, #-3444]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #3376
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-831]	@ zero_extendqisi2
	ldr	ip, [fp, #-3440]
	ldr	r3, [fp, #-3452]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #3376
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-830]	@ zero_extendqisi2
	ldr	ip, [fp, #-3448]
	ldr	r3, [fp, #-3460]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #3376
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-829]	@ zero_extendqisi2
	ldr	ip, [fp, #-3456]
	ldr	r3, [fp, #-3468]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #3376
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-828]	@ zero_extendqisi2
	ldr	ip, [fp, #-3464]
	ldr	r3, [fp, #-3476]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #3360
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-827]	@ zero_extendqisi2
	ldr	ip, [fp, #-3472]
	ldr	r3, [fp, #-3484]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #3360
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-826]	@ zero_extendqisi2
	ldr	ip, [fp, #-3480]
	ldr	r3, [fp, #-3492]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #3360
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-825]	@ zero_extendqisi2
	ldr	ip, [fp, #-3488]
	ldr	r3, [fp, #-3500]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #3360
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-824]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3496]
	add	r3, r2, r3
	str	r3, [fp, #-116]
	ldr	r2, [fp, #-3548]
	ldr	r3, [fp, #-3412]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #3344
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-823]	@ zero_extendqisi2
	ldr	ip, [fp, #-3544]
	ldr	r3, [fp, #-3404]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #3344
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-822]	@ zero_extendqisi2
	ldr	ip, [fp, #-3540]
	ldr	r3, [fp, #-3400]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #3344
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-821]	@ zero_extendqisi2
	ldr	ip, [fp, #-3536]
	ldr	r3, [fp, #-3396]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #3344
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-820]	@ zero_extendqisi2
	ldr	ip, [fp, #-3532]
	ldr	r3, [fp, #-3392]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #3328
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-819]	@ zero_extendqisi2
	ldr	ip, [fp, #-3528]
	ldr	r3, [fp, #-3388]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #3328
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-818]	@ zero_extendqisi2
	ldr	ip, [fp, #-3524]
	ldr	r3, [fp, #-3384]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #3328
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-817]	@ zero_extendqisi2
	ldr	ip, [fp, #-3520]
	ldr	r3, [fp, #-3380]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #3328
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-816]	@ zero_extendqisi2
	ldr	ip, [fp, #-3516]
	ldr	r3, [fp, #-3376]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #3312
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-815]	@ zero_extendqisi2
	ldr	ip, [fp, #-3512]
	ldr	r3, [fp, #-3372]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #3312
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-814]	@ zero_extendqisi2
	ldr	ip, [fp, #-3508]
	ldr	r3, [fp, #-3368]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #3312
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-813]	@ zero_extendqisi2
	ldr	ip, [fp, #-3504]
	ldr	r3, [fp, #-3364]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #3312
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-812]	@ zero_extendqisi2
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #3296
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-116]
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3296
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3296
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3280
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3296
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3280
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3280
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3264
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3280
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3264
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3264
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3248
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3264
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3248
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3248
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3232
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3248
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3232
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3232
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3216
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3232
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3240]
	ldr	r3, [fp, #-3252]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #3216
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-810]	@ zero_extendqisi2
	ldr	ip, [fp, #-3248]
	ldr	r3, [fp, #-3260]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #3216
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-809]	@ zero_extendqisi2
	ldr	ip, [fp, #-3256]
	ldr	r3, [fp, #-3268]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #3216
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-808]	@ zero_extendqisi2
	ldr	ip, [fp, #-3264]
	ldr	r3, [fp, #-3276]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #3200
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-807]	@ zero_extendqisi2
	ldr	ip, [fp, #-3272]
	ldr	r3, [fp, #-3284]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #3200
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-806]	@ zero_extendqisi2
	ldr	ip, [fp, #-3280]
	ldr	r3, [fp, #-3292]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #3200
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-805]	@ zero_extendqisi2
	ldr	ip, [fp, #-3288]
	ldr	r3, [fp, #-3300]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #3200
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-804]	@ zero_extendqisi2
	ldr	ip, [fp, #-3296]
	ldr	r3, [fp, #-3308]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #3184
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-803]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3304]
	add	r3, r2, r3
	str	r3, [fp, #-112]
	ldr	r2, [fp, #-3360]
	ldr	r3, [fp, #-3236]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #3184
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-802]	@ zero_extendqisi2
	ldr	ip, [fp, #-3356]
	ldr	r3, [fp, #-3232]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #3184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-801]	@ zero_extendqisi2
	ldr	r3, [fp, #-3352]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #3184
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-800]	@ zero_extendqisi2
	ldr	ip, [fp, #-3348]
	ldr	r3, [fp, #-3244]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #3168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-799]	@ zero_extendqisi2
	ldr	ip, [fp, #-3344]
	ldr	r3, [fp, #-3228]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #3168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-798]	@ zero_extendqisi2
	ldr	ip, [fp, #-3340]
	ldr	r3, [fp, #-3224]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #3168
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-797]	@ zero_extendqisi2
	ldr	ip, [fp, #-3336]
	ldr	r3, [fp, #-3220]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #3168
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-796]	@ zero_extendqisi2
	ldr	ip, [fp, #-3332]
	ldr	r3, [fp, #-3216]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #3152
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-795]	@ zero_extendqisi2
	ldr	ip, [fp, #-3328]
	ldr	r3, [fp, #-3212]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #3152
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-794]	@ zero_extendqisi2
	ldr	ip, [fp, #-3324]
	ldr	r3, [fp, #-3208]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #3152
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-793]	@ zero_extendqisi2
	ldr	ip, [fp, #-3320]
	ldr	r3, [fp, #-3204]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #3152
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-792]	@ zero_extendqisi2
	ldr	ip, [fp, #-3316]
	ldr	r3, [fp, #-3200]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #3136
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-791]	@ zero_extendqisi2
	ldr	ip, [fp, #-3312]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #3136
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-112]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-790]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-811]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #3136
	sub	r1, r1, #4
	sub	r0, fp, #3136
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #3120
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3120
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #3120
	sub	r1, r1, #4
	sub	r0, fp, #3120
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #3104
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3104
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #3104
	sub	r1, r1, #4
	sub	r0, fp, #3104
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #3088
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3088
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #3088
	sub	r1, r1, #4
	sub	r0, fp, #3088
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #3072
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3072
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #3072
	sub	r1, r1, #4
	sub	r0, fp, #3072
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #3056
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3056
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #3056
	sub	r1, r1, #4
	sub	r0, fp, #3056
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #3040
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3040
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3052]
	ldr	r3, [fp, #-3064]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #3040
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-789]	@ zero_extendqisi2
	ldr	ip, [fp, #-3060]
	ldr	r3, [fp, #-3072]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #3040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-788]	@ zero_extendqisi2
	ldr	ip, [fp, #-3068]
	ldr	r3, [fp, #-3080]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #3024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-787]	@ zero_extendqisi2
	ldr	ip, [fp, #-3076]
	ldr	r3, [fp, #-3088]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #3024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-786]	@ zero_extendqisi2
	ldr	ip, [fp, #-3084]
	ldr	r3, [fp, #-3096]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #3024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-785]	@ zero_extendqisi2
	ldr	ip, [fp, #-3092]
	ldr	r3, [fp, #-3104]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #3024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-784]	@ zero_extendqisi2
	ldr	ip, [fp, #-3100]
	ldr	r3, [fp, #-3112]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #3008
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-783]	@ zero_extendqisi2
	ldr	ip, [fp, #-3108]
	ldr	r3, [fp, #-3120]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #3008
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-782]	@ zero_extendqisi2
	ldr	ip, [fp, #-3116]
	ldr	r3, [fp, #-3128]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #3008
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-781]	@ zero_extendqisi2
	ldr	ip, [fp, #-3124]
	ldr	r3, [fp, #-3136]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3008
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-780]	@ zero_extendqisi2
	ldr	ip, [fp, #-3132]
	ldr	r3, [fp, #-3144]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2992
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-779]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3140]
	add	r3, r2, r3
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-3192]
	ldr	r3, [fp, #-3056]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2992
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-778]	@ zero_extendqisi2
	ldr	ip, [fp, #-3188]
	ldr	r3, [fp, #-3048]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2992
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-777]	@ zero_extendqisi2
	ldr	ip, [fp, #-3184]
	ldr	r3, [fp, #-3044]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2992
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-776]	@ zero_extendqisi2
	ldr	ip, [fp, #-3180]
	ldr	r3, [fp, #-3040]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2976
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-775]	@ zero_extendqisi2
	ldr	ip, [fp, #-3176]
	ldr	r3, [fp, #-3036]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2976
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-774]	@ zero_extendqisi2
	ldr	ip, [fp, #-3172]
	ldr	r3, [fp, #-3032]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2976
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-773]	@ zero_extendqisi2
	ldr	ip, [fp, #-3168]
	ldr	r3, [fp, #-3028]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2976
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-772]	@ zero_extendqisi2
	ldr	ip, [fp, #-3164]
	ldr	r3, [fp, #-3024]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2960
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-771]	@ zero_extendqisi2
	ldr	ip, [fp, #-3160]
	ldr	r3, [fp, #-3020]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2960
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-770]	@ zero_extendqisi2
	ldr	ip, [fp, #-3156]
	ldr	r3, [fp, #-3016]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2960
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-769]	@ zero_extendqisi2
	ldr	ip, [fp, #-3152]
	ldr	r3, [fp, #-3012]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r0, fp, #2960
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-768]	@ zero_extendqisi2
	ldr	ip, [fp, #-3148]
	ldr	r3, [fp, #-3008]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #2944
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-767]	@ zero_extendqisi2
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #2944
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-104]
	str	r3, [sp]
	ldr	r3, [fp, #-108]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2944
	sub	r1, r1, #4
	sub	r0, fp, #2944
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2928
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2928
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2928
	sub	r1, r1, #4
	sub	r0, fp, #2928
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2912
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2912
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2912
	sub	r1, r1, #4
	sub	r0, fp, #2912
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2896
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2896
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2896
	sub	r1, r1, #4
	sub	r0, fp, #2896
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2880
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r0, fp, #2880
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2864
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2884]
	ldr	r3, [fp, #-2896]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #2864
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-765]	@ zero_extendqisi2
	ldr	ip, [fp, #-2892]
	ldr	r3, [fp, #-2904]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #2864
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-764]	@ zero_extendqisi2
	ldr	ip, [fp, #-2900]
	ldr	r3, [fp, #-2912]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #2848
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-763]	@ zero_extendqisi2
	ldr	ip, [fp, #-2908]
	ldr	r3, [fp, #-2920]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #2848
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-762]	@ zero_extendqisi2
	ldr	ip, [fp, #-2916]
	ldr	r3, [fp, #-2928]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #2848
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-761]	@ zero_extendqisi2
	ldr	ip, [fp, #-2924]
	ldr	r3, [fp, #-2936]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #2848
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-760]	@ zero_extendqisi2
	ldr	ip, [fp, #-2932]
	ldr	r3, [fp, #-2944]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #2832
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-759]	@ zero_extendqisi2
	ldr	ip, [fp, #-2940]
	ldr	r3, [fp, #-2952]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #2832
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-758]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2948]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-3004]
	ldr	r3, [fp, #-2880]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #2832
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-757]	@ zero_extendqisi2
	ldr	ip, [fp, #-3000]
	ldr	r3, [fp, #-2876]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #2832
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-756]	@ zero_extendqisi2
	ldr	r3, [fp, #-2996]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #2816
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-755]	@ zero_extendqisi2
	ldr	ip, [fp, #-2992]
	ldr	r3, [fp, #-2888]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #2816
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-754]	@ zero_extendqisi2
	ldr	ip, [fp, #-2988]
	ldr	r3, [fp, #-2872]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #2816
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-753]	@ zero_extendqisi2
	ldr	ip, [fp, #-2984]
	ldr	r3, [fp, #-2868]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #2816
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-752]	@ zero_extendqisi2
	ldr	ip, [fp, #-2980]
	ldr	r3, [fp, #-2864]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #2800
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-751]	@ zero_extendqisi2
	ldr	ip, [fp, #-2976]
	ldr	r3, [fp, #-2860]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #2800
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-750]	@ zero_extendqisi2
	ldr	ip, [fp, #-2972]
	ldr	r3, [fp, #-2856]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #2800
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-749]	@ zero_extendqisi2
	ldr	ip, [fp, #-2968]
	ldr	r3, [fp, #-2852]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #2800
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-748]	@ zero_extendqisi2
	ldr	ip, [fp, #-2964]
	ldr	r3, [fp, #-2848]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #2784
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-747]	@ zero_extendqisi2
	ldr	ip, [fp, #-2960]
	ldr	r3, [fp, #-2844]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #2784
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-746]	@ zero_extendqisi2
	ldr	ip, [fp, #-2956]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #2784
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-100]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-745]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-766]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-96]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2784
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2768
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2768
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2752
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2752
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2736
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2736
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2720
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2720
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2704
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2704
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2688
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2696]
	ldr	r3, [fp, #-2708]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #2688
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-744]	@ zero_extendqisi2
	ldr	ip, [fp, #-2704]
	ldr	r3, [fp, #-2716]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #2672
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-743]	@ zero_extendqisi2
	ldr	ip, [fp, #-2712]
	ldr	r3, [fp, #-2724]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #2672
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-742]	@ zero_extendqisi2
	ldr	ip, [fp, #-2720]
	ldr	r3, [fp, #-2732]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #2672
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-741]	@ zero_extendqisi2
	ldr	ip, [fp, #-2728]
	ldr	r3, [fp, #-2740]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #2672
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-740]	@ zero_extendqisi2
	ldr	ip, [fp, #-2736]
	ldr	r3, [fp, #-2748]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #2656
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-739]	@ zero_extendqisi2
	ldr	ip, [fp, #-2744]
	ldr	r3, [fp, #-2756]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #2656
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-738]	@ zero_extendqisi2
	ldr	ip, [fp, #-2752]
	ldr	r3, [fp, #-2764]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #2656
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-737]	@ zero_extendqisi2
	ldr	ip, [fp, #-2760]
	ldr	r3, [fp, #-2772]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #2656
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-736]	@ zero_extendqisi2
	ldr	ip, [fp, #-2768]
	ldr	r3, [fp, #-2780]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #2640
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-735]	@ zero_extendqisi2
	ldr	ip, [fp, #-2776]
	ldr	r3, [fp, #-2788]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #2640
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-734]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2784]
	add	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-2836]
	ldr	r3, [fp, #-2700]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #2640
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-733]	@ zero_extendqisi2
	ldr	ip, [fp, #-2832]
	ldr	r3, [fp, #-2692]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #2640
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-732]	@ zero_extendqisi2
	ldr	ip, [fp, #-2828]
	ldr	r3, [fp, #-2688]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #2624
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-731]	@ zero_extendqisi2
	ldr	ip, [fp, #-2824]
	ldr	r3, [fp, #-2684]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #2624
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-730]	@ zero_extendqisi2
	ldr	ip, [fp, #-2820]
	ldr	r3, [fp, #-2680]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #2624
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-729]	@ zero_extendqisi2
	ldr	ip, [fp, #-2816]
	ldr	r3, [fp, #-2676]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #2624
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-728]	@ zero_extendqisi2
	ldr	ip, [fp, #-2812]
	ldr	r3, [fp, #-2672]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #2608
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-727]	@ zero_extendqisi2
	ldr	ip, [fp, #-2808]
	ldr	r3, [fp, #-2668]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #2608
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-726]	@ zero_extendqisi2
	ldr	ip, [fp, #-2804]
	ldr	r3, [fp, #-2664]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #2608
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-725]	@ zero_extendqisi2
	ldr	ip, [fp, #-2800]
	ldr	r3, [fp, #-2660]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #2608
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-724]	@ zero_extendqisi2
	ldr	ip, [fp, #-2796]
	ldr	r3, [fp, #-2656]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #2592
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-723]	@ zero_extendqisi2
	ldr	ip, [fp, #-2792]
	ldr	r3, [fp, #-2652]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #2592
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-722]	@ zero_extendqisi2
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #2592
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-92]
	str	r3, [sp]
	ldr	r3, [fp, #-96]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2592
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2576
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2576
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2560
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2560
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2544
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2544
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2528
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2528
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2512
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2528]
	ldr	r3, [fp, #-2540]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #2512
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-720]	@ zero_extendqisi2
	ldr	ip, [fp, #-2536]
	ldr	r3, [fp, #-2548]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-719]	@ zero_extendqisi2
	ldr	ip, [fp, #-2544]
	ldr	r3, [fp, #-2556]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-718]	@ zero_extendqisi2
	ldr	ip, [fp, #-2552]
	ldr	r3, [fp, #-2564]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-717]	@ zero_extendqisi2
	ldr	ip, [fp, #-2560]
	ldr	r3, [fp, #-2572]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2496
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-716]	@ zero_extendqisi2
	ldr	ip, [fp, #-2568]
	ldr	r3, [fp, #-2580]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-715]	@ zero_extendqisi2
	ldr	ip, [fp, #-2576]
	ldr	r3, [fp, #-2588]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-714]	@ zero_extendqisi2
	ldr	ip, [fp, #-2584]
	ldr	r3, [fp, #-2596]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-713]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2592]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-2648]
	ldr	r3, [fp, #-2524]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2480
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-712]	@ zero_extendqisi2
	ldr	ip, [fp, #-2644]
	ldr	r3, [fp, #-2520]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-711]	@ zero_extendqisi2
	ldr	r3, [fp, #-2640]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-710]	@ zero_extendqisi2
	ldr	ip, [fp, #-2636]
	ldr	r3, [fp, #-2532]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-709]	@ zero_extendqisi2
	ldr	ip, [fp, #-2632]
	ldr	r3, [fp, #-2516]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2464
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-708]	@ zero_extendqisi2
	ldr	ip, [fp, #-2628]
	ldr	r3, [fp, #-2512]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-707]	@ zero_extendqisi2
	ldr	ip, [fp, #-2624]
	ldr	r3, [fp, #-2508]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-706]	@ zero_extendqisi2
	ldr	ip, [fp, #-2620]
	ldr	r3, [fp, #-2504]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-705]	@ zero_extendqisi2
	ldr	ip, [fp, #-2616]
	ldr	r3, [fp, #-2500]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r0, fp, #2448
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-704]	@ zero_extendqisi2
	ldr	ip, [fp, #-2612]
	ldr	r3, [fp, #-2496]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-703]	@ zero_extendqisi2
	ldr	ip, [fp, #-2608]
	ldr	r3, [fp, #-2492]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-702]	@ zero_extendqisi2
	ldr	ip, [fp, #-2604]
	ldr	r3, [fp, #-2488]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-701]	@ zero_extendqisi2
	ldr	ip, [fp, #-2600]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #2432
	sub	r0, r0, #4
	ldr	r3, [fp, #-88]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-700]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-721]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-84]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2384
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r0, fp, #2384
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2368
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r0, fp, #2368
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2352
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r0, fp, #2352
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2336
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r0, fp, #2336
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2340]
	ldr	r3, [fp, #-2352]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-699]	@ zero_extendqisi2
	ldr	ip, [fp, #-2348]
	ldr	r3, [fp, #-2360]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-698]	@ zero_extendqisi2
	ldr	ip, [fp, #-2356]
	ldr	r3, [fp, #-2368]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-697]	@ zero_extendqisi2
	ldr	ip, [fp, #-2364]
	ldr	r3, [fp, #-2376]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #2320
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-696]	@ zero_extendqisi2
	ldr	ip, [fp, #-2372]
	ldr	r3, [fp, #-2384]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-695]	@ zero_extendqisi2
	ldr	ip, [fp, #-2380]
	ldr	r3, [fp, #-2392]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-694]	@ zero_extendqisi2
	ldr	ip, [fp, #-2388]
	ldr	r3, [fp, #-2400]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-693]	@ zero_extendqisi2
	ldr	ip, [fp, #-2396]
	ldr	r3, [fp, #-2408]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #2304
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-692]	@ zero_extendqisi2
	ldr	ip, [fp, #-2404]
	ldr	r3, [fp, #-2416]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-691]	@ zero_extendqisi2
	ldr	ip, [fp, #-2412]
	ldr	r3, [fp, #-2424]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-690]	@ zero_extendqisi2
	ldr	ip, [fp, #-2420]
	ldr	r3, [fp, #-2432]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-689]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2428]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2344]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #2288
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-688]	@ zero_extendqisi2
	ldr	ip, [fp, #-2476]
	ldr	r3, [fp, #-2336]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-687]	@ zero_extendqisi2
	ldr	ip, [fp, #-2472]
	ldr	r3, [fp, #-2332]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-686]	@ zero_extendqisi2
	ldr	ip, [fp, #-2468]
	ldr	r3, [fp, #-2328]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-685]	@ zero_extendqisi2
	ldr	ip, [fp, #-2464]
	ldr	r3, [fp, #-2324]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #2272
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-684]	@ zero_extendqisi2
	ldr	ip, [fp, #-2460]
	ldr	r3, [fp, #-2320]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-683]	@ zero_extendqisi2
	ldr	ip, [fp, #-2456]
	ldr	r3, [fp, #-2316]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-682]	@ zero_extendqisi2
	ldr	ip, [fp, #-2452]
	ldr	r3, [fp, #-2312]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-681]	@ zero_extendqisi2
	ldr	ip, [fp, #-2448]
	ldr	r3, [fp, #-2308]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #2256
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-680]	@ zero_extendqisi2
	ldr	ip, [fp, #-2444]
	ldr	r3, [fp, #-2304]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-679]	@ zero_extendqisi2
	ldr	ip, [fp, #-2440]
	ldr	r3, [fp, #-2300]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-678]	@ zero_extendqisi2
	ldr	ip, [fp, #-2436]
	ldr	r3, [fp, #-2296]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-677]	@ zero_extendqisi2
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #2240
	sub	r0, r0, #4
	ldr	r3, [fp, #-80]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2192
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2192
	sub	r1, r1, #4
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2172]
	ldr	r3, [fp, #-2184]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-675]	@ zero_extendqisi2
	ldr	ip, [fp, #-2180]
	ldr	r3, [fp, #-2192]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-674]	@ zero_extendqisi2
	ldr	ip, [fp, #-2188]
	ldr	r3, [fp, #-2200]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-673]	@ zero_extendqisi2
	ldr	ip, [fp, #-2196]
	ldr	r3, [fp, #-2208]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #2144
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-672]	@ zero_extendqisi2
	ldr	ip, [fp, #-2204]
	ldr	r3, [fp, #-2216]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-671]	@ zero_extendqisi2
	ldr	ip, [fp, #-2212]
	ldr	r3, [fp, #-2224]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-670]	@ zero_extendqisi2
	ldr	ip, [fp, #-2220]
	ldr	r3, [fp, #-2232]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-669]	@ zero_extendqisi2
	ldr	ip, [fp, #-2228]
	ldr	r3, [fp, #-2240]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #2128
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-668]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2236]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-2292]
	ldr	r3, [fp, #-2168]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-667]	@ zero_extendqisi2
	ldr	ip, [fp, #-2288]
	ldr	r3, [fp, #-2164]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-666]	@ zero_extendqisi2
	ldr	r3, [fp, #-2284]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-665]	@ zero_extendqisi2
	ldr	ip, [fp, #-2280]
	ldr	r3, [fp, #-2176]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #2112
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-664]	@ zero_extendqisi2
	ldr	ip, [fp, #-2276]
	ldr	r3, [fp, #-2160]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-663]	@ zero_extendqisi2
	ldr	ip, [fp, #-2272]
	ldr	r3, [fp, #-2156]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-662]	@ zero_extendqisi2
	ldr	ip, [fp, #-2268]
	ldr	r3, [fp, #-2152]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-661]	@ zero_extendqisi2
	ldr	ip, [fp, #-2264]
	ldr	r3, [fp, #-2148]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #2096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-660]	@ zero_extendqisi2
	ldr	ip, [fp, #-2260]
	ldr	r3, [fp, #-2144]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-659]	@ zero_extendqisi2
	ldr	ip, [fp, #-2256]
	ldr	r3, [fp, #-2140]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-658]	@ zero_extendqisi2
	ldr	ip, [fp, #-2252]
	ldr	r3, [fp, #-2136]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-657]	@ zero_extendqisi2
	ldr	ip, [fp, #-2248]
	ldr	r3, [fp, #-2132]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #2080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-656]	@ zero_extendqisi2
	ldr	ip, [fp, #-2244]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-76]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-655]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-676]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-72]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2064
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2048
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2064
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2048
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2048
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2032
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2016
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2000
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #1968
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1984
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1984]
	ldr	r3, [fp, #-1996]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-654]	@ zero_extendqisi2
	ldr	ip, [fp, #-1992]
	ldr	r3, [fp, #-2004]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-653]	@ zero_extendqisi2
	ldr	ip, [fp, #-2000]
	ldr	r3, [fp, #-2012]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1968
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-652]	@ zero_extendqisi2
	ldr	ip, [fp, #-2008]
	ldr	r3, [fp, #-2020]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-651]	@ zero_extendqisi2
	ldr	ip, [fp, #-2016]
	ldr	r3, [fp, #-2028]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-650]	@ zero_extendqisi2
	ldr	ip, [fp, #-2024]
	ldr	r3, [fp, #-2036]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-649]	@ zero_extendqisi2
	ldr	ip, [fp, #-2032]
	ldr	r3, [fp, #-2044]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1952
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-648]	@ zero_extendqisi2
	ldr	ip, [fp, #-2040]
	ldr	r3, [fp, #-2052]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-647]	@ zero_extendqisi2
	ldr	ip, [fp, #-2048]
	ldr	r3, [fp, #-2060]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-646]	@ zero_extendqisi2
	ldr	ip, [fp, #-2056]
	ldr	r3, [fp, #-2068]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-645]	@ zero_extendqisi2
	ldr	ip, [fp, #-2064]
	ldr	r3, [fp, #-2076]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1936
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-644]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-2124]
	ldr	r3, [fp, #-1988]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-643]	@ zero_extendqisi2
	ldr	ip, [fp, #-2120]
	ldr	r3, [fp, #-1980]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-642]	@ zero_extendqisi2
	ldr	ip, [fp, #-2116]
	ldr	r3, [fp, #-1976]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-641]	@ zero_extendqisi2
	ldr	ip, [fp, #-2112]
	ldr	r3, [fp, #-1972]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r0, fp, #1920
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-640]	@ zero_extendqisi2
	ldr	ip, [fp, #-2108]
	ldr	r3, [fp, #-1968]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-639]	@ zero_extendqisi2
	ldr	ip, [fp, #-2104]
	ldr	r3, [fp, #-1964]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-638]	@ zero_extendqisi2
	ldr	ip, [fp, #-2100]
	ldr	r3, [fp, #-1960]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-637]	@ zero_extendqisi2
	ldr	ip, [fp, #-2096]
	ldr	r3, [fp, #-1956]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #1904
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-636]	@ zero_extendqisi2
	ldr	ip, [fp, #-2092]
	ldr	r3, [fp, #-1952]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-635]	@ zero_extendqisi2
	ldr	ip, [fp, #-2088]
	ldr	r3, [fp, #-1948]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-634]	@ zero_extendqisi2
	ldr	ip, [fp, #-2084]
	ldr	r3, [fp, #-1944]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-633]	@ zero_extendqisi2
	ldr	ip, [fp, #-2080]
	ldr	r3, [fp, #-1940]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #1888
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-632]	@ zero_extendqisi2
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	ldr	r3, [fp, #-72]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1872
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1872
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1840
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1856
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1840
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1824
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1840
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1824
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1824
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1808
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1816]
	ldr	r3, [fp, #-1828]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-630]	@ zero_extendqisi2
	ldr	ip, [fp, #-1824]
	ldr	r3, [fp, #-1836]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-629]	@ zero_extendqisi2
	ldr	ip, [fp, #-1832]
	ldr	r3, [fp, #-1844]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #1792
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-628]	@ zero_extendqisi2
	ldr	ip, [fp, #-1840]
	ldr	r3, [fp, #-1852]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-627]	@ zero_extendqisi2
	ldr	ip, [fp, #-1848]
	ldr	r3, [fp, #-1860]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-626]	@ zero_extendqisi2
	ldr	ip, [fp, #-1856]
	ldr	r3, [fp, #-1868]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-625]	@ zero_extendqisi2
	ldr	ip, [fp, #-1864]
	ldr	r3, [fp, #-1876]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #1776
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-624]	@ zero_extendqisi2
	ldr	ip, [fp, #-1872]
	ldr	r3, [fp, #-1884]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-623]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1880]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-1936]
	ldr	r3, [fp, #-1812]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-622]	@ zero_extendqisi2
	ldr	ip, [fp, #-1932]
	ldr	r3, [fp, #-1808]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-621]	@ zero_extendqisi2
	ldr	r3, [fp, #-1928]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #1760
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-620]	@ zero_extendqisi2
	ldr	ip, [fp, #-1924]
	ldr	r3, [fp, #-1820]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-619]	@ zero_extendqisi2
	ldr	ip, [fp, #-1920]
	ldr	r3, [fp, #-1804]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-618]	@ zero_extendqisi2
	ldr	ip, [fp, #-1916]
	ldr	r3, [fp, #-1800]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-617]	@ zero_extendqisi2
	ldr	ip, [fp, #-1912]
	ldr	r3, [fp, #-1796]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #1744
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-616]	@ zero_extendqisi2
	ldr	ip, [fp, #-1908]
	ldr	r3, [fp, #-1792]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-615]	@ zero_extendqisi2
	ldr	ip, [fp, #-1904]
	ldr	r3, [fp, #-1788]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-614]	@ zero_extendqisi2
	ldr	ip, [fp, #-1900]
	ldr	r3, [fp, #-1784]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-613]	@ zero_extendqisi2
	ldr	ip, [fp, #-1896]
	ldr	r3, [fp, #-1780]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #1728
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-612]	@ zero_extendqisi2
	ldr	ip, [fp, #-1892]
	ldr	r3, [fp, #-1776]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-611]	@ zero_extendqisi2
	ldr	ip, [fp, #-1888]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-64]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-610]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-631]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-60]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1628]
	ldr	r3, [fp, #-1640]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-609]	@ zero_extendqisi2
	ldr	ip, [fp, #-1636]
	ldr	r3, [fp, #-1648]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #1616
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-608]	@ zero_extendqisi2
	ldr	ip, [fp, #-1644]
	ldr	r3, [fp, #-1656]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-607]	@ zero_extendqisi2
	ldr	ip, [fp, #-1652]
	ldr	r3, [fp, #-1664]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-606]	@ zero_extendqisi2
	ldr	ip, [fp, #-1660]
	ldr	r3, [fp, #-1672]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-605]	@ zero_extendqisi2
	ldr	ip, [fp, #-1668]
	ldr	r3, [fp, #-1680]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #1600
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-604]	@ zero_extendqisi2
	ldr	ip, [fp, #-1676]
	ldr	r3, [fp, #-1688]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-603]	@ zero_extendqisi2
	ldr	ip, [fp, #-1684]
	ldr	r3, [fp, #-1696]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-602]	@ zero_extendqisi2
	ldr	ip, [fp, #-1692]
	ldr	r3, [fp, #-1704]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-601]	@ zero_extendqisi2
	ldr	ip, [fp, #-1700]
	ldr	r3, [fp, #-1712]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #1584
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-600]	@ zero_extendqisi2
	ldr	ip, [fp, #-1708]
	ldr	r3, [fp, #-1720]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-599]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1716]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-1768]
	ldr	r3, [fp, #-1632]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-598]	@ zero_extendqisi2
	ldr	ip, [fp, #-1764]
	ldr	r3, [fp, #-1624]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-597]	@ zero_extendqisi2
	ldr	ip, [fp, #-1760]
	ldr	r3, [fp, #-1620]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #1568
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-596]	@ zero_extendqisi2
	ldr	ip, [fp, #-1756]
	ldr	r3, [fp, #-1616]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-595]	@ zero_extendqisi2
	ldr	ip, [fp, #-1752]
	ldr	r3, [fp, #-1612]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-594]	@ zero_extendqisi2
	ldr	ip, [fp, #-1748]
	ldr	r3, [fp, #-1608]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-593]	@ zero_extendqisi2
	ldr	ip, [fp, #-1744]
	ldr	r3, [fp, #-1604]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #1552
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-592]	@ zero_extendqisi2
	ldr	ip, [fp, #-1740]
	ldr	r3, [fp, #-1600]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-591]	@ zero_extendqisi2
	ldr	ip, [fp, #-1736]
	ldr	r3, [fp, #-1596]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-590]	@ zero_extendqisi2
	ldr	ip, [fp, #-1732]
	ldr	r3, [fp, #-1592]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-589]	@ zero_extendqisi2
	ldr	ip, [fp, #-1728]
	ldr	r3, [fp, #-1588]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1536
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-588]	@ zero_extendqisi2
	ldr	ip, [fp, #-1724]
	ldr	r3, [fp, #-1584]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-587]	@ zero_extendqisi2
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-56]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1460]
	ldr	r3, [fp, #-1472]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-585]	@ zero_extendqisi2
	ldr	ip, [fp, #-1468]
	ldr	r3, [fp, #-1480]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-584]	@ zero_extendqisi2
	ldr	ip, [fp, #-1476]
	ldr	r3, [fp, #-1488]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-583]	@ zero_extendqisi2
	ldr	ip, [fp, #-1484]
	ldr	r3, [fp, #-1496]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-582]	@ zero_extendqisi2
	ldr	ip, [fp, #-1492]
	ldr	r3, [fp, #-1504]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-581]	@ zero_extendqisi2
	ldr	ip, [fp, #-1500]
	ldr	r3, [fp, #-1512]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1424
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-580]	@ zero_extendqisi2
	ldr	ip, [fp, #-1508]
	ldr	r3, [fp, #-1520]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-579]	@ zero_extendqisi2
	ldr	ip, [fp, #-1516]
	ldr	r3, [fp, #-1528]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-578]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1524]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-1580]
	ldr	r3, [fp, #-1456]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-577]	@ zero_extendqisi2
	ldr	ip, [fp, #-1576]
	ldr	r3, [fp, #-1452]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r0, fp, #1408
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-576]	@ zero_extendqisi2
	ldr	r3, [fp, #-1572]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-575]	@ zero_extendqisi2
	ldr	ip, [fp, #-1568]
	ldr	r3, [fp, #-1464]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-574]	@ zero_extendqisi2
	ldr	ip, [fp, #-1564]
	ldr	r3, [fp, #-1448]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-573]	@ zero_extendqisi2
	ldr	ip, [fp, #-1560]
	ldr	r3, [fp, #-1444]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #1392
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-572]	@ zero_extendqisi2
	ldr	ip, [fp, #-1556]
	ldr	r3, [fp, #-1440]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-571]	@ zero_extendqisi2
	ldr	ip, [fp, #-1552]
	ldr	r3, [fp, #-1436]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-570]	@ zero_extendqisi2
	ldr	ip, [fp, #-1548]
	ldr	r3, [fp, #-1432]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-569]	@ zero_extendqisi2
	ldr	ip, [fp, #-1544]
	ldr	r3, [fp, #-1428]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #1376
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-568]	@ zero_extendqisi2
	ldr	ip, [fp, #-1540]
	ldr	r3, [fp, #-1424]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-567]	@ zero_extendqisi2
	ldr	ip, [fp, #-1536]
	ldr	r3, [fp, #-1420]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-566]	@ zero_extendqisi2
	ldr	ip, [fp, #-1532]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-52]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-565]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-586]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-48]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1360
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1344
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1328
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1296
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1312
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1296
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1280
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1296
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1280
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1264
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1280
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #1264
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1272]
	ldr	r3, [fp, #-1284]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #1264
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-564]	@ zero_extendqisi2
	ldr	ip, [fp, #-1280]
	ldr	r3, [fp, #-1292]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-563]	@ zero_extendqisi2
	ldr	ip, [fp, #-1288]
	ldr	r3, [fp, #-1300]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-562]	@ zero_extendqisi2
	ldr	ip, [fp, #-1296]
	ldr	r3, [fp, #-1308]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-561]	@ zero_extendqisi2
	ldr	ip, [fp, #-1304]
	ldr	r3, [fp, #-1316]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #1248
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-560]	@ zero_extendqisi2
	ldr	ip, [fp, #-1312]
	ldr	r3, [fp, #-1324]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-559]	@ zero_extendqisi2
	ldr	ip, [fp, #-1320]
	ldr	r3, [fp, #-1332]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-558]	@ zero_extendqisi2
	ldr	ip, [fp, #-1328]
	ldr	r3, [fp, #-1340]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-557]	@ zero_extendqisi2
	ldr	ip, [fp, #-1336]
	ldr	r3, [fp, #-1348]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #1232
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-556]	@ zero_extendqisi2
	ldr	ip, [fp, #-1344]
	ldr	r3, [fp, #-1356]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-555]	@ zero_extendqisi2
	ldr	ip, [fp, #-1352]
	ldr	r3, [fp, #-1364]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-554]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1360]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-1412]
	ldr	r3, [fp, #-1276]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-553]	@ zero_extendqisi2
	ldr	ip, [fp, #-1408]
	ldr	r3, [fp, #-1268]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #1216
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-552]	@ zero_extendqisi2
	ldr	ip, [fp, #-1404]
	ldr	r3, [fp, #-1264]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-551]	@ zero_extendqisi2
	ldr	ip, [fp, #-1400]
	ldr	r3, [fp, #-1260]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-550]	@ zero_extendqisi2
	ldr	ip, [fp, #-1396]
	ldr	r3, [fp, #-1256]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-549]	@ zero_extendqisi2
	ldr	ip, [fp, #-1392]
	ldr	r3, [fp, #-1252]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #1200
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-548]	@ zero_extendqisi2
	ldr	ip, [fp, #-1388]
	ldr	r3, [fp, #-1248]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-547]	@ zero_extendqisi2
	ldr	ip, [fp, #-1384]
	ldr	r3, [fp, #-1244]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-546]	@ zero_extendqisi2
	ldr	ip, [fp, #-1380]
	ldr	r3, [fp, #-1240]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-545]	@ zero_extendqisi2
	ldr	ip, [fp, #-1376]
	ldr	r3, [fp, #-1236]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #1184
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-544]	@ zero_extendqisi2
	ldr	ip, [fp, #-1372]
	ldr	r3, [fp, #-1232]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-543]	@ zero_extendqisi2
	ldr	ip, [fp, #-1368]
	ldr	r3, [fp, #-1228]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-542]	@ zero_extendqisi2
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	ldr	r3, [fp, #-48]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1168
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1136
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1152
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1136
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1136
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1120
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1104
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1104]
	ldr	r3, [fp, #-1116]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #1088
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-540]	@ zero_extendqisi2
	ldr	ip, [fp, #-1112]
	ldr	r3, [fp, #-1124]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-539]	@ zero_extendqisi2
	ldr	ip, [fp, #-1120]
	ldr	r3, [fp, #-1132]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-538]	@ zero_extendqisi2
	ldr	ip, [fp, #-1128]
	ldr	r3, [fp, #-1140]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-537]	@ zero_extendqisi2
	ldr	ip, [fp, #-1136]
	ldr	r3, [fp, #-1148]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #1072
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-536]	@ zero_extendqisi2
	ldr	ip, [fp, #-1144]
	ldr	r3, [fp, #-1156]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-535]	@ zero_extendqisi2
	ldr	ip, [fp, #-1152]
	ldr	r3, [fp, #-1164]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-534]	@ zero_extendqisi2
	ldr	ip, [fp, #-1160]
	ldr	r3, [fp, #-1172]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-533]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1168]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-1224]
	ldr	r3, [fp, #-1100]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #1056
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-532]	@ zero_extendqisi2
	ldr	ip, [fp, #-1220]
	ldr	r3, [fp, #-1096]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-531]	@ zero_extendqisi2
	ldr	r3, [fp, #-1216]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-530]	@ zero_extendqisi2
	ldr	ip, [fp, #-1212]
	ldr	r3, [fp, #-1108]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-529]	@ zero_extendqisi2
	ldr	ip, [fp, #-1208]
	ldr	r3, [fp, #-1092]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #1040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-528]	@ zero_extendqisi2
	ldr	ip, [fp, #-1204]
	ldr	r3, [fp, #-1088]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-527]	@ zero_extendqisi2
	ldr	ip, [fp, #-1200]
	ldr	r3, [fp, #-1084]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-526]	@ zero_extendqisi2
	ldr	ip, [fp, #-1196]
	ldr	r3, [fp, #-1080]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-525]	@ zero_extendqisi2
	ldr	ip, [fp, #-1192]
	ldr	r3, [fp, #-1076]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-524]	@ zero_extendqisi2
	ldr	ip, [fp, #-1188]
	ldr	r3, [fp, #-1072]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1024
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-523]	@ zero_extendqisi2
	ldr	ip, [fp, #-1184]
	ldr	r3, [fp, #-1068]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1020
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-522]	@ zero_extendqisi2
	ldr	ip, [fp, #-1180]
	ldr	r3, [fp, #-1064]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1016
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-521]	@ zero_extendqisi2
	ldr	ip, [fp, #-1176]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1012
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-520]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-541]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #1004
	sub	r0, fp, #1008
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #996
	sub	r0, fp, #1000
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #988
	sub	r0, fp, #992
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #980
	sub	r0, fp, #984
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #972
	sub	r0, fp, #976
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #964
	sub	r0, fp, #968
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #956
	sub	r0, fp, #960
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #948
	sub	r0, fp, #952
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #940
	sub	r0, fp, #944
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #932
	sub	r0, fp, #936
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #924
	sub	r0, fp, #928
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #916
	sub	r0, fp, #920
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-916]
	ldr	r3, [fp, #-928]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #912
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-519]	@ zero_extendqisi2
	ldr	ip, [fp, #-924]
	ldr	r3, [fp, #-936]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #908
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-518]	@ zero_extendqisi2
	ldr	ip, [fp, #-932]
	ldr	r3, [fp, #-944]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #904
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-517]	@ zero_extendqisi2
	ldr	ip, [fp, #-940]
	ldr	r3, [fp, #-952]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #900
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-516]	@ zero_extendqisi2
	ldr	ip, [fp, #-948]
	ldr	r3, [fp, #-960]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #896
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-515]	@ zero_extendqisi2
	ldr	ip, [fp, #-956]
	ldr	r3, [fp, #-968]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #892
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-514]	@ zero_extendqisi2
	ldr	ip, [fp, #-964]
	ldr	r3, [fp, #-976]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #888
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-513]	@ zero_extendqisi2
	ldr	ip, [fp, #-972]
	ldr	r3, [fp, #-984]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r0, fp, #884
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-512]	@ zero_extendqisi2
	ldr	ip, [fp, #-980]
	ldr	r3, [fp, #-992]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #880
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-511]	@ zero_extendqisi2
	ldr	ip, [fp, #-988]
	ldr	r3, [fp, #-1000]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #876
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-510]	@ zero_extendqisi2
	ldr	ip, [fp, #-996]
	ldr	r3, [fp, #-1008]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #872
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-509]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1004]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-1056]
	ldr	r3, [fp, #-920]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #868
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-508]	@ zero_extendqisi2
	ldr	ip, [fp, #-1052]
	ldr	r3, [fp, #-912]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #864
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-507]	@ zero_extendqisi2
	ldr	ip, [fp, #-1048]
	ldr	r3, [fp, #-908]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #860
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-506]	@ zero_extendqisi2
	ldr	ip, [fp, #-1044]
	ldr	r3, [fp, #-904]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #856
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-505]	@ zero_extendqisi2
	ldr	ip, [fp, #-1040]
	ldr	r3, [fp, #-900]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #852
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-504]	@ zero_extendqisi2
	ldr	ip, [fp, #-1036]
	ldr	r3, [fp, #-896]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #848
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-503]	@ zero_extendqisi2
	ldr	ip, [fp, #-1032]
	ldr	r3, [fp, #-892]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #844
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-502]	@ zero_extendqisi2
	ldr	ip, [fp, #-1028]
	ldr	r3, [fp, #-888]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #840
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-501]	@ zero_extendqisi2
	ldr	ip, [fp, #-1024]
	ldr	r3, [fp, #-884]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #836
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-500]	@ zero_extendqisi2
	ldr	ip, [fp, #-1020]
	ldr	r3, [fp, #-880]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #832
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-499]	@ zero_extendqisi2
	ldr	ip, [fp, #-1016]
	ldr	r3, [fp, #-876]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #828
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-498]	@ zero_extendqisi2
	ldr	ip, [fp, #-1012]
	ldr	r3, [fp, #-872]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #824
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-497]	@ zero_extendqisi2
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #820
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #812
	sub	r0, fp, #816
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #804
	sub	r0, fp, #808
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #796
	sub	r0, fp, #800
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #788
	sub	r0, fp, #792
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #780
	sub	r0, fp, #784
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #772
	sub	r0, fp, #776
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #764
	sub	r0, fp, #768
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #756
	sub	r0, fp, #760
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #748
	sub	r0, fp, #752
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #740
	sub	r0, fp, #744
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	ldr	r3, [fp, #-760]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #736
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-495]	@ zero_extendqisi2
	ldr	ip, [fp, #-756]
	ldr	r3, [fp, #-768]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #732
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-494]	@ zero_extendqisi2
	ldr	ip, [fp, #-764]
	ldr	r3, [fp, #-776]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #728
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-493]	@ zero_extendqisi2
	ldr	ip, [fp, #-772]
	ldr	r3, [fp, #-784]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #724
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-492]	@ zero_extendqisi2
	ldr	ip, [fp, #-780]
	ldr	r3, [fp, #-792]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #720
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-491]	@ zero_extendqisi2
	ldr	ip, [fp, #-788]
	ldr	r3, [fp, #-800]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #716
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-490]	@ zero_extendqisi2
	ldr	ip, [fp, #-796]
	ldr	r3, [fp, #-808]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #712
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-489]	@ zero_extendqisi2
	ldr	ip, [fp, #-804]
	ldr	r3, [fp, #-816]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #708
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-488]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-812]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-868]
	ldr	r3, [fp, #-744]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #704
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-487]	@ zero_extendqisi2
	ldr	ip, [fp, #-864]
	ldr	r3, [fp, #-740]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #700
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-486]	@ zero_extendqisi2
	ldr	r3, [fp, #-860]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #696
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-485]	@ zero_extendqisi2
	ldr	ip, [fp, #-856]
	ldr	r3, [fp, #-752]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #692
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-484]	@ zero_extendqisi2
	ldr	ip, [fp, #-852]
	ldr	r3, [fp, #-736]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #688
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-483]	@ zero_extendqisi2
	ldr	ip, [fp, #-848]
	ldr	r3, [fp, #-732]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #684
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-482]	@ zero_extendqisi2
	ldr	ip, [fp, #-844]
	ldr	r3, [fp, #-728]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #680
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-481]	@ zero_extendqisi2
	ldr	ip, [fp, #-840]
	ldr	r3, [fp, #-724]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #676
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-480]	@ zero_extendqisi2
	ldr	ip, [fp, #-836]
	ldr	r3, [fp, #-720]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #672
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-479]	@ zero_extendqisi2
	ldr	ip, [fp, #-832]
	ldr	r3, [fp, #-716]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #668
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-478]	@ zero_extendqisi2
	ldr	ip, [fp, #-828]
	ldr	r3, [fp, #-712]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #664
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-477]	@ zero_extendqisi2
	ldr	ip, [fp, #-824]
	ldr	r3, [fp, #-708]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #660
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-476]	@ zero_extendqisi2
	ldr	ip, [fp, #-820]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #656
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-475]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-496]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-24]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #648
	sub	r0, fp, #652
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #640
	sub	r0, fp, #644
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #632
	sub	r0, fp, #636
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #624
	sub	r0, fp, #628
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #616
	sub	r0, fp, #620
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #608
	sub	r0, fp, #612
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #600
	sub	r0, fp, #604
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #592
	sub	r0, fp, #596
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #584
	sub	r0, fp, #588
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #576
	sub	r0, fp, #580
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #568
	sub	r0, fp, #572
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-972]
	ldr	r3, [r3]
	sub	r1, fp, #560
	sub	r0, fp, #564
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-560]
	ldr	r3, [fp, #-572]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #556
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-474]	@ zero_extendqisi2
	ldr	ip, [fp, #-568]
	ldr	r3, [fp, #-580]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #552
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-473]	@ zero_extendqisi2
	ldr	ip, [fp, #-576]
	ldr	r3, [fp, #-588]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #548
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-472]	@ zero_extendqisi2
	ldr	ip, [fp, #-584]
	ldr	r3, [fp, #-596]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #544
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-471]	@ zero_extendqisi2
	ldr	ip, [fp, #-592]
	ldr	r3, [fp, #-604]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #540
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-470]	@ zero_extendqisi2
	ldr	ip, [fp, #-600]
	ldr	r3, [fp, #-612]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #536
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-469]	@ zero_extendqisi2
	ldr	ip, [fp, #-608]
	ldr	r3, [fp, #-620]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #532
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-468]	@ zero_extendqisi2
	ldr	ip, [fp, #-616]
	ldr	r3, [fp, #-628]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #528
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-467]	@ zero_extendqisi2
	ldr	ip, [fp, #-624]
	ldr	r3, [fp, #-636]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #524
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-466]	@ zero_extendqisi2
	ldr	ip, [fp, #-632]
	ldr	r3, [fp, #-644]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #520
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-465]	@ zero_extendqisi2
	ldr	ip, [fp, #-640]
	ldr	r3, [fp, #-652]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #516
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-464]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-648]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-700]
	ldr	r3, [fp, #-564]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #512
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-463]	@ zero_extendqisi2
	ldr	ip, [fp, #-696]
	ldr	r3, [fp, #-556]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #508
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-462]	@ zero_extendqisi2
	ldr	ip, [fp, #-692]
	ldr	r3, [fp, #-552]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #504
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-461]	@ zero_extendqisi2
	ldr	ip, [fp, #-688]
	ldr	r3, [fp, #-548]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #500
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-460]	@ zero_extendqisi2
	ldr	ip, [fp, #-684]
	ldr	r3, [fp, #-544]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #496
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-459]	@ zero_extendqisi2
	ldr	ip, [fp, #-680]
	ldr	r3, [fp, #-540]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #492
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-458]	@ zero_extendqisi2
	ldr	ip, [fp, #-676]
	ldr	r3, [fp, #-536]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #488
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-457]	@ zero_extendqisi2
	ldr	ip, [fp, #-672]
	ldr	r3, [fp, #-532]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #484
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-456]	@ zero_extendqisi2
	ldr	ip, [fp, #-668]
	ldr	r3, [fp, #-528]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #480
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-455]	@ zero_extendqisi2
	ldr	ip, [fp, #-664]
	ldr	r3, [fp, #-524]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-454]	@ zero_extendqisi2
	ldr	ip, [fp, #-660]
	ldr	r3, [fp, #-520]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #472
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-453]	@ zero_extendqisi2
	ldr	ip, [fp, #-656]
	ldr	r3, [fp, #-516]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #468
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-452]	@ zero_extendqisi2
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #464
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #456
	sub	r0, fp, #460
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #448
	sub	r0, fp, #452
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #440
	sub	r0, fp, #444
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #432
	sub	r0, fp, #436
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #424
	sub	r0, fp, #428
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #416
	sub	r0, fp, #420
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #408
	sub	r0, fp, #412
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #400
	sub	r0, fp, #404
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #392
	sub	r0, fp, #396
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #384
	sub	r0, fp, #388
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-404]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #380
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-450]	@ zero_extendqisi2
	ldr	ip, [fp, #-400]
	ldr	r3, [fp, #-412]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #376
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-449]	@ zero_extendqisi2
	ldr	ip, [fp, #-408]
	ldr	r3, [fp, #-420]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r0, fp, #372
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-448]	@ zero_extendqisi2
	ldr	ip, [fp, #-416]
	ldr	r3, [fp, #-428]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #368
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-447]	@ zero_extendqisi2
	ldr	ip, [fp, #-424]
	ldr	r3, [fp, #-436]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-446]	@ zero_extendqisi2
	ldr	ip, [fp, #-432]
	ldr	r3, [fp, #-444]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-445]	@ zero_extendqisi2
	ldr	ip, [fp, #-440]
	ldr	r3, [fp, #-452]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-444]	@ zero_extendqisi2
	ldr	ip, [fp, #-448]
	ldr	r3, [fp, #-460]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-443]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-456]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-512]
	ldr	r3, [fp, #-388]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #348
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-442]	@ zero_extendqisi2
	ldr	ip, [fp, #-508]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #344
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-441]	@ zero_extendqisi2
	ldr	r3, [fp, #-504]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #340
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-440]	@ zero_extendqisi2
	ldr	ip, [fp, #-500]
	ldr	r3, [fp, #-396]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #336
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-439]	@ zero_extendqisi2
	ldr	ip, [fp, #-496]
	ldr	r3, [fp, #-380]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #332
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-438]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-376]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #328
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-437]	@ zero_extendqisi2
	ldr	ip, [fp, #-488]
	ldr	r3, [fp, #-372]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #324
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-436]	@ zero_extendqisi2
	ldr	ip, [fp, #-484]
	ldr	r3, [fp, #-368]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #320
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-435]	@ zero_extendqisi2
	ldr	ip, [fp, #-480]
	ldr	r3, [fp, #-364]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #316
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-434]	@ zero_extendqisi2
	ldr	ip, [fp, #-476]
	ldr	r3, [fp, #-360]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #312
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-433]	@ zero_extendqisi2
	ldr	ip, [fp, #-472]
	ldr	r3, [fp, #-356]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #308
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-432]	@ zero_extendqisi2
	ldr	ip, [fp, #-468]
	ldr	r3, [fp, #-352]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #304
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-431]	@ zero_extendqisi2
	ldr	ip, [fp, #-464]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #300
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-430]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-451]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-344]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #296
	mvn	r2, #0
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-429]	@ zero_extendqisi2
	ldr	r3, [fp, #-340]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #292
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-428]	@ zero_extendqisi2
	ldr	r3, [fp, #-336]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #288
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-427]	@ zero_extendqisi2
	ldr	r3, [fp, #-332]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #284
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-426]	@ zero_extendqisi2
	ldr	r3, [fp, #-328]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #280
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-425]	@ zero_extendqisi2
	ldr	r3, [fp, #-324]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #276
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-424]	@ zero_extendqisi2
	ldr	r3, [fp, #-320]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #272
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-423]	@ zero_extendqisi2
	ldr	r3, [fp, #-316]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #268
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-422]	@ zero_extendqisi2
	ldr	r3, [fp, #-312]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #264
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-421]	@ zero_extendqisi2
	ldr	r3, [fp, #-308]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #260
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-420]	@ zero_extendqisi2
	ldr	r3, [fp, #-304]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #256
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-419]	@ zero_extendqisi2
	ldr	r3, [fp, #-300]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #252
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-418]	@ zero_extendqisi2
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #248
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-296]
	ldr	r3, [fp, #-344]
	sub	r0, fp, #244
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-292]
	ldr	r3, [fp, #-340]
	sub	r0, fp, #240
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-288]
	ldr	r3, [fp, #-336]
	sub	r0, fp, #236
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-284]
	ldr	r3, [fp, #-332]
	sub	r0, fp, #232
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-280]
	ldr	r3, [fp, #-328]
	sub	r0, fp, #228
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-276]
	ldr	r3, [fp, #-324]
	sub	r0, fp, #224
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-272]
	ldr	r3, [fp, #-320]
	sub	r0, fp, #220
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-268]
	ldr	r3, [fp, #-316]
	sub	r0, fp, #216
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-264]
	ldr	r3, [fp, #-312]
	sub	r0, fp, #212
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-308]
	sub	r0, fp, #208
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-256]
	ldr	r3, [fp, #-304]
	sub	r0, fp, #204
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-300]
	sub	r0, fp, #200
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-244]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #4
	ldr	r2, [fp, #-240]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #8
	ldr	r2, [fp, #-236]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #12
	ldr	r2, [fp, #-232]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #16
	ldr	r2, [fp, #-228]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #20
	ldr	r2, [fp, #-224]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #24
	ldr	r2, [fp, #-220]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #28
	ldr	r2, [fp, #-216]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #32
	ldr	r2, [fp, #-212]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #36
	ldr	r2, [fp, #-208]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #40
	ldr	r2, [fp, #-204]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #44
	ldr	r2, [fp, #-200]
	str	r2, [r3]
	nop
	ldr	r3, .L10
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L6
	bl	__stack_chk_fail
.L6:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L11:
	.align	2
.L10:
	.word	.LC0
	.size	fiat_p384_mul, .-fiat_p384_mul
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_square, %function
fiat_p384_square:
	@ args = 0, pretend = 0, frame = 5064
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #5056
	sub	sp, sp, #16
	sub	r3, fp, #4096
	sub	r3, r3, #4
	str	r0, [r3, #-964]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	str	r1, [r3, #-968]
	ldr	r3, .L14
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-196]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-192]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-188]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-184]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-180]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-176]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-172]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-168]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-164]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-160]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-156]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	str	r3, [fp, #-152]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #16
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4480
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #4480
	sub	r0, r0, #4
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #56
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #48
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #40
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #16
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #4416
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4416
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-152]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-324]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-336]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #4416
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-956]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-332]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-344]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-955]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-340]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-352]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-954]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-348]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-360]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #52
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-953]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-356]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-368]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #48
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-952]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-364]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-376]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #44
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-951]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-372]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-384]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #40
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-950]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-380]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-392]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #36
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-949]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-388]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-400]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-948]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-396]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-408]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #28
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-947]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-404]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-416]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-946]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-412]
	add	r3, r2, r3
	str	r3, [fp, #-148]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4352
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #20
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4352
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4352
	sub	r1, r1, #4
	sub	r0, fp, #4352
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #60
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #52
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #44
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #36
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #28
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #20
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r1, fp, #4288
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-208]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-220]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #4288
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-945]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-216]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-228]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #4288
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-944]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-224]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-236]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-943]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-232]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-244]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-942]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-240]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-252]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #52
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-941]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-248]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-260]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #48
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-940]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-256]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-268]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #44
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-939]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-264]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-276]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #40
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-938]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-272]
	add	r3, r2, r3
	str	r3, [fp, #-144]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-328]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-204]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #36
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-937]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-320]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-200]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-936]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-316]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #28
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-935]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-312]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-212]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-934]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-308]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-196]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #20
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-933]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-304]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-192]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #16
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-932]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-300]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-188]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-931]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-296]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-184]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-930]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-292]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-180]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #4224
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-929]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-288]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-176]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #4224
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-928]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-284]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-172]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #60
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-927]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-280]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-168]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #56
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-926]	@ zero_extendqisi2
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #52
	ldr	r3, [fp, #-144]
	str	r3, [sp]
	ldr	r3, [fp, #-148]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #48
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #40
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #16
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #4160
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4160
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #4160
	sub	r0, r0, #4
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #56
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #48
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	b	.L15
.L16:
	.align	2
.L14:
	.word	.LC1
.L15:
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #40
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #32
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #24
	ldr	r2, [fp, #-196]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-20]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-32]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #16
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-924]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-28]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-40]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-923]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-48]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-922]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-44]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-56]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #4096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-921]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-52]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-64]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #4096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-920]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-60]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-72]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #4080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-919]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-68]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-80]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #4080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-918]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-76]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-88]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #4080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-917]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-84]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-96]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #4080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-916]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-92]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-104]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #4064
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-915]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-112]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #4064
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-914]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-108]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r3, #-160]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-24]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #4064
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-913]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-156]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-16]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #4064
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-912]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-152]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-12]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #4048
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-911]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-148]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-8]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #4048
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-910]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-144]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-4]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #4048
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-909]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4048
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-908]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-136]
	sub	r3, fp, #4096
	ldr	r3, [r3]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #4032
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-907]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-132]
	ldr	r3, [fp, #-4092]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #4032
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-906]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-128]
	ldr	r3, [fp, #-4088]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #4032
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-905]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-124]
	ldr	r3, [fp, #-4084]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #4032
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-904]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-120]
	ldr	r3, [fp, #-4080]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #4016
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-903]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	ip, [r3, #-116]
	ldr	r3, [fp, #-4076]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #4016
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-902]	@ zero_extendqisi2
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-925]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #4016
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-140]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #4000
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4016
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #4000
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #4000
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3984
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #4000
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3984
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3984
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3968
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3984
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3968
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3968
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3952
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3968
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3952
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3952
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3936
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3952
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-4072]
	sub	r1, fp, #3936
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3936
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3952]
	ldr	r3, [fp, #-3964]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3936
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-900]	@ zero_extendqisi2
	ldr	ip, [fp, #-3960]
	ldr	r3, [fp, #-3972]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #3920
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-899]	@ zero_extendqisi2
	ldr	ip, [fp, #-3968]
	ldr	r3, [fp, #-3980]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #3920
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-898]	@ zero_extendqisi2
	ldr	ip, [fp, #-3976]
	ldr	r3, [fp, #-3988]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #3920
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-897]	@ zero_extendqisi2
	ldr	ip, [fp, #-3984]
	ldr	r3, [fp, #-3996]
	sub	r1, fp, #4992
	sub	r1, r1, #4
	sub	r0, fp, #3920
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-896]	@ zero_extendqisi2
	ldr	ip, [fp, #-3992]
	ldr	r3, [fp, #-4004]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #3904
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-895]	@ zero_extendqisi2
	ldr	ip, [fp, #-4000]
	ldr	r3, [fp, #-4012]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #3904
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-894]	@ zero_extendqisi2
	ldr	ip, [fp, #-4008]
	ldr	r3, [fp, #-4020]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #3904
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-893]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-4016]
	add	r3, r2, r3
	str	r3, [fp, #-136]
	ldr	r2, [fp, #-4072]
	ldr	r3, [fp, #-3948]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #3904
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-892]	@ zero_extendqisi2
	ldr	ip, [fp, #-4068]
	ldr	r3, [fp, #-3944]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #3888
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-891]	@ zero_extendqisi2
	ldr	r3, [fp, #-4064]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #3888
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-890]	@ zero_extendqisi2
	ldr	ip, [fp, #-4060]
	ldr	r3, [fp, #-3956]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #3888
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-889]	@ zero_extendqisi2
	ldr	ip, [fp, #-4056]
	ldr	r3, [fp, #-3940]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #3888
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-888]	@ zero_extendqisi2
	ldr	ip, [fp, #-4052]
	ldr	r3, [fp, #-3936]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #3872
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-887]	@ zero_extendqisi2
	ldr	ip, [fp, #-4048]
	ldr	r3, [fp, #-3932]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #3872
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-886]	@ zero_extendqisi2
	ldr	ip, [fp, #-4044]
	ldr	r3, [fp, #-3928]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #3872
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-885]	@ zero_extendqisi2
	ldr	ip, [fp, #-4040]
	ldr	r3, [fp, #-3924]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #3872
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-884]	@ zero_extendqisi2
	ldr	ip, [fp, #-4036]
	ldr	r3, [fp, #-3920]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #3856
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-883]	@ zero_extendqisi2
	ldr	ip, [fp, #-4032]
	ldr	r3, [fp, #-3916]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #3856
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-882]	@ zero_extendqisi2
	ldr	ip, [fp, #-4028]
	ldr	r3, [fp, #-3912]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #3856
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-881]	@ zero_extendqisi2
	ldr	ip, [fp, #-4024]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #3856
	sub	r0, r0, #4
	ldr	r3, [fp, #-136]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-880]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-901]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-132]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #3840
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3840
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #3840
	sub	r1, r1, #4
	sub	r0, fp, #3840
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #3824
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3824
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #3824
	sub	r1, r1, #4
	sub	r0, fp, #3824
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #3808
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3808
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #3808
	sub	r1, r1, #4
	sub	r0, fp, #3808
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #3792
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3792
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #3792
	sub	r1, r1, #4
	sub	r0, fp, #3792
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #3776
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3776
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #3776
	sub	r1, r1, #4
	sub	r0, fp, #3776
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #3760
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3760
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #3760
	sub	r1, r1, #4
	sub	r0, fp, #3760
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-192]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3764]
	ldr	r3, [fp, #-3776]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #3744
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-879]	@ zero_extendqisi2
	ldr	ip, [fp, #-3772]
	ldr	r3, [fp, #-3784]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #3744
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-878]	@ zero_extendqisi2
	ldr	ip, [fp, #-3780]
	ldr	r3, [fp, #-3792]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #3744
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-877]	@ zero_extendqisi2
	ldr	ip, [fp, #-3788]
	ldr	r3, [fp, #-3800]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #3744
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-876]	@ zero_extendqisi2
	ldr	ip, [fp, #-3796]
	ldr	r3, [fp, #-3808]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #3728
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-875]	@ zero_extendqisi2
	ldr	ip, [fp, #-3804]
	ldr	r3, [fp, #-3816]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #3728
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-874]	@ zero_extendqisi2
	ldr	ip, [fp, #-3812]
	ldr	r3, [fp, #-3824]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #3728
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-873]	@ zero_extendqisi2
	ldr	ip, [fp, #-3820]
	ldr	r3, [fp, #-3832]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #3728
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-872]	@ zero_extendqisi2
	ldr	ip, [fp, #-3828]
	ldr	r3, [fp, #-3840]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #3712
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-871]	@ zero_extendqisi2
	ldr	ip, [fp, #-3836]
	ldr	r3, [fp, #-3848]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #3712
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-870]	@ zero_extendqisi2
	ldr	ip, [fp, #-3844]
	ldr	r3, [fp, #-3856]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #3712
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-869]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3852]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r2, [fp, #-3904]
	ldr	r3, [fp, #-3768]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #3712
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-868]	@ zero_extendqisi2
	ldr	ip, [fp, #-3900]
	ldr	r3, [fp, #-3760]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #3696
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-867]	@ zero_extendqisi2
	ldr	ip, [fp, #-3896]
	ldr	r3, [fp, #-3756]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #3696
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-866]	@ zero_extendqisi2
	ldr	ip, [fp, #-3892]
	ldr	r3, [fp, #-3752]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #3696
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-865]	@ zero_extendqisi2
	ldr	ip, [fp, #-3888]
	ldr	r3, [fp, #-3748]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #3696
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-864]	@ zero_extendqisi2
	ldr	ip, [fp, #-3884]
	ldr	r3, [fp, #-3744]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #3680
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-863]	@ zero_extendqisi2
	ldr	ip, [fp, #-3880]
	ldr	r3, [fp, #-3740]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #3680
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-862]	@ zero_extendqisi2
	ldr	ip, [fp, #-3876]
	ldr	r3, [fp, #-3736]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #3680
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-861]	@ zero_extendqisi2
	ldr	ip, [fp, #-3872]
	ldr	r3, [fp, #-3732]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #3680
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-860]	@ zero_extendqisi2
	ldr	ip, [fp, #-3868]
	ldr	r3, [fp, #-3728]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #3664
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-859]	@ zero_extendqisi2
	ldr	ip, [fp, #-3864]
	ldr	r3, [fp, #-3724]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #3664
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-858]	@ zero_extendqisi2
	ldr	ip, [fp, #-3860]
	ldr	r3, [fp, #-3720]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #3664
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-857]	@ zero_extendqisi2
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #3664
	sub	r0, r0, #4
	ldr	r3, [fp, #-128]
	str	r3, [sp]
	ldr	r3, [fp, #-132]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3648
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3648
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3648
	sub	r1, r1, #4
	sub	r0, fp, #3648
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3632
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3632
	sub	r1, r1, #4
	sub	r0, fp, #3632
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3616
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3616
	sub	r1, r1, #4
	sub	r0, fp, #3616
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3600
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3600
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3600
	sub	r1, r1, #4
	sub	r0, fp, #3600
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3584
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3584
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3716]
	sub	r1, fp, #3584
	sub	r1, r1, #4
	sub	r0, fp, #3584
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3596]
	ldr	r3, [fp, #-3608]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #3568
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-855]	@ zero_extendqisi2
	ldr	ip, [fp, #-3604]
	ldr	r3, [fp, #-3616]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #3568
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-854]	@ zero_extendqisi2
	ldr	ip, [fp, #-3612]
	ldr	r3, [fp, #-3624]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #3568
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-853]	@ zero_extendqisi2
	ldr	ip, [fp, #-3620]
	ldr	r3, [fp, #-3632]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #3568
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-852]	@ zero_extendqisi2
	ldr	ip, [fp, #-3628]
	ldr	r3, [fp, #-3640]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #3552
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-851]	@ zero_extendqisi2
	ldr	ip, [fp, #-3636]
	ldr	r3, [fp, #-3648]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #3552
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-850]	@ zero_extendqisi2
	ldr	ip, [fp, #-3644]
	ldr	r3, [fp, #-3656]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #3552
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-849]	@ zero_extendqisi2
	ldr	ip, [fp, #-3652]
	ldr	r3, [fp, #-3664]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #3552
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-848]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3660]
	add	r3, r2, r3
	str	r3, [fp, #-124]
	ldr	r2, [fp, #-3716]
	ldr	r3, [fp, #-3592]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #3536
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-847]	@ zero_extendqisi2
	ldr	ip, [fp, #-3712]
	ldr	r3, [fp, #-3588]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #3536
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-846]	@ zero_extendqisi2
	ldr	r3, [fp, #-3708]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #3536
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-845]	@ zero_extendqisi2
	ldr	ip, [fp, #-3704]
	ldr	r3, [fp, #-3600]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3536
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-844]	@ zero_extendqisi2
	ldr	ip, [fp, #-3700]
	ldr	r3, [fp, #-3584]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #3520
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-843]	@ zero_extendqisi2
	ldr	ip, [fp, #-3696]
	ldr	r3, [fp, #-3580]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #3520
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-842]	@ zero_extendqisi2
	ldr	ip, [fp, #-3692]
	ldr	r3, [fp, #-3576]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #3520
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-841]	@ zero_extendqisi2
	ldr	ip, [fp, #-3688]
	ldr	r3, [fp, #-3572]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3520
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-840]	@ zero_extendqisi2
	ldr	ip, [fp, #-3684]
	ldr	r3, [fp, #-3568]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #3504
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-839]	@ zero_extendqisi2
	ldr	ip, [fp, #-3680]
	ldr	r3, [fp, #-3564]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #3504
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-838]	@ zero_extendqisi2
	ldr	ip, [fp, #-3676]
	ldr	r3, [fp, #-3560]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #3504
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-837]	@ zero_extendqisi2
	ldr	ip, [fp, #-3672]
	ldr	r3, [fp, #-3556]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3504
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-836]	@ zero_extendqisi2
	ldr	ip, [fp, #-3668]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #3488
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-124]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-835]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-856]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-120]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #3488
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3488
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #3472
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3488
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #3472
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3472
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #3456
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3472
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #3456
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3456
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #3440
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3456
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #3440
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3440
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #3424
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3440
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #3424
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3424
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #3408
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3424
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #3408
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3408
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #3392
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3408
	sub	r0, r0, #4
	ldr	r2, [fp, #-188]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3408]
	ldr	r3, [fp, #-3420]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #3392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-834]	@ zero_extendqisi2
	ldr	ip, [fp, #-3416]
	ldr	r3, [fp, #-3428]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #3392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-833]	@ zero_extendqisi2
	ldr	ip, [fp, #-3424]
	ldr	r3, [fp, #-3436]
	sub	r1, fp, #4928
	sub	r1, r1, #4
	sub	r0, fp, #3392
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-832]	@ zero_extendqisi2
	ldr	ip, [fp, #-3432]
	ldr	r3, [fp, #-3444]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #3376
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-831]	@ zero_extendqisi2
	ldr	ip, [fp, #-3440]
	ldr	r3, [fp, #-3452]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #3376
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-830]	@ zero_extendqisi2
	ldr	ip, [fp, #-3448]
	ldr	r3, [fp, #-3460]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #3376
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-829]	@ zero_extendqisi2
	ldr	ip, [fp, #-3456]
	ldr	r3, [fp, #-3468]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #3376
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-828]	@ zero_extendqisi2
	ldr	ip, [fp, #-3464]
	ldr	r3, [fp, #-3476]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #3360
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-827]	@ zero_extendqisi2
	ldr	ip, [fp, #-3472]
	ldr	r3, [fp, #-3484]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #3360
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-826]	@ zero_extendqisi2
	ldr	ip, [fp, #-3480]
	ldr	r3, [fp, #-3492]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #3360
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-825]	@ zero_extendqisi2
	ldr	ip, [fp, #-3488]
	ldr	r3, [fp, #-3500]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #3360
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-824]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3496]
	add	r3, r2, r3
	str	r3, [fp, #-116]
	ldr	r2, [fp, #-3548]
	ldr	r3, [fp, #-3412]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #3344
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-823]	@ zero_extendqisi2
	ldr	ip, [fp, #-3544]
	ldr	r3, [fp, #-3404]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #3344
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-822]	@ zero_extendqisi2
	ldr	ip, [fp, #-3540]
	ldr	r3, [fp, #-3400]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #3344
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-821]	@ zero_extendqisi2
	ldr	ip, [fp, #-3536]
	ldr	r3, [fp, #-3396]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #3344
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-820]	@ zero_extendqisi2
	ldr	ip, [fp, #-3532]
	ldr	r3, [fp, #-3392]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #3328
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-819]	@ zero_extendqisi2
	ldr	ip, [fp, #-3528]
	ldr	r3, [fp, #-3388]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #3328
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-818]	@ zero_extendqisi2
	ldr	ip, [fp, #-3524]
	ldr	r3, [fp, #-3384]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #3328
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-817]	@ zero_extendqisi2
	ldr	ip, [fp, #-3520]
	ldr	r3, [fp, #-3380]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #3328
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-816]	@ zero_extendqisi2
	ldr	ip, [fp, #-3516]
	ldr	r3, [fp, #-3376]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #3312
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-815]	@ zero_extendqisi2
	ldr	ip, [fp, #-3512]
	ldr	r3, [fp, #-3372]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #3312
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-814]	@ zero_extendqisi2
	ldr	ip, [fp, #-3508]
	ldr	r3, [fp, #-3368]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #3312
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-813]	@ zero_extendqisi2
	ldr	ip, [fp, #-3504]
	ldr	r3, [fp, #-3364]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #3312
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-812]	@ zero_extendqisi2
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #3296
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-116]
	str	r3, [sp]
	ldr	r3, [fp, #-120]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3296
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3296
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3280
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3296
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3280
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3280
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3264
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3280
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3264
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3264
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3248
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3264
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3248
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3248
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3232
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3248
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3232
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #3232
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3360]
	sub	r1, fp, #3216
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3232
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3240]
	ldr	r3, [fp, #-3252]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #3216
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-810]	@ zero_extendqisi2
	ldr	ip, [fp, #-3248]
	ldr	r3, [fp, #-3260]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #3216
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-809]	@ zero_extendqisi2
	ldr	ip, [fp, #-3256]
	ldr	r3, [fp, #-3268]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #3216
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-808]	@ zero_extendqisi2
	ldr	ip, [fp, #-3264]
	ldr	r3, [fp, #-3276]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #3200
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-807]	@ zero_extendqisi2
	ldr	ip, [fp, #-3272]
	ldr	r3, [fp, #-3284]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #3200
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-806]	@ zero_extendqisi2
	ldr	ip, [fp, #-3280]
	ldr	r3, [fp, #-3292]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #3200
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-805]	@ zero_extendqisi2
	ldr	ip, [fp, #-3288]
	ldr	r3, [fp, #-3300]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #3200
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-804]	@ zero_extendqisi2
	ldr	ip, [fp, #-3296]
	ldr	r3, [fp, #-3308]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #3184
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-803]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3304]
	add	r3, r2, r3
	str	r3, [fp, #-112]
	ldr	r2, [fp, #-3360]
	ldr	r3, [fp, #-3236]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #3184
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-802]	@ zero_extendqisi2
	ldr	ip, [fp, #-3356]
	ldr	r3, [fp, #-3232]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #3184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-801]	@ zero_extendqisi2
	ldr	r3, [fp, #-3352]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #3184
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-800]	@ zero_extendqisi2
	ldr	ip, [fp, #-3348]
	ldr	r3, [fp, #-3244]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #3168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-799]	@ zero_extendqisi2
	ldr	ip, [fp, #-3344]
	ldr	r3, [fp, #-3228]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #3168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-798]	@ zero_extendqisi2
	ldr	ip, [fp, #-3340]
	ldr	r3, [fp, #-3224]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #3168
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-797]	@ zero_extendqisi2
	ldr	ip, [fp, #-3336]
	ldr	r3, [fp, #-3220]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #3168
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-796]	@ zero_extendqisi2
	ldr	ip, [fp, #-3332]
	ldr	r3, [fp, #-3216]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #3152
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-795]	@ zero_extendqisi2
	ldr	ip, [fp, #-3328]
	ldr	r3, [fp, #-3212]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #3152
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-794]	@ zero_extendqisi2
	ldr	ip, [fp, #-3324]
	ldr	r3, [fp, #-3208]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #3152
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-793]	@ zero_extendqisi2
	ldr	ip, [fp, #-3320]
	ldr	r3, [fp, #-3204]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #3152
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-792]	@ zero_extendqisi2
	ldr	ip, [fp, #-3316]
	ldr	r3, [fp, #-3200]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #3136
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-791]	@ zero_extendqisi2
	ldr	ip, [fp, #-3312]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #3136
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-112]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-790]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-811]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #3136
	sub	r1, r1, #4
	sub	r0, fp, #3136
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #3120
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3120
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #3120
	sub	r1, r1, #4
	sub	r0, fp, #3120
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #3104
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3104
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #3104
	sub	r1, r1, #4
	sub	r0, fp, #3104
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #3088
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3088
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #3088
	sub	r1, r1, #4
	sub	r0, fp, #3088
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #3072
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3072
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #3072
	sub	r1, r1, #4
	sub	r0, fp, #3072
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #3056
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3056
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #3056
	sub	r1, r1, #4
	sub	r0, fp, #3056
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #3040
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #3040
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-184]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3052]
	ldr	r3, [fp, #-3064]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #3040
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-789]	@ zero_extendqisi2
	ldr	ip, [fp, #-3060]
	ldr	r3, [fp, #-3072]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #3040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-788]	@ zero_extendqisi2
	ldr	ip, [fp, #-3068]
	ldr	r3, [fp, #-3080]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #3024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-787]	@ zero_extendqisi2
	ldr	ip, [fp, #-3076]
	ldr	r3, [fp, #-3088]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #3024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-786]	@ zero_extendqisi2
	ldr	ip, [fp, #-3084]
	ldr	r3, [fp, #-3096]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #3024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-785]	@ zero_extendqisi2
	ldr	ip, [fp, #-3092]
	ldr	r3, [fp, #-3104]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #3024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-784]	@ zero_extendqisi2
	ldr	ip, [fp, #-3100]
	ldr	r3, [fp, #-3112]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #3008
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-783]	@ zero_extendqisi2
	ldr	ip, [fp, #-3108]
	ldr	r3, [fp, #-3120]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #3008
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-782]	@ zero_extendqisi2
	ldr	ip, [fp, #-3116]
	ldr	r3, [fp, #-3128]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #3008
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-781]	@ zero_extendqisi2
	ldr	ip, [fp, #-3124]
	ldr	r3, [fp, #-3136]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #3008
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-780]	@ zero_extendqisi2
	ldr	ip, [fp, #-3132]
	ldr	r3, [fp, #-3144]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2992
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-779]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-3140]
	add	r3, r2, r3
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-3192]
	ldr	r3, [fp, #-3056]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2992
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-778]	@ zero_extendqisi2
	ldr	ip, [fp, #-3188]
	ldr	r3, [fp, #-3048]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2992
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-777]	@ zero_extendqisi2
	ldr	ip, [fp, #-3184]
	ldr	r3, [fp, #-3044]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2992
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-776]	@ zero_extendqisi2
	ldr	ip, [fp, #-3180]
	ldr	r3, [fp, #-3040]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2976
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-775]	@ zero_extendqisi2
	ldr	ip, [fp, #-3176]
	ldr	r3, [fp, #-3036]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2976
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-774]	@ zero_extendqisi2
	ldr	ip, [fp, #-3172]
	ldr	r3, [fp, #-3032]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2976
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-773]	@ zero_extendqisi2
	ldr	ip, [fp, #-3168]
	ldr	r3, [fp, #-3028]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2976
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-772]	@ zero_extendqisi2
	ldr	ip, [fp, #-3164]
	ldr	r3, [fp, #-3024]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2960
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-771]	@ zero_extendqisi2
	ldr	ip, [fp, #-3160]
	ldr	r3, [fp, #-3020]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2960
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-770]	@ zero_extendqisi2
	ldr	ip, [fp, #-3156]
	ldr	r3, [fp, #-3016]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2960
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-769]	@ zero_extendqisi2
	ldr	ip, [fp, #-3152]
	ldr	r3, [fp, #-3012]
	sub	r1, fp, #4864
	sub	r1, r1, #4
	sub	r0, fp, #2960
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-768]	@ zero_extendqisi2
	ldr	ip, [fp, #-3148]
	ldr	r3, [fp, #-3008]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #2944
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-767]	@ zero_extendqisi2
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #2944
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-104]
	str	r3, [sp]
	ldr	r3, [fp, #-108]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2944
	sub	r1, r1, #4
	sub	r0, fp, #2944
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2928
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2928
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2928
	sub	r1, r1, #4
	sub	r0, fp, #2928
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2912
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2912
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2912
	sub	r1, r1, #4
	sub	r0, fp, #2912
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2896
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2896
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2896
	sub	r1, r1, #4
	sub	r0, fp, #2896
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2880
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r0, fp, #2880
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-3004]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2864
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2884]
	ldr	r3, [fp, #-2896]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #2864
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-765]	@ zero_extendqisi2
	ldr	ip, [fp, #-2892]
	ldr	r3, [fp, #-2904]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #2864
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-764]	@ zero_extendqisi2
	ldr	ip, [fp, #-2900]
	ldr	r3, [fp, #-2912]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #2848
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-763]	@ zero_extendqisi2
	ldr	ip, [fp, #-2908]
	ldr	r3, [fp, #-2920]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #2848
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-762]	@ zero_extendqisi2
	ldr	ip, [fp, #-2916]
	ldr	r3, [fp, #-2928]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #2848
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-761]	@ zero_extendqisi2
	ldr	ip, [fp, #-2924]
	ldr	r3, [fp, #-2936]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #2848
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-760]	@ zero_extendqisi2
	ldr	ip, [fp, #-2932]
	ldr	r3, [fp, #-2944]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #2832
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-759]	@ zero_extendqisi2
	ldr	ip, [fp, #-2940]
	ldr	r3, [fp, #-2952]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #2832
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-758]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2948]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-3004]
	ldr	r3, [fp, #-2880]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #2832
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-757]	@ zero_extendqisi2
	ldr	ip, [fp, #-3000]
	ldr	r3, [fp, #-2876]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #2832
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-756]	@ zero_extendqisi2
	ldr	r3, [fp, #-2996]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #2816
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-755]	@ zero_extendqisi2
	ldr	ip, [fp, #-2992]
	ldr	r3, [fp, #-2888]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #2816
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-754]	@ zero_extendqisi2
	ldr	ip, [fp, #-2988]
	ldr	r3, [fp, #-2872]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #2816
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-753]	@ zero_extendqisi2
	ldr	ip, [fp, #-2984]
	ldr	r3, [fp, #-2868]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #2816
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-752]	@ zero_extendqisi2
	ldr	ip, [fp, #-2980]
	ldr	r3, [fp, #-2864]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #2800
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-751]	@ zero_extendqisi2
	ldr	ip, [fp, #-2976]
	ldr	r3, [fp, #-2860]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #2800
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-750]	@ zero_extendqisi2
	ldr	ip, [fp, #-2972]
	ldr	r3, [fp, #-2856]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #2800
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-749]	@ zero_extendqisi2
	ldr	ip, [fp, #-2968]
	ldr	r3, [fp, #-2852]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #2800
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-748]	@ zero_extendqisi2
	ldr	ip, [fp, #-2964]
	ldr	r3, [fp, #-2848]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #2784
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-747]	@ zero_extendqisi2
	ldr	ip, [fp, #-2960]
	ldr	r3, [fp, #-2844]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #2784
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-746]	@ zero_extendqisi2
	ldr	ip, [fp, #-2956]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #2784
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-100]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-745]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-766]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-96]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2784
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2768
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2768
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2752
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2752
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2736
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2736
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2720
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2720
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2704
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2704
	sub	r0, r0, #4
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2688
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-180]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2696]
	ldr	r3, [fp, #-2708]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #2688
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-744]	@ zero_extendqisi2
	ldr	ip, [fp, #-2704]
	ldr	r3, [fp, #-2716]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #2672
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-743]	@ zero_extendqisi2
	ldr	ip, [fp, #-2712]
	ldr	r3, [fp, #-2724]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #2672
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-742]	@ zero_extendqisi2
	ldr	ip, [fp, #-2720]
	ldr	r3, [fp, #-2732]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #2672
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-741]	@ zero_extendqisi2
	ldr	ip, [fp, #-2728]
	ldr	r3, [fp, #-2740]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #2672
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-740]	@ zero_extendqisi2
	ldr	ip, [fp, #-2736]
	ldr	r3, [fp, #-2748]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #2656
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-739]	@ zero_extendqisi2
	ldr	ip, [fp, #-2744]
	ldr	r3, [fp, #-2756]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #2656
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-738]	@ zero_extendqisi2
	ldr	ip, [fp, #-2752]
	ldr	r3, [fp, #-2764]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #2656
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-737]	@ zero_extendqisi2
	ldr	ip, [fp, #-2760]
	ldr	r3, [fp, #-2772]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #2656
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-736]	@ zero_extendqisi2
	ldr	ip, [fp, #-2768]
	ldr	r3, [fp, #-2780]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #2640
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-735]	@ zero_extendqisi2
	ldr	ip, [fp, #-2776]
	ldr	r3, [fp, #-2788]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #2640
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-734]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2784]
	add	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-2836]
	ldr	r3, [fp, #-2700]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #2640
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-733]	@ zero_extendqisi2
	ldr	ip, [fp, #-2832]
	ldr	r3, [fp, #-2692]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #2640
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-732]	@ zero_extendqisi2
	ldr	ip, [fp, #-2828]
	ldr	r3, [fp, #-2688]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #2624
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-731]	@ zero_extendqisi2
	ldr	ip, [fp, #-2824]
	ldr	r3, [fp, #-2684]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #2624
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-730]	@ zero_extendqisi2
	ldr	ip, [fp, #-2820]
	ldr	r3, [fp, #-2680]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #2624
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-729]	@ zero_extendqisi2
	ldr	ip, [fp, #-2816]
	ldr	r3, [fp, #-2676]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #2624
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-728]	@ zero_extendqisi2
	ldr	ip, [fp, #-2812]
	ldr	r3, [fp, #-2672]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #2608
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-727]	@ zero_extendqisi2
	ldr	ip, [fp, #-2808]
	ldr	r3, [fp, #-2668]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #2608
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-726]	@ zero_extendqisi2
	ldr	ip, [fp, #-2804]
	ldr	r3, [fp, #-2664]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #2608
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-725]	@ zero_extendqisi2
	ldr	ip, [fp, #-2800]
	ldr	r3, [fp, #-2660]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #2608
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-724]	@ zero_extendqisi2
	ldr	ip, [fp, #-2796]
	ldr	r3, [fp, #-2656]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #2592
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-723]	@ zero_extendqisi2
	ldr	ip, [fp, #-2792]
	ldr	r3, [fp, #-2652]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #2592
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-722]	@ zero_extendqisi2
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #2592
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-92]
	str	r3, [sp]
	ldr	r3, [fp, #-96]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2592
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2576
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2576
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2560
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2560
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2544
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2544
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2528
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2528
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2648]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2512
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2528]
	ldr	r3, [fp, #-2540]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #2512
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-720]	@ zero_extendqisi2
	ldr	ip, [fp, #-2536]
	ldr	r3, [fp, #-2548]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-719]	@ zero_extendqisi2
	ldr	ip, [fp, #-2544]
	ldr	r3, [fp, #-2556]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-718]	@ zero_extendqisi2
	ldr	ip, [fp, #-2552]
	ldr	r3, [fp, #-2564]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-717]	@ zero_extendqisi2
	ldr	ip, [fp, #-2560]
	ldr	r3, [fp, #-2572]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2496
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-716]	@ zero_extendqisi2
	ldr	ip, [fp, #-2568]
	ldr	r3, [fp, #-2580]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-715]	@ zero_extendqisi2
	ldr	ip, [fp, #-2576]
	ldr	r3, [fp, #-2588]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-714]	@ zero_extendqisi2
	ldr	ip, [fp, #-2584]
	ldr	r3, [fp, #-2596]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-713]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2592]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-2648]
	ldr	r3, [fp, #-2524]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2480
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-712]	@ zero_extendqisi2
	ldr	ip, [fp, #-2644]
	ldr	r3, [fp, #-2520]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-711]	@ zero_extendqisi2
	ldr	r3, [fp, #-2640]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-710]	@ zero_extendqisi2
	ldr	ip, [fp, #-2636]
	ldr	r3, [fp, #-2532]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-709]	@ zero_extendqisi2
	ldr	ip, [fp, #-2632]
	ldr	r3, [fp, #-2516]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2464
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-708]	@ zero_extendqisi2
	ldr	ip, [fp, #-2628]
	ldr	r3, [fp, #-2512]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-707]	@ zero_extendqisi2
	ldr	ip, [fp, #-2624]
	ldr	r3, [fp, #-2508]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-706]	@ zero_extendqisi2
	ldr	ip, [fp, #-2620]
	ldr	r3, [fp, #-2504]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-705]	@ zero_extendqisi2
	ldr	ip, [fp, #-2616]
	ldr	r3, [fp, #-2500]
	sub	r1, fp, #4800
	sub	r1, r1, #4
	sub	r0, fp, #2448
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-704]	@ zero_extendqisi2
	ldr	ip, [fp, #-2612]
	ldr	r3, [fp, #-2496]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-703]	@ zero_extendqisi2
	ldr	ip, [fp, #-2608]
	ldr	r3, [fp, #-2492]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-702]	@ zero_extendqisi2
	ldr	ip, [fp, #-2604]
	ldr	r3, [fp, #-2488]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-701]	@ zero_extendqisi2
	ldr	ip, [fp, #-2600]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #2432
	sub	r0, r0, #4
	ldr	r3, [fp, #-88]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-700]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-721]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-84]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2416
	sub	r1, r1, #4
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2400
	sub	r1, r1, #4
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2384
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r0, fp, #2384
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2368
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r0, fp, #2368
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2352
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r0, fp, #2352
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2336
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r0, fp, #2336
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-176]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2340]
	ldr	r3, [fp, #-2352]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-699]	@ zero_extendqisi2
	ldr	ip, [fp, #-2348]
	ldr	r3, [fp, #-2360]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-698]	@ zero_extendqisi2
	ldr	ip, [fp, #-2356]
	ldr	r3, [fp, #-2368]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-697]	@ zero_extendqisi2
	ldr	ip, [fp, #-2364]
	ldr	r3, [fp, #-2376]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #2320
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-696]	@ zero_extendqisi2
	ldr	ip, [fp, #-2372]
	ldr	r3, [fp, #-2384]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-695]	@ zero_extendqisi2
	ldr	ip, [fp, #-2380]
	ldr	r3, [fp, #-2392]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-694]	@ zero_extendqisi2
	ldr	ip, [fp, #-2388]
	ldr	r3, [fp, #-2400]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-693]	@ zero_extendqisi2
	ldr	ip, [fp, #-2396]
	ldr	r3, [fp, #-2408]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #2304
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-692]	@ zero_extendqisi2
	ldr	ip, [fp, #-2404]
	ldr	r3, [fp, #-2416]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-691]	@ zero_extendqisi2
	ldr	ip, [fp, #-2412]
	ldr	r3, [fp, #-2424]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-690]	@ zero_extendqisi2
	ldr	ip, [fp, #-2420]
	ldr	r3, [fp, #-2432]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-689]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2428]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2344]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #2288
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-688]	@ zero_extendqisi2
	ldr	ip, [fp, #-2476]
	ldr	r3, [fp, #-2336]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-687]	@ zero_extendqisi2
	ldr	ip, [fp, #-2472]
	ldr	r3, [fp, #-2332]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-686]	@ zero_extendqisi2
	ldr	ip, [fp, #-2468]
	ldr	r3, [fp, #-2328]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-685]	@ zero_extendqisi2
	ldr	ip, [fp, #-2464]
	ldr	r3, [fp, #-2324]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #2272
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-684]	@ zero_extendqisi2
	ldr	ip, [fp, #-2460]
	ldr	r3, [fp, #-2320]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-683]	@ zero_extendqisi2
	ldr	ip, [fp, #-2456]
	ldr	r3, [fp, #-2316]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-682]	@ zero_extendqisi2
	ldr	ip, [fp, #-2452]
	ldr	r3, [fp, #-2312]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-681]	@ zero_extendqisi2
	ldr	ip, [fp, #-2448]
	ldr	r3, [fp, #-2308]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #2256
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-680]	@ zero_extendqisi2
	ldr	ip, [fp, #-2444]
	ldr	r3, [fp, #-2304]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-679]	@ zero_extendqisi2
	ldr	ip, [fp, #-2440]
	ldr	r3, [fp, #-2300]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-678]	@ zero_extendqisi2
	ldr	ip, [fp, #-2436]
	ldr	r3, [fp, #-2296]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-677]	@ zero_extendqisi2
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #2240
	sub	r0, r0, #4
	ldr	r3, [fp, #-80]
	str	r3, [sp]
	ldr	r3, [fp, #-84]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2224
	sub	r1, r1, #4
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2208
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2192
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2192
	sub	r1, r1, #4
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2292]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2172]
	ldr	r3, [fp, #-2184]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-675]	@ zero_extendqisi2
	ldr	ip, [fp, #-2180]
	ldr	r3, [fp, #-2192]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-674]	@ zero_extendqisi2
	ldr	ip, [fp, #-2188]
	ldr	r3, [fp, #-2200]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-673]	@ zero_extendqisi2
	ldr	ip, [fp, #-2196]
	ldr	r3, [fp, #-2208]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #2144
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-672]	@ zero_extendqisi2
	ldr	ip, [fp, #-2204]
	ldr	r3, [fp, #-2216]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-671]	@ zero_extendqisi2
	ldr	ip, [fp, #-2212]
	ldr	r3, [fp, #-2224]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-670]	@ zero_extendqisi2
	ldr	ip, [fp, #-2220]
	ldr	r3, [fp, #-2232]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-669]	@ zero_extendqisi2
	ldr	ip, [fp, #-2228]
	ldr	r3, [fp, #-2240]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #2128
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-668]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2236]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-2292]
	ldr	r3, [fp, #-2168]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-667]	@ zero_extendqisi2
	ldr	ip, [fp, #-2288]
	ldr	r3, [fp, #-2164]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-666]	@ zero_extendqisi2
	ldr	r3, [fp, #-2284]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-665]	@ zero_extendqisi2
	ldr	ip, [fp, #-2280]
	ldr	r3, [fp, #-2176]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #2112
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-664]	@ zero_extendqisi2
	ldr	ip, [fp, #-2276]
	ldr	r3, [fp, #-2160]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-663]	@ zero_extendqisi2
	ldr	ip, [fp, #-2272]
	ldr	r3, [fp, #-2156]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-662]	@ zero_extendqisi2
	ldr	ip, [fp, #-2268]
	ldr	r3, [fp, #-2152]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-661]	@ zero_extendqisi2
	ldr	ip, [fp, #-2264]
	ldr	r3, [fp, #-2148]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #2096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-660]	@ zero_extendqisi2
	ldr	ip, [fp, #-2260]
	ldr	r3, [fp, #-2144]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-659]	@ zero_extendqisi2
	ldr	ip, [fp, #-2256]
	ldr	r3, [fp, #-2140]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-658]	@ zero_extendqisi2
	ldr	ip, [fp, #-2252]
	ldr	r3, [fp, #-2136]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-657]	@ zero_extendqisi2
	ldr	ip, [fp, #-2248]
	ldr	r3, [fp, #-2132]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #2080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-656]	@ zero_extendqisi2
	ldr	ip, [fp, #-2244]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-76]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-655]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-676]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-72]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2064
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2048
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2064
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2048
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2048
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2032
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2032
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2016
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2016
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2000
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2000
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1984
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #1968
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1984
	sub	r0, r0, #4
	ldr	r2, [fp, #-172]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1984]
	ldr	r3, [fp, #-1996]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-654]	@ zero_extendqisi2
	ldr	ip, [fp, #-1992]
	ldr	r3, [fp, #-2004]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-653]	@ zero_extendqisi2
	ldr	ip, [fp, #-2000]
	ldr	r3, [fp, #-2012]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1968
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-652]	@ zero_extendqisi2
	ldr	ip, [fp, #-2008]
	ldr	r3, [fp, #-2020]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-651]	@ zero_extendqisi2
	ldr	ip, [fp, #-2016]
	ldr	r3, [fp, #-2028]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-650]	@ zero_extendqisi2
	ldr	ip, [fp, #-2024]
	ldr	r3, [fp, #-2036]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-649]	@ zero_extendqisi2
	ldr	ip, [fp, #-2032]
	ldr	r3, [fp, #-2044]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1952
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-648]	@ zero_extendqisi2
	ldr	ip, [fp, #-2040]
	ldr	r3, [fp, #-2052]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-647]	@ zero_extendqisi2
	ldr	ip, [fp, #-2048]
	ldr	r3, [fp, #-2060]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-646]	@ zero_extendqisi2
	ldr	ip, [fp, #-2056]
	ldr	r3, [fp, #-2068]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-645]	@ zero_extendqisi2
	ldr	ip, [fp, #-2064]
	ldr	r3, [fp, #-2076]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1936
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-644]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2072]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-2124]
	ldr	r3, [fp, #-1988]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-643]	@ zero_extendqisi2
	ldr	ip, [fp, #-2120]
	ldr	r3, [fp, #-1980]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-642]	@ zero_extendqisi2
	ldr	ip, [fp, #-2116]
	ldr	r3, [fp, #-1976]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-641]	@ zero_extendqisi2
	ldr	ip, [fp, #-2112]
	ldr	r3, [fp, #-1972]
	sub	r1, fp, #4736
	sub	r1, r1, #4
	sub	r0, fp, #1920
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-640]	@ zero_extendqisi2
	ldr	ip, [fp, #-2108]
	ldr	r3, [fp, #-1968]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-639]	@ zero_extendqisi2
	ldr	ip, [fp, #-2104]
	ldr	r3, [fp, #-1964]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-638]	@ zero_extendqisi2
	ldr	ip, [fp, #-2100]
	ldr	r3, [fp, #-1960]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-637]	@ zero_extendqisi2
	ldr	ip, [fp, #-2096]
	ldr	r3, [fp, #-1956]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #1904
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-636]	@ zero_extendqisi2
	ldr	ip, [fp, #-2092]
	ldr	r3, [fp, #-1952]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-635]	@ zero_extendqisi2
	ldr	ip, [fp, #-2088]
	ldr	r3, [fp, #-1948]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-634]	@ zero_extendqisi2
	ldr	ip, [fp, #-2084]
	ldr	r3, [fp, #-1944]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-633]	@ zero_extendqisi2
	ldr	ip, [fp, #-2080]
	ldr	r3, [fp, #-1940]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #1888
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-632]	@ zero_extendqisi2
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	ldr	r3, [fp, #-72]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1872
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1872
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1856
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1840
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1856
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1840
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1824
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1840
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1824
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1824
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1808
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1936]
	sub	r1, fp, #1792
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1808
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1816]
	ldr	r3, [fp, #-1828]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-630]	@ zero_extendqisi2
	ldr	ip, [fp, #-1824]
	ldr	r3, [fp, #-1836]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-629]	@ zero_extendqisi2
	ldr	ip, [fp, #-1832]
	ldr	r3, [fp, #-1844]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #1792
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-628]	@ zero_extendqisi2
	ldr	ip, [fp, #-1840]
	ldr	r3, [fp, #-1852]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-627]	@ zero_extendqisi2
	ldr	ip, [fp, #-1848]
	ldr	r3, [fp, #-1860]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-626]	@ zero_extendqisi2
	ldr	ip, [fp, #-1856]
	ldr	r3, [fp, #-1868]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-625]	@ zero_extendqisi2
	ldr	ip, [fp, #-1864]
	ldr	r3, [fp, #-1876]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #1776
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-624]	@ zero_extendqisi2
	ldr	ip, [fp, #-1872]
	ldr	r3, [fp, #-1884]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-623]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1880]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-1936]
	ldr	r3, [fp, #-1812]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-622]	@ zero_extendqisi2
	ldr	ip, [fp, #-1932]
	ldr	r3, [fp, #-1808]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-621]	@ zero_extendqisi2
	ldr	r3, [fp, #-1928]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #1760
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-620]	@ zero_extendqisi2
	ldr	ip, [fp, #-1924]
	ldr	r3, [fp, #-1820]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-619]	@ zero_extendqisi2
	ldr	ip, [fp, #-1920]
	ldr	r3, [fp, #-1804]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-618]	@ zero_extendqisi2
	ldr	ip, [fp, #-1916]
	ldr	r3, [fp, #-1800]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-617]	@ zero_extendqisi2
	ldr	ip, [fp, #-1912]
	ldr	r3, [fp, #-1796]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #1744
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-616]	@ zero_extendqisi2
	ldr	ip, [fp, #-1908]
	ldr	r3, [fp, #-1792]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-615]	@ zero_extendqisi2
	ldr	ip, [fp, #-1904]
	ldr	r3, [fp, #-1788]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-614]	@ zero_extendqisi2
	ldr	ip, [fp, #-1900]
	ldr	r3, [fp, #-1784]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-613]	@ zero_extendqisi2
	ldr	ip, [fp, #-1896]
	ldr	r3, [fp, #-1780]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #1728
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-612]	@ zero_extendqisi2
	ldr	ip, [fp, #-1892]
	ldr	r3, [fp, #-1776]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-611]	@ zero_extendqisi2
	ldr	ip, [fp, #-1888]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-64]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-610]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-631]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-60]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1664
	sub	r1, r1, #4
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1648
	sub	r1, r1, #4
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1632
	sub	r1, r1, #4
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #1616
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #12
	ldr	r2, [fp, #-168]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1628]
	ldr	r3, [fp, #-1640]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-609]	@ zero_extendqisi2
	ldr	ip, [fp, #-1636]
	ldr	r3, [fp, #-1648]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #1616
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-608]	@ zero_extendqisi2
	ldr	ip, [fp, #-1644]
	ldr	r3, [fp, #-1656]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-607]	@ zero_extendqisi2
	ldr	ip, [fp, #-1652]
	ldr	r3, [fp, #-1664]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-606]	@ zero_extendqisi2
	ldr	ip, [fp, #-1660]
	ldr	r3, [fp, #-1672]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-605]	@ zero_extendqisi2
	ldr	ip, [fp, #-1668]
	ldr	r3, [fp, #-1680]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #1600
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-604]	@ zero_extendqisi2
	ldr	ip, [fp, #-1676]
	ldr	r3, [fp, #-1688]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-603]	@ zero_extendqisi2
	ldr	ip, [fp, #-1684]
	ldr	r3, [fp, #-1696]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-602]	@ zero_extendqisi2
	ldr	ip, [fp, #-1692]
	ldr	r3, [fp, #-1704]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-601]	@ zero_extendqisi2
	ldr	ip, [fp, #-1700]
	ldr	r3, [fp, #-1712]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #1584
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-600]	@ zero_extendqisi2
	ldr	ip, [fp, #-1708]
	ldr	r3, [fp, #-1720]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-599]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1716]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-1768]
	ldr	r3, [fp, #-1632]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-598]	@ zero_extendqisi2
	ldr	ip, [fp, #-1764]
	ldr	r3, [fp, #-1624]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-597]	@ zero_extendqisi2
	ldr	ip, [fp, #-1760]
	ldr	r3, [fp, #-1620]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #1568
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-596]	@ zero_extendqisi2
	ldr	ip, [fp, #-1756]
	ldr	r3, [fp, #-1616]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-595]	@ zero_extendqisi2
	ldr	ip, [fp, #-1752]
	ldr	r3, [fp, #-1612]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-594]	@ zero_extendqisi2
	ldr	ip, [fp, #-1748]
	ldr	r3, [fp, #-1608]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-593]	@ zero_extendqisi2
	ldr	ip, [fp, #-1744]
	ldr	r3, [fp, #-1604]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #1552
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-592]	@ zero_extendqisi2
	ldr	ip, [fp, #-1740]
	ldr	r3, [fp, #-1600]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-591]	@ zero_extendqisi2
	ldr	ip, [fp, #-1736]
	ldr	r3, [fp, #-1596]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-590]	@ zero_extendqisi2
	ldr	ip, [fp, #-1732]
	ldr	r3, [fp, #-1592]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-589]	@ zero_extendqisi2
	ldr	ip, [fp, #-1728]
	ldr	r3, [fp, #-1588]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1536
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-588]	@ zero_extendqisi2
	ldr	ip, [fp, #-1724]
	ldr	r3, [fp, #-1584]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-587]	@ zero_extendqisi2
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r3, [fp, #-56]
	str	r3, [sp]
	ldr	r3, [fp, #-60]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1580]
	sub	r1, fp, #1440
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1460]
	ldr	r3, [fp, #-1472]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-585]	@ zero_extendqisi2
	ldr	ip, [fp, #-1468]
	ldr	r3, [fp, #-1480]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1440
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-584]	@ zero_extendqisi2
	ldr	ip, [fp, #-1476]
	ldr	r3, [fp, #-1488]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-583]	@ zero_extendqisi2
	ldr	ip, [fp, #-1484]
	ldr	r3, [fp, #-1496]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-582]	@ zero_extendqisi2
	ldr	ip, [fp, #-1492]
	ldr	r3, [fp, #-1504]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-581]	@ zero_extendqisi2
	ldr	ip, [fp, #-1500]
	ldr	r3, [fp, #-1512]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1424
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-580]	@ zero_extendqisi2
	ldr	ip, [fp, #-1508]
	ldr	r3, [fp, #-1520]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-579]	@ zero_extendqisi2
	ldr	ip, [fp, #-1516]
	ldr	r3, [fp, #-1528]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-578]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1524]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-1580]
	ldr	r3, [fp, #-1456]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-577]	@ zero_extendqisi2
	ldr	ip, [fp, #-1576]
	ldr	r3, [fp, #-1452]
	sub	r1, fp, #4672
	sub	r1, r1, #4
	sub	r0, fp, #1408
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-576]	@ zero_extendqisi2
	ldr	r3, [fp, #-1572]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-575]	@ zero_extendqisi2
	ldr	ip, [fp, #-1568]
	ldr	r3, [fp, #-1464]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-574]	@ zero_extendqisi2
	ldr	ip, [fp, #-1564]
	ldr	r3, [fp, #-1448]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-573]	@ zero_extendqisi2
	ldr	ip, [fp, #-1560]
	ldr	r3, [fp, #-1444]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #1392
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-572]	@ zero_extendqisi2
	ldr	ip, [fp, #-1556]
	ldr	r3, [fp, #-1440]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-571]	@ zero_extendqisi2
	ldr	ip, [fp, #-1552]
	ldr	r3, [fp, #-1436]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-570]	@ zero_extendqisi2
	ldr	ip, [fp, #-1548]
	ldr	r3, [fp, #-1432]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-569]	@ zero_extendqisi2
	ldr	ip, [fp, #-1544]
	ldr	r3, [fp, #-1428]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #1376
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-568]	@ zero_extendqisi2
	ldr	ip, [fp, #-1540]
	ldr	r3, [fp, #-1424]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-567]	@ zero_extendqisi2
	ldr	ip, [fp, #-1536]
	ldr	r3, [fp, #-1420]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-566]	@ zero_extendqisi2
	ldr	ip, [fp, #-1532]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-52]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-565]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-586]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-48]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1360
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #1344
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1344
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1328
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #1296
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1312
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #1296
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #1280
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1296
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #1280
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #1264
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1280
	sub	r0, r0, #4
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #1264
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #8
	ldr	r2, [fp, #-164]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1272]
	ldr	r3, [fp, #-1284]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #1264
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-564]	@ zero_extendqisi2
	ldr	ip, [fp, #-1280]
	ldr	r3, [fp, #-1292]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-563]	@ zero_extendqisi2
	ldr	ip, [fp, #-1288]
	ldr	r3, [fp, #-1300]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-562]	@ zero_extendqisi2
	ldr	ip, [fp, #-1296]
	ldr	r3, [fp, #-1308]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-561]	@ zero_extendqisi2
	ldr	ip, [fp, #-1304]
	ldr	r3, [fp, #-1316]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #1248
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-560]	@ zero_extendqisi2
	ldr	ip, [fp, #-1312]
	ldr	r3, [fp, #-1324]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-559]	@ zero_extendqisi2
	ldr	ip, [fp, #-1320]
	ldr	r3, [fp, #-1332]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-558]	@ zero_extendqisi2
	ldr	ip, [fp, #-1328]
	ldr	r3, [fp, #-1340]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-557]	@ zero_extendqisi2
	ldr	ip, [fp, #-1336]
	ldr	r3, [fp, #-1348]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #1232
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-556]	@ zero_extendqisi2
	ldr	ip, [fp, #-1344]
	ldr	r3, [fp, #-1356]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-555]	@ zero_extendqisi2
	ldr	ip, [fp, #-1352]
	ldr	r3, [fp, #-1364]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-554]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1360]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-1412]
	ldr	r3, [fp, #-1276]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-553]	@ zero_extendqisi2
	ldr	ip, [fp, #-1408]
	ldr	r3, [fp, #-1268]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #1216
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-552]	@ zero_extendqisi2
	ldr	ip, [fp, #-1404]
	ldr	r3, [fp, #-1264]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-551]	@ zero_extendqisi2
	ldr	ip, [fp, #-1400]
	ldr	r3, [fp, #-1260]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-550]	@ zero_extendqisi2
	ldr	ip, [fp, #-1396]
	ldr	r3, [fp, #-1256]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-549]	@ zero_extendqisi2
	ldr	ip, [fp, #-1392]
	ldr	r3, [fp, #-1252]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #1200
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-548]	@ zero_extendqisi2
	ldr	ip, [fp, #-1388]
	ldr	r3, [fp, #-1248]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-547]	@ zero_extendqisi2
	ldr	ip, [fp, #-1384]
	ldr	r3, [fp, #-1244]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-546]	@ zero_extendqisi2
	ldr	ip, [fp, #-1380]
	ldr	r3, [fp, #-1240]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-545]	@ zero_extendqisi2
	ldr	ip, [fp, #-1376]
	ldr	r3, [fp, #-1236]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #1184
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-544]	@ zero_extendqisi2
	ldr	ip, [fp, #-1372]
	ldr	r3, [fp, #-1232]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-543]	@ zero_extendqisi2
	ldr	ip, [fp, #-1368]
	ldr	r3, [fp, #-1228]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-542]	@ zero_extendqisi2
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	ldr	r3, [fp, #-48]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1168
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1152
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1136
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1152
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1136
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1136
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1120
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1120
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1104
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1224]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1104]
	ldr	r3, [fp, #-1116]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #1088
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-540]	@ zero_extendqisi2
	ldr	ip, [fp, #-1112]
	ldr	r3, [fp, #-1124]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-539]	@ zero_extendqisi2
	ldr	ip, [fp, #-1120]
	ldr	r3, [fp, #-1132]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-538]	@ zero_extendqisi2
	ldr	ip, [fp, #-1128]
	ldr	r3, [fp, #-1140]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-537]	@ zero_extendqisi2
	ldr	ip, [fp, #-1136]
	ldr	r3, [fp, #-1148]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #1072
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-536]	@ zero_extendqisi2
	ldr	ip, [fp, #-1144]
	ldr	r3, [fp, #-1156]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-535]	@ zero_extendqisi2
	ldr	ip, [fp, #-1152]
	ldr	r3, [fp, #-1164]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-534]	@ zero_extendqisi2
	ldr	ip, [fp, #-1160]
	ldr	r3, [fp, #-1172]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-533]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1168]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-1224]
	ldr	r3, [fp, #-1100]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #1056
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-532]	@ zero_extendqisi2
	ldr	ip, [fp, #-1220]
	ldr	r3, [fp, #-1096]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-531]	@ zero_extendqisi2
	ldr	r3, [fp, #-1216]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-530]	@ zero_extendqisi2
	ldr	ip, [fp, #-1212]
	ldr	r3, [fp, #-1108]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-529]	@ zero_extendqisi2
	ldr	ip, [fp, #-1208]
	ldr	r3, [fp, #-1092]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #1040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-528]	@ zero_extendqisi2
	ldr	ip, [fp, #-1204]
	ldr	r3, [fp, #-1088]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-527]	@ zero_extendqisi2
	ldr	ip, [fp, #-1200]
	ldr	r3, [fp, #-1084]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-526]	@ zero_extendqisi2
	ldr	ip, [fp, #-1196]
	ldr	r3, [fp, #-1080]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-525]	@ zero_extendqisi2
	ldr	ip, [fp, #-1192]
	ldr	r3, [fp, #-1076]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-524]	@ zero_extendqisi2
	ldr	ip, [fp, #-1188]
	ldr	r3, [fp, #-1072]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1024
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-523]	@ zero_extendqisi2
	ldr	ip, [fp, #-1184]
	ldr	r3, [fp, #-1068]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1020
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-522]	@ zero_extendqisi2
	ldr	ip, [fp, #-1180]
	ldr	r3, [fp, #-1064]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1016
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-521]	@ zero_extendqisi2
	ldr	ip, [fp, #-1176]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1012
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-520]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-541]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #1004
	sub	r0, fp, #1008
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #996
	sub	r0, fp, #1000
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #988
	sub	r0, fp, #992
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #980
	sub	r0, fp, #984
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #972
	sub	r0, fp, #976
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #964
	sub	r0, fp, #968
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #956
	sub	r0, fp, #960
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #948
	sub	r0, fp, #952
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #940
	sub	r0, fp, #944
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #932
	sub	r0, fp, #936
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #924
	sub	r0, fp, #928
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #916
	sub	r0, fp, #920
	ldr	r2, [fp, #-160]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-916]
	ldr	r3, [fp, #-928]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #912
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-519]	@ zero_extendqisi2
	ldr	ip, [fp, #-924]
	ldr	r3, [fp, #-936]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #908
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-518]	@ zero_extendqisi2
	ldr	ip, [fp, #-932]
	ldr	r3, [fp, #-944]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #904
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-517]	@ zero_extendqisi2
	ldr	ip, [fp, #-940]
	ldr	r3, [fp, #-952]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #900
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-516]	@ zero_extendqisi2
	ldr	ip, [fp, #-948]
	ldr	r3, [fp, #-960]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #896
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-515]	@ zero_extendqisi2
	ldr	ip, [fp, #-956]
	ldr	r3, [fp, #-968]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #892
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-514]	@ zero_extendqisi2
	ldr	ip, [fp, #-964]
	ldr	r3, [fp, #-976]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #888
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-513]	@ zero_extendqisi2
	ldr	ip, [fp, #-972]
	ldr	r3, [fp, #-984]
	sub	r1, fp, #4608
	sub	r1, r1, #4
	sub	r0, fp, #884
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-512]	@ zero_extendqisi2
	ldr	ip, [fp, #-980]
	ldr	r3, [fp, #-992]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #880
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-511]	@ zero_extendqisi2
	ldr	ip, [fp, #-988]
	ldr	r3, [fp, #-1000]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #876
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-510]	@ zero_extendqisi2
	ldr	ip, [fp, #-996]
	ldr	r3, [fp, #-1008]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #872
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-509]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1004]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-1056]
	ldr	r3, [fp, #-920]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #868
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-508]	@ zero_extendqisi2
	ldr	ip, [fp, #-1052]
	ldr	r3, [fp, #-912]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #864
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-507]	@ zero_extendqisi2
	ldr	ip, [fp, #-1048]
	ldr	r3, [fp, #-908]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #860
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-506]	@ zero_extendqisi2
	ldr	ip, [fp, #-1044]
	ldr	r3, [fp, #-904]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #856
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-505]	@ zero_extendqisi2
	ldr	ip, [fp, #-1040]
	ldr	r3, [fp, #-900]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #852
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-504]	@ zero_extendqisi2
	ldr	ip, [fp, #-1036]
	ldr	r3, [fp, #-896]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #848
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-503]	@ zero_extendqisi2
	ldr	ip, [fp, #-1032]
	ldr	r3, [fp, #-892]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #844
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-502]	@ zero_extendqisi2
	ldr	ip, [fp, #-1028]
	ldr	r3, [fp, #-888]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #840
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-501]	@ zero_extendqisi2
	ldr	ip, [fp, #-1024]
	ldr	r3, [fp, #-884]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #836
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-500]	@ zero_extendqisi2
	ldr	ip, [fp, #-1020]
	ldr	r3, [fp, #-880]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #832
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-499]	@ zero_extendqisi2
	ldr	ip, [fp, #-1016]
	ldr	r3, [fp, #-876]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #828
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-498]	@ zero_extendqisi2
	ldr	ip, [fp, #-1012]
	ldr	r3, [fp, #-872]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #824
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-497]	@ zero_extendqisi2
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #820
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #812
	sub	r0, fp, #816
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #804
	sub	r0, fp, #808
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #796
	sub	r0, fp, #800
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #788
	sub	r0, fp, #792
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #780
	sub	r0, fp, #784
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #772
	sub	r0, fp, #776
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #764
	sub	r0, fp, #768
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #756
	sub	r0, fp, #760
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #748
	sub	r0, fp, #752
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-868]
	sub	r1, fp, #740
	sub	r0, fp, #744
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	ldr	r3, [fp, #-760]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #736
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-495]	@ zero_extendqisi2
	ldr	ip, [fp, #-756]
	ldr	r3, [fp, #-768]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #732
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-494]	@ zero_extendqisi2
	ldr	ip, [fp, #-764]
	ldr	r3, [fp, #-776]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #728
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-493]	@ zero_extendqisi2
	ldr	ip, [fp, #-772]
	ldr	r3, [fp, #-784]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #724
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-492]	@ zero_extendqisi2
	ldr	ip, [fp, #-780]
	ldr	r3, [fp, #-792]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #720
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-491]	@ zero_extendqisi2
	ldr	ip, [fp, #-788]
	ldr	r3, [fp, #-800]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #716
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-490]	@ zero_extendqisi2
	ldr	ip, [fp, #-796]
	ldr	r3, [fp, #-808]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #712
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-489]	@ zero_extendqisi2
	ldr	ip, [fp, #-804]
	ldr	r3, [fp, #-816]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #708
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-488]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-812]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-868]
	ldr	r3, [fp, #-744]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #704
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-487]	@ zero_extendqisi2
	ldr	ip, [fp, #-864]
	ldr	r3, [fp, #-740]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #700
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-486]	@ zero_extendqisi2
	ldr	r3, [fp, #-860]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #696
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-485]	@ zero_extendqisi2
	ldr	ip, [fp, #-856]
	ldr	r3, [fp, #-752]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #692
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-484]	@ zero_extendqisi2
	ldr	ip, [fp, #-852]
	ldr	r3, [fp, #-736]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #688
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-483]	@ zero_extendqisi2
	ldr	ip, [fp, #-848]
	ldr	r3, [fp, #-732]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #684
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-482]	@ zero_extendqisi2
	ldr	ip, [fp, #-844]
	ldr	r3, [fp, #-728]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #680
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-481]	@ zero_extendqisi2
	ldr	ip, [fp, #-840]
	ldr	r3, [fp, #-724]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #32
	sub	r0, fp, #676
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-480]	@ zero_extendqisi2
	ldr	ip, [fp, #-836]
	ldr	r3, [fp, #-720]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #31
	sub	r0, fp, #672
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-479]	@ zero_extendqisi2
	ldr	ip, [fp, #-832]
	ldr	r3, [fp, #-716]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #30
	sub	r0, fp, #668
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-478]	@ zero_extendqisi2
	ldr	ip, [fp, #-828]
	ldr	r3, [fp, #-712]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #29
	sub	r0, fp, #664
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-477]	@ zero_extendqisi2
	ldr	ip, [fp, #-824]
	ldr	r3, [fp, #-708]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #28
	sub	r0, fp, #660
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-476]	@ zero_extendqisi2
	ldr	ip, [fp, #-820]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #27
	sub	r0, fp, #656
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-475]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-496]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-24]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #648
	sub	r0, fp, #652
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #640
	sub	r0, fp, #644
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #632
	sub	r0, fp, #636
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #624
	sub	r0, fp, #628
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #616
	sub	r0, fp, #620
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #608
	sub	r0, fp, #612
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #600
	sub	r0, fp, #604
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #592
	sub	r0, fp, #596
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #584
	sub	r0, fp, #588
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #576
	sub	r0, fp, #580
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #568
	sub	r0, fp, #572
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-968]
	ldr	r3, [r3]
	sub	r1, fp, #560
	sub	r0, fp, #564
	ldr	r2, [fp, #-156]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-560]
	ldr	r3, [fp, #-572]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #26
	sub	r0, fp, #556
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-474]	@ zero_extendqisi2
	ldr	ip, [fp, #-568]
	ldr	r3, [fp, #-580]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #25
	sub	r0, fp, #552
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-473]	@ zero_extendqisi2
	ldr	ip, [fp, #-576]
	ldr	r3, [fp, #-588]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #24
	sub	r0, fp, #548
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-472]	@ zero_extendqisi2
	ldr	ip, [fp, #-584]
	ldr	r3, [fp, #-596]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #23
	sub	r0, fp, #544
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-471]	@ zero_extendqisi2
	ldr	ip, [fp, #-592]
	ldr	r3, [fp, #-604]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #22
	sub	r0, fp, #540
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-470]	@ zero_extendqisi2
	ldr	ip, [fp, #-600]
	ldr	r3, [fp, #-612]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #21
	sub	r0, fp, #536
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-469]	@ zero_extendqisi2
	ldr	ip, [fp, #-608]
	ldr	r3, [fp, #-620]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #20
	sub	r0, fp, #532
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-468]	@ zero_extendqisi2
	ldr	ip, [fp, #-616]
	ldr	r3, [fp, #-628]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #19
	sub	r0, fp, #528
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-467]	@ zero_extendqisi2
	ldr	ip, [fp, #-624]
	ldr	r3, [fp, #-636]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #18
	sub	r0, fp, #524
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-466]	@ zero_extendqisi2
	ldr	ip, [fp, #-632]
	ldr	r3, [fp, #-644]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #17
	sub	r0, fp, #520
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-465]	@ zero_extendqisi2
	ldr	ip, [fp, #-640]
	ldr	r3, [fp, #-652]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #16
	sub	r0, fp, #516
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-464]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-648]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-700]
	ldr	r3, [fp, #-564]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #512
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-463]	@ zero_extendqisi2
	ldr	ip, [fp, #-696]
	ldr	r3, [fp, #-556]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #508
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-462]	@ zero_extendqisi2
	ldr	ip, [fp, #-692]
	ldr	r3, [fp, #-552]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #504
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-461]	@ zero_extendqisi2
	ldr	ip, [fp, #-688]
	ldr	r3, [fp, #-548]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #500
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-460]	@ zero_extendqisi2
	ldr	ip, [fp, #-684]
	ldr	r3, [fp, #-544]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #496
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-459]	@ zero_extendqisi2
	ldr	ip, [fp, #-680]
	ldr	r3, [fp, #-540]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #492
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-458]	@ zero_extendqisi2
	ldr	ip, [fp, #-676]
	ldr	r3, [fp, #-536]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #488
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-457]	@ zero_extendqisi2
	ldr	ip, [fp, #-672]
	ldr	r3, [fp, #-532]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #484
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-456]	@ zero_extendqisi2
	ldr	ip, [fp, #-668]
	ldr	r3, [fp, #-528]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #480
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-455]	@ zero_extendqisi2
	ldr	ip, [fp, #-664]
	ldr	r3, [fp, #-524]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #476
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-454]	@ zero_extendqisi2
	ldr	ip, [fp, #-660]
	ldr	r3, [fp, #-520]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #472
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-453]	@ zero_extendqisi2
	ldr	ip, [fp, #-656]
	ldr	r3, [fp, #-516]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #468
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-452]	@ zero_extendqisi2
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #464
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #456
	sub	r0, fp, #460
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #448
	sub	r0, fp, #452
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #440
	sub	r0, fp, #444
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #432
	sub	r0, fp, #436
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #424
	sub	r0, fp, #428
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #416
	sub	r0, fp, #420
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #408
	sub	r0, fp, #412
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #400
	sub	r0, fp, #404
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #392
	sub	r0, fp, #396
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-512]
	sub	r1, fp, #384
	sub	r0, fp, #388
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-404]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #380
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-450]	@ zero_extendqisi2
	ldr	ip, [fp, #-400]
	ldr	r3, [fp, #-412]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #376
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-449]	@ zero_extendqisi2
	ldr	ip, [fp, #-408]
	ldr	r3, [fp, #-420]
	sub	r1, fp, #4544
	sub	r1, r1, #4
	sub	r0, fp, #372
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-448]	@ zero_extendqisi2
	ldr	ip, [fp, #-416]
	ldr	r3, [fp, #-428]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #63
	sub	r0, fp, #368
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-447]	@ zero_extendqisi2
	ldr	ip, [fp, #-424]
	ldr	r3, [fp, #-436]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #62
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-446]	@ zero_extendqisi2
	ldr	ip, [fp, #-432]
	ldr	r3, [fp, #-444]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #61
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-445]	@ zero_extendqisi2
	ldr	ip, [fp, #-440]
	ldr	r3, [fp, #-452]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #60
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-444]	@ zero_extendqisi2
	ldr	ip, [fp, #-448]
	ldr	r3, [fp, #-460]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #59
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-443]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-456]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-512]
	ldr	r3, [fp, #-388]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #58
	sub	r0, fp, #348
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-442]	@ zero_extendqisi2
	ldr	ip, [fp, #-508]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #57
	sub	r0, fp, #344
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-441]	@ zero_extendqisi2
	ldr	r3, [fp, #-504]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #56
	sub	r0, fp, #340
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-440]	@ zero_extendqisi2
	ldr	ip, [fp, #-500]
	ldr	r3, [fp, #-396]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #55
	sub	r0, fp, #336
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-439]	@ zero_extendqisi2
	ldr	ip, [fp, #-496]
	ldr	r3, [fp, #-380]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #54
	sub	r0, fp, #332
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-438]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-376]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #53
	sub	r0, fp, #328
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-437]	@ zero_extendqisi2
	ldr	ip, [fp, #-488]
	ldr	r3, [fp, #-372]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #52
	sub	r0, fp, #324
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-436]	@ zero_extendqisi2
	ldr	ip, [fp, #-484]
	ldr	r3, [fp, #-368]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #51
	sub	r0, fp, #320
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-435]	@ zero_extendqisi2
	ldr	ip, [fp, #-480]
	ldr	r3, [fp, #-364]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #50
	sub	r0, fp, #316
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-434]	@ zero_extendqisi2
	ldr	ip, [fp, #-476]
	ldr	r3, [fp, #-360]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #49
	sub	r0, fp, #312
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-433]	@ zero_extendqisi2
	ldr	ip, [fp, #-472]
	ldr	r3, [fp, #-356]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #48
	sub	r0, fp, #308
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-432]	@ zero_extendqisi2
	ldr	ip, [fp, #-468]
	ldr	r3, [fp, #-352]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #47
	sub	r0, fp, #304
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-431]	@ zero_extendqisi2
	ldr	ip, [fp, #-464]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #46
	sub	r0, fp, #300
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-430]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-451]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-344]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #45
	sub	r0, fp, #296
	mvn	r2, #0
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-429]	@ zero_extendqisi2
	ldr	r3, [fp, #-340]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #44
	sub	r0, fp, #292
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-428]	@ zero_extendqisi2
	ldr	r3, [fp, #-336]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #43
	sub	r0, fp, #288
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-427]	@ zero_extendqisi2
	ldr	r3, [fp, #-332]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #42
	sub	r0, fp, #284
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-426]	@ zero_extendqisi2
	ldr	r3, [fp, #-328]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #41
	sub	r0, fp, #280
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-425]	@ zero_extendqisi2
	ldr	r3, [fp, #-324]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #40
	sub	r0, fp, #276
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-424]	@ zero_extendqisi2
	ldr	r3, [fp, #-320]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #39
	sub	r0, fp, #272
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-423]	@ zero_extendqisi2
	ldr	r3, [fp, #-316]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #38
	sub	r0, fp, #268
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-422]	@ zero_extendqisi2
	ldr	r3, [fp, #-312]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #37
	sub	r0, fp, #264
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-421]	@ zero_extendqisi2
	ldr	r3, [fp, #-308]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #36
	sub	r0, fp, #260
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-420]	@ zero_extendqisi2
	ldr	r3, [fp, #-304]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #35
	sub	r0, fp, #256
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-419]	@ zero_extendqisi2
	ldr	r3, [fp, #-300]
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #34
	sub	r0, fp, #252
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r2, [r3, #-418]	@ zero_extendqisi2
	sub	r1, fp, #4480
	sub	r1, r1, #4
	sub	r1, r1, #33
	sub	r0, fp, #248
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	bl	fiat_p384_subborrowx_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-296]
	ldr	r3, [fp, #-344]
	sub	r0, fp, #244
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-292]
	ldr	r3, [fp, #-340]
	sub	r0, fp, #240
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-288]
	ldr	r3, [fp, #-336]
	sub	r0, fp, #236
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-284]
	ldr	r3, [fp, #-332]
	sub	r0, fp, #232
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-280]
	ldr	r3, [fp, #-328]
	sub	r0, fp, #228
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-276]
	ldr	r3, [fp, #-324]
	sub	r0, fp, #224
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-272]
	ldr	r3, [fp, #-320]
	sub	r0, fp, #220
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-268]
	ldr	r3, [fp, #-316]
	sub	r0, fp, #216
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-264]
	ldr	r3, [fp, #-312]
	sub	r0, fp, #212
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-308]
	sub	r0, fp, #208
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-256]
	ldr	r3, [fp, #-304]
	sub	r0, fp, #204
	bl	fiat_p384_cmovznz_u32
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r1, [r3, #-417]	@ zero_extendqisi2
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-300]
	sub	r0, fp, #200
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-244]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #4
	ldr	r2, [fp, #-240]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #8
	ldr	r2, [fp, #-236]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #12
	ldr	r2, [fp, #-232]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #16
	ldr	r2, [fp, #-228]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #20
	ldr	r2, [fp, #-224]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #24
	ldr	r2, [fp, #-220]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #28
	ldr	r2, [fp, #-216]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #32
	ldr	r2, [fp, #-212]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #36
	ldr	r2, [fp, #-208]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #40
	ldr	r2, [fp, #-204]
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-964]
	add	r3, r3, #44
	ldr	r2, [fp, #-200]
	str	r2, [r3]
	nop
	ldr	r3, .L17
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L13
	bl	__stack_chk_fail
.L13:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L18:
	.align	2
.L17:
	.word	.LC1
	.size	fiat_p384_square, .-fiat_p384_square
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_add, %function
fiat_p384_add:
	@ args = 0, pretend = 0, frame = 200
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #208
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	str	r2, [fp, #-200]
	ldr	r3, .L21
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-196]
	ldr	r2, [r3]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3]
	sub	r1, fp, #181
	sub	r0, fp, #156
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-181]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #4
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #180
	sub	r0, fp, #152
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-180]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #8
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #179
	sub	r0, fp, #148
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-179]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #12
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #178
	sub	r0, fp, #144
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-178]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #16
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #177
	sub	r0, fp, #140
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-177]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #20
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #176
	sub	r0, fp, #136
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-176]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #24
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #175
	sub	r0, fp, #132
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-175]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #28
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #174
	sub	r0, fp, #128
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-174]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #32
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #173
	sub	r0, fp, #124
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-173]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #36
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #172
	sub	r0, fp, #120
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-172]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #40
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #171
	sub	r0, fp, #116
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-171]	@ zero_extendqisi2
	ldr	r3, [fp, #-196]
	add	r3, r3, #44
	ldr	ip, [r3]
	ldr	r3, [fp, #-200]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #170
	sub	r0, fp, #112
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r3, [fp, #-156]
	sub	r1, fp, #169
	sub	r0, fp, #108
	mvn	r2, #0
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-169]	@ zero_extendqisi2
	ldr	r3, [fp, #-152]
	sub	r1, fp, #168
	sub	r0, fp, #104
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-168]	@ zero_extendqisi2
	ldr	r3, [fp, #-148]
	sub	r1, fp, #167
	sub	r0, fp, #100
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-167]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	sub	r1, fp, #166
	sub	r0, fp, #96
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-166]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	sub	r1, fp, #165
	sub	r0, fp, #92
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-165]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	sub	r1, fp, #164
	sub	r0, fp, #88
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-164]	@ zero_extendqisi2
	ldr	r3, [fp, #-132]
	sub	r1, fp, #163
	sub	r0, fp, #84
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-163]	@ zero_extendqisi2
	ldr	r3, [fp, #-128]
	sub	r1, fp, #162
	sub	r0, fp, #80
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-162]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	sub	r1, fp, #161
	sub	r0, fp, #76
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-161]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	sub	r1, fp, #160
	sub	r0, fp, #72
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-160]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	sub	r1, fp, #159
	sub	r0, fp, #68
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-159]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	sub	r1, fp, #158
	sub	r0, fp, #64
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-158]	@ zero_extendqisi2
	ldrb	r3, [fp, #-170]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #157
	sub	r0, fp, #60
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-156]
	sub	r0, fp, #56
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-152]
	sub	r0, fp, #52
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-148]
	sub	r0, fp, #48
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-144]
	sub	r0, fp, #44
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-140]
	sub	r0, fp, #40
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-136]
	sub	r0, fp, #36
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-132]
	sub	r0, fp, #32
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-128]
	sub	r0, fp, #28
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-124]
	sub	r0, fp, #24
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-120]
	sub	r0, fp, #20
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-116]
	sub	r0, fp, #16
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-157]	@ zero_extendqisi2
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-112]
	sub	r0, fp, #12
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-192]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #4
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #8
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #12
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #16
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #20
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #24
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #28
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #32
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #36
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #40
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-192]
	add	r3, r3, #44
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L21
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L20
	bl	__stack_chk_fail
.L20:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L22:
	.align	2
.L21:
	.word	.LC2
	.size	fiat_p384_add, .-fiat_p384_add
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_sub, %function
fiat_p384_sub:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	str	r2, [fp, #-144]
	ldr	r3, .L25
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-140]
	ldr	r2, [r3]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	sub	r1, fp, #132
	sub	r0, fp, #108
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-132]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #4
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #131
	sub	r0, fp, #104
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-131]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #130
	sub	r0, fp, #100
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-130]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #12
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #129
	sub	r0, fp, #96
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-129]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #16
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #128
	sub	r0, fp, #92
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-128]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #20
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #127
	sub	r0, fp, #88
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-127]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #24
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #126
	sub	r0, fp, #84
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-126]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #28
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #125
	sub	r0, fp, #80
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-125]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #32
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #124
	sub	r0, fp, #76
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-124]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #36
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #123
	sub	r0, fp, #72
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-123]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #40
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #122
	sub	r0, fp, #68
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-122]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #44
	ldr	ip, [r3]
	ldr	r3, [fp, #-144]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #121
	sub	r0, fp, #64
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r1, [fp, #-121]	@ zero_extendqisi2
	sub	r0, fp, #60
	mvn	r3, #0
	mov	r2, #0
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #120
	sub	r0, fp, #56
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-120]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	sub	r1, fp, #119
	sub	r0, fp, #52
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-119]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	sub	r1, fp, #118
	sub	r0, fp, #48
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-118]	@ zero_extendqisi2
	ldr	ip, [fp, #-96]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #117
	sub	r0, fp, #44
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-117]	@ zero_extendqisi2
	ldr	ip, [fp, #-92]
	ldr	r3, [fp, #-60]
	bic	r3, r3, #1
	sub	r1, fp, #116
	sub	r0, fp, #40
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-116]	@ zero_extendqisi2
	ldr	ip, [fp, #-88]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #115
	sub	r0, fp, #36
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-115]	@ zero_extendqisi2
	ldr	ip, [fp, #-84]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #114
	sub	r0, fp, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-114]	@ zero_extendqisi2
	ldr	ip, [fp, #-80]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #113
	sub	r0, fp, #28
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-113]	@ zero_extendqisi2
	ldr	ip, [fp, #-76]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #112
	sub	r0, fp, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-112]	@ zero_extendqisi2
	ldr	ip, [fp, #-72]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #111
	sub	r0, fp, #20
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-111]	@ zero_extendqisi2
	ldr	ip, [fp, #-68]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #110
	sub	r0, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-110]	@ zero_extendqisi2
	ldr	ip, [fp, #-64]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #109
	sub	r0, fp, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-136]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #4
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #12
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #16
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #20
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #24
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #28
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #32
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #36
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #40
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #44
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L25
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L24
	bl	__stack_chk_fail
.L24:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	.LC3
	.size	fiat_p384_sub, .-fiat_p384_sub
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_opp, %function
fiat_p384_opp:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	ldr	r3, .L29
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-140]
	ldr	r3, [r3]
	sub	r1, fp, #132
	sub	r0, fp, #108
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-132]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #131
	sub	r0, fp, #104
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-131]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #130
	sub	r0, fp, #100
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-130]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #129
	sub	r0, fp, #96
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-129]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #128
	sub	r0, fp, #92
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-128]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #127
	sub	r0, fp, #88
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-127]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #126
	sub	r0, fp, #84
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-126]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #125
	sub	r0, fp, #80
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-125]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #124
	sub	r0, fp, #76
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-124]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #123
	sub	r0, fp, #72
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-123]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #122
	sub	r0, fp, #68
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-122]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #121
	sub	r0, fp, #64
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r1, [fp, #-121]	@ zero_extendqisi2
	sub	r0, fp, #60
	mvn	r3, #0
	mov	r2, #0
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #120
	sub	r0, fp, #56
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-120]	@ zero_extendqisi2
	ldr	r3, [fp, #-104]
	sub	r1, fp, #119
	sub	r0, fp, #52
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-119]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	sub	r1, fp, #118
	sub	r0, fp, #48
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-118]	@ zero_extendqisi2
	ldr	ip, [fp, #-96]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #117
	sub	r0, fp, #44
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-117]	@ zero_extendqisi2
	ldr	ip, [fp, #-92]
	ldr	r3, [fp, #-60]
	bic	r3, r3, #1
	sub	r1, fp, #116
	sub	r0, fp, #40
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-116]	@ zero_extendqisi2
	ldr	ip, [fp, #-88]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #115
	sub	r0, fp, #36
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-115]	@ zero_extendqisi2
	ldr	ip, [fp, #-84]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #114
	sub	r0, fp, #32
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-114]	@ zero_extendqisi2
	ldr	ip, [fp, #-80]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #113
	sub	r0, fp, #28
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-113]	@ zero_extendqisi2
	ldr	ip, [fp, #-76]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #112
	sub	r0, fp, #24
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-112]	@ zero_extendqisi2
	ldr	ip, [fp, #-72]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #111
	sub	r0, fp, #20
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-111]	@ zero_extendqisi2
	ldr	ip, [fp, #-68]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #110
	sub	r0, fp, #16
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-110]	@ zero_extendqisi2
	ldr	ip, [fp, #-64]
	ldr	r3, [fp, #-60]
	sub	r1, fp, #109
	sub	r0, fp, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-136]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #4
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #8
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #12
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #16
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #20
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #24
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #28
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #32
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #36
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #40
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #44
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L29
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L28
	bl	__stack_chk_fail
.L28:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	.LC4
	.size	fiat_p384_opp, .-fiat_p384_opp
	.section	.rodata
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_from_montgomery, %function
fiat_p384_from_montgomery:
	@ args = 0, pretend = 0, frame = 2896
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2896
	sub	sp, sp, #8
	str	r0, [fp, #-2896]
	str	r1, [fp, #-2900]
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2900]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2512
	sub	r0, r0, #4
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2496
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2496
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2496
	sub	r0, r0, #4
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2480
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2480
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2480
	sub	r0, r0, #4
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2464
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2464
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2464
	sub	r0, r0, #4
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2448
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2448
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2448
	sub	r0, r0, #4
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	sub	r1, fp, #2432
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2432
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2448]
	ldr	r3, [fp, #-2460]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2432
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2890]	@ zero_extendqisi2
	ldr	ip, [fp, #-2456]
	ldr	r3, [fp, #-2468]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2889]	@ zero_extendqisi2
	ldr	ip, [fp, #-2464]
	ldr	r3, [fp, #-2476]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2888]	@ zero_extendqisi2
	ldr	ip, [fp, #-2472]
	ldr	r3, [fp, #-2484]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2416
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2887]	@ zero_extendqisi2
	ldr	ip, [fp, #-2480]
	ldr	r3, [fp, #-2492]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2416
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2886]	@ zero_extendqisi2
	ldr	ip, [fp, #-2488]
	ldr	r3, [fp, #-2500]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2885]	@ zero_extendqisi2
	ldr	ip, [fp, #-2496]
	ldr	r3, [fp, #-2508]
	sub	r1, fp, #2880
	sub	r1, r1, #4
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2884]	@ zero_extendqisi2
	ldr	ip, [fp, #-2504]
	ldr	r3, [fp, #-2516]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2400
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r3, [fp, #-2444]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2400
	sub	r0, r0, #4
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r3, [fp, #-2882]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-2440]
	add	r2, r2, r3
	ldr	r3, [fp, #-2900]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2384
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2384
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2384
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2384
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2368
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2368
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2368
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2352
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2352
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2352
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2336
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2336
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2336
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2320
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2320
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2400]
	sub	r1, fp, #2304
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2320
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2328]
	ldr	r3, [fp, #-2340]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2880]	@ zero_extendqisi2
	ldr	ip, [fp, #-2336]
	ldr	r3, [fp, #-2348]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2304
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2879]	@ zero_extendqisi2
	ldr	ip, [fp, #-2344]
	ldr	r3, [fp, #-2356]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2304
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2878]	@ zero_extendqisi2
	ldr	ip, [fp, #-2352]
	ldr	r3, [fp, #-2364]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2877]	@ zero_extendqisi2
	ldr	ip, [fp, #-2360]
	ldr	r3, [fp, #-2372]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2876]	@ zero_extendqisi2
	ldr	ip, [fp, #-2368]
	ldr	r3, [fp, #-2380]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2288
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2875]	@ zero_extendqisi2
	ldr	ip, [fp, #-2376]
	ldr	r3, [fp, #-2388]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2288
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2874]	@ zero_extendqisi2
	ldr	ip, [fp, #-2384]
	ldr	r3, [fp, #-2396]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2400]
	ldr	r3, [fp, #-2324]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2872]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2881]	@ zero_extendqisi2
	mov	ip, r3
	ldr	r3, [fp, #-2320]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2272
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2871]	@ zero_extendqisi2
	ldr	r3, [fp, #-2452]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2272
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2870]	@ zero_extendqisi2
	ldr	ip, [fp, #-2436]
	ldr	r3, [fp, #-2332]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2869]	@ zero_extendqisi2
	ldr	ip, [fp, #-2432]
	ldr	r3, [fp, #-2316]
	sub	r1, fp, #2864
	sub	r1, r1, #4
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2868]	@ zero_extendqisi2
	ldr	ip, [fp, #-2428]
	ldr	r3, [fp, #-2312]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2256
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2867]	@ zero_extendqisi2
	ldr	ip, [fp, #-2424]
	ldr	r3, [fp, #-2308]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2256
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2866]	@ zero_extendqisi2
	ldr	ip, [fp, #-2420]
	ldr	r3, [fp, #-2304]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2865]	@ zero_extendqisi2
	ldr	ip, [fp, #-2416]
	ldr	r3, [fp, #-2300]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2864]	@ zero_extendqisi2
	ldr	ip, [fp, #-2412]
	ldr	r3, [fp, #-2296]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2240
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2863]	@ zero_extendqisi2
	ldr	ip, [fp, #-2408]
	ldr	r3, [fp, #-2292]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2240
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2862]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2883]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-2512]
	add	ip, r1, r3
	ldr	r3, [fp, #-2288]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2861]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2873]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-2392]
	add	r3, r1, r3
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, #0
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2280]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2224
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2859]	@ zero_extendqisi2
	ldr	r3, [fp, #-2276]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2224
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2858]	@ zero_extendqisi2
	ldr	r3, [fp, #-2272]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2857]	@ zero_extendqisi2
	ldr	r3, [fp, #-2268]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2856]	@ zero_extendqisi2
	ldr	r3, [fp, #-2264]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2208
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2855]	@ zero_extendqisi2
	ldr	r3, [fp, #-2260]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2208
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2854]	@ zero_extendqisi2
	ldr	r3, [fp, #-2256]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2853]	@ zero_extendqisi2
	ldr	r3, [fp, #-2252]
	sub	r1, fp, #2848
	sub	r1, r1, #4
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2852]	@ zero_extendqisi2
	ldr	r3, [fp, #-2248]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2192
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2851]	@ zero_extendqisi2
	ldr	r3, [fp, #-2244]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2192
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2850]	@ zero_extendqisi2
	ldr	r3, [fp, #-2240]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2849]	@ zero_extendqisi2
	ldr	r3, [fp, #-2236]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2176
	sub	r1, r1, #4
	sub	r0, fp, #2176
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2160
	sub	r1, r1, #4
	sub	r0, fp, #2160
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2144
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2144
	sub	r1, r1, #4
	sub	r0, fp, #2144
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2128
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2128
	sub	r1, r1, #4
	sub	r0, fp, #2128
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2112
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2112
	sub	r1, r1, #4
	sub	r0, fp, #2112
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2232]
	sub	r1, fp, #2096
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2116]
	ldr	r3, [fp, #-2128]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2096
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2847]	@ zero_extendqisi2
	ldr	ip, [fp, #-2124]
	ldr	r3, [fp, #-2136]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2096
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2846]	@ zero_extendqisi2
	ldr	ip, [fp, #-2132]
	ldr	r3, [fp, #-2144]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2845]	@ zero_extendqisi2
	ldr	ip, [fp, #-2140]
	ldr	r3, [fp, #-2152]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2844]	@ zero_extendqisi2
	ldr	ip, [fp, #-2148]
	ldr	r3, [fp, #-2160]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2080
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2843]	@ zero_extendqisi2
	ldr	ip, [fp, #-2156]
	ldr	r3, [fp, #-2168]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2080
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2842]	@ zero_extendqisi2
	ldr	ip, [fp, #-2164]
	ldr	r3, [fp, #-2176]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2841]	@ zero_extendqisi2
	ldr	ip, [fp, #-2172]
	ldr	r3, [fp, #-2184]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2232]
	ldr	r3, [fp, #-2112]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2064
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2839]	@ zero_extendqisi2
	ldr	ip, [fp, #-2228]
	ldr	r3, [fp, #-2108]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2064
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2838]	@ zero_extendqisi2
	ldr	r3, [fp, #-2224]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2837]	@ zero_extendqisi2
	ldr	ip, [fp, #-2220]
	ldr	r3, [fp, #-2120]
	sub	r1, fp, #2832
	sub	r1, r1, #4
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2836]	@ zero_extendqisi2
	ldr	ip, [fp, #-2216]
	ldr	r3, [fp, #-2104]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #2048
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2835]	@ zero_extendqisi2
	ldr	ip, [fp, #-2212]
	ldr	r3, [fp, #-2100]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #2048
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2834]	@ zero_extendqisi2
	ldr	ip, [fp, #-2208]
	ldr	r3, [fp, #-2096]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2833]	@ zero_extendqisi2
	ldr	ip, [fp, #-2204]
	ldr	r3, [fp, #-2092]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2832]	@ zero_extendqisi2
	ldr	ip, [fp, #-2200]
	ldr	r3, [fp, #-2088]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #2032
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2831]	@ zero_extendqisi2
	ldr	ip, [fp, #-2196]
	ldr	r3, [fp, #-2084]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #2032
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2830]	@ zero_extendqisi2
	ldr	ip, [fp, #-2192]
	ldr	r3, [fp, #-2080]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2829]	@ zero_extendqisi2
	ldr	ip, [fp, #-2188]
	ldr	r3, [fp, #-2076]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2828]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2848]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2860]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2840]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-2180]
	add	r3, r1, r3
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #2016
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2068]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #2016
	b	.L34
.L35:
	.align	2
.L33:
	.word	.LC5
.L34:
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2826]	@ zero_extendqisi2
	ldr	r3, [fp, #-2064]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2825]	@ zero_extendqisi2
	ldr	r3, [fp, #-2060]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2824]	@ zero_extendqisi2
	ldr	r3, [fp, #-2056]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #2000
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2823]	@ zero_extendqisi2
	ldr	r3, [fp, #-2052]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #2000
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2822]	@ zero_extendqisi2
	ldr	r3, [fp, #-2048]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2821]	@ zero_extendqisi2
	ldr	r3, [fp, #-2044]
	sub	r1, fp, #2816
	sub	r1, r1, #4
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2820]	@ zero_extendqisi2
	ldr	r3, [fp, #-2040]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1984
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2819]	@ zero_extendqisi2
	ldr	r3, [fp, #-2036]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1984
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2818]	@ zero_extendqisi2
	ldr	r3, [fp, #-2032]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2817]	@ zero_extendqisi2
	ldr	r3, [fp, #-2028]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2816]	@ zero_extendqisi2
	ldr	r3, [fp, #-2024]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1968
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1952
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1968
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1952
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1936
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1952
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1936
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1936
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1920
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1936
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1920
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1920
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1904
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1920
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1904
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1904
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1888
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1904
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-2020]
	sub	r1, fp, #1888
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1888
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1904]
	ldr	r3, [fp, #-1916]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1888
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2814]	@ zero_extendqisi2
	ldr	ip, [fp, #-1912]
	ldr	r3, [fp, #-1924]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2813]	@ zero_extendqisi2
	ldr	ip, [fp, #-1920]
	ldr	r3, [fp, #-1932]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2812]	@ zero_extendqisi2
	ldr	ip, [fp, #-1928]
	ldr	r3, [fp, #-1940]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1872
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2811]	@ zero_extendqisi2
	ldr	ip, [fp, #-1936]
	ldr	r3, [fp, #-1948]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1872
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2810]	@ zero_extendqisi2
	ldr	ip, [fp, #-1944]
	ldr	r3, [fp, #-1956]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2809]	@ zero_extendqisi2
	ldr	ip, [fp, #-1952]
	ldr	r3, [fp, #-1964]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2808]	@ zero_extendqisi2
	ldr	ip, [fp, #-1960]
	ldr	r3, [fp, #-1972]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1856
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-2020]
	ldr	r3, [fp, #-1900]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1856
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2806]	@ zero_extendqisi2
	ldr	ip, [fp, #-2016]
	ldr	r3, [fp, #-1896]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2805]	@ zero_extendqisi2
	ldr	r3, [fp, #-2012]
	sub	r1, fp, #2800
	sub	r1, r1, #4
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2804]	@ zero_extendqisi2
	ldr	ip, [fp, #-2008]
	ldr	r3, [fp, #-1908]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1840
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2803]	@ zero_extendqisi2
	ldr	ip, [fp, #-2004]
	ldr	r3, [fp, #-1892]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1840
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2802]	@ zero_extendqisi2
	ldr	ip, [fp, #-2000]
	ldr	r3, [fp, #-1888]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2801]	@ zero_extendqisi2
	ldr	ip, [fp, #-1996]
	ldr	r3, [fp, #-1884]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2800]	@ zero_extendqisi2
	ldr	ip, [fp, #-1992]
	ldr	r3, [fp, #-1880]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1824
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2799]	@ zero_extendqisi2
	ldr	ip, [fp, #-1988]
	ldr	r3, [fp, #-1876]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1824
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2798]	@ zero_extendqisi2
	ldr	ip, [fp, #-1984]
	ldr	r3, [fp, #-1872]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2797]	@ zero_extendqisi2
	ldr	ip, [fp, #-1980]
	ldr	r3, [fp, #-1868]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2796]	@ zero_extendqisi2
	ldr	ip, [fp, #-1976]
	ldr	r3, [fp, #-1864]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2795]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2815]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2827]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2807]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1968]
	add	r3, r1, r3
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1808
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1856]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2793]	@ zero_extendqisi2
	ldr	r3, [fp, #-1852]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2792]	@ zero_extendqisi2
	ldr	r3, [fp, #-1848]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1792
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2791]	@ zero_extendqisi2
	ldr	r3, [fp, #-1844]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1792
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2790]	@ zero_extendqisi2
	ldr	r3, [fp, #-1840]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2789]	@ zero_extendqisi2
	ldr	r3, [fp, #-1836]
	sub	r1, fp, #2784
	sub	r1, r1, #4
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2788]	@ zero_extendqisi2
	ldr	r3, [fp, #-1832]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1776
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2787]	@ zero_extendqisi2
	ldr	r3, [fp, #-1828]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1776
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2786]	@ zero_extendqisi2
	ldr	r3, [fp, #-1824]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2785]	@ zero_extendqisi2
	ldr	r3, [fp, #-1820]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2784]	@ zero_extendqisi2
	ldr	r3, [fp, #-1816]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1760
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2783]	@ zero_extendqisi2
	ldr	r3, [fp, #-1812]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1760
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1744
	sub	r1, r1, #4
	sub	r0, fp, #1744
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r0, fp, #1728
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r0, fp, #1712
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1808]
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r0, fp, #1680
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1692]
	ldr	r3, [fp, #-1704]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2781]	@ zero_extendqisi2
	ldr	ip, [fp, #-1700]
	ldr	r3, [fp, #-1712]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2780]	@ zero_extendqisi2
	ldr	ip, [fp, #-1708]
	ldr	r3, [fp, #-1720]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1664
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2779]	@ zero_extendqisi2
	ldr	ip, [fp, #-1716]
	ldr	r3, [fp, #-1728]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1664
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2778]	@ zero_extendqisi2
	ldr	ip, [fp, #-1724]
	ldr	r3, [fp, #-1736]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2777]	@ zero_extendqisi2
	ldr	ip, [fp, #-1732]
	ldr	r3, [fp, #-1744]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2776]	@ zero_extendqisi2
	ldr	ip, [fp, #-1740]
	ldr	r3, [fp, #-1752]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2775]	@ zero_extendqisi2
	ldr	ip, [fp, #-1748]
	ldr	r3, [fp, #-1760]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1648
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1808]
	ldr	r3, [fp, #-1688]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2773]	@ zero_extendqisi2
	ldr	ip, [fp, #-1804]
	ldr	r3, [fp, #-1684]
	sub	r1, fp, #2768
	sub	r1, r1, #4
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2772]	@ zero_extendqisi2
	ldr	r3, [fp, #-1800]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1632
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2771]	@ zero_extendqisi2
	ldr	ip, [fp, #-1796]
	ldr	r3, [fp, #-1696]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1632
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2770]	@ zero_extendqisi2
	ldr	ip, [fp, #-1792]
	ldr	r3, [fp, #-1680]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2769]	@ zero_extendqisi2
	ldr	ip, [fp, #-1788]
	ldr	r3, [fp, #-1676]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2768]	@ zero_extendqisi2
	ldr	ip, [fp, #-1784]
	ldr	r3, [fp, #-1672]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1616
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2767]	@ zero_extendqisi2
	ldr	ip, [fp, #-1780]
	ldr	r3, [fp, #-1668]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1616
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2766]	@ zero_extendqisi2
	ldr	ip, [fp, #-1776]
	ldr	r3, [fp, #-1664]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2765]	@ zero_extendqisi2
	ldr	ip, [fp, #-1772]
	ldr	r3, [fp, #-1660]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2764]	@ zero_extendqisi2
	ldr	ip, [fp, #-1768]
	ldr	r3, [fp, #-1656]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2763]	@ zero_extendqisi2
	ldr	ip, [fp, #-1764]
	ldr	r3, [fp, #-1652]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1600
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2762]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2782]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2794]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2774]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1756]
	add	r3, r1, r3
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1644]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #20
	ldr	r3, [r3]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2760]	@ zero_extendqisi2
	ldr	r3, [fp, #-1640]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1584
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2759]	@ zero_extendqisi2
	ldr	r3, [fp, #-1636]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1584
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2758]	@ zero_extendqisi2
	ldr	r3, [fp, #-1632]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2757]	@ zero_extendqisi2
	ldr	r3, [fp, #-1628]
	sub	r1, fp, #2752
	sub	r1, r1, #4
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2756]	@ zero_extendqisi2
	ldr	r3, [fp, #-1624]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1568
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2755]	@ zero_extendqisi2
	ldr	r3, [fp, #-1620]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1568
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2754]	@ zero_extendqisi2
	ldr	r3, [fp, #-1616]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2753]	@ zero_extendqisi2
	ldr	r3, [fp, #-1612]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2752]	@ zero_extendqisi2
	ldr	r3, [fp, #-1608]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1552
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2751]	@ zero_extendqisi2
	ldr	r3, [fp, #-1604]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1552
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2750]	@ zero_extendqisi2
	ldr	r3, [fp, #-1600]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1536
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1536
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1536
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1520
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1520
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1520
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1504
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1504
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1504
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1488
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1488
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1488
	sub	r0, r0, #4
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1472
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1472
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1596]
	sub	r1, fp, #1456
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1472
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1480]
	ldr	r3, [fp, #-1492]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2748]	@ zero_extendqisi2
	ldr	ip, [fp, #-1488]
	ldr	r3, [fp, #-1500]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1456
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2747]	@ zero_extendqisi2
	ldr	ip, [fp, #-1496]
	ldr	r3, [fp, #-1508]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1456
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2746]	@ zero_extendqisi2
	ldr	ip, [fp, #-1504]
	ldr	r3, [fp, #-1516]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2745]	@ zero_extendqisi2
	ldr	ip, [fp, #-1512]
	ldr	r3, [fp, #-1524]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2744]	@ zero_extendqisi2
	ldr	ip, [fp, #-1520]
	ldr	r3, [fp, #-1532]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2743]	@ zero_extendqisi2
	ldr	ip, [fp, #-1528]
	ldr	r3, [fp, #-1540]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1440
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2742]	@ zero_extendqisi2
	ldr	ip, [fp, #-1536]
	ldr	r3, [fp, #-1548]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1596]
	ldr	r3, [fp, #-1476]
	sub	r1, fp, #2736
	sub	r1, r1, #4
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2740]	@ zero_extendqisi2
	ldr	ip, [fp, #-1592]
	ldr	r3, [fp, #-1472]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1424
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2739]	@ zero_extendqisi2
	ldr	r3, [fp, #-1588]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1424
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2738]	@ zero_extendqisi2
	ldr	ip, [fp, #-1584]
	ldr	r3, [fp, #-1484]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2737]	@ zero_extendqisi2
	ldr	ip, [fp, #-1580]
	ldr	r3, [fp, #-1468]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2736]	@ zero_extendqisi2
	ldr	ip, [fp, #-1576]
	ldr	r3, [fp, #-1464]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1408
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2735]	@ zero_extendqisi2
	ldr	ip, [fp, #-1572]
	ldr	r3, [fp, #-1460]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1408
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2734]	@ zero_extendqisi2
	ldr	ip, [fp, #-1568]
	ldr	r3, [fp, #-1456]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2733]	@ zero_extendqisi2
	ldr	ip, [fp, #-1564]
	ldr	r3, [fp, #-1452]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2732]	@ zero_extendqisi2
	ldr	ip, [fp, #-1560]
	ldr	r3, [fp, #-1448]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1392
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2731]	@ zero_extendqisi2
	ldr	ip, [fp, #-1556]
	ldr	r3, [fp, #-1444]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1392
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2730]	@ zero_extendqisi2
	ldr	ip, [fp, #-1552]
	ldr	r3, [fp, #-1440]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2729]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2749]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2761]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2741]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1544]
	add	r3, r1, r3
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1432]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #24
	ldr	r3, [r3]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1376
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2727]	@ zero_extendqisi2
	ldr	r3, [fp, #-1428]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1376
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2726]	@ zero_extendqisi2
	ldr	r3, [fp, #-1424]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2725]	@ zero_extendqisi2
	ldr	r3, [fp, #-1420]
	sub	r1, fp, #2720
	sub	r1, r1, #4
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2724]	@ zero_extendqisi2
	ldr	r3, [fp, #-1416]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1360
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2723]	@ zero_extendqisi2
	ldr	r3, [fp, #-1412]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1360
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2722]	@ zero_extendqisi2
	ldr	r3, [fp, #-1408]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2721]	@ zero_extendqisi2
	ldr	r3, [fp, #-1404]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2720]	@ zero_extendqisi2
	ldr	r3, [fp, #-1400]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1344
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2719]	@ zero_extendqisi2
	ldr	r3, [fp, #-1396]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1344
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2718]	@ zero_extendqisi2
	ldr	r3, [fp, #-1392]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2717]	@ zero_extendqisi2
	ldr	r3, [fp, #-1388]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1328
	sub	r1, r1, #4
	sub	r0, fp, #1328
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1312
	sub	r1, r1, #4
	sub	r0, fp, #1312
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1296
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1296
	sub	r1, r1, #4
	sub	r0, fp, #1296
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1280
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1280
	sub	r1, r1, #4
	sub	r0, fp, #1280
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1264
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1264
	sub	r1, r1, #4
	sub	r0, fp, #1264
	sub	r0, r0, #4
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1384]
	sub	r1, fp, #1248
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #12
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1268]
	ldr	r3, [fp, #-1280]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1248
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2715]	@ zero_extendqisi2
	ldr	ip, [fp, #-1276]
	ldr	r3, [fp, #-1288]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1248
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2714]	@ zero_extendqisi2
	ldr	ip, [fp, #-1284]
	ldr	r3, [fp, #-1296]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2713]	@ zero_extendqisi2
	ldr	ip, [fp, #-1292]
	ldr	r3, [fp, #-1304]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2712]	@ zero_extendqisi2
	ldr	ip, [fp, #-1300]
	ldr	r3, [fp, #-1312]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1232
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2711]	@ zero_extendqisi2
	ldr	ip, [fp, #-1308]
	ldr	r3, [fp, #-1320]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1232
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2710]	@ zero_extendqisi2
	ldr	ip, [fp, #-1316]
	ldr	r3, [fp, #-1328]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2709]	@ zero_extendqisi2
	ldr	ip, [fp, #-1324]
	ldr	r3, [fp, #-1336]
	sub	r1, fp, #2704
	sub	r1, r1, #4
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1384]
	ldr	r3, [fp, #-1264]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1216
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2707]	@ zero_extendqisi2
	ldr	ip, [fp, #-1380]
	ldr	r3, [fp, #-1260]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1216
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2706]	@ zero_extendqisi2
	ldr	r3, [fp, #-1376]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2705]	@ zero_extendqisi2
	ldr	ip, [fp, #-1372]
	ldr	r3, [fp, #-1272]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2704]	@ zero_extendqisi2
	ldr	ip, [fp, #-1368]
	ldr	r3, [fp, #-1256]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2703]	@ zero_extendqisi2
	ldr	ip, [fp, #-1364]
	ldr	r3, [fp, #-1252]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1200
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2702]	@ zero_extendqisi2
	ldr	ip, [fp, #-1360]
	ldr	r3, [fp, #-1248]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2701]	@ zero_extendqisi2
	ldr	ip, [fp, #-1356]
	ldr	r3, [fp, #-1244]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2700]	@ zero_extendqisi2
	ldr	ip, [fp, #-1352]
	ldr	r3, [fp, #-1240]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1184
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2699]	@ zero_extendqisi2
	ldr	ip, [fp, #-1348]
	ldr	r3, [fp, #-1236]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1184
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2698]	@ zero_extendqisi2
	ldr	ip, [fp, #-1344]
	ldr	r3, [fp, #-1232]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2697]	@ zero_extendqisi2
	ldr	ip, [fp, #-1340]
	ldr	r3, [fp, #-1228]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2696]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2716]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2728]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2708]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1332]
	add	r3, r1, r3
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1168
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1220]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #28
	ldr	r3, [r3]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1168
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2694]	@ zero_extendqisi2
	ldr	r3, [fp, #-1216]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2693]	@ zero_extendqisi2
	ldr	r3, [fp, #-1212]
	sub	r1, fp, #2688
	sub	r1, r1, #4
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2692]	@ zero_extendqisi2
	ldr	r3, [fp, #-1208]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1152
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2691]	@ zero_extendqisi2
	ldr	r3, [fp, #-1204]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1152
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2690]	@ zero_extendqisi2
	ldr	r3, [fp, #-1200]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2689]	@ zero_extendqisi2
	ldr	r3, [fp, #-1196]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2688]	@ zero_extendqisi2
	ldr	r3, [fp, #-1192]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1136
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2687]	@ zero_extendqisi2
	ldr	r3, [fp, #-1188]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #1136
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2686]	@ zero_extendqisi2
	ldr	r3, [fp, #-1184]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2685]	@ zero_extendqisi2
	ldr	r3, [fp, #-1180]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2684]	@ zero_extendqisi2
	ldr	r3, [fp, #-1176]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #1120
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1120
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1104
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1104
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1104
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1088
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1088
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1072
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1088
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1072
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1072
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1072
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1056
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1056
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1040
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1056
	sub	r0, r0, #4
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1172]
	sub	r1, fp, #1040
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1040
	sub	r0, r0, #4
	sub	r0, r0, #8
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-1056]
	ldr	r3, [fp, #-1068]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #1040
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2682]	@ zero_extendqisi2
	ldr	ip, [fp, #-1064]
	ldr	r3, [fp, #-1076]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #12
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2681]	@ zero_extendqisi2
	ldr	ip, [fp, #-1072]
	ldr	r3, [fp, #-1084]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #8
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2680]	@ zero_extendqisi2
	ldr	ip, [fp, #-1080]
	ldr	r3, [fp, #-1092]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2679]	@ zero_extendqisi2
	ldr	ip, [fp, #-1088]
	ldr	r3, [fp, #-1100]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #1024
	sub	r0, r0, #4
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2678]	@ zero_extendqisi2
	ldr	ip, [fp, #-1096]
	ldr	r3, [fp, #-1108]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #1024
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2677]	@ zero_extendqisi2
	ldr	ip, [fp, #-1104]
	ldr	r3, [fp, #-1116]
	sub	r1, fp, #2672
	sub	r1, r1, #4
	sub	r0, fp, #1020
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2676]	@ zero_extendqisi2
	ldr	ip, [fp, #-1112]
	ldr	r3, [fp, #-1124]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #1016
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1172]
	ldr	r3, [fp, #-1052]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #1012
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2674]	@ zero_extendqisi2
	ldr	ip, [fp, #-1168]
	ldr	r3, [fp, #-1048]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #1008
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2673]	@ zero_extendqisi2
	ldr	r3, [fp, #-1164]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1004
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2672]	@ zero_extendqisi2
	ldr	ip, [fp, #-1160]
	ldr	r3, [fp, #-1060]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #1000
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2671]	@ zero_extendqisi2
	ldr	ip, [fp, #-1156]
	ldr	r3, [fp, #-1044]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #996
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2670]	@ zero_extendqisi2
	ldr	ip, [fp, #-1152]
	ldr	r3, [fp, #-1040]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #992
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2669]	@ zero_extendqisi2
	ldr	ip, [fp, #-1148]
	ldr	r3, [fp, #-1036]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #988
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2668]	@ zero_extendqisi2
	ldr	ip, [fp, #-1144]
	ldr	r3, [fp, #-1032]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #984
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2667]	@ zero_extendqisi2
	ldr	ip, [fp, #-1140]
	ldr	r3, [fp, #-1028]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #980
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2666]	@ zero_extendqisi2
	ldr	ip, [fp, #-1136]
	ldr	r3, [fp, #-1024]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #976
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2665]	@ zero_extendqisi2
	ldr	ip, [fp, #-1132]
	ldr	r3, [fp, #-1020]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #972
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2664]	@ zero_extendqisi2
	ldr	ip, [fp, #-1128]
	ldr	r3, [fp, #-1016]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #968
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2663]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2683]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2695]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2675]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-1120]
	add	r3, r1, r3
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #964
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-1008]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #32
	ldr	r3, [r3]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #960
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2661]	@ zero_extendqisi2
	ldr	r3, [fp, #-1004]
	sub	r1, fp, #2656
	sub	r1, r1, #4
	sub	r0, fp, #956
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2660]	@ zero_extendqisi2
	ldr	r3, [fp, #-1000]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #952
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2659]	@ zero_extendqisi2
	ldr	r3, [fp, #-996]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #948
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2658]	@ zero_extendqisi2
	ldr	r3, [fp, #-992]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #944
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2657]	@ zero_extendqisi2
	ldr	r3, [fp, #-988]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #940
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2656]	@ zero_extendqisi2
	ldr	r3, [fp, #-984]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #936
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2655]	@ zero_extendqisi2
	ldr	r3, [fp, #-980]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #932
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2654]	@ zero_extendqisi2
	ldr	r3, [fp, #-976]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #928
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2653]	@ zero_extendqisi2
	ldr	r3, [fp, #-972]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #924
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2652]	@ zero_extendqisi2
	ldr	r3, [fp, #-968]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #920
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2651]	@ zero_extendqisi2
	ldr	r3, [fp, #-964]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #916
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #908
	sub	r0, fp, #912
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #900
	sub	r0, fp, #904
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #892
	sub	r0, fp, #896
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #884
	sub	r0, fp, #888
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #876
	sub	r0, fp, #880
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #868
	sub	r0, fp, #872
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #860
	sub	r0, fp, #864
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #852
	sub	r0, fp, #856
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #844
	sub	r0, fp, #848
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-960]
	sub	r1, fp, #836
	sub	r0, fp, #840
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-844]
	ldr	r3, [fp, #-856]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #832
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2649]	@ zero_extendqisi2
	ldr	ip, [fp, #-852]
	ldr	r3, [fp, #-864]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #828
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2648]	@ zero_extendqisi2
	ldr	ip, [fp, #-860]
	ldr	r3, [fp, #-872]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #824
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2647]	@ zero_extendqisi2
	ldr	ip, [fp, #-868]
	ldr	r3, [fp, #-880]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #820
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2646]	@ zero_extendqisi2
	ldr	ip, [fp, #-876]
	ldr	r3, [fp, #-888]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #816
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2645]	@ zero_extendqisi2
	ldr	ip, [fp, #-884]
	ldr	r3, [fp, #-896]
	sub	r1, fp, #2640
	sub	r1, r1, #4
	sub	r0, fp, #812
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2644]	@ zero_extendqisi2
	ldr	ip, [fp, #-892]
	ldr	r3, [fp, #-904]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #808
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2643]	@ zero_extendqisi2
	ldr	ip, [fp, #-900]
	ldr	r3, [fp, #-912]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #804
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-960]
	ldr	r3, [fp, #-840]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #800
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2641]	@ zero_extendqisi2
	ldr	ip, [fp, #-956]
	ldr	r3, [fp, #-836]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #796
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2640]	@ zero_extendqisi2
	ldr	r3, [fp, #-952]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #792
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2639]	@ zero_extendqisi2
	ldr	ip, [fp, #-948]
	ldr	r3, [fp, #-848]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #788
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2638]	@ zero_extendqisi2
	ldr	ip, [fp, #-944]
	ldr	r3, [fp, #-832]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #784
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2637]	@ zero_extendqisi2
	ldr	ip, [fp, #-940]
	ldr	r3, [fp, #-828]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #780
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2636]	@ zero_extendqisi2
	ldr	ip, [fp, #-936]
	ldr	r3, [fp, #-824]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #776
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2635]	@ zero_extendqisi2
	ldr	ip, [fp, #-932]
	ldr	r3, [fp, #-820]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #772
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2634]	@ zero_extendqisi2
	ldr	ip, [fp, #-928]
	ldr	r3, [fp, #-816]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #768
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2633]	@ zero_extendqisi2
	ldr	ip, [fp, #-924]
	ldr	r3, [fp, #-812]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #764
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2632]	@ zero_extendqisi2
	ldr	ip, [fp, #-920]
	ldr	r3, [fp, #-808]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #760
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2631]	@ zero_extendqisi2
	ldr	ip, [fp, #-916]
	ldr	r3, [fp, #-804]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #756
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2630]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2650]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2662]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2642]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-908]
	add	r3, r1, r3
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #752
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-796]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #36
	ldr	r3, [r3]
	sub	r1, fp, #2624
	sub	r1, r1, #4
	sub	r0, fp, #748
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2628]	@ zero_extendqisi2
	ldr	r3, [fp, #-792]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #744
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2627]	@ zero_extendqisi2
	ldr	r3, [fp, #-788]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #740
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2626]	@ zero_extendqisi2
	ldr	r3, [fp, #-784]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #736
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2625]	@ zero_extendqisi2
	ldr	r3, [fp, #-780]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #732
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2624]	@ zero_extendqisi2
	ldr	r3, [fp, #-776]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #728
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2623]	@ zero_extendqisi2
	ldr	r3, [fp, #-772]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #724
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2622]	@ zero_extendqisi2
	ldr	r3, [fp, #-768]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #720
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2621]	@ zero_extendqisi2
	ldr	r3, [fp, #-764]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #716
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2620]	@ zero_extendqisi2
	ldr	r3, [fp, #-760]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #712
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2619]	@ zero_extendqisi2
	ldr	r3, [fp, #-756]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #708
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2618]	@ zero_extendqisi2
	ldr	r3, [fp, #-752]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #704
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #696
	sub	r0, fp, #700
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #688
	sub	r0, fp, #692
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #680
	sub	r0, fp, #684
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #672
	sub	r0, fp, #676
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #664
	sub	r0, fp, #668
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #656
	sub	r0, fp, #660
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #648
	sub	r0, fp, #652
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #640
	sub	r0, fp, #644
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #632
	sub	r0, fp, #636
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-748]
	sub	r1, fp, #624
	sub	r0, fp, #628
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-632]
	ldr	r3, [fp, #-644]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #620
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2616]	@ zero_extendqisi2
	ldr	ip, [fp, #-640]
	ldr	r3, [fp, #-652]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #616
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2615]	@ zero_extendqisi2
	ldr	ip, [fp, #-648]
	ldr	r3, [fp, #-660]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #612
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2614]	@ zero_extendqisi2
	ldr	ip, [fp, #-656]
	ldr	r3, [fp, #-668]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #608
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2613]	@ zero_extendqisi2
	ldr	ip, [fp, #-664]
	ldr	r3, [fp, #-676]
	sub	r1, fp, #2608
	sub	r1, r1, #4
	sub	r0, fp, #604
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2612]	@ zero_extendqisi2
	ldr	ip, [fp, #-672]
	ldr	r3, [fp, #-684]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #600
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2611]	@ zero_extendqisi2
	ldr	ip, [fp, #-680]
	ldr	r3, [fp, #-692]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #596
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2610]	@ zero_extendqisi2
	ldr	ip, [fp, #-688]
	ldr	r3, [fp, #-700]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #592
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-748]
	ldr	r3, [fp, #-628]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #588
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2608]	@ zero_extendqisi2
	ldr	ip, [fp, #-744]
	ldr	r3, [fp, #-624]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #584
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2607]	@ zero_extendqisi2
	ldr	r3, [fp, #-740]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #580
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2606]	@ zero_extendqisi2
	ldr	ip, [fp, #-736]
	ldr	r3, [fp, #-636]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #576
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2605]	@ zero_extendqisi2
	ldr	ip, [fp, #-732]
	ldr	r3, [fp, #-620]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #572
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2604]	@ zero_extendqisi2
	ldr	ip, [fp, #-728]
	ldr	r3, [fp, #-616]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #568
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2603]	@ zero_extendqisi2
	ldr	ip, [fp, #-724]
	ldr	r3, [fp, #-612]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #564
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2602]	@ zero_extendqisi2
	ldr	ip, [fp, #-720]
	ldr	r3, [fp, #-608]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #560
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2601]	@ zero_extendqisi2
	ldr	ip, [fp, #-716]
	ldr	r3, [fp, #-604]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #556
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2600]	@ zero_extendqisi2
	ldr	ip, [fp, #-712]
	ldr	r3, [fp, #-600]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #552
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2599]	@ zero_extendqisi2
	ldr	ip, [fp, #-708]
	ldr	r3, [fp, #-596]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #548
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2598]	@ zero_extendqisi2
	ldr	ip, [fp, #-704]
	ldr	r3, [fp, #-592]
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #544
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2597]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2617]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2629]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2609]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-696]
	add	r3, r1, r3
	sub	r1, fp, #2592
	sub	r1, r1, #4
	sub	r0, fp, #540
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-584]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #40
	ldr	r3, [r3]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #536
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2595]	@ zero_extendqisi2
	ldr	r3, [fp, #-580]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #532
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2594]	@ zero_extendqisi2
	ldr	r3, [fp, #-576]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #528
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2593]	@ zero_extendqisi2
	ldr	r3, [fp, #-572]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #524
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2592]	@ zero_extendqisi2
	ldr	r3, [fp, #-568]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #520
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2591]	@ zero_extendqisi2
	ldr	r3, [fp, #-564]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #516
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2590]	@ zero_extendqisi2
	ldr	r3, [fp, #-560]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #512
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2589]	@ zero_extendqisi2
	ldr	r3, [fp, #-556]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #508
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2588]	@ zero_extendqisi2
	ldr	r3, [fp, #-552]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #504
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2587]	@ zero_extendqisi2
	ldr	r3, [fp, #-548]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #500
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2586]	@ zero_extendqisi2
	ldr	r3, [fp, #-544]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #496
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2585]	@ zero_extendqisi2
	ldr	r3, [fp, #-540]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #492
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #484
	sub	r0, fp, #488
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #476
	sub	r0, fp, #480
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #468
	sub	r0, fp, #472
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #460
	sub	r0, fp, #464
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #452
	sub	r0, fp, #456
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #444
	sub	r0, fp, #448
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #436
	sub	r0, fp, #440
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #428
	sub	r0, fp, #432
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #420
	sub	r0, fp, #424
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-536]
	sub	r1, fp, #412
	sub	r0, fp, #416
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-420]
	ldr	r3, [fp, #-432]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #408
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2583]	@ zero_extendqisi2
	ldr	ip, [fp, #-428]
	ldr	r3, [fp, #-440]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #404
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2582]	@ zero_extendqisi2
	ldr	ip, [fp, #-436]
	ldr	r3, [fp, #-448]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #400
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2581]	@ zero_extendqisi2
	ldr	ip, [fp, #-444]
	ldr	r3, [fp, #-456]
	sub	r1, fp, #2576
	sub	r1, r1, #4
	sub	r0, fp, #396
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2580]	@ zero_extendqisi2
	ldr	ip, [fp, #-452]
	ldr	r3, [fp, #-464]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #392
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2579]	@ zero_extendqisi2
	ldr	ip, [fp, #-460]
	ldr	r3, [fp, #-472]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #388
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2578]	@ zero_extendqisi2
	ldr	ip, [fp, #-468]
	ldr	r3, [fp, #-480]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #384
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2577]	@ zero_extendqisi2
	ldr	ip, [fp, #-476]
	ldr	r3, [fp, #-488]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #380
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-536]
	ldr	r3, [fp, #-416]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #376
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2575]	@ zero_extendqisi2
	ldr	ip, [fp, #-532]
	ldr	r3, [fp, #-412]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #372
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2574]	@ zero_extendqisi2
	ldr	r3, [fp, #-528]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #368
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2573]	@ zero_extendqisi2
	ldr	ip, [fp, #-524]
	ldr	r3, [fp, #-424]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #364
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2572]	@ zero_extendqisi2
	ldr	ip, [fp, #-520]
	ldr	r3, [fp, #-408]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #360
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2571]	@ zero_extendqisi2
	ldr	ip, [fp, #-516]
	ldr	r3, [fp, #-404]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #356
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2570]	@ zero_extendqisi2
	ldr	ip, [fp, #-512]
	ldr	r3, [fp, #-400]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #352
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2569]	@ zero_extendqisi2
	ldr	ip, [fp, #-508]
	ldr	r3, [fp, #-396]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #348
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2568]	@ zero_extendqisi2
	ldr	ip, [fp, #-504]
	ldr	r3, [fp, #-392]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #344
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2567]	@ zero_extendqisi2
	ldr	ip, [fp, #-500]
	ldr	r3, [fp, #-388]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #340
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2566]	@ zero_extendqisi2
	ldr	ip, [fp, #-496]
	ldr	r3, [fp, #-384]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #336
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2565]	@ zero_extendqisi2
	ldr	ip, [fp, #-492]
	ldr	r3, [fp, #-380]
	sub	r1, fp, #2560
	sub	r1, r1, #4
	sub	r0, fp, #332
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2564]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2584]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2596]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2576]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-484]
	add	r3, r1, r3
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #328
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-2900]
	add	r3, r3, #44
	ldr	r3, [r3]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #324
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2562]	@ zero_extendqisi2
	ldr	r3, [fp, #-368]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #320
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2561]	@ zero_extendqisi2
	ldr	r3, [fp, #-364]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #316
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2560]	@ zero_extendqisi2
	ldr	r3, [fp, #-360]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #312
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2559]	@ zero_extendqisi2
	ldr	r3, [fp, #-356]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #308
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2558]	@ zero_extendqisi2
	ldr	r3, [fp, #-352]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #304
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2557]	@ zero_extendqisi2
	ldr	r3, [fp, #-348]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #300
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2556]	@ zero_extendqisi2
	ldr	r3, [fp, #-344]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #296
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2555]	@ zero_extendqisi2
	ldr	r3, [fp, #-340]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #292
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2554]	@ zero_extendqisi2
	ldr	r3, [fp, #-336]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #288
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2553]	@ zero_extendqisi2
	ldr	r3, [fp, #-332]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #284
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2552]	@ zero_extendqisi2
	ldr	r3, [fp, #-328]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #280
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #272
	sub	r0, fp, #276
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #264
	sub	r0, fp, #268
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #256
	sub	r0, fp, #260
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #248
	sub	r0, fp, #252
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #240
	sub	r0, fp, #244
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #232
	sub	r0, fp, #236
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #224
	sub	r0, fp, #228
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #216
	sub	r0, fp, #220
	mvn	r3, #1
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #208
	sub	r0, fp, #212
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-324]
	sub	r1, fp, #200
	sub	r0, fp, #204
	mvn	r3, #0
	bl	fiat_p384_mulx_u32
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-220]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #196
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2550]	@ zero_extendqisi2
	ldr	ip, [fp, #-216]
	ldr	r3, [fp, #-228]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #192
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2549]	@ zero_extendqisi2
	ldr	ip, [fp, #-224]
	ldr	r3, [fp, #-236]
	sub	r1, fp, #2544
	sub	r1, r1, #4
	sub	r0, fp, #188
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2548]	@ zero_extendqisi2
	ldr	ip, [fp, #-232]
	ldr	r3, [fp, #-244]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #184
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2547]	@ zero_extendqisi2
	ldr	ip, [fp, #-240]
	ldr	r3, [fp, #-252]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #180
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2546]	@ zero_extendqisi2
	ldr	ip, [fp, #-248]
	ldr	r3, [fp, #-260]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #176
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2545]	@ zero_extendqisi2
	ldr	ip, [fp, #-256]
	ldr	r3, [fp, #-268]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #172
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2544]	@ zero_extendqisi2
	ldr	ip, [fp, #-264]
	ldr	r3, [fp, #-276]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #168
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r2, [fp, #-324]
	ldr	r3, [fp, #-204]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #164
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2542]	@ zero_extendqisi2
	ldr	ip, [fp, #-320]
	ldr	r3, [fp, #-200]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #160
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2541]	@ zero_extendqisi2
	ldr	r3, [fp, #-316]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #156
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2540]	@ zero_extendqisi2
	ldr	ip, [fp, #-312]
	ldr	r3, [fp, #-212]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #152
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2539]	@ zero_extendqisi2
	ldr	ip, [fp, #-308]
	ldr	r3, [fp, #-196]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #148
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2538]	@ zero_extendqisi2
	ldr	ip, [fp, #-304]
	ldr	r3, [fp, #-192]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #144
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2537]	@ zero_extendqisi2
	ldr	ip, [fp, #-300]
	ldr	r3, [fp, #-188]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #140
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2536]	@ zero_extendqisi2
	ldr	ip, [fp, #-296]
	ldr	r3, [fp, #-184]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #136
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2535]	@ zero_extendqisi2
	ldr	ip, [fp, #-292]
	ldr	r3, [fp, #-180]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #132
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2534]	@ zero_extendqisi2
	ldr	ip, [fp, #-288]
	ldr	r3, [fp, #-176]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #128
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2533]	@ zero_extendqisi2
	ldr	ip, [fp, #-284]
	ldr	r3, [fp, #-172]
	sub	r1, fp, #2528
	sub	r1, r1, #4
	sub	r0, fp, #124
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2532]	@ zero_extendqisi2
	ldr	ip, [fp, #-280]
	ldr	r3, [fp, #-168]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #15
	sub	r0, fp, #120
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldrb	r2, [fp, #-2531]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2551]	@ zero_extendqisi2
	mov	r1, r3
	ldrb	r3, [fp, #-2563]	@ zero_extendqisi2
	add	ip, r1, r3
	ldrb	r3, [fp, #-2543]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-272]
	add	r3, r1, r3
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #14
	sub	r0, fp, #116
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_addcarryx_u32
	ldr	r3, [fp, #-160]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #13
	sub	r0, fp, #112
	mvn	r2, #0
	str	r2, [sp]
	mov	r2, #0
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2529]	@ zero_extendqisi2
	ldr	r3, [fp, #-156]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #108
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2528]	@ zero_extendqisi2
	ldr	r3, [fp, #-152]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #11
	sub	r0, fp, #104
	mov	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2527]	@ zero_extendqisi2
	ldr	r3, [fp, #-148]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #10
	sub	r0, fp, #100
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2526]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #9
	sub	r0, fp, #96
	mvn	ip, #1
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2525]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #8
	sub	r0, fp, #92
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2524]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #7
	sub	r0, fp, #88
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2523]	@ zero_extendqisi2
	ldr	r3, [fp, #-132]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #6
	sub	r0, fp, #84
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2522]	@ zero_extendqisi2
	ldr	r3, [fp, #-128]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #5
	sub	r0, fp, #80
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2521]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #76
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2520]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #3
	sub	r0, fp, #72
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2519]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #2
	sub	r0, fp, #68
	mvn	ip, #0
	str	ip, [sp]
	bl	fiat_p384_subborrowx_u32
	ldrb	r2, [fp, #-2518]	@ zero_extendqisi2
	ldrb	r3, [fp, #-2530]	@ zero_extendqisi2
	mov	ip, r3
	sub	r1, fp, #2512
	sub	r1, r1, #4
	sub	r1, r1, #1
	sub	r0, fp, #64
	mov	r3, #0
	str	r3, [sp]
	mov	r3, ip
	bl	fiat_p384_subborrowx_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-160]
	sub	r0, fp, #60
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-156]
	sub	r0, fp, #56
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-152]
	sub	r0, fp, #52
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-148]
	sub	r0, fp, #48
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-144]
	sub	r0, fp, #44
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-140]
	sub	r0, fp, #40
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-136]
	sub	r0, fp, #36
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-132]
	sub	r0, fp, #32
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-128]
	sub	r0, fp, #28
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-124]
	sub	r0, fp, #24
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-120]
	sub	r0, fp, #20
	bl	fiat_p384_cmovznz_u32
	ldrb	r1, [fp, #-2517]	@ zero_extendqisi2
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-116]
	sub	r0, fp, #16
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-2896]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #4
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #8
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #12
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #16
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #20
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #24
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #28
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #32
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #36
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #40
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-2896]
	add	r3, r3, #44
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	nop
	ldr	r3, .L36
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L32
	bl	__stack_chk_fail
.L32:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L37:
	.align	2
.L36:
	.word	.LC5
	.size	fiat_p384_from_montgomery, .-fiat_p384_from_montgomery
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_nonzero, %function
fiat_p384_nonzero:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #16
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #8
	ldr	r0, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #12
	ldr	ip, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #16
	ldr	lr, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #20
	ldr	r4, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldr	r5, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #28
	ldr	r6, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #32
	ldr	r7, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #36
	ldr	r8, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #40
	ldr	r9, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #44
	ldr	r3, [r3]
	orr	r3, r9, r3
	orr	r3, r8, r3
	orr	r3, r7, r3
	orr	r3, r6, r3
	orr	r3, r5, r3
	orr	r3, r4, r3
	orr	r3, lr, r3
	orr	r3, ip, r3
	orr	r3, r0, r3
	orr	r3, r1, r3
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	fiat_p384_nonzero, .-fiat_p384_nonzero
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_selectznz, %function
fiat_p384_selectznz:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	mov	r3, r1
	strb	r3, [fp, #-65]
	ldr	r3, .L41
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #56
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #52
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #48
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #44
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #40
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #20
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #36
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #24
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #24
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #32
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #28
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #28
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #28
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #32
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #32
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #24
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #36
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #36
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #20
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #40
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #40
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #16
	bl	fiat_p384_cmovznz_u32
	ldr	r3, [fp, #-72]
	add	r3, r3, #44
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #44
	ldr	r3, [r3]
	ldrb	r1, [fp, #-65]	@ zero_extendqisi2
	sub	r0, fp, #12
	bl	fiat_p384_cmovznz_u32
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #4
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #12
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #16
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #20
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #24
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #28
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #32
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #36
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #40
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #44
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L41
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L40
	bl	__stack_chk_fail
.L40:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L42:
	.align	2
.L41:
	.word	.LC6
	.size	fiat_p384_selectznz, .-fiat_p384_selectznz
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_to_bytes, %function
fiat_p384_to_bytes:
	@ args = 0, pretend = 0, frame = 216
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #220
	str	r0, [fp, #-216]
	str	r1, [fp, #-220]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-220]
	ldr	r3, [r3]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	lsr	r3, r3, #8
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-104]
	strb	r3, [fp, #-207]
	ldr	r3, [fp, #-100]
	lsr	r3, r3, #8
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-100]
	strb	r3, [fp, #-206]
	ldr	r3, [fp, #-96]
	lsr	r3, r3, #8
	strb	r3, [fp, #-205]
	ldr	r3, [fp, #-96]
	strb	r3, [fp, #-204]
	ldrb	r3, [fp, #-205]
	strb	r3, [fp, #-203]
	ldr	r3, [fp, #-108]
	lsr	r3, r3, #8
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-108]
	strb	r3, [fp, #-202]
	ldr	r3, [fp, #-92]
	lsr	r3, r3, #8
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-92]
	strb	r3, [fp, #-201]
	ldr	r3, [fp, #-88]
	lsr	r3, r3, #8
	strb	r3, [fp, #-200]
	ldr	r3, [fp, #-88]
	strb	r3, [fp, #-199]
	ldrb	r3, [fp, #-200]
	strb	r3, [fp, #-198]
	ldr	r3, [fp, #-112]
	lsr	r3, r3, #8
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-112]
	strb	r3, [fp, #-197]
	ldr	r3, [fp, #-84]
	lsr	r3, r3, #8
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-84]
	strb	r3, [fp, #-196]
	ldr	r3, [fp, #-80]
	lsr	r3, r3, #8
	strb	r3, [fp, #-195]
	ldr	r3, [fp, #-80]
	strb	r3, [fp, #-194]
	ldrb	r3, [fp, #-195]
	strb	r3, [fp, #-193]
	ldr	r3, [fp, #-116]
	lsr	r3, r3, #8
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-116]
	strb	r3, [fp, #-192]
	ldr	r3, [fp, #-76]
	lsr	r3, r3, #8
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	strb	r3, [fp, #-191]
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #8
	strb	r3, [fp, #-190]
	ldr	r3, [fp, #-72]
	strb	r3, [fp, #-189]
	ldrb	r3, [fp, #-190]
	strb	r3, [fp, #-188]
	ldr	r3, [fp, #-120]
	lsr	r3, r3, #8
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-120]
	strb	r3, [fp, #-187]
	ldr	r3, [fp, #-68]
	lsr	r3, r3, #8
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-68]
	strb	r3, [fp, #-186]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #8
	strb	r3, [fp, #-185]
	ldr	r3, [fp, #-64]
	strb	r3, [fp, #-184]
	ldrb	r3, [fp, #-185]
	strb	r3, [fp, #-183]
	ldr	r3, [fp, #-124]
	lsr	r3, r3, #8
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-124]
	strb	r3, [fp, #-182]
	ldr	r3, [fp, #-60]
	lsr	r3, r3, #8
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	strb	r3, [fp, #-181]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #8
	strb	r3, [fp, #-180]
	ldr	r3, [fp, #-56]
	strb	r3, [fp, #-179]
	ldrb	r3, [fp, #-180]
	strb	r3, [fp, #-178]
	ldr	r3, [fp, #-128]
	lsr	r3, r3, #8
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-128]
	strb	r3, [fp, #-177]
	ldr	r3, [fp, #-52]
	lsr	r3, r3, #8
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	strb	r3, [fp, #-176]
	ldr	r3, [fp, #-48]
	lsr	r3, r3, #8
	strb	r3, [fp, #-175]
	ldr	r3, [fp, #-48]
	strb	r3, [fp, #-174]
	ldrb	r3, [fp, #-175]
	strb	r3, [fp, #-173]
	ldr	r3, [fp, #-132]
	lsr	r3, r3, #8
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-132]
	strb	r3, [fp, #-172]
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #8
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	strb	r3, [fp, #-171]
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	strb	r3, [fp, #-170]
	ldr	r3, [fp, #-40]
	strb	r3, [fp, #-169]
	ldrb	r3, [fp, #-170]
	strb	r3, [fp, #-168]
	ldr	r3, [fp, #-136]
	lsr	r3, r3, #8
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	strb	r3, [fp, #-167]
	ldr	r3, [fp, #-36]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	strb	r3, [fp, #-166]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	strb	r3, [fp, #-165]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-164]
	ldrb	r3, [fp, #-165]
	strb	r3, [fp, #-163]
	ldr	r3, [fp, #-140]
	lsr	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-140]
	strb	r3, [fp, #-162]
	ldr	r3, [fp, #-28]
	lsr	r3, r3, #8
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	strb	r3, [fp, #-161]
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #8
	strb	r3, [fp, #-160]
	ldr	r3, [fp, #-24]
	strb	r3, [fp, #-159]
	ldrb	r3, [fp, #-160]
	strb	r3, [fp, #-158]
	ldr	r3, [fp, #-144]
	lsr	r3, r3, #8
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-144]
	strb	r3, [fp, #-157]
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	strb	r3, [fp, #-156]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #8
	strb	r3, [fp, #-155]
	ldr	r3, [fp, #-16]
	strb	r3, [fp, #-154]
	ldrb	r3, [fp, #-155]
	strb	r3, [fp, #-153]
	ldr	r3, [fp, #-148]
	lsr	r3, r3, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-148]
	strb	r3, [fp, #-152]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	strb	r3, [fp, #-151]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #8
	strb	r3, [fp, #-150]
	ldr	r3, [fp, #-8]
	strb	r3, [fp, #-149]
	ldr	r3, [fp, #-216]
	ldrb	r2, [fp, #-207]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #1
	ldrb	r2, [fp, #-206]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #2
	ldrb	r2, [fp, #-204]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #3
	ldrb	r2, [fp, #-203]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	ldrb	r2, [fp, #-202]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #5
	ldrb	r2, [fp, #-201]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #6
	ldrb	r2, [fp, #-199]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #7
	ldrb	r2, [fp, #-198]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldrb	r2, [fp, #-197]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #9
	ldrb	r2, [fp, #-196]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #10
	ldrb	r2, [fp, #-194]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #11
	ldrb	r2, [fp, #-193]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldrb	r2, [fp, #-192]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #13
	ldrb	r2, [fp, #-191]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #14
	ldrb	r2, [fp, #-189]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #15
	ldrb	r2, [fp, #-188]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #16
	ldrb	r2, [fp, #-187]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #17
	ldrb	r2, [fp, #-186]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #18
	ldrb	r2, [fp, #-184]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #19
	ldrb	r2, [fp, #-183]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #20
	ldrb	r2, [fp, #-182]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #21
	ldrb	r2, [fp, #-181]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #22
	ldrb	r2, [fp, #-179]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #23
	ldrb	r2, [fp, #-178]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #24
	ldrb	r2, [fp, #-177]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #25
	ldrb	r2, [fp, #-176]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #26
	ldrb	r2, [fp, #-174]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #27
	ldrb	r2, [fp, #-173]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #28
	ldrb	r2, [fp, #-172]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #29
	ldrb	r2, [fp, #-171]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #30
	ldrb	r2, [fp, #-169]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #31
	ldrb	r2, [fp, #-168]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #32
	ldrb	r2, [fp, #-167]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #33
	ldrb	r2, [fp, #-166]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #34
	ldrb	r2, [fp, #-164]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #35
	ldrb	r2, [fp, #-163]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #36
	ldrb	r2, [fp, #-162]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #37
	ldrb	r2, [fp, #-161]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #38
	ldrb	r2, [fp, #-159]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #39
	ldrb	r2, [fp, #-158]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #40
	ldrb	r2, [fp, #-157]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #41
	ldrb	r2, [fp, #-156]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #42
	ldrb	r2, [fp, #-154]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #43
	ldrb	r2, [fp, #-153]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #44
	ldrb	r2, [fp, #-152]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #45
	ldrb	r2, [fp, #-151]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #46
	ldrb	r2, [fp, #-149]
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #47
	ldrb	r2, [fp, #-150]
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_p384_to_bytes, .-fiat_p384_to_bytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fiat_p384_from_bytes, %function
fiat_p384_from_bytes:
	@ args = 0, pretend = 0, frame = 256
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #260
	str	r0, [fp, #-256]
	str	r1, [fp, #-260]
	ldr	r3, [fp, #-260]
	add	r3, r3, #47
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-260]
	add	r3, r3, #46
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-260]
	add	r3, r3, #45
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #44]
	strb	r3, [fp, #-252]
	ldr	r3, [fp, #-260]
	add	r3, r3, #43
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-260]
	add	r3, r3, #42
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-224]
	ldr	r3, [fp, #-260]
	add	r3, r3, #41
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #40]
	strb	r3, [fp, #-251]
	ldr	r3, [fp, #-260]
	add	r3, r3, #39
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-260]
	add	r3, r3, #38
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-260]
	add	r3, r3, #37
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #36]
	strb	r3, [fp, #-250]
	ldr	r3, [fp, #-260]
	add	r3, r3, #35
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-260]
	add	r3, r3, #34
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-260]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #32]
	strb	r3, [fp, #-249]
	ldr	r3, [fp, #-260]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-260]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-260]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #28]
	strb	r3, [fp, #-248]
	ldr	r3, [fp, #-260]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-260]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-260]
	add	r3, r3, #25
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #24]
	strb	r3, [fp, #-247]
	ldr	r3, [fp, #-260]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-260]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-260]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #20]
	strb	r3, [fp, #-246]
	ldr	r3, [fp, #-260]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-260]
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-260]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #16]
	strb	r3, [fp, #-245]
	ldr	r3, [fp, #-260]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-260]
	add	r3, r3, #14
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-260]
	add	r3, r3, #13
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #12]
	strb	r3, [fp, #-244]
	ldr	r3, [fp, #-260]
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-260]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-260]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #8]
	strb	r3, [fp, #-243]
	ldr	r3, [fp, #-260]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-260]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-260]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3, #4]
	strb	r3, [fp, #-242]
	ldr	r3, [fp, #-260]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-260]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-260]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-260]
	ldrb	r3, [r3]
	strb	r3, [fp, #-241]
	ldrb	r2, [fp, #-241]	@ zero_extendqisi2
	ldr	r1, [fp, #-104]
	ldr	r3, [fp, #-108]
	add	r1, r1, r3
	ldr	r3, [fp, #-100]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-92]
	ldrb	r2, [fp, #-252]	@ zero_extendqisi2
	ldr	r1, [fp, #-236]
	ldr	r3, [fp, #-240]
	add	r1, r1, r3
	ldr	r3, [fp, #-232]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldrb	r2, [fp, #-251]	@ zero_extendqisi2
	ldr	r1, [fp, #-224]
	ldr	r3, [fp, #-228]
	add	r1, r1, r3
	ldr	r3, [fp, #-220]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-84]
	ldrb	r2, [fp, #-250]	@ zero_extendqisi2
	ldr	r1, [fp, #-212]
	ldr	r3, [fp, #-216]
	add	r1, r1, r3
	ldr	r3, [fp, #-208]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldrb	r2, [fp, #-249]	@ zero_extendqisi2
	ldr	r1, [fp, #-200]
	ldr	r3, [fp, #-204]
	add	r1, r1, r3
	ldr	r3, [fp, #-196]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldrb	r2, [fp, #-248]	@ zero_extendqisi2
	ldr	r1, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r1, r1, r3
	ldr	r3, [fp, #-184]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-72]
	ldrb	r2, [fp, #-247]	@ zero_extendqisi2
	ldr	r1, [fp, #-176]
	ldr	r3, [fp, #-180]
	add	r1, r1, r3
	ldr	r3, [fp, #-172]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldrb	r2, [fp, #-246]	@ zero_extendqisi2
	ldr	r1, [fp, #-164]
	ldr	r3, [fp, #-168]
	add	r1, r1, r3
	ldr	r3, [fp, #-160]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldrb	r2, [fp, #-245]	@ zero_extendqisi2
	ldr	r1, [fp, #-152]
	ldr	r3, [fp, #-156]
	add	r1, r1, r3
	ldr	r3, [fp, #-148]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldrb	r2, [fp, #-244]	@ zero_extendqisi2
	ldr	r1, [fp, #-140]
	ldr	r3, [fp, #-144]
	add	r1, r1, r3
	ldr	r3, [fp, #-136]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldrb	r2, [fp, #-243]	@ zero_extendqisi2
	ldr	r1, [fp, #-128]
	ldr	r3, [fp, #-132]
	add	r1, r1, r3
	ldr	r3, [fp, #-124]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldrb	r2, [fp, #-242]	@ zero_extendqisi2
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-120]
	add	r1, r1, r3
	ldr	r3, [fp, #-112]
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-256]
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #4
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #8
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #12
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #16
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #20
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #24
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #28
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #32
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #36
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #40
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-256]
	add	r3, r3, #44
	ldr	r2, [fp, #-88]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fiat_p384_from_bytes, .-fiat_p384_from_bytes
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
