// File: /workspace/github_c_makefile_star2_O0/phluid61[P]hsf/main.c
// Function: do_sh_boolean
void do_sh_boolean(sh_bool_t value) {
	SH_Boolean* obj;
	SH_BareItem* bi;

	sh_bool_t b;
	sh_char_t* s;

	int err = 0;

	obj = SH_Boolean__init(value, &err);
	if ((SH_Boolean*)0 == obj || err) {
		printf("* unable to init SH_Boolean(%hhu): [%llX] 0x%08X\n", (unsigned char)value, (long long)obj, err);
	} else {
		printf("+ init SH_Boolean(%hhu): [%llX]\n", (unsigned char)value, (long long)obj);

		b = SH_Boolean__bool(obj, 0);
		printf("  - bool =: %hhu\n", b);

		b = SH_Boolean__true(obj, 0);
		printf("  - true =: %hhu\n", b);

		b = SH_Boolean__false(obj, 0);
		printf("  - false =: %hhu\n", b);

		s = SH_Boolean__to_s(obj, &err);
		if ((sh_char_t*)0 == s || err) {
			printf("  * unable to to_s: [%llX] 0x%08X\n", (long long)s, err);
		} else {
			printf("  - to_s =:\n");
			hexdump_string(s);
			free(s);
		}

		bi = SH_BareItem__init_boolean(obj, &err);
		if ((SH_BareItem*)0 == bi || err) {
			printf("  * unable to init SH_BareItem: [%llX] 0x%08X\n", (long long)bi, err);
		} else {
			printf("  + init SH_BareItem: [%llX]\n", (long long)bi);
			do_sh_bareitem(bi);
			SH_BareItem__destroy(bi, SH_FALSE, 0);
		}

		SH_Boolean__destroy(obj, 0);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movl $0x0, -0x2c(%rbp)
leaq -0x2c(%rbp), %rsi
movzbl -0x1(%rbp), %edi
callq 0x4110
movq %rax, -0x10(%rbp)
xorl %eax, %eax
cmpq -0x10(%rbp), %rax
je 0x1e54
cmpl $0x0, -0x2c(%rbp)
je 0x1e72
movzbl -0x1(%rbp), %esi
movq -0x10(%rbp), %rdx
movl -0x2c(%rbp), %ecx
leaq 0x6578(%rip), %rdi      # 0x83de
movb $0x0, %al
callq 0x1050
jmp 0x1fb1
movzbl -0x1(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x658f(%rip), %rdi      # 0x8410
movb $0x0, %al
callq 0x1050
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4200
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %esi
leaq 0x658e(%rip), %rdi      # 0x8431
movb $0x0, %al
callq 0x1050
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4250
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %esi
leaq 0x657e(%rip), %rdi      # 0x8443
movb $0x0, %al
callq 0x1050
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x42b0
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %esi
leaq 0x656e(%rip), %rdi      # 0x8455
movb $0x0, %al
callq 0x1050
movq -0x10(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x4310
movq %rax, -0x28(%rbp)
xorl %eax, %eax
cmpq -0x28(%rbp), %rax
je 0x1f0d
cmpl $0x0, -0x2c(%rbp)
je 0x1f24
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %edx
leaq 0x61f3(%rip), %rdi      # 0x810e
movb $0x0, %al
callq 0x1050
jmp 0x1f44
leaq 0x6208(%rip), %rdi      # 0x8133
movb $0x0, %al
callq 0x1050
movq -0x28(%rbp), %rdi
callq 0x1380
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x10(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x4d70
movq %rax, -0x18(%rbp)
xorl %eax, %eax
cmpq -0x18(%rbp), %rax
je 0x1f63
cmpl $0x0, -0x2c(%rbp)
je 0x1f7a
movq -0x18(%rbp), %rsi
movl -0x2c(%rbp), %edx
leaq 0x61dc(%rip), %rdi      # 0x814d
movb $0x0, %al
callq 0x1050
jmp 0x1fa4
movq -0x18(%rbp), %rsi
leaq 0x61f7(%rip), %rdi      # 0x817c
movb $0x0, %al
callq 0x1050
movq -0x18(%rbp), %rdi
callq 0x11e0
movq -0x18(%rbp), %rdi
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x4eb0
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x41b0
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)