Program: grad-descent

x86 assembly:
	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function derivateWRTWeight
LCPI0_0:
	.quad	0x4049000000000000              ## double 50
LCPI0_1:
	.quad	0xc000000000000000              ## double -2
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_derivateWRTWeight
	.p2align	4, 0x90
_derivateWRTWeight:                     ## @derivateWRTWeight
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movsd	%xmm0, -8(%rbp)
	movsd	%xmm1, -16(%rbp)
	xorps	%xmm0, %xmm0
	movsd	%xmm0, -24(%rbp)
	movl	$0, -28(%rbp)
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	cmpl	$50, -28(%rbp)
	jge	LBB0_4
## %bb.2:                               ##   in Loop: Header=BB0_1 Depth=1
	movsd	-24(%rbp), %xmm1                ## xmm1 = mem[0],zero
	movslq	-28(%rbp), %rcx
	leaq	_X(%rip), %rax
	movsd	(%rax,%rcx,8), %xmm0            ## xmm0 = mem[0],zero
	movslq	-28(%rbp), %rcx
	leaq	_Y(%rip), %rax
	movsd	(%rax,%rcx,8), %xmm2            ## xmm2 = mem[0],zero
	movsd	-8(%rbp), %xmm3                 ## xmm3 = mem[0],zero
	movslq	-28(%rbp), %rcx
	leaq	_X(%rip), %rax
	movsd	(%rax,%rcx,8), %xmm5            ## xmm5 = mem[0],zero
	movsd	-16(%rbp), %xmm4                ## xmm4 = mem[0],zero
	mulsd	%xmm5, %xmm3
	addsd	%xmm4, %xmm3
	subsd	%xmm3, %xmm2
	mulsd	%xmm2, %xmm0
	addsd	%xmm1, %xmm0
	movsd	%xmm0, -24(%rbp)
## %bb.3:                               ##   in Loop: Header=BB0_1 Depth=1
	movl	-28(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -28(%rbp)
	jmp	LBB0_1
LBB0_4:
	movsd	LCPI0_1(%rip), %xmm0            ## xmm0 = mem[0],zero
	mulsd	-24(%rbp), %xmm0
	movsd	LCPI0_0(%rip), %xmm1            ## xmm1 = mem[0],zero
	divsd	%xmm1, %xmm0
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function derivateWRTBias
LCPI1_0:
	.quad	0x4049000000000000              ## double 50
LCPI1_1:
	.quad	0xc000000000000000              ## double -2
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_derivateWRTBias
	.p2align	4, 0x90
_derivateWRTBias:                       ## @derivateWRTBias
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movsd	%xmm0, -8(%rbp)
	movsd	%xmm1, -16(%rbp)
	xorps	%xmm0, %xmm0
	movsd	%xmm0, -24(%rbp)
	movl	$0, -28(%rbp)
LBB1_1:                                 ## =>This Inner Loop Header: Depth=1
	cmpl	$50, -28(%rbp)
	jge	LBB1_4
## %bb.2:                               ##   in Loop: Header=BB1_1 Depth=1
	movsd	-24(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movslq	-28(%rbp), %rcx
	leaq	_Y(%rip), %rax
	movsd	(%rax,%rcx,8), %xmm1            ## xmm1 = mem[0],zero
	movsd	-8(%rbp), %xmm2                 ## xmm2 = mem[0],zero
	movslq	-28(%rbp), %rcx
	leaq	_X(%rip), %rax
	movsd	(%rax,%rcx,8), %xmm4            ## xmm4 = mem[0],zero
	movsd	-16(%rbp), %xmm3                ## xmm3 = mem[0],zero
	mulsd	%xmm4, %xmm2
	addsd	%xmm3, %xmm2
	subsd	%xmm2, %xmm1
	addsd	%xmm1, %xmm0
	movsd	%xmm0, -24(%rbp)
## %bb.3:                               ##   in Loop: Header=BB1_1 Depth=1
	movl	-28(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -28(%rbp)
	jmp	LBB1_1
LBB1_4:
	movsd	LCPI1_1(%rip), %xmm0            ## xmm0 = mem[0],zero
	mulsd	-24(%rbp), %xmm0
	movsd	LCPI1_0(%rip), %xmm1            ## xmm1 = mem[0],zero
	divsd	%xmm1, %xmm0
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.globl	_gradientDescent                ## -- Begin function gradientDescent
	.p2align	4, 0x90
_gradientDescent:                       ## @gradientDescent
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$64, %rsp
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movl	$0, -20(%rbp)
LBB2_1:                                 ## =>This Inner Loop Header: Depth=1
	cmpl	$200, -20(%rbp)
	jae	LBB2_4
## %bb.2:                               ##   in Loop: Header=BB2_1 Depth=1
	movq	-8(%rbp), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	movsd	%xmm0, -56(%rbp)                ## 8-byte Spill
	movsd	_L(%rip), %xmm0                 ## xmm0 = mem[0],zero
	movsd	%xmm0, -48(%rbp)                ## 8-byte Spill
	movq	-8(%rbp), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	movq	-16(%rbp), %rax
	movsd	(%rax), %xmm1                   ## xmm1 = mem[0],zero
	callq	_derivateWRTWeight
	movsd	-56(%rbp), %xmm1                ## 8-byte Reload
                                        ## xmm1 = mem[0],zero
	movaps	%xmm0, %xmm2
	movsd	-48(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	movq	%xmm0, %rax
	movabsq	$-9223372036854775808, %rcx     ## imm = 0x8000000000000000
	xorq	%rcx, %rax
	movq	%rax, %xmm0
	mulsd	%xmm2, %xmm0
	addsd	%xmm1, %xmm0
	movq	-8(%rbp), %rax
	movsd	%xmm0, (%rax)
	movq	-16(%rbp), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	movsd	%xmm0, -40(%rbp)                ## 8-byte Spill
	movsd	_L(%rip), %xmm0                 ## xmm0 = mem[0],zero
	movsd	%xmm0, -32(%rbp)                ## 8-byte Spill
	movq	-8(%rbp), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	movq	-16(%rbp), %rax
	movsd	(%rax), %xmm1                   ## xmm1 = mem[0],zero
	callq	_derivateWRTBias
	movsd	-40(%rbp), %xmm1                ## 8-byte Reload
                                        ## xmm1 = mem[0],zero
	movaps	%xmm0, %xmm2
	movsd	-32(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	movq	%xmm0, %rax
	movabsq	$-9223372036854775808, %rcx     ## imm = 0x8000000000000000
	xorq	%rcx, %rax
	movq	%rax, %xmm0
	mulsd	%xmm2, %xmm0
	addsd	%xmm1, %xmm0
	movq	-16(%rbp), %rax
	movsd	%xmm0, (%rax)
## %bb.3:                               ##   in Loop: Header=BB2_1 Depth=1
	movl	-20(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -20(%rbp)
	jmp	LBB2_1
LBB2_4:
	addq	$64, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$32, %rsp
	movl	$0, -4(%rbp)
	xorps	%xmm0, %xmm0
	movsd	%xmm0, -16(%rbp)
	xorps	%xmm0, %xmm0
	movsd	%xmm0, -24(%rbp)
	leaq	-16(%rbp), %rdi
	leaq	-24(%rbp), %rsi
	callq	_gradientDescent
	movsd	-16(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	-24(%rbp), %xmm1                ## xmm1 = mem[0],zero
	leaq	L_.str(%rip), %rdi
	movb	$2, %al
	callq	_libmin_printf
	callq	_libmin_success
	xorl	%eax, %eax
	addq	$32, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__DATA,__data
	.globl	_L                              ## @L
	.p2align	3
_L:
	.quad	0x3f50624dd2f1a9fc              ## double 0.001

	.globl	_Y                              ## @Y
	.p2align	4
_Y:
	.quad	0x404c000000000000              ## double 56
	.quad	0x4034000000000000              ## double 20
	.quad	0x4092b80000000000              ## double 1198
	.quad	0x4022000000000000              ## double 9
	.quad	0x403e000000000000              ## double 30
	.quad	0x4032000000000000              ## double 18
	.quad	0x4026000000000000              ## double 11
	.quad	0x404a000000000000              ## double 52
	.quad	0x4096c00000000000              ## double 1456
	.quad	0x4020000000000000              ## double 8
	.quad	0x4028000000000000              ## double 12
	.quad	0x4051800000000000              ## double 70
	.quad	0x4051000000000000              ## double 68
	.quad	0x4032000000000000              ## double 18
	.quad	0x40e0eec000000000              ## double 34678
	.quad	0x0000000000000000              ## double 0
	.quad	0x4049800000000000              ## double 51
	.quad	0x4067600000000000              ## double 187
	.quad	0x4065a00000000000              ## double 173
	.quad	0x4076100000000000              ## double 353
	.quad	0x40c87d8000000000              ## double 12539
	.quad	0x406f000000000000              ## double 248
	.quad	0x4069200000000000              ## double 201
	.quad	0x4031000000000000              ## double 17
	.quad	0x403b000000000000              ## double 27
	.quad	0x4014000000000000              ## double 5
	.quad	0x4034000000000000              ## double 20
	.quad	0x402e000000000000              ## double 15
	.quad	0x4099480000000000              ## double 1618
	.quad	0x409bf80000000000              ## double 1790
	.quad	0x407c500000000000              ## double 453
	.quad	0x40a31c0000000000              ## double 2446
	.quad	0x4044800000000000              ## double 41
	.quad	0x4008000000000000              ## double 3
	.quad	0x4038000000000000              ## double 24
	.quad	0x4041800000000000              ## double 35
	.quad	0x4038000000000000              ## double 24
	.quad	0x4063c00000000000              ## double 158
	.quad	0x403d000000000000              ## double 29
	.quad	0x40b3910000000000              ## double 5009
	.quad	0x4055400000000000              ## double 85
	.quad	0x40b4510000000000              ## double 5201
	.quad	0x401c000000000000              ## double 7
	.quad	0x0000000000000000              ## double 0
	.quad	0x40a82a0000000000              ## double 3093
	.quad	0x4035000000000000              ## double 21
	.quad	0x4018000000000000              ## double 6
	.quad	0x407a100000000000              ## double 417
	.quad	0x4090e00000000000              ## double 1080
	.quad	0x4026000000000000              ## double 11

	.globl	_X                              ## @X
	.p2align	4
_X:
	.quad	0x4021333333333333              ## double 8.5999999999999996
	.quad	0x401e666666666666              ## double 7.5999999999999996
	.quad	0x4024666666666666              ## double 10.199999999999999
	.quad	0x4029000000000000              ## double 12.5
	.quad	0x402e000000000000              ## double 15
	.quad	0x403e666666666666              ## double 30.399999999999999
	.quad	0x400c000000000000              ## double 3.5
	.quad	0x4015333333333333              ## double 5.2999999999999998
	.quad	0x3fe0000000000000              ## double 0.5
	.quad	0x401f333333333333              ## double 7.7999999999999998
	.quad	0x401d333333333333              ## double 7.2999999999999998
	.quad	0x4031333333333333              ## double 17.199999999999999
	.quad	0x4024000000000000              ## double 10
	.quad	0x40314ccccccccccd              ## double 17.300000000000001
	.quad	0x4020000000000000              ## double 8
	.quad	0x3ff6666666666666              ## double 1.3999999999999999
	.quad	0x4018cccccccccccd              ## double 6.2000000000000002
	.quad	0x4011333333333333              ## double 4.2999999999999998
	.quad	0x403ecccccccccccd              ## double 30.800000000000001
	.quad	0x4025666666666666              ## double 10.699999999999999
	.quad	0x401799999999999a              ## double 5.9000000000000004
	.quad	0x3ff6666666666666              ## double 1.3999999999999999
	.quad	0x4023cccccccccccd              ## double 9.9000000000000003
	.quad	0x4035b33333333333              ## double 21.699999999999999
	.quad	0x4013333333333333              ## double 4.7999999999999998
	.quad	0x4042333333333333              ## double 36.399999999999999
	.quad	0x40304ccccccccccd              ## double 16.300000000000001
	.quad	0x4028000000000000              ## double 12
	.quad	0x4014666666666666              ## double 5.0999999999999996
	.quad	0x3ff4cccccccccccd              ## double 1.3
	.quad	0x400c000000000000              ## double 3.5
	.quad	0x4017333333333333              ## double 5.7999999999999998
	.quad	0x4018cccccccccccd              ## double 6.2000000000000002
	.quad	0x4022666666666666              ## double 9.1999999999999993
	.quad	0x4046a66666666666              ## double 45.299999999999997
	.quad	0x401d333333333333              ## double 7.2999999999999998
	.quad	0x403e4ccccccccccd              ## double 30.300000000000001
	.quad	0x4036800000000000              ## double 22.5
	.quad	0x402a333333333333              ## double 13.1
	.quad	0x402d333333333333              ## double 14.6
	.quad	0x4018cccccccccccd              ## double 6.2000000000000002
	.quad	0x4016000000000000              ## double 5.5
	.quad	0x403e4ccccccccccd              ## double 30.300000000000001
	.quad	0x4010cccccccccccd              ## double 4.2000000000000002
	.quad	0x4021333333333333              ## double 8.5999999999999996
	.quad	0x401d333333333333              ## double 7.2999999999999998
	.quad	0x4027cccccccccccd              ## double 11.9
	.quad	0x4020333333333333              ## double 8.0999999999999996
	.quad	0x3fe3333333333333              ## double 0.59999999999999998
	.quad	0x4027000000000000              ## double 11.5

	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"The function is: %.4lfx + %.4lf\n"

.subsections_via_symbols


ARM64 assembly:
	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function derivateWRTWeight
lCPI0_0:
	.quad	0x4049000000000000              ; double 50
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_derivateWRTWeight
	.p2align	2
_derivateWRTWeight:                     ; @derivateWRTWeight
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.cfi_def_cfa_offset 32
	str	d0, [sp, #24]
	str	d1, [sp, #16]
	movi	d0, #0000000000000000
	str	d0, [sp, #8]
	str	wzr, [sp, #4]
	b	LBB0_1
LBB0_1:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w8, [sp, #4]
	subs	w8, w8, #50
	cset	w8, ge
	tbnz	w8, #0, LBB0_4
	b	LBB0_2
LBB0_2:                                 ;   in Loop: Header=BB0_1 Depth=1
	ldr	d2, [sp, #8]
	ldrsw	x9, [sp, #4]
	adrp	x8, _X@PAGE
	add	x8, x8, _X@PAGEOFF
	ldr	d0, [x8, x9, lsl #3]
	ldrsw	x10, [sp, #4]
	adrp	x9, _Y@PAGE
	add	x9, x9, _Y@PAGEOFF
	ldr	d1, [x9, x10, lsl #3]
	ldr	d3, [sp, #24]
	ldrsw	x9, [sp, #4]
	ldr	d4, [x8, x9, lsl #3]
	ldr	d5, [sp, #16]
	fmadd	d3, d3, d4, d5
	fsub	d1, d1, d3
	fmadd	d0, d0, d1, d2
	str	d0, [sp, #8]
	b	LBB0_3
LBB0_3:                                 ;   in Loop: Header=BB0_1 Depth=1
	ldr	w8, [sp, #4]
	add	w8, w8, #1
	str	w8, [sp, #4]
	b	LBB0_1
LBB0_4:
	ldr	d1, [sp, #8]
	fmov	d0, #-2.00000000
	fmul	d0, d0, d1
	adrp	x8, lCPI0_0@PAGE
	ldr	d1, [x8, lCPI0_0@PAGEOFF]
	fdiv	d0, d0, d1
	add	sp, sp, #32
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function derivateWRTBias
lCPI1_0:
	.quad	0x4049000000000000              ; double 50
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_derivateWRTBias
	.p2align	2
_derivateWRTBias:                       ; @derivateWRTBias
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.cfi_def_cfa_offset 32
	str	d0, [sp, #24]
	str	d1, [sp, #16]
	movi	d0, #0000000000000000
	str	d0, [sp, #8]
	str	wzr, [sp, #4]
	b	LBB1_1
LBB1_1:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w8, [sp, #4]
	subs	w8, w8, #50
	cset	w8, ge
	tbnz	w8, #0, LBB1_4
	b	LBB1_2
LBB1_2:                                 ;   in Loop: Header=BB1_1 Depth=1
	ldr	d0, [sp, #8]
	ldrsw	x9, [sp, #4]
	adrp	x8, _Y@PAGE
	add	x8, x8, _Y@PAGEOFF
	ldr	d1, [x8, x9, lsl #3]
	ldr	d2, [sp, #24]
	ldrsw	x9, [sp, #4]
	adrp	x8, _X@PAGE
	add	x8, x8, _X@PAGEOFF
	ldr	d3, [x8, x9, lsl #3]
	ldr	d4, [sp, #16]
	fmadd	d2, d2, d3, d4
	fsub	d1, d1, d2
	fadd	d0, d0, d1
	str	d0, [sp, #8]
	b	LBB1_3
LBB1_3:                                 ;   in Loop: Header=BB1_1 Depth=1
	ldr	w8, [sp, #4]
	add	w8, w8, #1
	str	w8, [sp, #4]
	b	LBB1_1
LBB1_4:
	ldr	d1, [sp, #8]
	fmov	d0, #-2.00000000
	fmul	d0, d0, d1
	adrp	x8, lCPI1_0@PAGE
	ldr	d1, [x8, lCPI1_0@PAGEOFF]
	fdiv	d0, d0, d1
	add	sp, sp, #32
	ret
	.cfi_endproc
                                        ; -- End function
	.globl	_gradientDescent                ; -- Begin function gradientDescent
	.p2align	2
_gradientDescent:                       ; @gradientDescent
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #80
	.cfi_def_cfa_offset 80
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	stur	x0, [x29, #-8]
	stur	x1, [x29, #-16]
	stur	wzr, [x29, #-20]
	b	LBB2_1
LBB2_1:                                 ; =>This Inner Loop Header: Depth=1
	ldur	w8, [x29, #-20]
	subs	w8, w8, #200
	cset	w8, hs
	tbnz	w8, #0, LBB2_4
	b	LBB2_2
LBB2_2:                                 ;   in Loop: Header=BB2_1 Depth=1
	ldur	x8, [x29, #-8]
	ldr	d0, [x8]
	str	d0, [sp]                        ; 8-byte Folded Spill
	adrp	x8, _L@PAGE
	str	x8, [sp, #8]                    ; 8-byte Folded Spill
	ldr	d0, [x8, _L@PAGEOFF]
	str	d0, [sp, #16]                   ; 8-byte Folded Spill
	ldur	x8, [x29, #-8]
	ldr	d0, [x8]
	ldur	x8, [x29, #-16]
	ldr	d1, [x8]
	bl	_derivateWRTWeight
	ldr	d2, [sp]                        ; 8-byte Folded Reload
	ldr	x8, [sp, #8]                    ; 8-byte Folded Reload
	fmov	d1, d0
	ldr	d0, [sp, #16]                   ; 8-byte Folded Reload
	fmsub	d0, d0, d1, d2
	ldur	x9, [x29, #-8]
	str	d0, [x9]
	ldur	x9, [x29, #-16]
	ldr	d0, [x9]
	str	d0, [sp, #24]                   ; 8-byte Folded Spill
	ldr	d0, [x8, _L@PAGEOFF]
	str	d0, [sp, #32]                   ; 8-byte Folded Spill
	ldur	x8, [x29, #-8]
	ldr	d0, [x8]
	ldur	x8, [x29, #-16]
	ldr	d1, [x8]
	bl	_derivateWRTBias
	ldr	d2, [sp, #24]                   ; 8-byte Folded Reload
	fmov	d1, d0
	ldr	d0, [sp, #32]                   ; 8-byte Folded Reload
	fmsub	d0, d0, d1, d2
	ldur	x8, [x29, #-16]
	str	d0, [x8]
	b	LBB2_3
LBB2_3:                                 ;   in Loop: Header=BB2_1 Depth=1
	ldur	w8, [x29, #-20]
	add	w8, w8, #1
	stur	w8, [x29, #-20]
	b	LBB2_1
LBB2_4:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	add	sp, sp, #80
	ret
	.cfi_endproc
                                        ; -- End function
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	mov	w8, #0
	str	w8, [sp, #20]                   ; 4-byte Folded Spill
	stur	wzr, [x29, #-4]
	sub	x0, x29, #16
	movi	d0, #0000000000000000
	stur	d0, [x29, #-16]
	add	x1, sp, #24
	str	d0, [sp, #24]
	bl	_gradientDescent
	ldur	d1, [x29, #-16]
	ldr	d0, [sp, #24]
	mov	x8, sp
	str	d1, [x8]
	str	d0, [x8, #8]
	adrp	x0, l_.str@PAGE
	add	x0, x0, l_.str@PAGEOFF
	bl	_libmin_printf
	bl	_libmin_success
	ldr	w0, [sp, #20]                   ; 4-byte Folded Reload
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__DATA,__data
	.globl	_L                              ; @L
	.p2align	3
_L:
	.quad	0x3f50624dd2f1a9fc              ; double 0.001

	.globl	_Y                              ; @Y
	.p2align	3
_Y:
	.quad	0x404c000000000000              ; double 56
	.quad	0x4034000000000000              ; double 20
	.quad	0x4092b80000000000              ; double 1198
	.quad	0x4022000000000000              ; double 9
	.quad	0x403e000000000000              ; double 30
	.quad	0x4032000000000000              ; double 18
	.quad	0x4026000000000000              ; double 11
	.quad	0x404a000000000000              ; double 52
	.quad	0x4096c00000000000              ; double 1456
	.quad	0x4020000000000000              ; double 8
	.quad	0x4028000000000000              ; double 12
	.quad	0x4051800000000000              ; double 70
	.quad	0x4051000000000000              ; double 68
	.quad	0x4032000000000000              ; double 18
	.quad	0x40e0eec000000000              ; double 34678
	.quad	0x0000000000000000              ; double 0
	.quad	0x4049800000000000              ; double 51
	.quad	0x4067600000000000              ; double 187
	.quad	0x4065a00000000000              ; double 173
	.quad	0x4076100000000000              ; double 353
	.quad	0x40c87d8000000000              ; double 12539
	.quad	0x406f000000000000              ; double 248
	.quad	0x4069200000000000              ; double 201
	.quad	0x4031000000000000              ; double 17
	.quad	0x403b000000000000              ; double 27
	.quad	0x4014000000000000              ; double 5
	.quad	0x4034000000000000              ; double 20
	.quad	0x402e000000000000              ; double 15
	.quad	0x4099480000000000              ; double 1618
	.quad	0x409bf80000000000              ; double 1790
	.quad	0x407c500000000000              ; double 453
	.quad	0x40a31c0000000000              ; double 2446
	.quad	0x4044800000000000              ; double 41
	.quad	0x4008000000000000              ; double 3
	.quad	0x4038000000000000              ; double 24
	.quad	0x4041800000000000              ; double 35
	.quad	0x4038000000000000              ; double 24
	.quad	0x4063c00000000000              ; double 158
	.quad	0x403d000000000000              ; double 29
	.quad	0x40b3910000000000              ; double 5009
	.quad	0x4055400000000000              ; double 85
	.quad	0x40b4510000000000              ; double 5201
	.quad	0x401c000000000000              ; double 7
	.quad	0x0000000000000000              ; double 0
	.quad	0x40a82a0000000000              ; double 3093
	.quad	0x4035000000000000              ; double 21
	.quad	0x4018000000000000              ; double 6
	.quad	0x407a100000000000              ; double 417
	.quad	0x4090e00000000000              ; double 1080
	.quad	0x4026000000000000              ; double 11

	.globl	_X                              ; @X
	.p2align	3
_X:
	.quad	0x4021333333333333              ; double 8.5999999999999996
	.quad	0x401e666666666666              ; double 7.5999999999999996
	.quad	0x4024666666666666              ; double 10.199999999999999
	.quad	0x4029000000000000              ; double 12.5
	.quad	0x402e000000000000              ; double 15
	.quad	0x403e666666666666              ; double 30.399999999999999
	.quad	0x400c000000000000              ; double 3.5
	.quad	0x4015333333333333              ; double 5.2999999999999998
	.quad	0x3fe0000000000000              ; double 0.5
	.quad	0x401f333333333333              ; double 7.7999999999999998
	.quad	0x401d333333333333              ; double 7.2999999999999998
	.quad	0x4031333333333333              ; double 17.199999999999999
	.quad	0x4024000000000000              ; double 10
	.quad	0x40314ccccccccccd              ; double 17.300000000000001
	.quad	0x4020000000000000              ; double 8
	.quad	0x3ff6666666666666              ; double 1.3999999999999999
	.quad	0x4018cccccccccccd              ; double 6.2000000000000002
	.quad	0x4011333333333333              ; double 4.2999999999999998
	.quad	0x403ecccccccccccd              ; double 30.800000000000001
	.quad	0x4025666666666666              ; double 10.699999999999999
	.quad	0x401799999999999a              ; double 5.9000000000000004
	.quad	0x3ff6666666666666              ; double 1.3999999999999999
	.quad	0x4023cccccccccccd              ; double 9.9000000000000003
	.quad	0x4035b33333333333              ; double 21.699999999999999
	.quad	0x4013333333333333              ; double 4.7999999999999998
	.quad	0x4042333333333333              ; double 36.399999999999999
	.quad	0x40304ccccccccccd              ; double 16.300000000000001
	.quad	0x4028000000000000              ; double 12
	.quad	0x4014666666666666              ; double 5.0999999999999996
	.quad	0x3ff4cccccccccccd              ; double 1.3
	.quad	0x400c000000000000              ; double 3.5
	.quad	0x4017333333333333              ; double 5.7999999999999998
	.quad	0x4018cccccccccccd              ; double 6.2000000000000002
	.quad	0x4022666666666666              ; double 9.1999999999999993
	.quad	0x4046a66666666666              ; double 45.299999999999997
	.quad	0x401d333333333333              ; double 7.2999999999999998
	.quad	0x403e4ccccccccccd              ; double 30.300000000000001
	.quad	0x4036800000000000              ; double 22.5
	.quad	0x402a333333333333              ; double 13.1
	.quad	0x402d333333333333              ; double 14.6
	.quad	0x4018cccccccccccd              ; double 6.2000000000000002
	.quad	0x4016000000000000              ; double 5.5
	.quad	0x403e4ccccccccccd              ; double 30.300000000000001
	.quad	0x4010cccccccccccd              ; double 4.2000000000000002
	.quad	0x4021333333333333              ; double 8.5999999999999996
	.quad	0x401d333333333333              ; double 7.2999999999999998
	.quad	0x4027cccccccccccd              ; double 11.9
	.quad	0x4020333333333333              ; double 8.0999999999999996
	.quad	0x3fe3333333333333              ; double 0.59999999999999998
	.quad	0x4027000000000000              ; double 11.5

	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"The function is: %.4lfx + %.4lf\n"

.subsections_via_symbols