	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function float_to_u32_mul_1000000
_float_to_u32_mul_1000000:              ## @float_to_u32_mul_1000000
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testl	%esi, %esi
	js	LBB0_3
## %bb.1:
	movl	$-1, %eax
	cmpl	$2139095040, %esi               ## imm = 0x7F800000
	jne	LBB0_4
LBB0_2:
	popq	%rbp
	retq
LBB0_3:
	leaq	L_.str(%rip), %rsi
	jmp	LBB0_6
LBB0_4:
	movl	%esi, %ecx
	notl	%ecx
	testl	$2139095040, %ecx               ## imm = 0x7F800000
	jne	LBB0_7
## %bb.5:
	leaq	L_.str.1(%rip), %rsi
LBB0_6:
	callq	_dev_err
LBB0_10:
	xorl	%eax, %eax
	popq	%rbp
	retq
LBB0_7:
	testl	%esi, %esi
	je	LBB0_10
## %bb.8:
	cmpl	$1333788672, %esi               ## imm = 0x4F800000
	ja	LBB0_2
## %bb.9:
	movl	%esi, %edx
	shrl	$23, %edx
	movl	%esi, %eax
	andl	$8388607, %eax                  ## imm = 0x7FFFFF
	orl	$8388608, %eax                  ## imm = 0x800000
	imull	$1000000, %eax, %eax            ## imm = 0xF4240
	movb	$127, %cl
	subb	%dl, %cl
	movl	%eax, %edi
	sarl	%cl, %edi
	addb	$-127, %dl
	movl	%edx, %ecx
	shll	%cl, %eax
	cmpl	$1065353216, %esi               ## imm = 0x3F800000
	cmovbl	%edi, %eax
	sarl	$23, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"this is a negative number\n"

L_.str.1:                               ## @.str.1
	.asciz	"NaN or other special number\n"

	.no_dead_strip	_float_to_u32_mul_1000000
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function float_to_u32_mul_1000000
_float_to_u32_mul_1000000:              ; @float_to_u32_mul_1000000
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	tbnz	w1, #31, LBB0_3
; %bb.1:
	mov	w8, #2139095040
	cmp	w1, w8
	b.ne	LBB0_4
LBB0_2:
	mov	w0, #-1
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_3:
Lloh0:
	adrp	x1, l_.str@PAGE
Lloh1:
	add	x1, x1, l_.str@PAGEOFF
	b	LBB0_6
LBB0_4:
	mvn	w8, w1
	tst	w8, #0x7f800000
	b.ne	LBB0_8
; %bb.5:
Lloh2:
	adrp	x1, l_.str.1@PAGE
Lloh3:
	add	x1, x1, l_.str.1@PAGEOFF
LBB0_6:
	bl	_dev_err
LBB0_7:
	mov	w0, #0
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_8:
	cbz	w1, LBB0_7
; %bb.9:
	mov	w8, #1333788672
	cmp	w1, w8
	b.hi	LBB0_2
; %bb.10:
	lsr	w8, w1, #23
	mov	w9, #8388608
	bfxil	w9, w1, #0, #23
	mov	w10, #16960
	movk	w10, #15, lsl #16
	mul	w9, w9, w10
	mvn	w10, w8
	asr	w10, w9, w10
	subs	w8, w8, #127
	lsl	w8, w9, w8
	csel	w8, w10, w8, lo
	asr	w0, w8, #23
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"this is a negative number\n"

l_.str.1:                               ; @.str.1
	.asciz	"NaN or other special number\n"

	.no_dead_strip	_float_to_u32_mul_1000000
.subsections_via_symbols
