	.file	"fps.cpp"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	" INIT TIME COUNTER: %d FPS \n"
	.text
	.align 2
	.globl	_ZN3FPS15InitTimeCounterEv
	.type	_ZN3FPS15InitTimeCounterEv, @function
_ZN3FPS15InitTimeCounterEv:
.LFB34:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$8, %rsp
	.cfi_offset 3, -24
1:	call	mcount
	movq	%rdi, %rbx
	leaq	16(%rdi), %rdi
	movl	$0, %esi
	call	gettimeofday
	movl	$60, 32(%rbx)
	movl	$60, %esi
	movl	$.LC0, %edi
	movl	$0, %eax
	call	printf
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	_ZN3FPS15InitTimeCounterEv, .-_ZN3FPS15InitTimeCounterEv
	.align 2
	.globl	_ZN3FPS17UpdateTimeCounterEf
	.type	_ZN3FPS17UpdateTimeCounterEf, @function
_ZN3FPS17UpdateTimeCounterEf:
.LFB35:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$8, %rsp
	.cfi_offset 3, -24
1:	call	mcount
	movq	%rdi, %rbx
	movss	36(%rdi), %xmm0
	movss	%xmm0, 40(%rdi)
	movl	$0, %esi
	call	gettimeofday
	movq	8(%rbx), %rax
	subq	24(%rbx), %rax
	pxor	%xmm0, %xmm0
	cvtsi2ssq	%rax, %xmm0
	cvtss2sd	%xmm0, %xmm0
	mulsd	.LC1(%rip), %xmm0
	movq	(%rbx), %rax
	subq	16(%rbx), %rax
	pxor	%xmm1, %xmm1
	cvtsi2ssq	%rax, %xmm1
	cvtss2sd	%xmm1, %xmm1
	addsd	%xmm1, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, 36(%rbx)
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	_ZN3FPS17UpdateTimeCounterEf, .-_ZN3FPS17UpdateTimeCounterEf
	.section	.rodata.str1.1
.LC2:
	.string	"%4.1f SECONDS * %04.2f FPS\n"
	.text
	.align 2
	.globl	_ZN3FPS12CalculateFPSEv
	.type	_ZN3FPS12CalculateFPSEv, @function
_ZN3FPS12CalculateFPSEv:
.LFB36:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
1:	call	mcount
	movl	Frame(%rip), %eax
	addl	$1, %eax
	movl	%eax, Frame(%rip)
	movl	32(%rdi), %ecx
	cltd
	idivl	%ecx
	testl	%edx, %edx
	jne	.L4
	movss	36(%rdi), %xmm1
	pxor	%xmm0, %xmm0
	cvtsi2ssl	%ecx, %xmm0
	movaps	%xmm1, %xmm2
	subss	prevTime(%rip), %xmm2
	divss	%xmm2, %xmm0
	movss	%xmm0, 44(%rdi)
	movss	%xmm1, prevTime(%rip)
.L4:
	pxor	%xmm0, %xmm0
	cvtss2sd	36(%rdi), %xmm0
	pxor	%xmm1, %xmm1
	cvtss2sd	44(%rdi), %xmm1
	movl	$.LC2, %edi
	movl	$2, %eax
	call	printf
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	_ZN3FPS12CalculateFPSEv, .-_ZN3FPS12CalculateFPSEv
	.globl	Frame
	.data
	.align 4
	.type	Frame, @object
	.size	Frame, 4
Frame:
	.long	1
	.globl	prevTime
	.bss
	.align 4
	.type	prevTime, @object
	.size	prevTime, 4
prevTime:
	.zero	4
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC1:
	.long	-1598689907
	.long	1051772663
	.ident	"GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)"
	.section	.note.GNU-stack,"",@progbits
