	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function log
LCPI0_0:
	.quad	0xbff0000000000000              ## double -1
LCPI0_1:
	.quad	0x4000000000000000              ## double 2
LCPI0_2:
	.quad	0x3fe0000000000000              ## double 0.5
LCPI0_3:
	.quad	0xbfd5555555555555              ## double -0.33333333333333331
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_4:
	.quad	0x8000000000000000              ## double -0
	.quad	0x8000000000000000              ## double -0
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_log
	.p2align	4, 0x90
_log:                                   ## @log
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movsd	%xmm0, -16(%rbp)                ## 8-byte Spill
	callq	___HI
	movl	%eax, %ebx
	movsd	-16(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	callq	___LO
	cmpl	$1048575, %ebx                  ## imm = 0xFFFFF
	jg	LBB0_8
## %bb.1:
	movl	%ebx, %ecx
	andl	$2147483647, %ecx               ## imm = 0x7FFFFFFF
	orl	%eax, %ecx
	je	LBB0_10
## %bb.2:
	testl	%ebx, %ebx
	js	LBB0_14
## %bb.3:
	movq	_two54@GOTPCREL(%rip), %rax
	movsd	-16(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	mulsd	(%rax), %xmm0
	movsd	%xmm0, -16(%rbp)                ## 8-byte Spill
	callq	___HI
	movl	%eax, %ebx
	movl	$-54, %eax
	cmpl	$2146435072, %ebx               ## imm = 0x7FF00000
	jge	LBB0_9
LBB0_4:
	movl	%ebx, %edx
	sarl	$20, %edx
	addl	%eax, %edx
	movl	%ebx, %ecx
	andl	$1048575, %ecx                  ## imm = 0xFFFFF
	leal	614244(%rcx), %eax
	shrl	$20, %eax
	movsd	-16(%rbp), %xmm6                ## 8-byte Reload
                                        ## xmm6 = mem[0],zero
	addsd	LCPI0_0(%rip), %xmm6
	addl	%edx, %eax
	addl	$-1023, %eax                    ## imm = 0xFC01
	addl	$2, %ebx
	andl	$1048575, %ebx                  ## imm = 0xFFFFF
	cmpl	$2, %ebx
	ja	LBB0_11
## %bb.5:
	movq	_zero@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm0                   ## xmm0 = mem[0],zero
	ucomisd	%xmm0, %xmm6
	jne	LBB0_16
	jp	LBB0_16
## %bb.6:
	testl	%eax, %eax
	je	LBB0_25
## %bb.7:
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movq	_ln2_hi@GOTPCREL(%rip), %rax
	movq	_ln2_lo@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm1                   ## xmm1 = mem[0],zero
	mulsd	%xmm0, %xmm1
	mulsd	(%rax), %xmm0
	addsd	%xmm1, %xmm0
	jmp	LBB0_25
LBB0_8:
	xorl	%eax, %eax
	cmpl	$2146435072, %ebx               ## imm = 0x7FF00000
	jl	LBB0_4
LBB0_9:
	movsd	-16(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	addsd	%xmm0, %xmm0
	jmp	LBB0_25
LBB0_10:
	movq	_two54@GOTPCREL(%rip), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	xorpd	LCPI0_4(%rip), %xmm0
	jmp	LBB0_15
LBB0_11:
	movsd	LCPI0_1(%rip), %xmm0            ## xmm0 = mem[0],zero
	addsd	%xmm6, %xmm0
	movapd	%xmm6, %xmm1
	divsd	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movapd	%xmm1, %xmm3
	mulsd	%xmm1, %xmm3
	movapd	%xmm3, %xmm4
	mulsd	%xmm3, %xmm4
	movl	$440401, %edx                   ## imm = 0x6B851
	subl	%ecx, %edx
	addl	$-398458, %ecx                  ## imm = 0xFFF9EB86
	movq	_Lg2@GOTPCREL(%rip), %rsi
	movq	_Lg4@GOTPCREL(%rip), %rdi
	movq	_Lg6@GOTPCREL(%rip), %rbx
	movsd	(%rbx), %xmm5                   ## xmm5 = mem[0],zero
	mulsd	%xmm4, %xmm5
	addsd	(%rdi), %xmm5
	mulsd	%xmm4, %xmm5
	addsd	(%rsi), %xmm5
	movq	_Lg5@GOTPCREL(%rip), %rsi
	movq	_Lg7@GOTPCREL(%rip), %rdi
	movsd	(%rdi), %xmm2                   ## xmm2 = mem[0],zero
	mulsd	%xmm4, %xmm2
	addsd	(%rsi), %xmm2
	movq	_Lg3@GOTPCREL(%rip), %rsi
	mulsd	%xmm4, %xmm2
	addsd	(%rsi), %xmm2
	movq	_Lg1@GOTPCREL(%rip), %rsi
	mulsd	%xmm4, %xmm2
	addsd	(%rsi), %xmm2
	mulsd	%xmm4, %xmm5
	mulsd	%xmm3, %xmm2
	addsd	%xmm5, %xmm2
	orl	%edx, %ecx
	jle	LBB0_18
## %bb.12:
	movsd	LCPI0_2(%rip), %xmm3            ## xmm3 = mem[0],zero
	mulsd	%xmm6, %xmm3
	mulsd	%xmm6, %xmm3
	testl	%eax, %eax
	je	LBB0_21
## %bb.13:
	movq	_ln2_hi@GOTPCREL(%rip), %rax
	addsd	%xmm3, %xmm2
	movq	_ln2_lo@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm4                   ## xmm4 = mem[0],zero
	mulsd	%xmm0, %xmm4
	mulsd	%xmm2, %xmm1
	addsd	%xmm4, %xmm1
	subsd	%xmm1, %xmm3
	subsd	%xmm6, %xmm3
	mulsd	(%rax), %xmm0
	subsd	%xmm3, %xmm0
	jmp	LBB0_25
LBB0_14:
	movsd	-16(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	subsd	%xmm0, %xmm0
LBB0_15:
	movq	_zero@GOTPCREL(%rip), %rax
	divsd	(%rax), %xmm0
	jmp	LBB0_25
LBB0_16:
	movapd	%xmm6, %xmm0
	mulsd	%xmm6, %xmm0
	movsd	LCPI0_3(%rip), %xmm1            ## xmm1 = mem[0],zero
	mulsd	%xmm6, %xmm1
	addsd	LCPI0_2(%rip), %xmm1
	mulsd	%xmm0, %xmm1
	testl	%eax, %eax
	je	LBB0_23
## %bb.17:
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movq	_ln2_hi@GOTPCREL(%rip), %rax
	movq	_ln2_lo@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm2                   ## xmm2 = mem[0],zero
	mulsd	%xmm0, %xmm2
	jmp	LBB0_20
LBB0_18:
	testl	%eax, %eax
	je	LBB0_22
## %bb.19:
	movq	_ln2_hi@GOTPCREL(%rip), %rax
	movapd	%xmm6, %xmm3
	subsd	%xmm2, %xmm3
	movq	_ln2_lo@GOTPCREL(%rip), %rcx
	movsd	(%rcx), %xmm2                   ## xmm2 = mem[0],zero
	mulsd	%xmm0, %xmm2
	mulsd	%xmm3, %xmm1
LBB0_20:
	subsd	%xmm2, %xmm1
	subsd	%xmm6, %xmm1
	mulsd	(%rax), %xmm0
	subsd	%xmm1, %xmm0
	jmp	LBB0_25
LBB0_21:
	addsd	%xmm3, %xmm2
	mulsd	%xmm2, %xmm1
	subsd	%xmm1, %xmm3
	subsd	%xmm3, %xmm6
	jmp	LBB0_24
LBB0_22:
	movapd	%xmm6, %xmm0
	subsd	%xmm2, %xmm0
	mulsd	%xmm0, %xmm1
LBB0_23:
	subsd	%xmm1, %xmm6
LBB0_24:
	movapd	%xmm6, %xmm0
LBB0_25:
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_two54,8,3                      ## @two54
	.comm	_zero,8,3                       ## @zero
	.comm	_ln2_hi,8,3                     ## @ln2_hi
	.comm	_ln2_lo,8,3                     ## @ln2_lo
	.comm	_Lg2,8,3                        ## @Lg2
	.comm	_Lg4,8,3                        ## @Lg4
	.comm	_Lg6,8,3                        ## @Lg6
	.comm	_Lg1,8,3                        ## @Lg1
	.comm	_Lg3,8,3                        ## @Lg3
	.comm	_Lg5,8,3                        ## @Lg5
	.comm	_Lg7,8,3                        ## @Lg7
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_log                            ; -- Begin function log
	.p2align	2
_log:                                   ; @log
	.cfi_startproc
; %bb.0:
	stp	d9, d8, [sp, #-48]!             ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset b8, -40
	.cfi_offset b9, -48
	fmov	d8, d0
	bl	___HI
	mov	x19, x0
	fmov	d0, d8
	bl	___LO
	cmp	w19, #256, lsl #12              ; =1048576
	b.ge	LBB0_4
; %bb.1:
	and	w8, w19, #0x7fffffff
	orr	w8, w8, w0
	cbz	w8, LBB0_11
; %bb.2:
	tbnz	w19, #31, LBB0_15
; %bb.3:
Lloh0:
	adrp	x8, _two54@GOTPAGE
Lloh1:
	ldr	x8, [x8, _two54@GOTPAGEOFF]
Lloh2:
	ldr	d0, [x8]
	fmul	d8, d0, d8
	fmov	d0, d8
	bl	___HI
	mov	x19, x0
	mov	w8, #-54
	b	LBB0_5
LBB0_4:
	mov	w8, #0
LBB0_5:
	mov	w9, #2146435072
	cmp	w19, w9
	b.lt	LBB0_7
; %bb.6:
	fadd	d0, d8, d8
	b	LBB0_17
LBB0_7:
	add	w8, w8, w19, asr #20
	and	w9, w19, #0xfffff
	add	w10, w9, #149, lsl #12          ; =610304
	add	w10, w10, #3940
	add	w8, w8, w10, lsr #20
	sub	w8, w8, #1023
	fmov	d0, #-1.00000000
	fadd	d1, d8, d0
	add	w10, w19, #2
	and	w10, w10, #0xfffff
	cmp	w10, #2
	b.hi	LBB0_12
; %bb.8:
Lloh3:
	adrp	x9, _zero@GOTPAGE
Lloh4:
	ldr	x9, [x9, _zero@GOTPAGEOFF]
Lloh5:
	ldr	d0, [x9]
	fcmp	d1, d0
	b.ne	LBB0_18
; %bb.9:
	cbz	w8, LBB0_17
; %bb.10:
	scvtf	d0, w8
Lloh6:
	adrp	x8, _ln2_hi@GOTPAGE
Lloh7:
	ldr	x8, [x8, _ln2_hi@GOTPAGEOFF]
Lloh8:
	ldr	d1, [x8]
Lloh9:
	adrp	x8, _ln2_lo@GOTPAGE
Lloh10:
	ldr	x8, [x8, _ln2_lo@GOTPAGEOFF]
Lloh11:
	ldr	d2, [x8]
	fmul	d2, d2, d0
	fmadd	d0, d0, d1, d2
	b	LBB0_17
LBB0_11:
Lloh12:
	adrp	x8, _two54@GOTPAGE
Lloh13:
	ldr	x8, [x8, _two54@GOTPAGEOFF]
Lloh14:
	ldr	d0, [x8]
	fneg	d0, d0
	b	LBB0_16
LBB0_12:
	fmov	d0, #2.00000000
	fadd	d0, d1, d0
	fdiv	d0, d1, d0
	scvtf	d2, w8
	fmul	d3, d0, d0
	sub	w10, w9, #97, lsl #12           ; =397312
	sub	w10, w10, #1146
	fmul	d4, d3, d3
Lloh15:
	adrp	x11, _Lg2@GOTPAGE
Lloh16:
	ldr	x11, [x11, _Lg2@GOTPAGEOFF]
Lloh17:
	ldr	d5, [x11]
Lloh18:
	adrp	x11, _Lg4@GOTPAGE
Lloh19:
	ldr	x11, [x11, _Lg4@GOTPAGEOFF]
Lloh20:
	ldr	d6, [x11]
Lloh21:
	adrp	x11, _Lg6@GOTPAGE
Lloh22:
	ldr	x11, [x11, _Lg6@GOTPAGEOFF]
Lloh23:
	ldr	d7, [x11]
	fmadd	d6, d4, d7, d6
Lloh24:
	adrp	x11, _Lg1@GOTPAGE
Lloh25:
	ldr	x11, [x11, _Lg1@GOTPAGEOFF]
Lloh26:
	ldr	d7, [x11]
Lloh27:
	adrp	x11, _Lg3@GOTPAGE
Lloh28:
	ldr	x11, [x11, _Lg3@GOTPAGEOFF]
Lloh29:
	ldr	d16, [x11]
Lloh30:
	adrp	x11, _Lg5@GOTPAGE
Lloh31:
	ldr	x11, [x11, _Lg5@GOTPAGEOFF]
Lloh32:
	ldr	d17, [x11]
Lloh33:
	adrp	x11, _Lg7@GOTPAGE
Lloh34:
	ldr	x11, [x11, _Lg7@GOTPAGEOFF]
	fmadd	d5, d4, d6, d5
Lloh35:
	ldr	d6, [x11]
	mov	w11, #47185
	movk	w11, #6, lsl #16
	fmul	d5, d4, d5
	fmadd	d6, d4, d6, d17
	fmadd	d6, d4, d6, d16
	fmadd	d4, d4, d6, d7
	fmul	d3, d3, d4
	sub	w9, w11, w9
	orr	w9, w10, w9
	fadd	d3, d5, d3
	cmp	w9, #1
	b.lt	LBB0_20
; %bb.13:
	fmov	d4, #0.50000000
	fmul	d4, d1, d4
	fmul	d4, d1, d4
	cbz	w8, LBB0_22
; %bb.14:
Lloh36:
	adrp	x8, _ln2_hi@GOTPAGE
Lloh37:
	ldr	x8, [x8, _ln2_hi@GOTPAGEOFF]
Lloh38:
	ldr	d5, [x8]
	fadd	d3, d4, d3
Lloh39:
	adrp	x8, _ln2_lo@GOTPAGE
Lloh40:
	ldr	x8, [x8, _ln2_lo@GOTPAGEOFF]
Lloh41:
	ldr	d6, [x8]
	fmul	d6, d6, d2
	fmadd	d0, d0, d3, d6
	fsub	d0, d4, d0
	fsub	d0, d0, d1
	fnmsub	d0, d2, d5, d0
	b	LBB0_17
LBB0_15:
	fsub	d0, d8, d8
LBB0_16:
Lloh42:
	adrp	x8, _zero@GOTPAGE
Lloh43:
	ldr	x8, [x8, _zero@GOTPAGEOFF]
Lloh44:
	ldr	d1, [x8]
	fdiv	d0, d0, d1
LBB0_17:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp], #48               ; 16-byte Folded Reload
	ret
LBB0_18:
	fmul	d0, d1, d1
	mov	x9, #6148914691236517205
	movk	x9, #49109, lsl #48
	fmov	d2, x9
	fmov	d3, #0.50000000
	fmadd	d2, d1, d2, d3
	fmul	d0, d0, d2
	cbz	w8, LBB0_23
; %bb.19:
	scvtf	d2, w8
Lloh45:
	adrp	x8, _ln2_hi@GOTPAGE
Lloh46:
	ldr	x8, [x8, _ln2_hi@GOTPAGEOFF]
Lloh47:
	adrp	x9, _ln2_lo@GOTPAGE
Lloh48:
	ldr	x9, [x9, _ln2_lo@GOTPAGEOFF]
Lloh49:
	ldr	d3, [x8]
Lloh50:
	ldr	d4, [x9]
	fmsub	d0, d2, d4, d0
	fsub	d0, d0, d1
	fnmsub	d0, d2, d3, d0
	b	LBB0_17
LBB0_20:
	cbz	w8, LBB0_24
; %bb.21:
Lloh51:
	adrp	x8, _ln2_hi@GOTPAGE
Lloh52:
	ldr	x8, [x8, _ln2_hi@GOTPAGEOFF]
Lloh53:
	ldr	d4, [x8]
	fsub	d3, d1, d3
Lloh54:
	adrp	x8, _ln2_lo@GOTPAGE
Lloh55:
	ldr	x8, [x8, _ln2_lo@GOTPAGEOFF]
Lloh56:
	ldr	d5, [x8]
	fneg	d5, d5
	fmul	d5, d2, d5
	fmadd	d0, d0, d3, d5
	fsub	d0, d0, d1
	fnmsub	d0, d2, d4, d0
	b	LBB0_17
LBB0_22:
	fadd	d2, d4, d3
	fmsub	d0, d0, d2, d4
LBB0_23:
	fsub	d0, d1, d0
	b	LBB0_17
LBB0_24:
	fsub	d2, d1, d3
	fmsub	d0, d0, d2, d1
	b	LBB0_17
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh50
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh49
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.cfi_endproc
                                        ; -- End function
	.comm	_two54,8,3                      ; @two54
	.comm	_zero,8,3                       ; @zero
	.comm	_ln2_hi,8,3                     ; @ln2_hi
	.comm	_ln2_lo,8,3                     ; @ln2_lo
	.comm	_Lg2,8,3                        ; @Lg2
	.comm	_Lg4,8,3                        ; @Lg4
	.comm	_Lg6,8,3                        ; @Lg6
	.comm	_Lg1,8,3                        ; @Lg1
	.comm	_Lg3,8,3                        ; @Lg3
	.comm	_Lg5,8,3                        ; @Lg5
	.comm	_Lg7,8,3                        ; @Lg7
.subsections_via_symbols
