	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function uart_init
LCPI0_0:
	.long	0x4a371b00                      ## float 3.0E+6
LCPI0_1:
	.long	0x42800000                      ## float 64
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_2:
	.quad	0x3fe0000000000000              ## double 0.5
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_uart_init
	.p2align	4, 0x90
_uart_init:                             ## @uart_init
	.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
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%edi, %r15d
	movq	_GPFSEL1@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	callq	_get32
                                        ## kill: def $eax killed $eax def $rax
	andl	$-258049, %eax                  ## imm = 0xFFFC0FFF
	leal	147456(%rax), %esi
	movl	(%rbx), %edi
	callq	_put32
	movq	_GPPUD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	xorl	%esi, %esi
	callq	_put32
	movl	$150, %edi
	callq	_delay
	movq	_GPPUDCLK0@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movl	$49152, %esi                    ## imm = 0xC000
	callq	_put32
	movl	$150, %edi
	callq	_delay
	movl	(%rbx), %edi
	xorl	%esi, %esi
	callq	_put32
	movq	_UART_CR@GOTPCREL(%rip), %r14
	movl	(%r14), %edi
	xorl	%esi, %esi
	callq	_put32
	movl	$3000000, %eax                  ## imm = 0x2DC6C0
	xorl	%edx, %edx
	idivl	%r15d
	cvtsi2ss	%r15d, %xmm0
	movss	LCPI0_0(%rip), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cvtsi2ss	%eax, %xmm2
	divss	%xmm0, %xmm1
	subss	%xmm2, %xmm1
	mulss	LCPI0_1(%rip), %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	addsd	LCPI0_2(%rip), %xmm0
	cvttsd2si	%xmm0, %ebx
	movq	_UART_IBRD@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movl	%eax, %esi
	callq	_put32
	movq	_UART_FBRD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	%ebx, %esi
	callq	_put32
	movq	_UART_LCRH@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	$96, %esi
	callq	_put32
	movq	_UART_IMSC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	xorl	%esi, %esi
	callq	_put32
	movl	(%r14), %edi
	movl	$769, %esi                      ## imm = 0x301
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_put32                          ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_GPFSEL1,4,2                    ## @GPFSEL1
	.comm	_GPPUD,4,2                      ## @GPPUD
	.comm	_GPPUDCLK0,4,2                  ## @GPPUDCLK0
	.comm	_UART_CR,4,2                    ## @UART_CR
	.comm	_UART_IBRD,4,2                  ## @UART_IBRD
	.comm	_UART_FBRD,4,2                  ## @UART_FBRD
	.comm	_UART_LCRH,4,2                  ## @UART_LCRH
	.comm	_UART_IMSC,4,2                  ## @UART_IMSC
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_uart_init                      ; -- Begin function uart_init
	.p2align	2
_uart_init:                             ; @uart_init
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
Lloh0:
	adrp	x20, _GPFSEL1@GOTPAGE
Lloh1:
	ldr	x20, [x20, _GPFSEL1@GOTPAGEOFF]
	ldr	w0, [x20]
	bl	_get32
	mov	x1, x0
	mov	w8, #36
	bfi	w1, w8, #12, #6
	ldr	w0, [x20]
	bl	_put32
Lloh2:
	adrp	x8, _GPPUD@GOTPAGE
Lloh3:
	ldr	x8, [x8, _GPPUD@GOTPAGEOFF]
Lloh4:
	ldr	w0, [x8]
	mov	w1, #0
	bl	_put32
	mov	w0, #150
	bl	_delay
Lloh5:
	adrp	x20, _GPPUDCLK0@GOTPAGE
Lloh6:
	ldr	x20, [x20, _GPPUDCLK0@GOTPAGEOFF]
	ldr	w0, [x20]
	mov	w1, #49152
	bl	_put32
	mov	w0, #150
	bl	_delay
	ldr	w0, [x20]
	mov	w1, #0
	bl	_put32
Lloh7:
	adrp	x20, _UART_CR@GOTPAGE
Lloh8:
	ldr	x20, [x20, _UART_CR@GOTPAGEOFF]
	ldr	w0, [x20]
	mov	w1, #0
	bl	_put32
	mov	w8, #50880
	movk	w8, #45, lsl #16
	scvtf	s0, w19
	sdiv	w1, w8, w19
	mov	w8, #6912
	movk	w8, #18999, lsl #16
	fmov	s1, w8
	fdiv	s0, s1, s0
	scvtf	s1, w1
	fsub	s0, s0, s1
	mov	w8, #1115684864
	fmov	s1, w8
	fmul	s0, s0, s1
	fcvt	d0, s0
	fmov	d1, #0.50000000
	fadd	d0, d0, d1
	fcvtzs	w19, d0
Lloh9:
	adrp	x8, _UART_IBRD@GOTPAGE
Lloh10:
	ldr	x8, [x8, _UART_IBRD@GOTPAGEOFF]
Lloh11:
	ldr	w0, [x8]
	bl	_put32
Lloh12:
	adrp	x8, _UART_FBRD@GOTPAGE
Lloh13:
	ldr	x8, [x8, _UART_FBRD@GOTPAGEOFF]
Lloh14:
	ldr	w0, [x8]
	mov	x1, x19
	bl	_put32
Lloh15:
	adrp	x8, _UART_LCRH@GOTPAGE
Lloh16:
	ldr	x8, [x8, _UART_LCRH@GOTPAGEOFF]
Lloh17:
	ldr	w0, [x8]
	mov	w1, #96
	bl	_put32
Lloh18:
	adrp	x8, _UART_IMSC@GOTPAGE
Lloh19:
	ldr	x8, [x8, _UART_IMSC@GOTPAGEOFF]
Lloh20:
	ldr	w0, [x8]
	mov	w1, #0
	bl	_put32
	ldr	w0, [x20]
	mov	w1, #769
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_put32
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	_GPFSEL1,4,2                    ; @GPFSEL1
	.comm	_GPPUD,4,2                      ; @GPPUD
	.comm	_GPPUDCLK0,4,2                  ; @GPPUDCLK0
	.comm	_UART_CR,4,2                    ; @UART_CR
	.comm	_UART_IBRD,4,2                  ; @UART_IBRD
	.comm	_UART_FBRD,4,2                  ; @UART_FBRD
	.comm	_UART_LCRH,4,2                  ; @UART_LCRH
	.comm	_UART_IMSC,4,2                  ; @UART_IMSC
.subsections_via_symbols
