	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function OPLL_initalize
LCPI0_0:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.space	4
	.space	4
LCPI0_1:
	.long	2                               ## 0x2
	.long	2                               ## 0x2
	.space	4
	.space	4
LCPI0_2:
	.quad	0x4050000000000000              ## double 64
	.quad	0x4050000000000000              ## double 64
LCPI0_3:
	.long	4                               ## 0x4
	.long	4                               ## 0x4
	.space	4
	.space	4
LCPI0_4:
	.long	6                               ## 0x6
	.long	6                               ## 0x6
	.space	4
	.space	4
LCPI0_5:
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.space	4
	.space	4
LCPI0_6:
	.quad	0x3f90000000000000              ## double 0.015625
	.quad	0x3f50000000000000              ## double 9.765625E-4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_OPLL_initalize:                        ## @OPLL_initalize
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_FREQ_SH@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	leal	-10(%r8), %ecx
	movl	$1, %esi
                                        ## kill: def $cl killed $cl killed $ecx
	shll	%cl, %esi
	movq	_ym2413@GOTPCREL(%rip), %rdx
	movq	32(%rdx), %rcx
	cvtsi2sd	%esi, %xmm0
	movddup	%xmm0, %xmm0                    ## xmm0 = xmm0[0,0]
	movdqa	LCPI0_0(%rip), %xmm1            ## xmm1 = <0,1,u,u>
	xorl	%esi, %esi
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = <2,2,u,u>
	movapd	LCPI0_2(%rip), %xmm3            ## xmm3 = [6.4E+1,6.4E+1]
	movdqa	LCPI0_3(%rip), %xmm9            ## xmm9 = <4,4,u,u>
	movdqa	LCPI0_4(%rip), %xmm5            ## xmm5 = <6,6,u,u>
	movdqa	LCPI0_5(%rip), %xmm6            ## xmm6 = <8,8,u,u>
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm1, %xmm7
	cvtdq2pd	%xmm1, %xmm2
	paddd	%xmm8, %xmm7
	cvtdq2pd	%xmm7, %xmm7
	mulpd	%xmm3, %xmm2
	mulpd	%xmm3, %xmm7
	mulpd	%xmm0, %xmm2
	cvttsd2si	%xmm2, %rdi
	mulpd	%xmm0, %xmm7
	unpckhpd	%xmm2, %xmm2                    ## xmm2 = xmm2[1,1]
	cvttsd2si	%xmm2, %rax
	movq	%rdi, %xmm2
	movq	%rax, %xmm4
	cvttsd2si	%xmm7, %rax
	punpcklqdq	%xmm4, %xmm2            ## xmm2 = xmm2[0],xmm4[0]
	unpckhpd	%xmm7, %xmm7                    ## xmm7 = xmm7[1,1]
	cvttsd2si	%xmm7, %rdi
	movq	%rax, %xmm4
	movq	%rdi, %xmm7
	punpcklqdq	%xmm7, %xmm4            ## xmm4 = xmm4[0],xmm7[0]
	movdqu	%xmm2, (%rcx,%rsi,8)
	movdqu	%xmm4, 16(%rcx,%rsi,8)
	movdqa	%xmm1, %xmm2
	paddd	%xmm9, %xmm2
	movdqa	%xmm1, %xmm4
	cvtdq2pd	%xmm2, %xmm2
	paddd	%xmm5, %xmm4
	cvtdq2pd	%xmm4, %xmm4
	mulpd	%xmm3, %xmm2
	mulpd	%xmm3, %xmm4
	mulpd	%xmm0, %xmm2
	cvttsd2si	%xmm2, %rax
	mulpd	%xmm0, %xmm4
	unpckhpd	%xmm2, %xmm2                    ## xmm2 = xmm2[1,1]
	cvttsd2si	%xmm2, %rdi
	movq	%rax, %xmm2
	movq	%rdi, %xmm7
	cvttsd2si	%xmm4, %rax
	unpckhpd	%xmm4, %xmm4                    ## xmm4 = xmm4[1,1]
	cvttsd2si	%xmm4, %rdi
	movq	%rax, %xmm4
	punpcklqdq	%xmm7, %xmm2            ## xmm2 = xmm2[0],xmm7[0]
	movq	%rdi, %xmm7
	punpcklqdq	%xmm7, %xmm4            ## xmm4 = xmm4[0],xmm7[0]
	movdqu	%xmm2, 32(%rcx,%rsi,8)
	movdqu	%xmm4, 48(%rcx,%rsi,8)
	addq	$8, %rsi
	paddd	%xmm6, %xmm1
	cmpq	$1024, %rsi                     ## imm = 0x400
	jne	LBB0_1
## %bb.2:
	movq	_LFO_SH@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	$1, %eax
	shll	%cl, %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movddup	%xmm0, %xmm0                    ## xmm0 = xmm0[0,0]
	mulpd	LCPI0_6(%rip), %xmm0
	movl	$1, %eax
	movl	%r8d, %ecx
	shll	%cl, %eax
	movl	$1, %esi
	xorps	%xmm1, %xmm1
	cvtsi2sd	%eax, %xmm1
	movq	_EG_SH@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shll	%cl, %esi
	movupd	%xmm0, (%rdx)
	movsd	%xmm1, 16(%rdx)
	movl	%esi, 24(%rdx)
	movl	%esi, 28(%rdx)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_FREQ_SH,4,2                    ## @FREQ_SH
	.comm	_ym2413,40,3                    ## @ym2413
	.comm	_LFO_SH,4,2                     ## @LFO_SH
	.comm	_EG_SH,4,2                      ## @EG_SH
	.no_dead_strip	_OPLL_initalize
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function OPLL_initalize
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
lCPI0_1:
	.quad	0x3f90000000000000              ; double 0.015625
	.quad	0x3f50000000000000              ; double 9.765625E-4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_OPLL_initalize:                        ; @OPLL_initalize
	.cfi_startproc
; %bb.0:
	mov	x10, #0
Lloh0:
	adrp	x9, _FREQ_SH@GOTPAGE
Lloh1:
	ldr	x9, [x9, _FREQ_SH@GOTPAGEOFF]
Lloh2:
	adrp	x8, _ym2413@GOTPAGE
Lloh3:
	ldr	x8, [x8, _ym2413@GOTPAGEOFF]
Lloh4:
	ldr	w9, [x9]
	sub	w11, w9, #10
	mov	w12, #1
	lsl	w11, w12, w11
	scvtf	d0, w11
	ldr	x11, [x8, #32]
	dup.2d	v1, v0[0]
Lloh5:
	adrp	x12, lCPI0_0@PAGE
Lloh6:
	ldr	d2, [x12, lCPI0_0@PAGEOFF]
	movi.2s	v3, #2
	movi.2s	v4, #4
	movi.2s	v5, #6
	mov	x12, #4634204016564240384
	dup.2d	v6, x12
	movi.2s	v7, #8
LBB0_1:                                 ; =>This Inner Loop Header: Depth=1
	add.2s	v16, v2, v3
	add.2s	v17, v2, v4
	add.2s	v18, v2, v5
	sshll.2d	v19, v2, #0
	scvtf.2d	v19, v19
	sshll.2d	v16, v16, #0
	scvtf.2d	v16, v16
	sshll.2d	v17, v17, #0
	scvtf.2d	v17, v17
	sshll.2d	v18, v18, #0
	scvtf.2d	v18, v18
	fmul.2d	v19, v19, v6
	fmul.2d	v16, v16, v6
	fmul.2d	v17, v17, v6
	fmul.2d	v18, v18, v6
	fmul.2d	v19, v19, v1
	fmul.2d	v16, v16, v1
	fmul.2d	v17, v17, v1
	fmul.2d	v18, v18, v0[0]
	fcvtzs.2d	v19, v19
	fcvtzs.2d	v16, v16
	fcvtzs.2d	v17, v17
	fcvtzs.2d	v18, v18
	add	x12, x11, x10
	stp	q19, q16, [x12]
	stp	q17, q18, [x12, #32]
	add.2s	v2, v2, v7
	add	x10, x10, #64
	cmp	x10, #2, lsl #12                ; =8192
	b.ne	LBB0_1
; %bb.2:
Lloh7:
	adrp	x10, _LFO_SH@GOTPAGE
Lloh8:
	ldr	x10, [x10, _LFO_SH@GOTPAGEOFF]
Lloh9:
	ldr	w10, [x10]
	mov	w11, #1
	lsl	w10, w11, w10
	scvtf	d0, w10
Lloh10:
	adrp	x10, lCPI0_1@PAGE
Lloh11:
	ldr	q1, [x10, lCPI0_1@PAGEOFF]
	fmul.2d	v0, v1, v0[0]
	str	q0, [x8]
	lsl	w9, w11, w9
	scvtf	d0, w9
	str	d0, [x8, #16]
Lloh12:
	adrp	x9, _EG_SH@GOTPAGE
Lloh13:
	ldr	x9, [x9, _EG_SH@GOTPAGEOFF]
Lloh14:
	ldr	w9, [x9]
	lsl	w9, w11, w9
	stp	w9, w9, [x8, #24]
	ret
	.loh AdrpLdr	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh4
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdr	Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.cfi_endproc
                                        ; -- End function
	.comm	_FREQ_SH,4,2                    ; @FREQ_SH
	.comm	_ym2413,40,3                    ; @ym2413
	.comm	_LFO_SH,4,2                     ; @LFO_SH
	.comm	_EG_SH,4,2                      ; @EG_SH
	.no_dead_strip	_OPLL_initalize
.subsections_via_symbols
