	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function update_particle
LCPI0_0:
	.long	0xbf800000                      ## float -1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_update_particle:                       ## @update_particle
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	cmpq	$0, 32(%rdi)
	je	LBB0_9
## %bb.1:
	movq	_LIFE_SPAN@GOTPCREL(%rip), %rax
	movss	LCPI0_0(%rip), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	divss	(%rax), %xmm1
	mulss	%xmm0, %xmm1
	addss	(%rdi), %xmm1
	movss	%xmm1, (%rdi)
	xorps	%xmm3, %xmm3
	ucomiss	%xmm1, %xmm3
	jae	LBB0_2
## %bb.3:
	movss	4(%rdi), %xmm1                  ## xmm1 = mem[0],zero,zero,zero
	movq	_GRAVITY@GOTPCREL(%rip), %rax
	movss	(%rax), %xmm2                   ## xmm2 = mem[0],zero,zero,zero
	mulss	%xmm0, %xmm2
	subss	%xmm2, %xmm1
	movss	%xmm1, 4(%rdi)
	movss	12(%rdi), %xmm4                 ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm0, %xmm4
	addss	8(%rdi), %xmm4
	movss	%xmm4, 8(%rdi)
	movaps	%xmm1, %xmm2
	mulss	%xmm0, %xmm2
	mulss	20(%rdi), %xmm0
	addss	16(%rdi), %xmm0
	movss	%xmm0, 16(%rdi)
	addss	24(%rdi), %xmm2
	movss	%xmm2, 24(%rdi)
	ucomiss	%xmm1, %xmm3
	jbe	LBB0_9
## %bb.4:
	mulss	%xmm0, %xmm0
	movq	_FOUNTAIN_R2@GOTPCREL(%rip), %rax
	xorps	%xmm3, %xmm3
	cvtsi2ssl	(%rax), %xmm3
	mulss	%xmm4, %xmm4
	addss	%xmm0, %xmm4
	ucomiss	%xmm4, %xmm3
	jbe	LBB0_5
## %bb.6:
	movq	_FOUNTAIN_HEIGHT@GOTPCREL(%rip), %rcx
	movq	_PARTICLE_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	movl	(%rcx), %ecx
	addl	%eax, %ecx
	xorps	%xmm0, %xmm0
	cvtsi2ss	%ecx, %xmm0
	ucomiss	%xmm2, %xmm0
	jbe	LBB0_7
	jmp	LBB0_8
LBB0_2:
	movq	$0, 32(%rdi)
	popq	%rbp
	retq
LBB0_5:
	movq	_PARTICLE_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
LBB0_7:
	xorps	%xmm0, %xmm0
	cvtsi2ss	%eax, %xmm0
	ucomiss	%xmm2, %xmm0
	jbe	LBB0_9
LBB0_8:
	movq	_FRICTION@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorps	%xmm3, %xmm3
	cvtsi2ss	%eax, %xmm3
	negl	%eax
	xorps	%xmm4, %xmm4
	cvtsi2ss	%eax, %xmm4
	mulss	%xmm4, %xmm1
	movss	%xmm1, 4(%rdi)
	movaps	%xmm0, %xmm1
	subss	%xmm2, %xmm1
	mulss	%xmm3, %xmm1
	addss	%xmm0, %xmm1
	movss	%xmm1, 24(%rdi)
LBB0_9:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_LIFE_SPAN,4,2                  ## @LIFE_SPAN
	.comm	_GRAVITY,4,2                    ## @GRAVITY
	.comm	_FOUNTAIN_R2,4,2                ## @FOUNTAIN_R2
	.comm	_FOUNTAIN_HEIGHT,4,2            ## @FOUNTAIN_HEIGHT
	.comm	_PARTICLE_SIZE,4,2              ## @PARTICLE_SIZE
	.comm	_FRICTION,4,2                   ## @FRICTION
	.no_dead_strip	_update_particle
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function update_particle
_update_particle:                       ; @update_particle
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0, #32]
	cbz	x8, LBB0_9
; %bb.1:
Lloh0:
	adrp	x8, _LIFE_SPAN@GOTPAGE
Lloh1:
	ldr	x8, [x8, _LIFE_SPAN@GOTPAGEOFF]
Lloh2:
	ldr	s1, [x8]
	fmov	s2, #-1.00000000
	fdiv	s1, s2, s1
	ldr	s2, [x0]
	fmadd	s1, s0, s1, s2
	str	s1, [x0]
	fcmp	s1, #0.0
	b.ls	LBB0_5
; %bb.2:
Lloh3:
	adrp	x8, _GRAVITY@GOTPAGE
Lloh4:
	ldr	x8, [x8, _GRAVITY@GOTPAGEOFF]
Lloh5:
	ldr	s1, [x8]
	ldp	s2, s3, [x0, #4]
	fmsub	s1, s1, s0, s2
	ldp	s2, s4, [x0, #12]
	fmadd	s2, s2, s0, s3
	ldp	s3, s5, [x0, #20]
	fmadd	s3, s3, s0, s4
	stp	s1, s2, [x0, #4]
	str	s3, [x0, #16]
	fmadd	s0, s1, s0, s5
	str	s0, [x0, #24]
	fcmp	s1, #0.0
	b.pl	LBB0_9
; %bb.3:
	fmul	s3, s3, s3
	fmadd	s2, s2, s2, s3
Lloh6:
	adrp	x8, _FOUNTAIN_R2@GOTPAGE
Lloh7:
	ldr	x8, [x8, _FOUNTAIN_R2@GOTPAGEOFF]
Lloh8:
	ldr	s3, [x8]
	scvtf	s3, s3
	fcmp	s2, s3
	b.pl	LBB0_6
; %bb.4:
Lloh9:
	adrp	x8, _FOUNTAIN_HEIGHT@GOTPAGE
Lloh10:
	ldr	x8, [x8, _FOUNTAIN_HEIGHT@GOTPAGEOFF]
Lloh11:
	ldr	w9, [x8]
Lloh12:
	adrp	x8, _PARTICLE_SIZE@GOTPAGE
Lloh13:
	ldr	x8, [x8, _PARTICLE_SIZE@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w8, w8, #1
	add	w9, w8, w9
	scvtf	s2, w9
	fcmp	s0, s2
	b.pl	LBB0_7
	b	LBB0_8
LBB0_5:
	str	xzr, [x0, #32]
	ret
LBB0_6:
Lloh15:
	adrp	x8, _PARTICLE_SIZE@GOTPAGE
Lloh16:
	ldr	x8, [x8, _PARTICLE_SIZE@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w8, w8, #1
LBB0_7:
	scvtf	s2, w8
	fcmp	s0, s2
	b.pl	LBB0_9
LBB0_8:
Lloh18:
	adrp	x8, _FRICTION@GOTPAGE
Lloh19:
	ldr	x8, [x8, _FRICTION@GOTPAGEOFF]
Lloh20:
	ldr	w8, [x8]
	neg	w9, w8
	scvtf	s3, w9
	fmul	s1, s1, s3
	str	s1, [x0, #4]
	scvtf	s1, w8
	fsub	s0, s2, s0
	fmadd	s0, s1, s0, s2
	str	s0, [x0, #24]
LBB0_9:
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.cfi_endproc
                                        ; -- End function
	.comm	_LIFE_SPAN,4,2                  ; @LIFE_SPAN
	.comm	_GRAVITY,4,2                    ; @GRAVITY
	.comm	_FOUNTAIN_R2,4,2                ; @FOUNTAIN_R2
	.comm	_FOUNTAIN_HEIGHT,4,2            ; @FOUNTAIN_HEIGHT
	.comm	_PARTICLE_SIZE,4,2              ; @PARTICLE_SIZE
	.comm	_FRICTION,4,2                   ; @FRICTION
	.no_dead_strip	_update_particle
.subsections_via_symbols
