// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_operator
bl_t xoico_che_s_trans_operator( xoico_che_s* o, x_source* source, xoico_che_result* result )
{
    // xoico_che.x:676:1
    
    switch( x_source_inspect_char(source) )
    {
        case '+':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            char c = x_source_inspect_char(source);
            if( c == '=' || c == '+' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '-':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            char c = x_source_inspect_char(source);
            if( c == '=' || c == '-' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '*':
        case '/':
        case '=':
        case '!':
        case '^':
        case '%':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            if( x_source_inspect_char(source) == '=' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '>':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            char c = x_source_inspect_char(source);
            if( c == '=' || c == '>' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            if( c == '>' && x_source_inspect_char(source) == '=' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '<':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            char c = x_source_inspect_char(source);
            if( c == '=' || c == '<' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            if( c == '<' && x_source_inspect_char(source) == '=' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '|':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            char c = x_source_inspect_char(source);
            if( c == '=' || c == '|' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '&':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
            char c = x_source_inspect_char(source);
            if( c == '=' || c == '&' ) BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        case '~':
        {
            BLM_TRY_EXIT(xoico_che_result_a_push_char(result,x_source_get_char(source) ))
        }
        return  true;
    
        default: break;
    }
    
    return  false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa440
movsbl %al, %eax
addl $-0x21, %eax
movl %eax, %ecx
movq %rcx, -0xe0(%rbp)
subl $0x5d, %eax
ja 0x24bfa
movq -0xe0(%rbp), %rax
leaq 0x10ecd2(%rip), %rcx    # 0x133248
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x20(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0xe8(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x245c7
leaq 0x18dd7c(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x28(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movb %al, -0x29(%rbp)
movsbl -0x29(%rbp), %eax
cmpl $0x3d, %eax
je 0x245e5
movsbl -0x29(%rbp), %eax
cmpl $0x2b, %eax
jne 0x2462f
movq -0x20(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0xf0(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x2462d
leaq 0x18dd16(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x38(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x2462f
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0xf8(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x24680
leaq 0x18dcc3(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x40(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movb %al, -0x41(%rbp)
movsbl -0x41(%rbp), %eax
cmpl $0x3d, %eax
je 0x2469e
movsbl -0x41(%rbp), %eax
cmpl $0x2d, %eax
jne 0x246e8
movq -0x20(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x100(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x246e6
leaq 0x18dc5d(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x50(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x246e8
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x108(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
je 0x24739
leaq 0x18dc0a(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x58(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movsbl %al, %eax
cmpl $0x3d, %eax
jne 0x24794
movq -0x20(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x110(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x60(%rbp)
cmpq $0x0, -0x60(%rbp)
je 0x24792
leaq 0x18dbb1(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x60(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x24794
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x118(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
je 0x247e5
leaq 0x18db5e(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x68(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movb %al, -0x69(%rbp)
movsbl -0x69(%rbp), %eax
cmpl $0x3d, %eax
je 0x24803
movsbl -0x69(%rbp), %eax
cmpl $0x3e, %eax
jne 0x2484d
movq -0x20(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x120(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x2484b
leaq 0x18daf8(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x78(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x2484d
movsbl -0x69(%rbp), %eax
cmpl $0x3e, %eax
jne 0x248b1
movq -0x18(%rbp), %rdi
callq 0xa440
movsbl %al, %eax
cmpl $0x3d, %eax
jne 0x248b1
movq -0x20(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x128(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x248af
leaq 0x18da94(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x80(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x248b1
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x130(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
je 0x2490b
leaq 0x18da3b(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x88(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movb %al, -0x89(%rbp)
movsbl -0x89(%rbp), %eax
cmpl $0x3d, %eax
je 0x24932
movsbl -0x89(%rbp), %eax
cmpl $0x3c, %eax
jne 0x24985
movq -0x20(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x138(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0x98(%rbp)
cmpq $0x0, -0x98(%rbp)
je 0x24983
leaq 0x18d9c3(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x98(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x24985
movsbl -0x89(%rbp), %eax
cmpl $0x3c, %eax
jne 0x249f5
movq -0x18(%rbp), %rdi
callq 0xa440
movsbl %al, %eax
cmpl $0x3d, %eax
jne 0x249f5
movq -0x20(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x140(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0xa0(%rbp)
cmpq $0x0, -0xa0(%rbp)
je 0x249f3
leaq 0x18d953(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0xa0(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x249f5
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x148(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0xa8(%rbp)
cmpq $0x0, -0xa8(%rbp)
je 0x24a4f
leaq 0x18d8f7(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0xa8(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movb %al, -0xa9(%rbp)
movsbl -0xa9(%rbp), %eax
cmpl $0x3d, %eax
je 0x24a76
movsbl -0xa9(%rbp), %eax
cmpl $0x7c, %eax
jne 0x24ac9
movq -0x20(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x150(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0xb8(%rbp)
cmpq $0x0, -0xb8(%rbp)
je 0x24ac7
leaq 0x18d87f(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0xb8(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x24ac9
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x158(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0xc0(%rbp)
je 0x24b23
leaq 0x18d823(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0xc0(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rdi
callq 0xa440
movb %al, -0xc1(%rbp)
movsbl -0xc1(%rbp), %eax
cmpl $0x3d, %eax
je 0x24b4a
movsbl -0xc1(%rbp), %eax
cmpl $0x26, %eax
jne 0x24b9d
movq -0x20(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x160(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0xd0(%rbp)
cmpq $0x0, -0xd0(%rbp)
je 0x24b9b
leaq 0x18d7ab(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0xd0(%rbp), %rax
movl %eax, %edi
callq 0x425e0
jmp 0x24b9d
movb $0x1, -0x1(%rbp)
jmp 0x24c00
movq -0x20(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa490
movq -0x168(%rbp), %rdi
movsbl %al, %esi
callq 0x23c70
movq %rax, -0xd8(%rbp)
cmpq $0x0, -0xd8(%rbp)
je 0x24bf4
leaq 0x18d752(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0xd8(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movb $0x1, -0x1(%rbp)
jmp 0x24c00
jmp 0x24bfc
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
nop