	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function imlt_window_float
_imlt_window_float:                     ## @imlt_window_float
	.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	%rbx
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	(%rdi), %r8d
	testl	%r8d, %r8d
	jle	LBB0_13
## %bb.1:
	movq	_pow2tab@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rdx), %rdx
	movslq	(%rdx), %rdx
	movss	252(%rax,%rdx,4), %xmm0         ## xmm0 = mem[0],zero,zero,zero
	movq	8(%rdi), %r10
	cmpl	$4, %r8d
	jae	LBB0_3
## %bb.2:
	xorl	%edi, %edi
	jmp	LBB0_11
LBB0_3:
	leaq	-1(%r8), %rax
	leal	-1(%r8), %ebx
	movl	%ebx, %edx
	subl	%eax, %edx
	xorl	%edi, %edi
	cmpl	%ebx, %edx
	jg	LBB0_11
## %bb.4:
	movq	%rax, %rdx
	shrq	$32, %rdx
	jne	LBB0_11
## %bb.5:
	leaq	(%rsi,%r8,4), %rdi
	leal	-1(%r8), %edx
	movslq	%edx, %rdx
	leaq	1(%rdx), %rbx
	subq	%r8, %rbx
	leaq	(%r10,%rbx,4), %rbx
	leaq	(%r10,%rdx,4), %rdx
	addq	$4, %rdx
	leaq	(%r10,%r8,4), %r9
	cmpq	%rsi, %rdx
	seta	%r14b
	leaq	(%rcx,%r8,4), %r15
	cmpq	%rdi, %rbx
	setb	%bl
	cmpq	%rsi, %r9
	seta	%dl
	cmpq	%rdi, %r10
	setb	%r11b
	cmpq	%rsi, %r15
	seta	%r9b
	cmpq	%rcx, %rdi
	seta	%r15b
	xorl	%edi, %edi
	testb	%bl, %r14b
	jne	LBB0_11
## %bb.6:
	andb	%r11b, %dl
	jne	LBB0_11
## %bb.7:
	andb	%r15b, %r9b
	jne	LBB0_11
## %bb.8:
	movl	%r8d, %edi
	andl	$-4, %edi
	movaps	%xmm0, %xmm1
	shufps	$0, %xmm0, %xmm1                ## xmm1 = xmm1[0,0],xmm0[0,0]
	leaq	(,%r8,4), %r9
	andq	$-16, %r9
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	movups	(%rsi,%rdx), %xmm2
	mulps	%xmm1, %xmm2
	movups	(%r10,%rdx), %xmm3
	mulps	%xmm2, %xmm3
	movups	(%rcx,%rdx), %xmm2
	cltq
	movups	-12(%r10,%rax,4), %xmm4
	shufps	$27, %xmm4, %xmm4               ## xmm4 = xmm4[3,2,1,0]
	mulps	%xmm2, %xmm4
	subps	%xmm4, %xmm3
	movups	%xmm3, (%rsi,%rdx)
	addq	$16, %rdx
	addl	$-4, %eax
	cmpq	%rdx, %r9
	jne	LBB0_9
## %bb.10:
	cmpq	%r8, %rdi
	je	LBB0_13
LBB0_11:
	movl	%edi, %eax
	notl	%eax
	addl	%r8d, %eax
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	movss	(%rsi,%rdi,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cltq
	movss	(%r10,%rax,4), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	mulss	(%rcx,%rdi,4), %xmm2
	mulss	%xmm0, %xmm1
	mulss	(%r10,%rdi,4), %xmm1
	subss	%xmm2, %xmm1
	movss	%xmm1, (%rsi,%rdi,4)
	incq	%rdi
	decl	%eax
	cmpq	%rdi, %r8
	jne	LBB0_12
LBB0_13:
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_pow2tab,8,3                    ## @pow2tab
	.no_dead_strip	_imlt_window_float
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function imlt_window_float
_imlt_window_float:                     ; @imlt_window_float
	.cfi_startproc
; %bb.0:
	ldr	w9, [x0]
	cmp	w9, #1
	b.lt	LBB0_6
; %bb.1:
Lloh0:
	adrp	x8, _pow2tab@GOTPAGE
Lloh1:
	ldr	x8, [x8, _pow2tab@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	ldr	x10, [x2]
	ldrsw	x10, [x10]
	add	x8, x8, x10, lsl #2
	ldr	s0, [x8, #252]
	ldr	x8, [x0, #8]
	cmp	w9, #16
	b.lo	LBB0_3
; %bb.2:
	sub	x11, x9, #1
	sub	w10, w9, #1
	sub	w12, w10, w11
	cmp	w12, w10
	lsr	x10, x11, #32
	ccmp	x10, #0, #0, le
	b.eq	LBB0_7
LBB0_3:
	mov	x10, #0
LBB0_4:
	mvn	w11, w10
	add	w11, w11, w9
	lsl	x14, x10, #2
	add	x12, x3, x14
	add	x13, x8, x14
	add	x14, x1, x14
	sub	x9, x9, x10
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldr	s1, [x14]
	ldr	s2, [x13], #4
	fmul	s1, s0, s1
	ldr	s3, [x12], #4
	ldr	s4, [x8, w11, sxtw #2]
	fneg	s3, s3
	fmul	s3, s4, s3
	fmadd	s1, s1, s2, s3
	str	s1, [x14], #4
	sub	w11, w11, #1
	subs	x9, x9, #1
	b.ne	LBB0_5
LBB0_6:
	ret
LBB0_7:
	mov	x10, #0
	lsl	x13, x9, #2
	sub	w12, w9, #1
	sxtw	x12, w12
	add	x14, x12, #1
	sub	x12, x14, x9
	add	x15, x8, x12, lsl #2
	add	x16, x1, x13
	add	x12, x8, x13
	cmp	x12, x1
	ccmp	x8, x16, #2, hi
	cset	w12, lo
	add	x13, x3, x13
	cmp	x13, x1
	ccmp	x16, x3, #0, hi
	cset	w13, hi
	cmp	x15, x16
	add	x14, x8, x14, lsl #2
	ccmp	x14, x1, #0, lo
	b.hi	LBB0_4
; %bb.8:
	tbnz	w12, #0, LBB0_4
; %bb.9:
	tbnz	w13, #0, LBB0_4
; %bb.10:
	and	x10, x9, #0xfffffff0
	dup.4s	v1, v0[0]
	add	x12, x1, #32
	add	x13, x3, #32
	add	x14, x8, #32
	mov	x15, x10
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldp	q2, q3, [x12, #-32]
	ldp	q4, q5, [x12]
	fmul.4s	v2, v1, v2
	fmul.4s	v3, v1, v3
	fmul.4s	v4, v1, v4
	fmul.4s	v5, v5, v0[0]
	ldp	q6, q7, [x14, #-32]
	ldp	q16, q17, [x14], #64
	ldp	q18, q19, [x13, #-32]
	ldp	q20, q21, [x13], #64
	add	x16, x8, w11, sxtw #2
	ldur	q22, [x16, #-12]
	rev64.4s	v22, v22
	ext.16b	v22, v22, v22, #8
	ldur	q23, [x16, #-28]
	rev64.4s	v23, v23
	ext.16b	v23, v23, v23, #8
	ldur	q24, [x16, #-44]
	rev64.4s	v24, v24
	ext.16b	v24, v24, v24, #8
	ldur	q25, [x16, #-60]
	rev64.4s	v25, v25
	ext.16b	v25, v25, v25, #8
	fneg.4s	v18, v18
	fneg.4s	v19, v19
	fneg.4s	v20, v20
	fneg.4s	v21, v21
	fmul.4s	v18, v22, v18
	fmul.4s	v19, v23, v19
	fmul.4s	v20, v24, v20
	fmul.4s	v21, v25, v21
	fmla.4s	v18, v6, v2
	fmla.4s	v19, v7, v3
	fmla.4s	v20, v16, v4
	fmla.4s	v21, v17, v5
	stp	q18, q19, [x12, #-32]
	sub	w11, w11, #16
	stp	q20, q21, [x12], #64
	subs	x15, x15, #16
	b.ne	LBB0_11
; %bb.12:
	cmp	x10, x9
	b.eq	LBB0_6
	b	LBB0_4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_pow2tab,8,3                    ; @pow2tab
	.no_dead_strip	_imlt_window_float
.subsections_via_symbols
