// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_uop_s_setup
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_operator_f3_uop_s )

er_t x_btcl_operator_f3_uop_s_setup( x_btcl_operator_f3_uop_s* o )
{
    // bcore_x_btcl_operator_f3.x:129:5
    
    o->sa = ( x_btcl_operator_f3_spect_s* )x_btcl_operator_f3_spect_s_get_aware( o->a );
    switch( o->type )
    {
        case ((tp_t)(TYPEOF_identity)): o->fp_get = f3_ident; break;
        case ((tp_t)(TYPEOF_neg)):      o->fp_get = f3_neg;   break;
        case ((tp_t)(TYPEOF_exp)):      o->fp_get = f3_exp;   break;
        case ((tp_t)(TYPEOF_log)):      o->fp_get = f3_log;   break;
        case ((tp_t)(TYPEOF_log2)):     o->fp_get = f3_log2;  break;
        case ((tp_t)(TYPEOF_log10)):    o->fp_get = f3_log10; break;
        case ((tp_t)(TYPEOF_sin)):      o->fp_get = f3_sin;   break;
        case ((tp_t)(TYPEOF_cos)):      o->fp_get = f3_cos;   break;
        case ((tp_t)(TYPEOF_tan)):      o->fp_get = f3_tan;   break;
        case ((tp_t)(TYPEOF_tanh)):     o->fp_get = f3_tanh;  break;
        case ((tp_t)(TYPEOF_sqrt)):     o->fp_get = f3_sqrt;  break;
        case ((tp_t)(TYPEOF_sign)):     o->fp_get = f3_sign;  break;
        case ((tp_t)(TYPEOF_abs)):      o->fp_get = f3_abs;   break;
        case ((tp_t)(TYPEOF_ceil)):     o->fp_get = f3_ceil;  break;
        case ((tp_t)(TYPEOF_floor)):    o->fp_get = f3_floor; 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))
    return  0;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x458a6
movq %rax, 0x18(%rbx)
movq 0x8(%rbx), %rdi
movabsq $-0x7db75ee6a3133b53, %rax # imm = 0x8248A1195CECC4AD
cmpq %rax, %rdi
je 0x45815
movabsq $-0x69eb30e6f0372831, %rax # imm = 0x9614CF190FC8D7CF
cmpq %rax, %rdi
je 0x457d9
movabsq $-0x5fc58b56bd24bc43, %rax # imm = 0xA03A74A942DB43BD
cmpq %rax, %rdi
je 0x45857
movabsq $-0x3cedf4e70f8fbbf8, %rax # imm = 0xC3120B18F0704408
cmpq %rax, %rdi
je 0x457fa
movabsq $-0x31f869528f143ee7, %rax # imm = 0xCE0796AD70EBC119
cmpq %rax, %rdi
je 0x457e5
movabsq $-0x26cbaf10f87bc4f0, %rax # imm = 0xD93450EF07843B10
cmpq %rax, %rdi
je 0x45869
movabsq $-0x266ae76f02928178, %rax # imm = 0xD9951890FD6D7E88
cmpq %rax, %rdi
je 0x45803
movabsq $-0x18e04de6fabe8d85, %rax # imm = 0xE71FB2190541727B
cmpq %rax, %rdi
je 0x45872
movabsq $-0x16f0e7b3955c0045, %rax # imm = 0xE90F184C6AA3FFBB
cmpq %rax, %rdi
je 0x45827
movabsq $-0x9fb03e6f2fe8924, %rax # imm = 0xF604FC190D0176DC
cmpq %rax, %rdi
je 0x45860
movabsq $0x29c1fb6e090c590, %rax # imm = 0x29C1FB6E090C590
cmpq %rax, %rdi
je 0x4584e
movabsq $0x125073191daf5431, %rax # imm = 0x125073191DAF5431
cmpq %rax, %rdi
je 0x457f1
movabsq $0x56d7b2194448b0d8, %rax # imm = 0x56D7B2194448B0D8
cmpq %rax, %rdi
je 0x4581e
movabsq $0x4e0f7f18e637a364, %rax # imm = 0x4E0F7F18E637A364
cmpq %rax, %rdi
je 0x4580c
movabsq $0x2138e5192571d261, %rax # imm = 0x2138E5192571D261
cmpq %rax, %rdi
jne 0x45830
leaq 0x123(%rip), %rax       # 0x458f7
jmp 0x45879
leaq -0x29b1(%rip), %rax     # 0x42e2f
jmp 0x45879
leaq -0x29ff(%rip), %rax     # 0x42ded
jmp 0x45879
leaq -0x2a22(%rip), %rax     # 0x42dd6
jmp 0x45879
leaq -0x2a30(%rip), %rax     # 0x42dd1
jmp 0x45879
leaq -0x297c(%rip), %rax     # 0x42e8e
jmp 0x45879
leaq -0x29d1(%rip), %rax     # 0x42e42
jmp 0x45879
leaq -0x2a01(%rip), %rax     # 0x42e1b
jmp 0x45879
leaq -0x2a00(%rip), %rax     # 0x42e25
jmp 0x45879
leaq 0xc8(%rip), %rax        # 0x458f6
jmp 0x45879
addq $0x28, %rbx
callq 0x71db6
leaq 0x70d09(%rip), %rsi     # 0xb6549
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
popq %rbx
jmp 0x41984
leaq -0x2a51(%rip), %rax     # 0x42e04
jmp 0x45879
leaq -0x29cb(%rip), %rax     # 0x42e93
jmp 0x45879
leaq -0x2a47(%rip), %rax     # 0x42e20
jmp 0x45879
leaq -0x2a46(%rip), %rax     # 0x42e2a
jmp 0x45879
leaq -0x2a00(%rip), %rax     # 0x42e79
movq %rax, 0x20(%rbx)
movq 0x10(%rbx), %rdi
callq 0x458ff
testq %rax, %rax
je 0x4589f
movq %rax, %rbx
leaq 0xd253b(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
jmp 0x458a1
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
retq