def METHOD_NAME(activation_is_relu, beta, gamma, weight, bias_curr_layer, bias_prev_layer):
    curr_layer_bias = bias_curr_layer
    prev_layer_bias = bias_prev_layer
    if not activation_is_relu:
        # No activation function, absorbe whole bias
        absorb_bias = beta
    else:
        # Only absorb bias part that is more than 'min_std' standard deviations
        abs_gamma = np.abs(gamma)
        absorb_bias = np.maximum(0, beta - 3 * abs_gamma)
    # Calculate correction term for next layer
    weight_matrix = weight.sum(3).sum(2)
    if weight_matrix.shape[1] == 1:
        weight_matrix1 = weight_matrix.reshape(weight_matrix.shape[0])
        bias_correction = np.multiply(weight_matrix1, absorb_bias)
    else:
        bias_correction = np.matmul(weight_matrix, absorb_bias)
    # Update next layers
    curr_layer_bias += bias_correction
    prev_layer_bias = prev_layer_bias - absorb_bias
    return prev_layer_bias, curr_layer_bias