	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function approx_sqrt
LCPI0_0:
	.quad	0x8000000000000000              ## double -0
	.quad	0x8000000000000000              ## double -0
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_1:
	.quad	0x3f1a36e2eb1c432d              ## double 1.0E-4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_approx_sqrt:                           ## @approx_sqrt
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movapd	%xmm0, %xmm1
	xorpd	%xmm0, %xmm0
	ucomisd	%xmm1, %xmm0
	ja	LBB0_5
## %bb.1:
	ucomisd	%xmm0, %xmm1
	jne	LBB0_2
	jnp	LBB0_4
LBB0_2:
	movapd	LCPI0_0(%rip), %xmm2            ## xmm2 = [-0.0E+0,-0.0E+0]
	xorpd	%xmm1, %xmm2
	movsd	LCPI0_1(%rip), %xmm3            ## xmm3 = mem[0],zero
	movapd	%xmm1, %xmm0
	.p2align	4, 0x90
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	movapd	%xmm0, %xmm1
	mulsd	%xmm0, %xmm1
	addsd	%xmm2, %xmm1
	movapd	%xmm0, %xmm4
	addsd	%xmm0, %xmm4
	divsd	%xmm4, %xmm1
	subsd	%xmm1, %xmm0
	ucomisd	%xmm3, %xmm1
	ja	LBB0_3
LBB0_4:
	popq	%rbp
	retq
LBB0_5:
	xorl	%eax, %eax
	callq	_abort
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_approx_sqrt
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function approx_sqrt
_approx_sqrt:                           ; @approx_sqrt
	.cfi_startproc
; %bb.0:
	fcmp	d0, #0.0
	b.mi	LBB0_5
; %bb.1:
	fmov	d1, d0
	movi	d0, #0000000000000000
	b.eq	LBB0_4
; %bb.2:
	fneg	d2, d1
	mov	x8, #17197
	movk	x8, #60188, lsl #16
	movk	x8, #14050, lsl #32
	movk	x8, #16154, lsl #48
	fmov	d0, d1
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	fmadd	d1, d0, d0, d2
	fadd	d3, d0, d0
	fdiv	d1, d1, d3
	fsub	d0, d0, d1
	fmov	d3, x8
	fcmp	d1, d3
	b.gt	LBB0_3
LBB0_4:
	ret
LBB0_5:
	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
	bl	_abort
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_approx_sqrt
.subsections_via_symbols
