	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function pixel
LCPI0_0:
	.quad	0x3ff0000000000000              ## double 1
LCPI0_2:
	.quad	0x40efffe000000000              ## double 65535
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.quad	0x3ff0000000000000              ## double 1
	.quad	0x3ff0000000000000              ## double 1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_pixel:                                 ## @pixel
	.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	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movsd	%xmm1, -96(%rbp)                ## 8-byte Spill
	movsd	%xmm0, -88(%rbp)                ## 8-byte Spill
	movq	%rdi, %r14
	testl	%edx, %edx
	jle	LBB0_8
## %bb.1:
	movq	%rsi, %r15
	movl	%edx, %r13d
	xorpd	%xmm1, %xmm1
	xorpd	%xmm3, %xmm3
	xorpd	%xmm0, %xmm0
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movsd	%xmm3, -80(%rbp)                ## 8-byte Spill
	movapd	%xmm1, -64(%rbp)                ## 16-byte Spill
	movsd	%xmm0, -48(%rbp)                ## 8-byte Spill
	movq	%r13, %r12
	decq	%r13
	movl	%r13d, %ebx
	leaq	(%r15,%rbx,8), %rdi
	movsd	-88(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	movsd	-96(%rbp), %xmm1                ## 8-byte Reload
                                        ## xmm1 = mem[0],zero
	callq	_alpha_calc
	movapd	-64(%rbp), %xmm5                ## 16-byte Reload
	movsd	-80(%rbp), %xmm3                ## 8-byte Reload
                                        ## xmm3 = mem[0],zero
	movsd	LCPI0_0(%rip), %xmm2            ## xmm2 = mem[0],zero
	xorps	%xmm1, %xmm1
	cvtsi2sd	%eax, %xmm1
	movapd	%xmm2, %xmm0
	subsd	%xmm3, %xmm0
	mulsd	%xmm1, %xmm0
	movq	(%r15,%rbx,8), %rax
	movupd	(%rax), %xmm1
	movddup	%xmm0, %xmm4                    ## xmm4 = xmm0[0,0]
	mulpd	%xmm1, %xmm4
	addsd	%xmm0, %xmm3
	mulsd	16(%rax), %xmm0
	addsd	-48(%rbp), %xmm0                ## 8-byte Folded Reload
	cmpq	$2, %r12
	jb	LBB0_4
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	movapd	%xmm4, %xmm1
	addpd	%xmm5, %xmm1
	ucomisd	%xmm2, %xmm3
	jne	LBB0_2
	jp	LBB0_2
LBB0_4:
	xorpd	%xmm1, %xmm1
	ucomisd	%xmm1, %xmm3
	jbe	LBB0_8
## %bb.5:
	addpd	%xmm5, %xmm4
	ucomisd	%xmm2, %xmm3
	movapd	%xmm2, %xmm1
	minsd	%xmm0, %xmm1
	movapd	%xmm2, %xmm5
	cmpltsd	%xmm3, %xmm5
	andpd	%xmm5, %xmm1
	andnpd	%xmm0, %xmm5
	orpd	%xmm1, %xmm5
	movapd	%xmm5, -80(%rbp)                ## 16-byte Spill
	minsd	%xmm3, %xmm2
	jbe	LBB0_7
## %bb.6:
	movapd	LCPI0_1(%rip), %xmm0            ## xmm0 = [1.0E+0,1.0E+0]
	minpd	%xmm4, %xmm0
	movapd	%xmm0, %xmm4
LBB0_7:
	movapd	%xmm4, -64(%rbp)                ## 16-byte Spill
	movapd	%xmm4, %xmm0
	mulsd	LCPI0_2(%rip), %xmm0
	movsd	%xmm2, -48(%rbp)                ## 8-byte Spill
	callq	_round
	movq	%rax, (%r14)
	movapd	-64(%rbp), %xmm0                ## 16-byte Reload
	unpckhpd	%xmm0, %xmm0                    ## xmm0 = xmm0[1,1]
	mulsd	LCPI0_2(%rip), %xmm0
	callq	_round
	movq	%rax, 8(%r14)
	movapd	-80(%rbp), %xmm0                ## 16-byte Reload
	mulsd	LCPI0_2(%rip), %xmm0
	callq	_round
	movq	%rax, 16(%r14)
	movsd	-48(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	mulsd	LCPI0_2(%rip), %xmm0
	callq	_round
	movq	%rax, 24(%r14)
	jmp	LBB0_9
LBB0_8:
	xorpd	%xmm0, %xmm0
	movupd	%xmm0, 16(%r14)
	movupd	%xmm0, (%r14)
LBB0_9:
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_pixel
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pixel
_pixel:                                 ; @pixel
	.cfi_startproc
; %bb.0:
	stp	d15, d14, [sp, #-128]!          ; 16-byte Folded Spill
	.cfi_def_cfa_offset 128
	stp	d13, d12, [sp, #16]             ; 16-byte Folded Spill
	stp	d11, d10, [sp, #32]             ; 16-byte Folded Spill
	stp	d9, d8, [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 b8, -72
	.cfi_offset b9, -80
	.cfi_offset b10, -88
	.cfi_offset b11, -96
	.cfi_offset b12, -104
	.cfi_offset b13, -112
	.cfi_offset b14, -120
	.cfi_offset b15, -128
	mov	x19, x0
	cmp	w2, #1
	b.lt	LBB0_6
; %bb.1:
	fmov	d8, d1
	fmov	d9, d0
	mov	x20, x1
	mov	w22, w2
	movi	d10, #0000000000000000
	fmov	d14, #1.00000000
	movi	d11, #0000000000000000
	movi	d12, #0000000000000000
	movi	d13, #0000000000000000
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	sub	x23, x22, #1
	add	x21, x20, w23, uxtw #3
	mov	x0, x21
	fmov	d0, d9
	fmov	d1, d8
	bl	_alpha_calc
	scvtf	d0, w0
	fsub	d1, d14, d10
	fmul	d0, d1, d0
	ldr	x8, [x21]
	ldp	d1, d2, [x8]
	fmadd	d13, d0, d1, d13
	fmadd	d12, d0, d2, d12
	ldr	d1, [x8, #16]
	fmadd	d11, d0, d1, d11
	fadd	d10, d10, d0
	cmp	x22, #2
	b.lo	LBB0_4
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	fcmp	d10, d14
	mov	x22, x23
	b.ne	LBB0_2
LBB0_4:
	fcmp	d10, #0.0
	b.le	LBB0_6
; %bb.5:
	fmov	d0, #1.00000000
	fcmp	d10, d0
	fmin	d1, d13, d0
	fmin	d2, d12, d0
	fmin	d3, d11, d0
	fcsel	d1, d13, d1, le
	fcsel	d8, d12, d2, le
	fcsel	d9, d11, d3, le
	fcsel	d10, d10, d0, le
	mov	x8, #281337537757184
	movk	x8, #16623, lsl #48
	fmov	d11, x8
	fmul	d0, d1, d11
	bl	_round
	str	x0, [x19]
	fmul	d0, d8, d11
	bl	_round
	str	x0, [x19, #8]
	fmul	d0, d9, d11
	bl	_round
	str	x0, [x19, #16]
	fmul	d0, d10, d11
	bl	_round
	str	x0, [x19, #24]
	b	LBB0_7
LBB0_6:
	movi.2d	v0, #0000000000000000
	stp	q0, q0, [x19]
LBB0_7:
	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	d9, d8, [sp, #48]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #32]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp, #16]             ; 16-byte Folded Reload
	ldp	d15, d14, [sp], #128            ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_pixel
.subsections_via_symbols
