	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function noise3
LCPI0_0:
	.long	0xbf800000                      ## float -1
LCPI0_1:
	.long	0x40400000                      ## float 3
LCPI0_4:
	.long	0x3f19999a                      ## float 0.600000024
LCPI0_5:
	.long	0x42000000                      ## float 32
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_2:
	.space	4
	.space	4
	.space	4
	.long	0xbf800000                      ## float -1
LCPI0_3:
	.long	0x40000000                      ## float 2
	.long	0x40000000                      ## float 2
	.long	0x40000000                      ## float 2
	.long	0x40400000                      ## float 3
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_noise3
	.p2align	4, 0x90
_noise3:                                ## @noise3
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%rbx
	subq	$200, %rsp
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movaps	%xmm1, %xmm4
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -32(%rbp)
	movaps	%xmm0, %xmm1
	addss	%xmm4, %xmm1
	addss	%xmm2, %xmm1
	movq	_F3@GOTPCREL(%rip), %rax
	mulss	(%rax), %xmm1
	movsldup	%xmm1, %xmm3                    ## xmm3 = xmm1[0,0,2,2]
	addss	%xmm4, %xmm1
	roundss	$9, %xmm1, %xmm5
	movq	_G3@GOTPCREL(%rip), %rbx
	insertps	$16, %xmm0, %xmm2               ## xmm2 = xmm2[0],xmm0[0],xmm2[2,3]
	addps	%xmm2, %xmm3
	roundps	$9, %xmm3, %xmm3
	movshdup	%xmm3, %xmm0                    ## xmm0 = xmm3[1,1,3,3]
	movaps	%xmm0, -224(%rbp)               ## 16-byte Spill
	addss	%xmm5, %xmm0
	addss	%xmm3, %xmm0
	mulss	(%rbx), %xmm0
	movsldup	%xmm0, %xmm1                    ## xmm1 = xmm0[0,0,2,2]
	movaps	%xmm3, -144(%rbp)               ## 16-byte Spill
	subps	%xmm1, %xmm3
	subps	%xmm3, %xmm2
	movshdup	%xmm2, %xmm3                    ## xmm3 = xmm2[1,1,3,3]
	movss	%xmm3, -112(%rbp)
	movss	%xmm5, -208(%rbp)               ## 4-byte Spill
	movaps	%xmm5, %xmm1
	subss	%xmm0, %xmm1
	subss	%xmm1, %xmm4
	movss	%xmm4, -108(%rbp)
	movss	%xmm2, -104(%rbp)
	movaps	%xmm3, -128(%rbp)               ## 16-byte Spill
	ucomiss	%xmm4, %xmm3
	movaps	%xmm2, -176(%rbp)               ## 16-byte Spill
	movaps	%xmm4, -160(%rbp)               ## 16-byte Spill
	jae	LBB0_1
## %bb.8:
	leaq	-44(%rbp), %rdi
	xorl	%esi, %esi
	ucomiss	%xmm4, %xmm2
	jbe	LBB0_10
## %bb.9:
	xorl	%edx, %edx
	movl	$1, %ecx
	callq	_ASSIGN
	jmp	LBB0_11
LBB0_1:
	ucomiss	%xmm2, %xmm4
	jae	LBB0_2
## %bb.4:
	movaps	-128(%rbp), %xmm0               ## 16-byte Reload
	leaq	-44(%rbp), %rdi
	ucomiss	%xmm2, %xmm0
	jae	LBB0_5
## %bb.7:
	xorl	%esi, %esi
	xorl	%edx, %edx
	movl	$1, %ecx
	jmp	LBB0_6
LBB0_10:
	movl	$1, %edx
	xorl	%ecx, %ecx
	callq	_ASSIGN
	movaps	-176(%rbp), %xmm0               ## 16-byte Reload
	ucomiss	-128(%rbp), %xmm0               ## 16-byte Folded Reload
	jbe	LBB0_3
LBB0_11:
	leaq	-56(%rbp), %rdi
	xorl	%esi, %esi
	movl	$1, %edx
	jmp	LBB0_12
LBB0_2:
	leaq	-44(%rbp), %rdi
	movl	$1, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_ASSIGN
LBB0_3:
	leaq	-56(%rbp), %rdi
	movl	$1, %esi
	movl	$1, %edx
	xorl	%ecx, %ecx
	jmp	LBB0_13
LBB0_5:
	movl	$1, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
LBB0_6:
	callq	_ASSIGN
	leaq	-56(%rbp), %rdi
	movl	$1, %esi
	xorl	%edx, %edx
LBB0_12:
	movl	$1, %ecx
LBB0_13:
	callq	_ASSIGN
	movss	(%rbx), %xmm1                   ## xmm1 = mem[0],zero,zero,zero
	movl	-56(%rbp), %r11d
	xorps	%xmm2, %xmm2
	cvtsi2ss	%r11d, %xmm2
	movl	-44(%rbp), %ebx
	movl	-40(%rbp), %eax
	xorps	%xmm3, %xmm3
	cvtsi2ss	%ebx, %xmm3
	movaps	-128(%rbp), %xmm7               ## 16-byte Reload
	movaps	%xmm7, %xmm0
	subss	%xmm3, %xmm0
	addss	%xmm1, %xmm0
	movss	%xmm0, -100(%rbp)
	movss	LCPI0_0(%rip), %xmm8            ## xmm8 = mem[0],zero,zero,zero
	movaps	-160(%rbp), %xmm5               ## 16-byte Reload
	movaps	%xmm5, %xmm9
	addss	%xmm8, %xmm9
	movss	LCPI0_1(%rip), %xmm3            ## xmm3 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm3
	addss	%xmm3, %xmm9
	movss	%xmm9, -72(%rbp)
	xorps	%xmm4, %xmm4
	cvtsi2ss	%eax, %xmm4
	insertps	$16, %xmm5, %xmm7               ## xmm7 = xmm7[0],xmm5[0],xmm7[2,3]
	subss	%xmm4, %xmm5
	addss	%xmm1, %xmm5
	movss	%xmm5, -96(%rbp)
	movaps	-176(%rbp), %xmm4               ## 16-byte Reload
	addss	%xmm4, %xmm8
	addss	%xmm3, %xmm8
	movss	%xmm8, -68(%rbp)
	movq	-52(%rbp), %rsi
	movq	%rsi, %xmm3
	cvtdq2ps	%xmm3, %xmm3
	movlhps	%xmm4, %xmm7                    ## xmm7 = xmm7[0],xmm4[0]
	movlhps	%xmm3, %xmm2                    ## xmm2 = xmm2[0],xmm3[0]
	shufps	$216, %xmm3, %xmm2              ## xmm2 = xmm2[0,2],xmm3[1,3]
	movaps	%xmm7, %xmm3
	subps	%xmm2, %xmm3
	addps	LCPI0_2(%rip), %xmm7
	movl	-36(%rbp), %edi
	xorps	%xmm2, %xmm2
	cvtsi2ss	%edi, %xmm2
	blendps	$7, %xmm3, %xmm7                ## xmm7 = xmm3[0,1,2],xmm7[3]
	subss	%xmm2, %xmm4
	addss	%xmm1, %xmm4
	movaps	%xmm1, %xmm6
	shufps	$0, %xmm1, %xmm6                ## xmm6 = xmm6[0,0],xmm1[0,0]
	mulps	LCPI0_3(%rip), %xmm6
	addps	%xmm7, %xmm6
	movups	%xmm6, -88(%rbp)
	movss	%xmm4, -92(%rbp)
	cvttss2si	-224(%rbp), %ecx        ## 16-byte Folded Reload
	movzbl	%cl, %r8d
	cvttss2si	-208(%rbp), %ecx        ## 4-byte Folded Reload
	cvttss2si	-144(%rbp), %edx        ## 16-byte Folded Reload
	movzbl	%cl, %r9d
	movzbl	%dl, %r10d
	movq	_PERM@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	addl	%r8d, %ebx
	addl	%r9d, %eax
	addl	%r10d, %edi
	movslq	%edi, %rdx
	movslq	(%rcx,%rdx,4), %rdx
	cltq
	addq	%rdx, %rax
	movslq	(%rcx,%rax,4), %rax
	movslq	%ebx, %rdx
	addq	%rax, %rdx
	movslq	(%rcx,%rdx,4), %rbx
	addl	%r8d, %r11d
	leal	(%rsi,%r9), %eax
	shrq	$32, %rsi
	addl	%r10d, %esi
	movslq	%esi, %rdx
	movslq	(%rcx,%rdx,4), %rdx
	cltq
	addq	%rdx, %rax
	movslq	(%rcx,%rax,4), %rax
	movslq	%r11d, %rdx
	addq	%rax, %rdx
	movslq	(%rcx,%rdx,4), %r15
	movslq	4(%rcx,%r10,4), %rax
	addq	%r9, %rax
	movslq	4(%rcx,%rax,4), %rax
	addq	%r8, %rax
	movslq	4(%rcx,%rax,4), %r14
	movss	-112(%rbp), %xmm2               ## xmm2 = mem[0],zero,zero,zero
	movss	-108(%rbp), %xmm3               ## xmm3 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm2
	movss	LCPI0_4(%rip), %xmm10           ## xmm10 = mem[0],zero,zero,zero
	movaps	%xmm10, %xmm1
	subss	%xmm2, %xmm1
	mulss	%xmm3, %xmm3
	subss	%xmm3, %xmm1
	movss	-104(%rbp), %xmm2               ## xmm2 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm2
	subss	%xmm2, %xmm1
	mulss	%xmm0, %xmm0
	movaps	%xmm10, %xmm7
	subss	%xmm0, %xmm7
	mulss	%xmm5, %xmm5
	subss	%xmm5, %xmm7
	mulss	%xmm4, %xmm4
	subss	%xmm4, %xmm7
	movss	-88(%rbp), %xmm0                ## xmm0 = mem[0],zero,zero,zero
	movss	-84(%rbp), %xmm2                ## xmm2 = mem[0],zero,zero,zero
	mulss	%xmm0, %xmm0
	movaps	%xmm10, %xmm3
	subss	%xmm0, %xmm3
	mulss	%xmm2, %xmm2
	subss	%xmm2, %xmm3
	movhlps	%xmm6, %xmm6                    ## xmm6 = xmm6[1,1]
	mulss	%xmm6, %xmm6
	movss	-76(%rbp), %xmm0                ## xmm0 = mem[0],zero,zero,zero
	mulss	%xmm0, %xmm0
	subss	%xmm0, %xmm10
	mulss	%xmm9, %xmm9
	xorps	%xmm0, %xmm0
	ucomiss	%xmm0, %xmm1
	xorps	%xmm2, %xmm2
	movss	%xmm2, -176(%rbp)               ## 4-byte Spill
	jbe	LBB0_15
## %bb.14:
	movl	%r10d, %eax
	movslq	(%rcx,%rax,4), %rax
	movl	%r9d, %edx
	addq	%rax, %rdx
	movslq	(%rcx,%rdx,4), %rax
	movl	%r8d, %edx
	addq	%rax, %rdx
	movslq	(%rcx,%rdx,4), %rax
	imulq	$715827883, %rax, %rcx          ## imm = 0x2AAAAAAB
	movq	%rcx, %rdx
	shrq	$63, %rdx
	shrq	$33, %rcx
	addl	%edx, %ecx
	shll	$2, %ecx
	leal	(%rcx,%rcx,2), %ecx
	subl	%ecx, %eax
	movaps	%xmm1, %xmm0
	mulss	%xmm1, %xmm0
	mulss	%xmm1, %xmm0
	mulss	%xmm1, %xmm0
	movss	%xmm0, -176(%rbp)               ## 4-byte Spill
	movq	_GRAD3@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cltq
	movl	(%rcx,%rax,4), %esi
	leaq	-112(%rbp), %rdi
	movss	%xmm8, -160(%rbp)               ## 4-byte Spill
	movss	%xmm10, -128(%rbp)              ## 4-byte Spill
	movaps	%xmm9, -208(%rbp)               ## 16-byte Spill
	movaps	%xmm6, -224(%rbp)               ## 16-byte Spill
	movss	%xmm3, -144(%rbp)               ## 4-byte Spill
	movss	%xmm7, -180(%rbp)               ## 4-byte Spill
	callq	_DOT3
	movss	-180(%rbp), %xmm7               ## 4-byte Reload
                                        ## xmm7 = mem[0],zero,zero,zero
	movss	-144(%rbp), %xmm3               ## 4-byte Reload
                                        ## xmm3 = mem[0],zero,zero,zero
	movaps	-224(%rbp), %xmm6               ## 16-byte Reload
	movaps	-208(%rbp), %xmm9               ## 16-byte Reload
	movss	-128(%rbp), %xmm10              ## 4-byte Reload
                                        ## xmm10 = mem[0],zero,zero,zero
	movss	-160(%rbp), %xmm8               ## 4-byte Reload
                                        ## xmm8 = mem[0],zero,zero,zero
	movaps	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	mulss	-176(%rbp), %xmm1               ## 4-byte Folded Reload
	movss	%xmm1, -176(%rbp)               ## 4-byte Spill
LBB0_15:
	subss	%xmm9, %xmm10
	mulss	%xmm8, %xmm8
	subss	%xmm6, %xmm3
	ucomiss	%xmm0, %xmm7
	jbe	LBB0_17
## %bb.16:
	imulq	$715827883, %rbx, %rax          ## imm = 0x2AAAAAAB
	movq	%rax, %rcx
	shrq	$63, %rcx
	shrq	$33, %rax
	addl	%ecx, %eax
	shll	$2, %eax
	leal	(%rax,%rax,2), %eax
	leaq	-100(%rbp), %rdi
	subl	%eax, %ebx
	movaps	%xmm7, %xmm0
	mulss	%xmm7, %xmm0
	mulss	%xmm7, %xmm0
	mulss	%xmm7, %xmm0
	movss	%xmm0, -208(%rbp)               ## 4-byte Spill
	movq	_GRAD3@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movslq	%ebx, %rcx
	movl	(%rax,%rcx,4), %esi
	movss	%xmm8, -160(%rbp)               ## 4-byte Spill
	movss	%xmm10, -128(%rbp)              ## 4-byte Spill
	movss	%xmm3, -144(%rbp)               ## 4-byte Spill
	callq	_DOT3
	movss	-144(%rbp), %xmm3               ## 4-byte Reload
                                        ## xmm3 = mem[0],zero,zero,zero
	movss	-128(%rbp), %xmm10              ## 4-byte Reload
                                        ## xmm10 = mem[0],zero,zero,zero
	movss	-160(%rbp), %xmm8               ## 4-byte Reload
                                        ## xmm8 = mem[0],zero,zero,zero
	mulss	-208(%rbp), %xmm0               ## 4-byte Folded Reload
LBB0_17:
	subss	%xmm8, %xmm10
	xorps	%xmm2, %xmm2
	ucomiss	%xmm2, %xmm3
	xorps	%xmm4, %xmm4
	movss	%xmm0, -160(%rbp)               ## 4-byte Spill
	jbe	LBB0_19
## %bb.18:
	imulq	$715827883, %r15, %rax          ## imm = 0x2AAAAAAB
	movq	%rax, %rcx
	shrq	$63, %rcx
	shrq	$33, %rax
	addl	%ecx, %eax
	shll	$2, %eax
	leal	(%rax,%rax,2), %eax
	leaq	-88(%rbp), %rdi
	subl	%eax, %r15d
	movaps	%xmm3, %xmm1
	mulss	%xmm3, %xmm1
	mulss	%xmm3, %xmm1
	mulss	%xmm3, %xmm1
	movss	%xmm1, -144(%rbp)               ## 4-byte Spill
	movq	_GRAD3@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movslq	%r15d, %rcx
	movl	(%rax,%rcx,4), %esi
	movss	%xmm10, -128(%rbp)              ## 4-byte Spill
	callq	_DOT3
	xorps	%xmm2, %xmm2
	movss	-128(%rbp), %xmm10              ## 4-byte Reload
                                        ## xmm10 = mem[0],zero,zero,zero
	movaps	%xmm0, %xmm4
	movss	-160(%rbp), %xmm0               ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	mulss	-144(%rbp), %xmm4               ## 4-byte Folded Reload
LBB0_19:
	ucomiss	%xmm2, %xmm10
	jbe	LBB0_21
## %bb.20:
	imulq	$715827883, %r14, %rax          ## imm = 0x2AAAAAAB
	movq	%rax, %rcx
	shrq	$63, %rcx
	shrq	$33, %rax
	addl	%ecx, %eax
	shll	$2, %eax
	leal	(%rax,%rax,2), %eax
	leaq	-76(%rbp), %rdi
	subl	%eax, %r14d
	movaps	%xmm10, %xmm1
	mulss	%xmm10, %xmm1
	mulss	%xmm10, %xmm1
	mulss	%xmm10, %xmm1
	movss	%xmm1, -144(%rbp)               ## 4-byte Spill
	movq	_GRAD3@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movslq	%r14d, %rcx
	movl	(%rax,%rcx,4), %esi
	movss	%xmm4, -128(%rbp)               ## 4-byte Spill
	callq	_DOT3
	movss	-128(%rbp), %xmm4               ## 4-byte Reload
                                        ## xmm4 = mem[0],zero,zero,zero
	movaps	%xmm0, %xmm2
	movss	-160(%rbp), %xmm0               ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	mulss	-144(%rbp), %xmm2               ## 4-byte Folded Reload
LBB0_21:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-32(%rbp), %rax
	jne	LBB0_23
## %bb.22:
	movss	-176(%rbp), %xmm1               ## 4-byte Reload
                                        ## xmm1 = mem[0],zero,zero,zero
	addss	%xmm0, %xmm1
	addss	%xmm4, %xmm1
	addss	%xmm2, %xmm1
	mulss	LCPI0_5(%rip), %xmm1
	movaps	%xmm1, %xmm0
	addq	$200, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_23:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_F3,4,2                         ## @F3
	.comm	_G3,4,2                         ## @G3
	.comm	_PERM,8,3                       ## @PERM
	.comm	_GRAD3,8,3                      ## @GRAD3
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_noise3                         ; -- Begin function noise3
	.p2align	2
_noise3:                                ; @noise3
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #224
	.cfi_def_cfa_offset 224
	stp	d15, d14, [sp, #80]             ; 16-byte Folded Spill
	stp	d13, d12, [sp, #96]             ; 16-byte Folded Spill
	stp	d11, d10, [sp, #112]            ; 16-byte Folded Spill
	stp	d9, d8, [sp, #128]              ; 16-byte Folded Spill
	stp	x26, x25, [sp, #144]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #160]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #176]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #192]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #208]            ; 16-byte Folded Spill
	add	x29, sp, #208
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset b8, -88
	.cfi_offset b9, -96
	.cfi_offset b10, -104
	.cfi_offset b11, -112
	.cfi_offset b12, -120
	.cfi_offset b13, -128
	.cfi_offset b14, -136
	.cfi_offset b15, -144
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	str	x8, [sp, #72]
	fadd	s3, s0, s1
	fadd	s3, s3, s2
Lloh3:
	adrp	x8, _F3@GOTPAGE
Lloh4:
	ldr	x8, [x8, _F3@GOTPAGEOFF]
Lloh5:
	ldr	s4, [x8]
	fmul	s3, s3, s4
	fadd	s4, s3, s0
	frintm	s8, s4
	fadd	s4, s3, s1
	frintm	s9, s4
	fadd	s3, s3, s2
	frintm	s10, s3
	fadd	s3, s8, s9
	fadd	s3, s10, s3
Lloh6:
	adrp	x19, _G3@GOTPAGE
Lloh7:
	ldr	x19, [x19, _G3@GOTPAGEOFF]
	ldr	s4, [x19]
	fmul	s3, s4, s3
	fsub	s4, s8, s3
	fsub	s13, s0, s4
	fsub	s0, s9, s3
	fsub	s12, s1, s0
	stp	s13, s12, [sp]
	fsub	s0, s10, s3
	fsub	s11, s2, s0
	str	s11, [sp, #8]
	add	x0, sp, #60
	fcmp	s13, s12
	b.ge	LBB0_3
; %bb.1:
	mov	w1, #0
	fcmp	s12, s11
	b.pl	LBB0_6
; %bb.2:
	mov	w2, #0
	mov	w3, #1
	bl	_ASSIGN
	b	LBB0_7
LBB0_3:
	fcmp	s12, s11
	b.ge	LBB0_8
; %bb.4:
	fcmp	s13, s11
	b.ge	LBB0_10
; %bb.5:
	mov	w1, #0
	mov	w2, #0
	mov	w3, #1
	b	LBB0_11
LBB0_6:
	mov	w2, #1
	mov	w3, #0
	bl	_ASSIGN
	fcmp	s13, s11
	b.pl	LBB0_9
LBB0_7:
	add	x0, sp, #48
	mov	w1, #0
	mov	w2, #1
	b	LBB0_12
LBB0_8:
	mov	w1, #1
	mov	w2, #0
	mov	w3, #0
	bl	_ASSIGN
LBB0_9:
	add	x0, sp, #48
	mov	w1, #1
	mov	w2, #1
	mov	w3, #0
	b	LBB0_13
LBB0_10:
	mov	w1, #1
	mov	w2, #0
	mov	w3, #0
LBB0_11:
	bl	_ASSIGN
	add	x0, sp, #48
	mov	w1, #1
	mov	w2, #0
LBB0_12:
	mov	w3, #1
LBB0_13:
	bl	_ASSIGN
	ldr	s2, [x19]
	fmov	s3, #-1.00000000
	fadd	s0, s13, s3
	fmov	s4, #3.00000000
	fmadd	s0, s2, s4, s0
	ldp	w8, w13, [sp, #48]
	scvtf	s1, w8
	fsub	s1, s13, s1
	fmov	s5, #2.00000000
	fmadd	s1, s2, s5, s1
	ldp	w14, w12, [sp, #60]
	scvtf	s6, w14
	fsub	s6, s13, s6
	fadd	s6, s2, s6
	fadd	s7, s12, s3
	fmadd	s13, s2, s4, s7
	stp	s0, s13, [sp, #36]
	scvtf	s7, w13
	fsub	s7, s12, s7
	fmadd	s7, s2, s5, s7
	scvtf	s16, w12
	fsub	s16, s12, s16
	fadd	s16, s2, s16
	stp	s6, s16, [sp, #12]
	fadd	s3, s11, s3
	fmadd	s12, s2, s4, s3
	ldr	w15, [sp, #56]
	scvtf	s3, w15
	str	s12, [sp, #44]
	fsub	s3, s11, s3
	fmadd	s14, s2, s5, s3
	stp	s7, s14, [sp, #28]
	ldr	w16, [sp, #68]
	scvtf	s3, w16
	fsub	s3, s11, s3
	fadd	s3, s2, s3
	stp	s3, s1, [sp, #20]
	fcvtzs	w17, s8
	fcvtzs	w9, s9
	fcvtzs	w11, s10
	and	w10, w9, #0xff
	and	w11, w11, #0xff
Lloh8:
	adrp	x9, _PERM@GOTPAGE
Lloh9:
	ldr	x9, [x9, _PERM@GOTPAGEOFF]
Lloh10:
	ldr	x9, [x9]
	add	w16, w16, w11
	ldr	w16, [x9, w16, sxtw #2]
	add	w12, w12, w10
	add	w12, w12, w16
	ldr	w16, [x9, w12, sxtw #2]
	and	w12, w17, #0xff
	add	w14, w14, w12
	add	w14, w14, w16
	ldrsw	x24, [x9, w14, sxtw #2]
	add	w14, w15, w11
	ldr	w14, [x9, w14, sxtw #2]
	add	w13, w13, w10
	add	w13, w13, w14
	ldr	w13, [x9, w13, sxtw #2]
	mov	w20, #43691
	movk	w20, #10922, lsl #16
	add	w8, w8, w12
	add	w8, w8, w13
	ldrsw	x23, [x9, w8, sxtw #2]
	add	w8, w11, #1
	ldr	w8, [x9, w8, uxtw #2]
	add	w8, w10, w8
	add	w8, w8, #1
	ldr	w8, [x9, w8, sxtw #2]
	mov	w19, #12
	add	w8, w12, w8
	add	w8, w8, #1
	ldrsw	x21, [x9, w8, sxtw #2]
	mov	w8, #39322
	movk	w8, #16153, lsl #16
	fmov	s4, w8
	ldp	s2, s5, [sp]
	fmsub	s2, s2, s2, s4
	fmsub	s2, s5, s5, s2
	ldr	s5, [sp, #8]
	fmsub	s2, s5, s5, s2
	fmsub	s5, s6, s6, s4
	fmsub	s5, s16, s16, s5
	fmsub	s10, s3, s3, s5
	fmsub	s1, s1, s1, s4
	fmsub	s11, s7, s7, s1
	fmsub	s15, s0, s0, s4
	movi	d8, #0000000000000000
	fcmp	s2, #0.0
Lloh11:
	adrp	x22, _GRAD3@GOTPAGE
Lloh12:
	ldr	x22, [x22, _GRAD3@GOTPAGEOFF]
	movi	d9, #0000000000000000
	b.le	LBB0_15
; %bb.14:
	ldr	w8, [x9, w11, uxtw #2]
	add	w8, w8, w10
	ldr	w8, [x9, w8, sxtw #2]
	add	w8, w8, w12
	ldrsw	x8, [x9, w8, sxtw #2]
	mov	w9, #43691
	movk	w9, #10922, lsl #16
	mul	x9, x8, x9
	lsr	x10, x9, #63
	asr	x9, x9, #33
	add	w9, w9, w10
	msub	w8, w9, w19, w8
	fmul	s0, s2, s2
	fmul	s0, s2, s0
	fmul	s9, s2, s0
	ldr	x9, [x22]
	ldr	w1, [x9, w8, sxtw #2]
	mov	x0, sp
	bl	_DOT3
	fmul	s9, s9, s0
LBB0_15:
	mov	x25, sp
	fmsub	s13, s13, s13, s15
	fmsub	s11, s14, s14, s11
	fcmp	s10, #0.0
	b.le	LBB0_17
; %bb.16:
	mul	x8, x24, x20
	lsr	x9, x8, #63
	asr	x8, x8, #33
	add	x0, x25, #12
	add	w8, w8, w9
	msub	w8, w8, w19, w24
	fmul	s0, s10, s10
	fmul	s0, s10, s0
	fmul	s8, s10, s0
	ldr	x9, [x22]
	ldr	w1, [x9, w8, sxtw #2]
	bl	_DOT3
	fmul	s8, s8, s0
LBB0_17:
	fmsub	s10, s12, s12, s13
	movi	d12, #0000000000000000
	fcmp	s11, #0.0
	movi	d13, #0000000000000000
	b.le	LBB0_19
; %bb.18:
	mul	x8, x23, x20
	lsr	x9, x8, #63
	asr	x8, x8, #33
	add	x0, x25, #24
	add	w8, w8, w9
	msub	w8, w8, w19, w23
	fmul	s0, s11, s11
	fmul	s0, s11, s0
	fmul	s11, s11, s0
	ldr	x9, [x22]
	ldr	w1, [x9, w8, sxtw #2]
	bl	_DOT3
	fmul	s13, s11, s0
LBB0_19:
	fcmp	s10, #0.0
	b.le	LBB0_21
; %bb.20:
	mul	x8, x21, x20
	lsr	x9, x8, #63
	asr	x8, x8, #33
	add	x0, x25, #36
	add	w8, w8, w9
	msub	w8, w8, w19, w21
	fmul	s0, s10, s10
	fmul	s0, s10, s0
	fmul	s10, s10, s0
	ldr	x9, [x22]
	ldr	w1, [x9, w8, sxtw #2]
	bl	_DOT3
	fmul	s12, s10, s0
LBB0_21:
	ldr	x8, [sp, #72]
Lloh13:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh14:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh15:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_23
; %bb.22:
	fadd	s0, s9, s8
	fadd	s0, s0, s13
	fadd	s0, s0, s12
	movi.2s	v1, #66, lsl #24
	fmul	s0, s0, s1
	ldp	x29, x30, [sp, #208]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #192]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #176]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #160]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #144]            ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #128]              ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #112]            ; 16-byte Folded Reload
	ldp	d13, d12, [sp, #96]             ; 16-byte Folded Reload
	ldp	d15, d14, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #224
	ret
LBB0_23:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.cfi_endproc
                                        ; -- End function
	.comm	_F3,4,2                         ; @F3
	.comm	_G3,4,2                         ; @G3
	.comm	_PERM,8,3                       ; @PERM
	.comm	_GRAD3,8,3                      ; @GRAD3
.subsections_via_symbols
