// File: /workspace/github_c_makefile_star2_O0/ebb[P]chisa/bootstrap1.c
// Function: pass1TrivialExpr
long pass1TrivialExpr(long expr, long cont)
{
    long x14, x13, x12, blks, xfer, stmts, x11, formsCont, forms, z, x10, x9, x8, x7, x6, y, label, x5, x4, x15, x3, x, fiExpr, x2, primArgs, p, x1, consArgs, c;
    goto L1;
L1:
    switch (runtime_class(expr)) {
    case CLASS_HiConsApp:
        c = prim_fetch(expr, runtime_makeNumber(0));
        consArgs = prim_fetch(expr, runtime_makeNumber(1));
        goto L2;
    case CLASS_HiPrimApp:
        p = prim_fetch(expr, runtime_makeNumber(0));
        primArgs = prim_fetch(expr, runtime_makeNumber(1));
        goto L3;
    default:
        goto L4;
    }
L2:
    x1 = FiConsApp(c, consArgs);
        fiExpr = x1;
    goto L5;
L3:
    x2 = FiPrimApp(p, primArgs);
        fiExpr = x2;
    goto L5;
L4:
        fiExpr = expr;
    goto L5;
L5:
    switch (runtime_class(cont)) {
    case CLASS_P1TailCont:
        goto L6;
    case CLASS_P1BlockCont:
        label = prim_fetch(cont, runtime_makeNumber(0));
        goto L7;
    case CLASS_P1TrivialCont:
        z = prim_fetch(cont, runtime_makeNumber(0));
        forms = prim_fetch(cont, runtime_makeNumber(1));
        formsCont = prim_fetch(cont, runtime_makeNumber(2));
        goto L8;
    default:
        runtime_matchFailure(__LINE__);
    }
L6:
    x = prim_genTmp();
    x3 = FiStmt(x, fiExpr);
    x15 = prim_cons(x3, nil);
    x4 = FiReturn(x);
    x5 = Triple(x15, x4, nil);
    return x5;
L7:
    y = prim_genTmp();
    x6 = FiStmt(y, fiExpr);
    x7 = prim_cons(x6, nil);
    x8 = prim_cons(y, nil);
    x9 = FiGoto(label, x8);
    x10 = Triple(x7, x9, nil);
    return x10;
L8:
    x11 = pass1Begin(forms, formsCont);
    goto L9;
L9:
    switch (runtime_class(x11)) {
    case CLASS_Triple:
        stmts = prim_fetch(x11, runtime_makeNumber(0));
        xfer = prim_fetch(x11, runtime_makeNumber(1));
        blks = prim_fetch(x11, runtime_makeNumber(2));
        goto L10;
    default:
        runtime_matchFailure(__LINE__);
    }
L10:
    x12 = FiStmt(z, fiExpr);
    x13 = prim_cons(x12, stmts);
    x14 = Triple(x13, xfer, blks);
    return x14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5690
movzwl %ax, %ecx
movl %ecx, -0x104(%rbp)
subw $0xd, %ax
je 0x1f5d
jmp 0x1f4d
movl -0x104(%rbp), %eax
subl $0xe, %eax
je 0x1fb4
jmp 0x200b
movq -0x10(%rbp), %rax
movq %rax, -0x118(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x118(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x100(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x110(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0xf8(%rbp)
jmp 0x200d
movq -0x10(%rbp), %rax
movq %rax, -0x128(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x128(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0xe8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x120(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0x120(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0xe0(%rbp)
jmp 0x2037
jmp 0x2061
movq -0x100(%rbp), %rdi
movq -0xf8(%rbp), %rsi
callq 0x2c20
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0xd0(%rbp)
jmp 0x206c
movq -0xe8(%rbp), %rdi
movq -0xe0(%rbp), %rsi
callq 0x2c50
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0xd0(%rbp)
jmp 0x206c
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5690
movzwl %ax, %ecx
movl %ecx, -0x12c(%rbp)
subw $0x21, %ax
je 0x20a3
jmp 0x2086
movl -0x12c(%rbp), %eax
subl $0x22, %eax
je 0x20a8
jmp 0x2093
movl -0x12c(%rbp), %eax
subl $0x23, %eax
je 0x20d7
jmp 0x2153
jmp 0x215f
movq -0x18(%rbp), %rax
movq %rax, -0x138(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x138(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0xa0(%rbp)
jmp 0x21e9
movq -0x18(%rbp), %rax
movq %rax, -0x150(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x150(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x148(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0x148(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x140(%rbp)
movl $0x2, %edi
callq 0x57a0
movq -0x140(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x58(%rbp)
jmp 0x2285
movl $0x1e9, %edi            # imm = 0x1E9
callq 0x5c50
jmp 0x215f
callq 0x5cf0
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x2c80
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rdi
leaq 0x270b5(%rip), %rax     # 0x29248
movq (%rax), %rsi
callq 0x5cc0
movq %rax, -0xb8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0x2cb0
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
leaq 0x2707e(%rip), %rax     # 0x29248
movq (%rax), %rdx
callq 0x1240
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x236e
callq 0x5cf0
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x2c80
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rdi
leaq 0x2702b(%rip), %rax     # 0x29248
movq (%rax), %rsi
callq 0x5cc0
movq %rax, -0x88(%rbp)
movq -0x98(%rbp), %rdi
leaq 0x2700e(%rip), %rax     # 0x29248
movq (%rax), %rsi
callq 0x5cc0
movq %rax, -0x80(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x2cd0
movq %rax, -0x78(%rbp)
movq -0x88(%rbp), %rdi
movq -0x78(%rbp), %rsi
leaq 0x26fdc(%rip), %rax     # 0x29248
movq (%rax), %rdx
callq 0x1240
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x236e
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x1880
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x5690
subw $0x20, %ax
jne 0x2320
jmp 0x22a7
movq -0x50(%rbp), %rax
movq %rax, -0x168(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x168(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x160(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x40(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x158(%rbp)
movl $0x2, %edi
callq 0x57a0
movq -0x158(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x38(%rbp)
jmp 0x232c
movl $0x205, %edi            # imm = 0x205
callq 0x5c50
jmp 0x232c
movq -0x68(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x2c80
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x5cc0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0x1240
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
nopl (%rax,%rax)