	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function noise2
LCPI0_0:
	.long	0x3f800000                      ## float 1
LCPI0_1:
	.long	0xbf800000                      ## float -1
LCPI0_2:
	.long	0x3f000000                      ## float 0.5
LCPI0_3:
	.long	0x428c0000                      ## float 70
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_noise2
	.p2align	4, 0x90
_noise2:                                ## @noise2
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movaps	%xmm0, %xmm2
	addss	%xmm1, %xmm0
	movq	_F2@GOTPCREL(%rip), %rax
	mulss	(%rax), %xmm0
	movq	_G2@GOTPCREL(%rip), %rax
	movss	(%rax), %xmm8                   ## xmm8 = mem[0],zero,zero,zero
	movsldup	%xmm0, %xmm0                    ## xmm0 = xmm0[0,0,2,2]
	insertps	$16, %xmm1, %xmm2               ## xmm2 = xmm2[0],xmm1[0],xmm2[2,3]
	addps	%xmm2, %xmm0
	roundps	$9, %xmm0, %xmm5
	movshdup	%xmm5, %xmm1                    ## xmm1 = xmm5[1,1,3,3]
	movaps	%xmm5, %xmm0
	addss	%xmm1, %xmm0
	mulss	%xmm8, %xmm0
	movsldup	%xmm0, %xmm0                    ## xmm0 = xmm0[0,0,2,2]
	movaps	%xmm5, %xmm3
	subps	%xmm0, %xmm3
	subps	%xmm3, %xmm2
	movshdup	%xmm2, %xmm7                    ## xmm7 = xmm2[1,1,3,3]
	xorl	%ecx, %ecx
	ucomiss	%xmm7, %xmm2
	seta	%cl
	movss	LCPI0_0(%rip), %xmm3            ## xmm3 = mem[0],zero,zero,zero
	xorps	%xmm0, %xmm0
	movaps	%xmm3, %xmm4
	ja	LBB0_2
## %bb.1:
	xorps	%xmm4, %xmm4
LBB0_2:
	cvttss2si	%xmm5, %eax
	movzbl	%al, %r10d
	addl	%r10d, %ecx
	ucomiss	%xmm2, %xmm7
	movaps	%xmm8, %xmm10
	addss	%xmm8, %xmm10
	movaps	%xmm10, %xmm9
	addss	%xmm2, %xmm9
	movss	LCPI0_1(%rip), %xmm5            ## xmm5 = mem[0],zero,zero,zero
	addss	%xmm5, %xmm9
	addss	%xmm7, %xmm10
	addss	%xmm5, %xmm10
	movaps	%xmm2, %xmm6
	subss	%xmm4, %xmm6
	addss	%xmm8, %xmm6
	jae	LBB0_4
## %bb.3:
	xorps	%xmm3, %xmm3
LBB0_4:
	movaps	%xmm7, %xmm4
	subss	%xmm3, %xmm4
	addss	%xmm4, %xmm8
	cvttss2si	%xmm1, %edx
	movzbl	%dl, %r9d
	movq	_PERM@GOTPCREL(%rip), %rdx
	movq	(%rdx), %r11
	movl	%r9d, %esi
	sbbl	$-1, %esi
	movaps	%xmm2, %xmm3
	mulss	%xmm2, %xmm3
	movss	LCPI0_2(%rip), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	movaps	%xmm1, %xmm4
	subss	%xmm3, %xmm4
	movaps	%xmm7, %xmm3
	mulss	%xmm7, %xmm3
	subss	%xmm3, %xmm4
	movaps	%xmm6, %xmm3
	mulss	%xmm6, %xmm3
	movaps	%xmm1, %xmm5
	subss	%xmm3, %xmm5
	movaps	%xmm8, %xmm3
	mulss	%xmm8, %xmm3
	subss	%xmm3, %xmm5
	movaps	%xmm9, %xmm3
	mulss	%xmm9, %xmm3
	subss	%xmm3, %xmm1
	movaps	%xmm10, %xmm3
	mulss	%xmm10, %xmm3
	movq	_GRAD3@GOTPCREL(%rip), %rdi
	movq	(%rdi), %r8
	ucomiss	%xmm0, %xmm4
	jbe	LBB0_6
## %bb.5:
	movl	%r9d, %edi
	movslq	(%r11,%rdi,4), %rdi
	movl	%r10d, %eax
	addq	%rdi, %rax
	movslq	(%r11,%rax,4), %rax
	imulq	$715827883, %rax, %rdi          ## imm = 0x2AAAAAAB
	movq	%rdi, %rdx
	shrq	$63, %rdx
	shrq	$33, %rdi
	addl	%edx, %edi
	shll	$2, %edi
	leal	(%rdi,%rdi,2), %edx
	subl	%edx, %eax
	movaps	%xmm4, %xmm0
	mulss	%xmm4, %xmm0
	mulss	%xmm4, %xmm0
	mulss	%xmm4, %xmm0
	cltq
	movq	(%r8,%rax,8), %rax
	mulss	4(%rax), %xmm7
	mulss	(%rax), %xmm2
	addss	%xmm7, %xmm2
	mulss	%xmm0, %xmm2
	movaps	%xmm2, %xmm0
LBB0_6:
	subss	%xmm3, %xmm1
	xorps	%xmm2, %xmm2
	ucomiss	%xmm2, %xmm5
	xorps	%xmm3, %xmm3
	jbe	LBB0_8
## %bb.7:
	movslq	(%r11,%rsi,4), %rax
	addq	%rax, %rcx
	movslq	(%r11,%rcx,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	%xmm5, %xmm3
	mulss	%xmm5, %xmm3
	mulss	%xmm5, %xmm3
	mulss	%xmm5, %xmm3
	cltq
	movq	(%r8,%rax,8), %rax
	mulss	4(%rax), %xmm8
	mulss	(%rax), %xmm6
	addss	%xmm8, %xmm6
	mulss	%xmm3, %xmm6
	movaps	%xmm6, %xmm3
LBB0_8:
	ucomiss	%xmm2, %xmm1
	jbe	LBB0_10
## %bb.9:
	movslq	4(%r11,%r9,4), %rax
	addq	%rax, %r10
	movslq	4(%r11,%r10,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, %xmm2
	mulss	%xmm1, %xmm2
	mulss	%xmm1, %xmm2
	mulss	%xmm1, %xmm2
	cltq
	movq	(%r8,%rax,8), %rax
	mulss	4(%rax), %xmm10
	mulss	(%rax), %xmm9
	addss	%xmm10, %xmm9
	mulss	%xmm2, %xmm9
	movaps	%xmm9, %xmm2
LBB0_10:
	addss	%xmm3, %xmm0
	addss	%xmm2, %xmm0
	mulss	LCPI0_3(%rip), %xmm0
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_F2,4,2                         ## @F2
	.comm	_G2,4,2                         ## @G2
	.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	_noise2                         ; -- Begin function noise2
	.p2align	2
_noise2:                                ; @noise2
	.cfi_startproc
; %bb.0:
	fadd	s2, s0, s1
Lloh0:
	adrp	x8, _F2@GOTPAGE
Lloh1:
	ldr	x8, [x8, _F2@GOTPAGEOFF]
Lloh2:
	ldr	s3, [x8]
	fmul	s2, s2, s3
	fadd	s5, s2, s0
	frintm	s3, s5
	fadd	s16, s2, s1
	frintm	s2, s16
	fadd	s4, s3, s2
Lloh3:
	adrp	x8, _G2@GOTPAGE
Lloh4:
	ldr	x8, [x8, _G2@GOTPAGEOFF]
Lloh5:
	ldr	s17, [x8]
	fmul	s4, s17, s4
	fsub	s3, s3, s4
	fsub	s6, s0, s3
	fsub	s0, s2, s4
	fsub	s7, s1, s0
	fmov	s1, #2.00000000
	fmadd	s0, s17, s1, s6
	fmov	s2, #-1.00000000
	fadd	s0, s0, s2
	fmadd	s1, s17, s1, s7
	fadd	s1, s1, s2
	fcmp	s6, s7
	movi	d2, #0000000000000000
	fmov	s4, #1.00000000
	fcsel	s3, s4, s2, gt
	fsub	s3, s6, s3
	fadd	s3, s17, s3
	fcsel	s4, s4, s2, ls
	fsub	s4, s7, s4
	fadd	s4, s17, s4
	fcvtms	w8, s5
	and	w9, w8, #0xff
	fcvtms	w8, s16
	and	w12, w8, #0xff
Lloh6:
	adrp	x8, _PERM@GOTPAGE
Lloh7:
	ldr	x8, [x8, _PERM@GOTPAGEOFF]
Lloh8:
	ldr	x10, [x8]
	cinc	w14, w9, gt
	cinc	w15, w12, ls
	mov	w13, #43691
	movk	w13, #10922, lsl #16
	mov	w8, #12
	fmov	s5, #0.50000000
	fmsub	s16, s6, s6, s5
	fmsub	s18, s7, s7, s16
	fmsub	s16, s3, s3, s5
	fmsub	s16, s4, s4, s16
	fmsub	s17, s0, s0, s5
Lloh9:
	adrp	x11, _GRAD3@GOTPAGE
Lloh10:
	ldr	x11, [x11, _GRAD3@GOTPAGEOFF]
Lloh11:
	ldr	x11, [x11]
	fcmp	s18, #0.0
	movi	d5, #0000000000000000
	b.le	LBB0_2
; %bb.1:
	ldr	w16, [x10, w12, uxtw #2]
	add	w16, w16, w9
	ldrsw	x16, [x10, w16, sxtw #2]
	mov	w17, #43691
	movk	w17, #10922, lsl #16
	mul	x17, x16, x17
	lsr	x0, x17, #63
	asr	x17, x17, #33
	add	w17, w17, w0
	msub	w16, w17, w8, w16
	fmul	s5, s18, s18
	fmul	s5, s18, s5
	ldr	x16, [x11, w16, sxtw #3]
	fmul	s5, s18, s5
	ldp	s18, s19, [x16]
	fmul	s7, s19, s7
	fmadd	s6, s18, s6, s7
	fmul	s5, s5, s6
LBB0_2:
	fmsub	s6, s1, s1, s17
	fcmp	s16, #0.0
	b.le	LBB0_4
; %bb.3:
	ldr	w15, [x10, w15, uxtw #2]
	add	w14, w14, w15
	ldrsw	x14, [x10, w14, sxtw #2]
	mul	x15, x14, x13
	lsr	x16, x15, #63
	asr	x15, x15, #33
	add	w15, w15, w16
	msub	w14, w15, w8, w14
	fmul	s2, s16, s16
	fmul	s2, s16, s2
	ldr	x14, [x11, w14, sxtw #3]
	fmul	s2, s16, s2
	ldp	s7, s16, [x14]
	fmul	s4, s16, s4
	fmadd	s3, s7, s3, s4
	fmul	s2, s2, s3
LBB0_4:
	movi	d3, #0000000000000000
	fcmp	s6, #0.0
	b.le	LBB0_6
; %bb.5:
	add	w12, w12, #1
	ldr	w12, [x10, w12, uxtw #2]
	add	w9, w9, w12
	add	w9, w9, #1
	ldrsw	x9, [x10, w9, sxtw #2]
	mul	x10, x9, x13
	lsr	x12, x10, #63
	asr	x10, x10, #33
	add	w10, w10, w12
	msub	w8, w10, w8, w9
	fmul	s3, s6, s6
	fmul	s3, s6, s3
	ldr	x8, [x11, w8, sxtw #3]
	fmul	s3, s6, s3
	ldp	s4, s6, [x8]
	fmul	s1, s6, s1
	fmadd	s0, s4, s0, s1
	fmul	s3, s3, s0
LBB0_6:
	fadd	s0, s5, s2
	fadd	s0, s0, s3
	mov	w8, #1116471296
	fmov	s1, w8
	fmul	s0, s0, s1
	ret
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_F2,4,2                         ; @F2
	.comm	_G2,4,2                         ; @G2
	.comm	_PERM,8,3                       ; @PERM
	.comm	_GRAD3,8,3                      ; @GRAD3
.subsections_via_symbols
