// File: /workspace/github_c_makefile_star2_O1/nimble-code[P]Uno/Src/uno_lts.c
// Function: lts_tree
static State *
lts_tree(State *n, treenode *root)
{	State *now = n;

	if (!root) return n;

	switch (root->hdr.which) {
	case IF_T:
		now = lts_if(now, (if_node *) root);
		break;

	case FOR_T:
		now = lts_for(now, (for_node *) root);
		break;

	case NODE_T:
		now = lts_node(now, root);
		break;

	case LEAF_T:
	case NONE_T:
		break;

	default:
		fprintf(stderr, "uno: unhandled type %s\n",
			name_of_nodetype(root->hdr.which));
		break;
	}
	return now;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r15
movq %rdi, %rbx
xorl %r13d, %r13d
leaq 0x19d51(%rip), %rbp     # 0x2fb80
movq %r15, %r14
testq %r14, %r14
je 0x16836
movl (%r14), %edi
cmpl $0x4, %edi
jne 0x15e76
movl 0x1c(%r14), %esi
cmpq $0x28, %rsi
ja 0x16861
movslq (%rbp,%rsi,4), %rax
addq %rbp, %rax
jmpq *%rax
movq 0x48(%r14), %r14
jmp 0x15e32
movq 0x40(%r14), %rsi
movq %rbx, %rdi
callq 0x15e11
movq %rax, %rbx
movq 0x48(%r14), %r15
jmp 0x15e2f
cmpl $0x2, %edi
jb 0x16836
cmpl $0x3, %edi
je 0x16293
cmpl $0x2, %edi
jne 0x16850
cmpl $0x14d, 0x18(%r14)      # imm = 0x14D
je 0x16267
movq %r12, 0x8(%rsp)
movq (%rbx), %rax
movl (%rax), %edi
cmpl $0x2, %edi
jne 0x1625d
movq 0x59f8f(%rip), %r12     # 0x6fe48
movq 0x5a000(%rip), %r15     # 0x6fec0
testq %r15, %r15
movq %r13, 0x10(%rsp)
je 0x1600e
movq 0x68(%r15), %rax
movq %rax, 0x59fe7(%rip)     # 0x6fec0
xorps %xmm0, %xmm0
movups %xmm0, 0x60(%r15)
movups %xmm0, 0x50(%r15)
movups %xmm0, 0x40(%r15)
movups %xmm0, 0x30(%r15)
movups %xmm0, 0x20(%r15)
movups %xmm0, 0x10(%r15)
movups %xmm0, (%r15)
jmp 0x1601b
movq 0x40(%r14), %rax
movl 0x18(%rax), %eax
cmpl $0x113, %eax            # imm = 0x113
je 0x15f1c
cmpl $0x10f, %eax            # imm = 0x10F
jne 0x161c3
movq %r12, 0x8(%rsp)
movq %r13, 0x10(%rsp)
movq %r14, %rdi
callq 0x16b93
movq %rax, 0x18(%rsp)
callq 0x101ad
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
leaq 0x1a9ae(%rip), %rdx     # 0x308f6
callq 0x169b4
movq %rax, %r13
movl $0x50, %edi
callq 0x61a1
movq %rax, %r15
movl $0x4, (%rax)
movabsq $0x1d0000011c, %rax     # imm = 0x1D0000011C
movq %rax, 0x18(%r15)
leaq 0x19ec5(%rip), %rax     # 0x2fe3d
movq %rax, 0x8(%r15)
movq %r12, 0x40(%r15)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x16b0a
movq %rax, %rbx
movq 0x40(%r13), %rdi
movq %rax, %rsi
callq 0x16bd9
movq 0x59ea7(%rip), %rdi     # 0x6fe48
callq 0x16961
movq %rax, %r12
movq %r15, (%rax)
movq 0x59f15(%rip), %rax     # 0x6fec8
testq %rax, %rax
je 0x161e2
movq 0x18(%rax), %rcx
movq %rcx, 0x59f01(%rip)     # 0x6fec8
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
jmp 0x161ec
movq 0x48(%r14), %rsi
testq %rsi, %rsi
je 0x15e70
movl 0x1c(%rsi), %eax
cmpl $0x22, %eax
je 0x15e70
cmpl $0x1d, %eax
jne 0x16001
cmpl $0x120, 0x18(%rsi)      # imm = 0x120
jne 0x15e70
movq %rbx, %rdi
callq 0x16b0a
jmp 0x15e6d
movl $0x70, %edi
callq 0x61a1
movq %rax, %r15
movq 0x10(%r12), %rax
movq %rax, 0x68(%r15)
movq %r15, 0x10(%r12)
movq 0x48(%r14), %rax
movq %rax, (%r15)
movq 0x59e11(%rip), %r13     # 0x6fe48
movq 0x59e82(%rip), %r12     # 0x6fec0
testq %r12, %r12
je 0x1607d
movq 0x68(%r12), %rax
movq %rax, 0x59e71(%rip)     # 0x6fec0
xorps %xmm0, %xmm0
movups %xmm0, 0x60(%r12)
movups %xmm0, 0x50(%r12)
movups %xmm0, 0x40(%r12)
movups %xmm0, 0x30(%r12)
movups %xmm0, 0x20(%r12)
movups %xmm0, 0x10(%r12)
movups %xmm0, (%r12)
jmp 0x1608a
movl $0x70, %edi
callq 0x61a1
movq %rax, %r12
movq 0x10(%r13), %rax
movq %rax, 0x68(%r12)
movq %r12, 0x10(%r13)
movq 0x50(%r14), %rax
movq %rax, (%r12)
movq 0x59e22(%rip), %r13     # 0x6fec8
testq %r13, %r13
je 0x160c5
movq 0x18(%r13), %rax
movq %rax, 0x59e12(%rip)     # 0x6fec8
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r13)
movups %xmm0, (%r13)
jmp 0x160d2
movl $0x20, %edi
callq 0x61a1
movq %rax, %r13
leaq 0x19ca7(%rip), %rdi     # 0x2fd80
callq 0x1022e
movq %rax, (%r13)
movq %r15, 0x10(%r13)
movq 0x59ddb(%rip), %rax     # 0x6fec8
testq %rax, %rax
je 0x16109
movq 0x18(%rax), %rcx
movq %rcx, 0x59dcb(%rip)     # 0x6fec8
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
jmp 0x16113
movl $0x20, %edi
callq 0x61a1
movq %rax, 0x18(%r13)
leaq 0x19c5a(%rip), %rdi     # 0x2fd78
callq 0x1022e
movq 0x18(%r13), %rcx
movq %rax, (%rcx)
movq %r12, 0x10(%rcx)
movq %r13, 0x50(%rbx)
movq (%r15), %rsi
movq %r15, %rdi
callq 0x15e11
movq %rax, %rbx
movq (%r12), %rsi
movq %r12, %rdi
callq 0x15e11
movq %rax, %r12
callq 0x101ad
movq %rax, %r15
movl $0x50, %edi
callq 0x61a1
movq %rax, %r13
movl $0x4, (%rax)
movabsq $0x1d0000011c, %rax     # imm = 0x1D0000011C
movq %rax, 0x18(%r13)
leaq 0x19cbe(%rip), %rax     # 0x2fe3d
movq %rax, 0x8(%r13)
movq %r15, 0x40(%r13)
movq %r15, %rdi
movq %r14, %rsi
leaq 0x9f8c(%rip), %rdx      # 0x20120
callq 0x169b4
movq %rax, %r15
cmpq $0x0, 0x50(%r14)
je 0x161b0
movq %r12, %rdi
movq %r13, %rsi
callq 0x15e11
jmp 0x161b4
movq %r13, (%r12)
movq 0x10(%rsp), %r13
movq 0x8(%rsp), %r12
jmp 0x15e2f
movq %rbx, %rdi
movq %r14, %rsi
callq 0x16b0a
movq %rax, %rbx
movq 0x40(%r14), %rdi
movq %rax, %rsi
callq 0x16bd9
jmp 0x15e70
movl $0x20, %edi
callq 0x61a1
movq %r12, 0x10(%rax)
movq 0x40(%r14), %rcx
movq %rcx, (%rax)
movq 0x18(%rsp), %rdx
movq 0x50(%rdx), %rcx
movq %rcx, 0x18(%rax)
movq %rax, 0x50(%rdx)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x16b0a
movq %rax, %rbx
movq 0x40(%r14), %rax
cmpl $0x113, 0x18(%rax)      # imm = 0x113
movq 0x10(%rsp), %r13
jne 0x1622f
movb $0x1, 0x59cd1(%rip)     # 0x6ff00
movq 0x48(%r14), %rax
testq %rax, %rax
movq 0x8(%rsp), %r12
je 0x16250
movq 0x48(%rax), %rax
testq %rax, %rax
je 0x16250
cmpl $0x22, 0x1c(%rax)
je 0x15e70
movq %r14, %rdi
callq 0x16c72
jmp 0x15e70
callq 0x41be
jmp 0x15eb2
movq 0x40(%r14), %rsi
xorl %edi, %edi
callq 0x15e11
movq 0x48(%r14), %rsi
xorl %edi, %edi
callq 0x15e11
movq 0x50(%r14), %r15
testb $0x1, %r13b
cmoveq %rbx, %r12
movb $0x1, %r13b
xorl %ebx, %ebx
jmp 0x15e2f
cmpl $0x1, 0x1c(%r14)
jne 0x16317
cmpq $0x0, 0x58(%r14)
je 0x16836
movq 0x40(%r14), %rdi
callq 0x79af
xorl %ecx, %ecx
testq %rax, %rax
je 0x162bf
cmpl $0x123, 0x18(%rax)      # imm = 0x123
sete %cl
movl %ecx, 0x59c23(%rip)     # 0x6fee8
movq 0x40(%r14), %rsi
xorl %edi, %edi
callq 0x15e11
incl 0x59c16(%rip)           # 0x6feec
movq 0x48(%r14), %rdi
callq 0x16a41
xorl %edi, %edi
movq %rax, %rsi
callq 0x15e11
decl 0x59bfd(%rip)           # 0x6feec
testq %rax, %rax
je 0x16300
movq 0x58(%r14), %rsi
movq %rax, %rdi
callq 0x15e11
movq 0x59b71(%rip), %rax     # 0x6fe78
movq %rax, 0x59b3a(%rip)     # 0x6fe48
movq 0x10(%rax), %rbx
jmp 0x16836
cmpq $0x0, 0x40(%r14)
jne 0x1632c
movl $0x1, %edi
callq 0x1028c
movq %rax, 0x40(%r14)
cmpq $0x0, 0x48(%r14)
jne 0x16341
movl $0x1, %edi
callq 0x1028c
movq %rax, 0x48(%r14)
movq %r12, 0x8(%rsp)
movq %r13, 0x10(%rsp)
cmpq $0x0, 0x50(%r14)
jne 0x16360
movl $0x1, %edi
callq 0x1028c
movq %rax, 0x50(%r14)
callq 0x101ad
movq %rax, %r13
leaq 0x9d9e(%rip), %r15      # 0x2010d
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x169b4
movq %rax, 0x20(%rsp)
movl $0x50, %edi
callq 0x61a1
movq %rax, %rcx
movl $0x4, %eax
movl %eax, (%rcx)
movabsq $0x1d0000011c, %r12     # imm = 0x1D0000011C
movq %r12, 0x18(%rcx)
leaq 0x19a92(%rip), %rbp     # 0x2fe3d
movq %rbp, 0x8(%rcx)
movq %rcx, 0x18(%rsp)
movq %r13, 0x40(%rcx)
callq 0x101ad
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x169b4
movq %rax, 0x30(%rsp)
movl $0x50, %edi
callq 0x61a1
movq %rax, %r15
movl $0x4, %eax
movl %eax, (%r15)
movq %r12, 0x18(%r15)
movq %rbp, 0x8(%r15)
movq %r13, 0x40(%r15)
callq 0x101ad
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
leaq 0x9d04(%rip), %rdx      # 0x2010d
callq 0x169b4
movq %rax, 0x28(%rsp)
movl $0x50, %edi
callq 0x61a1
movq %rax, %rbp
movl $0x4, %eax
movl %eax, (%rbp)
movq %r12, 0x18(%rbp)
leaq 0x19a0a(%rip), %rax     # 0x2fe3d
movq %rax, 0x8(%rbp)
movq %r13, 0x40(%rbp)
movq %r15, %rdi
callq 0x16a77
movq %rbp, %rdi
callq 0x16abd
movq 0x599f6(%rip), %r15     # 0x6fe48
movq 0x59a67(%rip), %r12     # 0x6fec0
testq %r12, %r12
je 0x1657a
movq 0x68(%r12), %rax
movq %rax, 0x59a52(%rip)     # 0x6fec0
xorps %xmm0, %xmm0
movups %xmm0, 0x60(%r12)
movups %xmm0, 0x50(%r12)
movups %xmm0, 0x40(%r12)
movups %xmm0, 0x30(%r12)
movups %xmm0, 0x20(%r12)
movups %xmm0, 0x10(%r12)
movups %xmm0, (%r12)
jmp 0x16587
cmpl $0x0, 0x59a46(%rip)     # 0x6feec
je 0x16836
movq 0x40(%r14), %rax
movq 0x40(%rax), %rdi
callq 0x607c
movq %r14, %rdi
movq %rax, %rsi
callq 0x15bb9
movq 0x8(%rax), %rbx
jmp 0x16836
movq %rbx, %rdi
movq %r14, %rsi
callq 0x16f60
jmp 0x16833
movq %rbx, %rdi
movq %r14, %rsi
callq 0x16cff
jmp 0x16833
movq 0x59954(%rip), %rax     # 0x6fe48
cmpq 0x5997d(%rip), %rax     # 0x6fe78
jne 0x16828
movq 0x10(%rax), %rdi
movq %r14, %rsi
callq 0x16b0a
jmp 0x16836
movl $0xfffffef2, %eax       # imm = 0xFFFFFEF2
addl 0x18(%r14), %eax
rorl %eax
cmpl $0x9, %eax
ja 0x16828
leaq 0x196f7(%rip), %rcx     # 0x2fc24
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %edi, %edi
cmpq $0x0, 0x599b8(%rip)     # 0x6fef8
setne %dil
leaq 0x199fa(%rip), %rsi     # 0x2ff45
callq 0x13f8c
movq 0x599a1(%rip), %rcx     # 0x6fef8
leaq 0x8(%rcx), %rax
movl $0x1, 0x8(%rcx)
movq (%rcx), %r14
jmp 0x16822
movq %rbx, %rdi
movq %r14, %rsi
callq 0x172b1
jmp 0x16833
movl $0x70, %edi
callq 0x61a1
movq %rax, %r12
movq 0x10(%r15), %rax
movq %rax, 0x68(%r12)
movq %r12, 0x10(%r15)
movq 0x58(%r14), %rax
movq %rax, (%r12)
movq 0x598a5(%rip), %r15     # 0x6fe48
movq 0x59916(%rip), %r13     # 0x6fec0
testq %r13, %r13
je 0x165e2
movq 0x68(%r13), %rax
movq %rax, 0x59906(%rip)     # 0x6fec0
xorps %xmm0, %xmm0
movups %xmm0, 0x60(%r13)
movups %xmm0, 0x50(%r13)
movups %xmm0, 0x40(%r13)
movups %xmm0, 0x30(%r13)
movups %xmm0, 0x20(%r13)
movups %xmm0, 0x10(%r13)
movups %xmm0, (%r13)
jmp 0x165ef
movl $0x70, %edi
callq 0x61a1
movq %rax, %r13
movq 0x10(%r15), %rax
movq %rax, 0x68(%r13)
movq %r13, 0x10(%r15)
movq %rbp, (%r13)
movq 0x598c2(%rip), %rbp     # 0x6fec8
testq %rbp, %rbp
je 0x16623
movq 0x18(%rbp), %rax
movq %rax, 0x598b2(%rip)     # 0x6fec8
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbp)
movups %xmm0, (%rbp)
jmp 0x16630
movl $0x20, %edi
callq 0x61a1
movq %rax, %rbp
leaq 0x19749(%rip), %rdi     # 0x2fd80
callq 0x1022e
movq %rax, (%rbp)
movq %r12, 0x10(%rbp)
movq 0x5987d(%rip), %rax     # 0x6fec8
testq %rax, %rax
je 0x16667
movq 0x18(%rax), %rcx
movq %rcx, 0x5986d(%rip)     # 0x6fec8
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
jmp 0x16671
movl $0x20, %edi
callq 0x61a1
movq %rax, 0x18(%rbp)
leaq 0x196fc(%rip), %rdi     # 0x2fd78
callq 0x1022e
movq 0x18(%rbp), %rcx
movq %rax, (%rcx)
movq %r13, 0x10(%rcx)
movq (%rbx), %rax
movl (%rax), %edi
cmpl $0x3, %edi
jne 0x16857
movq 0x40(%r14), %rax
movq %rax, (%rbx)
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x15e11
movq %rax, %rbx
movl $0x58, %edi
callq 0x61a1
movl $0x2, (%rax)
movl $0x1b, 0x1c(%rax)
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rax)
movl 0x10(%r14), %ecx
movl %ecx, 0x10(%rax)
movq 0x48(%r14), %rcx
testq %rcx, %rcx
je 0x166e8
movq 0x28(%rcx), %rdx
movq %rdx, 0x28(%rax)
movq %rcx, 0x40(%rax)
movq (%r12), %rcx
movq %rcx, 0x48(%rax)
movq (%r13), %rcx
movq %rcx, 0x50(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x16b0a
movq %rbp, 0x50(%rax)
movq (%r12), %rsi
movq %r12, %rdi
callq 0x15e11
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x15e11
movq 0x50(%r14), %rsi
movq %rax, %rdi
callq 0x16b0a
movq %rax, %rdi
movq 0x18(%rsp), %rsi
callq 0x15e11
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x15e11
movq %rax, %rbx
xorl %edi, %edi
cmpq $0x0, 0x59799(%rip)     # 0x6fef0
setne %dil
leaq 0x1972a(%rip), %rsi     # 0x2fe8c
callq 0x13f8c
movq 0x59782(%rip), %rax     # 0x6fef0
movq 0x10(%rax), %rcx
movq %rcx, 0x59777(%rip)     # 0x6fef0
movq 0x59760(%rip), %rcx     # 0x6fee0
movq %rcx, 0x10(%rax)
movq %rax, 0x59755(%rip)     # 0x6fee0
xorl %edi, %edi
cmpq $0x0, 0x59763(%rip)     # 0x6fef8
setne %dil
leaq 0x19702(%rip), %rsi     # 0x2fea2
callq 0x13f8c
movq 0x5974c(%rip), %rax     # 0x6fef8
movq 0x10(%rax), %rcx
movq %rcx, 0x59741(%rip)     # 0x6fef8
movq 0x59722(%rip), %rcx     # 0x6fee0
movq %rcx, 0x10(%rax)
movq %rax, 0x59717(%rip)     # 0x6fee0
testb $0x1, 0x10(%rsp)
cmovneq 0x8(%rsp), %rbx
jmp 0x1683e
xorl %edi, %edi
cmpq $0x0, 0x59710(%rip)     # 0x6fef0
setne %dil
leaq 0x19748(%rip), %rsi     # 0x2ff33
callq 0x13f8c
movq 0x596f9(%rip), %rax     # 0x6fef0
movq (%rax), %r14
jmp 0x16812
xorl %eax, %eax
cmpq $0x1, 0x40(%r14)
adcw $0x1, %ax
movq 0x5963a(%rip), %rcx     # 0x6fe48
orw %ax, 0x42(%rcx)
movq 0x596df(%rip), %rax     # 0x6fef8
testq %rax, %rax
je 0x16828
addq $0x8, %rax
movl $0x1, (%rax)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x16b0a
movq %rax, %rbx
testb $0x1, %r13b
cmovneq %r12, %rbx
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x41e3
jmp 0x16836
callq 0x4199
jmp 0x1669a
movq %r14, %rdi
callq 0x4166
jmp 0x16836