// File: /workspace/github_c_makefile_star2_O2/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 0x1a6e7
movl %edi, %eax
leaq 0x350fc(%rip), %rcx     # 0x4f648
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movss 0x31aab(%rip), %xmm1    # 0x4c008
subss %xmm0, %xmm1
jmp 0x1a5fd
andps 0x31bd3(%rip), %xmm0    # 0x4c140
movss 0x31a93(%rip), %xmm1    # 0x4c008
cmpltss %xmm1, %xmm0
andps %xmm1, %xmm0
movaps %xmm0, %xmm1
jmp 0x1a744
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x35069(%rip), %rcx     # 0x4f600
cvtsd2ss (%rcx,%rax,8), %xmm1
jmp 0x1a744
movss 0x31a5f(%rip), %xmm1    # 0x4c008
movaps %xmm0, %xmm2
cmpltss %xmm1, %xmm2
andps %xmm2, %xmm1
movss 0x34fe8(%rip), %xmm3    # 0x4f5a4
andnps %xmm3, %xmm2
orps %xmm1, %xmm2
xorps %xmm1, %xmm1
cmpltss %xmm0, %xmm1
andps %xmm1, %xmm2
andnps %xmm3, %xmm1
jmp 0x1a6ba
cvtss2sd %xmm0, %xmm0
addsd 0x31b47(%rip), %xmm0    # 0x4c128
mulsd 0x31b37(%rip), %xmm0    # 0x4c120
cvtsd2ss %xmm0, %xmm0
movss 0x31a13(%rip), %xmm1    # 0x4c008
subss %xmm0, %xmm1
addss %xmm1, %xmm1
mulss %xmm0, %xmm1
jmp 0x1a744
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x34fe0(%rip), %rcx     # 0x4f5f8
jmp 0x1a639
movss 0x319e6(%rip), %xmm1    # 0x4c008
jmp 0x1a744
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x34fb7(%rip), %rcx     # 0x4f5f0
movss (%rcx,%rax,4), %xmm1
jmp 0x1a744
xorps %xmm2, %xmm2
cmpltss %xmm0, %xmm2
movss 0x319b5(%rip), %xmm1    # 0x4c008
andps %xmm2, %xmm1
jmp 0x1a744
mulss %xmm0, %xmm0
movss 0x319a1(%rip), %xmm1    # 0x4c008
subss %xmm0, %xmm1
jmp 0x1a744
xorps %xmm3, %xmm3
ucomiss %xmm3, %xmm0
xorpd %xmm2, %xmm2
jae 0x1a717
xorpd %xmm1, %xmm1
jmp 0x1a71f
xorl %eax, %eax
ucomiss 0x31976(%rip), %xmm0    # 0x4c008
seta %al
leaq 0x34f4c(%rip), %rcx     # 0x4f5e8
movss (%rcx,%rax,4), %xmm1
xorps %xmm2, %xmm2
cmpltss %xmm2, %xmm0
movaps %xmm0, %xmm2
andnps %xmm1, %xmm2
movss 0x34ef1(%rip), %xmm1    # 0x4f5a8
andps %xmm0, %xmm1
orps %xmm2, %xmm1
jmp 0x1a744
pushq %rax
cvtss2sd %xmm0, %xmm0
movsd %xmm0, (%rsp)
callq 0x33e0
ucomisd (%rsp), %xmm0
movss 0x3192a(%rip), %xmm1    # 0x4c008
leaq 0x8(%rsp), %rsp
jne 0x1a744
jp 0x1a744
xorps %xmm1, %xmm1
jmp 0x1a744
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
cmpltss %xmm1, %xmm2
cmpless %xmm0, %xmm1
movss 0x31904(%rip), %xmm3    # 0x4c008
andps %xmm3, %xmm1
andps %xmm3, %xmm2
addss %xmm3, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
retq
movsd 0x34eb9(%rip), %xmm1    # 0x4f5d8
ucomiss %xmm0, %xmm3
jbe 0x1a72c
movsd 0x319fc(%rip), %xmm2    # 0x4c128
cvtss2sd %xmm0, %xmm0
addsd 0x34ea8(%rip), %xmm0    # 0x4f5e0
mulsd %xmm2, %xmm0
addsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm1
movaps %xmm1, %xmm0
retq