	.file	"719233.c"
	.intel_syntax noprefix
	.text
	.globl	matA
	.bss
	.align 32
	.type	matA, @object
	.size	matA, 36
matA:
	.zero	36
	.globl	matB
	.align 32
	.type	matB, @object
	.size	matB, 36
matB:
	.zero	36
	.globl	kmat
	.align 32
	.type	kmat, @object
	.size	kmat, 36
kmat:
	.zero	36
	.globl	summat
	.align 32
	.type	summat, @object
	.size	summat, 36
summat:
	.zero	36
	.globl	resmat
	.align 32
	.type	resmat, @object
	.size	resmat, 36
resmat:
	.zero	36
	.globl	mulmat
	.align 32
	.type	mulmat, @object
	.size	mulmat, 36
mulmat:
	.zero	36
	.globl	transmat
	.align 32
	.type	transmat, @object
	.size	transmat, 36
transmat:
	.zero	36
	.globl	cons
	.align 4
	.type	cons, @object
	.size	cons, 4
cons:
	.zero	4
	.globl	resultado
	.align 4
	.type	resultado, @object
	.size	resultado, 4
resultado:
	.zero	4
	.section	.rodata
	.align 8
.LC0:
	.string	"--Operaciones con matrices 3x3--"
	.align 8
.LC1:
	.string	"Ingresar los valores de matA: "
	.align 8
.LC2:
	.string	"Ingresar los valores de matB: "
.LC3:
	.string	"Ingresar una constante: "
.LC4:
	.string	"%f"
.LC5:
	.string	"1. k*matA"
.LC6:
	.string	"2. matA+matB"
.LC7:
	.string	"3. matA-matB"
.LC8:
	.string	"4. matA*matB"
.LC9:
	.string	"5. det(A)"
.LC10:
	.string	"det(A)= %f\n"
.LC11:
	.string	"6. matB^t"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, matA[rip]
	call	ingresar
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, matB[rip]
	call	ingresar
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rsi, cons[rip]
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	mov	eax, DWORD PTR cons[rip]
	movd	xmm0, eax
	lea	rsi, kmat[rip]
	lea	rdi, matA[rip]
	call	constante
	lea	rdi, kmat[rip]
	call	imprimir
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdx, summat[rip]
	lea	rsi, matB[rip]
	lea	rdi, matA[rip]
	call	suma
	lea	rdi, summat[rip]
	call	imprimir
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdx, resmat[rip]
	lea	rsi, matB[rip]
	lea	rdi, matA[rip]
	call	resta
	lea	rdi, resmat[rip]
	call	imprimir
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdx, mulmat[rip]
	lea	rsi, matB[rip]
	lea	rdi, matA[rip]
	call	multi
	lea	rdi, mulmat[rip]
	call	imprimir
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, matA[rip]
	call	determinante
	movd	eax, xmm0
	mov	DWORD PTR resultado[rip], eax
	movss	xmm0, DWORD PTR resultado[rip]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	lea	rdi, .LC10[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC11[rip]
	call	puts@PLT
	lea	rsi, transmat[rip]
	lea	rdi, matB[rip]
	call	transpuesta
	lea	rdi, transmat[rip]
	call	imprimir
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
.LC12:
	.string	"%f, "
.LC13:
	.string	"]"
	.text
	.globl	imprimir
	.type	imprimir, @function
imprimir:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L3
.L6:
	mov	edi, 91
	call	putchar@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L4
.L5:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm0, DWORD PTR [rdx+rax*4]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	lea	rdi, .LC12[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L4:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L5
	lea	rdi, .LC13[rip]
	call	puts@PLT
	add	DWORD PTR -8[rbp], 1
.L3:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L6
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	imprimir, .-imprimir
	.section	.rodata
.LC14:
	.string	"Ingresar el dato %d,%d: "
	.text
	.globl	ingresar
	.type	ingresar, @function
ingresar:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L8
.L11:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L9
.L10:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	add	DWORD PTR -4[rbp], 1
.L9:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L10
	add	DWORD PTR -8[rbp], 1
.L8:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L11
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	ingresar, .-ingresar
	.globl	constante
	.type	constante, @function
constante:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	movss	DWORD PTR -36[rbp], xmm0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L13
.L16:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L14
.L15:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm0, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mulss	xmm0, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	DWORD PTR [rdx+rax*4], xmm0
	add	DWORD PTR -4[rbp], 1
.L14:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L15
	add	DWORD PTR -8[rbp], 1
.L13:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L16
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	constante, .-constante
	.globl	suma
	.type	suma, @function
suma:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -8[rbp], 0
	jmp	.L18
.L21:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L19
.L20:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm1, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm0, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	DWORD PTR [rdx+rax*4], xmm0
	add	DWORD PTR -4[rbp], 1
.L19:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L20
	add	DWORD PTR -8[rbp], 1
.L18:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L21
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	suma, .-suma
	.globl	resta
	.type	resta, @function
resta:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -8[rbp], 0
	jmp	.L23
.L26:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L24
.L25:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm0, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm1, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	subss	xmm0, xmm1
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	DWORD PTR [rdx+rax*4], xmm0
	add	DWORD PTR -4[rbp], 1
.L24:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L25
	add	DWORD PTR -8[rbp], 1
.L23:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L26
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	resta, .-resta
	.globl	multi
	.type	multi, @function
multi:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -12[rbp], 0
	jmp	.L28
.L33:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L29
.L32:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L30
.L31:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	movss	xmm1, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	xmm2, DWORD PTR [rdx+rax*4]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	movss	xmm0, DWORD PTR [rdx+rax*4]
	mulss	xmm0, xmm2
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	movss	DWORD PTR [rdx+rax*4], xmm0
	add	DWORD PTR -4[rbp], 1
.L30:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L31
	add	DWORD PTR -8[rbp], 1
.L29:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L32
	add	DWORD PTR -12[rbp], 1
.L28:
	cmp	DWORD PTR -12[rbp], 2
	jle	.L33
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	multi, .-multi
	.globl	permutacion
	.type	permutacion, @function
permutacion:
.LFB7:
	.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
	mov	DWORD PTR -28[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L35
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	je	.L35
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jne	.L36
.L35:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L37
.L36:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L38
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jge	.L38
	mov	DWORD PTR -4[rbp], 1
	jmp	.L37
.L38:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L39
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jge	.L39
	mov	DWORD PTR -4[rbp], 1
	jmp	.L37
.L39:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jge	.L40
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jge	.L40
	mov	DWORD PTR -4[rbp], 1
	jmp	.L37
.L40:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jle	.L41
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jle	.L41
	mov	DWORD PTR -4[rbp], -1
	jmp	.L37
.L41:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L42
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jle	.L42
	mov	DWORD PTR -4[rbp], -1
	jmp	.L37
.L42:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L37
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jle	.L37
	mov	DWORD PTR -4[rbp], -1
.L37:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	permutacion, .-permutacion
	.globl	determinante
	.type	determinante, @function
determinante:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	pxor	xmm0, xmm0
	movss	DWORD PTR -16[rbp], xmm0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L45
.L50:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L46
.L49:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L47
.L48:
	mov	edx, DWORD PTR -4[rbp]
	mov	ecx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	permutacion
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mulss	xmm1, xmm0
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR 4[rax]
	mulss	xmm1, xmm0
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR 8[rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -16[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -16[rbp], xmm0
	add	DWORD PTR -4[rbp], 1
.L47:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L48
	add	DWORD PTR -8[rbp], 1
.L46:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L49
	add	DWORD PTR -12[rbp], 1
.L45:
	cmp	DWORD PTR -12[rbp], 2
	jle	.L50
	movss	xmm0, DWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	determinante, .-determinante
	.globl	transpuesta
	.type	transpuesta, @function
transpuesta:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L53
.L56:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L54
.L55:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	movss	xmm0, DWORD PTR [rcx+rax*4]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movss	DWORD PTR [rdx+rax*4], xmm0
	add	DWORD PTR -4[rbp], 1
.L54:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L55
	add	DWORD PTR -8[rbp], 1
.L53:
	cmp	DWORD PTR -8[rbp], 2
	jle	.L56
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	transpuesta, .-transpuesta
	.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	"719233.c"
	.text
	.comm	matA,36,4
	.comm	matB,36,4
	.comm	kmat,36,4
	.comm	summat,36,4
	.comm	resmat,36,4
	.comm	mulmat,36,4
	.comm	transmat,36,4
	.comm	cons,4,4
	.comm	resultado,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"--Operaciones con matrices 3x3--\000"
	.align	2
.LC1:
	.ascii	"Ingresar los valores de matA: \000"
	.align	2
.LC2:
	.ascii	"Ingresar los valores de matB: \000"
	.align	2
.LC3:
	.ascii	"Ingresar una constante: \000"
	.align	2
.LC4:
	.ascii	"%f\000"
	.align	2
.LC5:
	.ascii	"1. k*matA\000"
	.align	2
.LC6:
	.ascii	"2. matA+matB\000"
	.align	2
.LC7:
	.ascii	"3. matA-matB\000"
	.align	2
.LC8:
	.ascii	"4. matA*matB\000"
	.align	2
.LC9:
	.ascii	"5. det(A)\000"
	.global	__aeabi_f2d
	.align	2
.LC10:
	.ascii	"det(A)= %f\012\000"
	.align	2
.LC11:
	.ascii	"6. matB^t\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
	ldr	r0, .L2
	bl	puts
	ldr	r0, .L2+4
	bl	puts
	ldr	r0, .L2+8
	bl	ingresar
	ldr	r0, .L2+12
	bl	puts
	ldr	r0, .L2+16
	bl	ingresar
	ldr	r0, .L2+20
	bl	puts
	ldr	r1, .L2+24
	ldr	r0, .L2+28
	bl	__isoc99_scanf
	ldr	r0, .L2+32
	bl	puts
	ldr	r3, .L2+24
	ldr	r3, [r3]	@ float
	mov	r2, r3
	ldr	r1, .L2+36
	ldr	r0, .L2+8
	bl	constante
	ldr	r0, .L2+36
	bl	imprimir
	ldr	r0, .L2+40
	bl	puts
	ldr	r2, .L2+44
	ldr	r1, .L2+16
	ldr	r0, .L2+8
	bl	suma
	ldr	r0, .L2+44
	bl	imprimir
	ldr	r0, .L2+48
	bl	puts
	ldr	r2, .L2+52
	ldr	r1, .L2+16
	ldr	r0, .L2+8
	bl	resta
	ldr	r0, .L2+52
	bl	imprimir
	ldr	r0, .L2+56
	bl	puts
	ldr	r2, .L2+60
	ldr	r1, .L2+16
	ldr	r0, .L2+8
	bl	multi
	ldr	r0, .L2+60
	bl	imprimir
	ldr	r0, .L2+64
	bl	puts
	ldr	r0, .L2+8
	bl	determinante
	mov	r3, r0
	ldr	r2, .L2+68
	str	r3, [r2]	@ float
	ldr	r3, .L2+68
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L2+72
	bl	printf
	ldr	r0, .L2+76
	bl	puts
	ldr	r1, .L2+80
	ldr	r0, .L2+16
	bl	transpuesta
	ldr	r0, .L2+80
	bl	imprimir
	nop
	pop	{fp, pc}
.L3:
	.align	2
.L2:
	.word	.LC0
	.word	.LC1
	.word	matA
	.word	.LC2
	.word	matB
	.word	.LC3
	.word	cons
	.word	.LC4
	.word	.LC5
	.word	kmat
	.word	.LC6
	.word	summat
	.word	.LC7
	.word	resmat
	.word	.LC8
	.word	mulmat
	.word	.LC9
	.word	resultado
	.word	.LC10
	.word	.LC11
	.word	transmat
	.size	main, .-main
	.section	.rodata
	.align	2
.LC12:
	.ascii	"%f, \000"
	.align	2
.LC13:
	.ascii	"]\000"
	.text
	.align	2
	.global	imprimir
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprimir, %function
imprimir:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L5
.L8:
	mov	r0, #91
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L6
.L7:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldr	r2, [fp, #-8]
	ldr	r3, [r3, r2, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L9
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L6:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L7
	ldr	r0, .L9+4
	bl	puts
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L5:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	ble	.L8
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	.LC12
	.word	.LC13
	.size	imprimir, .-imprimir
	.section	.rodata
	.align	2
.LC14:
	.ascii	"Ingresar el dato %d,%d: \000"
	.text
	.align	2
	.global	ingresar
	.syntax unified
	.arm
	.fpu softvfp
	.type	ingresar, %function
ingresar:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L12
.L15:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L13
.L14:
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r0, .L16
	bl	printf
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r3, r2
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L16+4
	bl	__isoc99_scanf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L13:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L14
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L12:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	ble	.L15
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L17:
	.align	2
.L16:
	.word	.LC14
	.word	.LC4
	.size	ingresar, .-ingresar
	.global	__aeabi_fmul
	.align	2
	.global	constante
	.syntax unified
	.arm
	.fpu softvfp
	.type	constante, %function
constante:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]	@ float
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L19
.L22:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L20
.L21:
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r0, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r4, r3, r2
	ldr	r1, [fp, #-32]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r4, r3, lsl #2]	@ float
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L20:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L21
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L19:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	ble	.L22
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	constante, .-constante
	.global	__aeabi_fadd
	.align	2
	.global	suma
	.syntax unified
	.arm
	.fpu softvfp
	.type	suma, %function
suma:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L24
.L27:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L25
.L26:
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r0, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r1, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r4, r3, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r4, r3, lsl #2]	@ float
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L25:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L26
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L24:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	ble	.L27
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	suma, .-suma
	.global	__aeabi_fsub
	.align	2
	.global	resta
	.syntax unified
	.arm
	.fpu softvfp
	.type	resta, %function
resta:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L29
.L32:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L30
.L31:
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r0, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r1, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r4, r3, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r4, r3, lsl #2]	@ float
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L30:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L31
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L29:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	ble	.L32
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	resta, .-resta
	.align	2
	.global	multi
	.syntax unified
	.arm
	.fpu softvfp
	.type	multi, %function
multi:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L34
.L39:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L35
.L38:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L36
.L37:
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	ldr	r5, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r0, [r3, r2, lsl #2]	@ float
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	ldr	r3, [r3, r2, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r0, r5
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r4, r3, lsl #2]	@ float
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L36:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L37
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L35:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	ble	.L38
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L34:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	ble	.L39
	nop
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	multi, .-multi
	.align	2
	.global	permutacion
	.syntax unified
	.arm
	.fpu softvfp
	.type	permutacion, %function
permutacion:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L41
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L41
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L42
.L41:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L43
.L42:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bge	.L44
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bge	.L44
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L43
.L44:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bge	.L45
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L45
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L43
.L45:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bge	.L46
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L46
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L43
.L46:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L47
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	ble	.L47
	mvn	r3, #0
	str	r3, [fp, #-8]
	b	.L43
.L47:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L48
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	ble	.L48
	mvn	r3, #0
	str	r3, [fp, #-8]
	b	.L43
.L48:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L43
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L43
	mvn	r3, #0
	str	r3, [fp, #-8]
.L43:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	permutacion, .-permutacion
	.global	__aeabi_i2f
	.align	2
	.global	determinante
	.syntax unified
	.arm
	.fpu softvfp
	.type	determinante, %function
determinante:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]	@ float
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L51
.L56:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L52
.L55:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L53
.L54:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	permutacion
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2f
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r3, [r3, #4]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r3, [r3, #8]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L53:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L54
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L52:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	ble	.L55
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L51:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L56
	ldr	r3, [fp, #-20]	@ float
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	determinante, .-determinante
	.align	2
	.global	transpuesta
	.syntax unified
	.arm
	.fpu softvfp
	.type	transpuesta, %function
transpuesta:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L59
.L62:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L60
.L61:
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r1, r3, r2
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	ldr	r2, [fp, #-12]
	ldr	r1, [r1, r2, lsl #2]	@ float
	ldr	r2, [fp, #-8]
	str	r1, [r3, r2, lsl #2]	@ float
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L60:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L61
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L59:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	ble	.L62
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	transpuesta, .-transpuesta
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
