// File: /workspace/github_c_makefile_star2_O0/maandree[P]libkeccak/test.c
// Function: test_digest_trunc
static int
test_digest_trunc(void)
{
#define shake(semicapacity, output, output_lastbyte)\
	(printf("  Testing SHAKE-"#semicapacity"('', %i): ", output),\
	 libkeccak_spec_shake(&spec, semicapacity, output),\
	 test_digest_case(&spec, LIBKECCAK_SHAKE_SUFFIX, "", 0, 0, INCOMPLETE_ANSWER output_lastbyte))
#define INCOMPLETE_ANSWER\
	"7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef263cb1eea988004b93103cfb0aeefd2a68"\
	"6e01fa4a58e8a3639ca8a1e3f9ae57e235b8cc873c23dc62b8d260169afa2f75ab916a58d974918835d25e6a435085b2"\
	"badfd6dfaac359a5efbb7bcc4b59d538df9a04302e10c8bc1cbf1a0b3a5120ea17cda7cfad765f5623474d368ccca8af"\
	"0007cd9f5e4c849f167a580b14aabdefaee7eef47cb0fca9767be1fda69419dfb927e9df07348b196691abaeb580b32d"\
	"ef58538b8d23f87732ea63b02b4fa0f4873360e2841928cd60dd4cee8cc0d4c922a96188d032675c8ac850933c7aff15"\
	"33b94c834adbb69c6115bad4692d8619f90b0cdf8a7b9c264029ac185b70b83f2801f2f4b3f70c593ea3aeeb613a7f1b"\
	"1de33fd75081f592305f2e4526edc09631b10958f464d889f31ba010250fda7f1368ec2967fc84ef2ae9aff268e0b170"\
	"0affc6820b523a3d917135f2dff2ee06bfe72b3124721d4a26c04e53a75e30e73a7a9c4a95d91c55d495e9f51dd0b5e9"\
	"d83c6d5e8ce803aa62b8d654db53d09b8dcff273cdfeb573fad8bcd45578bec2e770d01efde86e721a3f7c6cce275dab"\
	"e6e2143f1af18da7efddc4c7b70b5e345db93cc936bea323491ccb38a388f546a9ff00dd4e1300b9b2153d2041d205b4"\
	"43e41b45a653f2a5c4492c1add544512dda2529833462b71a41a45be97290b"


	struct libkeccak_spec spec;

	printf("Testing libkeccak_digest with byte-incomplete output:\n");


	if (shake(128, 4096, "6f"))
		return -1;

	if (shake(128, 4095, "6f"))
		return -1;

	if (shake(128, 4094, "2f"))
		return -1;

	if (shake(128, 4093, "0f"))
		return -1;

	if (shake(128, 4092, "0f"))
		return -1;

	if (shake(128, 4091, "07"))
		return -1;

	if (shake(128, 4090, "03"))
		return -1;

	if (shake(128, 4089, "01"))
		return -1;

	if (shake(128, 4088, ""))
		return -1;


	printf("\n");
	return 0;

#undef shake
#undef INCOMPLETE_ANSWER
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0xe8b1(%rip), %rdi      # 0x12550
movb $0x0, %al
callq 0x1060
leaq 0xe8da(%rip), %rdi      # 0x12587
movl $0x1000, %esi           # imm = 0x1000
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0x1000, %edx           # imm = 0x1000
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0xa166(%rip), %rsi      # 0xde3d
leaq 0xa027(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xac48(%rip), %r9       # 0xe932
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3d03
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe87d(%rip), %rdi      # 0x12587
movl $0xfff, %esi            # imm = 0xFFF
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xfff, %edx            # imm = 0xFFF
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0xa109(%rip), %rsi      # 0xde3d
leaq 0x9fca(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xabeb(%rip), %r9       # 0xe932
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3d60
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe820(%rip), %rdi      # 0x12587
movl $0xffe, %esi            # imm = 0xFFE
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xffe, %edx            # imm = 0xFFE
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0xa0ac(%rip), %rsi      # 0xde3d
leaq 0x9f6d(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xe801(%rip), %r9       # 0x125a5
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3dbd
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe7c3(%rip), %rdi      # 0x12587
movl $0xffd, %esi            # imm = 0xFFD
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xffd, %edx            # imm = 0xFFD
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0xa04f(%rip), %rsi      # 0xde3d
leaq 0x9f10(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xeba5(%rip), %r9       # 0x129a6
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3e1a
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe766(%rip), %rdi      # 0x12587
movl $0xffc, %esi            # imm = 0xFFC
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xffc, %edx            # imm = 0xFFC
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0x9ff2(%rip), %rsi      # 0xde3d
leaq 0x9eb3(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xeb48(%rip), %r9       # 0x129a6
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3e77
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe709(%rip), %rdi      # 0x12587
movl $0xffb, %esi            # imm = 0xFFB
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xffb, %edx            # imm = 0xFFB
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0x9f95(%rip), %rsi      # 0xde3d
leaq 0x9e56(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xeeec(%rip), %r9       # 0x12da7
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3ed4
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe6ac(%rip), %rdi      # 0x12587
movl $0xffa, %esi            # imm = 0xFFA
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xffa, %edx            # imm = 0xFFA
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0x9f38(%rip), %rsi      # 0xde3d
leaq 0x9df9(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xf290(%rip), %r9       # 0x131a8
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3f31
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe64f(%rip), %rdi      # 0x12587
movl $0xff9, %esi            # imm = 0xFF9
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xff9, %edx            # imm = 0xFF9
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0x9edb(%rip), %rsi      # 0xde3d
leaq 0x9d9c(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xf634(%rip), %r9       # 0x135a9
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3f8b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0xe5f5(%rip), %rdi      # 0x12587
movl $0xff8, %esi            # imm = 0xFF8
movb $0x0, %al
callq 0x1060
leaq -0x20(%rbp), %rdi
movl $0x80, %esi
movl $0xff8, %edx            # imm = 0xFF8
callq 0xbda0
leaq -0x20(%rbp), %rdi
leaq 0x9e81(%rip), %rsi      # 0xde3d
leaq 0x9d42(%rip), %rdx      # 0xdd05
xorl %eax, %eax
movl %eax, %r8d
leaq 0xf9db(%rip), %r9       # 0x139aa
movq %r8, %rcx
callq 0x4d50
cmpl $0x0, %eax
je 0x3fe5
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3ffa
leaq 0x9059(%rip), %rdi      # 0xd045
movb $0x0, %al
callq 0x1060
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)