// File: aisthesis[P]realnumber/tst/array_arithmetic_test.cpp
// Function: subtraction::different_lengths_invoker()
BOOST_AUTO_TEST_CASE(different_lengths) {
		array_arithmetic::convert::from_int(1000000255, bigger_arr1, bigger_arr_len);
		array_arithmetic::convert::from_int(255, big_arr, bigger_arr_len - 2);
		array_arithmetic::subtract(bigger_arr1, big_arr, bigger_arr2, bigger_arr_len, bigger_arr_len - 2);
		BOOST_CHECK_EQUAL(array_arithmetic::convert::to_int(bigger_arr2, bigger_arr_len), one_billion);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa50, %rsp            # imm = 0xA50
movq 0x1227e(%rip), %rax     # 0x25220
movq %rax, -0x970(%rbp)
leaq 0xa05f(%rip), %rsi      # 0x1d00f
leaq -0x10(%rbp), %rdi
movl $0x1d, %edx
callq 0x17390
leaq -0x1b8(%rbp), %rdi
movq %rdi, -0x968(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x30d0
movq -0x968(%rbp), %rdi
callq 0x18120
movq -0x968(%rbp), %rdi
callq 0x18150
movq %rax, %rdi
movb $0x22, -0x1b9(%rbp)
leaq -0x1b9(%rbp), %rsi
callq 0x180e0
movq %rax, -0x960(%rbp)
jmp 0x1300f
movq -0x960(%rbp), %rdi
leaq 0xa6fb(%rip), %rsi      # 0x1d718
callq 0x19160
movq %rax, -0x978(%rbp)
jmp 0x1302b
movq -0x978(%rbp), %rdi
leaq 0xa950(%rip), %rsi      # 0x1d989
callq 0x18080
movq %rax, -0x980(%rbp)
jmp 0x13047
movq -0x980(%rbp), %rdi
callq 0x18160
movq %rax, -0x988(%rbp)
jmp 0x1305c
movq -0x988(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x18020
jmp 0x1306e
movq -0x970(%rbp), %rdi
leaq -0x10(%rbp), %rsi
movl $0x14e, %edx            # imm = 0x14E
leaq -0x20(%rbp), %rcx
callq 0x3390
jmp 0x13089
leaq -0x1b8(%rbp), %rdi
callq 0x181b0
leaq -0x258(%rbp), %rdi
callq 0x192d0
movq 0x12178(%rip), %rax     # 0x25220
movq %rax, -0x990(%rbp)
leaq 0x9f59(%rip), %rsi      # 0x1d00f
leaq -0x268(%rbp), %rdi
movl $0x1d, %edx
callq 0x17390
jmp 0x130c9
leaq -0x410(%rbp), %rdi
movq %rdi, -0x998(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x30d0
movq -0x998(%rbp), %rdi
callq 0x18120
jmp 0x130f1
leaq -0x410(%rbp), %rdi
callq 0x18150
movq %rax, %rdi
movb $0x22, -0x411(%rbp)
leaq -0x411(%rbp), %rsi
callq 0x180e0
movq %rax, -0x9a0(%rbp)
jmp 0x1311c
movq -0x9a0(%rbp), %rdi
leaq 0xa5ee(%rip), %rsi      # 0x1d718
callq 0x19160
movq %rax, -0x9a8(%rbp)
jmp 0x13138
movq -0x9a8(%rbp), %rdi
leaq 0xa852(%rip), %rsi      # 0x1d998
callq 0x18200
movq %rax, -0x9b0(%rbp)
jmp 0x13154
movq -0x9b0(%rbp), %rdi
callq 0x18160
movq %rax, -0x9b8(%rbp)
jmp 0x13169
movq -0x9b8(%rbp), %rsi
leaq -0x278(%rbp), %rdi
callq 0x18020
jmp 0x1317e
movq -0x990(%rbp), %rdi
leaq -0x268(%rbp), %rsi
movl $0x14e, %edx            # imm = 0x14E
leaq -0x278(%rbp), %rcx
callq 0x3390
jmp 0x1319f
leaq -0x410(%rbp), %rdi
callq 0x181b0
leaq -0x258(%rbp), %rdi
callq 0x192f0
jmp 0x131b9
movq 0x12060(%rip), %rax     # 0x25220
movq %rax, -0x9c0(%rbp)
leaq 0x9e41(%rip), %rsi      # 0x1d00f
leaq -0x428(%rbp), %rdi
movl $0x1d, %edx
callq 0x17390
jmp 0x131e1
leaq -0x5d0(%rbp), %rdi
movq %rdi, -0x9c8(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x30d0
movq -0x9c8(%rbp), %rdi
callq 0x18120
jmp 0x13209
leaq -0x5d0(%rbp), %rdi
callq 0x18150
movq %rax, %rdi
movb $0x22, -0x5d1(%rbp)
leaq -0x5d1(%rbp), %rsi
callq 0x180e0
movq %rax, -0x9d0(%rbp)
jmp 0x13234
movq -0x9d0(%rbp), %rdi
leaq 0xa4d6(%rip), %rsi      # 0x1d718
callq 0x19160
movq %rax, -0x9d8(%rbp)
jmp 0x13250
movq -0x9d8(%rbp), %rdi
leaq 0xa74a(%rip), %rsi      # 0x1d9a8
callq 0x18250
movq %rax, -0x9e0(%rbp)
jmp 0x1326c
movq -0x9e0(%rbp), %rdi
callq 0x18160
movq %rax, -0x9e8(%rbp)
jmp 0x13281
movq -0x9e8(%rbp), %rsi
leaq -0x438(%rbp), %rdi
callq 0x18020
jmp 0x13296
movq -0x9c0(%rbp), %rdi
leaq -0x428(%rbp), %rsi
movl $0x14e, %edx            # imm = 0x14E
leaq -0x438(%rbp), %rcx
callq 0x3390
jmp 0x132b7
leaq -0x5d0(%rbp), %rdi
callq 0x181b0
leaq -0x258(%rbp), %rdi
callq 0x135e0
jmp 0x132d1
movq 0x11f48(%rip), %rax     # 0x25220
movq %rax, -0x9f0(%rbp)
leaq 0x9d29(%rip), %rsi      # 0x1d00f
leaq -0x5e8(%rbp), %rdi
movl $0x1d, %edx
callq 0x17390
jmp 0x132f9
leaq -0x790(%rbp), %rdi
movq %rdi, -0x9f8(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x30d0
movq -0x9f8(%rbp), %rdi
callq 0x18120
jmp 0x13321
leaq -0x790(%rbp), %rdi
callq 0x18150
movq %rax, %rdi
movb $0x22, -0x791(%rbp)
leaq -0x791(%rbp), %rsi
callq 0x180e0
movq %rax, -0xa00(%rbp)
jmp 0x1334c
movq -0xa00(%rbp), %rdi
leaq 0xa3be(%rip), %rsi      # 0x1d718
callq 0x19160
movq %rax, -0xa08(%rbp)
jmp 0x13368
movq -0xa08(%rbp), %rdi
leaq 0xa63f(%rip), %rsi      # 0x1d9b5
callq 0x18280
movq %rax, -0xa10(%rbp)
jmp 0x13384
movq -0xa10(%rbp), %rdi
callq 0x18160
movq %rax, -0xa18(%rbp)
jmp 0x13399
movq -0xa18(%rbp), %rsi
leaq -0x5f8(%rbp), %rdi
callq 0x18020
jmp 0x133ae
movq -0x9f0(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
movl $0x14e, %edx            # imm = 0x14E
leaq -0x5f8(%rbp), %rcx
callq 0x3390
jmp 0x133cf
leaq -0x790(%rbp), %rdi
callq 0x181b0
leaq -0x258(%rbp), %rdi
callq 0x19310
jmp 0x133e9
movq 0x11e30(%rip), %rax     # 0x25220
movq %rax, -0xa20(%rbp)
leaq 0x9c11(%rip), %rsi      # 0x1d00f
leaq -0x7a8(%rbp), %rdi
movl $0x1d, %edx
callq 0x17390
jmp 0x13411
leaq -0x950(%rbp), %rdi
movq %rdi, -0xa28(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x30d0
movq -0xa28(%rbp), %rdi
callq 0x18120
jmp 0x13439
leaq -0x950(%rbp), %rdi
callq 0x18150
movq %rax, %rdi
movb $0x22, -0x951(%rbp)
leaq -0x951(%rbp), %rsi
callq 0x180e0
movq %rax, -0xa30(%rbp)
jmp 0x13464
movq -0xa30(%rbp), %rdi
leaq 0xa2a6(%rip), %rsi      # 0x1d718
callq 0x19160
movq %rax, -0xa38(%rbp)
jmp 0x13480
movq -0xa38(%rbp), %rdi
leaq 0xa53a(%rip), %rsi      # 0x1d9c8
callq 0x18080
movq %rax, -0xa40(%rbp)
jmp 0x1349c
movq -0xa40(%rbp), %rdi
callq 0x18160
movq %rax, -0xa48(%rbp)
jmp 0x134b1
movq -0xa48(%rbp), %rsi
leaq -0x7b8(%rbp), %rdi
callq 0x18020
jmp 0x134c6
movq -0xa20(%rbp), %rdi
leaq -0x7a8(%rbp), %rsi
movl $0x14e, %edx            # imm = 0x14E
leaq -0x7b8(%rbp), %rcx
callq 0x3390
jmp 0x134e7
leaq -0x950(%rbp), %rdi
callq 0x181b0
leaq -0x258(%rbp), %rdi
callq 0x19330
addq $0xa50, %rsp            # imm = 0xA50
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x181b0
jmp 0x135c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x135bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x181b0
jmp 0x135bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x5d0(%rbp), %rdi
callq 0x181b0
jmp 0x135bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x790(%rbp), %rdi
callq 0x181b0
jmp 0x135bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x950(%rbp), %rdi
callq 0x181b0
leaq -0x258(%rbp), %rdi
callq 0x19330
movq -0x1c8(%rbp), %rdi
callq 0x3340
nopw %cs:(%rax,%rax)