// File: /workspace/github_c_makefile_star2_O1/rakitzis[P]rc/footobar.c
// Function: Tconv
static bool Tconv(Format *f, int ignore) {
	bool dollar = f->flags & FMT_altform;
	Node *n = va_arg(f->args, Node *);

	if (n == NULL) {
		fmtprint(f, "()");
		return FALSE;
	}
	switch (n->type) {
	case nBang:	fmtprint(f, "!%T", n->u[0].p);				break;
	case nCase:	fmtprint(f, "case %T", n->u[0].p);			break;
	case nNowait:	fmtprint(f, "%T&", n->u[0].p);				break;
	case nRmfn:	fmtprint(f, "fn %T", n->u[0].p);			break;
	case nSubshell:	fmtprint(f, "@ %T", n->u[0].p);				break;
	case nAndalso:	fmtprint(f, "%T&&%T", n->u[0].p, n->u[1].p);		break;
	case nAssign:	fmtprint(f, "%T=%T", n->u[0].p, n->u[1].p);		break;
	case nConcat:	fmtprint(f, "%T^%T", n->u[0].p, n->u[1].p);		break;
	case nElse:	fmtprint(f, "{%T}else %T", n->u[0].p, n->u[1].p);	break;
	case nNewfn:	fmtprint(f, "fn %T {%T}", n->u[0].p, n->u[1].p);	break;
	case nIf:	fmtprint(f, "if(%T)%T", n->u[0].p, n->u[1].p);		break;
	case nOrelse:	fmtprint(f, "%T||%T", n->u[0].p, n->u[1].p);		break;
	case nArgs:	fmtprint(f, "%T %T", n->u[0].p, n->u[1].p);		break;
	case nSwitch:	fmtprint(f, "switch(%T){%T}", n->u[0].p, n->u[1].p);	break;
	case nMatch:	fmtprint(f, "~ %T %T", n->u[0].p, n->u[1].p);		break;
	case nWhile:	fmtprint(f, "while(%T)%T", n->u[0].p, n->u[1].p);	break;
	case nForin:	fmtprint(f, "for(%T in %T)%T", n->u[0].p, n->u[1].p, n->u[2].p); break;
	case nVarsub:	fmtprint(f, "$%T(%T)", n->u[0].p, n->u[1].p);		break;
	case nWord:
		fmtprint(f, n->u[2].i && quotep(n->u[0].s, dollar) ?
				"%#S" : "%S", n->u[0].s);
		break;
	case nLappend: {
		static bool inlist;
		if (!inlist) {
			inlist = TRUE;
			fmtprint(f, "(%T %T)", n->u[0].p, n->u[1].p);
			inlist = FALSE;
		} else {
			fmtprint(f, "%T %T", n->u[0].p, n->u[1].p);
		}
		break;
	}
	case nCount: case nFlat: case nVar: {
		char *lp = "", *rp = "";
		Node *n0 = n->u[0].p;

		if (n0->type != nWord)
			lp = "(", rp = ")";

		switch (n->type) {
		default:	panic("this can't happen");		break;
		case nCount:	fmtprint(f, "$#%s%#T%s", lp, n0, rp);	break;
		case nFlat:	fmtprint(f, "$^%s%#T%s", lp, n0, rp);	break;
		case nVar:	fmtprint(f, "$%s%#T%s", lp, n0, rp);	break;
		}
		break;
	}
	case nDup:
		if (n->u[2].i != -1)
			fmtprint(f, "%D[%d=%d]", n->u[0].i, n->u[1].i, n->u[2].i);
		else
			fmtprint(f, "%D[%d=]", n->u[0].i, n->u[1].i);
		break;
	case nBackq: {
		Node *n0 = n->u[0].p, *n00;
		if (n0 != NULL && n0->type == nVar
		    && (n00 = n0->u[0].p) != NULL && n00->type == nWord && streq(n00->u[0].s, "ifs"))
			fmtprint(f, "`");
		else
			fmtprint(f, "``%T", n0);
		fmtprint(f, "{%T}", n->u[1].p);
		break;
	}
	case nCbody:
	case nBody: {
		Node *n0 = n->u[0].p;
		if (n0 != NULL)
			fmtprint(f, "%T", n->u[0].p);
		if (n->u[1].p != NULL) {
			if (n0 != NULL && n0->type != nNowait)
				fmtprint(f, ";");
			fmtprint(f, "%T", n->u[1].p);
		}
		break;
	}
	case nBrace:
		fmtprint(f, "{%T}", n->u[0].p);
		if (n->u[1].p != NULL)
			fmtprint(f, "%T", n->u[1].p);
		break;
	case nEpilog:
	case nPre:
		fmtprint(f, "%T", n->u[0].p);
		if (n->u[1].p != NULL)
			fmtprint(f, " %T", n->u[1].p);
		break;
	case nPipe: {
		int ofd = n->u[0].i, ifd = n->u[1].i;
		fmtprint(f, "%T|", n->u[2].p);
		if (ifd != 0)
			fmtprint(f, "[%d=%d]", ofd, ifd);
		else if (ofd != 1)
			fmtprint(f, "[%d]", ofd);
		fmtprint(f, "%T", n->u[3].p);
		break;
	}
	case nRedir: {
		int op = n->u[0].i;
		fmtprint(f, "%D", op);
		if (n->u[1].i != defaultfd(op))
			fmtprint(f, "[%d]", n->u[1].i);
		fmtprint(f, "%T", n->u[2].p);
		break;
	}
	case nNmpipe: {
		int op = n->u[0].i;
		fmtprint(f, "%D", op);
		if (n->u[1].i != defaultfd(op))
			fmtprint(f, "[%d]", n->u[1].i);
		fmtprint(f, "{%T}", n->u[2].p);
		break;
	}
	}
	return FALSE;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl (%rdi), %ecx
cmpq $0x28, %rcx
ja 0x57e8
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x57f4
movq 0x8(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rbx)
movq (%rax), %r15
testq %r15, %r15
je 0x5864
movl (%r15), %eax
cmpq $0x20, %rax
ja 0x5ca5
leaq 0x9c90(%rip), %rcx      # 0xf4a0
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
movq 0x8(%r15), %rcx
cmpl $0x1e, (%rcx)
leaq 0xa5b0(%rip), %rsi      # 0xfdd7
leaq 0x9d58(%rip), %r8       # 0xf586
cmoveq %rsi, %r8
leaq 0x9df5(%rip), %rdx      # 0xf62e
cmoveq %rsi, %rdx
cmpl $0x9, %eax
je 0x5c0b
cmpl $0xb, %eax
je 0x5c02
cmpl $0x1b, %eax
jne 0x5c21
leaq 0x9df7(%rip), %rsi      # 0xf656
jmp 0x5c12
leaq 0x9d1a(%rip), %rsi      # 0xf585
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
jmp 0x5ca5
movq 0x8(%r15), %r14
testq %r14, %r14
je 0x5897
leaq 0x9d1d(%rip), %rsi      # 0xf5a7
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xaf9d
cmpq $0x0, 0x10(%r15)
je 0x5ca5
testq %r14, %r14
je 0x58be
cmpl $0x6, (%r14)
je 0x58be
leaq 0x9dc8(%rip), %rsi      # 0xf67c
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
movq 0x10(%r15), %rdx
jmp 0x5c87
movq 0x8(%r15), %rdx
leaq 0x9cd5(%rip), %rsi      # 0xf5a7
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
movq 0x10(%r15), %rdx
testq %rdx, %rdx
je 0x5ca5
leaq 0x9cb6(%rip), %rsi      # 0xf5a6
jmp 0x5c9b
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9cef(%rip), %rsi      # 0xf5f3
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9cb1(%rip), %rsi      # 0xf5c9
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9c91(%rip), %rsi      # 0xf5bd
jmp 0x5bf3
movq 0x8(%r15), %rdx
leaq 0x9c57(%rip), %rsi      # 0xf593
jmp 0x5c9b
movq 0x8(%r15), %r14
testq %r14, %r14
je 0x597b
cmpl $0x1b, (%r14)
jne 0x597b
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x597b
cmpl $0x1e, (%rax)
jne 0x597b
movq 0x8(%rax), %rdi
cmpb $0x69, (%rdi)
jne 0x597b
leaq 0x9d03(%rip), %rsi      # 0xf671
callq 0x31f0
testl %eax, %eax
je 0x5cb2
leaq 0x9cf5(%rip), %rsi      # 0xf677
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xaf9d
movq 0x10(%r15), %rdx
jmp 0x5b95
movq 0x8(%r15), %rdx
leaq 0x9c02(%rip), %rsi      # 0xf5a5
jmp 0x5c9b
movq 0x8(%r15), %rdx
leaq 0x9c1c(%rip), %rsi      # 0xf5cf
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
movq 0x10(%r15), %rdx
testq %rdx, %rdx
jne 0x5c87
jmp 0x5ca5
movq 0x8(%r15), %rdx
leaq 0x9bb5(%rip), %rsi      # 0xf58f
jmp 0x5c9b
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9bbc(%rip), %rsi      # 0xf5aa
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9baf(%rip), %rsi      # 0xf5b1
jmp 0x5bf3
cmpb $0x0, 0x13fbe(%rip)     # 0x199cc
je 0x5c2f
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9bd2(%rip), %rsi      # 0xf5f5
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
movq 0x18(%r15), %r8
leaq 0x9bcc(%rip), %rsi      # 0xf607
jmp 0x5c12
movq 0x8(%r15), %rdx
leaq 0x9b50(%rip), %rsi      # 0xf59b
jmp 0x5c9b
movl 0x18(%r15), %r8d
movl 0x8(%r15), %edx
movl 0x10(%r15), %ecx
cmpl $-0x1, %r8d
je 0x5c58
leaq 0x9bf2(%rip), %rsi      # 0xf65f
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
jmp 0x5ca5
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9b2c(%rip), %rsi      # 0xf5b7
jmp 0x5bf3
movl 0x8(%r15), %ebp
movl 0x10(%r15), %r14d
movq 0x18(%r15), %rdx
leaq 0x9bdb(%rip), %rsi      # 0xf67e
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
testl %r14d, %r14d
je 0x5c6b
leaq 0x9ba4(%rip), %rsi      # 0xf661
movq %rbx, %rdi
movl %ebp, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0xaf9d
jmp 0x5c83
movl 0x8(%r15), %ebp
leaq 0x9bab(%rip), %rsi      # 0xf687
movq %rbx, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0xaf9d
movl 0x10(%r15), %edx
decl %ebp
cmpl $0x2, %ebp
movl %edx, %eax
sbbl $0x0, %eax
je 0x5b09
leaq 0x9b83(%rip), %rsi      # 0xf682
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
movq 0x18(%r15), %rdx
jmp 0x5c87
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9ab3(%rip), %rsi      # 0xf5d4
jmp 0x5bf3
cmpl $0x0, 0x18(%r15)
je 0x5c90
movl 0x18(%rbx), %esi
andl $0x40, %esi
movq 0x8(%r15), %rdi
callq 0x8b9c
testl %eax, %eax
leaq 0x9ada(%rip), %rax      # 0xf623
leaq 0x9acf(%rip), %rsi      # 0xf61f
cmoveq %rax, %rsi
jmp 0x5c97
movl 0x8(%r15), %ebp
leaq 0x9b23(%rip), %rsi      # 0xf687
movq %rbx, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0xaf9d
movl 0x10(%r15), %edx
decl %ebp
cmpl $0x2, %ebp
movl %edx, %eax
sbbl $0x0, %eax
je 0x5b91
leaq 0x9afb(%rip), %rsi      # 0xf682
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
movq 0x18(%r15), %rdx
leaq 0x9a33(%rip), %rsi      # 0xf5cf
jmp 0x5c9b
movq 0x8(%r15), %rdx
leaq 0x99f3(%rip), %rsi      # 0xf59f
jmp 0x5c9b
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9a1d(%rip), %rsi      # 0xf5dd
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9a46(%rip), %rsi      # 0xf617
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x9a19(%rip), %rsi      # 0xf5fb
jmp 0x5bf3
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x99f1(%rip), %rsi      # 0xf5e4
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
jmp 0x5ca5
leaq 0x9a43(%rip), %rsi      # 0xf64c
jmp 0x5c12
leaq 0x9a30(%rip), %rsi      # 0xf642
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
jmp 0x5ca5
leaq 0x9a08(%rip), %rdi      # 0xf630
callq 0xc83e
jmp 0x5ca5
movb $0x1, 0x13d96(%rip)     # 0x199cc
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
leaq 0x99e1(%rip), %rsi      # 0xf626
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
movb $0x0, 0x13d76(%rip)     # 0x199cc
jmp 0x5ca5
leaq 0x9a0a(%rip), %rsi      # 0xf669
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
jmp 0x5ca5
cmpl $0x1, %ebp
je 0x5c83
leaq 0x9a0b(%rip), %rsi      # 0xf682
movq %rbx, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0xaf9d
movq 0x20(%r15), %rdx
leaq 0x9919(%rip), %rsi      # 0xf5a7
jmp 0x5c9b
leaq 0x998c(%rip), %rsi      # 0xf623
movq 0x8(%r15), %rdx
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x99bc(%rip), %rsi      # 0xf675
movq %rbx, %rdi
xorl %eax, %eax
callq 0xaf9d
jmp 0x598f