// File: /workspace/github_c_makefile_star2_O0/MikeGray-APH[P]LibLouisAPH/source/languages/nemeth-forward.c
// Function: translate_nemeth_forward
int translate_nemeth_forward(struct translate *translate)
{
	int processed;

	processed = 0;

	if(translate_get_init_chars_hash_cnt(translate))
	{
		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_INIT, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_premode_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_PREMODE, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_postmode_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_POSTMODE, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	/*   handle roots   */
	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	if(!convert_nemeth_roots(translate))
		return 0;
	CHANGE_CHECK
	processed = 1;

	/*   handle subscripts   */
	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	if(!convert_nemeth_scripts(translate))
		return 0;
	CHANGE_CHECK
	processed = 1;

	/*   handle numeric indicator   */
	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	if(!add_numeric_indicators(translate))
		return 0;
	CHANGE_CHECK
	processed = 1;

	if(translate_get_pretrans_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_PRETRANS, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_trans_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_TRANS, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_posttrans_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_POSTTRANS, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_fini_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_FINI, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	return processed;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18820
cmpl $0x0, %eax
je 0x183e6
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x10920
cmpl $0x0, %eax
jne 0x183d0
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x183e4
movl $0x1, -0x14(%rbp)
jmp 0x183e6
movq -0x10(%rbp), %rdi
callq 0x18870
cmpl $0x0, %eax
je 0x18465
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1841d
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x1841b
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x1841d
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x2, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x1844f
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18463
movl $0x1, -0x14(%rbp)
jmp 0x18465
movq -0x10(%rbp), %rdi
callq 0x188c0
cmpl $0x0, %eax
je 0x184e4
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1849c
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x1849a
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x1849c
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x3, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x184ce
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x184e2
movl $0x1, -0x14(%rbp)
jmp 0x184e4
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1850d
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x1850b
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x1850d
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x18910
cmpl $0x0, %eax
jne 0x18535
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18549
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18572
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x18570
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x18572
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x18aa0
cmpl $0x0, %eax
jne 0x1859a
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x185ae
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x185d7
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x185d5
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x185d7
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x19d20
cmpl $0x0, %eax
jne 0x185ff
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18613
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x19f70
cmpl $0x0, %eax
je 0x18692
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1864a
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x18648
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x1864a
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x1867c
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18690
movl $0x1, -0x14(%rbp)
jmp 0x18692
movq -0x10(%rbp), %rdi
callq 0x19fc0
cmpl $0x0, %eax
je 0x18711
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x186c9
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x186c7
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x186c9
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x5, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x186fb
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1870f
movl $0x1, -0x14(%rbp)
jmp 0x18711
movq -0x10(%rbp), %rdi
callq 0x1a010
cmpl $0x0, %eax
je 0x18790
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18748
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x18746
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x18748
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x6, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x1877a
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1878e
movl $0x1, -0x14(%rbp)
jmp 0x18790
movq -0x10(%rbp), %rdi
callq 0x1a060
cmpl $0x0, %eax
je 0x18809
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x187c4
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x187c2
movl $0x0, -0x4(%rbp)
jmp 0x1880f
jmp 0x187c4
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x7, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x187f3
movl $0x0, -0x4(%rbp)
jmp 0x1880f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x18807
movl $0x1, -0x14(%rbp)
jmp 0x18809
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)