// File: /workspace/github_cpp_makefile_star2_O2/yanniss[P]souffle-num-addon/num256_test.cpp
// Function: test_exp_invoker()
BOOST_AUTO_TEST_CASE(test_exp) {
	BOOST_TEST(
			   exp_256("0x666f",
					   "0x3")
			   ==
			   "0x10666ef0504f");
	BOOST_TEST(
			   exp_256("0x666f",
					   "0x3ff")
			   ==
			   "0x103691d9c197615a89b9b351f6122823614a541f92725975095e5f7f28a3f4f9");
	// no clue if the latter is correct, but at least it has the right number of digits
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
leaq 0x34201(%rip), %r14     # 0x5a873
movq %r14, -0x68(%rbp)
leaq 0x34205(%rip), %r15     # 0x5a882
movq %r15, -0x60(%rbp)
leaq -0x200(%rbp), %rbx
movl $0x198, %edx            # imm = 0x198
movq %rbx, %rdi
xorl %esi, %esi
callq 0xf300
movq %rbx, %rdi
callq 0x31ddc
pushq $0x22
popq %rsi
movq %rbx, %rdi
callq 0xf630
leaq 0x344d4(%rip), %rsi     # 0x5ab85
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq 0x3cbea(%rip), %rsi     # 0x632ae
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq -0x200(%rbp), %rdi
callq 0x31e0e
movq (%rax), %rdx
leaq -0x250(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x68(%rbp), %rsi
pushq $0x1d
popq %rdx
callq 0x1cad0
leaq -0x200(%rbp), %rdi
callq 0x31e52
movq %r14, -0x58(%rbp)
movq %r15, -0x50(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %rbx, %rdi
xorl %esi, %esi
callq 0xf300
movq %rbx, %rdi
callq 0x31ddc
pushq $0x22
popq %rsi
movq %rbx, %rdi
callq 0xf630
leaq 0x3444b(%rip), %rsi     # 0x5ab85
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq 0x3cb70(%rip), %rsi     # 0x632bd
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq -0x200(%rbp), %rdi
callq 0x31e0e
movq (%rax), %rdx
leaq -0x240(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x58(%rbp), %rsi
pushq $0x1d
popq %rdx
callq 0x1cad0
leaq -0x200(%rbp), %rdi
callq 0x31e52
movq %r14, -0x48(%rbp)
movq %r15, -0x40(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %rbx, %rdi
xorl %esi, %esi
callq 0xf300
movq %rbx, %rdi
callq 0x31ddc
pushq $0x22
popq %rsi
movq %rbx, %rdi
callq 0xf630
leaq 0x343c2(%rip), %rsi     # 0x5ab85
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq 0x3caf7(%rip), %rsi     # 0x632cd
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq -0x200(%rbp), %rdi
callq 0x31e0e
movq (%rax), %rdx
leaq -0x230(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x48(%rbp), %rsi
pushq $0x1d
popq %rdx
callq 0x1cad0
leaq -0x200(%rbp), %rdi
callq 0x31e52
callq 0x26960
movq %r14, -0x38(%rbp)
movq %r15, -0x30(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %rbx, %rdi
xorl %esi, %esi
callq 0xf300
movq %rbx, %rdi
callq 0x31ddc
pushq $0x22
popq %rsi
movq %rbx, %rdi
callq 0xf630
leaq 0x34334(%rip), %rsi     # 0x5ab85
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq 0x3ca76(%rip), %rsi     # 0x632da
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq -0x200(%rbp), %rdi
callq 0x31e0e
movq (%rax), %rdx
leaq -0x220(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x38(%rbp), %rsi
pushq $0x1d
popq %rdx
callq 0x1cad0
leaq -0x200(%rbp), %rdi
callq 0x31e52
movq %r14, -0x28(%rbp)
movq %r15, -0x20(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %rbx, %rdi
xorl %esi, %esi
callq 0xf300
movq %rbx, %rdi
callq 0x31ddc
pushq $0x22
popq %rsi
movq %rbx, %rdi
callq 0xf630
leaq 0x342ab(%rip), %rsi     # 0x5ab85
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq 0x3ca00(%rip), %rsi     # 0x632ed
leaq -0x200(%rbp), %rdi
callq 0xf560
leaq -0x200(%rbp), %rdi
callq 0x31e0e
movq (%rax), %rdx
leaq -0x210(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x28(%rbp), %rsi
pushq $0x1d
popq %rdx
callq 0x1cad0
leaq -0x200(%rbp), %rdi
callq 0x31e52
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x26948
jmp 0x26948
jmp 0x26948
jmp 0x26948
movq %rax, %rbx
leaq -0x200(%rbp), %rdi
callq 0x31e52
movq %rbx, %rdi
callq 0xf9a0
nop