// File: /workspace/github_c_makefile_star2_O3/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 0x28e87
movl %edi, %eax
leaq 0x2fa0f(%rip), %rcx     # 0x586f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movss 0x2c30e(%rip), %xmm1    # 0x55008
subss %xmm0, %xmm1
jmp 0x28d9d
andps 0x2c456(%rip), %xmm0    # 0x55160
movss 0x2c2f6(%rip), %xmm1    # 0x55008
cmpltss %xmm1, %xmm0
andps %xmm1, %xmm0
movaps %xmm0, %xmm1
jmp 0x28ee4
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x2f97c(%rip), %rcx     # 0x586b0
xorps %xmm1, %xmm1
cvtsd2ss (%rcx,%rax,8), %xmm1
jmp 0x28ee4
movss 0x2c2bf(%rip), %xmm1    # 0x55008
movaps %xmm0, %xmm2
cmpltss %xmm1, %xmm2
andps %xmm2, %xmm1
movss 0x2f8f8(%rip), %xmm3    # 0x58654
andnps %xmm3, %xmm2
orps %xmm1, %xmm2
xorps %xmm1, %xmm1
cmpltss %xmm0, %xmm1
andps %xmm1, %xmm2
andnps %xmm3, %xmm1
jmp 0x28e5a
cvtss2sd %xmm0, %xmm0
addsd 0x2c3cf(%rip), %xmm0    # 0x55150
mulsd 0x2c3bf(%rip), %xmm0    # 0x55148
cvtsd2ss %xmm0, %xmm0
movss 0x2c273(%rip), %xmm1    # 0x55008
subss %xmm0, %xmm1
addss %xmm1, %xmm1
mulss %xmm0, %xmm1
jmp 0x28ee4
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x2f8f0(%rip), %rcx     # 0x586a8
jmp 0x28dd9
movss 0x2c246(%rip), %xmm1    # 0x55008
jmp 0x28ee4
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomiss %xmm1, %xmm0
seta %al
leaq 0x2f8c7(%rip), %rcx     # 0x586a0
movss (%rcx,%rax,4), %xmm1
jmp 0x28ee4
xorps %xmm2, %xmm2
cmpltss %xmm0, %xmm2
movss 0x2c215(%rip), %xmm1    # 0x55008
andps %xmm2, %xmm1
jmp 0x28ee4
mulss %xmm0, %xmm0
movss 0x2c201(%rip), %xmm1    # 0x55008
subss %xmm0, %xmm1
jmp 0x28ee4
xorps %xmm3, %xmm3
ucomiss %xmm3, %xmm0
xorpd %xmm2, %xmm2
jae 0x28eb7
xorpd %xmm1, %xmm1
jmp 0x28ebf
xorl %eax, %eax
ucomiss 0x2c1d6(%rip), %xmm0    # 0x55008
seta %al
leaq 0x2f85c(%rip), %rcx     # 0x58698
movss (%rcx,%rax,4), %xmm1
xorps %xmm2, %xmm2
cmpltss %xmm2, %xmm0
movaps %xmm0, %xmm2
andnps %xmm1, %xmm2
movss 0x2f801(%rip), %xmm1    # 0x58658
andps %xmm0, %xmm1
orps %xmm2, %xmm1
jmp 0x28ee4
pushq %rax
cvtss2sd %xmm0, %xmm0
movsd %xmm0, (%rsp)
callq 0x33e0
ucomisd (%rsp), %xmm0
movss 0x2c18a(%rip), %xmm1    # 0x55008
leaq 0x8(%rsp), %rsp
jne 0x28ee4
jp 0x28ee4
xorps %xmm1, %xmm1
jmp 0x28ee4
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
cmpltss %xmm1, %xmm2
cmpless %xmm0, %xmm1
movss 0x2c164(%rip), %xmm3    # 0x55008
andps %xmm3, %xmm1
andps %xmm3, %xmm2
addss %xmm3, %xmm0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
retq
movsd 0x2f7c9(%rip), %xmm1    # 0x58688
ucomiss %xmm0, %xmm3
jbe 0x28ecc
movsd 0x2c284(%rip), %xmm2    # 0x55150
cvtss2sd %xmm0, %xmm0
addsd 0x2f7b8(%rip), %xmm0    # 0x58690
mulsd %xmm2, %xmm0
addsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm1
movaps %xmm1, %xmm0
retq