// File: /workspace/github_c_makefile_star2_O1/SimpleDoger[P]Darknet_CPU_Only/activations.c
// Function: gradient
float gradient(float x, ACTIVATION a)
{
    switch(a){
        case LINEAR:
            return linear_gradient(x);
        case LOGISTIC:
            return logistic_gradient(x);
        case LOGGY:
            return loggy_gradient(x);
        case RELU:
            return relu_gradient(x);
        case ELU:
            return elu_gradient(x);
        case SELU:
            return selu_gradient(x);
        case RELIE:
            return relie_gradient(x);
        case RAMP:
            return ramp_gradient(x);
        case LEAKY:
            return leaky_gradient(x);
        case TANH:
            return tanh_gradient(x);
        case PLSE:
            return plse_gradient(x);
        case STAIR:
            return stair_gradient(x);
        case HARDTAN:
            return hardtan_gradient(x);
        case LHTAN:
            return lhtan_gradient(x);
    }
    return 0;
}

// Assembly:
cmpl $0xd, %edi
ja 0x277d3
movl %edi, %eax
leaq 0x2eff3(%rip), %rcx     # 0x56628
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movss 0x2b9c2(%rip), %xmm1    # 0x53008
subss %xmm0, %xmm1
jmp 0x276e9
andps 0x2baea(%rip), %xmm0    # 0x53140
movss 0x2b9aa(%rip), %xmm1    # 0x53008
cmpltss %xmm1, %xmm0
andps %xmm1, %xmm0
movaps %xmm0, %xmm1
jmp 0x27830
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x2ef60(%rip), %rcx     # 0x565e0
xorps %xmm1, %xmm1
cvtsd2ss (%rcx,%rax,8), %xmm1
jmp 0x27830
movss 0x2b973(%rip), %xmm1    # 0x53008
movaps %xmm0, %xmm2
cmpltss %xmm1, %xmm2
andps %xmm2, %xmm1
movss 0x2eedc(%rip), %xmm3    # 0x56584
andnps %xmm3, %xmm2
orps %xmm1, %xmm2
xorps %xmm1, %xmm1
cmpltss %xmm0, %xmm1
andps %xmm1, %xmm2
andnps %xmm3, %xmm1
jmp 0x277a6
cvtss2sd %xmm0, %xmm0
addsd 0x2ba5b(%rip), %xmm0    # 0x53128
mulsd 0x2ba4b(%rip), %xmm0    # 0x53120
cvtsd2ss %xmm0, %xmm0
movss 0x2b927(%rip), %xmm1    # 0x53008
subss %xmm0, %xmm1
addss %xmm1, %xmm1
mulss %xmm0, %xmm1
jmp 0x27830
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x2eed4(%rip), %rcx     # 0x565d8
jmp 0x27725
movss 0x2b8fa(%rip), %xmm1    # 0x53008
jmp 0x27830
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x2eeab(%rip), %rcx     # 0x565d0
movss (%rcx,%rax,4), %xmm1
jmp 0x27830
xorps %xmm2, %xmm2
cmpltss %xmm0, %xmm2
movss 0x2b8c9(%rip), %xmm1    # 0x53008
andps %xmm2, %xmm1
jmp 0x27830
mulss %xmm0, %xmm0
movss 0x2b8b5(%rip), %xmm1    # 0x53008
subss %xmm0, %xmm1
jmp 0x27830
xorps %xmm3, %xmm3
ucomiss %xmm3, %xmm0
xorpd %xmm2, %xmm2
jae 0x27803
xorpd %xmm1, %xmm1
jmp 0x2780b
xorl %eax, %eax
ucomiss 0x2b88a(%rip), %xmm0    # 0x53008
seta %al
leaq 0x2ee40(%rip), %rcx     # 0x565c8
movss (%rcx,%rax,4), %xmm1
xorps %xmm2, %xmm2
cmpltss %xmm2, %xmm0
movaps %xmm0, %xmm2
andnps %xmm1, %xmm2
movss 0x2ede5(%rip), %xmm1    # 0x56588
andps %xmm0, %xmm1
orps %xmm2, %xmm1
jmp 0x27830
pushq %rax
cvtss2sd %xmm0, %xmm0
movsd %xmm0, (%rsp)
callq 0x33f0
ucomisd (%rsp), %xmm0
movss 0x2b83e(%rip), %xmm1    # 0x53008
leaq 0x8(%rsp), %rsp
jne 0x27830
jp 0x27830
xorps %xmm1, %xmm1
jmp 0x27830
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
cmpltss %xmm1, %xmm2
cmpless %xmm0, %xmm1
movss 0x2b818(%rip), %xmm3    # 0x53008
andps %xmm3, %xmm1
andps %xmm3, %xmm2
addss %xmm3, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
retq
movsd 0x2edad(%rip), %xmm1    # 0x565b8
ucomiss %xmm0, %xmm3
jbe 0x27818
movsd 0x2b910(%rip), %xmm2    # 0x53128
cvtss2sd %xmm0, %xmm0
addsd 0x2ed9c(%rip), %xmm0    # 0x565c0
mulsd %xmm2, %xmm0
addsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm1
movaps %xmm1, %xmm0
retq