// File: /workspace/github_c_makefile_star2_O2/SimpleDoger[P]Darknet_CPU_Only/activations.c
// Function: activate
float activate(float x, ACTIVATION a)
{
    switch(a){
        case LINEAR:
            return linear_activate(x);
        case LOGISTIC:
            return logistic_activate(x);
        case LOGGY:
            return loggy_activate(x);
        case RELU:
            return relu_activate(x);
        case ELU:
            return elu_activate(x);
        case SELU:
            return selu_activate(x);
        case RELIE:
            return relie_activate(x);
        case RAMP:
            return ramp_activate(x);
        case LEAKY:
            return leaky_activate(x);
        case TANH:
            return tanh_activate(x);
        case PLSE:
            return plse_activate(x);
        case STAIR:
            return stair_activate(x);
        case HARDTAN:
            return hardtan_activate(x);
        case LHTAN:
            return lhtan_activate(x);
    }
    return 0;
}

// Assembly:
subq $0x28, %rsp
cmpl $0xd, %edi
ja 0x1a3c7
movaps %xmm0, %xmm3
movl %edi, %eax
leaq 0x35456(%rip), %rcx     # 0x4f610
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorps 0x31f86(%rip), %xmm3    # 0x4c150
cvtss2sd %xmm3, %xmm0
callq 0x34d0
movsd 0x31f4d(%rip), %xmm1    # 0x4c128
addsd %xmm1, %xmm0
jmp 0x1a316
movss 0x31e1c(%rip), %xmm0    # 0x4c008
minss %xmm3, %xmm0
movss 0x3206c(%rip), %xmm1    # 0x4c264
cmpltss %xmm1, %xmm3
movaps %xmm3, %xmm2
andnps %xmm0, %xmm2
andps %xmm1, %xmm3
orps %xmm2, %xmm3
jmp 0x1a4da
xorps %xmm0, %xmm0
cmpltss %xmm3, %xmm0
movss 0x31dea(%rip), %xmm1    # 0x4c008
andps %xmm0, %xmm1
mulss %xmm3, %xmm1
cvtss2sd %xmm3, %xmm0
mulsd 0x3539f(%rip), %xmm0    # 0x4f5d0
cvtss2sd %xmm1, %xmm1
addsd %xmm1, %xmm0
jmp 0x1a4d6
xorps %xmm0, %xmm0
ucomiss %xmm3, %xmm0
jbe 0x1a3cf
cvtss2sd %xmm3, %xmm0
mulsd 0x3535a(%rip), %xmm0    # 0x4f5b0
jmp 0x1a4d6
xorps 0x31eee(%rip), %xmm3    # 0x4c150
cvtss2sd %xmm3, %xmm0
callq 0x34d0
addsd 0x31eb5(%rip), %xmm0    # 0x4c128
movsd 0x31f2d(%rip), %xmm1    # 0x4c1a8
divsd %xmm0, %xmm1
addsd 0x35341(%rip), %xmm1    # 0x4f5c8
jmp 0x1a445
xorps %xmm0, %xmm0
cmpltss %xmm3, %xmm0
movss 0x31d6c(%rip), %xmm1    # 0x4c008
andps %xmm0, %xmm1
mulss %xmm1, %xmm3
jmp 0x1a4da
cvtss2sd %xmm3, %xmm0
mulsd 0x3530c(%rip), %xmm0    # 0x4f5c0
jmp 0x1a2c2
cvtss2sd %xmm3, %xmm0
mulsd 0x3530e(%rip), %xmm0    # 0x4f5d0
cvtsd2ss %xmm0, %xmm0
xorps %xmm1, %xmm1
cmpltss %xmm3, %xmm1
andps %xmm1, %xmm3
andnps %xmm0, %xmm1
orps %xmm1, %xmm3
jmp 0x1a4da
addss %xmm3, %xmm3
cvtss2sd %xmm3, %xmm0
movsd %xmm0, 0x10(%rsp)
callq 0x34d0
addsd 0x352d1(%rip), %xmm0    # 0x4f5c8
movsd %xmm0, 0x8(%rsp)
movsd 0x10(%rsp), %xmm0
callq 0x34d0
addsd 0x31e18(%rip), %xmm0    # 0x4c128
movsd 0x8(%rsp), %xmm1
divsd %xmm0, %xmm1
jmp 0x1a445
xorps %xmm2, %xmm2
ucomiss %xmm2, %xmm3
jae 0x1a3f2
xorps %xmm1, %xmm1
jmp 0x1a3fa
movss 0x35265(%rip), %xmm0    # 0x4f5a0
ucomiss %xmm3, %xmm0
jbe 0x1a44e
addss 0x31f0c(%rip), %xmm3    # 0x4c258
cvtss2sd %xmm3, %xmm0
mulsd 0x35268(%rip), %xmm0    # 0x4f5c0
jmp 0x1a4d6
cvtss2sd %xmm3, %xmm0
movsd %xmm0, 0x8(%rsp)
movaps %xmm3, 0x10(%rsp)
callq 0x33e0
cvttsd2si %xmm0, %eax
testb $0x1, %al
jne 0x1a479
movsd 0x8(%rsp), %xmm0
mulsd 0x31d95(%rip), %xmm0    # 0x4c120
callq 0x33e0
jmp 0x1a4d6
xorps %xmm0, %xmm0
ucomiss %xmm3, %xmm0
cmpless %xmm3, %xmm0
movss 0x31c60(%rip), %xmm1    # 0x4c008
andps %xmm0, %xmm1
mulss %xmm3, %xmm1
cvtss2sd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
ja 0x1a4ab
xorps %xmm0, %xmm0
jmp 0x1a4b3
xorps %xmm3, %xmm3
jmp 0x1a4da
ucomiss 0x31c32(%rip), %xmm3    # 0x4c008
jbe 0x1a4da
addss 0x31e80(%rip), %xmm3    # 0x4c264
cvtss2sd %xmm3, %xmm0
mulsd 0x351c0(%rip), %xmm0    # 0x4f5b0
jmp 0x1a46f
movsd 0x351de(%rip), %xmm1    # 0x4f5d8
movsd %xmm1, 0x8(%rsp)
cvtss2sd %xmm3, %xmm0
ucomiss %xmm3, %xmm2
ja 0x1a40e
xorps %xmm1, %xmm1
jmp 0x1a416
movsd 0x351ca(%rip), %xmm1    # 0x4f5e0
movsd %xmm1, 0x10(%rsp)
movsd %xmm0, 0x20(%rsp)
callq 0x34d0
addsd 0x35199(%rip), %xmm0    # 0x4f5c8
mulsd 0x10(%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
mulsd 0x20(%rsp), %xmm1
addsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm3
jmp 0x1a4da
ucomiss 0x31e03(%rip), %xmm3    # 0x4c258
jbe 0x1a4e2
addss 0x3513d(%rip), %xmm3    # 0x4f5a0
cvtss2sd %xmm3, %xmm0
mulsd 0x35151(%rip), %xmm0    # 0x4f5c0
addsd 0x31cb1(%rip), %xmm0    # 0x4c128
jmp 0x1a4d6
cvtsi2ss %eax, %xmm0
movaps 0x10(%rsp), %xmm1
subss %xmm0, %xmm1
cvtss2sd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x8(%rsp), %xmm0
mulsd 0x31c82(%rip), %xmm0    # 0x4c120
callq 0x33e0
addsd 0x10(%rsp), %xmm0
jmp 0x1a4d6
movsd 0x31c75(%rip), %xmm0    # 0x4c128
movsd %xmm0, 0x10(%rsp)
cvtss2sd %xmm3, %xmm0
callq 0x34d0
addsd 0x350fe(%rip), %xmm0    # 0x4f5c8
mulsd 0x10(%rsp), %xmm0
addsd 0x8(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm3
movaps %xmm3, %xmm0
addq $0x28, %rsp
retq
cvtss2sd %xmm3, %xmm0
mulsd 0x350ca(%rip), %xmm0    # 0x4f5b8
addsd 0x31c2a(%rip), %xmm0    # 0x4c120
jmp 0x1a4d6