// File: /workspace/github_c_makefile_star2_O3/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
cmpl $0x6, (%rbx)
jne 0x39cf7
movq 0x1d0(%rbx), %rdi
jmp 0x39f95
movq 0x198(%rbx), %rdi
testq %rdi, %rdi
je 0x39d08
callq 0x3040
movq 0x1a0(%rbx), %rdi
testq %rdi, %rdi
je 0x39d19
callq 0x3040
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0x39d2a
callq 0x3040
movq 0x1b0(%rbx), %rdi
testq %rdi, %rdi
je 0x39d3b
callq 0x3040
movq 0x1b8(%rbx), %rdi
testq %rdi, %rdi
je 0x39d4c
callq 0x3040
movq 0x1d0(%rbx), %rdi
testq %rdi, %rdi
je 0x39d5d
callq 0x3040
movq 0x1d8(%rbx), %rdi
testq %rdi, %rdi
je 0x39d6e
callq 0x3040
movq 0x1e0(%rbx), %rdi
testq %rdi, %rdi
je 0x39d7f
callq 0x3040
movq 0x1e8(%rbx), %rdi
testq %rdi, %rdi
je 0x39d90
callq 0x3040
movq 0x1f0(%rbx), %rdi
testq %rdi, %rdi
je 0x39da1
callq 0x3040
movq 0x1f8(%rbx), %rdi
testq %rdi, %rdi
je 0x39db2
callq 0x3040
movq 0x200(%rbx), %rdi
testq %rdi, %rdi
je 0x39dc3
callq 0x3040
movq 0x218(%rbx), %rdi
testq %rdi, %rdi
je 0x39dd4
callq 0x3040
movq 0x220(%rbx), %rdi
testq %rdi, %rdi
je 0x39de5
callq 0x3040
movq 0x228(%rbx), %rdi
testq %rdi, %rdi
je 0x39df6
callq 0x3040
movq 0x230(%rbx), %rdi
testq %rdi, %rdi
je 0x39e07
callq 0x3040
movq 0x238(%rbx), %rdi
testq %rdi, %rdi
je 0x39e18
callq 0x3040
movq 0x240(%rbx), %rdi
testq %rdi, %rdi
je 0x39e29
callq 0x3040
movq 0x248(%rbx), %rdi
testq %rdi, %rdi
je 0x39e3a
callq 0x3040
movq 0x250(%rbx), %rdi
testq %rdi, %rdi
je 0x39e4b
callq 0x3040
movq 0x258(%rbx), %rdi
testq %rdi, %rdi
je 0x39e5c
callq 0x3040
movq 0x260(%rbx), %rdi
testq %rdi, %rdi
je 0x39e6d
callq 0x3040
movq 0x268(%rbx), %rdi
testq %rdi, %rdi
je 0x39e7e
callq 0x3040
movq 0x278(%rbx), %rdi
testq %rdi, %rdi
je 0x39e8f
callq 0x3040
movq 0x280(%rbx), %rdi
testq %rdi, %rdi
je 0x39ea0
callq 0x3040
movq 0x288(%rbx), %rdi
testq %rdi, %rdi
je 0x39eb1
callq 0x3040
movq 0x290(%rbx), %rdi
testq %rdi, %rdi
je 0x39ec2
callq 0x3040
movq 0x298(%rbx), %rdi
testq %rdi, %rdi
je 0x39ed3
callq 0x3040
movq 0x2a0(%rbx), %rdi
testq %rdi, %rdi
je 0x39ee4
callq 0x3040
movq 0x2a8(%rbx), %rdi
testq %rdi, %rdi
je 0x39ef5
callq 0x3040
movq 0x2b0(%rbx), %rdi
testq %rdi, %rdi
je 0x39f06
callq 0x3040
movq 0x2b8(%rbx), %rdi
testq %rdi, %rdi
je 0x39f17
callq 0x3040
movq 0x2c0(%rbx), %rdi
testq %rdi, %rdi
je 0x39f28
callq 0x3040
movq 0x2c8(%rbx), %rdi
testq %rdi, %rdi
je 0x39f39
callq 0x3040
movq 0x2d0(%rbx), %rdi
testq %rdi, %rdi
je 0x39f4a
callq 0x3040
movq 0x2d8(%rbx), %rdi
testq %rdi, %rdi
je 0x39f5b
callq 0x3040
movq 0x300(%rbx), %rdi
testq %rdi, %rdi
je 0x39f6c
callq 0x3040
movq 0x308(%rbx), %rdi
testq %rdi, %rdi
je 0x39f7d
callq 0x3040
movq 0x310(%rbx), %rdi
testq %rdi, %rdi
je 0x39f8e
callq 0x3040
movq 0x388(%rbx), %rdi
testq %rdi, %rdi
je 0x39fa0
popq %rbx
jmp 0x3040
popq %rbx
retq
nop