// File: /workspace/github_c_makefile_star2_O0/mmcco[P]sljit/regex_src/regexJIT.c
// Function: verbose_transitions
static void verbose_transitions(struct compiler_common *compiler_common)
{
	struct stack_item *transitions_ptr = compiler_common->dfa_transitions;
	struct stack_item *transitions_end = transitions_ptr + compiler_common->dfa_size;
	struct stack_item *search_states_ptr = compiler_common->search_states;
	int pos;

	printf("-----------------\nTransitions\n-----------------\n");
	pos = 0;
	while (transitions_ptr < transitions_end) {
		printf("[%3d] ", pos++);
		if (search_states_ptr->type >= 0)
			printf("(%3d) ", search_states_ptr->type);
		switch (transitions_ptr->type) {
		case type_begin:
			printf("type_begin\n");
			break;

		case type_end:
			printf("type_end\n");
			break;

		case type_char:
			if (transitions_ptr->value >= ' ')
				printf("type_char '%c'\n", transitions_ptr->value);
			else
				printf("type_char 0x%x\n", transitions_ptr->value);
			break;

		case type_newline:
			printf("type_newline %s\n", transitions_ptr->value ? "(end)" : "(begin)");
			break;

		case type_id:
			printf("type_id %d\n", transitions_ptr->value);
			break;

		case type_rng_start:
			printf("type_rng_start %s\n", transitions_ptr->value ? "(invert)" : "(normal)");
			break;

		case type_rng_end:
			printf("type_rng_end\n");
			break;

		case type_rng_char:
			if (transitions_ptr->value >= ' ')
				printf("type_rng_char '%c'\n", transitions_ptr->value);
			else
				printf("type_rng_char 0x%x\n", transitions_ptr->value);
			break;

		case type_rng_left:
			if (transitions_ptr->value >= ' ')
				printf("type_rng_left '%c'\n", transitions_ptr->value);
			else
				printf("type_rng_left 0x%x\n", transitions_ptr->value);
			break;

		case type_rng_right:
			if (transitions_ptr->value >= ' ')
				printf("type_rng_right '%c'\n", transitions_ptr->value);
			else
				printf("type_rng_right 0x%x\n", transitions_ptr->value);
			break;

		case type_branch:
			printf("type_branch -> %d\n", transitions_ptr->value);
			break;

		case type_jump:
			printf("type_jump -> %d\n", transitions_ptr->value);
			break;

		default:
			printf("UNEXPECTED TYPE\n");
			break;
		}
		transitions_ptr++;
		search_states_ptr++;
	}
	printf("flags: ");
	if (!(compiler_common->flags & (REGEX_MATCH_BEGIN | REGEX_MATCH_END | REGEX_NEWLINE | REGEX_ID_CHECK | REGEX_FAKE_MATCH_BEGIN | REGEX_FAKE_MATCH_END)))
		printf("none ");
	if (compiler_common->flags & REGEX_MATCH_BEGIN)
		printf("REGEX_MATCH_BEGIN ");
	if (compiler_common->flags & REGEX_MATCH_END)
		printf("REGEX_MATCH_END ");
	if (compiler_common->flags & REGEX_NEWLINE)
		printf("REGEX_NEWLINE ");
	if (compiler_common->flags & REGEX_ID_CHECK)
		printf("REGEX_ID_CHECK ");
	if (compiler_common->flags & REGEX_FAKE_MATCH_BEGIN)
		printf("REGEX_FAKE_MATCH_BEGIN ");
	if (compiler_common->flags & REGEX_FAKE_MATCH_END)
		printf("REGEX_FAKE_MATCH_END ");
	if (compiler_common->longest_range_size > 0)
		printf("(longest range: %ld) ", (long)compiler_common->longest_range_size);
	printf("\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x20(%rbp)
leaq 0x1a3ac(%rip), %rdi     # 0x1f94e
movb $0x0, %al
callq 0x2060
movl $0x0, -0x24(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x580c
movl -0x24(%rbp), %esi
movl %esi, %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
leaq 0x1a3af(%rip), %rdi     # 0x1f97f
movb $0x0, %al
callq 0x2060
movq -0x20(%rbp), %rax
cmpl $0x0, (%rax)
jl 0x55f4
movq -0x20(%rbp), %rax
movl (%rax), %esi
leaq 0x1a399(%rip), %rdi     # 0x1f986
movb $0x0, %al
callq 0x2060
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x30(%rbp)
subq $0xb, %rax
ja 0x57e1
movq -0x30(%rbp), %rax
leaq 0x1a195(%rip), %rcx     # 0x1f7a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1a36a(%rip), %rdi     # 0x1f98d
movb $0x0, %al
callq 0x2060
jmp 0x57ef
leaq 0x1a363(%rip), %rdi     # 0x1f999
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
cmpl $0x20, 0x4(%rax)
jl 0x5663
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a349(%rip), %rdi     # 0x1f9a3
movb $0x0, %al
callq 0x2060
jmp 0x5678
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a342(%rip), %rdi     # 0x1f9b3
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
leaq 0x1a34f(%rip), %rsi     # 0x1f9da
leaq 0x1a342(%rip), %rax     # 0x1f9d4
cmpl $0x0, %ecx
cmovneq %rax, %rsi
leaq 0x1a323(%rip), %rdi     # 0x1f9c3
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a328(%rip), %rdi     # 0x1f9e2
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
leaq 0x1a336(%rip), %rsi     # 0x1fa0a
leaq 0x1a326(%rip), %rax     # 0x1fa01
cmpl $0x0, %ecx
cmovneq %rax, %rsi
leaq 0x1a305(%rip), %rdi     # 0x1f9ee
movb $0x0, %al
callq 0x2060
jmp 0x57ef
leaq 0x1a317(%rip), %rdi     # 0x1fa13
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
cmpl $0x20, 0x4(%rax)
jl 0x5729
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a301(%rip), %rdi     # 0x1fa21
movb $0x0, %al
callq 0x2060
jmp 0x573e
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2fe(%rip), %rdi     # 0x1fa35
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
cmpl $0x20, 0x4(%rax)
jl 0x5764
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2ee(%rip), %rdi     # 0x1fa49
movb $0x0, %al
callq 0x2060
jmp 0x5779
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2eb(%rip), %rdi     # 0x1fa5d
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
cmpl $0x20, 0x4(%rax)
jl 0x579c
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2de(%rip), %rdi     # 0x1fa71
movb $0x0, %al
callq 0x2060
jmp 0x57b1
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2dc(%rip), %rdi     # 0x1fa86
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2da(%rip), %rdi     # 0x1fa9b
movb $0x0, %al
callq 0x2060
jmp 0x57ef
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1a2d6(%rip), %rdi     # 0x1faae
movb $0x0, %al
callq 0x2060
jmp 0x57ef
leaq 0x1a2d7(%rip), %rdi     # 0x1fabf
movb $0x0, %al
callq 0x2060
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x55b0
leaq 0x1a2bd(%rip), %rdi     # 0x1fad0
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x707, %eax            # imm = 0x707
cmpl $0x0, %eax
jne 0x5839
leaq 0x1a2a6(%rip), %rdi     # 0x1fad8
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x5856
leaq 0x1a28f(%rip), %rdi     # 0x1fade
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x5873
leaq 0x1a285(%rip), %rdi     # 0x1faf1
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x5890
leaq 0x1a279(%rip), %rdi     # 0x1fb02
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x58af
leaq 0x1a269(%rip), %rdi     # 0x1fb11
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x58ce
leaq 0x1a25a(%rip), %rdi     # 0x1fb21
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x58ed
leaq 0x1a253(%rip), %rdi     # 0x1fb39
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
cmpq $0x0, 0x50(%rax)
jle 0x590e
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rsi
leaq 0x1a248(%rip), %rdi     # 0x1fb4f
movb $0x0, %al
callq 0x2060
leaq 0x197d6(%rip), %rdi     # 0x1f0eb
movb $0x0, %al
callq 0x2060
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)