	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ng_ppp_mp_strategy
_ng_ppp_mp_strategy:                    ## @ng_ppp_mp_strategy
	.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	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r13
	movl	%esi, %r15d
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	callq	_NG_NODE_PRIVATE
	movq	%rax, %r12
	movq	_NG_PPP_MAX_LINKS@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	shlq	$2, %r14
	movq	%r14, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %rbx
	movq	%r14, %rax
	callq	____chkstk_darwin
	movq	%r12, %rcx
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %r12
	cmpl	$1, (%rcx)
	jne	LBB0_2
## %bb.1:
	movl	%r15d, (%r13)
	jmp	LBB0_49
LBB0_2:
	leaq	-120(%rbp), %rdi
	movq	%rcx, -64(%rbp)                 ## 8-byte Spill
	callq	_getmicrouptime
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movl	(%rcx), %esi
	testl	%esi, %esi
	movl	%r15d, -52(%rbp)                ## 4-byte Spill
	jle	LBB0_14
## %bb.3:
	movq	%r13, -104(%rbp)                ## 8-byte Spill
	xorl	%r14d, %r14d
	jmp	LBB0_4
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_4 Depth=1
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movl	$0, (%rax)
LBB0_11:                                ##   in Loop: Header=BB0_4 Depth=1
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
LBB0_12:                                ##   in Loop: Header=BB0_4 Depth=1
	incq	%r14
	movslq	(%rcx), %rsi
	cmpq	%rsi, %r14
	jge	LBB0_13
LBB0_4:                                 ## =>This Inner Loop Header: Depth=1
	movq	8(%rcx), %rax
	movq	16(%rcx), %r13
	movq	(%rax,%r14,8), %r15
	shlq	$5, %r15
	movl	(%r13,%r15), %eax
	movl	%eax, (%rbx,%r14,4)
	movl	%r14d, (%r12,%r14,4)
	cmpl	$0, 4(%r13,%r15)
	je	LBB0_12
## %bb.5:                               ##   in Loop: Header=BB0_4 Depth=1
	leaq	(%r15,%r13), %rax
	addq	$4, %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movups	-120(%rbp), %xmm0
	movaps	%xmm0, -96(%rbp)
	leaq	(%r15,%r13), %rsi
	addq	$16, %rsi
	leaq	-96(%rbp), %rdi
	callq	_timevalsub
	movups	-120(%rbp), %xmm0
	movups	%xmm0, 16(%r13,%r15)
	cmpq	$0, -120(%rbp)
	js	LBB0_7
## %bb.6:                               ##   in Loop: Header=BB0_4 Depth=1
	movq	-96(%rbp), %rax
	cmpq	$10, %rax
	jge	LBB0_7
## %bb.8:                               ##   in Loop: Header=BB0_4 Depth=1
	movl	8(%r13,%r15), %ecx
	movslq	-88(%rbp), %rdx
	imulq	$274877907, %rdx, %rdx          ## imm = 0x10624DD3
	movq	%rdx, %rsi
	shrq	$63, %rsi
	sarq	$38, %rdx
	addl	%esi, %edx
	imull	%ecx, %edx
	movslq	%edx, %rdx
	imulq	$-1374389535, %rdx, %rdx        ## imm = 0xAE147AE1
	movq	%rdx, %rsi
	shrq	$63, %rsi
	sarq	$37, %rdx
	addl	%esi, %edx
	imull	%ecx, %eax
	addl	%eax, %eax
	leal	(%rax,%rax,4), %esi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movl	(%rdi), %eax
	subl	%esi, %eax
	addl	%edx, %eax
	movl	%eax, (%rdi)
	js	LBB0_9
## %bb.10:                              ##   in Loop: Header=BB0_4 Depth=1
	imull	$100, %eax, %eax
	cltd
	idivl	%ecx
	addl	%eax, (%rbx,%r14,4)
	jmp	LBB0_11
LBB0_9:                                 ##   in Loop: Header=BB0_4 Depth=1
	movl	$0, (%rdi)
	jmp	LBB0_11
LBB0_13:
	movq	-104(%rbp), %r13                ## 8-byte Reload
	movl	-52(%rbp), %r15d                ## 4-byte Reload
LBB0_14:
	movq	_ng_ppp_intcmp@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movq	%r12, %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	movl	$4, %edx
	movq	%rcx, %r14
	movq	%rbx, %rcx
	callq	_qsort_r
	movl	(%r14), %r10d
	movq	16(%r14), %r11
	movq	8(%r14), %r14
	movl	$1, %r8d
	movl	$1, %r9d
	cmpl	$2, %r10d
	jl	LBB0_21
## %bb.15:
	movl	$1, %r9d
	.p2align	4, 0x90
LBB0_16:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_17 Depth 2
	movslq	(%r12,%r9,4), %rcx
	movl	(%rbx,%rcx,4), %eax
	xorl	%edx, %edx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_17:                                ##   Parent Loop BB0_16 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movslq	(%r12,%rdx,4), %rsi
	movl	%eax, %ecx
	subl	(%rbx,%rsi,4), %ecx
	movq	(%r14,%rsi,8), %rsi
	shlq	$5, %rsi
	imull	8(%r11,%rsi), %ecx
	addl	$99, %ecx
	movslq	%ecx, %rcx
	imulq	$1374389535, %rcx, %rcx         ## imm = 0x51EB851F
	movq	%rcx, %rsi
	shrq	$63, %rsi
	sarq	$37, %rcx
	addl	%esi, %ecx
	addl	%ecx, %edi
	incq	%rdx
	cmpq	%rdx, %r9
	jne	LBB0_17
## %bb.18:                              ##   in Loop: Header=BB0_16 Depth=1
	cmpl	%r15d, %edi
	jge	LBB0_21
## %bb.19:                              ##   in Loop: Header=BB0_16 Depth=1
	incq	%r9
	cmpq	%r10, %r9
	jne	LBB0_16
## %bb.20:
	movl	%r10d, %r9d
LBB0_21:
	cmpl	$2, %r9d
	cmovael	%r9d, %r8d
	jae	LBB0_23
## %bb.22:
	xorl	%edx, %edx
	xorl	%eax, %eax
	xorl	%edi, %edi
	jmp	LBB0_25
LBB0_23:
	movl	%r8d, %r10d
	andl	$-2, %r10d
	xorl	%edx, %edx
	xorl	%eax, %eax
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_24:                                ## =>This Inner Loop Header: Depth=1
	movslq	(%r12,%rdx,4), %rcx
	movq	(%r14,%rcx,8), %rsi
	shlq	$5, %rsi
	movl	8(%r11,%rsi), %esi
	movl	(%rbx,%rcx,4), %ecx
	imull	%esi, %ecx
	addl	%eax, %ecx
	addl	%esi, %edi
	movslq	4(%r12,%rdx,4), %rax
	movq	(%r14,%rax,8), %rsi
	shlq	$5, %rsi
	movl	8(%r11,%rsi), %esi
	movl	(%rbx,%rax,4), %eax
	imull	%esi, %eax
	addl	%ecx, %eax
	addl	%esi, %edi
	addq	$2, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_24
LBB0_25:
	testb	$1, %r8b
	je	LBB0_27
## %bb.26:
	movslq	(%r12,%rdx,4), %rcx
	movq	(%r14,%rcx,8), %rdx
	shlq	$5, %rdx
	movl	8(%r11,%rdx), %edx
	movl	(%rbx,%rcx,4), %ecx
	imull	%edx, %ecx
	addl	%ecx, %eax
	addl	%edx, %edi
LBB0_27:
	imull	$100, %r15d, %ecx
	addl	%eax, %ecx
	movl	%edi, %eax
	shrl	$31, %eax
	addl	%edi, %eax
	sarl	%eax
	addl	%ecx, %eax
	cltd
	idivl	%edi
	xorl	%ecx, %ecx
	xorl	%r10d, %r10d
	.p2align	4, 0x90
LBB0_28:                                ## =>This Inner Loop Header: Depth=1
	movslq	(%r12,%rcx,4), %rdx
	movq	(%r14,%rdx,8), %rsi
	shlq	$5, %rsi
	movl	%eax, %edi
	subl	(%rbx,%rdx,4), %edi
	imull	8(%r11,%rsi), %edi
	addl	$50, %edi
	movslq	%edi, %rsi
	imulq	$1374389535, %rsi, %rsi         ## imm = 0x51EB851F
	movq	%rsi, %rdi
	shrq	$63, %rdi
	sarq	$37, %rsi
	addl	%edi, %esi
	movl	%esi, (%r13,%rdx,4)
	addl	%esi, %r10d
	incq	%rcx
	cmpq	%rcx, %r8
	jne	LBB0_28
## %bb.29:
	cmpl	%r15d, %r10d
	jge	LBB0_30
## %bb.40:
	movslq	(%r12), %rax
	cmpl	$2, %r9d
	jb	LBB0_48
## %bb.41:
	movq	(%r14,%rax,8), %rax
	shlq	$5, %rax
	addq	%r11, %rax
	movl	%r9d, %r8d
	decq	%r8
	cmpl	$2, %r9d
	jne	LBB0_43
## %bb.42:
	xorl	%edi, %edi
	movl	$1, %r9d
	jmp	LBB0_45
LBB0_30:
	jle	LBB0_49
## %bb.31:
	movslq	(%r12), %rax
	movq	(%r14,%rax,8), %r8
	shlq	$5, %r8
	addq	%r11, %r8
	movl	%r9d, %r15d
	jmp	LBB0_32
	.p2align	4, 0x90
LBB0_39:                                ##   in Loop: Header=BB0_32 Depth=1
	movl	%r10d, %ecx
	movl	-52(%rbp), %esi                 ## 4-byte Reload
	subl	%esi, %ecx
	cltq
	movslq	(%r12,%rax,4), %rax
	movl	(%r13,%rax,4), %edx
	cmpl	%edx, %ecx
	cmovgel	%edx, %ecx
	subl	%ecx, %edx
	movl	%edx, (%r13,%rax,4)
	subl	%ecx, %r10d
	cmpl	%esi, %r10d
	jle	LBB0_49
LBB0_32:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_34 Depth 2
	xorl	%eax, %eax
	cmpl	$2, %r9d
	jb	LBB0_39
## %bb.33:                              ##   in Loop: Header=BB0_32 Depth=1
	xorl	%eax, %eax
	movl	$1, %edx
	movq	%r8, %rsi
	jmp	LBB0_34
	.p2align	4, 0x90
LBB0_37:                                ##   in Loop: Header=BB0_34 Depth=2
	addq	%r11, %rcx
	movq	%rcx, %rsi
	movl	%edx, %eax
LBB0_38:                                ##   in Loop: Header=BB0_34 Depth=2
	incq	%rdx
	cmpq	%rdx, %r15
	je	LBB0_39
LBB0_34:                                ##   Parent Loop BB0_32 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movslq	(%r12,%rdx,4), %rbx
	movq	(%r14,%rbx,8), %rcx
	shlq	$5, %rcx
	movslq	%eax, %rdi
	movslq	(%r12,%rdi,4), %rdi
	cmpl	$0, (%r13,%rdi,4)
	je	LBB0_37
## %bb.35:                              ##   in Loop: Header=BB0_34 Depth=2
	cmpl	$0, (%r13,%rbx,4)
	jle	LBB0_38
## %bb.36:                              ##   in Loop: Header=BB0_34 Depth=2
	movl	8(%r11,%rcx), %edi
	cmpl	8(%rsi), %edi
	jl	LBB0_37
	jmp	LBB0_38
LBB0_43:
	movq	%r8, %rdx
	andq	$-2, %rdx
	xorl	%edi, %edi
	movl	$1, %r9d
	.p2align	4, 0x90
LBB0_44:                                ## =>This Inner Loop Header: Depth=1
	movslq	(%r12,%r9,4), %rcx
	movq	(%r14,%rcx,8), %rcx
	shlq	$5, %rcx
	leaq	(%r11,%rcx), %rsi
	movl	8(%r11,%rcx), %ecx
	cmpl	8(%rax), %ecx
	cmovleq	%rax, %rsi
	movl	%r9d, %ecx
	cmovlel	%edi, %ecx
	movslq	4(%r12,%r9,4), %rax
	movq	(%r14,%rax,8), %rdi
	shlq	$5, %rdi
	leaq	(%r11,%rdi), %rax
	movl	8(%r11,%rdi), %edi
	leaq	1(%r9), %rbx
	cmpl	8(%rsi), %edi
	cmovleq	%rsi, %rax
	movl	%ebx, %edi
	cmovlel	%ecx, %edi
	addq	$2, %r9
	cmpq	%rdx, %rbx
	jne	LBB0_44
LBB0_45:
	testb	$1, %r8b
	je	LBB0_47
## %bb.46:
	movslq	(%r12,%r9,4), %rcx
	movq	(%r14,%rcx,8), %rcx
	shlq	$5, %rcx
	movl	8(%r11,%rcx), %ecx
	cmpl	8(%rax), %ecx
	cmovgl	%r9d, %edi
LBB0_47:
	movslq	%edi, %rax
	movslq	(%r12,%rax,4), %rax
LBB0_48:
	subl	%r10d, %r15d
	addl	%r15d, (%r13,%rax,4)
LBB0_49:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_51
## %bb.50:
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_51:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_NG_PPP_MAX_LINKS,4,2           ## @NG_PPP_MAX_LINKS
	.comm	_ng_ppp_intcmp,4,2              ## @ng_ppp_intcmp
	.no_dead_strip	_ng_ppp_mp_strategy
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ng_ppp_mp_strategy
_ng_ppp_mp_strategy:                    ; @ng_ppp_mp_strategy
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	sub	sp, sp, #64
	mov	x19, x2
	mov	x27, x1
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-88]
	bl	_NG_NODE_PRIVATE
	mov	x23, x0
Lloh3:
	adrp	x8, _NG_PPP_MAX_LINKS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _NG_PPP_MAX_LINKS@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	lsl	x8, x8, #2
	mov	x9, x8
Lloh6:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh7:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	add	x10, x8, #15
	and	x12, x10, #0x7fffffff0
	sub	x22, x9, x12
	mov	sp, x22
	mov	x9, x8
Lloh8:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh9:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x8, sp
	sub	x21, x8, x12
	mov	sp, x21
	ldr	w8, [x0]
	cmp	w8, #1
	b.ne	LBB0_2
; %bb.1:
	str	w27, [x19]
	b	LBB0_51
LBB0_2:
	sub	x0, x29, #104
	bl	_getmicrouptime
	ldr	w1, [x23]
	cmp	w1, #1
	b.lt	LBB0_12
; %bb.3:
	stur	w27, [x29, #-132]               ; 4-byte Folded Spill
	mov	x24, #0
	b	LBB0_6
LBB0_4:                                 ;   in Loop: Header=BB0_6 Depth=1
	str	wzr, [x20]
LBB0_5:                                 ;   in Loop: Header=BB0_6 Depth=1
	add	x24, x24, #1
	ldrsw	x1, [x23]
	cmp	x24, x1
	b.ge	LBB0_11
LBB0_6:                                 ; =>This Inner Loop Header: Depth=1
	ldp	x8, x27, [x23, #8]
	ldr	x26, [x8, x24, lsl #3]
	add	x25, x27, x26, lsl #5
	ldr	w8, [x25]
	lsl	x28, x24, #2
	str	w8, [x22, x28]
	str	w24, [x21, x28]
	mov	x20, x25
	ldr	w8, [x20, #4]!
	cbz	w8, LBB0_5
; %bb.7:                                ;   in Loop: Header=BB0_6 Depth=1
	ldur	q0, [x29, #-104]
	stur	q0, [x29, #-128]
	add	x1, x25, #16
	sub	x0, x29, #128
	bl	_timevalsub
	ldur	q0, [x29, #-104]
	str	q0, [x25, #16]
	ldur	x8, [x29, #-104]
	tbnz	x8, #63, LBB0_4
; %bb.8:                                ;   in Loop: Header=BB0_6 Depth=1
	ldur	x9, [x29, #-128]
	cmp	x9, #10
	b.ge	LBB0_4
; %bb.9:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x8, x27, x26, lsl #5
	ldr	w8, [x8, #8]
	ldursw	x10, [x29, #-120]
	mov	w11, #19923
	movk	w11, #4194, lsl #16
	mul	x10, x10, x11
	lsr	x11, x10, #63
	asr	x10, x10, #38
	add	w10, w10, w11
	mul	w10, w10, w8
	mov	w11, #31457
	movk	w11, #44564, lsl #16
	smull	x10, w10, w11
	mul	w9, w9, w8
	ldr	w11, [x20]
	mov	w12, #-10
	madd	w9, w9, w12, w11
	lsr	x11, x10, #63
	asr	x10, x10, #37
	add	w10, w10, w11
	adds	w9, w9, w10
	str	w9, [x20]
	b.mi	LBB0_4
; %bb.10:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w10, #100
	mul	w9, w9, w10
	sdiv	w8, w9, w8
	ldr	w9, [x22, x28]
	add	w8, w9, w8
	str	w8, [x22, x28]
	b	LBB0_5
LBB0_11:
	ldur	w27, [x29, #-132]               ; 4-byte Folded Reload
LBB0_12:
Lloh10:
	adrp	x8, _ng_ppp_intcmp@GOTPAGE
Lloh11:
	ldr	x8, [x8, _ng_ppp_intcmp@GOTPAGEOFF]
Lloh12:
	ldr	w4, [x8]
	mov	x0, x21
                                        ; kill: def $w1 killed $w1 killed $x1
	mov	w2, #4
	mov	x3, x22
	bl	_qsort_r
	ldr	w10, [x23]
	ldp	x9, x8, [x23, #8]
	cmp	w10, #1
	b.le	LBB0_23
; %bb.13:
	add	x12, x21, #4
	mov	w11, #1
	mov	w13, #34079
	movk	w13, #20971, lsl #16
LBB0_14:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_17 Depth 2
	ldrsw	x14, [x21, x11, lsl #2]
	ldr	w14, [x22, x14, lsl #2]
	cmp	x11, #2
	b.hs	LBB0_16
; %bb.15:                               ;   in Loop: Header=BB0_14 Depth=1
	mov	x15, #0
	mov	w16, #0
	b	LBB0_19
LBB0_16:                                ;   in Loop: Header=BB0_14 Depth=1
	mov	w16, #0
	mov	w17, #0
	and	x0, x11, #0xfffffffffffffffe
	and	x15, x11, #0x7ffffffffffffffe
	mov	x1, x12
LBB0_17:                                ;   Parent Loop BB0_14 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldpsw	x2, x3, [x1, #-4]
	ldr	w4, [x22, x2, lsl #2]
	ldr	w5, [x22, x3, lsl #2]
	sub	w4, w14, w4
	sub	w5, w14, w5
	ldr	x2, [x9, x2, lsl #3]
	ldr	x3, [x9, x3, lsl #3]
	add	x2, x8, x2, lsl #5
	add	x3, x8, x3, lsl #5
	ldr	w2, [x2, #8]
	ldr	w3, [x3, #8]
	mul	w2, w2, w4
	mul	w3, w3, w5
	add	w2, w2, #99
	add	w3, w3, #99
	smull	x2, w2, w13
	lsr	x4, x2, #63
	asr	x2, x2, #37
	smull	x3, w3, w13
	lsr	x5, x3, #63
	asr	x3, x3, #37
	add	w2, w2, w4
	add	w16, w2, w16
	add	w2, w3, w5
	add	w17, w2, w17
	add	x1, x1, #8
	subs	x0, x0, #2
	b.ne	LBB0_17
; %bb.18:                               ;   in Loop: Header=BB0_14 Depth=1
	add	w16, w17, w16
	b	LBB0_20
LBB0_19:                                ;   in Loop: Header=BB0_14 Depth=1
	ldrsw	x17, [x21, x15, lsl #2]
	ldr	w0, [x22, x17, lsl #2]
	ldr	x17, [x9, x17, lsl #3]
	sub	w0, w14, w0
	add	x17, x8, x17, lsl #5
	ldr	w17, [x17, #8]
	mul	w17, w17, w0
	add	w17, w17, #99
	smull	x17, w17, w13
	lsr	x0, x17, #63
	asr	x17, x17, #37
	add	w17, w17, w0
	add	w16, w17, w16
	add	x15, x15, #1
LBB0_20:                                ;   in Loop: Header=BB0_14 Depth=1
	cmp	x11, x15
	b.ne	LBB0_19
; %bb.21:                               ;   in Loop: Header=BB0_14 Depth=1
	cmp	w16, w27
	b.ge	LBB0_24
; %bb.22:                               ;   in Loop: Header=BB0_14 Depth=1
	add	x11, x11, #1
	cmp	x11, x10
	b.ne	LBB0_14
	b	LBB0_25
LBB0_23:
	mov	w10, #1
	b	LBB0_25
LBB0_24:
	mov	x10, x11
LBB0_25:
	cmp	w10, #1
	csinc	w12, w10, wzr, hi
	cmp	w12, #4
	b.hs	LBB0_27
; %bb.26:
	mov	x11, #0
	mov	w13, #0
	mov	w17, #0
	b	LBB0_30
LBB0_27:
	mov	w15, #0
	mov	w16, #0
	mov	w14, #0
	mov	w13, #0
	mov	w1, #0
	mov	w2, #0
	mov	w0, #0
	mov	w17, #0
	and	x11, x12, #0xfffffffc
	add	x3, x21, #8
	mov	x4, x11
LBB0_28:                                ; =>This Inner Loop Header: Depth=1
	ldpsw	x5, x6, [x3, #-8]
	ldpsw	x7, x20, [x3], #16
	ldr	x23, [x9, x5, lsl #3]
	ldr	x24, [x9, x6, lsl #3]
	ldr	x25, [x9, x7, lsl #3]
	ldr	x26, [x9, x20, lsl #3]
	add	x23, x8, x23, lsl #5
	add	x24, x8, x24, lsl #5
	add	x25, x8, x25, lsl #5
	add	x26, x8, x26, lsl #5
	ldr	w23, [x23, #8]
	ldr	w24, [x24, #8]
	ldr	w25, [x25, #8]
	ldr	w26, [x26, #8]
	ldr	w5, [x22, x5, lsl #2]
	ldr	w6, [x22, x6, lsl #2]
	ldr	w7, [x22, x7, lsl #2]
	ldr	w20, [x22, x20, lsl #2]
	madd	w15, w5, w23, w15
	madd	w16, w6, w24, w16
	madd	w14, w7, w25, w14
	madd	w13, w20, w26, w13
	add	w1, w23, w1
	add	w2, w24, w2
	add	w0, w25, w0
	add	w17, w26, w17
	subs	x4, x4, #4
	b.ne	LBB0_28
; %bb.29:
	add	w1, w2, w1
	add	w0, w0, w1
	add	w17, w17, w0
	add	w15, w16, w15
	add	w14, w14, w15
	add	w13, w13, w14
	cmp	x11, x12
	b.eq	LBB0_32
LBB0_30:
	add	x14, x21, x11, lsl #2
	sub	x11, x12, x11
LBB0_31:                                ; =>This Inner Loop Header: Depth=1
	ldrsw	x15, [x14], #4
	ldr	x16, [x9, x15, lsl #3]
	add	x16, x8, x16, lsl #5
	ldr	w16, [x16, #8]
	ldr	w15, [x22, x15, lsl #2]
	madd	w13, w15, w16, w13
	add	w17, w16, w17
	subs	x11, x11, #1
	b.ne	LBB0_31
LBB0_32:
	mov	x14, #0
	mov	w11, #0
	mov	w15, #100
	madd	w13, w27, w15, w13
	cmp	w17, #0
	cinc	w15, w17, lt
	add	w15, w13, w15, asr #1
	lsl	x12, x12, #2
	mov	w13, #34079
	movk	w13, #20971, lsl #16
	sdiv	w15, w15, w17
LBB0_33:                                ; =>This Inner Loop Header: Depth=1
	ldrsw	x16, [x21, x14]
	ldr	x17, [x9, x16, lsl #3]
	add	x17, x8, x17, lsl #5
	ldr	w17, [x17, #8]
	lsl	x16, x16, #2
	ldr	w0, [x22, x16]
	sub	w0, w15, w0
	mul	w17, w0, w17
	add	w17, w17, #50
	smull	x17, w17, w13
	lsr	x0, x17, #63
	asr	x17, x17, #37
	add	w17, w17, w0
	add	w11, w17, w11
	str	w17, [x19, x16]
	add	x14, x14, #4
	cmp	x12, x14
	b.ne	LBB0_33
; %bb.34:
	cmp	w11, w27
	b.ge	LBB0_40
; %bb.35:
	ldrsw	x13, [x21]
	cmp	w10, #2
	b.lo	LBB0_39
; %bb.36:
	mov	w12, #0
	ldr	x13, [x9, x13, lsl #3]
	add	x13, x8, x13, lsl #5
	mov	w10, w10
	mov	w14, #1
LBB0_37:                                ; =>This Inner Loop Header: Depth=1
	ldrsw	x15, [x21, x14, lsl #2]
	ldr	x15, [x9, x15, lsl #3]
	add	x15, x8, x15, lsl #5
	ldr	w16, [x15, #8]
	ldr	w17, [x13, #8]
	cmp	w16, w17
	csel	w12, w14, w12, gt
	csel	x13, x15, x13, gt
	add	x14, x14, #1
	cmp	x10, x14
	b.ne	LBB0_37
; %bb.38:
	ldrsw	x13, [x21, w12, sxtw #2]
LBB0_39:
	lsl	x8, x13, #2
	ldr	w9, [x19, x8]
	sub	w10, w27, w11
	add	w9, w10, w9
	str	w9, [x19, x8]
	b	LBB0_51
LBB0_40:
	b.le	LBB0_51
; %bb.41:
	ldrsw	x12, [x21]
	ldr	x12, [x9, x12, lsl #3]
	add	x12, x8, x12, lsl #5
	mov	w13, w10
	b	LBB0_44
LBB0_42:                                ;   in Loop: Header=BB0_44 Depth=1
	mov	w14, #0
LBB0_43:                                ;   in Loop: Header=BB0_44 Depth=1
	ldrsw	x14, [x21, w14, sxtw #2]
	lsl	x14, x14, #2
	ldr	w15, [x19, x14]
	sub	w16, w11, w27
	cmp	w16, w15
	csel	w16, w16, w15, lt
	sub	w15, w15, w16
	str	w15, [x19, x14]
	sub	w11, w11, w16
	cmp	w11, w27
	b.le	LBB0_51
LBB0_44:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_48 Depth 2
	cmp	w10, #2
	b.lo	LBB0_42
; %bb.45:                               ;   in Loop: Header=BB0_44 Depth=1
	mov	w14, #0
	mov	w15, #1
	mov	x16, x12
	b	LBB0_48
LBB0_46:                                ;   in Loop: Header=BB0_48 Depth=2
	add	x16, x8, x17, lsl #5
	mov	x14, x15
LBB0_47:                                ;   in Loop: Header=BB0_48 Depth=2
	add	x15, x15, #1
	cmp	x13, x15
	b.eq	LBB0_43
LBB0_48:                                ;   Parent Loop BB0_44 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldrsw	x0, [x21, x15, lsl #2]
	ldr	x17, [x9, x0, lsl #3]
	ldrsw	x1, [x21, w14, sxtw #2]
	ldr	w1, [x19, x1, lsl #2]
	cbz	w1, LBB0_46
; %bb.49:                               ;   in Loop: Header=BB0_48 Depth=2
	ldr	w0, [x19, x0, lsl #2]
	cmp	w0, #1
	b.lt	LBB0_47
; %bb.50:                               ;   in Loop: Header=BB0_48 Depth=2
	add	x0, x8, x17, lsl #5
	ldr	w0, [x0, #8]
	ldr	w1, [x16, #8]
	cmp	w0, w1
	b.lt	LBB0_46
	b	LBB0_47
LBB0_51:
	ldur	x8, [x29, #-88]
Lloh13:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh14:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh15:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_53
; %bb.52:
	sub	sp, x29, #80
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_53:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.cfi_endproc
                                        ; -- End function
	.comm	_NG_PPP_MAX_LINKS,4,2           ; @NG_PPP_MAX_LINKS
	.comm	_ng_ppp_intcmp,4,2              ; @ng_ppp_intcmp
	.no_dead_strip	_ng_ppp_mp_strategy
.subsections_via_symbols
