Bash Max Double Slice Sum
max_double_slice_sum() {
    local -n _arr="$1"
    local _size=${#_arr[@]}
    if (( _size < 3 )); then
        echo 0
        return
    fi
    local -a _p1 _p2
    _p1[1]=0
    _p2[_size-2]=0
    local _i
    for ((_i = 2; _i < _size - 1; _i++)); do
        local _left=$(( _p1[_i-1] + _arr[_i-1] ))
        (( _left < 0 )) && _left=0
        _p1[_i]=$_left
        local _right=$(( _p2[_size-_i] + _arr[_size-_i] ))
        (( _right < 0 )) && _right=0
        _p2[_size-_i-1]=$_right
    done
    local _sum=$(( _p1[1] + _p2[1] ))
    for ((_i = 1; _i < _size - 1; _i++)); do
        local _cand=$(( _p1[_i] + _p2[_i] ))
        if (( _cand > _sum )); then _sum=$_cand; fi
    done
    echo "$_sum"
}

This keeps the best sum ending on the left and starting on the right, then combines them around each middle position.