// File: /workspace/github_c_makefile_star2_O0/j-hoppe[P]tu58fs/boolarray.c
// Function: boolarray_print_diag
void boolarray_print_diag(boolarray_t *_this, FILE *stream, uint32_t bitcount, char *info) {
	int any = 0;
	unsigned start, end;
	if (bitcount <= 0 || bitcount > _this->bitcount)
		bitcount = _this->bitcount ;
		fprintf(stream, "%s - Dump of boolarray@%p, bits 0..%d: ", info, _this, bitcount-1);
	start = 0;
	while (start < bitcount) {
		// find next set bit
		while (start < bitcount && !boolarray_bit_get(_this, start))
			start++;
		// find next clr bit
		end = start;
		while (end < bitcount && boolarray_bit_get(_this, end))
			end++;
		if (start < bitcount) {
			if (!any)
				fprintf(stream, "bits set =\n");
			else
				fprintf(stream, ",");
			if (end - start > 1)
				fprintf(stream, "%d-%d", start, end - 1);
			else
				fprintf(stream, "%d", start);
			any = 1;
		}
		start = end;
	}
	if (!any)
		fprintf(stream, "no bits set.\n");
	else
		fprintf(stream, ".\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
cmpl $0x0, -0x14(%rbp)
jbe 0xe610
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jbe 0xe61a
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %r8d
subl $0x1, %r8d
leaq 0xe241(%rip), %rsi      # 0x1c876
movb $0x0, %al
callq 0x3300
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0xe748
jmp 0xe651
movl -0x28(%rbp), %ecx
xorl %eax, %eax
cmpl -0x14(%rbp), %ecx
movb %al, -0x2d(%rbp)
jae 0xe675
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
callq 0xe560
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
testb $0x1, %al
jne 0xe67e
jmp 0xe689
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xe651
movl -0x28(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %ecx
xorl %eax, %eax
cmpl -0x14(%rbp), %ecx
movb %al, -0x2e(%rbp)
jae 0xe6b1
movq -0x8(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0xe560
cmpl $0x0, %eax
setne %al
movb %al, -0x2e(%rbp)
movb -0x2e(%rbp), %al
testb $0x1, %al
jne 0xe6ba
jmp 0xe6c5
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0xe68f
movl -0x28(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0xe73d
cmpl $0x0, -0x24(%rbp)
jne 0xe6e7
movq -0x10(%rbp), %rdi
leaq 0xe1c0(%rip), %rsi      # 0x1c89e
movb $0x0, %al
callq 0x3300
jmp 0xe6f9
movq -0x10(%rbp), %rdi
leaq 0xe1b8(%rip), %rsi      # 0x1c8aa
movb $0x0, %al
callq 0x3300
movl -0x2c(%rbp), %eax
subl -0x28(%rbp), %eax
cmpl $0x1, %eax
jbe 0xe721
movq -0x10(%rbp), %rdi
movl -0x28(%rbp), %edx
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
leaq 0xe194(%rip), %rsi      # 0x1c8ac
movb $0x0, %al
callq 0x3300
jmp 0xe736
movq -0x10(%rbp), %rdi
movl -0x28(%rbp), %edx
leaq 0xe830(%rip), %rsi      # 0x1cf5f
movb $0x0, %al
callq 0x3300
movl $0x1, -0x24(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0xe643
cmpl $0x0, -0x24(%rbp)
jne 0xe762
movq -0x10(%rbp), %rdi
leaq 0xe159(%rip), %rsi      # 0x1c8b2
movb $0x0, %al
callq 0x3300
jmp 0xe774
movq -0x10(%rbp), %rdi
leaq 0xac4f(%rip), %rsi      # 0x193bc
movb $0x0, %al
callq 0x3300
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)