// File: /workspace/github_c_makefile_star2_O0/ebb[P]chisa/bootstrap1.c
// Function: pass1TransformedClauses
long pass1TransformedClauses(long labeledClauses)
{
    long x5, x4, x3, x2, elseBlk, x1, caseBlk, caseArgs, c, clause, label, moreLabeledClauses, labeledClause;
    goto L1;
L1:
    switch (runtime_class(labeledClauses)) {
    case CLASS_Cons:
        labeledClause = prim_fetch(labeledClauses, runtime_makeNumber(0));
        moreLabeledClauses = prim_fetch(labeledClauses, runtime_makeNumber(1));
        goto L2;
    default:
        goto L3;
    }
L2:
    switch (runtime_class(labeledClause)) {
    case CLASS_Pair:
        label = prim_fetch(labeledClause, runtime_makeNumber(0));
        clause = prim_fetch(labeledClause, runtime_makeNumber(1));
        goto L4;
    default:
        runtime_matchFailure(__LINE__);
    }
L3:
    return nil;
L4:
    switch (runtime_class(clause)) {
    case CLASS_HiCase:
        c = prim_fetch(clause, runtime_makeNumber(0));
        caseArgs = prim_fetch(clause, runtime_makeNumber(1));
        caseBlk = prim_fetch(clause, runtime_makeNumber(2));
        goto L5;
    case CLASS_HiElse:
        elseBlk = prim_fetch(clause, runtime_makeNumber(0));
        goto L6;
    default:
        runtime_matchFailure(__LINE__);
    }
L5:
    x1 = FiCase(c, label);
        x3 = x1;
    goto L7;
L6:
    x2 = FiElse(label);
        x3 = x2;
    goto L7;
L7:
    x4 = pass1TransformedClauses(moreLabeledClauses);
    goto L8;
L8:
    x5 = prim_cons(x3, x4);
    return x5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5690
subw $0x3, %ax
jne 0x2a0b
jmp 0x29c0
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x78(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x70(%rbp)
jmp 0x2a0d
jmp 0x2a7b
movq -0x78(%rbp), %rdi
callq 0x5690
subw $0x1f, %ax
jne 0x2a6f
jmp 0x2a1e
movq -0x78(%rbp), %rax
movq %rax, -0x98(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x68(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x90(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x60(%rbp)
jmp 0x2a8e
movl $0x18a, %edi            # imm = 0x18A
callq 0x5c50
jmp 0x2a7b
leaq 0x267c6(%rip), %rax     # 0x29248
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x2bbc
movq -0x60(%rbp), %rdi
callq 0x5690
movzwl %ax, %ecx
movl %ecx, -0x9c(%rbp)
subw $0x10, %ax
je 0x2ab8
jmp 0x2aa8
movl -0x9c(%rbp), %eax
subl $0x11, %eax
je 0x2b31
jmp 0x2b5a
movq -0x60(%rbp), %rax
movq %rax, -0xb8(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0xb0(%rbp)
movl $0x1, %edi
callq 0x57a0
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x50(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0xa8(%rbp)
movl $0x2, %edi
callq 0x57a0
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x48(%rbp)
jmp 0x2b66
movq -0x60(%rbp), %rax
movq %rax, -0xc0(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x57a0
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
callq 0x5730
movq %rax, -0x38(%rbp)
jmp 0x2b81
movl $0x199, %edi            # imm = 0x199
callq 0x5c50
jmp 0x2b66
movq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x2bd0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x2b96
movq -0x68(%rbp), %rdi
callq 0x2c00
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x70(%rbp), %rdi
callq 0x29a0
movq %rax, -0x20(%rbp)
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x5cc0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax)