// File: /workspace/github_c_makefile_star2_O2/SimpleDoger[P]Darknet_CPU_Only/layer.c
// Function: free_layer
void free_layer(layer l)
{
    if(l.type == DROPOUT){
        if(l.rand)           free(l.rand);
        return;
    }
    if(l.cweights)           free(l.cweights);
    if(l.indexes)            free(l.indexes);
    if(l.input_layers)       free(l.input_layers);
    if(l.input_sizes)        free(l.input_sizes);
    if(l.map)                free(l.map);
    if(l.rand)               free(l.rand);
    if(l.cost)               free(l.cost);
    if(l.state)              free(l.state);
    if(l.prev_state)         free(l.prev_state);
    if(l.forgot_state)       free(l.forgot_state);
    if(l.forgot_delta)       free(l.forgot_delta);
    if(l.state_delta)        free(l.state_delta);
    if(l.concat)             free(l.concat);
    if(l.concat_delta)       free(l.concat_delta);
    if(l.binary_weights)     free(l.binary_weights);
    if(l.biases)             free(l.biases);
    if(l.bias_updates)       free(l.bias_updates);
    if(l.scales)             free(l.scales);
    if(l.scale_updates)      free(l.scale_updates);
    if(l.weights)            free(l.weights);
    if(l.weight_updates)     free(l.weight_updates);
    if(l.delta)              free(l.delta);
    if(l.output)             free(l.output);
    if(l.squared)            free(l.squared);
    if(l.norms)              free(l.norms);
    if(l.spatial_mean)       free(l.spatial_mean);
    if(l.mean)               free(l.mean);
    if(l.variance)           free(l.variance);
    if(l.mean_delta)         free(l.mean_delta);
    if(l.variance_delta)     free(l.variance_delta);
    if(l.rolling_mean)       free(l.rolling_mean);
    if(l.rolling_variance)   free(l.rolling_variance);
    if(l.x)                  free(l.x);
    if(l.x_norm)             free(l.x_norm);
    if(l.m)                  free(l.m);
    if(l.v)                  free(l.v);
    if(l.z_cpu)              free(l.z_cpu);
    if(l.r_cpu)              free(l.r_cpu);
    if(l.h_cpu)              free(l.h_cpu);
    if(l.binary_input)       free(l.binary_input);

}

// Assembly:
pushq %rbx
leaq 0x10(%rsp), %rbx
movl $0x1d0, %eax            # imm = 0x1D0
cmpl $0x6, (%rbx)
je 0x2c7ad
movq 0x198(%rbx), %rdi
callq 0x3040
movq 0x1a0(%rbx), %rdi
callq 0x3040
movq 0x1a8(%rbx), %rdi
callq 0x3040
movq 0x1b0(%rbx), %rdi
callq 0x3040
movq 0x1b8(%rbx), %rdi
callq 0x3040
movq 0x1d0(%rbx), %rdi
callq 0x3040
movq 0x1d8(%rbx), %rdi
callq 0x3040
movq 0x1e0(%rbx), %rdi
callq 0x3040
movq 0x1e8(%rbx), %rdi
callq 0x3040
movq 0x1f0(%rbx), %rdi
callq 0x3040
movq 0x1f8(%rbx), %rdi
callq 0x3040
movq 0x200(%rbx), %rdi
callq 0x3040
movq 0x218(%rbx), %rdi
callq 0x3040
movq 0x220(%rbx), %rdi
callq 0x3040
movq 0x228(%rbx), %rdi
callq 0x3040
movq 0x230(%rbx), %rdi
callq 0x3040
movq 0x238(%rbx), %rdi
callq 0x3040
movq 0x240(%rbx), %rdi
callq 0x3040
movq 0x248(%rbx), %rdi
callq 0x3040
movq 0x250(%rbx), %rdi
callq 0x3040
movq 0x258(%rbx), %rdi
callq 0x3040
movq 0x260(%rbx), %rdi
callq 0x3040
movq 0x268(%rbx), %rdi
callq 0x3040
movq 0x278(%rbx), %rdi
callq 0x3040
movq 0x280(%rbx), %rdi
callq 0x3040
movq 0x288(%rbx), %rdi
callq 0x3040
movq 0x290(%rbx), %rdi
callq 0x3040
movq 0x298(%rbx), %rdi
callq 0x3040
movq 0x2a0(%rbx), %rdi
callq 0x3040
movq 0x2a8(%rbx), %rdi
callq 0x3040
movq 0x2b0(%rbx), %rdi
callq 0x3040
movq 0x2b8(%rbx), %rdi
callq 0x3040
movq 0x2c0(%rbx), %rdi
callq 0x3040
movq 0x2c8(%rbx), %rdi
callq 0x3040
movq 0x2d0(%rbx), %rdi
callq 0x3040
movq 0x2d8(%rbx), %rdi
callq 0x3040
movq 0x300(%rbx), %rdi
callq 0x3040
movq 0x308(%rbx), %rdi
callq 0x3040
movq 0x310(%rbx), %rdi
callq 0x3040
movl $0x388, %eax            # imm = 0x388
movq (%rbx,%rax), %rdi
popq %rbx
jmp 0x3040
nop