// File: /workspace/github_cpp_makefile_star2_O2/aisthesis[P]realnumber/tst/real_number_test.cpp
// Function: constructor::equals_small_number2::test_method()
BOOST_AUTO_TEST_CASE(equals_small_number2) {
		// tests only the last digit for the small number and allows 2 possible values
		std::string output = small_num_rn.to_decimal_string();
		char original_digit = small_num_str[small_num_str.length() - 1];
		char output_digit = output[small_num_str.length() - 1];
		bool the_same = original_digit == output_digit;
		if (!the_same) {
			BOOST_TEST_MESSAGE("Last digit of input differs from corresponding digit of output:");
			BOOST_TEST_MESSAGE(std::string("input digit: ").append(1, original_digit));
			BOOST_TEST_MESSAGE(std::string("output digit: ").append(1, output_digit));
		}
		bool close_enough = original_digit - output_digit == 1;
		close_enough = close_enough && (output.substr(small_num_str.length(), 3) == "999");
		if (close_enough) {
			BOOST_TEST_MESSAGE("Difference between input and output is minimal and results from base conversion.");
			BOOST_TEST_MESSAGE(std::string("Relevant digits: ")
					.append(output.substr(small_num_str.length() - 1, 4)));
		}
		BOOST_REQUIRE(the_same || close_enough);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %r15
leaq 0x120(%rdi), %rsi
leaq -0xc8(%rbp), %r14
movq %r14, %rdi
callq 0xe7c0
movq 0x80(%r15), %rax
movq 0x88(%r15), %rcx
movsbl -0x1(%rax,%rcx), %ebx
movq (%r14), %rax
movsbl -0x1(%rax,%rcx), %r14d
cmpb %r14b, %bl
je 0x5f55
movq 0x1044b(%rip), %rdi     # 0x161f0
leaq 0xa284(%rip), %rax      # 0x10030
leaq -0x50(%rbp), %rsi
movq %rax, (%rsi)
leaq 0xa28e(%rip), %r13      # 0x10048
movq %r13, 0x8(%rsi)
movq $0x60, 0x10(%rsi)
callq 0x3080
leaq -0x70(%rbp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x31b0
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0xfe2c(%rip), %rax      # 0x15c18
movq %rax, (%rsi)
movq 0x101d2(%rip), %rax     # 0x15fc8
movq %rax, 0x10(%rsi)
leaq 0xa41e(%rip), %rax      # 0x1021f
movq %rax, 0x18(%rsi)
leaq -0x70(%rbp), %rdi
callq 0x3320
leaq -0x70(%rbp), %r12
movq %r12, %rdi
callq 0x3290
movq 0x103cf(%rip), %rdi     # 0x161f0
leaq 0xa208(%rip), %rax      # 0x10030
movq %rax, (%r12)
movq %r13, 0x8(%r12)
movq $0x61, 0x10(%r12)
leaq -0x70(%rbp), %rsi
callq 0x3080
leaq -0x88(%rbp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x31b0
leaq 0xa403(%rip), %rsi      # 0x1025f
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0xdae6
leaq -0x50(%rbp), %rdi
pushq $0x1
popq %rsi
movl %ebx, %edx
callq 0x31f0
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0xfdcf(%rip), %r12      # 0x15c58
movq %r12, (%rsi)
movq 0x10135(%rip), %rcx     # 0x15fc8
movq %rcx, 0x10(%rsi)
movq %rax, 0x18(%rsi)
leaq -0x88(%rbp), %rdi
callq 0x3320
leaq -0x50(%rbp), %rdi
callq 0x30d0
leaq -0x88(%rbp), %rdi
callq 0x3290
movq 0x1032d(%rip), %rdi     # 0x161f0
leaq -0x70(%rbp), %rsi
leaq 0xa162(%rip), %rax      # 0x10030
movq %rax, (%rsi)
movq %r13, 0x8(%rsi)
movq $0x62, 0x10(%rsi)
callq 0x3080
leaq -0x88(%rbp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x31b0
leaq 0xa372(%rip), %rsi      # 0x1026d
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0xdae6
leaq -0x50(%rbp), %rdi
pushq $0x1
popq %rsi
movl %r14d, %edx
callq 0x31f0
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
movq %r12, (%rsi)
movq 0x1009c(%rip), %rcx     # 0x15fc8
movq %rcx, 0x10(%rsi)
movq %rax, 0x18(%rsi)
leaq -0x88(%rbp), %rdi
callq 0x3320
leaq -0x50(%rbp), %rdi
callq 0x30d0
leaq -0x88(%rbp), %rdi
callq 0x3290
movl %ebx, %eax
subl %r14d, %eax
cmpl $0x1, %eax
jne 0x60df
movq 0x88(%r15), %rdx
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
pushq $0x3
popq %rcx
callq 0x31e0
leaq 0xa9df(%rip), %rsi      # 0x10966
leaq -0xa8(%rbp), %r12
movq %r12, %rdi
callq 0xdb21
movl %eax, %r13d
movq %r12, %rdi
callq 0x30d0
testb %r13b, %r13b
je 0x60df
movq 0x1023f(%rip), %rdi     # 0x161f0
leaq 0xa078(%rip), %r13      # 0x10030
leaq -0x50(%rbp), %rsi
movq %r13, (%rsi)
leaq 0xa082(%rip), %r12      # 0x10048
movq %r12, 0x8(%rsi)
movq $0x67, 0x10(%rsi)
callq 0x3080
leaq -0x70(%rbp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x31b0
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0xfca0(%rip), %rax      # 0x15c98
movq %rax, (%rsi)
movq 0xffc6(%rip), %rax      # 0x15fc8
movq %rax, 0x10(%rsi)
leaq 0xa26f(%rip), %rax      # 0x1027c
movq %rax, 0x18(%rsi)
leaq -0x70(%rbp), %rdi
callq 0x3320
leaq -0x70(%rbp), %rdi
callq 0x3290
movq 0x101c6(%rip), %rdi     # 0x161f0
leaq -0x88(%rbp), %rsi
movq %r13, (%rsi)
movq %r12, 0x8(%rsi)
movq $0x69, 0x10(%rsi)
callq 0x3080
leaq -0x29(%rbp), %rdi
pushq $0x2
popq %rdx
movq %rax, %rsi
callq 0x31b0
leaq 0xa272(%rip), %rsi      # 0x102cd
leaq -0x50(%rbp), %rdi
leaq -0x2a(%rbp), %rdx
callq 0xdae6
movq 0x88(%r15), %rdx
decq %rdx
leaq -0x70(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
pushq $0x4
popq %rcx
callq 0x31e0
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x3380
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0xfbb4(%rip), %rcx      # 0x15c58
movq %rcx, (%rsi)
movq 0xff1a(%rip), %rcx      # 0x15fc8
movq %rcx, 0x10(%rsi)
movq %rax, 0x18(%rsi)
leaq -0x29(%rbp), %rdi
callq 0x3320
leaq -0x70(%rbp), %rdi
callq 0x30d0
leaq -0x50(%rbp), %rdi
callq 0x30d0
leaq -0x29(%rbp), %rdi
callq 0x3290
movb $0x1, %r13b
jmp 0x60e2
xorl %r13d, %r13d
movq 0x10107(%rip), %rdi     # 0x161f0
leaq 0x9f40(%rip), %r15      # 0x10030
leaq -0xf8(%rbp), %rsi
movq %r15, (%rsi)
leaq 0x9f47(%rip), %r12      # 0x10048
movq %r12, 0x8(%rsi)
leaq 0xab8e(%rip), %rax      # 0x10c9a
leaq -0xe8(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
pushq $0x6b
popq %rdx
callq 0x3340
cmpb %r14b, %bl
sete %al
orb %r13b, %al
leaq -0x50(%rbp), %rdi
movb %al, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0xa1a0(%rip), %rax      # 0x102df
leaq -0x70(%rbp), %rcx
movq %rax, (%rcx)
leaq 0xa1aa(%rip), %rax      # 0x102f7
movq %rax, 0x8(%rcx)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0xfb75(%rip), %rax      # 0x15cd8
movq %rax, (%rsi)
movq 0xfe5b(%rip), %rax      # 0x15fc8
movq %rax, 0x10(%rsi)
movq %rcx, 0x18(%rsi)
leaq -0xd8(%rbp), %rdx
movq %r15, (%rdx)
movq %r12, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x6b
popq %rcx
pushq $0x2
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x3330
leaq -0x40(%rbp), %rdi
callq 0xdfec
leaq -0xc8(%rbp), %rdi
callq 0x30d0
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x61c2
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x30d0
jmp 0x61d3
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x61e1
movq %rax, %rbx
leaq -0x29(%rbp), %rdi
jmp 0x6218
jmp 0x6211
jmp 0x61f7
jmp 0x6233
jmp 0x61f7
jmp 0x6205
jmp 0x6233
jmp 0x61f7
jmp 0x6233
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x6208
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
jmp 0x6218
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x3290
jmp 0x6236
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0xdfec
jmp 0x6236
jmp 0x6233
jmp 0x6233
jmp 0x6233
movq %rax, %rbx
leaq -0xc8(%rbp), %rdi
callq 0x30d0
movq %rbx, %rdi
callq 0x3300