	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function scsp_init
LCPI0_0:
	.long	1127219200                      ## 0x43300000
	.long	1160773632                      ## 0x45300000
	.long	0                               ## 0x0
	.long	0                               ## 0x0
LCPI0_1:
	.quad	0x4330000000000000              ## double 4503599627370496
	.quad	0x4530000000000000              ## double 1.9342813113834067E+25
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_2:
	.quad	0x401c000000000000              ## double 7
LCPI0_3:
	.quad	0x3ff0000000000000              ## double 1
LCPI0_4:
	.quad	0x3f70000000000000              ## double 0.00390625
LCPI0_5:
	.quad	0x3fd0000000000000              ## double 0.25
LCPI0_6:
	.quad	0xbfd813a92a305532              ## double -0.37619999999999998
LCPI0_7:
	.quad	0x4034000000000000              ## double 20
LCPI0_8:
	.quad	0x4090000000000000              ## double 1024
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_scsp_init
	.p2align	4, 0x90
_scsp_init:                             ## @scsp_init
	.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	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r14
	movq	%rsi, %r15
	movq	%rdi, %rbx
	xorl	%eax, %eax
	callq	_scsp_shutdown
	movq	_scsp_reg@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_scsp_isr@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	leaq	4096(%rax), %rcx
	movq	_scsp_ccr@GOTPCREL(%rip), %rdx
	movq	%rcx, (%rdx)
	addq	$7168, %rax                     ## imm = 0x1C00
	movq	_scsp_dcr@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movq	_scsp@GOTPCREL(%rip), %rax
	movq	%rbx, 16(%rax)
	movq	%r15, (%rax)
	movq	%r14, 8(%rax)
	movq	_SCSP_ENV_LEN@GOTPCREL(%rip), %r14
	movq	(%r14), %rax
	testq	%rax, %rax
	je	LBB0_3
## %bb.1:
	xorl	%r13d, %r13d
	movq	_SCSP_ENV_MASK@GOTPCREL(%rip), %r15
	movq	_scsp_env_table@GOTPCREL(%rip), %r12
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movq	(%r15), %rcx
	addq	%r13, %rcx
	movq	%rcx, %xmm0
	movdqa	LCPI0_0(%rip), %xmm2            ## xmm2 = [1127219200,1160773632,0,0]
	punpckldq	%xmm2, %xmm0            ## xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
	movapd	LCPI0_1(%rip), %xmm3            ## xmm3 = [4.503599627370496E+15,1.9342813113834067E+25]
	subpd	%xmm3, %xmm0
	movapd	%xmm0, %xmm1
	unpckhpd	%xmm0, %xmm1                    ## xmm1 = xmm1[1],xmm0[1]
	addsd	%xmm0, %xmm1
	movq	%rax, %xmm0
	punpckldq	%xmm2, %xmm0            ## xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
	subpd	%xmm3, %xmm0
	movapd	%xmm0, %xmm2
	unpckhpd	%xmm0, %xmm2                    ## xmm2 = xmm2[1],xmm0[1]
	addsd	%xmm0, %xmm2
	divsd	%xmm2, %xmm1
	cvttsd2si	%xmm1, %edi
	movsd	LCPI0_2(%rip), %xmm0            ## xmm0 = mem[0],zero
	callq	_pow
	movsd	(%r14), %xmm1                   ## xmm1 = mem[0],zero
	movapd	LCPI0_0(%rip), %xmm4            ## xmm4 = [1127219200,1160773632,0,0]
	unpcklps	%xmm4, %xmm1                    ## xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1]
	movapd	LCPI0_1(%rip), %xmm3            ## xmm3 = [4.503599627370496E+15,1.9342813113834067E+25]
	subpd	%xmm3, %xmm1
	movapd	%xmm1, %xmm2
	unpckhpd	%xmm1, %xmm2                    ## xmm2 = xmm2[1],xmm1[1]
	addsd	%xmm1, %xmm2
	mulsd	%xmm0, %xmm2
	movq	(%r15), %rax
	cvttsd2si	%xmm2, %rcx
	subq	%rcx, %rax
	movq	(%r12), %rcx
	movq	%rax, (%rcx,%rbx,8)
	movq	%rbx, %xmm0
	movapd	%xmm4, %xmm2
	punpckldq	%xmm4, %xmm0            ## xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
	subpd	%xmm3, %xmm0
	movapd	%xmm0, %xmm1
	unpckhpd	%xmm0, %xmm1                    ## xmm1 = xmm1[1],xmm0[1]
	addsd	%xmm0, %xmm1
	movsd	(%r14), %xmm0                   ## xmm0 = mem[0],zero
	unpcklps	%xmm2, %xmm0                    ## xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
	subpd	%xmm3, %xmm0
	movapd	%xmm0, %xmm2
	unpckhpd	%xmm0, %xmm2                    ## xmm2 = xmm2[1],xmm0[1]
	addsd	%xmm0, %xmm2
	divsd	%xmm2, %xmm1
	cvttsd2si	%xmm1, %edi
	movsd	LCPI0_3(%rip), %xmm0            ## xmm0 = mem[0],zero
	callq	_pow
	movq	(%r14), %rax
	movq	%rax, %xmm1
	punpckldq	LCPI0_0(%rip), %xmm1    ## xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
	subpd	LCPI0_1(%rip), %xmm1
	movapd	%xmm1, %xmm2
	unpckhpd	%xmm1, %xmm2                    ## xmm2 = xmm2[1],xmm1[1]
	addsd	%xmm1, %xmm2
	mulsd	%xmm0, %xmm2
	movq	(%r15), %rcx
	cvttsd2si	%xmm2, %rdx
	subq	%rdx, %rcx
	movq	(%r12), %rdx
	addq	%rbx, %rax
	movq	%rcx, (%rdx,%rax,8)
	incq	%rbx
	movq	(%r14), %rax
	decq	%r13
	cmpq	%rax, %rbx
	jb	LBB0_2
LBB0_3:
	movl	$32, %r15d
	xorl	%ebx, %ebx
	movapd	LCPI0_0(%rip), %xmm3            ## xmm3 = [1127219200,1160773632,0,0]
	movq	_SCSP_LFO_LEN@GOTPCREL(%rip), %r14
	movq	_scsp_lfo_step@GOTPCREL(%rip), %r12
	xorl	%r13d, %r13d
	.p2align	4, 0x90
LBB0_4:                                 ## =>This Inner Loop Header: Depth=1
	movq	%r13, %rcx
	shrq	$2, %rcx
	movl	$1, %eax
                                        ## kill: def $cl killed $cl killed $rcx
	shll	%cl, %eax
	movq	_SCSP_FREQ@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm0                   ## xmm0 = mem[0],zero
	movsd	(%r14), %xmm1                   ## xmm1 = mem[0],zero
	unpcklps	%xmm3, %xmm1                    ## xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
	addq	%rax, %rbx
	movapd	LCPI0_1(%rip), %xmm4            ## xmm4 = [4.503599627370496E+15,1.9342813113834067E+25]
	subpd	%xmm4, %xmm1
	movapd	%xmm1, %xmm2
	unpckhpd	%xmm1, %xmm2                    ## xmm2 = xmm2[1],xmm1[1]
	addsd	%xmm1, %xmm2
	divsd	%xmm0, %xmm2
	movq	%rbx, %xmm1
	punpckldq	%xmm3, %xmm1            ## xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
	subpd	%xmm4, %xmm1
	mulsd	LCPI0_4(%rip), %xmm0
	movapd	%xmm1, %xmm3
	unpckhpd	%xmm1, %xmm3                    ## xmm3 = xmm3[1],xmm1[1]
	addsd	%xmm1, %xmm3
	divsd	%xmm3, %xmm0
	movq	_SCSP_LFO_LB@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	movl	$1, %eax
	shll	%cl, %eax
	mulsd	%xmm0, %xmm2
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	mulsd	%xmm2, %xmm0
	callq	_scsp_round
	movapd	LCPI0_0(%rip), %xmm3            ## xmm3 = [1127219200,1160773632,0,0]
	movq	(%r12), %rcx
	movq	%rax, -8(%rcx,%r15,8)
	incq	%r13
	decq	%r15
	jne	LBB0_4
## %bb.5:
	cmpq	$0, (%r14)
	je	LBB0_17
## %bb.6:
	movq	_SCSP_LFO_MASK@GOTPCREL(%rip), %r15
	movq	_scsp_lfo_sawt_e@GOTPCREL(%rip), %rbx
	movq	_scsp_lfo_noi_f@GOTPCREL(%rip), %r13
	xorl	%r12d, %r12d
	jmp	LBB0_7
	.p2align	4, 0x90
LBB0_15:                                ##   in Loop: Header=BB0_7 Depth=1
	movl	$128, %edx
	subl	%eax, %edx
	movq	_scsp_lfo_squa_f@GOTPCREL(%rip), %rdi
	movq	(%rdi), %rdi
	movl	%edx, (%rdi,%r12,4)
	movq	(%r15), %rdx
	addq	%rsi, %rsi
	subq	%rax, %rsi
	addq	%rdx, %rsi
	incq	%rsi
LBB0_16:                                ##   in Loop: Header=BB0_7 Depth=1
	movapd	LCPI0_0(%rip), %xmm3            ## xmm3 = [1127219200,1160773632,0,0]
	movq	_scsp_lfo_tri_f@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	leaq	768(%r12), %rdi
	andq	%rdx, %rdi
	movq	%rsi, (%rax,%rdi,8)
	movq	(%rcx,%r12,8), %rax
	movq	(%r14), %rcx
	shrq	%rcx
	subq	%rcx, %rax
	movq	(%r13), %rcx
	movq	%rax, (%rcx,%r12,8)
	incq	%r12
	cmpq	(%r14), %r12
	jae	LBB0_17
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movq	(%r15), %rax
	subq	%r12, %rax
	movq	(%rbx), %rcx
	movq	%rax, (%rcx,%r12,8)
	movq	(%r14), %rax
	shrq	%rax
	cmpq	%rax, %r12
	jae	LBB0_8
## %bb.9:                               ##   in Loop: Header=BB0_7 Depth=1
	movq	(%r15), %rax
	jmp	LBB0_10
	.p2align	4, 0x90
LBB0_8:                                 ##   in Loop: Header=BB0_7 Depth=1
	xorl	%eax, %eax
LBB0_10:                                ##   in Loop: Header=BB0_7 Depth=1
	movq	_scsp_lfo_squa_e@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rax, (%rcx,%r12,8)
	movq	(%r14), %rcx
	shrq	%rcx
	movq	%r12, %rax
	subq	%rcx, %rax
	jae	LBB0_12
## %bb.11:                              ##   in Loop: Header=BB0_7 Depth=1
	movq	(%r15), %rax
	subq	%r12, %rax
	subq	%r12, %rax
	jmp	LBB0_13
	.p2align	4, 0x90
LBB0_12:                                ##   in Loop: Header=BB0_7 Depth=1
	addq	%rax, %rax
LBB0_13:                                ##   in Loop: Header=BB0_7 Depth=1
	movq	_scsp_lfo_tri_e@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rax, (%rcx,%r12,8)
	xorl	%eax, %eax
	callq	_rand
	andq	(%r15), %rax
	movq	_scsp_lfo_noi_e@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rax, (%rcx,%r12,8)
	movq	(%r14), %rax
	shrq	%rax
	movq	%r12, %rdx
	subq	%rax, %rdx
	movq	_scsp_lfo_sawt_f@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	leaq	512(%r12), %rsi
	andq	(%r15), %rsi
	movq	%rdx, (%rax,%rsi,8)
	movq	(%r14), %rax
	shrq	%rax
	movq	%rax, %rsi
	subq	%r12, %rsi
	jbe	LBB0_15
## %bb.14:                              ##   in Loop: Header=BB0_7 Depth=1
	movq	(%r15), %rdx
	movl	%edx, %esi
	subl	%eax, %esi
	addl	$-128, %esi
	movq	_scsp_lfo_squa_f@GOTPCREL(%rip), %rdi
	movq	(%rdi), %rdi
	movl	%esi, (%rdi,%r12,4)
	leaq	(%r12,%r12), %rsi
	subq	%rax, %rsi
	jmp	LBB0_16
LBB0_17:
	movq	_scsp_attack_rate@GOTPCREL(%rip), %r12
	movq	(%r12), %rax
	movq	_scsp_decay_rate@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	$0, (%rax)
	movq	$0, (%rcx)
	movq	$0, 8(%rax)
	movq	$0, 8(%rcx)
	movq	$0, 16(%rax)
	movq	$0, 16(%rcx)
	movq	$0, 24(%rax)
	movq	$0, 24(%rcx)
	xorl	%ebx, %ebx
	movq	_SCSP_ENV_LB@GOTPCREL(%rip), %r13
	movapd	LCPI0_1(%rip), %xmm2            ## xmm2 = [4.503599627370496E+15,1.9342813113834067E+25]
	movq	_SCSP_ATTACK_R@GOTPCREL(%rip), %r15
	movq	_SCSP_DECAY_R@GOTPCREL(%rip), %r14
	jmp	LBB0_18
	.p2align	4, 0x90
LBB0_22:                                ##   in Loop: Header=BB0_18 Depth=1
	incq	%rbx
	cmpq	$60, %rbx
	movapd	LCPI0_0(%rip), %xmm3            ## xmm3 = [1127219200,1160773632,0,0]
	movapd	LCPI0_1(%rip), %xmm2            ## xmm2 = [4.503599627370496E+15,1.9342813113834067E+25]
	je	LBB0_23
LBB0_18:                                ## =>This Inner Loop Header: Depth=1
	movl	%ebx, %eax
	andl	$3, %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movq	%rbx, %rcx
	shrq	$2, %rcx
	movl	$1, %eax
                                        ## kill: def $cl killed $cl killed $rcx
	shll	%cl, %eax
	mulsd	LCPI0_5(%rip), %xmm0
	xorps	%xmm1, %xmm1
	cvtsi2sd	%eax, %xmm1
	addsd	LCPI0_3(%rip), %xmm0
	mulsd	%xmm0, %xmm1
	movq	_SCSP_ENV_LEN@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movzbl	(%r13), %ecx
	shlq	%cl, %rax
	movq	%rax, %xmm0
	punpckldq	%xmm3, %xmm0            ## xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
	subpd	%xmm2, %xmm0
	movapd	%xmm0, %xmm2
	unpckhpd	%xmm0, %xmm2                    ## xmm2 = xmm2[1],xmm0[1]
	addsd	%xmm0, %xmm2
	mulsd	%xmm1, %xmm2
	movapd	%xmm2, -64(%rbp)                ## 16-byte Spill
	xorps	%xmm1, %xmm1
	cvtsi2sdq	(%r15), %xmm1
	movapd	%xmm2, %xmm0
	divsd	%xmm1, %xmm0
	callq	_scsp_round
	movq	(%r12), %rcx
	movq	%rax, 32(%rcx,%rbx,8)
	xorps	%xmm1, %xmm1
	cvtsi2sdq	(%r14), %xmm1
	movapd	-64(%rbp), %xmm0                ## 16-byte Reload
	divsd	%xmm1, %xmm0
	callq	_scsp_round
	movq	_scsp_decay_rate@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdx
	movq	%rax, 32(%rdx,%rbx,8)
	movq	(%r12), %rcx
	cmpq	$0, 32(%rcx,%rbx,8)
	je	LBB0_19
## %bb.20:                              ##   in Loop: Header=BB0_18 Depth=1
	testq	%rax, %rax
	jne	LBB0_22
	jmp	LBB0_21
	.p2align	4, 0x90
LBB0_19:                                ##   in Loop: Header=BB0_18 Depth=1
	movq	$1, 32(%rcx,%rbx,8)
	movq	32(%rdx,%rbx,8), %rax
	testq	%rax, %rax
	jne	LBB0_22
LBB0_21:                                ##   in Loop: Header=BB0_18 Depth=1
	movq	$1, 32(%rdx,%rbx,8)
	jmp	LBB0_22
LBB0_23:
	movq	_SCSP_ENV_AE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 504(%rcx)
	movq	480(%rdx), %rax
	movq	%rax, 488(%rdx)
	movq	%rax, 496(%rdx)
	movq	%rax, 504(%rdx)
	movq	_scsp_null_rate@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_24:                                ## =>This Inner Loop Header: Depth=1
	movq	504(%rcx), %rdi
	movq	%rdi, 512(%rcx,%rsi,8)
	movq	504(%rdx), %rdi
	movq	%rdi, 512(%rdx,%rsi,8)
	movq	$0, (%rax,%rsi,8)
	movq	504(%rcx), %rdi
	movq	%rdi, 520(%rcx,%rsi,8)
	movq	504(%rdx), %rdi
	movq	%rdi, 520(%rdx,%rsi,8)
	movq	$0, 8(%rax,%rsi,8)
	addq	$2, %rsi
	cmpq	$32, %rsi
	jne	LBB0_24
## %bb.25:
	xorl	%ebx, %ebx
	leaq	L_.str(%rip), %r14
	leaq	L_.str.1(%rip), %r15
	.p2align	4, 0x90
LBB0_26:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rcx,%rbx,8), %rdx
	movzbl	(%r13), %ecx
	movq	%rdx, %rax
	shrq	%cl, %rax
	movq	%r14, %rdi
	movq	%rbx, %rsi
	movq	%rax, %rcx
	callq	_SCSPLOG
	movq	_scsp_decay_rate@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rax,%rbx,8), %rdx
	movzbl	(%r13), %ecx
	movq	%rdx, %rax
	shrq	%cl, %rax
	movq	%r15, %rdi
	movq	%rbx, %rsi
	movq	%rax, %rcx
	callq	_SCSPLOG
	cmpq	$95, %rbx
	je	LBB0_27
## %bb.30:                              ##   in Loop: Header=BB0_26 Depth=1
	movq	(%r12), %rcx
	incq	%rbx
	jmp	LBB0_26
LBB0_27:
	xorl	%ebx, %ebx
	movq	_scsp_tl_table@GOTPCREL(%rip), %r14
	.p2align	4, 0x90
LBB0_28:                                ## =>This Inner Loop Header: Depth=1
	movq	%rbx, %xmm1
	punpckldq	LCPI0_0(%rip), %xmm1    ## xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
	subpd	LCPI0_1(%rip), %xmm1
	movapd	%xmm1, %xmm0
	unpckhpd	%xmm1, %xmm0                    ## xmm0 = xmm0[1],xmm1[1]
	addsd	%xmm1, %xmm0
	mulsd	LCPI0_6(%rip), %xmm0
	divsd	LCPI0_7(%rip), %xmm0
	movl	$10, %edi
	callq	_pow
	mulsd	LCPI0_8(%rip), %xmm0
	callq	_scsp_round
	movq	(%r14), %rcx
	movq	%rax, (%rcx,%rbx,8)
	incq	%rbx
	cmpq	$256, %rbx                      ## imm = 0x100
	jne	LBB0_28
## %bb.29:
	xorl	%eax, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_scsp_reset                     ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_scsp_reg,8,3                   ## @scsp_reg
	.comm	_scsp_isr,8,3                   ## @scsp_isr
	.comm	_scsp_ccr,8,3                   ## @scsp_ccr
	.comm	_scsp_dcr,8,3                   ## @scsp_dcr
	.comm	_scsp,24,3                      ## @scsp
	.comm	_SCSP_ENV_LEN,8,3               ## @SCSP_ENV_LEN
	.comm	_SCSP_ENV_MASK,8,3              ## @SCSP_ENV_MASK
	.comm	_scsp_env_table,8,3             ## @scsp_env_table
	.comm	_SCSP_FREQ,8,3                  ## @SCSP_FREQ
	.comm	_SCSP_LFO_LEN,8,3               ## @SCSP_LFO_LEN
	.comm	_SCSP_LFO_LB,4,2                ## @SCSP_LFO_LB
	.comm	_scsp_lfo_step,8,3              ## @scsp_lfo_step
	.comm	_SCSP_LFO_MASK,8,3              ## @SCSP_LFO_MASK
	.comm	_scsp_lfo_sawt_e,8,3            ## @scsp_lfo_sawt_e
	.comm	_scsp_lfo_squa_e,8,3            ## @scsp_lfo_squa_e
	.comm	_scsp_lfo_tri_e,8,3             ## @scsp_lfo_tri_e
	.comm	_scsp_lfo_noi_e,8,3             ## @scsp_lfo_noi_e
	.comm	_scsp_lfo_sawt_f,8,3            ## @scsp_lfo_sawt_f
	.comm	_scsp_lfo_squa_f,8,3            ## @scsp_lfo_squa_f
	.comm	_scsp_lfo_tri_f,8,3             ## @scsp_lfo_tri_f
	.comm	_scsp_lfo_noi_f,8,3             ## @scsp_lfo_noi_f
	.comm	_scsp_attack_rate,8,3           ## @scsp_attack_rate
	.comm	_scsp_decay_rate,8,3            ## @scsp_decay_rate
	.comm	_SCSP_ENV_LB,8,3                ## @SCSP_ENV_LB
	.comm	_SCSP_ATTACK_R,8,3              ## @SCSP_ATTACK_R
	.comm	_SCSP_DECAY_R,8,3               ## @SCSP_DECAY_R
	.comm	_SCSP_ENV_AE,8,3                ## @SCSP_ENV_AE
	.comm	_scsp_null_rate,8,3             ## @scsp_null_rate
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"attack rate[%d] = %.8X -> %.8X\n"

L_.str.1:                               ## @.str.1
	.asciz	"decay rate[%d] = %.8X -> %.8X\n"

	.comm	_scsp_tl_table,8,3              ## @scsp_tl_table
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_scsp_init                      ; -- Begin function scsp_init
	.p2align	2
_scsp_init:                             ; @scsp_init
	.cfi_startproc
; %bb.0:
	stp	d11, d10, [sp, #-128]!          ; 16-byte Folded Spill
	.cfi_def_cfa_offset 128
	stp	d9, d8, [sp, #16]               ; 16-byte Folded Spill
	stp	x28, x27, [sp, #32]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.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 w27, -88
	.cfi_offset w28, -96
	.cfi_offset b8, -104
	.cfi_offset b9, -112
	.cfi_offset b10, -120
	.cfi_offset b11, -128
	mov	x19, x2
	mov	x20, x1
	mov	x21, x0
	bl	_scsp_shutdown
Lloh0:
	adrp	x8, _scsp_reg@GOTPAGE
Lloh1:
	ldr	x8, [x8, _scsp_reg@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
Lloh3:
	adrp	x9, _scsp_isr@GOTPAGE
Lloh4:
	ldr	x9, [x9, _scsp_isr@GOTPAGEOFF]
Lloh5:
	str	x8, [x9]
	add	x9, x8, #1, lsl #12             ; =4096
Lloh6:
	adrp	x10, _scsp_ccr@GOTPAGE
Lloh7:
	ldr	x10, [x10, _scsp_ccr@GOTPAGEOFF]
Lloh8:
	str	x9, [x10]
	mov	w9, #7168
	add	x8, x8, x9
Lloh9:
	adrp	x9, _scsp_dcr@GOTPAGE
Lloh10:
	ldr	x9, [x9, _scsp_dcr@GOTPAGEOFF]
Lloh11:
	str	x8, [x9]
Lloh12:
	adrp	x8, _scsp@GOTPAGE
Lloh13:
	ldr	x8, [x8, _scsp@GOTPAGEOFF]
	stp	x19, x21, [x8, #8]
	str	x20, [x8]
Lloh14:
	adrp	x19, _SCSP_ENV_LEN@GOTPAGE
Lloh15:
	ldr	x19, [x19, _SCSP_ENV_LEN@GOTPAGEOFF]
	ldr	x8, [x19]
	cbz	x8, LBB0_3
; %bb.1:
	mov	x20, #0
	mov	x21, #0
Lloh16:
	adrp	x22, _SCSP_ENV_MASK@GOTPAGE
Lloh17:
	ldr	x22, [x22, _SCSP_ENV_MASK@GOTPAGEOFF]
Lloh18:
	adrp	x23, _scsp_env_table@GOTPAGE
Lloh19:
	ldr	x23, [x23, _scsp_env_table@GOTPAGEOFF]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x9, [x22]
	add	x9, x20, x9
	ucvtf	d0, x9
	ucvtf	d1, x8
	fdiv	d0, d0, d1
	fcvtzs	w0, d0
	fmov	d0, #7.00000000
	bl	_pow
	ldr	d1, [x19]
	ucvtf	d1, d1
	fmul	d0, d0, d1
	ldr	x8, [x22]
	fcvtzs	x9, d0
	sub	x8, x8, x9
	ldr	x9, [x23]
	str	x8, [x9, x21, lsl #3]
	ucvtf	d0, x21
	ldr	d1, [x19]
	ucvtf	d1, d1
	fdiv	d0, d0, d1
	fcvtzs	w0, d0
	fmov	d0, #1.00000000
	bl	_pow
	ldr	x8, [x19]
	ucvtf	d1, x8
	fmul	d0, d0, d1
	ldr	x9, [x22]
	fcvtzs	x10, d0
	sub	x9, x9, x10
	ldr	x10, [x23]
	add	x8, x21, x8
	str	x9, [x10, x8, lsl #3]
	add	x21, x21, #1
	ldr	x8, [x19]
	sub	x20, x20, #1
	cmp	x21, x8
	b.lo	LBB0_2
LBB0_3:
	mov	x21, #0
	mov	x22, #0
	mov	w23, #248
	mov	w24, #1
Lloh20:
	adrp	x25, _SCSP_FREQ@GOTPAGE
Lloh21:
	ldr	x25, [x25, _SCSP_FREQ@GOTPAGEOFF]
	mov	x26, #4571153621781053440
Lloh22:
	adrp	x20, _SCSP_LFO_LEN@GOTPAGE
Lloh23:
	ldr	x20, [x20, _SCSP_LFO_LEN@GOTPAGEOFF]
Lloh24:
	adrp	x27, _SCSP_LFO_LB@GOTPAGE
Lloh25:
	ldr	x27, [x27, _SCSP_LFO_LB@GOTPAGEOFF]
Lloh26:
	adrp	x28, _scsp_lfo_step@GOTPAGE
Lloh27:
	ldr	x28, [x28, _scsp_lfo_step@GOTPAGEOFF]
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	lsr	x8, x22, #2
	lsl	w8, w24, w8
	add	x21, x21, x8
	ldr	d0, [x25]
	fmov	d1, x26
	fmul	d1, d0, d1
	ldr	d2, [x20]
	ucvtf	d2, d2
	fdiv	d0, d2, d0
	ucvtf	d2, x21
	fdiv	d1, d1, d2
	fmul	d0, d1, d0
	ldr	w8, [x27]
	lsl	w8, w24, w8
	scvtf	d1, w8
	fmul	d0, d0, d1
	bl	_scsp_round
	ldr	x8, [x28]
	str	x0, [x8, x23]
	add	x22, x22, #1
	sub	x23, x23, #8
	cmn	x23, #8
	b.ne	LBB0_4
; %bb.5:
	ldr	x8, [x20]
	cbz	x8, LBB0_14
; %bb.6:
	mov	x21, #0
	mov	x22, #0
	mov	x23, #0
Lloh28:
	adrp	x24, _SCSP_LFO_MASK@GOTPAGE
Lloh29:
	ldr	x24, [x24, _SCSP_LFO_MASK@GOTPAGEOFF]
Lloh30:
	adrp	x26, _scsp_lfo_squa_f@GOTPAGE
Lloh31:
	ldr	x26, [x26, _scsp_lfo_squa_f@GOTPAGEOFF]
Lloh32:
	adrp	x27, _scsp_lfo_tri_f@GOTPAGE
Lloh33:
	ldr	x27, [x27, _scsp_lfo_tri_f@GOTPAGEOFF]
Lloh34:
	adrp	x28, _scsp_lfo_noi_f@GOTPAGE
Lloh35:
	ldr	x28, [x28, _scsp_lfo_noi_f@GOTPAGEOFF]
	b	LBB0_9
LBB0_7:                                 ;   in Loop: Header=BB0_9 Depth=1
	mov	w9, #128
	sub	w9, w9, w10
	ldr	x11, [x26]
	str	w9, [x11, x23, lsl #2]
	ldr	x9, [x24]
	add	x11, x21, x10
	lsl	x11, x11, #1
	sub	x10, x11, x10
	add	x10, x10, x9
	add	x10, x10, #1
LBB0_8:                                 ;   in Loop: Header=BB0_9 Depth=1
	ldr	x11, [x27]
	add	x12, x23, #768
	and	x9, x9, x12
	str	x10, [x11, x9, lsl #3]
	ldr	x8, [x8, x25]
	ldr	x9, [x20]
	sub	x8, x8, x9, lsr #1
	ldr	x9, [x28]
	str	x8, [x9, x25]
	ldr	x8, [x20]
	add	x22, x22, #2
	sub	x21, x21, #1
	add	x23, x23, #1
	cmp	x23, x8
	b.hs	LBB0_14
LBB0_9:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x24]
	add	x8, x21, x8
Lloh36:
	adrp	x9, _scsp_lfo_sawt_e@GOTPAGE
Lloh37:
	ldr	x9, [x9, _scsp_lfo_sawt_e@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	lsl	x25, x23, #3
	str	x8, [x9, x25]
	ldr	x8, [x20]
	ldr	x9, [x24]
	cmp	x23, x8, lsr #1
	csel	x8, x9, xzr, lo
Lloh39:
	adrp	x9, _scsp_lfo_squa_e@GOTPAGE
Lloh40:
	ldr	x9, [x9, _scsp_lfo_squa_e@GOTPAGEOFF]
Lloh41:
	ldr	x9, [x9]
	str	x8, [x9, x25]
	ldr	x8, [x20]
	lsr	x8, x8, #1
	cmp	x23, x8
	b.hs	LBB0_11
; %bb.10:                               ;   in Loop: Header=BB0_9 Depth=1
	ldr	x8, [x24]
	sub	x8, x8, x23, lsl #1
	b	LBB0_12
LBB0_11:                                ;   in Loop: Header=BB0_9 Depth=1
	sub	x8, x22, x8, lsl #1
LBB0_12:                                ;   in Loop: Header=BB0_9 Depth=1
Lloh42:
	adrp	x9, _scsp_lfo_tri_e@GOTPAGE
Lloh43:
	ldr	x9, [x9, _scsp_lfo_tri_e@GOTPAGEOFF]
Lloh44:
	ldr	x9, [x9]
	str	x8, [x9, x25]
	bl	_rand
	ldr	x8, [x24]
	and	x9, x8, x0
Lloh45:
	adrp	x8, _scsp_lfo_noi_e@GOTPAGE
Lloh46:
	ldr	x8, [x8, _scsp_lfo_noi_e@GOTPAGEOFF]
Lloh47:
	ldr	x8, [x8]
	str	x9, [x8, x25]
	ldr	x9, [x20]
	sub	x9, x23, x9, lsr #1
Lloh48:
	adrp	x10, _scsp_lfo_sawt_f@GOTPAGE
Lloh49:
	ldr	x10, [x10, _scsp_lfo_sawt_f@GOTPAGEOFF]
Lloh50:
	ldr	x10, [x10]
	add	x11, x23, #512
	ldr	x12, [x24]
	and	x11, x12, x11
	str	x9, [x10, x11, lsl #3]
	ldr	x9, [x20]
	lsr	x10, x9, #1
	cmp	x10, x23
	b.ls	LBB0_7
; %bb.13:                               ;   in Loop: Header=BB0_9 Depth=1
	ldr	x9, [x24]
	sub	w11, w9, w10
	sub	w11, w11, #128
	ldr	x12, [x26]
	str	w11, [x12, x23, lsl #2]
	sub	x10, x22, x10
	b	LBB0_8
LBB0_14:
Lloh51:
	adrp	x22, _scsp_attack_rate@GOTPAGE
Lloh52:
	ldr	x22, [x22, _scsp_attack_rate@GOTPAGEOFF]
	ldr	x8, [x22]
Lloh53:
	adrp	x23, _scsp_decay_rate@GOTPAGE
Lloh54:
	ldr	x23, [x23, _scsp_decay_rate@GOTPAGEOFF]
	ldr	x9, [x23]
	str	xzr, [x8]
	str	xzr, [x9]
	str	xzr, [x8, #8]
	str	xzr, [x9, #8]
	str	xzr, [x8, #16]
	str	xzr, [x9, #16]
	str	xzr, [x8, #24]
	str	xzr, [x9, #24]
	mov	w20, #4
	fmov	d8, #1.00000000
	fmov	d9, #0.25000000
	mov	w21, #1
Lloh55:
	adrp	x24, _SCSP_ENV_LB@GOTPAGE
Lloh56:
	ldr	x24, [x24, _SCSP_ENV_LB@GOTPAGEOFF]
Lloh57:
	adrp	x25, _SCSP_ATTACK_R@GOTPAGE
Lloh58:
	ldr	x25, [x25, _SCSP_ATTACK_R@GOTPAGEOFF]
Lloh59:
	adrp	x26, _SCSP_DECAY_R@GOTPAGE
Lloh60:
	ldr	x26, [x26, _SCSP_DECAY_R@GOTPAGEOFF]
	b	LBB0_16
LBB0_15:                                ;   in Loop: Header=BB0_16 Depth=1
	add	x20, x20, #1
	cmp	x20, #64
	b.eq	LBB0_20
LBB0_16:                                ; =>This Inner Loop Header: Depth=1
	sub	x8, x20, #4
	and	x9, x8, #0x3
	ucvtf	d0, x9
	fmadd	d0, d0, d9, d8
	lsr	x8, x8, #2
	lsl	w8, w21, w8
	scvtf	d1, w8
	fmul	d0, d0, d1
	ldr	x8, [x19]
	ldr	x9, [x24]
	lsl	x8, x8, x9
	ucvtf	d1, x8
	fmul	d10, d0, d1
	ldr	d0, [x25]
	scvtf	d0, d0
	fdiv	d0, d10, d0
	bl	_scsp_round
	ldr	x8, [x22]
	lsl	x27, x20, #3
	str	x0, [x8, x27]
	ldr	d0, [x26]
	scvtf	d0, d0
	fdiv	d0, d10, d0
	bl	_scsp_round
	ldr	x9, [x23]
	str	x0, [x9, x27]
	ldr	x8, [x22]
	ldr	x10, [x8, x27]
	cbz	x10, LBB0_18
; %bb.17:                               ;   in Loop: Header=BB0_16 Depth=1
	cbnz	x0, LBB0_15
	b	LBB0_19
LBB0_18:                                ;   in Loop: Header=BB0_16 Depth=1
	str	x21, [x8, x27]
	ldr	x0, [x9, x27]
	cbnz	x0, LBB0_15
LBB0_19:                                ;   in Loop: Header=BB0_16 Depth=1
	str	x21, [x9, x20, lsl #3]
	b	LBB0_15
LBB0_20:
	mov	x10, #0
Lloh61:
	adrp	x11, _SCSP_ENV_AE@GOTPAGE
Lloh62:
	ldr	x11, [x11, _SCSP_ENV_AE@GOTPAGEOFF]
Lloh63:
	ldr	x11, [x11]
	str	x11, [x8, #504]
	ldr	x11, [x9, #480]
	stp	x11, x11, [x9, #488]
	str	x11, [x9, #504]
Lloh64:
	adrp	x11, _scsp_null_rate@GOTPAGE
Lloh65:
	ldr	x11, [x11, _scsp_null_rate@GOTPAGEOFF]
Lloh66:
	ldr	x11, [x11]
	add	x12, x9, #512
LBB0_21:                                ; =>This Inner Loop Header: Depth=1
	ldr	x13, [x8, #504]
	add	x14, x8, x10
	str	x13, [x14, #512]
	ldr	x13, [x9, #504]
	str	x13, [x12, x10]
	str	xzr, [x11, x10]
	add	x10, x10, #8
	cmp	x10, #256
	b.ne	LBB0_21
; %bb.22:
	mov	x19, #0
Lloh67:
	adrp	x20, l_.str@PAGE
Lloh68:
	add	x20, x20, l_.str@PAGEOFF
Lloh69:
	adrp	x21, l_.str.1@PAGE
Lloh70:
	add	x21, x21, l_.str.1@PAGEOFF
LBB0_23:                                ; =>This Inner Loop Header: Depth=1
	lsl	x25, x19, #3
	ldr	x2, [x8, x25]
	ldr	x8, [x24]
	lsr	x3, x2, x8
	mov	x0, x20
	mov	x1, x19
	bl	_SCSPLOG
	ldr	x8, [x23]
	ldr	x2, [x8, x25]
	ldr	x8, [x24]
	lsr	x3, x2, x8
	mov	x0, x21
	mov	x1, x19
	bl	_SCSPLOG
	cmp	x19, #95
	b.eq	LBB0_25
; %bb.24:                               ;   in Loop: Header=BB0_23 Depth=1
	ldr	x8, [x22]
	add	x19, x19, #1
	b	LBB0_23
LBB0_25:
	mov	x19, #0
	mov	x20, #21810
	movk	x20, #10800, lsl #16
	movk	x20, #5033, lsl #32
	movk	x20, #49112, lsl #48
	fmov	d8, #20.00000000
	mov	x21, #4652218415073722368
Lloh71:
	adrp	x22, _scsp_tl_table@GOTPAGE
Lloh72:
	ldr	x22, [x22, _scsp_tl_table@GOTPAGEOFF]
LBB0_26:                                ; =>This Inner Loop Header: Depth=1
	ucvtf	d0, x19
	fmov	d1, x20
	fmul	d0, d0, d1
	fdiv	d0, d0, d8
	mov	w0, #10
	bl	_pow
	fmov	d1, x21
	fmul	d0, d0, d1
	bl	_scsp_round
	ldr	x8, [x22]
	str	x0, [x8, x19, lsl #3]
	add	x19, x19, #1
	cmp	x19, #256
	b.ne	LBB0_26
; %bb.27:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #32]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #16]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp], #128            ; 16-byte Folded Reload
	b	_scsp_reset
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotStr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotStr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotStr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh59, Lloh60
	.loh AdrpLdrGot	Lloh57, Lloh58
	.loh AdrpLdrGot	Lloh55, Lloh56
	.loh AdrpLdrGot	Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh71, Lloh72
	.cfi_endproc
                                        ; -- End function
	.comm	_scsp_reg,8,3                   ; @scsp_reg
	.comm	_scsp_isr,8,3                   ; @scsp_isr
	.comm	_scsp_ccr,8,3                   ; @scsp_ccr
	.comm	_scsp_dcr,8,3                   ; @scsp_dcr
	.comm	_scsp,24,3                      ; @scsp
	.comm	_SCSP_ENV_LEN,8,3               ; @SCSP_ENV_LEN
	.comm	_SCSP_ENV_MASK,8,3              ; @SCSP_ENV_MASK
	.comm	_scsp_env_table,8,3             ; @scsp_env_table
	.comm	_SCSP_FREQ,8,3                  ; @SCSP_FREQ
	.comm	_SCSP_LFO_LEN,8,3               ; @SCSP_LFO_LEN
	.comm	_SCSP_LFO_LB,4,2                ; @SCSP_LFO_LB
	.comm	_scsp_lfo_step,8,3              ; @scsp_lfo_step
	.comm	_SCSP_LFO_MASK,8,3              ; @SCSP_LFO_MASK
	.comm	_scsp_lfo_sawt_e,8,3            ; @scsp_lfo_sawt_e
	.comm	_scsp_lfo_squa_e,8,3            ; @scsp_lfo_squa_e
	.comm	_scsp_lfo_tri_e,8,3             ; @scsp_lfo_tri_e
	.comm	_scsp_lfo_noi_e,8,3             ; @scsp_lfo_noi_e
	.comm	_scsp_lfo_sawt_f,8,3            ; @scsp_lfo_sawt_f
	.comm	_scsp_lfo_squa_f,8,3            ; @scsp_lfo_squa_f
	.comm	_scsp_lfo_tri_f,8,3             ; @scsp_lfo_tri_f
	.comm	_scsp_lfo_noi_f,8,3             ; @scsp_lfo_noi_f
	.comm	_scsp_attack_rate,8,3           ; @scsp_attack_rate
	.comm	_scsp_decay_rate,8,3            ; @scsp_decay_rate
	.comm	_SCSP_ENV_LB,8,3                ; @SCSP_ENV_LB
	.comm	_SCSP_ATTACK_R,8,3              ; @SCSP_ATTACK_R
	.comm	_SCSP_DECAY_R,8,3               ; @SCSP_DECAY_R
	.comm	_SCSP_ENV_AE,8,3                ; @SCSP_ENV_AE
	.comm	_scsp_null_rate,8,3             ; @scsp_null_rate
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"attack rate[%d] = %.8X -> %.8X\n"

l_.str.1:                               ; @.str.1
	.asciz	"decay rate[%d] = %.8X -> %.8X\n"

	.comm	_scsp_tl_table,8,3              ; @scsp_tl_table
.subsections_via_symbols
