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

	p2 = pop(); // denominator
	p1 = pop(); // numerator

	h = HEIGHT(p1) + DEPTH(p1);
	d = HEIGHT(p2) + DEPTH(p2);
	w = MAX(WIDTH(p1), WIDTH(p2));

	h += 1;
	w += 2;

	push_double(EMIT_FRACTION);
	push_double(h);
	push_double(d);
	push_double(w);
	push(p1);
	push(p2);

	list(6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl 0x18ff0(%rip), %eax     # 0x3f2b8
movl $0xfffe795f, %ecx       # imm = 0xFFFE795F
leal (%rax,%rcx), %edx
cmpl %ecx, %edx
jbe 0x266a4
leal -0x1(%rax), %ecx
movl %ecx, 0x18fd7(%rip)     # 0x3f2b8
cmpl $0x1, %eax
jbe 0x266a4
leaq 0x222cf(%rip), %rdx     # 0x485c0
addl $-0x2, %eax
movl %eax, 0x18fbe(%rip)     # 0x3f2b8
movq (%rdx,%rax,8), %rax
cmpb $0x1, 0x10(%rax)
movq %rax, -0x38(%rbp)
leaq 0x8(%rax), %rsi
leaq 0x1f6ef(%rip), %rax     # 0x45a00
cmovneq %rax, %rsi
movq (%rdx,%rcx,8), %r14
movq (%rsi), %rcx
movb 0x10(%rcx), %dl
cmpb $0x1, %dl
jne 0x26331
movq (%rcx), %rdi
movq 0x8(%rcx), %rsi
movsd (%rdi), %xmm0
jmp 0x2633c
movq 0x1f6c8(%rip), %rsi     # 0x45a00
movsd (%rsi), %xmm0
cmpb $0x1, 0x10(%rsi)
movq %rax, %rdi
jne 0x26348
movq %rsi, %rdi
leaq 0x8(%r14), %rsi
cmpb $0x1, 0x10(%r14)
cmoveq %rsi, %rax
movq (%rax), %rax
movb 0x10(%rax), %sil
cmpb $0x1, %sil
jne 0x26370
movq (%rax), %r9
movq 0x8(%rax), %r8
movsd (%r9), %xmm1
jmp 0x2637c
movq 0x1f689(%rip), %r8      # 0x45a00
movsd (%r8), %xmm1
cmpb $0x1, 0x10(%r8)
je 0x2638a
leaq 0x1f676(%rip), %r8      # 0x45a00
movq (%rdi), %rdi
movq (%r8), %r8
cmpb $0x1, %dl
jne 0x263a6
movq 0x8(%rcx), %r9
cmpb $0x1, 0x10(%r9)
jne 0x263cf
movq 0x8(%r9), %r9
jmp 0x263d6
movq 0x1f653(%rip), %r10     # 0x45a00
leaq 0x1f64c(%rip), %r9      # 0x45a00
cmpb $0x1, 0x10(%r10)
jne 0x26401
movq 0x8(%r10), %r10
cmpb $0x1, 0x10(%r10)
jne 0x26401
movq 0x1f633(%rip), %r9      # 0x45a00
jmp 0x263e1
movq 0x1f62a(%rip), %r9      # 0x45a00
cmpb $0x1, 0x10(%r9)
jne 0x263ee
movq 0x8(%rcx), %r9
cmpb $0x1, 0x10(%r9)
jne 0x263f7
addq $0x8, %r9
jmp 0x263fe
leaq 0x1f60b(%rip), %r9      # 0x45a00
jmp 0x26401
leaq 0x1f602(%rip), %r9      # 0x45a00
movq (%r9), %r9
movsd (%rdi), %xmm2
movsd (%r8), %xmm3
movq (%r9), %rdi
cvttsd2si (%rdi), %edi
cmpb $0x1, %sil
jne 0x26436
movq 0x8(%rax), %r8
cmpb $0x1, 0x10(%r8)
jne 0x26461
movq 0x8(%r8), %r8
cmpb $0x1, 0x10(%r8)
je 0x26473
leaq 0x1f5cc(%rip), %r8      # 0x45a00
jmp 0x2649c
movq 0x1f5c3(%rip), %r8      # 0x45a00
cmpb $0x1, 0x10(%r8)
jne 0x26484
movq 0x8(%r8), %r8
cmpb $0x1, 0x10(%r8)
movq 0x1f5ac(%rip), %r8      # 0x45a00
je 0x26477
cvttsd2si (%r8), %eax
cmpl %eax, %edi
jg 0x264a9
jmp 0x264cb
movq 0x1f598(%rip), %r8      # 0x45a00
cmpb $0x1, 0x10(%r8)
jne 0x26525
movq 0x8(%rax), %r8
cmpb $0x1, 0x10(%r8)
jne 0x26492
addq $0x8, %r8
jmp 0x26499
cvttsd2si (%r8), %eax
cmpl %eax, %edi
jg 0x264a9
jmp 0x26584
leaq 0x1f567(%rip), %r8      # 0x45a00
movq (%r8), %r8
movq (%r8), %r8
cvttsd2si (%r8), %r8d
cmpl %r8d, %edi
jle 0x264c5
cmpb $0x1, %dl
jne 0x264f6
movq 0x8(%rcx), %rax
cmpb $0x1, 0x10(%rax)
jne 0x26564
movq 0x8(%rax), %rax
jmp 0x2656b
cmpb $0x1, %sil
je 0x2653a
movq 0x1f52e(%rip), %rcx     # 0x45a00
leaq 0x1f527(%rip), %rax     # 0x45a00
cmpb $0x1, 0x10(%rcx)
jne 0x265c1
movq 0x8(%rcx), %rcx
cmpb $0x1, 0x10(%rcx)
je 0x265a3
jmp 0x265c1
movq 0x1f503(%rip), %rcx     # 0x45a00
leaq 0x1f4fc(%rip), %rax     # 0x45a00
cmpb $0x1, 0x10(%rcx)
jne 0x265c1
movq 0x8(%rcx), %rcx
cmpb $0x1, 0x10(%rcx)
jne 0x265c1
movq 0x1f4dd(%rip), %rax     # 0x45a00
jmp 0x26575
movq 0x1f4d4(%rip), %r8      # 0x45a00
cvttsd2si (%r8), %r8d
cmpl %r8d, %edi
jg 0x264a9
movq 0x8(%rax), %rcx
cmpb $0x1, 0x10(%rcx)
jne 0x2658d
movq 0x8(%rcx), %rcx
cmpb $0x1, 0x10(%rcx)
jne 0x26584
cmpb $0x1, %sil
jne 0x265a3
movq 0x8(%rax), %rcx
cmpb $0x1, 0x10(%rcx)
jne 0x2657b
addq $0x8, %rax
jmp 0x265b7
movq 0x1f495(%rip), %rax     # 0x45a00
cmpb $0x1, 0x10(%rax)
jne 0x26584
movq 0x8(%rcx), %rax
cmpb $0x1, 0x10(%rax)
je 0x265ba
leaq 0x1f47e(%rip), %rax     # 0x45a00
jmp 0x265be
leaq 0x1f475(%rip), %rax     # 0x45a00
jmp 0x265c1
leaq 0x1f46c(%rip), %rax     # 0x45a00
movq 0x1f465(%rip), %rcx     # 0x45a00
cmpb $0x1, 0x10(%rcx)
je 0x265be
jmp 0x265c1
leaq 0x1f456(%rip), %rax     # 0x45a00
movq 0x1f44f(%rip), %rcx     # 0x45a00
cmpb $0x1, 0x10(%rcx)
jne 0x265be
movq (%rax), %rax
addq $0x8, %rax
movq (%rax), %rax
movq (%rax), %rax
cvttsd2si (%rax), %r15d
cvttsd2si %xmm1, %eax
cvttsd2si %xmm3, %r13d
addl %eax, %r13d
cvttsd2si %xmm0, %eax
cvttsd2si %xmm2, %ecx
leal (%rax,%rcx), %ebx
incl %ebx
addl $0x2, %r15d
callq 0x74dc
movb $0x5, %r12b
movb %r12b, 0x10(%rax)
movabsq $0x401c000000000000, %rcx # imm = 0x401C000000000000
movq %rcx, (%rax)
movq %rax, %rdi
callq 0x8ba5
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
movsd %xmm0, -0x30(%rbp)
callq 0x74dc
movb %r12b, 0x10(%rax)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, (%rax)
movq %rax, %rdi
callq 0x8ba5
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
movsd %xmm0, -0x30(%rbp)
callq 0x74dc
movb %r12b, 0x10(%rax)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, (%rax)
movq %rax, %rdi
callq 0x8ba5
xorps %xmm0, %xmm0
cvtsi2sd %r15d, %xmm0
movsd %xmm0, -0x30(%rbp)
callq 0x74dc
movb %r12b, 0x10(%rax)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, (%rax)
movq %rax, %rdi
callq 0x8ba5
movq -0x38(%rbp), %rdi
callq 0x8ba5
movq %r14, %rdi
callq 0x8ba5
movl $0x6, %edi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x8b7d
leaq 0x8896(%rip), %rdi      # 0x2ef41
callq 0x780b