// File: /workspace/github_cpp_makefile_star2_O1/t0mm4rx[P]piscine_cpp/day02/ex01/main.cpp
// Function: main
int main(void) {
	Fixed a;
	Fixed const b(10);
	Fixed const c(42.42f);
	Fixed const d(b);

	a = Fixed(1234.4321f);
	std::cout << "a is " << a << std::endl;
	std::cout << "b is " << b << std::endl;
	std::cout << "c is " << c << std::endl;
	std::cout << "d is " << d << std::endl;
	std::cout << "a is " << a.toInt() << " as integer" << std::endl;
	std::cout << "b is " << b.toInt() << " as integer" << std::endl;
	std::cout << "c is " << c.toInt() << " as integer" << std::endl;
	std::cout << "d is " << d.toInt() << " as integer" << std::endl;
	return (0);
}

// Assembly:
pushq %rbx
subq $0x20, %rsp
leaq 0x10(%rsp), %rdi
callq 0x121c
leaq 0xc(%rsp), %rdi
movl $0xa, %esi
callq 0x1224
leaq 0x18(%rsp), %rdi
movss 0xd51(%rip), %xmm0      # 0x200c
callq 0x122a
leaq 0x14(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x1246
leaq 0x1c(%rsp), %rdi
movss 0xd34(%rip), %xmm0      # 0x2010
callq 0x122a
leaq 0x10(%rsp), %rdi
leaq 0x1c(%rsp), %rsi
callq 0x124c
leaq 0x1c(%rsp), %rdi
callq 0x1244
movq 0x2cd7(%rip), %rdi      # 0x3fd8
leaq 0xd0c(%rip), %rsi       # 0x2014
movl $0x5, %edx
callq 0x1080
movq 0x2cbf(%rip), %rdi      # 0x3fd8
leaq 0x10(%rsp), %rsi
callq 0x1270
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2c84(%rip), %rdi      # 0x3fd8
leaq 0xcbf(%rip), %rsi       # 0x201a
movl $0x5, %edx
callq 0x1080
movq 0x2c6c(%rip), %rdi      # 0x3fd8
leaq 0xc(%rsp), %rsi
callq 0x1270
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2c31(%rip), %rdi      # 0x3fd8
leaq 0xc72(%rip), %rsi       # 0x2020
movl $0x5, %edx
callq 0x1080
movq 0x2c19(%rip), %rdi      # 0x3fd8
leaq 0x18(%rsp), %rsi
callq 0x1270
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2bde(%rip), %rdi      # 0x3fd8
leaq 0xc25(%rip), %rsi       # 0x2026
movl $0x5, %edx
callq 0x1080
movq 0x2bc6(%rip), %rdi      # 0x3fd8
leaq 0x14(%rsp), %rsi
callq 0x1270
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2b8b(%rip), %rdi      # 0x3fd8
leaq 0xbc0(%rip), %rsi       # 0x2014
movl $0x5, %edx
callq 0x1080
leaq 0x10(%rsp), %rdi
callq 0x126a
movq 0x2b69(%rip), %rdi      # 0x3fd8
movl %eax, %esi
callq 0x10b0
movq %rax, %rbx
leaq 0xbac(%rip), %rsi       # 0x202c
movl $0xb, %edx
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2b1d(%rip), %rdi      # 0x3fd8
leaq 0xb58(%rip), %rsi       # 0x201a
movl $0x5, %edx
callq 0x1080
leaq 0xc(%rsp), %rdi
callq 0x126a
movq 0x2afb(%rip), %rdi      # 0x3fd8
movl %eax, %esi
callq 0x10b0
movq %rax, %rbx
leaq 0xb3e(%rip), %rsi       # 0x202c
movl $0xb, %edx
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2aaf(%rip), %rdi      # 0x3fd8
leaq 0xaf0(%rip), %rsi       # 0x2020
movl $0x5, %edx
callq 0x1080
leaq 0x18(%rsp), %rdi
callq 0x126a
movq 0x2a8d(%rip), %rdi      # 0x3fd8
movl %eax, %esi
callq 0x10b0
movq %rax, %rbx
leaq 0xad0(%rip), %rsi       # 0x202c
movl $0xb, %edx
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2a41(%rip), %rdi      # 0x3fd8
leaq 0xa88(%rip), %rsi       # 0x2026
movl $0x5, %edx
callq 0x1080
leaq 0x14(%rsp), %rdi
callq 0x126a
movq 0x2a1f(%rip), %rdi      # 0x3fd8
movl %eax, %esi
callq 0x10b0
movq %rax, %rbx
leaq 0xa62(%rip), %rsi       # 0x202c
movl $0xb, %edx
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
leaq 0x14(%rsp), %rdi
callq 0x1244
leaq 0x18(%rsp), %rdi
callq 0x1244
leaq 0xc(%rsp), %rdi
callq 0x1244
leaq 0x10(%rsp), %rdi
callq 0x1244
xorl %eax, %eax
addq $0x20, %rsp
popq %rbx
retq
movq %rax, %rbx
leaq 0x1c(%rsp), %rdi
callq 0x1244
jmp 0x1651
jmp 0x164e
movq %rax, %rbx
jmp 0x165b
movq %rax, %rbx
jmp 0x1665
movq %rax, %rbx
jmp 0x166f
movq %rax, %rbx
leaq 0x14(%rsp), %rdi
callq 0x1244
leaq 0x18(%rsp), %rdi
callq 0x1244
leaq 0xc(%rsp), %rdi
callq 0x1244
leaq 0x10(%rsp), %rdi
callq 0x1244
movq %rbx, %rdi
callq 0x10c0