// File: /workspace/github_c_makefile_star2_O0/georgeweigt[P]eigenmath/eigenmath.c
// Function: fmt_update_subexpr
void
fmt_update_subexpr(void)
{
	int d, h, w;
	struct atom *p1;

	p1 = pop();

	h = HEIGHT(p1);
	d = DEPTH(p1);
	w = WIDTH(p1);

	// delimiters have vertical symmetry (h - m == d + m, m = 1/2)

	if (h > 1 || d > 0) {
		h = MAX(h, d + 1) + 1; // plus extra
		d = h - 1; // by symmetry
	}

	w += 2;

	push_double(EMIT_SUBEXPR);
	push_double(h);
	push_double(d);
	push_double(w);
	push(p1);

	list(5);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
callq 0x91d0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39a7f
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x39a8a
movq 0x24f7a(%rip), %rax     # 0x5ea00
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39aca
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39ab2
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x39abd
movq 0x24f47(%rip), %rax     # 0x5ea00
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x39ad5
movq 0x24f2f(%rip), %rax     # 0x5ea00
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cvttsd2si (%rax), %eax
movl %eax, -0x8(%rbp)
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39afb
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x39b06
movq 0x24efe(%rip), %rax     # 0x5ea00
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39b47
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39b2e
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x39b39
movq 0x24ecb(%rip), %rax     # 0x5ea00
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x39b52
movq 0x24eb2(%rip), %rax     # 0x5ea00
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39bde
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39b7a
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x39b85
movq 0x24e7f(%rip), %rax     # 0x5ea00
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39bc6
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39bad
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0x39bb8
movq 0x24e4c(%rip), %rax     # 0x5ea00
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x60(%rbp)
jmp 0x39bd1
movq 0x24e33(%rip), %rax     # 0x5ea00
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
jmp 0x39be9
movq 0x24e1b(%rip), %rax     # 0x5ea00
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cvttsd2si (%rax), %eax
movl %eax, -0x4(%rbp)
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39c0f
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x70(%rbp)
jmp 0x39c1a
movq 0x24dea(%rip), %rax     # 0x5ea00
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39c5b
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39c42
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x78(%rbp)
jmp 0x39c4d
movq 0x24db7(%rip), %rax     # 0x5ea00
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x80(%rbp)
jmp 0x39c66
movq 0x24d9e(%rip), %rax     # 0x5ea00
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39d15
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39c95
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x88(%rbp)
jmp 0x39ca3
movq 0x24d64(%rip), %rax     # 0x5ea00
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39cf3
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39cd1
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x90(%rbp)
jmp 0x39cdf
movq 0x24d28(%rip), %rax     # 0x5ea00
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x98(%rbp)
jmp 0x39d01
movq 0x24d06(%rip), %rax     # 0x5ea00
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xa0(%rbp)
jmp 0x39d23
movq 0x24ce4(%rip), %rax     # 0x5ea00
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39e94
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39d55
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xa8(%rbp)
jmp 0x39d63
movq 0x24ca4(%rip), %rax     # 0x5ea00
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39db3
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39d91
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xb0(%rbp)
jmp 0x39d9f
movq 0x24c68(%rip), %rax     # 0x5ea00
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xb8(%rbp)
jmp 0x39dc1
movq 0x24c46(%rip), %rax     # 0x5ea00
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39e73
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39df3
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xc0(%rbp)
jmp 0x39e01
movq 0x24c06(%rip), %rax     # 0x5ea00
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39e51
movq -0x18(%rbp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x39e2f
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xc8(%rbp)
jmp 0x39e3d
movq 0x24bca(%rip), %rax     # 0x5ea00
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xd0(%rbp)
jmp 0x39e5f
movq 0x24ba8(%rip), %rax     # 0x5ea00
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xd8(%rbp)
jmp 0x39e81
movq 0x24b86(%rip), %rax     # 0x5ea00
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe0(%rbp)
jmp 0x39ea2
movq 0x24b65(%rip), %rax     # 0x5ea00
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rax
cvttsd2si (%rax), %eax
movl %eax, -0xc(%rbp)
cmpl $0x1, -0x8(%rbp)
jg 0x39ebc
cmpl $0x0, -0x4(%rbp)
jle 0x39ef5
movl -0x8(%rbp), %eax
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jle 0x39ed4
movl -0x8(%rbp), %eax
movl %eax, -0xe4(%rbp)
jmp 0x39ee0
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0xc(%rbp), %eax
addl $0x2, %eax
movl %eax, -0xc(%rbp)
movsd 0xb212(%rip), %xmm0     # 0x45118
callq 0xe5e0
cvtsi2sdl -0x8(%rbp), %xmm0
callq 0xe5e0
cvtsi2sdl -0x4(%rbp), %xmm0
callq 0xe5e0
cvtsi2sdl -0xc(%rbp), %xmm0
callq 0xe5e0
movq -0x18(%rbp), %rdi
callq 0x9110
movl $0x5, %edi
callq 0x90d0
addq $0xf0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)