// File: /workspace/github_c_makefile_star2_O3/maandree[P]libkeccak/test.c
// Function: test_update
static int
test_update(void)
{
#define sha3(output, message)\
	(printf("  Testing SHA3-"#output"(%s): ", #message),\
	 libkeccak_spec_sha3(&spec, output),\
	 test_update_case(&spec, LIBKECCAK_SHA3_SUFFIX, message, answer))

	struct libkeccak_spec spec;
	const char *answer;

	printf("Testing libkeccak_update:\n");


	answer = "22c8017ac8bcf65f59d1b7e92c9d4c6739d25e34ce5cb608b24ff096";
	if (sha3(224, "withdrew hypothesis snakebird qmc2"))
		return -1;

	answer = "43808dde2662143dc4eed5dac5e98c74b06711829f02a3b121bd74f3";
	if (sha3(224, "intensifierat sturdiness perl-image-exiftool vingla"))
		return -1;

	answer = "d32b4ac86065774dee5eb5cdd2f67b4e86501086d7373884e8b20a36";
	if (sha3(224, "timjan avogadro uppdriven lib32-llvm-amdgpu-snapshot"))
		return -1;

	answer = "efbd76d45bfa952485148f8ad46143897f17c27ffdc8eb7287f9353b";
	if (sha3(224, "grilo-plugins auditorium tull dissimilarity's"))
		return -1;

	answer = "6705aa36ecf58f333e0e6364ac1d0b7931d402e13282127cfd6f876c";
	if (sha3(224, "royalty tt yellowstone deficiencies"))
		return -1;

	answer = "803a0ff09dda0df306e483a9f91b20a3dbbf9c2ebb8d0a3b28f3b9e0";
	if (sha3(224, "kdegames-kdiamond tunisisk occurrence's outtalad"))
		return -1;

	answer = "a64779aca943a6aef1d2e7c9a0f4e997f4dabd1f77112a22121d3ed5";
	if (sha3(224, "chevalier slat's spindel representations"))
		return -1;

	answer = "f0a3e0587af7723f0aa4719059d3f5107115a5b3667cd5209cc4d867";
	if (sha3(224, "archery lexicographical equine veered"))
		return -1;

	answer = "312e7e3c6403ab1a086155fb9a52b22a3d0d257876afd2b93fb7272e";
	if (sha3(224, "splay washbasin opposing there"))
		return -1;

	answer = "270ba05b764221ff5b5d94adfb4fdb1f36f07fe7c438904a5f3df071";
	if (sha3(224, "faktum desist thundered klen"))
		return -1;


	printf("\n");
	return 0;

#undef sha3
}

// Assembly:
pushq %rbx
subq $0x20, %rsp
leaq 0xd670(%rip), %rdi      # 0x110b4
callq 0x1060
leaq 0x67bb(%rip), %rdi      # 0xa20b
leaq 0x6b3f(%rip), %rsi      # 0xa596
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6b3a(%rip), %rsi      # 0xa5bb
leaq 0x6ad5(%rip), %rdx      # 0xa55d
callq 0x466b
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x3d4a
leaq 0x676a(%rip), %rdi      # 0xa20b
leaq 0x6b6f(%rip), %rsi      # 0xa617
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6b7b(%rip), %rsi      # 0xa64d
leaq 0x6b05(%rip), %rdx      # 0xa5de
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x671e(%rip), %rdi      # 0xa20b
leaq 0x6bc6(%rip), %rsi      # 0xa6ba
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6bd3(%rip), %rsi      # 0xa6f1
leaq 0x6b5c(%rip), %rdx      # 0xa681
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x66d2(%rip), %rdi      # 0xa20b
leaq 0x6c1f(%rip), %rsi      # 0xa75f
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6c25(%rip), %rsi      # 0xa78f
leaq 0x6bb5(%rip), %rdx      # 0xa726
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x6686(%rip), %rdi      # 0xa20b
leaq 0x6c6a(%rip), %rsi      # 0xa7f6
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6c66(%rip), %rsi      # 0xa81c
leaq 0x6c00(%rip), %rdx      # 0xa7bd
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x663a(%rip), %rdi      # 0xa20b
leaq 0x6ca1(%rip), %rsi      # 0xa879
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6caa(%rip), %rsi      # 0xa8ac
leaq 0x6c37(%rip), %rdx      # 0xa840
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x65ee(%rip), %rdi      # 0xa20b
leaq 0x6cf2(%rip), %rsi      # 0xa916
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6cf3(%rip), %rsi      # 0xa941
leaq 0x6c88(%rip), %rdx      # 0xa8dd
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x65a2(%rip), %rdi      # 0xa20b
leaq 0x6d33(%rip), %rsi      # 0xa9a3
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6d31(%rip), %rsi      # 0xa9cb
leaq 0x6cc9(%rip), %rdx      # 0xa96a
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x6556(%rip), %rdi      # 0xa20b
leaq 0x6d6e(%rip), %rsi      # 0xaa2a
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6d65(%rip), %rsi      # 0xaa4b
leaq 0x6d04(%rip), %rdx      # 0xa9f1
callq 0x466b
testl %eax, %eax
jne 0x3d4a
leaq 0x650e(%rip), %rdi      # 0xa20b
leaq 0x6d9f(%rip), %rsi      # 0xaaa3
xorl %eax, %eax
callq 0x1080
leaq 0x8(%rsp), %rdi
movq $0x480, (%rdi)          # imm = 0x480
movq $0x1c0, 0x8(%rdi)       # imm = 0x1C0
movq $0xe0, 0x10(%rdi)
leaq 0x6d94(%rip), %rsi      # 0xaac2
leaq 0x6d35(%rip), %rdx      # 0xaa6a
callq 0x466b
testl %eax, %eax
jne 0x3d4a
movl $0xa, %edi
callq 0x1040
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x20, %rsp
popq %rbx
retq