// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_bop_s_setup
er_t x_btcl_operator_f3_bop_s_setup( x_btcl_operator_f3_bop_s* o )
{
    // bcore_x_btcl_operator_f3.x:191:5
    
    o->sa = ( x_btcl_operator_f3_spect_s* )x_btcl_operator_f3_spect_s_get_aware( o->a );
    o->sb = ( x_btcl_operator_f3_spect_s* )x_btcl_operator_f3_spect_s_get_aware( o->b );
    switch( o->type )
    {
        case ((tp_t)(TYPEOF_pow)):           o->fp_get = x_btcl_operator_f3_pow_get; break;
        case ((tp_t)(TYPEOF_div)):           o->fp_get = x_btcl_operator_f3_div_get; break;
        case ((tp_t)(TYPEOF_mul)):           o->fp_get = x_btcl_operator_f3_mul_get; break;
        case ((tp_t)(TYPEOF_sub)):           o->fp_get = x_btcl_operator_f3_sub_get; break;
        case ((tp_t)(TYPEOF_add)):           o->fp_get = x_btcl_operator_f3_add_get; break;
        case ((tp_t)(TYPEOF_equal)):         o->fp_get = x_btcl_operator_f3_equal_get; break;
        case ((tp_t)(TYPEOF_unequal)):       o->fp_get = x_btcl_operator_f3_unequal_get; break;
        case ((tp_t)(TYPEOF_larger_equal)):  o->fp_get = x_btcl_operator_f3_larger_equal_get; break;
        case ((tp_t)(TYPEOF_larger)):        o->fp_get = x_btcl_operator_f3_larger_get; break;
        case ((tp_t)(TYPEOF_smaller_equal)): o->fp_get = x_btcl_operator_f3_smaller_equal_get; break;
        case ((tp_t)(TYPEOF_smaller)):       o->fp_get = x_btcl_operator_f3_smaller_get; break;
        case ((tp_t)(TYPEOF_and)):           o->fp_get = x_btcl_operator_f3_and_get; break;
        case ((tp_t)(TYPEOF_or)):            o->fp_get = x_btcl_operator_f3_or_get; break;
        default: return  x_source_point_s_parse_error_fa(&(o->sp),"Unhandled operator type: #<sc_t>.", bnameof( o->type ) ); break;
    }
    BLM_TRY(x_btcl_operator_f3_a_setup(o->a))
    BLM_TRY(x_btcl_operator_f3_a_setup(o->b))
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x6edf0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x6edf0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movabsq $-0x7d8e62e6a2f03d0b, %rcx # imm = 0x82719D195D0FC2F5
subq %rcx, %rax
je 0x6f411
jmp 0x6f2ad
movq -0x38(%rbp), %rax
movabsq $-0x7852cb8bc90e7dee, %rcx # imm = 0x87AD347436F18212
subq %rcx, %rax
je 0x6f475
jmp 0x6f2c6
movq -0x38(%rbp), %rax
movabsq $-0x57358b5d24648dc3, %rcx # imm = 0xA8CA74A2DB9B723D
subq %rcx, %rax
je 0x6f461
jmp 0x6f2df
movq -0x38(%rbp), %rax
movabsq $-0x474675c9029fa41c, %rcx # imm = 0xB8B98A36FD605BE4
subq %rcx, %rax
je 0x6f486
jmp 0x6f2f8
movq -0x38(%rbp), %rax
movabsq $-0x3557c5e70b91a778, %rcx # imm = 0xCAA83A18F46E5888
subq %rcx, %rax
je 0x6f3e9
jmp 0x6f311
movq -0x38(%rbp), %rax
movabsq $-0x190868e6fae00d7a, %rcx # imm = 0xE6F79719051FF286
subq %rcx, %rax
je 0x6f4a8
jmp 0x6f32a
movq -0x38(%rbp), %rax
movabsq $-0x18f43ce6facf19ac, %rcx # imm = 0xE70BC3190530E654
subq %rcx, %rax
je 0x6f425
jmp 0x6f343
movq -0x38(%rbp), %rax
movabsq $0x4c3dbe7cbbb5fb, %rcx # imm = 0x4C3DBE7CBBB5FB
subq %rcx, %rax
je 0x6f497
jmp 0x6f35c
movq -0x38(%rbp), %rax
movabsq $0x7e66519174a3ce1, %rcx # imm = 0x7E66519174A3CE1
subq %rcx, %rax
je 0x6f3fd
jmp 0x6f375
movq -0x38(%rbp), %rax
movabsq $0x8b05407b5565ca4, %rcx # imm = 0x8B05407B5565CA4
subq %rcx, %rax
je 0x6f4b9
jmp 0x6f38e
movq -0x38(%rbp), %rax
movabsq $0x1894146c8d27f1ee, %rcx # imm = 0x1894146C8D27F1EE
subq %rcx, %rax
je 0x6f44d
jmp 0x6f3a7
movq -0x38(%rbp), %rax
movabsq $0x6a7933d70f43faaf, %rcx # imm = 0x6A7933D70F43FAAF
subq %rcx, %rax
je 0x6f439
jmp 0x6f3bc
movq -0x38(%rbp), %rax
movabsq $0x779b5f19564f3b35, %rcx # imm = 0x779B5F19564F3B35
subq %rcx, %rax
jne 0x6f4ca
jmp 0x6f3d5
movq -0x10(%rbp), %rax
leaq 0x1b0(%rip), %rcx       # 0x6f590
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x1cc(%rip), %rcx       # 0x6f5c0
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x208(%rip), %rcx       # 0x6f610
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x214(%rip), %rcx       # 0x6f630
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x220(%rip), %rcx       # 0x6f650
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x22c(%rip), %rcx       # 0x6f670
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x248(%rip), %rcx       # 0x6f6a0
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x264(%rip), %rcx       # 0x6f6d0
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x280(%rip), %rcx       # 0x6f700
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x29f(%rip), %rcx       # 0x6f730
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x2be(%rip), %rcx       # 0x6f760
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x2dd(%rip), %rcx       # 0x6f790
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
leaq 0x31c(%rip), %rcx       # 0x6f7e0
movq %rcx, 0x30(%rax)
jmp 0x6f4fe
movq -0x10(%rbp), %rax
addq $0x38, %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x44d00
movq -0x40(%rbp), %rdi
movq %rax, %rdx
leaq 0xd1918(%rip), %rsi     # 0x140e09
movb $0x0, %al
callq 0x68020
movq %rax, -0x8(%rbp)
jmp 0x6f578
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x6ee50
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x6f537
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x142e0b(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6f578
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x6ee50
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x6f570
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x142dd2(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6f578
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)