	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_dentist_get_did_from_divider   ## -- Begin function dentist_get_did_from_divider
	.p2align	4, 0x90
_dentist_get_did_from_divider:          ## @dentist_get_did_from_divider
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_DENTIST_DIVIDER_RANGE_2_START@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%edi, %eax
	jle	LBB0_4
## %bb.1:
	movq	_DENTIST_DIVIDER_RANGE_1_START@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_DENTIST_BASE_DID_1@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	%edi, %eax
	jg	LBB0_3
## %bb.2:
	subl	%eax, %edi
	movq	_DENTIST_DIVIDER_RANGE_1_STEP@GOTPCREL(%rip), %rsi
	movl	%edi, %eax
	cltd
	idivl	(%rsi)
	cltq
	addq	%rax, %rcx
	jmp	LBB0_3
LBB0_4:
	movq	_DENTIST_DIVIDER_RANGE_3_START@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	cmpl	%edi, %ecx
	jle	LBB0_7
## %bb.5:
	subl	%eax, %edi
	movq	_DENTIST_DIVIDER_RANGE_2_STEP@GOTPCREL(%rip), %rcx
	movl	%edi, %eax
	cltd
	idivl	(%rcx)
	movq	_DENTIST_BASE_DID_2@GOTPCREL(%rip), %rdx
	jmp	LBB0_6
LBB0_7:
	movq	_DENTIST_DIVIDER_RANGE_4_START@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%edi, %eax
	jle	LBB0_9
## %bb.8:
	subl	%ecx, %edi
	movq	_DENTIST_DIVIDER_RANGE_3_STEP@GOTPCREL(%rip), %rcx
	movl	%edi, %eax
	cltd
	idivl	(%rcx)
	movq	_DENTIST_BASE_DID_3@GOTPCREL(%rip), %rdx
LBB0_6:
	movslq	%eax, %rcx
	addq	(%rdx), %rcx
LBB0_3:
	movq	%rcx, %rax
	popq	%rbp
	retq
LBB0_9:
	movq	_DENTIST_BASE_DID_4@GOTPCREL(%rip), %rcx
	subl	%eax, %edi
	movq	_DENTIST_DIVIDER_RANGE_4_STEP@GOTPCREL(%rip), %rsi
	movl	%edi, %eax
	cltd
	idivl	(%rsi)
	cltq
	addq	(%rcx), %rax
	movq	_DENTIST_MAX_DID@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	%rcx, %rax
	cmovgeq	%rcx, %rax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_DENTIST_DIVIDER_RANGE_2_START,4,2 ## @DENTIST_DIVIDER_RANGE_2_START
	.comm	_DENTIST_DIVIDER_RANGE_1_START,4,2 ## @DENTIST_DIVIDER_RANGE_1_START
	.comm	_DENTIST_BASE_DID_1,8,3         ## @DENTIST_BASE_DID_1
	.comm	_DENTIST_DIVIDER_RANGE_1_STEP,4,2 ## @DENTIST_DIVIDER_RANGE_1_STEP
	.comm	_DENTIST_DIVIDER_RANGE_3_START,4,2 ## @DENTIST_DIVIDER_RANGE_3_START
	.comm	_DENTIST_BASE_DID_2,8,3         ## @DENTIST_BASE_DID_2
	.comm	_DENTIST_DIVIDER_RANGE_2_STEP,4,2 ## @DENTIST_DIVIDER_RANGE_2_STEP
	.comm	_DENTIST_DIVIDER_RANGE_4_START,4,2 ## @DENTIST_DIVIDER_RANGE_4_START
	.comm	_DENTIST_BASE_DID_3,8,3         ## @DENTIST_BASE_DID_3
	.comm	_DENTIST_DIVIDER_RANGE_3_STEP,4,2 ## @DENTIST_DIVIDER_RANGE_3_STEP
	.comm	_DENTIST_BASE_DID_4,8,3         ## @DENTIST_BASE_DID_4
	.comm	_DENTIST_DIVIDER_RANGE_4_STEP,4,2 ## @DENTIST_DIVIDER_RANGE_4_STEP
	.comm	_DENTIST_MAX_DID,8,3            ## @DENTIST_MAX_DID
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_dentist_get_did_from_divider   ; -- Begin function dentist_get_did_from_divider
	.p2align	2
_dentist_get_did_from_divider:          ; @dentist_get_did_from_divider
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _DENTIST_DIVIDER_RANGE_2_START@GOTPAGE
Lloh1:
	ldr	x8, [x8, _DENTIST_DIVIDER_RANGE_2_START@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	cmp	w8, w0
	b.le	LBB0_3
; %bb.1:
Lloh3:
	adrp	x8, _DENTIST_DIVIDER_RANGE_1_START@GOTPAGE
Lloh4:
	ldr	x8, [x8, _DENTIST_DIVIDER_RANGE_1_START@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x8]
Lloh6:
	adrp	x8, _DENTIST_BASE_DID_1@GOTPAGE
Lloh7:
	ldr	x8, [x8, _DENTIST_BASE_DID_1@GOTPAGEOFF]
Lloh8:
	ldr	x8, [x8]
	cmp	w9, w0
	b.gt	LBB0_5
; %bb.2:
	sub	w9, w0, w9
Lloh9:
	adrp	x10, _DENTIST_DIVIDER_RANGE_1_STEP@GOTPAGE
Lloh10:
	ldr	x10, [x10, _DENTIST_DIVIDER_RANGE_1_STEP@GOTPAGEOFF]
	b	LBB0_8
LBB0_3:
Lloh11:
	adrp	x9, _DENTIST_DIVIDER_RANGE_3_START@GOTPAGE
Lloh12:
	ldr	x9, [x9, _DENTIST_DIVIDER_RANGE_3_START@GOTPAGEOFF]
Lloh13:
	ldr	w9, [x9]
	cmp	w9, w0
	b.le	LBB0_6
; %bb.4:
Lloh14:
	adrp	x9, _DENTIST_BASE_DID_2@GOTPAGE
Lloh15:
	ldr	x9, [x9, _DENTIST_BASE_DID_2@GOTPAGEOFF]
Lloh16:
	ldr	x9, [x9]
	sub	w8, w0, w8
Lloh17:
	adrp	x10, _DENTIST_DIVIDER_RANGE_2_STEP@GOTPAGE
Lloh18:
	ldr	x10, [x10, _DENTIST_DIVIDER_RANGE_2_STEP@GOTPAGEOFF]
Lloh19:
	ldr	w10, [x10]
	sdiv	w8, w8, w10
	add	x8, x9, w8, sxtw
LBB0_5:
	mov	x0, x8
	ret
LBB0_6:
Lloh20:
	adrp	x8, _DENTIST_DIVIDER_RANGE_4_START@GOTPAGE
Lloh21:
	ldr	x8, [x8, _DENTIST_DIVIDER_RANGE_4_START@GOTPAGEOFF]
Lloh22:
	ldr	w8, [x8]
	cmp	w8, w0
	b.le	LBB0_9
; %bb.7:
Lloh23:
	adrp	x8, _DENTIST_BASE_DID_3@GOTPAGE
Lloh24:
	ldr	x8, [x8, _DENTIST_BASE_DID_3@GOTPAGEOFF]
Lloh25:
	ldr	x8, [x8]
	sub	w9, w0, w9
Lloh26:
	adrp	x10, _DENTIST_DIVIDER_RANGE_3_STEP@GOTPAGE
Lloh27:
	ldr	x10, [x10, _DENTIST_DIVIDER_RANGE_3_STEP@GOTPAGEOFF]
LBB0_8:
	ldr	w10, [x10]
	sdiv	w9, w9, w10
	add	x0, x8, w9, sxtw
	ret
LBB0_9:
Lloh28:
	adrp	x9, _DENTIST_BASE_DID_4@GOTPAGE
Lloh29:
	ldr	x9, [x9, _DENTIST_BASE_DID_4@GOTPAGEOFF]
Lloh30:
	ldr	x9, [x9]
	sub	w8, w0, w8
Lloh31:
	adrp	x10, _DENTIST_DIVIDER_RANGE_4_STEP@GOTPAGE
Lloh32:
	ldr	x10, [x10, _DENTIST_DIVIDER_RANGE_4_STEP@GOTPAGEOFF]
Lloh33:
	ldr	w10, [x10]
	sdiv	w8, w8, w10
	add	x8, x9, w8, sxtw
Lloh34:
	adrp	x9, _DENTIST_MAX_DID@GOTPAGE
Lloh35:
	ldr	x9, [x9, _DENTIST_MAX_DID@GOTPAGEOFF]
Lloh36:
	ldr	x9, [x9]
	cmp	x8, x9
	csel	x0, x8, x9, lt
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.cfi_endproc
                                        ; -- End function
	.comm	_DENTIST_DIVIDER_RANGE_2_START,4,2 ; @DENTIST_DIVIDER_RANGE_2_START
	.comm	_DENTIST_DIVIDER_RANGE_1_START,4,2 ; @DENTIST_DIVIDER_RANGE_1_START
	.comm	_DENTIST_BASE_DID_1,8,3         ; @DENTIST_BASE_DID_1
	.comm	_DENTIST_DIVIDER_RANGE_1_STEP,4,2 ; @DENTIST_DIVIDER_RANGE_1_STEP
	.comm	_DENTIST_DIVIDER_RANGE_3_START,4,2 ; @DENTIST_DIVIDER_RANGE_3_START
	.comm	_DENTIST_BASE_DID_2,8,3         ; @DENTIST_BASE_DID_2
	.comm	_DENTIST_DIVIDER_RANGE_2_STEP,4,2 ; @DENTIST_DIVIDER_RANGE_2_STEP
	.comm	_DENTIST_DIVIDER_RANGE_4_START,4,2 ; @DENTIST_DIVIDER_RANGE_4_START
	.comm	_DENTIST_BASE_DID_3,8,3         ; @DENTIST_BASE_DID_3
	.comm	_DENTIST_DIVIDER_RANGE_3_STEP,4,2 ; @DENTIST_DIVIDER_RANGE_3_STEP
	.comm	_DENTIST_BASE_DID_4,8,3         ; @DENTIST_BASE_DID_4
	.comm	_DENTIST_DIVIDER_RANGE_4_STEP,4,2 ; @DENTIST_DIVIDER_RANGE_4_STEP
	.comm	_DENTIST_MAX_DID,8,3            ; @DENTIST_MAX_DID
.subsections_via_symbols
