	.file	"389910.c"
	.intel_syntax noprefix
	.text
	.globl	euclid_gcd
	.type	euclid_gcd, @function
euclid_gcd:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	jmp	.L2
.L3:
	mov	eax, DWORD PTR -20[rbp]
	cdq
	idiv	DWORD PTR -24[rbp]
	mov	DWORD PTR -4[rbp], edx
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -24[rbp], eax
.L2:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L3
	mov	eax, DWORD PTR -20[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	euclid_gcd, .-euclid_gcd
	.globl	euclid_gcd_recursive
	.type	euclid_gcd_recursive, @function
euclid_gcd_recursive:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	je	.L6
	mov	eax, DWORD PTR -4[rbp]
	cdq
	idiv	DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	euclid_gcd_recursive
	jmp	.L8
.L6:
	mov	eax, DWORD PTR -4[rbp]
.L8:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	euclid_gcd_recursive, .-euclid_gcd_recursive
	.section	.rodata
.LC0:
	.string	"the_stack_data/389910.c"
.LC1:
	.string	"6 == euclid_gcd(888, 78)"
.LC2:
	.string	"5 == euclid_gcd(45, 25)"
.LC3:
	.string	"2 == euclid_gcd(142, 872)"
.LC4:
	.string	"111 == euclid_gcd(999, 111)"
.LC5:
	.string	"250 == euclid_gcd(4500, 1250)"
	.align 8
.LC6:
	.string	"6 == euclid_gcd_recursive(888, 78)"
	.align 8
.LC7:
	.string	"5 == euclid_gcd_recursive(45, 25)"
	.align 8
.LC8:
	.string	"2 == euclid_gcd_recursive(142, 872)"
	.align 8
.LC9:
	.string	"111 == euclid_gcd_recursive(999, 111)"
	.align 8
.LC10:
	.string	"250 == euclid_gcd_recursive(4500, 1250)"
	.text
	.globl	main
	.type	main, @function
main:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	esi, 78
	mov	edi, 888
	call	euclid_gcd
	cmp	eax, 6
	je	.L10
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 22
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L10:
	mov	esi, 25
	mov	edi, 45
	call	euclid_gcd
	cmp	eax, 5
	je	.L11
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 23
	lea	rsi, .LC0[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L11:
	mov	esi, 872
	mov	edi, 142
	call	euclid_gcd
	cmp	eax, 2
	je	.L12
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 24
	lea	rsi, .LC0[rip]
	lea	rdi, .LC3[rip]
	call	__assert_fail@PLT
.L12:
	mov	esi, 111
	mov	edi, 999
	call	euclid_gcd
	cmp	eax, 111
	je	.L13
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 25
	lea	rsi, .LC0[rip]
	lea	rdi, .LC4[rip]
	call	__assert_fail@PLT
.L13:
	mov	esi, 1250
	mov	edi, 4500
	call	euclid_gcd
	cmp	eax, 250
	je	.L14
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 26
	lea	rsi, .LC0[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L14:
	mov	esi, 78
	mov	edi, 888
	call	euclid_gcd_recursive
	cmp	eax, 6
	je	.L15
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 28
	lea	rsi, .LC0[rip]
	lea	rdi, .LC6[rip]
	call	__assert_fail@PLT
.L15:
	mov	esi, 25
	mov	edi, 45
	call	euclid_gcd_recursive
	cmp	eax, 5
	je	.L16
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 29
	lea	rsi, .LC0[rip]
	lea	rdi, .LC7[rip]
	call	__assert_fail@PLT
.L16:
	mov	esi, 872
	mov	edi, 142
	call	euclid_gcd_recursive
	cmp	eax, 2
	je	.L17
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 30
	lea	rsi, .LC0[rip]
	lea	rdi, .LC8[rip]
	call	__assert_fail@PLT
.L17:
	mov	esi, 111
	mov	edi, 999
	call	euclid_gcd_recursive
	cmp	eax, 111
	je	.L18
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 31
	lea	rsi, .LC0[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L18:
	mov	esi, 1250
	mov	edi, 4500
	call	euclid_gcd_recursive
	cmp	eax, 250
	je	.L19
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 32
	lea	rsi, .LC0[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L19:
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	main, .-main
	.section	.rodata
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 5
__PRETTY_FUNCTION__.0:
	.string	"main"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"389910.c"
	.text
	.global	__aeabi_idivmod
	.align	2
	.global	euclid_gcd
	.syntax unified
	.arm
	.fpu softvfp
	.type	euclid_gcd, %function
euclid_gcd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	b	.L2
.L3:
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
.L2:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L3
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	euclid_gcd, .-euclid_gcd
	.align	2
	.global	euclid_gcd_recursive
	.syntax unified
	.arm
	.fpu softvfp
	.type	euclid_gcd_recursive, %function
euclid_gcd_recursive:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L6
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	euclid_gcd_recursive
	mov	r3, r0
	b	.L8
.L6:
	ldr	r3, [fp, #-8]
.L8:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	euclid_gcd_recursive, .-euclid_gcd_recursive
	.section	.rodata
	.align	2
.LC0:
	.ascii	"the_stack_data/389910.c\000"
	.align	2
.LC1:
	.ascii	"6 == euclid_gcd(888, 78)\000"
	.align	2
.LC2:
	.ascii	"5 == euclid_gcd(45, 25)\000"
	.align	2
.LC3:
	.ascii	"2 == euclid_gcd(142, 872)\000"
	.align	2
.LC4:
	.ascii	"111 == euclid_gcd(999, 111)\000"
	.align	2
.LC5:
	.ascii	"250 == euclid_gcd(4500, 1250)\000"
	.align	2
.LC6:
	.ascii	"6 == euclid_gcd_recursive(888, 78)\000"
	.align	2
.LC7:
	.ascii	"5 == euclid_gcd_recursive(45, 25)\000"
	.align	2
.LC8:
	.ascii	"2 == euclid_gcd_recursive(142, 872)\000"
	.align	2
.LC9:
	.ascii	"111 == euclid_gcd_recursive(999, 111)\000"
	.align	2
.LC10:
	.ascii	"250 == euclid_gcd_recursive(4500, 1250)\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r1, #78
	mov	r0, #888
	bl	euclid_gcd
	mov	r3, r0
	cmp	r3, #6
	beq	.L10
	ldr	r3, .L21
	mov	r2, #22
	ldr	r1, .L21+4
	ldr	r0, .L21+8
	bl	__assert_fail
.L10:
	mov	r1, #25
	mov	r0, #45
	bl	euclid_gcd
	mov	r3, r0
	cmp	r3, #5
	beq	.L11
	ldr	r3, .L21
	mov	r2, #23
	ldr	r1, .L21+4
	ldr	r0, .L21+12
	bl	__assert_fail
.L11:
	mov	r1, #872
	mov	r0, #142
	bl	euclid_gcd
	mov	r3, r0
	cmp	r3, #2
	beq	.L12
	ldr	r3, .L21
	mov	r2, #24
	ldr	r1, .L21+4
	ldr	r0, .L21+16
	bl	__assert_fail
.L12:
	mov	r1, #111
	ldr	r0, .L21+20
	bl	euclid_gcd
	mov	r3, r0
	cmp	r3, #111
	beq	.L13
	ldr	r3, .L21
	mov	r2, #25
	ldr	r1, .L21+4
	ldr	r0, .L21+24
	bl	__assert_fail
.L13:
	ldr	r1, .L21+28
	ldr	r0, .L21+32
	bl	euclid_gcd
	mov	r3, r0
	cmp	r3, #250
	beq	.L14
	ldr	r3, .L21
	mov	r2, #26
	ldr	r1, .L21+4
	ldr	r0, .L21+36
	bl	__assert_fail
.L14:
	mov	r1, #78
	mov	r0, #888
	bl	euclid_gcd_recursive
	mov	r3, r0
	cmp	r3, #6
	beq	.L15
	ldr	r3, .L21
	mov	r2, #28
	ldr	r1, .L21+4
	ldr	r0, .L21+40
	bl	__assert_fail
.L15:
	mov	r1, #25
	mov	r0, #45
	bl	euclid_gcd_recursive
	mov	r3, r0
	cmp	r3, #5
	beq	.L16
	ldr	r3, .L21
	mov	r2, #29
	ldr	r1, .L21+4
	ldr	r0, .L21+44
	bl	__assert_fail
.L16:
	mov	r1, #872
	mov	r0, #142
	bl	euclid_gcd_recursive
	mov	r3, r0
	cmp	r3, #2
	beq	.L17
	ldr	r3, .L21
	mov	r2, #30
	ldr	r1, .L21+4
	ldr	r0, .L21+48
	bl	__assert_fail
.L17:
	mov	r1, #111
	ldr	r0, .L21+20
	bl	euclid_gcd_recursive
	mov	r3, r0
	cmp	r3, #111
	beq	.L18
	ldr	r3, .L21
	mov	r2, #31
	ldr	r1, .L21+4
	ldr	r0, .L21+52
	bl	__assert_fail
.L18:
	ldr	r1, .L21+28
	ldr	r0, .L21+32
	bl	euclid_gcd_recursive
	mov	r3, r0
	cmp	r3, #250
	beq	.L19
	ldr	r3, .L21
	mov	r2, #32
	ldr	r1, .L21+4
	ldr	r0, .L21+56
	bl	__assert_fail
.L19:
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
.L22:
	.align	2
.L21:
	.word	__PRETTY_FUNCTION__.4222
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	999
	.word	.LC4
	.word	1250
	.word	4500
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.4222, %object
	.size	__PRETTY_FUNCTION__.4222, 5
__PRETTY_FUNCTION__.4222:
	.ascii	"main\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
